{"version":3,"sources":["variables/Constants.js","assets/img/forbidden.png","assets/img/default-avatar.png","assets/img/logo-blanco.png","variables/Variables.jsx","assets/img/faces/face-0.jpg","components/api-authorization/ApiAuthorizationConstants.js","components/api-authorization/AuthorizeService.js","history.js","api/index.js","api/security.js","store/Protocol.js","components/Authorization/useAuthorization.js","components/Authorization/WithAuth.jsx","components/SessionControls/SessionTimeout.js","components/SessionControls/SessionTimeoutDialog.js","components/Utils/Loaders.jsx","components/api-authorization/Login.js","components/api-authorization/Logout.js","components/api-authorization/ApiAuthorizationRoutes.js","store/AuthUser.js","components/api-authorization/AuthorizeRoute.js","components/Utils/Breadcrumbs.jsx","components/api-authorization/CustomRoute.js","components/Footer/Footer.jsx","assets/img/icons/BloodFactor.svg","assets/img/icons/BloodType.svg","assets/img/icons/Dashboard_AddAppointment.svg","assets/img/icons/Dashboard_AddPatient.svg","assets/img/icons/Icon_AFamiliares.svg","assets/img/icons/Icon_AdverseEvent.svg","assets/img/icons/Icon_Agenda.svg","assets/img/icons/Icon_Attach.svg","assets/img/icons/Icon_BMI.svg","assets/img/icons/Icon_BloodPressure.svg","assets/img/icons/Icon_Dropdown.svg","assets/img/icons/Icon_Drugs.svg","assets/img/icons/Icon_Especialidad.svg","assets/img/icons/Icon_Habitos.svg","assets/img/icons/Icon_Historias_Clinicas.svg","assets/img/icons/Icon_Logout.svg","assets/img/icons/Icon_Notification.svg","assets/img/icons/Icon_Pacientes.svg","assets/img/icons/Icon_Procedimientos.svg","assets/img/icons/Icon_Protocolo.svg","assets/img/icons/Icon_Settings.svg","assets/img/icons/Icon_Tipo.svg","assets/img/icons/Icon_Upload.svg","assets/img/icons/Icon_VerTodos.svg","assets/img/icons/Icon_protocolos.svg","assets/img/icons/icon_Grupo.svg","assets/img/icons/waiting_room.svg","components/Icons/Icons.jsx","components/Utils/Tooltips.jsx","components/api-authorization/LoginMenu.js","components/Utils/Commons.jsx","components/Navbars/AdminNavbarNotifications.jsx","components/Navbars/AdminNavbarUser.jsx","components/Navbars/AdminNavbarLinks.jsx","components/Navbars/AdminNavbar.jsx","api/agenda.js","components/Agenda/Event.jsx","api/admin.js","api/medicalRecord.js","api/protocol.js","components/Notifications/APIErrorHandler.js","containers/Protocols/Hooks.js","components/CustomHooks/Hooks.jsx","components/CustomControls/CustomSelect.jsx","components/Validations/FormValidationErrors.js","components/Agenda/Modals.jsx","containers/Agenda/Hooks.js","components/Agenda/Utils.js","components/Cards/Card.jsx","components/CustomControls/CustomDateTime.jsx","components/CustomControls/CustomFormControl.jsx","components/CustomControls/CustomRadio.jsx","api/identity.js","components/CustomControls/PractitionerPicker.jsx","components/Modals/ModalConfirm.js","components/Modals/ModalData.js","components/Utils/Formatter.jsx","components/Agenda/ScheduleLock.js","components/Agenda/MedicalServiceInfo.js","components/Agenda/PatientInfo.jsx","components/Agenda/ViewEvent.jsx","api/database.js","components/CustomControls/PatientPicker.jsx","containers/Users/Hooks.js","components/CustomControls/PractitionerSelect.jsx","components/CustomControls/ProtocolPicker.js","components/Notifications/Notifications.js","components/Export/ExportToExcel.jsx","components/CustomControls/YesNoControls.jsx","components/Agenda/AppointmentForm.js","components/Validations/FormValidationSchema.js","containers/Agenda/AddAppointment.js","containers/Agenda/EditAppointment.js","containers/Agenda/ScheduleLock.js","containers/Agenda/Agenda.jsx","components/Person/AddressData.jsx","components/Person/AddressDataForm.jsx","components/Person/ContactData.jsx","components/Person/ContactDataForm.jsx","components/Person/MedicalData.jsx","i18n.js","variables/Enums.js","components/Person/MedicalDataForm.jsx","components/CustomControls/Image.jsx","components/Person/PersonalData.jsx","components/Database/ModalTakePic.jsx","components/Database/ModalDuplicatedPatient.js","components/Person/PersonalDataForm.jsx","components/Person/RelatedContactData.jsx","components/Person/RelatedContactDataForm.jsx","components/Database/Actions.jsx","components/Database/Patient.jsx","containers/Database/Hooks.js","containers/Database/CreatePatient.jsx","containers/Database/EditPatient.jsx","containers/Database/Patient.jsx","components/CustomControls/CustomSearchBox.jsx","components/Protocols/Visit/Enums.jsx","components/CustomControls/TextBoxUsersMentions.jsx","components/AuditTrail/AuditModal.jsx","components/DigitalSign/DigitalSign.jsx","components/MedicalRecords/Actions.jsx","components/CustomControls/ExpandableContent.jsx","components/CustomControls/RichTextControl.js","components/Table/Formatters.jsx","components/MedicalRecords/Entry.jsx","components/MedicalRecords/EntryOptions.jsx","components/CustomControls/ReadMore.js","components/MedicalRecords/PatientInfo.jsx","components/Modals/RouteChangeDetect.js","components/Slider/Slider.js","components/Utils/AutoSaveForm.js","components/DigitalSign/DigitalSignForm.jsx","containers/DigitalSign/ModalDigitalSign.jsx","api/snomed.js","components/CustomControls/SnomedPicker.jsx","components/CustomControls/DatePicker.jsx","components/CustomControls/CustomCheckbox.jsx","components/MedicalRecords/Forms/DiagnosisForm.js","containers/MedicalRecords/Hooks/useDiagnosis.js","components/MedicalRecords/Conditions.js","components/CustomControls/CustomTextStyle.js","components/AuditTrail/Audit.jsx","containers/Admin/AuditTrail.jsx","containers/MedicalRecords/Hooks/useAdverseEvents.js","containers/MedicalRecords/CreateEntryItems/DiagnosisContainer.js","components/MedicalRecords/EntryItemsTable.jsx","components/MedicalRecords/AdverseEvents.jsx","components/MedicalRecords/ModalDuplicatedItem.js","components/MedicalRecords/Forms/AdverseEventsForm.jsx","containers/MedicalRecords/CreateEntryItems/AdverseEventsContainer.jsx","components/MedicalRecords/Anthropometrics.jsx","containers/MedicalRecords/Hooks/useAnthropometrics.js","components/Charts/Chart.js","components/Utils/Dates.jsx","components/MedicalRecords/AnthropometricsHistory.js","containers/MedicalRecords/Modals/ModalAnthropometricsHistory.js","containers/MedicalRecords/CreateEntryItems/AnthropometricsContainer.jsx","components/MedicalRecords/Forms/AnthropometricsForm.jsx","components/CustomControls/DocViewer/DocumentViewer.js","api/commons.js","components/CustomControls/Files/Utils.js","components/CustomControls/Files/Hooks.js","components/CustomControls/Files/Files.js","components/MedicalRecords/Attachments.jsx","containers/MedicalRecords/Hooks/useAttachments.js","containers/MedicalRecords/CreateEntryItems/AttachmentsContainer.jsx","containers/MedicalRecords/Hooks/useConditions.js","containers/MedicalRecords/CreateEntryItems/ConditionsContainer.js","containers/MedicalRecords/Hooks/useDrugs.js","components/MedicalRecords/Drugs.jsx","containers/MedicalRecords/CreateEntryItems/DrugsContainer.jsx","components/MedicalRecords/Forms/DrugsForm.jsx","components/MedicalRecords/FamilyHistory.jsx","containers/MedicalRecords/Hooks/useFamilyHistory.js","containers/MedicalRecords/CreateEntryItems/FamilyHistoryContainer.jsx","components/MedicalRecords/Forms/FamilyHistoryForm.jsx","components/MedicalRecords/Forms/LaboratoriesForm.jsx","components/MedicalRecords/Laboratory.jsx","containers/MedicalRecords/Hooks/useLaboratories.js","components/MedicalRecords/LaboratoryHistory.js","containers/MedicalRecords/Modals/ModalLaboHistory.js","containers/MedicalRecords/CreateEntryItems/LaboratoriesContainer.jsx","components/MedicalRecords/Forms/PersonalHabitsForm.jsx","components/MedicalRecords/PersonalHabits.jsx","containers/MedicalRecords/Hooks/usePersonalHabits.js","containers/MedicalRecords/CreateEntryItems/PersonalHabitsContainer.jsx","containers/MedicalRecords/Hooks/usePersonalHistory.js","containers/MedicalRecords/CreateEntryItems/PersonalHistoryContainer.jsx","components/MedicalRecords/Forms/ProceduresForm.jsx","containers/MedicalRecords/Hooks/useProcedures.js","components/MedicalRecords/Procedures.jsx","containers/MedicalRecords/CreateEntryItems/ProceduresContainer.jsx","components/MedicalRecords/Forms/VitalsForm.jsx","components/MedicalRecords/Vitals.jsx","containers/MedicalRecords/Hooks/useVitals.js","components/MedicalRecords/VitalsHistory.js","containers/MedicalRecords/Modals/ModalVitalsHistory.js","containers/MedicalRecords/CreateEntryItems/VitalsContainer.jsx","containers/MedicalRecords/CreateEntryItems/EntryItems.jsx","containers/MedicalRecords/Hooks/useObservation.js","containers/MedicalRecords/CreateEntryItems/ObservationContainer.js","components/MedicalRecords/Forms/OrdersForm.js","components/MedicalRecords/Orders.js","containers/MedicalRecords/Hooks/useOrders.js","containers/MedicalRecords/Modals/ModalData.js","containers/MedicalRecords/CreateEntryItems/OrdersContainer.jsx","components/MedicalRecords/Forms/PrescriptionsForm.jsx","components/MedicalRecords/Prescriptions.js","containers/MedicalRecords/Hooks/usePrescriptions.js","containers/MedicalRecords/CreateEntryItems/PrescriptionsContainer.jsx","containers/MedicalRecords/Hooks/useEntries.js","containers/MedicalRecords/Hooks/useModalData.js","containers/MedicalRecords/Hooks/usePatient.js","containers/MedicalRecords/Modals/ModalAdverseEventHistory.js","containers/MedicalRecords/MedicalRecordItems/AdverseEventsListContainer.jsx","containers/MedicalRecords/MedicalRecordItems/AnthropometricsListContainer.jsx","containers/MedicalRecords/MedicalRecordItems/AttachmentsListContainer.jsx","containers/MedicalRecords/Modals/ModalDrugsHistory.js","containers/MedicalRecords/MedicalRecordItems/DrugsListContainer.jsx","components/MedicalRecords/Entries.jsx","containers/MedicalRecords/MedicalRecordItems/EntriesContainer.js","containers/MedicalRecords/MedicalRecordItems/FamilyHistoryListContainer.jsx","containers/MedicalRecords/MedicalRecordItems/LaboratoryListContainer.jsx","containers/MedicalRecords/MedicalRecordItems/PersonalHabitsListContainer.jsx","components/MedicalRecords/PersonalHistory.jsx","containers/MedicalRecords/MedicalRecordItems/PersonalHistoryListContainer.jsx","containers/MedicalRecords/Modals/ModalProcedureHistory.js","containers/MedicalRecords/MedicalRecordItems/ProceduresListContainer.jsx","containers/MedicalRecords/MedicalRecordItems/PrescriptionsListContainer.js","containers/MedicalRecords/MedicalRecordItems/VitalsListContainer.jsx","containers/MedicalRecords/MedicalRecordItems/OrdersListContainer.js","containers/MedicalRecords/MedicalRecordItems/ConditionsListContainer.js","containers/MedicalRecords/MedicalRecordItems/EntryItemsList.jsx","containers/MedicalRecords/Modals/ModalAddData.jsx","components/Modals/ModalSpinner.jsx","containers/MedicalRecords/CreateEntry.jsx","components/MedicalRecords/LastVitals.jsx","components/Authorization/WithAuthProtocol.jsx","components/Utils/Popover.jsx","containers/Protocols/Tracking/Services.jsx","components/MedicalRecords/ModalNewEntry.jsx","components/Protocols/Tracking/Modals.jsx","containers/MedicalRecords/Hooks/useNewEntry.js","components/Agenda/Appointments.js","containers/Agenda/AppointmentsHistory.js","containers/MedicalRecords/MedicalRecordItems/ObservationsListContainer.js","containers/MedicalRecords/MedicalRecord.jsx","components/DigitalSign/Sign.js","components/MedicalRecords/EntryNav.jsx","components/Utils/Diff.jsx","components/CustomControls/AuditTooltip.jsx","components/MedicalRecords/EntryView.jsx","components/MedicalRecords/Summary.jsx","api/mrSummaries.js","containers/MedicalRecords/Hooks/useSummaries.js","containers/MedicalRecords/Summary/SummaryContainer.js","components/Protocols/Admin/Modals.jsx","components/Protocols/Admin/Laboratories.jsx","containers/Protocols/Admin/CreateLaboratory.jsx","api/protocolAdmin.js","components/Protocols/Admin/StudyTasks.jsx","containers/Protocols/Admin/CreateStudyTasks.jsx","containers/Protocols/Admin/useLaboratories.js","containers/Protocols/Admin/EditLaboratory.jsx","containers/Protocols/Admin/useStudyTasks.js","containers/Protocols/Admin/EditStudyTasks.jsx","containers/Protocols/Admin/Laboratories.jsx","containers/Protocols/Admin/StudyTasks.jsx","api/protocolTemplates.js","api/protocolsExtraForms.js","containers/Protocols/ProtocolContext/ProtocolContext.js","containers/Protocols/ProtocolContext/ProtocolProvider.js","components/Protocols/Visit/Modals.jsx","components/DynamicForm/DynamicFormComponents.jsx","components/DynamicForm/DynamicFormControls.jsx","components/CustomControls/Adherence.jsx","components/CustomControls/CustomFileUpload.jsx","components/DynamicForm/DynamicFormCreatorViewer.jsx","components/DynamicForm/DynamicFormHeader.jsx","components/CustomControls/CustomSwitch.jsx","components/DynamicForm/DynamicFormOptions.jsx","components/DynamicForm/DynamicFormCreator.js","containers/Protocols/ExtraForms/ExtraForm.js","components/Protocols/ProtocolInfo.jsx","components/Protocols/Brief.jsx","containers/Protocols/Brief/Brief.jsx","components/Protocols/Practitioners.jsx","containers/Security/Authorization/useStudyRoles.js","containers/Protocols/Practitioners/AddPractitioners.jsx","containers/Protocols/Practitioners/EditPractitioner.jsx","containers/Protocols/Practitioners/Practitioners.jsx","components/Protocols/Patients.jsx","components/Protocols/Tracking/Filters.jsx","containers/Protocols/Patients/AddPatients.jsx","containers/Protocols/Patients/PatientNumber.js","containers/Protocols/Tracking/VisitsTracking.jsx","components/CustomControls/CustomInput.jsx","components/Protocols/Visit/Header.jsx","containers/Protocols/Visits/CreateVisit.jsx","containers/Protocols/Visits/EditVisit.jsx","containers/Protocols/Visits/RemoveVisit.jsx","containers/Protocols/Visits/Visits.jsx","containers/Protocols/Visits/useVisits.js","containers/Protocols/ExtraForms/NewExtraForm.js","containers/Protocols/ExtraForms/ExtraForms.js","containers/Protocols/ExtraForms/useExtraForms.js","containers/Protocols/Protocol.jsx","components/Protocols/Actions.jsx","components/Protocols/Visit/Forms.jsx","components/Protocols/Visit/VisitHistory.jsx","components/Protocols/Tracking/FormsRestrictions.js","containers/Protocols/Visits/FormRestrictions.js","containers/Protocols/Visits/VisitForm.jsx","containers/Security/Authorization/useRoles.js","components/Authorization/Modals.jsx","components/Authorization/Permissions.jsx","components/Authorization/Roles.jsx","api/tenants.js","containers/Tenants/Hooks.js","containers/Security/Authorization/CreateRole.jsx","components/Authorization/StudyPermissions.jsx","components/Authorization/StudyRoles.jsx","containers/Security/Authorization/CreateStudyRole.jsx","containers/Security/Authorization/EditRole.jsx","containers/Security/Authorization/EditStudyRole.jsx","containers/Settings/AdminContext/AdminContext.js","containers/Security/Authorization/Roles.jsx","containers/Security/Authorization/StudyRoles.jsx","components/Tenants/Tenant.jsx","containers/Tenants/Create.jsx","containers/Tenants/Edit.jsx","components/Tenants/Tenants.jsx","containers/Tenants/Tenants.jsx","components/Users/Users.jsx","containers/Users/CreateUser.jsx","api/digitalSign.js","components/Person/ProfessionalData.jsx","components/Person/ProfessionalDataForm.jsx","components/CustomControls/Images/canvasPreview.ts","components/CustomControls/Images/CustomImage.tsx","components/CustomControls/Images/useDebounceEffect.ts","components/Person/UserSign.js","components/Users/Actions.jsx","components/Person/DigitalSignDataForm.jsx","components/Users/UserProfile.jsx","containers/Users/EditUser.jsx","containers/Users/User.jsx","containers/Users/UserSettings.jsx","components/Users/UserSettingsForm.jsx","containers/Users/Users.jsx","components/Dashboard/AppointmentWidget.jsx","components/Dashboard/DateTimeWidget.jsx","components/Dashboard/PatientWidget.jsx","components/Dashboard/SearchWidget.jsx","components/Dashboard/WelcomeWidget.jsx","api/notifications.js","store/Notifications.js","components/Notifications/UserNotifications.jsx","components/CustomControls/PatientAvatarAsync.js","components/Dashboard/DailyAgendaWidget.jsx","store/Agenda.js","containers/Agenda/WaitingListWidgetContainer.jsx","views/Dashboard.jsx","components/Database/ExpandedContent.jsx","containers/Database/Patients.jsx","views/Database.jsx","views/Errors/Forbidden.jsx","views/Errors/NotFound.jsx","views/Errors/Unauthorized.jsx","components/CustomControls/CustomDate.js","components/DynamicForm/DynamicForm.jsx","components/Protocols/ExtraVisits/Forms.jsx","components/Protocols/Tracking/Forms.jsx","components/Protocols/DocumentNotes.jsx","containers/Protocols/DocumentNotes/DocumentNotes.js","components/Protocols/Tracking/Entry.jsx","containers/Protocols/Evolutions/Evolutions.js","containers/Protocols/Evolutions/useEvolutions.js","components/Protocols/MonitorNotes.js","containers/Protocols/MonitorNotes/MonitorNotes.js","containers/Protocols/MonitorNotes/useMonitorNotes.js","containers/Protocols/TrackingExtra/ExtraVisit.jsx","containers/Protocols/VisitHeaderContainer.js","components/Protocols/Header.jsx","containers/Protocols/Brief/CreateBrief.jsx","containers/Protocols/Brief/EditBrief.jsx","views/Protocols/ProtocolEditView.jsx","components/Protocols/Protocols.jsx","containers/Protocols/Protocols.jsx","containers/Protocols/Tracking/VisitTracking.jsx","containers/Settings/AdminContext/AdminProvider.js","components/Settings/ResultsTemplates.js","api/resultsTemplates.js","containers/Settings/Hooks/useResultsTemplates.js","containers/Settings/ModalTemplate.js","components/Modals/RemoveModal.js","containers/Settings/ResultsTemplate.jsx","containers/Settings/ResultsTemplates.jsx","api/settings.js","containers/Settings/Hooks/useSettings.js","containers/Settings/SettingsContainer.js","components/Settings/Settings.js","containers/Settings/SyncContainer.jsx","components/Sidebar/Sidebar.jsx","views/Settings.jsx","routes.js","containers/MedicalRecords/ViewEntry.jsx","views/Protocols/ProtocolsView.jsx","views/Protocols/ProtocolCreateView.jsx","views/Protocols/PractitionersView.jsx","views/Protocols/VisitTrackingView.js","views/Protocols/ExtraVisitTrackingView.js","containers/Protocols/Visits/Visit.jsx","containers/ExternalNotes/ExternalNotes.js","containers/ExternalNotes/useExternalNotes.js","views/UserProfile.jsx","layouts/Admin.jsx","store/Configuration.js","App.js","registerServiceWorker.js","index.js","store/configureStore.js"],"names":["module","exports","googleAPIKey","defaultWidth","window","screen","width","style","Wrapper","Containers","DefaultStyle","position","padding","zIndex","WebkitBoxSizing","MozBoxSizing","boxSizing","height","display","border","fontSize","WebkitFontSmoothing","fontFamily","fontWeight","color","tl","top","bottom","left","right","tr","tc","margin","marginLeft","bl","br","bc","NotificationItem","cursor","borderRadius","opacity","transition","WebkitTransform","transform","willChange","isHidden","isVisible","success","borderTop","backgroundColor","WebkitBoxShadow","MozBoxShadow","boxShadow","error","warning","info","Title","marginTop","MessageWrapper","marginRight","maxWidthwidth","Dismiss","float","lineHeight","outline","textAlign","Action","background","ActionWrapper","QueryParameterNames","LogoutActions","LoginActions","ApplicationPaths","DefaultLoginRedirectPath","ApiAuthorizationClientConfigurationUrl","ApiAuthorizationPrefix","Login","LoginFailed","LoginCallback","Register","Profile","LogOut","LoggedOut","LogOutCallback","IdentityRegisterPath","IdentityManagePath","authService","_callbacks","_nextSubscriptionId","_user","_isAuthenticated","_popUpDisabled","Log","logger","console","level","ERROR","this","getUser","user","profile","ensureUserManagerInitialized","userManager","access_token","state","signinSilent","createArguments","silentUser","updateState","signinRedirect","redirect","log","url","signinCallback","identification_number","redirectToProfile","JSON","stringify","Error","signoutPopup","undefined","signoutRedirect","signoutCallback","response","data","notifySubscribers","callback","push","subscription","subscriptionId","subscriptionIndex","map","element","index","found","filter","length","splice","i","useReplaceToNavigate","message","status","AuthenticationResultStatus","Fail","Success","Redirect","RedirectToProfile","fetch","ok","json","publicSettings","settings","client_id","authority","identityApi","automaticSilentRenew","includeIdTokenInSilentRenew","userStore","WebStorageStateStore","prefix","clockSkew","redirect_uri","callBackUrl","post_logout_redirect_uri","response_type","scope","UserManager","events","addUserSignedOut","a","removeUser","createBrowserHistory","basename","document","getElementsByTagName","getAttribute","instance","axios","create","interceptors","request","use","config","getAccessToken","token","headers","Authorization","history","Promise","reject","getRoles","filters","queryString","query","search","searchParams","URLSearchParams","toString","newActiveFilters","delete","pagination","page","append","sizePerPage","sort","sortField","sortOrder","getPagingAndOrderParams","property","onlyDoctor","getQueryString","location","get","getCurrentUserRole","protocolId","initialState","role","isLoading","roleActionCreator","dispatch","type","reducer","action","useAuthorization","isAuthenticated","useSelector","authentication","requiredPermissions","permission","permissions","includes","useAuthProtocol","currentUserRoleData","protocol","useDispatch","includePermissions","excludePermissions","currentUserRoles","hasIncludePermissions","some","hasExcludePermission","WithAuth","props","requiredPermission","isAuthorized","children","propTypes","PropTypes","array","countdownInterval","timeout","SessionTimeoutDialog","open","countdown","onLogout","onContinue","t","useTranslation","ReactDOM","createPortal","Fragment","show","backdrop","Header","Body","Footer","Button","onClick","body","SessionTimeout","logOut","useState","timeoutModalOpen","setTimeoutModalOpen","timeoutCountdown","setTimeoutCountdown","settingsStore","clearSessionTimeout","clearTimeout","clearSessionInterval","clearInterval","handleLogout","err","useIdleTimer","onIdle","setTimeout","countDown","setInterval","onActive","inactivityTime","debounce","Spinner","className","marginBottom","ModalSpinner","isShowing","hide","onHide","closeButton","login","getReturnUrl","processLoginCallback","setState","redirectToRegister","returnUrl","signIn","result","navigateToReturnUrl","href","completeSignIn","sub","fromQuery","startsWith","origin","redirectToApiAuthorizationPath","encodeURI","apiAuthorizationPath","redirectUrl","replace","Component","Logout","isReady","authenticated","local","logout","processLogoutCallback","populateAuthenticationState","navigateToLogin","signOut","completeSignOut","ApiAuthorizationRoutes","path","render","loginAction","logoutAction","name","authUserActions","all","AuthorizeRoute","ready","setReady","useEffect","_subscription","subscribe","authenticationChanged","unsubscribe","innerProps","component","to","Breadcrumbs","crumbs","find","x","unshift","key","paddingTop","CustomRoute","routes","route","rest","match","Object","keys","params","reduce","item","param","layout","Grid","fluid","Date","getFullYear","_extends","assign","target","arguments","source","prototype","hasOwnProperty","call","apply","createElement","d","SvgBloodFactor","_ref","svgRef","title","id","enableBackground","viewBox","ref","ForwardRef","forwardRef","SvgBloodType","cx","cy","r","SvgDashboardAddAppointment","rx","ry","SvgDashboardAddPatient","SvgIconAFamiliares","fill","stroke","SvgIconAdverseEvent","SvgIconAgenda","SvgIconAttach","SvgIconBmi","SvgIconBloodPressure","y","xmlSpace","filterUnits","input","stdDeviation","floodOpacity","operator","in2","in","SvgIconDropdown","SvgIconDrugs","SvgIconEspecialidad","SvgIconHabitos","SvgIconHistoriasClinicas","SvgIconLogout","SvgIconNotification","SvgIconPacientes","SvgIconProcedimientos","SvgIconProtocolo","SvgIconSettings","SvgIconTipo","SvgIconUpload","SvgIconVerTodos","SvgIconProtocolos","SvgIconGrupo","SvgWaitingRoom","BackgroundComponent","IconSVG","toLowerCase","Signature","FormRestriction","FormAdditional","FormEarlyCompleted","FormExtraProtocol","Lock","ViewMR","View","Search","WaitingRoom","MoneyBill","Print","Note","AddAppointment","Calendar","CalendarCheck","CalendarCross","Audit","Add","RemoveCircle","Attach","Remove","Edit","Copy","Close","Check","PersonCheck","PersonCheckLine","PersonCrossLine","Back","Next","Export","Camera","Up","Down","Swap","ViewPractitioner","ViewProtocol","ViewVisit","VisitTracking","Patient","Config","ExtraProtocol","Laboratory","PrincipalInvestigator","Status","Phase","Save","Publish","Cancel","Change","Warning","Unread","Readed","Enabled","Disabled","Drug","ContactInfo","RelatedContact","CellPhone","Phone","OnSite","VideoCall","Email","Facebook","Instagram","Twitter","Address","Identification","Doctor","Statistics","File","Sync","BirthDate","MedicalInsurance","MedicalInsuranceNumber","MedicalRecord","Expand","Contract","Summary","Chart","Table","ChartBar","ChartLine","Comments","Tooltip","tooltip","placement","Children","React","content","delay","hideOnClick","defaultProps","LoginMenu","authenticationState","logoutPath","pathname","_userName","_profilePath","authenticatedView","email","profilePath","_registerPath","loginPath","activeClassName","anonymousView","registerPath","generateLink","mentionParams","urlParams","has","getProtocolUrl","getQueryParam","getFullNameFromUserMention","mention","matches","exec","capitalize","s","onlyFirst","split","charAt","toUpperCase","slice","words","word","join","getRemovedElement","arrayPasado","arrayActual","AdminNavbarNotificationsContainer","connect","notifications","MenuItem","eventKey","notifCountContainer","unreaded","notification","NavDropdown","noCaret","bsClass","AdminNavbarUser","src","avatar","alt","family_name","given_name","divider","HeaderLinks","Nav","pullRight","AdminNavbarNotifications","AdminNavbar","Navbar","collapseOnSelect","navbar","innerWidth","Collapse","AdminNavbarLinks","currentDate","view","projects","forEach","project","protocols","practitioners","practitioner","deleted","medicalRecord","present","getQueryString2","getEvents","getEventsByPatient","medicalRecordNumber","getEventAPI","createEvent","event","post","updateEventAttendance","eventId","put","setPresent","getPatient","getPractitionersByProtocol","exportToExcel","responseType","getMedicalServiceAPI","getMedicalServicePriceAPI","medicalServiceId","medicalInsuranceId","medicalPlanId","getPractitionersAPI","getAvailabilityAPI","userId","isFirstTime","isOverShift","getGlobalAvailabilityAPI","createScheduleLockAPI","scheduleLock","deleteScheduleLockAPI","EventPatient","attended","textDecoration","confirmed","patient","fullName","visitType","moment","start","format","EventScheduleLock","end","Event","code","EventMonthPatient","EventMonthScheduleLock","EventMonth","EventAgendaPatient","EventAgendaScheduleLock","EventAgenda","getDrugsData","getLaboratoryData","getAuditTrail","entity","entityId","patientId","actual","includePersonalHistory","entryId","category","getEntries","getEntry","createEntry","entry","getAdverseEvents","getAdverseEvent","putAdverseEvent","getAllConditions","deleteCondition","postCondition","getConditions","getAttachments","getAttachment","getDrugs","getDrug","putDrug","getPrescriptions","getPrescription","getOrders","getOrder","getProcedures","getProcedure","putProcedure","getAnthropometrics","getAnthropometric","putAnthropometric","getFamilyHistories","getFamilyHistory","putFamilyHistory","getPersonalHistories","getPersonalHistory","putPersonalHistory","getPersonalHabits","getPersonalHabit","putPersonalHabit","getLaboratories","putLaboratoryResult","getLaboratoryResult","getLastVitals","getVitals","getVital","putVital","getMasterData","items","itemsParams","getProtocols","getProtocol","createProtocol","editProtocol","closeProtocolApi","removeProtocolApi","uploadAttachmentEndpoint","getAttachmentEndpoint","uploadPractitionerAttachment","practitionerId","formData","getPractitionerAttachmentsEndpoint","getPractitioners","getPractitioner","practitionerUserId","addPractitioners","editPractitioner","removePractitioner","addPatients","patients","changePatientNumber","removePatient","numberInProtocol","getAllVisits","getApprovedVisits","getVisits","getVisit","visitId","createVisit","visit","copyVisit","editVisit","removeVisit","swapVisits","visitToSwapId","getVisitHistory","publishVisit","comments","printVisit","getForms","createForm","form","editForm","formId","swapForms","formToSwapId","getVisitsTracking","getVisitTrackingForms","getVisitTrackingForm","createVisitTracking","saveVisitTracking","saveUploadVisitTrackingAPI","publishVisitTracking","digitalSign","skipVisitTracking","screenFailureVisitTracking","lostToFollowUpVisitTracking","discontinuationVisitTracking","withoutDrugsVisitTracking","returnDrugsVisitTracking","reSyncVisitTrackingAPI","changeTypeVisitTrackingAPI","changeVisitTrackingTypeAPI","visitTrackingId","removeVisitTrackingAPI","uploadVisitTrackingAttachmentFormEndpoint","getVisitTrackingAttachmentFormEndpoint","getVisitTrackingExtraForms","createVisitTrackingExtra","vm","saveVisitTrackingExtraForm","publishVisitTrackingExtraForm","removeVisitTrackingExtraAPI","uploadVisitTrackingExtraAttachmentFormEndpoint","getVisitTrackingAdverseEvents","exportVisitTrackingAPI","pin","btoa","updateEvolutionAPI","evolutionId","evolution","updateFormRestrictionsAPI","restrictions","getDocumentNotes","documentId","getDocumentNote","noteId","createDocumentNote","note","updateDocumentNote","getExternalNotes","getMonitorNotes","getMonitorNote","createMonitorNote","updateMonitorNote","changeStatusMonitorNote","removeMonitorNote","ErrorMsg","ErrorMsgWithInfo","ErrorMsgWithArrayInfo","arrayInfo","i18n","hashCode","hash","charCodeAt","getErrorMessage","errorMessage","StatusCode","statusCode","Blob","indexOf","reader","FileReader","onload","errorContent","parse","toast","POSITION","TOP_RIGHT","toastId","readAsText","HandleApiError","HandleError","HandleMessageError","errorInfo","useBriefMasterData","laboratories","phases","studyTasks","setData","isSubscribed","then","catch","useStudyTasks","getStudyTasks","useProtocolVisits","visits","setVisits","useProtocols","queryParams","setIsLoading","totalSize","setTotalSize","setQuery","paginatedResult","count","newQuery","filterName","selectedValue","useProtocol","brief","setBrief","useAudits","hasVisitTracking","audits","setAudits","resp","fetchData","field","fieldName","audit","oldValues","old","current","newValues","useMasterData","CustomSelect","classNamePrefix","placeholder","options","onChange","value","onBlur","getOptionLabel","option","getOptionValue","isClearable","CustomSelectAsync","masterData","AdverseEventsAsync","patientNumber","groups","label","conceptId","description","promise1","promise2","promise3","responses","concat","resEvents","adverseEffectId","adverseEffect","resPersonalHistory","useProtocolAdverseEvents","menuPortalTarget","styles","menuPortal","base","FormErrorMessage","ConfirmRemove","inputValue","setInputValue","setSelectedValue","setError","onConfirm","onCancel","onClose","confirmBtnBsStyle","cancelBtnBsStyle","confirmBtnText","cancelBtnText","showCancel","allowOutsideClick","_name","FormGroup","ControlLabel","FormControl","evt","currentTarget","rows","componentClass","useEvents","setEvents","utc","toDate","useScheduleLocks","getScheduleLocksAPI","useMedicalServices","medicalService","setMedicalService","medicalServices","setMedicalServices","medicalServicePrice","setMedicalServicePrice","visitTypeColorGetter","returnRGB","colourStyles","alignItems","dot","validateIsSameOfAfter","dateToCompare","startOf","isSameOrAfter","Card","tabs","shadow","header","subtitle","ctAllIcons","ctFullWidth","ctTextCenter","tableFullWidth","footer","CustomDateTime","defaulValue","dateFormat","inputProps","disabled","defaultValue","date","isValid","CustomTime","minuteFormat","CustomDate","timeFormat","CustomFormControl","innerValue","setInnerValue","debouncedHandleOnChange","useCallback","handleOnChange","newValue","CustomRadio","number","checked","htmlFor","getUsers","uploadSign","PractitionerPicker","setOptions","typeahead","renderMenuItemChildren","text","speciality","registrationNumber","labelKey","filterBy","clearButton","highlightOnlyResult","allowNew","onSearch","showSearchIcon","InputGroup","Addon","multiple","minLength","ModalConfirm","timer","counter","setCounter","confirmDisabled","setConfirmDisabled","interval","prevCounter","ModalData","size","bsSize","dialogClassName","nullableDateFormatter","day","month","year","parseInt","toLocaleDateFormatter","withIcon","icon","localeDate","endsWith","dateFormatter","dateTime","locale","toLocaleDateTimeFormatter","dateTimeFormatter","dateTimeUTCFormatter","yesNoFormatter","translationFn","objectFormatter","extractContentFromHTML","html","DOMParser","parseFromString","documentElement","textContent","ScheduleLocks","handleTableChange","handleRemove","modal","setModal","confirmRemove","columns","dataField","formatter","cell","row","lockFrom","lockTo","isDummyField","headerClasses","classes","_cell","rowIndex","aria-hidden","wrapperClasses","bordered","hover","remote","keyField","paginationFactory","hideSizePerPage","onTableChange","noDataIndication","ScheduleLockAppointmentsTaken","appointmentsTaken","components","borderLeft","MedicalServiceInfo","service","Row","Col","sm","serviceNameReference","isCoveredByMedicalInsurance","coverRequirements","requiresApproval","requiredCopago","copagoComments","price","PatientInfo","ageComponent","age","verticalAlign","paddingLeft","birthDate","identificationType","identificationNumber","medicalInsurance","medicalInsurancePlan","medicalInsuranceNumber","address","cellPhone","ViewEvent","handleModalClose","handleViewEdit","handleAttended","handleNotAttendance","handleEventStatus","handleCancelEvent","handleSetPresent","setPatient","getMedicalServicePrice","getPatientData","getServicesData","medicalInsurancePlanId","res2","toLocaleTimeString","navigator","language","hour","minute","actionButtons","editButton","cancelButton","presentButton","telemedicineButton","telemedicineToken","telemedicineUrl","bsStyle","Modal","desc","readOnly","q","professionals","professional","getPatients","withProfileImage","getPatientByMedicalRecord","getPatientAvatarByMedicalRecord","createPatient","searchPatients","PatientPicker","useUsers","users","setUsers","usePractitioners","useUser","setUser","res","usePersonMasterData","setMasterData","PractitionerSelect","ProtocolPicker","specialty","protocolNumber","Msg","closeToast","MsgWithInfo","messageKey","ExportToExcel","bind","disposition","filename","FileSaver","withTranslation","YesNoNotApply","handleClick","YesNo","AppointmentForm","values","isSubmitting","setFieldValue","setFieldTouched","handleSubmit","resetForm","formType","calendarView","useRef","setProtocols","types","setTypes","medicalInsurances","setMedicalInsurances","isEditLoading","setIsEditLoading","setPractitioners","availability","setAvailability","useAgenda","getAvailability","isMSLoading","setIsMSLoading","getMedicalServices","selectedProtocol","setSelectedProtocol","availableTimes","setAvailableTimes","_getMedicalServices","_getMedicalServicesData","_getPatientData","_getPractitionersForMedicalService","_getAvailability","_getAllProtocols","controlName","selected","masterdata","insurances","plan","insuranceId","_getProtocolPractitioners","notStatusId","serviceId","handleTypeChange","allProtocols","handleMedicalInsurance","handleMedicalService","handlePractitionerChange","onSubmit","e","startDate","preventDefault","autoComplete","autoFocus","isDisabled","isMulti","isMoment","availableDate","availableDates","available","availableTimesAux","availableAppointments","times","startTime","startTimeEnd","add","endTime","isBefore","timeStops","appointmentInit","appointmentEnd","getAvailableTimes","isValidDate","_selected","practitionerAvailability","availableWeekDays","validateAvailabilityDate","onNavigate","selectedView","closeOnSelect","selectedTime","_controlName","selectedDate","datastart","dataend","setHours","setMinutes","setLocale","mixed","required","string","min","max","getAgendaAppointmentSchema","Yup","shape","nullable","when","getPatientSchema","given","familyName","gender","fullAddress","telecom","phone","relatedContacts","of","relationship","streetName","streetNumber","medicalInsuranceInfo","getTenantSchema","tenantName","tenantDomain","servicePlan","isActive","dateRangeYup","fromDay","fromMonth","fromYear","toYear","toMonth","toDay","getMedicalRecordsSchema","adverseEvent","adverseEvents","default","drugs","routeOfAdministration","reason","dose","drugsEdit","prescriptionsEdit","prescriptionDate","prescriptions","packageCount","drug","frequency","unit","posology","orders","orderDate","procedure","procedures","proceduresEdit","resultsTemplates","anthropometrics","weight","waist","sagittal","neck","vitals","bloodPressureHigh","bloodPressureLow","heartRate","temperatureC","oxygenSaturation","familyHistory","familyHistories","relative","getProtocolBriefSchema","laboratory","trim","centerNumber","fullTitle","phase","indication","patientsObjective","principalInvestigator","studyRole","currentUserStudyRole","getProtocolBriefEditSchema","getProtocolPractitionersSchema","startOfTask","getProtocolVisitHeaderSchema","stage","offsetType","offset","windowNeg","windowPos","getValidationSchema","renderable","_t","integer","v","isNaN","fields","notRequired","getValidationAuditTrailModal","getRoleSchema","claims","getStudyRoleSchema","getCodeableConceptSchema","studyTask","getLaboratoriesSchema","AddAppointmentContainer","AddAppointmentFormik","withFormik","validationSchema","formikBag","displayName","func","isRequired","EditAppointmentContainer","getEvent","appointment","setAppointment","fetchAppointment","EditAppointmentFormik","mapPropsToValues","ScheduleLockContainer","ScheduleLockFormik","selectedvalue","centerOrParticular","handleTimeChange","md","dayOrRange","require","week","dow","doy","localizer","momentLocalizer","AddressData","postalCode","floor","department","between","AddressDataForm","handleChange","handleBlur","apiKey","onPlaceSelected","place","latValue","geometry","lat","lngValue","lng","formatted_address","addressArray","long_name","getPostalCode","address_components","lg","ContactData","instagram","facebook","twitter","ContactDataForm","MedicalData","bloodGroup","bloodFactor","familyDoctor","internalPractitioner","initReactI18next","init","resources","en","translation","es","pt","fallbackLng","interpolation","escapeValue","debug","getLocalizedEnum","montoto","typeOptions","visitTypesEnum","snomedExpressions","hcVisitStatus","visitStatus","formStatus","visitTypes","patientInProtocolStatus","visitStage","visitTypeEnum","noteEnum","formTypes","formTypeFields","fieldType","conditions","conceptType","MedicalDataForm","medicalPlans","setMedicalPlans","shouldValidate","CustomImage","onError","errored","defaultSrc","PersonalData","birthPlace","photo","profilePic","maritalStatus","nationality","ModalTakePic","onPhotoTaken","onTakePhotoAnimationDone","dataUri","isFullscreen","idealResolution","ModalDuplicatedPatient","striped","responsive","idx","PersonalDataForm","touched","errors","handlePhotoTaken","getNationality","suffix","viewMode","identificationTypes","genders","maritalStatuses","RelatedContactData","relatedContactsContent","relatedContact","paddingBottom","borderBottom","RelatedContactDataForm","emptyRelatedContact","arrayHelpers","remove","Actions","onCreateAppointment","onRedirectTo","onEditPatient","onViewMR","onExportToPDF","redirectTo","createAppointment","editPatient","viewMR","exportToPDF","useHistory","useLocation","goBack","PatientForm","validateForm","navigation","warningWithConfirmAndCancelMessage","usePatient","CreatePatientFormik","enableReinitialize","patientCopy","createdPatient","setSubmitting","object","EditPatientFormik","updatePatient","CustomSearchBox","setValue","debouncedSearch","handleSearch","ev","VisitStages","NotesEnum","OffsetTypes","Types","TextBoxUsersMentions","maxLength","defaultStyle","trigger","defaultMentionStyle","font","control","highlighter","overflow","minHeight","suggestions","list","AuditModal","CreateAuditModal","setReason","setComments","valid","setErrors","validateSync","onSave","CreateAudit","DigitalSign","signedBy","signStatus","signedDate","useUserInfo","userInfo","getDigitalSignStatus","onCreateEntry","onEditEntry","onDeleteEntry","isProtocol","saveEntry","onSaveEntry","publishEntry","onPublishEntry","editEntry","deleteEntry","showNewEntry","ExpandableContent","expandedAll","expanded","setExpanded","RichTextControl","toolbar","onEditorChange","menubar","statusbar","auto_focus","content_style","statusFormatter","customDateTimeFormatterString","Entry","onEntryChange","groupCode","group","created","getGroup","EntryOptions","showOthers","setShowOthers","contentName","handleOthersClick","otherContent","ReadMore","readMore","setReadMore","isClamped","setIsClamped","linkName","dangerouslySetInnerHTML","__html","unsafeHTML","maxLine","ellipsis","basedOn","onReflow","clamped","ReadMoreLines","tabIndex","mdHidden","PatientInfoSkeleton","PatientInfo2","PatientInfo2Skeleton","RouteChangeDetect","confirmCallback","modalVisible","setModalVisible","lastLocation","setLastLocation","nextLocation","_action","visible","ConfirmChangeModal","closeOnClickOutside","reverseButtons","Slider","isOpen","AutoSaveDisplay","isSaving","lastSaved","time","setTime","fromNow","Alert","AutoSave","doSave","needsResave","AutoSaving","setIsSaving","setLastSaved","setNeedsResave","isSavingRef","lastSubmittedValues","initialValues","currentValues","mounted","debouncedAutoSave","valuesToSave","isequal","returnedValues","setInitialValues","debounceTime","autoSave","ModalDigitalSign","DigitalSignContainerFormik","currentUser","password","Static","searchConcept","term","searchConceptByExpression","expression","SnomedPicker","encodeURIComponent","NullableDatePickerCombo","dayLabel","monthLabel","yearLabel","valueDay","valueMonth","valueYear","setDay","setMonth","setYear","selectDay","setSelectDay","selectMonth","setSelectMonth","selectYear","setSelectYear","maxDays","maxMonths","daysInMonth","useMonthNames","monthsShort","minYear","nameDay","nameMonth","nameYear","dayElement","monthElement","yearElement","paddingRight","FromToNullableDatePicker","valuesFrom","valuesTo","nameFromDay","nameFromMonth","nameFromYear","nameToDay","nameToMonth","nameToYear","disabledTo","CustomCheckbox","isChecked","inline","DiagnosisForm","condition","intensity","intensityCode","serious","reported","relationwithdrug","optionValue","isChronic","notes","useDiagnoses","reload","setReload","paginatedItems","Conditions","onAuditTrail","hasAudit","originalId","from","HighLight","Italic","_getLocaleSuffix","_uncapitalize","_uncapitalizeAll","_","g1","g2","_getValueFormatted","yesNoNotApplyFormatter","boolFormatter","propertyName","elementValue","localeSuffix","Array","isArray","Fields","childIdx","Name","Closed","ToDay","ToMonth","ToYear","attachmentFormatter","_getFieldTypeFromName","_getFieldName","entityName","Reason","Visit","_getFieldVisitTrackingFormMetadata","indexes","matchAll","lastIndexOf","componentField","componentsType","_getFieldNameType","auditItem","before","Panel","Heading","toggle","actionCode","_getActionName","auditAction","collapsible","parentKey","PanelGroup","accordion","AuditTrail","setAudit","auditTrails","useAdverseEvents","useAdverseEvent","postAdverseEvents","useAdverseEventHistory","getAdverseEventHistoryAPI","DiagnosesContainer","diagnoses","setDiagnoses","DiagnosisCreateContainer","entryStatus","update","setContent","_addedDiagnosis","_addedDiagnoses","contentToReload","onConfirmSubmit","auditReason","auditComments","editedDiagnoses","handleCancel","handleChangeDiagnosis","elementoEliminado","at","DiagnosisContainerFormik","handleEdit","onConfirmEdit","renderToken","onRemove","DiagnosisModalEditContainer","EntryItemsTable","rowClasses","withCard","onEdit","Math","random","customActions","onHistory","expandRow","parentClassName","renderer","expandContent","showExpandColumn","onlyOneExpanding","expandAll","expandHeaderColumnRenderer","isAnyExpands","expandColumnRenderer","hidePageListOnlyOnePage","loading","overlay","overlayFactory","spinner","noHeader","AdverseEvents","rowindex","chronic","isPersonalHistory","_getCategory","onAddDiagnosis","AdverseEventsOpenItems","closedItems","setClosedItems","dateName","closedItem","closed","closedItemsCopy","findIndex","joined","columnsClosed","ModalDuplicatedItem","getItemName","getItemPropertyName","itemName","AdverseEventForm","emptyResult","defaultActiveKey","arrayHelper","defaultInputValue","AdverseEventCreateContainer","AdverseEventContainerFormik","Anthropometrics","bmiColor","showWarning","bmi","others","useAnthropometrics","useAnthropometric","postAnthropometric","useAnthropometricsHistory","getAnthropometricsHistory","ChartJS","register","CategoryScale","LinearScale","BarElement","PointElement","LineElement","ChartDataLabels","Legend","getOffset","prevDate","prevOffset","setDate","getDate","abs","getMonth","getOffsetFromRandom","isBetween","dateFrom","dateTo","AnthropometricsHistory","AnthropometricsHistoryChart","plugins","datalabels","align","legend","chartData","labels","b","datasets","borderColor","ModalAnthropometricsHistory","fetchHistory","setType","AnthropometricsContainer","mrn","handleClose","AnthropometricCreateContainer","AnthropometricContainerFormik","anthropometric","AnthropometricEditContainer","DocumentViewer","file","fileName","inModal","setIsShowing","rigthClickBlock","addEventListener","removeEventListener","urlBlob","URL","createObjectURL","viewer","documents","uri","pluginRenderers","DocViewerRenderers","disableFileName","revokeObjectURL","getBlob","endpoint","postFile","getIconClassName","baseStyle","flex","flexDirection","borderWidth","borderStyle","activeStyle","uploadStatusEnum","useFiles","apiEndpoint","blob","setRes","_handleResponse","infoMessage","HandleApiErrorWithInfo","SuccessWithInfo","attachmentId","prevState","encodedFileName","contentDisposition","fileNameMatch","attachments","queue","resolve","attachment","FormData","lastResponse","Files","showRemove","extensionProp","nameProp","idProp","downloadBlob","viewFile","fileId","FilesForm","onDownload","accept","files","setFiles","useDropzone","onDrop","acceptedFiles","attach","maxSize","getRootProps","getInputProps","isDragActive","useMemo","Attachments","onDownloadFile","useAttachments","blobData","setBlobData","link","setAttribute","appendChild","click","AttachmentsContainer","viewAttachment","AttachmentsCreateContainer","postAPI","useConditions","useCondition","conditionId","postCopyCondition","ConditionsContainer","copy","handleSubmitDiagnosis","onConfirmSubmitDiagnosis","AdverseEventEditContainer","useDrugs","useDrug","routesOfAdministration","units","frequencies","reasonId","postDrug","useDrugsHistory","getDrugsHistoryAPI","Drugs","onAddDrug","DrugsOpenItems","DrugsContainer","handleSubmitDrug","onConfirmSubmitDrug","DrugCreateContainer","DrugContainerFormik","DrugEditContainer","groupStyles","justifyContent","groupBadgeStyles","minWidth","formatGroupLabel","findReasonInEventList","otherUnit","FamilyHistory","diagnosisDate","causeOfDeath","useFamilyHistories","useFamilyHistory","postFamilyHistory","FamilyHistoryContainer","FamilyHistoryCreateContainer","FamilyHistoryContainerFormik","FamilyHistoryEditContainer","relatives","diagnosisYear","diagnosisDay","diagnosisMonth","onLaboratoryResultHistory","results","columnsResults","_rowIndex","useLaboratories","useLaboratory","postLaboratories","useLaboratoryResultHistory","laboratoryId","getLaboratoryResultHistory","LaboratoryResultHistory","LaboratoryResultHistoryChart","laboratoryDate","ModalLaboHistory","fetchLaboHistory","LaboratoriesContainer","LaboratoryCreateContainer","LaboratoryContainerFormik","LaboratoryEditContainer","edit","significances","templates","order","selectedTemplates","labos","selectedTemplate","resultItems","bool","PersonalHabits","habits","habit","hasHabit","fromTo","scholarshipYears","scholarship","scholarshipCompleted","readsWrites","occupation","workHours","diet","usePersonalHabits","usePersonalHabit","postPersonalHabit","PersonalHabitsContainer","personalHabits","PersonalHabitCreateContainer","PersonalHabitContainerFormik","PersonalHabitEditContainer","personalHabit","usePersonalHistories","usePersonalHistory","postPersonalHistory","PersonalHistoryCreateContainer","PersonalHistoryContainerFormik","personalHistory","useProcedures","useProcedure","postProcedure","useProcedureHistory","getProcedureHistoryAPI","Procedures","onAddProcedure","ProceduresOpenItems","ProceduresContainer","handleSubmitProcedure","onConfirmSubmitProcedure","ProcedureCreateContainer","ProcedureContainerFormik","ProcedureEditContainer","Vitals","useVitals","useVital","postVital","useVitalsHistory","getVitalsHistory","VitalsHistory","VitalsHistoryChart","respiratoryRate","ModalVitalsHistory","VitalsContainer","VitalCreateContainer","VitalContainerFormik","vital","VitalEditContainer","EntryItems","setExpandedAll","useObservation","ObservationsContainer","observations","setObservations","ObservationCreateContainer","_observations","today","observation","createdObservation","lastObservations","handleChangeObservation","addedObservation","Orders","onPrint","onCopy","columnsOrders","useOrders","useOrder","postOrder","putOrder","exportOrder","OrdersContainer","showAddButton","print","handleCopy","_entryId2","handlePrint","entryId2","OrdersCreateContainer","OrderContainerFormik","OrderCopyContainer","OrderEditContainer","showNote","setShowNote","laboData","setLaboData","selectedReason","ordersCopy","Prescriptions","columnsPrescriptions","genericUnit","usePrescriptions","usePrescription","postPrescription","putPrescription","exportPrescription","PrescriptionsContainer","PrescriptionsCreateContainer","isLoadingMasterData","isLoadingDrugs","PrescriptionContainerFormik","PrescriptionCopyContainer","PrescriptionEditContainer","getFormattedData","justification","prescription","useEntries","entries","setEntries","exportEntries","useEntry","setEntry","entryRes","exportEntry","useModalData","ModalAdverseEventHistory","AdverseEventsListContainer","_itemId","_mrn","AnthropometricsListContainer","AttachmentsListContainer","ModalDrugsHistory","DrugsListContainer","_drugId","getAction","viewProtocol","visitUrl","typeId","renderEvolutions","evolutions","createdBy","modified","fontStyle","modifiedBy","renderToStaticMarkup","Entries","whiteSpace","wordBreak","EntriesScrollable","getMore","onFilterChange","setItems","hasMore","setHasMore","montotos","currentPage","handleOnChangeFilter","filterValue","_renderCondition","Label","Map","dataLength","next","loader","endMessage","practitionerFullName","practitionerSpeciality","summary","_renderObservations","_renderDiagnoses","EntriesScrollableSmall","EntriesContainer","entriesTotalSize","isEntriesLoading","handleFilterChange","FamilyHistoryListContainer","LaboratoryListContainer","PersonalHabitsListContainer","PersonalHistory","PersonalHistoryListContainer","ModalProcedureHistory","ProceduresListContainer","PrescriptionsListContainer","VitalsListContainer","OrdersListContainer","ConditionsListContainer","_title","EntryItemsList","EntryItemsListTabs","inProtocol","Tabs","mountOnEnter","Tab","tab","ModalAddData","getContent","CreateEntryContainer","entryAutoSaveEnabled","detectRouteChangeEnabled","isShowingAddData","toggleAddData","addContent","setAddContent","isPatientLoading","isEntryLoading","setEvolution","savedValues","setSavedValues","setContentToReload","showHistory","setShowHistory","hasObservation","hasDiagnosis","_publishVisit","Password","_publishAudit","entryCopy","digitalSignEnabled","onModalAddDataSubmit","getTime","onItemSubmit","hasCondition","handleAutoSave","handleDelete","handleRouteChange","saveAndContinue","onConfirmRouteChange","danger","errorsInfo","resize","LastVitals","lastVitals","useLastVitals","diagnosis","excludePermission","Popover","popover","cssClass","Content","LazyTippy","theme","animateFill","interactive","setMounted","lazyPlugin","fn","onMount","onHidden","computedProps","getVisitTypeTitle","getVisitsTrackingColumns","redirectFunction","translateFunction","cols","headerStyle","headerFormatter","column","headerAlign","estimatedDateContent","estimatedDate","dateContent","crossVersionId","_row","formatExtraData","popoverContent","extraText","getVisitsTrackingGrid","visitTemplates","afterBaseline","baselineVisit","visitTemplate","templateOrder","patientVisit","extraProtocolVisits","prevVisit","prevVisitDate","baseline","ModalNewEntry","onCreateExternal","onCreateProtocol","onCreateExtraProtocol","selectedVisit","setSelectedVisit","useVisitsTracking","isVisitsLoading","formatOptionLabel","getVisitTrackingOptionFormat","onConfirmCreate","handleSelectVisit","futureVisitAdded","getVisitsTrackingOptions","renderVisits","SkipVisitTracking","ScreenFailure","LostToFollowUp","ConfirmModal","ChangeVisitType","handleChangeType","useNewEntry","toggleNewEntry","createExternal","groupId","visitCrossVersionId","createExtraProtocol","updateVisitId","assignVisitId","AppointmentsScrollable","canceled","canceledReason","canceledBy","AppointmentsHistory","useAppointment","ObservationsListContainer","MedicalRecordContainer","isShowingDigitalSign","toggleDigitalSign","handleCreateExternal","createdEntry","handleCreateProtocol","handleCreateExtraProtocol","handleExportToPDF","Sign","sign","maxWidth","SignWithOutInfo","useUserInfoSignData","EntryNav","ArrowLeft","ArrowRight","getNavLinkClass","pathAux","arrowLeft","arrowRight","onSelect","hideSingleArrow","jsdiff","Diff","inputA","inputB","cssContainer","diffChars","diffWords","diffSentences","diffJson","part","bgStyle","added","removed","AuditTooltip","diffComponent","EntryView","retVal","SummaryFlat","getSummaries","getSummaryForEntry","getSummariesForEntry","getSummary","summaryId","createSummary","updateSummary","useSummaries","summaries","SummaryContainer","getForEntry","setSummary","RejectExternalNote","inputType","validationMsg","Laboratories","showModal","LaboratoryForm","smOffset","CreateLaboratoryContainerFormik","StudyTasks","StudyTaskForm","CreateStudyTaskContainerFormik","studytask","getLaboratory","EditLaboratoryContainerFormik","useStudyTask","studyTaskId","getStudyTask","EditStudyTaskContainerFormik","StudyTasksContainer","removeStudyTask","getFormTemplates","createFormTemplate","template","removeFormTemplate","getExtraForms","getExtraForm","createExtraForm","extraformtype","editExtraForm","removeExtraForm","ProtocolContext","createContext","ProtocolProvider","isProtocolLoading","closeProtocol","removeProtocol","Provider","RemoveModal","ConfirmSaveModal","templateId","DynamicFormComponents","onRemoveTemplate","useContext","maxHeight","overflowY","onAddComponentClick","DynamicFormControls","formFieldTypes","onAddFormFieldControlClick","onAddControlClick","AdherenceControl","copyValue","daysCount","deilveredPillsCount","returnedPillsCount","pillFrequency","round","CustomFileUpload","setFile","getDynamicField","indexComp","indexChild","textPosition","snomedExpression","medicalRecordId","DynamicFormCreatorViewer","templateLaboSelected","setTemplateLaboSelected","handleConfigClick","onConfigClick","handleRemoveClick","onRemoveClick","fieldsComponent","fieldComponent","templateLaboComponent","onChangeLaboTemplate","handleChangeLaboTemplate","fieldRec","indexRec","syncTo","onConfigFromTemplateClick","onRemoveFromTemplateClick","HelpBlock","getArrayFieldComponent","DragHandle","sortableHandle","SortableItem","sortableElement","SortableContainer","sortableContainer","onSortEnd","oldIndex","newIndex","useDragHandle","DynamicFormHeader","onTypeChange","showSaveAsTemplate","onSaveAsTemplate","backUrl","CustomSwitch","wrapperClass","onText","offText","DynamicOptionsFormik","fieldOptions","allFieldsProps","Feedback","dynamicOptions","DynamicFormCreator","initialForm","formTemplates","setForm","setFormType","setFields","fieldConfig","setFieldConfig","fieldSettings","setFieldSettings","_configField","textposition","_getSnomed","handleConfirmRemove","handleSaveAsTemplate","formCopy","_Fields","handleRemoveTemplate","formHeader","fieldsCopy","fieldIndex","selectedField","currentFieldsCount","_field","templateFieldIndex","copiedFields","fieldArrayLabo","ExtraForm","setFormTemplates","handleSaveClick","ProtocolInfo","context","Brief","keywords","patientsGoalPercent","patientsScreening","patientsSelection","patientsFailed","patientsRandom","patientsTreatment","patientsWithoutDrugs","patientsLostToFollowUp","patientsCompleted","BriefForm","protocolStudyTasks","Phases","defaultSelected","studyRoles","onRemoveAttach","closeMenuOnSelect","CloseProtocolModal","ProtocolBriefContainer","onRemoveProtocol","ButtonToolbar","ButtonGroup","Practitioners","hidden","expandByColumnOnly","rowKey","expandable","nonExpandable","useStudyRoles","AddPractitionerModal","submit","ProtocolAddPractitionersContainer","ProtocolAddPractitionersFormik","roles","studyRoleId","promises","relation","attachmentsUploads","emptyPractitioner","endOfTask","EditPractitionerModal","ProtocolEditPractitionerContainer","setPractitioner","ProtocolEditPractitionerFormik","newattachments","ProtocolPractitionersContainer","paginatedData","handleEditedPractitioner","confirmEdited","confirmDeletePractitioner","PatientStatusInProtocol","VisitTrackingStatusFilter","selectedStatus","onChangeFilter","VisitTrackingStageFilter","selectedStage","AddPatientModal","ProtocolAddPatientsContainer","PatientNumberModal","ProtocolPatientNumberContainer","updatedNumberInProtocol","VisitsTrackingContainer","firstColumns","handlePatientNumberChange","handleDeletePatient","setColumns","setSelectedStage","setVisitTemplates","patientsData","setPatientsData","visitTracking","currentPatient","allcolumns","filteredVisits","handleAuditChange","confirmChangePatientNumberSubmit","confirmDeletePatient","condensed","CustomInput","mobile","VisitHeaderForm","version","offsetFrom","VisitHeader","AddVisitModal","CreateVisitContainer","CreateVisitFormik","CopyVisitModal","CopyVisitContainer","visitCopy","CopyVisitFormik","EditVisitModal","EditVisitContainer","setVisit","resVisit","EditVisitFormik","oneOfType","PublishModal","ProtocolVisitsContainer","useAllVisits","_formatExtraData","handleSwapVisit","handleEditVisit","handleCopyVisit","handleRemoveVisit","copiedVisits","copiedData","obj","NewExtraForm","ExtraFormsContainer","useExtraForms","extraFormType","ProtocolContainer","section","selectedTab","setSelectedTab","Container","activeKey","NavItem","animation","Pane","onPublish","onBack","onFormRestrictions","save","back","publish","formRestrictions","VisitForms","handleSwapForm","onSwap","subTitleComponent","forms","VisitExtraForms","isDraft","VisitHistory","hasActiveVersion","visitHistory","active","versionStatus","versionComments","DropdownButton","onEditVisit","onRemoveVisit","onPublishVisit","FormsRestrictions","selectedPractitioner","setSelectedPractitioner","userFormsRestrictions","setUserFormsRestrictions","handleRestrictionChange","userFormsRestrictionsCopy","restriction","restrictView","restrictContribute","userFormRestrictions","userRestrictions","FormRestrictionsContainer","handleSave","VisitForm","getForm","formTemplate","removeForm","useRoleMasterData","ConfirmRemoveRole","roleId","Permissions","modules","selectedClaims","setSelectedClaims","claim","claimsCopy","yes","no","c","Roles","RoleForm","tenants","tenant","tenantId","getTenant","useTenants","setTenants","editTenant","removeTenant","CreateRoleContainerFormik","createRole","StudyPermissions","splitted","permissionsCopy","indexToRemove","StudyRoles","StudyRoleForm","CreateStudyRoleContainerFormik","createStudyRole","EditRoleContainerFormik","editRole","EditStudyRoleContainerFormik","editStudyRole","AdminContext","RolesContainer","useRoles","reloadRoles","selectedTenant","removeRole","StudyRolesContainer","removeStudyRole","TenantForm","CreateTenantFormik","EditTenantFormik","Tenants","TenantsContainer","getAll","Users","CreateUserFormik","userName","workEmail","createUser","ProfessionalData","ProfessionalDataForm","TO_RADIANS","PI","canvasPreview","image","canvas","crop","scale","rotate","ctx","getContext","scaleX","naturalWidth","scaleY","naturalHeight","pixelRatio","devicePixelRatio","imageSmoothingQuality","cropX","cropY","rotateRads","centerX","centerY","translate","drawImage","restore","centerAspectCrop","mediaWidth","mediaHeight","aspect","centerCrop","makeAspectCrop","CustomImageUpload","waitTime","deps","imgSrc","setImgSrc","previewCanvasRef","imgRef","blobUrlRef","setCrop","completedCrop","setCompletedCrop","setScale","readAsDataURL","step","Number","percentCrop","onComplete","onLoad","objectFit","toBlob","UserSignForm","onUploadSign","onConfig","hasPermission","configure","DigitalSignDataForm","fileReader","fileReaderPrivate","onloadend","readyState","DONE","arrayBuffer","readAsBinaryString","UserProfile","EditUserContainer","isUserLoading","handleUploadSign","EditUserFormik","hideCancel","publicCert","userProfile","constructor","rsaPublicCert","rsaPrivateCert","UserSettingsFormik","onChangeRole","onEnableUser","onDisableUser","onResendEmail","onNewPassword","newpassword","UsersContainer","mdOffset","AppointmentWidget","DateTimeWidget","auth","PatientWidget","SearchWidget","selectedPatient","WelcomeWidget","getAllNotifications","getUnreadNotifications","markAsReadedNotification","messageId","unreadNotifications","actionCreators","requestAllNotifications","requestUnreadNotifications","requestMarkAsReadedNotification","payload","UsersNotifications","bindActionCreators","PatientAvatarAsync","setAvatar","usePatientAvatar","avatarDefault","onerror","DailyAgendaWidget","onAttendance","eventIdParam","agendaActionCreators","WaitingListWidgetContainer","agendaStore","agenda","initComponent","handleAttendance","Dashboard","ExpandedContent","Patients","setPatients","paginatedPatients","getAllPatients","usePatients","isLoadingPatients","isLoadingProtocols","selectedValues","DatabasePage","ForbiddenPage","NotFoundPage","UnauthorizedPage","NullableDatePicker","futureDates","selectedDay","selectedMonth","selectedYear","isUploadEnabled","auditName","dynamicField","multicheckOptions","checkboxArray","pop","uploadedBy","validatedBy","montotoFields","heightFloat","parseFloat","weightFloat","getLastChange","DynamicForm","sortedFields","getTableArrayFieldComponent","controlId","FormActions","onScreenFailure","onWithoutDrugs","onDiscontinuation","onExport","onBackToMR","FormMenu","showAdditionals","setShowAdditionals","additionals","selectedFormId","formsWithErrors","onSaveUpload","onSkip","onLostToFollowUp","onReturnDrugs","onReSync","onChangeType","onChangeVisitTrackingType","FormHeader","VisitStatus","DocumentNotes","createdById","DocumentNoteForm","onCreate","setText","DocumentNotesContainer","documentNote","useDocumentNotes","getNotes","createNote","updateNote","setNotes","setNote","collapse","setCollapse","handleCreateNote","createdNote","handleNoteEdited","updatedNote","notesCopy","EvolutionEdit","Evolutions","EvolutionsContainer","visitTrackingStatus","pepepe","evolutionRes","useEvolutions","updateEvolution","setEvolutions","handleEvolutionEdited","_saveEvolution","updatedEvolution","evolutionsCopy","evolutionEdit","MonitorNotes","handleChangeState","onStatusChange","confirmChangeState","MonitorNoteForm","MonitorNotesContainer","getNote","changeStatusNote","useMonitorNotes","deleteNote","handleRemoveNote","handleStatusChange","ExtraVisitTracking","isAuditLoading","getLastVisitTrackingChange","fileData","getBlobAPI","setForms","setSignStatus","setVisitTracking","selectedForm","setSelectedForm","setPatientNumber","formAux","_closeModal","_updateData","updatedForm","formsCopy","_saveVisit","formVisitTracking","formikProps","fieldsWithFiles","patientForm","componentsWithFiles","flat","attachs","resForm","handleAuditTrail","handleViewFile","attachName","confirmScreenFailure","_publishScreenFailure","handleEarlyTermination","dirty","confirm","confirmEarlyTermination","_confirmRemoveVisit","_export","handleExport","_formVisitTracking","actions","validateOnBlur","submitForm","handleSubmitForm","isDirty","selectedForms","handleSelectForm","visitStatusEnum","VisitHeaderContainer","ProtocolHeader","ProtocolCreateBriefContainer","ProtocolEditBriefContainer","confirmSubmit","handleRemoveAttach","removeAttachment","ProtocolsFilters","selectedLaboratory","selectedPhase","Protocols","getVisitType","isAuthLoading","setHasVisitTracking","setFormsWithErrors","patientInfo","setPatientInfo","_saveUploadVisit","confirmSkipVisit","_publishSkipVisit","confirmLostToFollowUp","_publishLostToFollowUp","handleDiscontinuation","_setDiscontinuation","handleWithoutDrugs","_setWithoutDrugs","handleReturnDrugs","_setReturnDrugs","handleReSync","_digitalSign","confirmReSync","_setChangeVisitTrackingType","_changeType","showStatus","validateOnChange","onReset","handleReset","withErrors","showErrorValidations","isValidSync","requiredFields","AdminProvider","setSelectedTenant","ResultsTemplates","getTemplates","getTemplate","createTemplate","editTemplate","removeTemplate","useResultsTemplate","ModalTemplate","ResultsTemplateCreateContainer","ResultsTemplateContainerFormik","ResultsTemplateEditContainer","ResultsTemplateRemoveContainer","refMin","refMax","reference","ResultsTemplatesContainer","useResultsTemplates","onModalSubmit","uploadHeader","useSettings","setSettings","SettingsContainer","handleHeader","handleFooter","SettingsFormik","onAutoClose","onFirstMRN","onHeader","onFooter","mrsettings","mrdata","dbsettings","dbdata","prsettings","prdata","firstMRN","autoclose","ps","ConfirmSync","SyncContainer","syncUsersConfirm","syncPatientsConfirm","syncProtocolsConfirm","syncUsersInProtocolsConfirm","syncPatientsInProtocolsClick","xs","TenantSelection","isTenantsLoading","iconSVG","isValidEventStart","selectedAppointment","handleSubmitScheduleLock","updatedEvent","updateEventStatus","nextEvents","isSameOrBefore","onNotAttendance","notAttendanceAppointment","editEvent","updateEvent","onCancelEvent","cancelEvent","messages","previous","noEventsInRange","showMore","total","popup","culture","defaultView","resizable","scrollToTime","onSelectEvent","handleSelectedEvent","onView","currentView","eventPropGetter","timeGutterHeader","formats","eventTimeRangeFormat","dayFormat","dayRangeHeaderFormat","startFormat","endFormat","dayHeaderFormat","agendaHeaderFormat","displayChilds","DatabaseHome","mini","isLoadingPractitioners","isLoadingMasterdata","isLoadingPatient","useProtocolApprovedVisits","visitResponse","setVisitHistory","extraForms","setExtraForms","handlePublishVisit","handleConfirmPublish","historyCopy","publishedVisit","handlePrintVisit","copiedForms","oldOrder","useExternalNotes","responseDate","handleCreate","isLoadingTenants","isRoleLoading","handleConfirmNewPassword","changePasswordUser","updateUserInRole","resendCreatedUserEmail","enableUser","disableUser","setRole","Sidebar","refSidebarWrapper","setWidth","collapseStates","setCollapseStates","updateDimensions","platform","PerfectScrollbar","destroy","activeRoute","routeName","logo","createLinks","prop","st","AdminLayout","handleMiniClick","classList","getRoutes","exact","_notificationSystem","hasImage","fixedClasses","refs","notificationSystem","scrollTop","scrollingElement","mainPanel","autoClose","hideProgressBar","newestOnTop","closeOnClick","pauseOnFocusLoss","pauseOnHover","settingsActions","isEnabled","settingsState","changeLanguage","Admin","isLocalhost","Boolean","hostname","registerValidSW","swUrl","serviceWorker","registration","onupdatefound","installingWorker","installing","onstatechange","controller","initialReduxState","store","reducers","Notifications","Authentication","Configuration","Protocol","Agenda","middleware","thunk","routerMiddleware","enhancers","rootReducer","combineReducers","router","connectRouter","createStore","compose","applyMiddleware","configureStore","container","getElementById","createRoot","App","process","unregister","checkValidServiceWorker","registerServiceWorker"],"mappings":"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","file":"static/js/main.f11d1ba8.chunk.js","sourcesContent":["const googleAPIKey = \"AIzaSyCCh-2w0Pmh2mElKvgeyhb4TQJ6Ophh8gs\";\r\n\r\nmodule.exports = {\r\n googleAPIKey\r\n};","module.exports = __webpack_public_path__ + \"static/media/forbidden.a9786723.png\";","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/logo-blanco.9f17bb17.png\";","//\n// //\n// // // For notifications\n// //\n//\nvar defaultWidth =\n window.screen.width > 768\n ? (window.screen.width * 1) / 3\n : window.screen.width;\n\nvar style = {\n Wrapper: {},\n Containers: {\n DefaultStyle: {\n position: \"fixed\",\n width: defaultWidth,\n padding: \"10px 10px 10px 20px\",\n zIndex: 9998,\n WebkitBoxSizing: \"\",\n MozBoxSizing: \"\",\n boxSizing: \"\",\n height: \"auto\",\n display: \"inline-block\",\n border: \"0\",\n fontSize: \"14px\",\n WebkitFontSmoothing: \"antialiased\",\n fontFamily: '\"Roboto\",Arial,sans-serif',\n fontWeight: \"400\",\n color: \"#FFFFFF\"\n },\n\n tl: {\n top: \"0px\",\n bottom: \"auto\",\n left: \"0px\",\n right: \"auto\"\n },\n\n tr: {\n top: \"0px\",\n bottom: \"auto\",\n left: \"auto\",\n right: \"0px\"\n },\n\n tc: {\n top: \"0px\",\n bottom: \"auto\",\n margin: \"0 auto\",\n left: \"50%\",\n marginLeft: -(defaultWidth / 2)\n },\n\n bl: {\n top: \"auto\",\n bottom: \"0px\",\n left: \"0px\",\n right: \"auto\"\n },\n\n br: {\n top: \"auto\",\n bottom: \"0px\",\n left: \"auto\",\n right: \"0px\"\n },\n\n bc: {\n top: \"auto\",\n bottom: \"0px\",\n margin: \"0 auto\",\n left: \"50%\",\n marginLeft: -(defaultWidth / 2)\n }\n },\n\n NotificationItem: {\n DefaultStyle: {\n position: \"relative\",\n width: \"100%\",\n cursor: \"pointer\",\n borderRadius: \"4px\",\n fontSize: \"14px\",\n margin: \"10px 0 0\",\n padding: \"10px\",\n display: \"block\",\n WebkitBoxSizing: \"border-box\",\n MozBoxSizing: \"border-box\",\n boxSizing: \"border-box\",\n opacity: 0,\n transition: \"all 0.5s ease-in-out\",\n WebkitTransform: \"translate3d(0, 0, 0)\",\n transform: \"translate3d(0, 0, 0)\",\n willChange: \"transform, opacity\",\n\n isHidden: {\n opacity: 0\n },\n\n isVisible: {\n opacity: 1\n }\n },\n\n success: {\n borderTop: 0,\n backgroundColor: \"#a1e82c\",\n WebkitBoxShadow: 0,\n MozBoxShadow: 0,\n boxShadow: 0\n },\n\n error: {\n borderTop: 0,\n backgroundColor: \"#fc727a\",\n WebkitBoxShadow: 0,\n MozBoxShadow: 0,\n boxShadow: 0\n },\n\n warning: {\n borderTop: 0,\n backgroundColor: \"#ffbc67\",\n WebkitBoxShadow: 0,\n MozBoxShadow: 0,\n boxShadow: 0\n },\n\n info: {\n borderTop: 0,\n backgroundColor: \"#63d8f1\",\n WebkitBoxShadow: 0,\n MozBoxShadow: 0,\n boxShadow: 0\n }\n },\n\n Title: {\n DefaultStyle: {\n fontSize: \"30px\",\n margin: \"0\",\n padding: 0,\n fontWeight: \"bold\",\n color: \"#FFFFFF\",\n display: \"block\",\n left: \"15px\",\n position: \"absolute\",\n top: \"50%\",\n marginTop: \"-15px\"\n }\n },\n\n MessageWrapper: {\n DefaultStyle: {\n marginLeft: \"55px\",\n marginRight: \"30px\",\n padding: \"0 12px 0 0\",\n color: \"#FFFFFF\",\n maxWidthwidth: \"89%\"\n }\n },\n\n Dismiss: {\n DefaultStyle: {\n fontFamily: \"inherit\",\n fontSize: \"21px\",\n color: \"#000\",\n float: \"right\",\n position: \"absolute\",\n right: \"10px\",\n top: \"50%\",\n marginTop: \"-13px\",\n backgroundColor: \"#FFFFFF\",\n display: \"block\",\n borderRadius: \"50%\",\n opacity: \".4\",\n lineHeight: \"11px\",\n width: \"25px\",\n height: \"25px\",\n outline: \"0 !important\",\n textAlign: \"center\",\n padding: \"6px 3px 3px 3px\",\n fontWeight: \"300\",\n marginLeft: \"65px\"\n },\n\n success: {\n // color: '#f0f5ea',\n // backgroundColor: '#a1e82c'\n },\n\n error: {\n // color: '#f4e9e9',\n // backgroundColor: '#fc727a'\n },\n\n warning: {\n // color: '#f9f6f0',\n // backgroundColor: '#ffbc67'\n },\n\n info: {\n // color: '#e8f0f4',\n // backgroundColor: '#63d8f1'\n }\n },\n\n Action: {\n DefaultStyle: {\n background: \"#ffffff\",\n borderRadius: \"2px\",\n padding: \"6px 20px\",\n fontWeight: \"bold\",\n margin: \"10px 0 0 0\",\n border: 0\n },\n\n success: {\n backgroundColor: \"#a1e82c\",\n color: \"#ffffff\"\n },\n\n error: {\n backgroundColor: \"#fc727a\",\n color: \"#ffffff\"\n },\n\n warning: {\n backgroundColor: \"#ffbc67\",\n color: \"#ffffff\"\n },\n\n info: {\n backgroundColor: \"#63d8f1\",\n color: \"#ffffff\"\n }\n },\n\n ActionWrapper: {\n DefaultStyle: {\n margin: 0,\n padding: 0\n }\n }\n};\n\nmodule.exports = {\n style, // For notifications (App container and Notifications view)\n};\n","module.exports = \"data:image/jpeg;base64,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\"","export const ApplicationName = 'WebReact';\r\n\r\nexport const QueryParameterNames = {\r\n ReturnUrl: 'returnUrl',\r\n Message: 'message'\r\n};\r\n\r\nexport const LogoutActions = {\r\n LogoutCallback: 'logout-callback',\r\n Logout: 'logout',\r\n LoggedOut: 'logged-out'\r\n};\r\n\r\nexport const LoginActions = {\r\n Login: 'login',\r\n LoginCallback: 'login-callback',\r\n LoginFailed: 'login-failed',\r\n Profile: 'profile',\r\n Register: 'register'\r\n};\r\n\r\nconst prefix = '/authentication';\r\n\r\nexport const ApplicationPaths = {\r\n DefaultLoginRedirectPath: '/',\r\n ApiAuthorizationClientConfigurationUrl: `/api/settings`,\r\n ApiAuthorizationPrefix: prefix,\r\n Login: `${prefix}/${LoginActions.Login}`,\r\n LoginFailed: `${prefix}/${LoginActions.LoginFailed}`,\r\n LoginCallback: `${prefix}/${LoginActions.LoginCallback}`,\r\n Register: `${prefix}/${LoginActions.Register}`,\r\n Profile: `${prefix}/${LoginActions.Profile}`,\r\n LogOut: `${prefix}/${LogoutActions.Logout}`,\r\n LoggedOut: `${prefix}/${LogoutActions.LoggedOut}`,\r\n LogOutCallback: `${prefix}/${LogoutActions.LogoutCallback}`,\r\n IdentityRegisterPath: '/Identity/Account/Register',\r\n IdentityManagePath: '/Identity/Account/Manage'\r\n};\r\n","import { UserManager, WebStorageStateStore, Log } from 'oidc-client';\r\nimport { ApplicationPaths, ApplicationName } from './ApiAuthorizationConstants';\r\n\r\nexport class AuthorizeService {\r\n _callbacks = [];\r\n _nextSubscriptionId = 0;\r\n _user = null;\r\n _isAuthenticated = false;\r\n\r\n constructor() {\r\n Log.logger = console;\r\n Log.level = Log.ERROR;\r\n }\r\n\r\n\r\n // By default pop ups are disabled because they don't work properly on Edge.\r\n // If you want to enable pop up authentication simply set this flag to false.\r\n _popUpDisabled = true;\r\n\r\n async isAuthenticated() {\r\n const user = await this.getUser();\r\n return !!user;\r\n }\r\n\r\n async getUser() {\r\n if (this._user && this._user.profile) {\r\n return this._user.profile;\r\n }\r\n\r\n await this.ensureUserManagerInitialized();\r\n const user = await this.userManager.getUser();\r\n return user && user.profile;\r\n }\r\n\r\n async getAccessToken() {\r\n await this.ensureUserManagerInitialized();\r\n const user = await this.userManager.getUser();\r\n return user && user.access_token;\r\n }\r\n\r\n // We try to authenticate the user in three different ways:\r\n // 1) We try to see if we can authenticate the user silently. This happens\r\n // when the user is already logged in on the IdP and is done using a hidden iframe\r\n // on the client.\r\n // 2) We try to authenticate the user using a PopUp Window. This might fail if there is a\r\n // Pop-Up blocker or the user has disabled PopUps.\r\n // 3) If the two methods above fail, we redirect the browser to the IdP to perform a traditional\r\n // redirect flow.\r\n async signIn(state) {\r\n await this.ensureUserManagerInitialized();\r\n try {\r\n const silentUser = await this.userManager.signinSilent(this.createArguments());\r\n this.updateState(silentUser);\r\n return this.success(state);\r\n } catch (silentError) {\r\n // User might not be authenticated, fallback to popup authentication\r\n //console.log(\"Silent authentication error: \", silentError);\r\n\r\n try {\r\n await this.userManager.signinRedirect(this.createArguments(state));\r\n return this.redirect();\r\n } catch (redirectError) {\r\n console.log(\"Redirect authentication error: \", redirectError);\r\n return this.error(redirectError);\r\n }\r\n }\r\n }\r\n\r\n async completeSignIn(url) {\r\n try {\r\n await this.ensureUserManagerInitialized();\r\n const user = await this.userManager.signinCallback(url);\r\n \r\n this.updateState(user);\r\n\r\n if (user && !user.profile.identification_number)\r\n return this.redirectToProfile(user.profile)\r\n else\r\n return this.success(user && user.state);\r\n } catch (error) {\r\n console.log('There was an error signing in: ', JSON.stringify(error));\r\n return this.error('');\r\n }\r\n }\r\n\r\n // We try to sign out the user in two different ways:\r\n // 1) We try to do a sign-out using a PopUp Window. This might fail if there is a\r\n // Pop-Up blocker or the user has disabled PopUps.\r\n // 2) If the method above fails, we redirect the browser to the IdP to perform a traditional\r\n // post logout redirect flow.\r\n async signOut(state) {\r\n await this.ensureUserManagerInitialized();\r\n try {\r\n if (this._popUpDisabled) {\r\n throw new Error('Popup disabled. Change \\'AuthorizeService.js:AuthorizeService._popupDisabled\\' to false to enable it.')\r\n }\r\n\r\n await this.userManager.signoutPopup(this.createArguments());\r\n this.updateState(undefined);\r\n return this.success(state);\r\n } catch (popupSignOutError) {\r\n console.log(\"Popup signout error: \", popupSignOutError);\r\n try {\r\n await this.userManager.signoutRedirect(this.createArguments(state));\r\n return this.redirect();\r\n } catch (redirectSignOutError) {\r\n console.log(\"Redirect signout error: \", redirectSignOutError);\r\n return this.error(redirectSignOutError);\r\n }\r\n }\r\n }\r\n\r\n async completeSignOut(url) {\r\n await this.ensureUserManagerInitialized();\r\n try {\r\n const response = await this.userManager.signoutCallback(url);\r\n this.updateState(null);\r\n return this.success(response && response.data);\r\n } catch (error) {\r\n console.log(`There was an error trying to log out '${error}'.`);\r\n return this.error(error);\r\n }\r\n }\r\n\r\n updateState(user) {\r\n this._user = user;\r\n this._isAuthenticated = !!this._user;\r\n this.notifySubscribers();\r\n }\r\n\r\n subscribe(callback) {\r\n this._callbacks.push({ callback, subscription: this._nextSubscriptionId++ });\r\n return this._nextSubscriptionId - 1;\r\n }\r\n\r\n unsubscribe(subscriptionId) {\r\n const subscriptionIndex = this._callbacks\r\n .map((element, index) => element.subscription === subscriptionId ? { found: true, index } : { found: false })\r\n .filter(element => element.found === true);\r\n if (subscriptionIndex.length !== 1) {\r\n // throw new Error(`Found an invalid number of subscriptions ${subscriptionIndex.length}`);\r\n console.log(`Found an invalid number of subscriptions ${subscriptionIndex.length}`);\r\n return;\r\n }\r\n\r\n this._callbacks = this._callbacks.splice(subscriptionIndex[0].index, 1);\r\n }\r\n\r\n notifySubscribers() {\r\n for (let i = 0; i < this._callbacks.length; i++) {\r\n const callback = this._callbacks[i].callback;\r\n callback();\r\n }\r\n }\r\n\r\n createArguments(state) {\r\n return { useReplaceToNavigate: true, data: state };\r\n }\r\n\r\n error(message) {\r\n return { status: AuthenticationResultStatus.Fail, message };\r\n }\r\n\r\n success(state) {\r\n return { status: AuthenticationResultStatus.Success, state };\r\n }\r\n\r\n redirect() {\r\n return { status: AuthenticationResultStatus.Redirect };\r\n }\r\n\r\n redirectToProfile(user) {\r\n return { status: AuthenticationResultStatus.RedirectToProfile, user };\r\n }\r\n\r\n async ensureUserManagerInitialized() {\r\n if (this.userManager !== undefined) {\r\n return;\r\n }\r\n\r\n let response = await fetch(ApplicationPaths.ApiAuthorizationClientConfigurationUrl);\r\n if (!response.ok) {\r\n throw new Error(`Could not load settings for '${ApplicationName}'`);\r\n }\r\n\r\n let publicSettings = await response.json();\r\n //console.log(publicSettings)\r\n let settings = {\r\n client_id: \"WebReact\",\r\n authority: publicSettings?.identityApi,\r\n automaticSilentRenew: true,\r\n includeIdTokenInSilentRenew: true,\r\n userStore: new WebStorageStateStore({\r\n prefix: ApplicationName\r\n }),\r\n clockSkew: 900,\r\n redirect_uri: `${publicSettings?.callBackUrl}/authentication/login-callback`,\r\n post_logout_redirect_uri: `${publicSettings?.callBackUrl}/authentication/logout-callback`,\r\n response_type: \"code\",\r\n scope: \"openid profile IdentityServerApi protocolsapi databaseapi agendaapi notificationsapi medicalrecordapi digitalsignapi WebReact medicalinsuranceagreementsapi pricelistapi pre_biller_app\",\r\n };\r\n\r\n this.userManager = new UserManager(settings);\r\n\r\n this.userManager.events.addUserSignedOut(async () => {\r\n await this.userManager.removeUser();\r\n this.updateState(undefined);\r\n });\r\n }\r\n\r\n static get instance() { return authService }\r\n}\r\n\r\nconst authService = new AuthorizeService();\r\n\r\nexport default authService;\r\n\r\nexport const AuthenticationResultStatus = {\r\n Redirect: 'redirect',\r\n Success: 'success',\r\n Fail: 'fail',\r\n RedirectToProfile: 'redirectToProfile'\r\n};\r\n","import { createBrowserHistory } from 'history';\r\n\r\nexport default createBrowserHistory({ basename: document.getElementsByTagName('base')[0].getAttribute('href') });// createBrowserHistory();","import axios from 'axios';\r\nimport { ApplicationPaths } from '../components/api-authorization/ApiAuthorizationConstants';\r\nimport authService from '../components/api-authorization/AuthorizeService';\r\nimport history from '../history';\r\n\r\nconst instance = axios.create({\r\n //baseURL: \"api/v1\"//process.env.ApiBaseUrl\r\n});\r\n\r\n// Add a request interceptor\r\ninstance.interceptors.request.use(async function (config) {\r\n const token = await authService.getAccessToken();\r\n config.headers.Authorization = `Bearer ${token}`;\r\n\r\n return config;\r\n});\r\n\r\n// Add response interceptor\r\n\r\ninstance.interceptors.response.use(response => {\r\n return response;\r\n}, error => {\r\n\r\n switch (error.response.status) {\r\n case 401:\r\n console.log(JSON.stringify(error))\r\n history.push(ApplicationPaths.Login);\r\n break;\r\n //case 403:\r\n // history.push('/admin/forbidden');\r\n // break;\r\n //case 404:\r\n // history.push('/admin/not-found');\r\n // break;\r\n default:\r\n break;\r\n }\r\n\r\n return Promise.reject(error);\r\n});\r\n\r\nexport default instance;","import axios from './index';\r\n\r\nexport const getPagingAndOrderParams = (newActiveFilters, searchParams) => {\r\n\r\n if (!newActiveFilters)\r\n return;\r\n\r\n searchParams.delete('pageIndex'); // se resetea el paginado\r\n if (newActiveFilters.pagination?.page) {\r\n searchParams.append('pageIndex', newActiveFilters.pagination.page);\r\n }\r\n searchParams.delete('pageSize');\r\n if (newActiveFilters.pagination?.sizePerPage) {\r\n searchParams.append('pageSize', newActiveFilters.pagination.sizePerPage);\r\n }\r\n searchParams.delete('sortField');\r\n if (newActiveFilters.sort?.sortField) {\r\n searchParams.append('sortField', newActiveFilters.sort.sortField);\r\n }\r\n searchParams.delete('sortOrder');\r\n if (newActiveFilters.sort?.sortOrder) {\r\n searchParams.append('sortOrder', newActiveFilters.sort.sortOrder);\r\n }\r\n\r\n return searchParams;\r\n}\r\n\r\nexport const getQueryString = (query, search) => {\r\n\r\n var searchParams = new URLSearchParams(search || '');\r\n\r\n if (!query)\r\n return searchParams.toString();\r\n\r\n searchParams = getPagingAndOrderParams(query, searchParams);\r\n\r\n if (query.filters) {\r\n for (const property in query.filters) {\r\n\r\n searchParams.delete(property);\r\n if (query.filters[property] !== null && query.filters[property] !== undefined) {\r\n searchParams.append(property, query.filters[property]);\r\n }\r\n }\r\n }\r\n\r\n if (query.query) {\r\n searchParams.delete(\"q\");\r\n if (query.query) {\r\n searchParams.append(\"q\", query.query);\r\n }\r\n }\r\n\r\n if (query.onlyDoctor != null && query.onlyDoctor != undefined) {\r\n searchParams.delete(\"onlyDoctor\");\r\n searchParams.append(\"onlyDoctor\", query.onlyDoctor);\r\n }\r\n\r\n return searchParams.toString();\r\n}\r\n\r\nexport const getRoleMasterData = () => {\r\n return axios.get(`api/v1/authorization/masterdata`);\r\n};\r\nexport const getRoles = (filters) => {\r\n const queryString = getQueryString(filters, window.location.search);\r\n return axios.get(queryString ? `api/v1/authorization?${queryString}` : 'api/v1/authorization');\r\n};\r\nexport const getRole = (roleId) => {\r\n return axios.get(`api/v1/authorization/${roleId}`);\r\n};\r\nexport const createRole = (role) => {\r\n return axios.post(`api/v1/authorization`, role);\r\n};\r\nexport const editRole = (roleId, role) => {\r\n return axios.put(`api/v1/authorization/${roleId}`, role);\r\n};\r\nexport const removeRole = (roleId) => {\r\n return axios.delete(`api/v1/authorization/${roleId}`);\r\n};\r\n\r\nexport const getStudyRoleMasterData = () => {\r\n return axios.get(`api/v1/protocols/masterdata`);\r\n};\r\nexport const getStudyRoles = () => {\r\n return axios.get(`api/v1/protocols/studyRoles`);\r\n};\r\nexport const getStudyRole = (roleId) => {\r\n return axios.get(`api/v1/protocols/studyRoles/${roleId}`);\r\n};\r\nexport const createStudyRole = (role) => {\r\n return axios.post(`api/v1/protocols/studyRoles`, role);\r\n};\r\nexport const editStudyRole = (roleId, role) => {\r\n return axios.put(`api/v1/protocols/studyRoles/${roleId}`, role);\r\n};\r\nexport const removeStudyRole = (roleId) => {\r\n return axios.delete(`api/v1/protocols/studyRoles/${roleId}`);\r\n};\r\nexport const getCurrentUserRole = (protocolId) => {\r\n return axios.get(`api/v1/protocols/${protocolId}/studyRoles/currentUser`);\r\n};","import { getCurrentUserRole } from \"../api/security\";\r\n\r\nconst requestCurrentUserRole = 'CURRENTUSERROLE_REQUEST';\r\nconst receiveCurrentUserRole = 'CURRENTUSERROLE_RECEIVE';\r\nconst initialState = { protocolId: null, role: {}, isLoading: false };\r\n\r\nexport const roleActionCreator = {\r\n requestCurrentUserRole: (protocolId) => async (dispatch) => {\r\n\r\n dispatch({ type: requestCurrentUserRole });\r\n\r\n try {\r\n //console.log(\"Obtengo Rol de Redux\")\r\n const response = await getCurrentUserRole(protocolId);\r\n\r\n dispatch({ type: receiveCurrentUserRole, role: response.data, protocolId });\r\n }\r\n catch (error) {\r\n console.log(error)\r\n }\r\n },\r\n};\r\n\r\nexport const reducer = (state, action) => {\r\n state = state || initialState;\r\n\r\n if (action.type === requestCurrentUserRole) {\r\n return {\r\n ...state,\r\n isLoading: true\r\n };\r\n }\r\n if (action.type === receiveCurrentUserRole) {\r\n return {\r\n ...state,\r\n role: action.role,\r\n protocolId: action.protocolId,\r\n isLoading: false\r\n };\r\n }\r\n \r\n return state;\r\n};\r\n","import { useSelector, useDispatch } from 'react-redux';\r\nimport { roleActionCreator } from '../../store/Protocol';\r\n\r\nexport const useAuthorization = () => {\r\n const isAuthenticated = useSelector(state => state.authentication.isAuthenticated);\r\n const user = useSelector(state => state.authentication.user);\r\n const isAuthorized = (requiredPermissions) => {\r\n\r\n if (!user || !user.permission)\r\n return false;\r\n\r\n if (requiredPermissions) {\r\n const permissions = requiredPermissions.filter(permission => user[\"permission\"].includes(permission));\r\n if (!permissions || permissions.length === 0)\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n return [isAuthenticated, user, isAuthorized];\r\n}\r\n\r\nexport const useAuthProtocol = (protocolId) => {\r\n const currentUserRoleData = useSelector(state => state.protocol);\r\n const user = useSelector(state => state.authentication.user);\r\n const dispatch = useDispatch();\r\n\r\n const isAuthorized = (includePermissions, excludePermissions) => {\r\n if (currentUserRoleData.isLoading)\r\n return false;\r\n \r\n if (currentUserRoleData.protocolId != protocolId) {\r\n dispatch(roleActionCreator.requestCurrentUserRole(protocolId));\r\n }\r\n\r\n const currentUserRoles = currentUserRoleData.role;\r\n if (includePermissions && currentUserRoles.permissions) {\r\n const hasIncludePermissions = includePermissions.some(permission => currentUserRoles.permissions.includes(permission));\r\n\r\n if (excludePermissions) {\r\n const hasExcludePermission = excludePermissions.some(permission => currentUserRoles.permissions.includes(permission));\r\n\r\n return hasIncludePermissions && !hasExcludePermission;\r\n }\r\n\r\n return hasIncludePermissions;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n return [isAuthorized, currentUserRoleData.isLoading, user];\r\n}","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useAuthorization } from './useAuthorization';\r\n\r\nexport const WithAuth = props => {\r\n const { requiredPermission } = props;\r\n const [isAuthenticated, , isAuthorized] = useAuthorization();\r\n\r\n if (!isAuthenticated) {\r\n return '';\r\n }\r\n\r\n if (isAuthorized(requiredPermission))\r\n return <>{props.children};\r\n\r\n return \"\";\r\n}\r\n\r\nWithAuth.propTypes = {\r\n requiredPermission: PropTypes.array,\r\n};","import React, { useState } from \"react\";\r\nimport { useIdleTimer } from 'react-idle-timer'\r\nimport { useSelector } from \"react-redux\";\r\nimport SessionTimeoutDialog from \"./SessionTimeoutDialog\";\r\n\r\nlet countdownInterval;\r\nlet timeout;\r\n\r\nconst SessionTimeout = ({ isAuthenticated, logOut }) => {\r\n const [timeoutModalOpen, setTimeoutModalOpen] = useState(false);\r\n const [timeoutCountdown, setTimeoutCountdown] = useState(0);\r\n const settingsStore = useSelector(state => state.settings);\r\n\r\n const clearSessionTimeout = () => {\r\n clearTimeout(timeout);\r\n };\r\n\r\n const clearSessionInterval = () => {\r\n clearInterval(countdownInterval);\r\n };\r\n\r\n const handleLogout = async (isTimedOut = false) => {\r\n try {\r\n setTimeoutModalOpen(false);\r\n clearSessionInterval();\r\n clearSessionTimeout();\r\n logOut();\r\n } catch (err) {\r\n console.error(err);\r\n }\r\n };\r\n\r\n const handleContinue = () => {\r\n setTimeoutModalOpen(false);\r\n clearSessionInterval();\r\n clearSessionTimeout();\r\n };\r\n\r\n const onActive = () => {\r\n if (!timeoutModalOpen) {\r\n clearSessionInterval();\r\n clearSessionTimeout();\r\n }\r\n };\r\n\r\n const onIdle = () => {\r\n const delay = 1000 * 1;\r\n if (isAuthenticated && !timeoutModalOpen) {\r\n timeout = setTimeout(() => {\r\n let countDown = 10;\r\n setTimeoutModalOpen(true);\r\n setTimeoutCountdown(countDown);\r\n countdownInterval = setInterval(() => {\r\n if (countDown > 0) {\r\n setTimeoutCountdown(--countDown);\r\n } else {\r\n handleLogout(true);\r\n }\r\n }, 1000);\r\n }, delay);\r\n }\r\n };\r\n\r\n useIdleTimer({\r\n onIdle,\r\n onActive,\r\n timeout: settingsStore.isLoading ? 900000 : settingsStore.settings.inactivityTime,\r\n debounce: 250,\r\n });\r\n\r\n return (\r\n <>\r\n handleLogout(false)}\r\n open={timeoutModalOpen}\r\n />\r\n \r\n );\r\n}\r\n\r\nexport default SessionTimeout;","import React from \"react\";\r\nimport { Button, Modal as BootstrapModal } from 'react-bootstrap';\r\nimport ReactDOM from 'react-dom';\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\nconst SessionTimeoutDialog = ({ open, countdown, onLogout, onContinue }) => {\r\n const { t } = useTranslation();\r\n return open ? ReactDOM.createPortal(\r\n \r\n \r\n \r\n {t(\"security.logout.logout\")}\r\n \r\n \r\n
\r\n {t(\"security.logout.inactivity_logout\", { countdown })}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
, document.body\r\n ) : null;\r\n};\r\n\r\nexport default SessionTimeoutDialog;","import React from 'react';\r\nimport { Modal as BootstrapModal } from 'react-bootstrap';\r\nimport ReactDOM from 'react-dom';\r\nimport Loader from \"react-loader-spinner\";\r\nimport \"react-loader-spinner/dist/loader/css/react-spinner-loader.css\";\r\n\r\nexport const Spinner = () => {\r\n return (
\r\n \r\n
);\r\n}\r\n\r\nexport const ModalSpinner = ({ isShowing, hide }) => {\r\n\r\n return isShowing && ReactDOM.createPortal(\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n , document.body\r\n );\r\n}","import React from 'react'\r\nimport { Component } from 'react';\r\nimport authService from './AuthorizeService';\r\nimport { AuthenticationResultStatus } from './AuthorizeService';\r\nimport { LoginActions, QueryParameterNames, ApplicationPaths } from './ApiAuthorizationConstants';\r\nimport { Spinner } from '../Utils/Loaders';\r\n\r\n// The main responsibility of this component is to handle the user's login process.\r\n// This is the starting point for the login process. Any component that needs to authenticate\r\n// a user can simply perform a redirect to this component with a returnUrl query parameter and\r\n// let the component perform the login and return back to the return url.\r\nexport class Login extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n message: undefined\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n const action = this.props.action;\r\n switch (action) {\r\n case LoginActions.Login:\r\n this.login(this.getReturnUrl());\r\n break;\r\n case LoginActions.LoginCallback:\r\n this.processLoginCallback();\r\n break;\r\n case LoginActions.LoginFailed:\r\n const params = new URLSearchParams(window.location.search);\r\n const error = params.get(QueryParameterNames.Message);\r\n this.setState({ message: error });\r\n break;\r\n case LoginActions.Profile:\r\n this.redirectToProfile();\r\n break;\r\n case LoginActions.Register:\r\n this.redirectToRegister();\r\n break;\r\n default:\r\n throw new Error(`Invalid action '${action}'`);\r\n }\r\n }\r\n\r\n render() {\r\n const action = this.props.action;\r\n const { message } = this.state;\r\n\r\n if (!!message) {\r\n return
{message}
\r\n } else {\r\n switch (action) {\r\n case LoginActions.Login:\r\n return (
);\r\n case LoginActions.LoginCallback:\r\n return (
);\r\n case LoginActions.Profile:\r\n case LoginActions.Register:\r\n return (
);\r\n default:\r\n throw new Error(`Invalid action '${action}'`);\r\n }\r\n }\r\n }\r\n\r\n async login(returnUrl) {\r\n const state = { returnUrl };\r\n const result = await authService.signIn(state);\r\n switch (result.status) {\r\n case AuthenticationResultStatus.Redirect:\r\n break;\r\n case AuthenticationResultStatus.Success:\r\n await this.navigateToReturnUrl(returnUrl);\r\n break;\r\n case AuthenticationResultStatus.Fail:\r\n this.setState({ message: result.message });\r\n break;\r\n default:\r\n throw new Error(`Invalid status result ${result.status}.`);\r\n }\r\n }\r\n\r\n async processLoginCallback() {\r\n const url = window.location.href;\r\n const result = await authService.completeSignIn(url);\r\n switch (result.status) {\r\n case AuthenticationResultStatus.Redirect:\r\n // There should not be any redirects as the only time completeSignIn finishes\r\n // is when we are doing a redirect sign in flow.\r\n throw new Error('Should not redirect.');\r\n case AuthenticationResultStatus.Success:\r\n await this.navigateToReturnUrl(this.getReturnUrl(result.state));\r\n break;\r\n case AuthenticationResultStatus.Fail:\r\n this.setState({ message: result.message });\r\n break;\r\n case AuthenticationResultStatus.RedirectToProfile:\r\n //console.log(result);\r\n await this.navigateToReturnUrl(`/admin/users/${result.user.sub}/completeProfile`);\r\n break;\r\n default:\r\n throw new Error(`Invalid authentication result status '${result.status}'.`);\r\n }\r\n }\r\n\r\n getReturnUrl(state) {\r\n const params = new URLSearchParams(window.location.search);\r\n const fromQuery = params.get(QueryParameterNames.ReturnUrl);\r\n if (fromQuery && !fromQuery.startsWith(`${window.location.origin}/`)) {\r\n // This is an extra check to prevent open redirects.\r\n throw new Error(\"Invalid return url. The return url needs to have the same origin as the current page.\")\r\n }\r\n return (state && state.returnUrl) || fromQuery || `${window.location.origin}/`;\r\n }\r\n\r\n redirectToRegister() {\r\n this.redirectToApiAuthorizationPath(`${ApplicationPaths.IdentityRegisterPath}?${QueryParameterNames.ReturnUrl}=${encodeURI(ApplicationPaths.Login)}`);\r\n }\r\n\r\n redirectToProfile() {\r\n this.redirectToApiAuthorizationPath(ApplicationPaths.IdentityManagePath);\r\n }\r\n\r\n redirectToApiAuthorizationPath(apiAuthorizationPath) {\r\n const redirectUrl = `${window.location.origin}${apiAuthorizationPath}`;\r\n // It's important that we do a replace here so that when the user hits the back arrow on the\r\n // browser he gets sent back to where it was on the app instead of to an endpoint on this\r\n // component.\r\n window.location.replace(redirectUrl);\r\n }\r\n\r\n navigateToReturnUrl(returnUrl) {\r\n // It's important that we do a replace here so that we remove the callback uri with the\r\n // fragment containing the tokens from the browser history.\r\n window.location.replace(returnUrl);\r\n }\r\n}\r\n","import React from 'react'\r\nimport { Component } from 'react';\r\nimport authService from './AuthorizeService';\r\nimport { AuthenticationResultStatus } from './AuthorizeService';\r\nimport { QueryParameterNames, LogoutActions, ApplicationPaths } from './ApiAuthorizationConstants';\r\nimport { Spinner } from '../Utils/Loaders';\r\n\r\n// The main responsibility of this component is to handle the user's logout process.\r\n// This is the starting point for the logout process, which is usually initiated when a\r\n// user clicks on the logout button on the LoginMenu component.\r\nexport class Logout extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n message: undefined,\r\n isReady: false,\r\n authenticated: false\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n const action = this.props.action;\r\n switch (action) {\r\n case LogoutActions.Logout:\r\n if (!!window.history.state.state.local) {\r\n this.logout(this.getReturnUrl());\r\n } else {\r\n // This prevents regular links to /authentication/logout from triggering a logout\r\n this.setState({ isReady: true, message: \"The logout was not initiated from within the page.\" });\r\n }\r\n break;\r\n case LogoutActions.LogoutCallback:\r\n this.processLogoutCallback();\r\n break;\r\n case LogoutActions.LoggedOut:\r\n this.setState({ isReady: true, message: \"Ha salido del sistema correctamente.\" });\r\n break;\r\n default:\r\n throw new Error(`Invalid action '${action}'`);\r\n }\r\n\r\n this.populateAuthenticationState();\r\n }\r\n\r\n render() {\r\n const { isReady, message } = this.state;\r\n if (!isReady) {\r\n return
\r\n }\r\n const action = this.props.action;\r\n\r\n if (!!message && action !== LogoutActions.LoggedOut) {\r\n return (
{message}
);\r\n } else {\r\n const action = this.props.action;\r\n switch (action) {\r\n case LogoutActions.Logout:\r\n return (
);\r\n case LogoutActions.LogoutCallback:\r\n return (
);\r\n case LogoutActions.LoggedOut:\r\n this.navigateToLogin(); break;\r\n default:\r\n throw new Error(`Invalid action '${action}'`);\r\n }\r\n }\r\n }\r\n\r\n async logout(returnUrl) {\r\n const state = { returnUrl };\r\n const isauthenticated = await authService.isAuthenticated();\r\n if (isauthenticated) {\r\n const result = await authService.signOut(state);\r\n switch (result.status) {\r\n case AuthenticationResultStatus.Redirect:\r\n break;\r\n case AuthenticationResultStatus.Success:\r\n await this.navigateToReturnUrl(returnUrl);\r\n break;\r\n case AuthenticationResultStatus.Fail:\r\n this.setState({ message: result.message });\r\n break;\r\n default:\r\n throw new Error(\"Invalid authentication result status.\");\r\n }\r\n } else {\r\n this.setState({ message: \"Ha salido del sistema correctamente.\" });\r\n }\r\n }\r\n\r\n async processLogoutCallback() {\r\n const url = window.location.href;\r\n const result = await authService.completeSignOut(url);\r\n switch (result.status) {\r\n case AuthenticationResultStatus.Redirect:\r\n // There should not be any redirects as the only time completeAuthentication finishes\r\n // is when we are doing a redirect sign in flow.\r\n throw new Error('Should not redirect.');\r\n case AuthenticationResultStatus.Success:\r\n await this.navigateToReturnUrl(this.getReturnUrl(result.state));\r\n break;\r\n case AuthenticationResultStatus.Fail:\r\n this.setState({ message: result.message });\r\n break;\r\n default:\r\n throw new Error(\"Invalid authentication result status.\");\r\n }\r\n }\r\n\r\n async populateAuthenticationState() {\r\n const authenticated = await authService.isAuthenticated();\r\n this.setState({ isReady: true, authenticated });\r\n }\r\n\r\n getReturnUrl(state) {\r\n const params = new URLSearchParams(window.location.search);\r\n const fromQuery = params.get(QueryParameterNames.ReturnUrl);\r\n if (fromQuery && !fromQuery.startsWith(`${window.location.origin}/`)) {\r\n // This is an extra check to prevent open redirects.\r\n throw new Error(\"Invalid return url. The return url needs to have the same origin as the current page.\")\r\n }\r\n return (state && state.returnUrl) ||\r\n fromQuery ||\r\n `${window.location.origin}${ApplicationPaths.LoggedOut}`;\r\n }\r\n\r\n navigateToReturnUrl(returnUrl) {\r\n return window.location.replace(returnUrl);\r\n }\r\n\r\n navigateToLogin() {\r\n return window.location.replace(`${window.location.origin}${ApplicationPaths.Login}`);\r\n }\r\n}\r\n","import React, { Component, Fragment } from 'react';\r\nimport { Route } from 'react-router-dom';\r\nimport { Login } from './Login'\r\nimport { Logout } from './Logout'\r\nimport { ApplicationPaths, LoginActions, LogoutActions } from './ApiAuthorizationConstants';\r\n\r\nexport default class ApiAuthorizationRoutes extends Component {\r\n\r\n render () {\r\n return(\r\n \r\n loginAction(LoginActions.Login)} />\r\n loginAction(LoginActions.LoginFailed)} />\r\n loginAction(LoginActions.LoginCallback)} />\r\n loginAction(LoginActions.Profile)} />\r\n loginAction(LoginActions.Register)} />\r\n logoutAction(LogoutActions.Logout)} />\r\n logoutAction(LogoutActions.LogoutCallback)} />\r\n logoutAction(LogoutActions.LoggedOut)} />\r\n );\r\n }\r\n}\r\n\r\nfunction loginAction(name){\r\n return ();\r\n}\r\n\r\nfunction logoutAction(name) {\r\n return ();\r\n}\r\n","import authService from '../components/api-authorization/AuthorizeService';\r\n\r\nconst receiveAuthentication = 'AUTHENTICATION_RECEIVE';\r\nconst clearAuthentication = 'AUTHENTICATION_RECEIVE';\r\n\r\nconst initialState = { isAuthenticated: false, user: {} };\r\n\r\nexport const authUserActions = {\r\n\r\n clearAuthentication: () => async (dispatch) => {\r\n dispatch({ type: clearAuthentication });\r\n },\r\n requestAuthentication: () => async (dispatch) => {\r\n try {\r\n const [isAuthenticated, user] = await Promise.all([authService.isAuthenticated(), authService.getUser()])\r\n dispatch({ type: receiveAuthentication, isAuthenticated, user });\r\n }\r\n catch (error) {\r\n console.log(error)\r\n }\r\n },\r\n};\r\n\r\nexport const reducer = (state, action) => {\r\n state = state || initialState;\r\n\r\n if (action.type === receiveAuthentication) {\r\n return {\r\n ...state,\r\n isAuthenticated: action.isAuthenticated,\r\n user: action.user,\r\n };\r\n }\r\n if (action.type === clearAuthentication) {\r\n return {\r\n ...state,\r\n isAuthenticated: false,\r\n user: null,\r\n };\r\n }\r\n\r\n return state;\r\n};\r\n","import React, { useEffect, useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Redirect, Route, useHistory } from 'react-router-dom';\r\nimport { authUserActions } from '../../store/AuthUser';\r\nimport { ApplicationPaths, QueryParameterNames } from './ApiAuthorizationConstants';\r\nimport authService from './AuthorizeService';\r\n\r\nexport const AuthorizeRoute = props => {\r\n const isAuthenticated = useSelector(state => state.authentication.isAuthenticated);\r\n const dispatch = useDispatch();\r\n\r\n const [ready, setReady] = useState(false);\r\n useEffect(() => {\r\n\r\n async function populateAuthenticationState() {\r\n await dispatch(authUserActions.requestAuthentication());\r\n setReady(true);\r\n }\r\n\r\n async function authenticationChanged() {\r\n setReady(false);\r\n await dispatch(authUserActions.clearAuthentication(false));\r\n populateAuthenticationState();\r\n }\r\n\r\n populateAuthenticationState();\r\n\r\n const _subscription = authService.subscribe(() => authenticationChanged());\r\n\r\n // Especifica cómo sanear este efecto:\r\n return function cleanup() {\r\n authService.unsubscribe(_subscription);\r\n };\r\n\r\n\r\n }, []);\r\n\r\n const redirectUrl = `${ApplicationPaths.Login}?${QueryParameterNames.ReturnUrl}=${encodeURI(window.location.href)}`\r\n if (!ready) {\r\n return
;\r\n } else {\r\n //const { ...rest } = props;\r\n return {\r\n if (!isAuthenticated) {\r\n return \r\n } else {\r\n return \r\n }\r\n }\r\n }\r\n />\r\n }\r\n}","import React from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nconst Breadcrumbs = (props) => {\r\n const { t } = useTranslation();\r\n let crumbs = props.crumbs;\r\n\r\n // If single Crumb. Add Home to init\r\n if (!crumbs) {\r\n return
;\r\n }\r\n\r\n if (crumbs.length === 1 && !crumbs.find(x => x.path === \"/admin/dashboard\")) {\r\n crumbs.unshift({ name: t(\"routes.dashboard\"), path: \"/admin/dashboard\" });\r\n }\r\n\r\n return (\r\n
\r\n
    \r\n {/* Link back to any previous steps of the breadcrumb. */}\r\n {crumbs.map(({ name, path }, key) =>\r\n key + 1 === crumbs.length ? (\r\n
  1. {t(name)}
  2. \r\n ) : (\r\n
  3. \r\n \r\n {t(name)}\r\n \r\n
  4. \r\n )\r\n )}\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Breadcrumbs;","import React from 'react';\r\nimport { Route } from 'react-router-dom';\r\nimport Breadcrumbs from '../Utils/Breadcrumbs';\r\n\r\nexport const CustomRoute = props => {\r\n\r\n const { routes, route, ...rest } = props;\r\n\r\n return {\r\n const crumbs = routes\r\n // Get all routes that contain the current one.\r\n .filter(({ path }) => props.match.path.includes(path))\r\n // Swap out any dynamic routes with their param values.\r\n .map(({ path, ...rest }) => ({\r\n path: Object.keys(props.match.params).length\r\n ? Object.keys(props.match.params).reduce(\r\n (item, param) =>\r\n item.replace(`:${param}`, props.match.params[param]),\r\n route.layout + path\r\n )\r\n : route.layout + path,\r\n ...rest\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}","import React, { Component } from \"react\";\r\nimport { Grid } from \"react-bootstrap\";\r\n\r\nclass Footer extends Component {\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Footer;\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"m147.09 216.121-12.09-16.46-12.09 16.46c-.935 1.271-23.156 31.604-45.744 68.94-31.738 52.461-47.166 90.058-47.166 114.939 0 61.153 44.587 110 105 110 60.429 0 105-48.863 105-110 0-24.881-15.428-62.478-47.166-114.939-22.588-37.336-44.81-67.668-45.744-68.94zm32.91 188.879h-30v30h-30v-30h-30v-30h30v-30h30v30h30z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m432.834 285.061c-22.588-37.336-44.81-67.668-45.744-68.94l-12.09-16.46-12.09 16.46c-.935 1.271-23.156 31.604-45.744 68.94-31.738 52.461-47.166 90.058-47.166 114.939 0 61.15 44.587 110 105 110 60.428 0 105-48.863 105-110 0-24.881-15.428-62.478-47.166-114.939zm-12.834 119.939h-90v-30h90z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m187.5 0h-67.5v165h30v-45.388c3.657 2.845 7.51 5.921 11.377 9.137 31.729 26.38 33.623 36.448 33.639 36.548 0 0-.016-.105-.016-.297h30c0-10.242-4.871-26.088-42.852-57.99-.806-.677-1.61-1.346-2.413-2.01h7.766c28.949 0 52.5-23.551 52.5-52.5-.001-28.949-23.552-52.5-52.501-52.5zm0 75h-37.5v-45h37.5c12.406 0 22.5 10.094 22.5 22.5s-10.094 22.5-22.5 22.5z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m300 90h60v75h30v-105h-90v-60h-30v165h30z\"\n}));\n\nconst SvgBloodFactor = (_ref) => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Capa_1\",\n enableBackground: \"new 0 0 510 510\",\n height: 512,\n viewBox: \"0 0 510 510\",\n width: 512,\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nconst ForwardRef = React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgBloodFactor, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/BloodFactor.618bff5d.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"m19 8c0-.551-.449-1-1-1s-1 .449-1 1v3h2z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m10 17h14.618l1.935 3.87c.097.195.447.113.447-.106v-16.764c0-.551-.449-1-1-1h-16c-.551 0-1 .449-1 1v12c0 .551.449 1 1 1zm5-9c0-1.654 1.346-3 3-3s3 1.346 3 3v7h-2v-2h-2v2h-2z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m47 12c0-.551-.449-1-1-1h-1v2h1c.551 0 1-.449 1-1z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m47 8c0-.551-.449-1-1-1h-1v2h1c.551 0 1-.449 1-1z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m37.448 20.869 1.934-3.869h14.618c.551 0 1-.449 1-1v-12c0-.551-.449-1-1-1h-16c-.551 0-1 .449-1 1v16.764c0 .219.35.301.448.105zm5.552-15.869h3c1.654 0 3 1.346 3 3 0 .768-.29 1.469-.766 2 .476.531.766 1.232.766 2 0 1.654-1.346 3-3 3h-3z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m8 29c-.551 0-1 .449-1 1v3h2v-3c0-.551-.449-1-1-1z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m52.085 29h-.171c-1.055 0-1.914.859-1.914 1.915v2.171c0 1.055.859 1.914 1.915 1.914h.171c1.055 0 1.914-.859 1.914-1.915v-2.171c0-1.055-.859-1.914-1.915-1.914z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m60 25h-16c-.551 0-1 .449-1 1v16.764c0 .219.35.301.448.105l1.934-3.869h14.618c.551 0 1-.449 1-1v-12c0-.551-.449-1-1-1zm-4 8.085c0 2.159-1.756 3.915-3.915 3.915h-.171c-2.158 0-3.914-1.756-3.914-3.915v-2.171c0-2.158 1.756-3.914 3.915-3.914h.171c2.158 0 3.914 1.756 3.914 3.915z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m43.236 45c-1.233 0-2.236-1.003-2.236-2.236v-5.26l-8.352-14.134c-.27-.456-1.026-.456-1.296 0l-8.352 14.134v5.26c0 1.233-1.003 2.236-2.236 2.236-.494 0-.949-.174-1.327-.456-.279 1.068-.437 2.164-.437 3.283v.173c0 7.168 5.832 13 13 13s13-5.832 13-13v-.173c0-1.119-.158-2.215-.437-3.284-.379.283-.833.457-1.327.457zm-5.236 5h-4v4h-4v-4h-4v-4h4v-4h4v4h4z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m21 42.764v-16.764c0-.551-.449-1-1-1h-16c-.551 0-1 .449-1 1v12c0 .551.449 1 1 1h14.618l1.935 3.87c.097.195.447.113.447-.106zm-10-5.764h-2v-2h-2v2h-2v-7c0-1.654 1.346-3 3-3s3 1.346 3 3zm8-3c0 1.654-1.346 3-3 3h-3v-10h3c1.654 0 3 1.346 3 3 0 .768-.29 1.469-.766 2 .476.531.766 1.232.766 2z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m16 29h-1v2h1c.551 0 1-.449 1-1s-.449-1-1-1z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m16 33h-1v2h1c.551 0 1-.449 1-1s-.449-1-1-1z\"\n}));\n\nconst SvgBloodType = (_ref) => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_5\",\n enableBackground: \"new 0 0 64 64\",\n height: 512,\n viewBox: \"0 0 64 64\",\n width: 512,\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nconst ForwardRef = React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgBloodType, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/BloodType.8c0aadfd.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".a{fill:#f2f2f2;}.b{fill:#3f3d56;}.c{fill:#247dbd;}.d{fill:#2f2e41;}.e{fill:#ffb8b8;}.f{fill:#ccc;}\"));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(111.903 120.389)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"a\",\n d: \"M658.481,650.924a9.446,9.446,0,0,1-1-3.732c-.228-2.28-.081-6.124,1.912-11.486a23.162,23.162,0,0,0-.918-18.434l.229-.133a20.366,20.366,0,0,1,1.919,5.438,23.72,23.72,0,0,1-.982,13.222c-3.77,10.14-.967,14.94-.938,14.987Z\",\n transform: \"translate(-650.553 -613.23)\"\n}), /*#__PURE__*/React.createElement(\"circle\", {\n className: \"a\",\n cx: 1.722,\n cy: 1.722,\n r: 1.722,\n transform: \"translate(4.729)\"\n}), /*#__PURE__*/React.createElement(\"circle\", {\n className: \"a\",\n cx: 1.722,\n cy: 1.722,\n r: 1.722,\n transform: \"translate(10.16 6.359)\"\n}), /*#__PURE__*/React.createElement(\"circle\", {\n className: \"a\",\n cx: 1.722,\n cy: 1.722,\n r: 1.722,\n transform: \"translate(6.451 10.598)\"\n}), /*#__PURE__*/React.createElement(\"circle\", {\n className: \"a\",\n cx: 1.722,\n cy: 1.722,\n r: 1.722,\n transform: \"translate(10.955 14.175)\"\n}), /*#__PURE__*/React.createElement(\"circle\", {\n className: \"a\",\n cx: 1.722,\n cy: 1.722,\n r: 1.722,\n transform: \"translate(5.126 19.74)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"a\",\n d: \"M664.515,722.664s-1.722-4.239,3.444-7.419Z\",\n transform: \"translate(-655.547 -684.908)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"a\",\n d: \"M638.823,730.38s-.784-4.508-6.85-4.47Z\",\n transform: \"translate(-631.972 -692.7)\"\n}));\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"b\",\n d: \"M307.189,239.69a6.963,6.963,0,1,1,6.963-6.963A6.963,6.963,0,0,1,307.189,239.69Zm0-13.685a6.723,6.723,0,1,0,6.723,6.723A6.723,6.723,0,0,0,307.189,226.005Z\",\n transform: \"translate(-277.692 -206.9)\"\n});\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"b\",\n d: \"M569.189,239.69a6.963,6.963,0,1,1,6.963-6.963A6.963,6.963,0,0,1,569.189,239.69Zm0-13.685a6.723,6.723,0,1,0,6.723,6.723A6.723,6.723,0,0,0,569.189,226.005Z\",\n transform: \"translate(-469.112 -206.9)\"\n});\n\nvar _ref6 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"b\",\n d: \"M342.146,217.469H220.855c-2.361,0-4.275,2.368-4.278,5.285v57.826c0,2.917,1.917,5.28,4.278,5.285H342.146c2.361,0,4.275-2.368,4.278-5.285V222.754c0-2.917-1.917-5.28-4.278-5.285Zm3.775,63.112c0,2.574-1.691,4.66-3.775,4.663H220.855c-2.084,0-3.771-2.089-3.775-4.663V222.754c0-2.574,1.691-4.66,3.775-4.663H342.146c2.084,0,3.771,2.089,3.775,4.663Z\",\n transform: \"translate(-216.577 -200.839)\"\n});\n\nvar _ref7 = /*#__PURE__*/React.createElement(\"rect\", {\n className: \"a\",\n width: 21.551,\n height: 15.086,\n transform: \"translate(8.89 39.888)\"\n});\n\nvar _ref8 = /*#__PURE__*/React.createElement(\"rect\", {\n className: \"a\",\n width: 21.551,\n height: 15.086,\n transform: \"translate(39.061 39.888)\"\n});\n\nvar _ref9 = /*#__PURE__*/React.createElement(\"rect\", {\n className: \"a\",\n width: 21.551,\n height: 15.086,\n transform: \"translate(69.233 39.888)\"\n});\n\nvar _ref10 = /*#__PURE__*/React.createElement(\"rect\", {\n className: \"a\",\n width: 21.551,\n height: 15.086,\n transform: \"translate(99.405 39.888)\"\n});\n\nvar _ref11 = /*#__PURE__*/React.createElement(\"rect\", {\n className: \"a\",\n width: 21.551,\n height: 15.086,\n transform: \"translate(8.89 61.978)\"\n});\n\nvar _ref12 = /*#__PURE__*/React.createElement(\"rect\", {\n className: \"a\",\n width: 21.551,\n height: 15.086,\n transform: \"translate(39.061 61.978)\"\n});\n\nvar _ref13 = /*#__PURE__*/React.createElement(\"rect\", {\n className: \"a\",\n width: 21.551,\n height: 15.086,\n transform: \"translate(69.233 61.978)\"\n});\n\nvar _ref14 = /*#__PURE__*/React.createElement(\"rect\", {\n className: \"a\",\n width: 21.551,\n height: 15.086,\n transform: \"translate(99.405 61.978)\"\n});\n\nvar _ref15 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"c\",\n d: \"M374.428,392.767l-5.087-7.026,1.386-1,3.894,5.378,14.9-15.31L390.749,376Z\",\n transform: \"translate(-328.188 -315.791)\"\n});\n\nvar _ref16 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"c\",\n d: \"M487.428,310.767l-5.087-7.026,1.386-1,3.894,5.378,14.9-15.31L503.749,294Z\",\n transform: \"translate(-410.747 -255.881)\"\n});\n\nvar _ref17 = /*#__PURE__*/React.createElement(\"rect\", {\n className: \"d\",\n width: 0.368,\n height: 25.859,\n transform: \"translate(29.22)\"\n});\n\nvar _ref18 = /*#__PURE__*/React.createElement(\"rect\", {\n className: \"d\",\n width: 0.368,\n height: 25.859,\n transform: \"translate(100.07)\"\n});\n\nvar _ref19 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"b\",\n d: \"M703.8,742.252H601.636a.37.37,0,1,1,0-.739H703.8a.37.37,0,1,1,0,.739Z\",\n transform: \"translate(-497.617 -583.71)\"\n});\n\nvar _ref20 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"c\",\n d: \"M263.428,310.767l-5.087-7.026,1.386-1,3.894,5.378,14.9-15.31L279.748,294Z\",\n transform: \"translate(-247.09 -255.881)\"\n});\n\nvar _ref21 = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(158.417 58.092)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"e\",\n d: \"M867.394,479.619a2.83,2.83,0,0,1,.437-.094l5.9-11.988-1.8-2.7,3.719-3.251,4.676,5.722-9.523,13.86a2.828,2.828,0,1,1-3.407-1.549Z\",\n transform: \"translate(-849.024 -437.286)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"f\",\n d: \"M880.192,447.961a1.217,1.217,0,0,1-.274.215l-6.036,3.5a1.212,1.212,0,0,1-1.657-.441c-.017-.029-.033-.059-.047-.089l-2.936-6.2a1.205,1.205,0,0,1,.414-1.521l3.741-2.545a1.212,1.212,0,0,1,1.541.147l5.229,5.248a1.212,1.212,0,0,1,.023,1.689Z\",\n transform: \"translate(-851.751 -422.003)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"e\",\n d: \"M919.842,689.374l-3.187.867-4.861-11.88,4.7-1.28Z\",\n transform: \"translate(-882.926 -594.729)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"d\",\n d: \"M912.448,720.31l6.146-1.672,1.053,3.869-10.015,2.725a4.01,4.01,0,0,1,2.817-4.922h0Z\",\n transform: \"translate(-881.242 -625.09)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"e\",\n d: \"M827.318,697.191h-3.3l-1.571-12.739h4.874Z\",\n transform: \"translate(-817.646 -600.114)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"d\",\n d: \"M808.644,728.236h6.369v4.011h-10.38a4.011,4.011,0,0,1,4.01-4.011Z\",\n transform: \"translate(-804.634 -632.103)\"\n}), /*#__PURE__*/React.createElement(\"circle\", {\n className: \"e\",\n cx: 6.616,\n cy: 6.616,\n r: 6.616,\n transform: \"translate(6.535 1.413)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"d\",\n d: \"M822.543,559.939H818.03a1.216,1.216,0,0,1-1.212-1.138c-1.345-21.379-.558-36.715,2.476-48.262a1.248,1.248,0,0,1,.049-.149l.243-.6a1.207,1.207,0,0,1,1.126-.762h9.281a1.21,1.21,0,0,1,.921.423l1.261,1.471c.024.028.048.058.07.089,5.684,7.927,10.778,23.425,16.678,44.255a1.208,1.208,0,0,1-.8,1.486l-4.849,1.552a1.219,1.219,0,0,1-1.462-.628l-12.587-26.106a.943.943,0,0,0-1.783.282l-3.7,27.043a1.217,1.217,0,0,1-1.2,1.048Z\",\n transform: \"translate(-813.073 -471.944)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"f\",\n d: \"M838.97,450h-.038l-11.274-.357a1.208,1.208,0,0,1-1.166-1.065c-1.428-11.568,2.49-14.667,4.242-15.463a.931.931,0,0,0,.542-.739l.152-1.212a1.207,1.207,0,0,1,.24-.589,13.853,13.853,0,0,1,8.486-5.059,1.21,1.21,0,0,1,1.405.977c0,.02.007.04.009.06l.227,1.741a.959.959,0,0,0,.192.455c5.727,7.487-.653,18.541-1.99,20.681h0A1.214,1.214,0,0,1,838.97,450Z\",\n transform: \"translate(-820.379 -410.92)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"c\",\n d: \"M833.628,510.793l-8.518,1.641-.324-1.68,6.52-1.257-7.578-19.976,1.6-.607Z\",\n transform: \"translate(-818.585 -457.253)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"d\",\n d: \"M846.5,380.156a26.337,26.337,0,0,0-5.254-5.5,15.616,15.616,0,0,0-5.579-2.951,8.653,8.653,0,0,0-6.186.552c-1.87.994-3.805,2.97-3.817,5.089,0,.681.169,1.6.84,1.484l.194.027,4.851-.98,2.066,7.17a1.385,1.385,0,0,0,2.246,1.1c.075-.031.719-1.477.719-1.477a.269.269,0,0,1,.464-.078l.383.478a.539.539,0,0,0,.628.162l7.911-3.3c.365-.152.772-.35.877-.731A1.314,1.314,0,0,0,846.5,380.156Z\",\n transform: \"translate(-819.997 -371.381)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"e\",\n d: \"M857.272,496.916a2.894,2.894,0,0,0,.379-4.421l2.094-25.288-6.235.858-.119,24.568a2.909,2.909,0,0,0,3.879,4.283Z\",\n transform: \"translate(-839.732 -441.392)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"f\",\n d: \"M858.985,451.45a1.208,1.208,0,0,1-.345-.05l-6.693-1.969a1.212,1.212,0,0,1-.821-1.505c.01-.032.02-.064.032-.1l2.477-6.4a1.206,1.206,0,0,1,1.388-.747l4.422.961a1.212,1.212,0,0,1,.954,1.218l-.206,7.406a1.212,1.212,0,0,1-1.209,1.179Z\",\n transform: \"translate(-838.565 -421.995)\"\n}));\n\nconst SvgDashboardAddAppointment = (_ref) => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 206.581,\n height: 158.542,\n viewBox: \"0 0 206.581 158.542\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9, _ref10, _ref11, _ref12, _ref13, _ref14, _ref15, _ref16, _ref17, _ref18, _ref19, _ref20, _ref21);\n};\n\nconst ForwardRef = React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgDashboardAddAppointment, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/Dashboard_AddAppointment.d685965f.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".a-patient{fill:#e6e6e6;}.b-patient{fill:#a0616a;}.c-patient{fill:#2f2e41;}.d-patient{fill:#575a89;}.e-patient{fill:#d1d1d1;}.f-patient{fill:#3f3b56;}.g-patient{fill:#247dbd;}.h-patient{fill:#fff;}\"));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"ellipse\", {\n className: \"a-patient\",\n cx: 19.974,\n cy: 4.601,\n rx: 19.974,\n ry: 4.601,\n transform: \"translate(167.773 150.507)\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"b-patient\",\n d: \"M708.42,137.969v6.019l3.14,7.851,4.972-8.9v-6.8Z\",\n transform: \"translate(-520.934 -100.51)\"\n});\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"b-patient\",\n d: \"M852.577,466.495l-.785,5.757s-1.832,6.281.785,6.281,2.617-6.8,2.617-6.8l.523-3.925Z\",\n transform: \"translate(-679.092 -382.323)\"\n});\n\nvar _ref6 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"b-patient\",\n d: \"M973.577,463.495l-.785,5.757s-1.832,6.281.785,6.281,2.617-6.8,2.617-6.8l.523-3.926Z\",\n transform: \"translate(-768.426 -380.108)\"\n});\n\nvar _ref7 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"c-patient\",\n d: \"M869.546,440.867l-1.232.34s-3.217,20.857-3.479,31.849-.785,38.731-.785,38.731h8.374l5.5-47.106,2.617,47.106h8.9s3.664-61.761,1.309-66.733S869.546,440.867,869.546,440.867Z\",\n transform: \"translate(-688.603 -363.369)\"\n});\n\nvar _ref8 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"c-patient\",\n d: \"M850.5,709.995l-2.355,3.664s-6.542,5.5-.785,5.234,8.113-2.879,8.113-2.879v.785l3.141-1.047-.524-5.757Z\",\n transform: \"translate(-674.533 -562.1)\"\n});\n\nvar _ref9 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"c-patient\",\n d: \"M935.163,709.995l2.355,3.664s6.542,5.5.785,5.234-8.113-2.879-8.113-2.879v.785l-3.14-1.047.523-5.757Z\",\n transform: \"translate(-735.116 -562.1)\"\n});\n\nvar _ref10 = /*#__PURE__*/React.createElement(\"circle\", {\n className: \"b-patient\",\n cx: 5.757,\n cy: 5.757,\n r: 5.757,\n transform: \"translate(185 27.383)\"\n});\n\nvar _ref11 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"d-patient\",\n d: \"M706.131,163.531l-2.879-5.895-1.308,3.016-.523,25.908,12.038-26.955-2.094-2.315Z\",\n transform: \"translate(-515.766 -116.128)\"\n});\n\nvar _ref12 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"e-patient\",\n d: \"M900.1,313.4l-9.542-6.236s-.664,5.975-6.683,5.451-3.206-5.062-3.206-5.062l-9.617,5.323,3.664,20.412-1.57,11.776s14.132-1.57,17.272.785a13.421,13.421,0,0,0,6.281,2.617l-.523-20.151Z\",\n transform: \"translate(-693.771 -264.69)\"\n});\n\nvar _ref13 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"e-patient\",\n d: \"M965.882,330.072l1.81-1.745,1.33.96s1.308,1.57,2.355,6.281.523,25.646.523,25.646l-5.757-.785.262-8.636-2.355-11.515Z\",\n transform: \"translate(-762.433 -280.314)\"\n});\n\nvar _ref14 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"e-patient\",\n d: \"M859.592,327.416l-.989-.205-.843.467s-2.355,3.14-2.355,6.019-2.355,27.478-2.355,27.478l5.234,2.355,3.664-18.581Z\",\n transform: \"translate(-680.481 -279.49)\"\n});\n\nvar _ref15 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"d-patient\",\n d: \"M975.4,451.011s-5.234-3.14-7.066-1.047,1.047,4.187,1.047,4.187S977.489,457.292,975.4,451.011Z\",\n transform: \"translate(-765.142 -369.588)\"\n});\n\nvar _ref16 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"d-patient\",\n d: \"M853.4,457.011s-5.234-3.141-7.066-1.047,1.047,4.187,1.047,4.187S855.489,463.292,853.4,457.011Z\",\n transform: \"translate(-675.069 -374.017)\"\n});\n\nvar _ref17 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"c-patient\",\n d: \"M908.4,244.411s1.506-2.879-1.807-3.14c0,0-3.012-1.832-5.421.262,0,0-2.108-.523-2.711,1.047a1.083,1.083,0,0,1,.6-1.308s-2.108-.523-2.108,2.094a8.185,8.185,0,0,0,0,4.972,9.741,9.741,0,0,0,1.2,2.617s-1.485-4.938,2.13-5.2,7.659-2.52,7.96.358.9,3.664.9,3.664S911.858,245.589,908.4,244.411Z\",\n transform: \"translate(-712.596 -215.492)\"\n});\n\nvar _ref18 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"f-patient\",\n d: \"M272.113,289.769h-.036c-1.338,0-2.693-.04-4.025-.119l.02-.337c1.327.078,2.674.118,4.006.118h.036Zm4.063-.123-.02-.337c1.341-.08,2.7-.2,4.027-.363l.041.335c-1.338.162-2.7.284-4.046.365ZM264,289.289c-1.34-.16-2.692-.363-4.019-.6l.06-.332c1.32.239,2.665.441,4,.6Zm20.237-.617-.061-.332c1.32-.241,2.651-.526,3.954-.846l.081.327c-1.308.322-2.646.608-3.974.851Zm-28.23-.834c-1.31-.321-2.628-.686-3.916-1.086l.1-.322c1.282.4,2.593.761,3.9,1.081Zm36.118-1.108-.1-.322c1.28-.4,2.565-.843,3.821-1.32l.12.316c-1.262.48-2.554.927-3.84,1.328Zm-43.884-1.3c-1.262-.478-2.527-1-3.761-1.557l.138-.308c1.227.552,2.486,1.073,3.742,1.549Zm51.473-1.579-.139-.308c1.222-.55,2.443-1.147,3.629-1.771l.157.3c-1.193.628-2.42,1.227-3.648,1.781Zm-58.892-1.761c-1.2-.628-2.388-1.3-3.543-2l.175-.288c1.149.7,2.334,1.365,3.525,1.99ZM306.9,280.07l-.175-.288c1.147-.7,2.289-1.434,3.391-2.2l.192.277C309.2,278.629,308.052,279.372,306.9,280.07Zm-73.03-2.193c-1.111-.768-2.213-1.579-3.275-2.411l.209-.266c1.056.828,2.152,1.635,3.258,2.4Zm79.709-2.425-.209-.266c1.059-.831,2.1-1.7,3.1-2.591l.224.252c-1.006.892-2.056,1.768-3.12,2.6Zm-86.107-2.591c-1.01-.9-2.006-1.832-2.96-2.786l.238-.238c.949.948,1.94,1.881,2.945,2.772Zm92.185-2.8-.238-.238c.951-.95,1.884-1.941,2.774-2.944l.252.224c-.894,1.008-1.832,2-2.787,2.959Zm-97.933-2.944c-.9-1.01-1.772-2.059-2.6-3.119l.265-.209c.828,1.054,1.7,2.1,2.591,3.1Zm103.324-3.134-.266-.209c.831-1.059,1.638-2.155,2.4-3.257l.277.192C326.7,261.818,325.884,262.92,325.049,263.984Zm-108.341-3.251c-.768-1.11-1.512-2.256-2.21-3.407l.288-.175c.695,1.146,1.435,2.286,2.2,3.39ZM329.674,257.3l-.288-.175c.7-1.15,1.367-2.335,1.992-3.524l.3.157C331.047,254.95,330.375,256.142,329.674,257.3ZM212.5,253.792c-.628-1.193-1.228-2.42-1.782-3.647l.307-.139c.552,1.221,1.148,2.442,1.773,3.628ZM333.46,250.1l-.308-.138c.554-1.23,1.076-2.488,1.551-3.742l.316.12c-.478,1.26-1,2.525-1.559,3.76Zm-124.3-3.7c-.48-1.261-.927-2.553-1.329-3.84l.322-.1c.4,1.28.845,2.566,1.322,3.821Zm127.188-3.91-.322-.1c.4-1.282.763-2.593,1.083-3.9l.327.08c-.322,1.31-.688,2.627-1.088,3.915Zm-129.61-3.845c-.323-1.309-.61-2.645-.853-3.973l.332-.061c.242,1.322.528,2.651.849,3.953ZM338.284,234.6l-.332-.061c.24-1.32.443-2.665.6-4l.335.04c-.16,1.339-.364,2.692-.6,4.018Zm-133.011-3.946c-.162-1.338-.286-2.7-.366-4.047l.337-.02c.081,1.341.2,2.7.366,4.026Zm133.98-4.12-.337-.02c.079-1.338.12-2.7.12-4.042v-.143h.337v.143C339.374,223.823,339.333,225.189,339.253,226.534Zm-134.135-3.99h-.337v-.071c0-1.327.039-2.669.116-3.99l.337.02c-.077,1.314-.116,2.65-.116,3.97Zm133.789-4.256c-.083-1.342-.207-2.7-.369-4.026l.335-.041c.163,1.336.288,2.7.372,4.046Zm-133.317-3.813-.335-.04c.16-1.34.362-2.692.6-4.019l.332.06C205.951,211.8,205.749,213.142,205.591,214.475Zm132.335-4.21c-.244-1.323-.531-2.653-.853-3.952l.327-.081c.324,1.306.612,2.643.858,3.972Zm-130.9-3.745-.328-.08c.32-1.309.685-2.627,1.084-3.917l.322.1c-.4,1.282-.76,2.594-1.079,3.9Zm128.951-4.1c-.4-1.281-.848-2.566-1.326-3.821l.314-.12c.481,1.26.93,2.552,1.335,3.839Zm-126.555-3.627-.316-.119c.478-1.262,1-2.528,1.555-3.762l.308.138C210.422,196.277,209.9,197.537,209.426,198.793ZM333.1,194.874c-.553-1.221-1.151-2.441-1.777-3.626l.3-.157c.63,1.192,1.23,2.418,1.786,3.645Zm-120.358-3.464-.3-.157c.626-1.194,1.3-2.386,2-3.544l.288.175C214.036,189.036,213.367,190.222,212.744,191.409Zm116.587-3.676c-.7-1.144-1.437-2.284-2.2-3.388l.278-.192c.769,1.109,1.514,2.255,2.213,3.4Zm-112.4-3.249-.278-.192c.766-1.109,1.577-2.211,2.41-3.276l.266.208C218.5,182.285,217.691,183.381,216.929,184.485Zm107.8-3.389c-.831-1.055-1.7-2.1-2.595-3.1l.252-.224c.9,1.007,1.772,2.055,2.607,3.116Zm-102.809-2.979-.253-.224c.894-1.01,1.832-2.007,2.784-2.961l.239.238C223.737,176.12,222.805,177.112,221.916,178.117Zm97.439-3.062c-.953-.949-1.945-1.881-2.948-2.769l.223-.253c1.009.892,2.006,1.828,2.963,2.782Zm-91.728-2.66-.224-.252c1.007-.894,2.056-1.771,3.117-2.606l.209.265C229.674,170.632,228.629,171.5,227.627,172.395Zm85.67-2.7c-1.057-.827-2.154-1.633-3.261-2.4l.192-.278c1.112.767,2.215,1.577,3.277,2.408Zm-79.317-2.3-.192-.277c1.109-.768,2.254-1.512,3.406-2.212l.175.288c-1.146.7-2.286,1.436-3.389,2.2Zm72.656-2.291c-1.152-.7-2.338-1.363-3.527-1.986l.157-.3c1.195.626,2.387,1.3,3.545,2Zm-65.752-1.9-.157-.3c1.192-.628,2.419-1.23,3.646-1.784l.139.307c-1.221.552-2.441,1.149-3.627,1.775Zm58.585-1.854c-1.228-.55-2.486-1.071-3.744-1.544l.119-.316c1.263.477,2.529,1,3.762,1.553Zm-51.23-1.472-.12-.314c1.262-.481,2.554-.929,3.84-1.331l.1.322c-1.281.4-2.566.845-3.822,1.323Zm43.654-1.387c-1.282-.4-2.594-.759-3.9-1.077l.08-.328c1.309.319,2.628.684,3.917,1.082Zm-35.94-1.026-.081-.327c1.31-.324,2.647-.612,3.973-.855l.061.332c-1.319.242-2.649.528-3.952.851Zm28.087-.89c-1.318-.238-2.664-.439-4-.6l.039-.335c1.342.159,2.694.361,4.019.6Zm-20.137-.571-.041-.335c1.337-.163,2.7-.288,4.047-.37l.02.337c-1.341.082-2.7.205-4.026.366Zm12.11-.38c-1.3-.075-2.626-.114-3.935-.114h-.107v-.337h.107c1.315,0,2.645.038,3.954.114Z\",\n transform: \"translate(-201.902 -152.559)\"\n});\n\nvar _ref19 = /*#__PURE__*/React.createElement(\"rect\", {\n className: \"g-patient\",\n width: 39.991,\n height: 29.993,\n transform: \"translate(98.083 112.597)\"\n});\n\nvar _ref20 = /*#__PURE__*/React.createElement(\"rect\", {\n className: \"h-patient\",\n width: 29.993,\n height: 2,\n transform: \"translate(103.082 120.595)\"\n});\n\nvar _ref21 = /*#__PURE__*/React.createElement(\"rect\", {\n className: \"h-patient\",\n width: 29.993,\n height: 2,\n transform: \"translate(103.082 126.594)\"\n});\n\nvar _ref22 = /*#__PURE__*/React.createElement(\"rect\", {\n className: \"h-patient\",\n width: 29.993,\n height: 2,\n transform: \"translate(103.082 132.593)\"\n});\n\nvar _ref23 = /*#__PURE__*/React.createElement(\"rect\", {\n className: \"a-patient\",\n width: 27.933,\n height: 20.95,\n transform: \"translate(2.094)\"\n});\n\nvar _ref24 = /*#__PURE__*/React.createElement(\"rect\", {\n className: \"h-patient\",\n width: 20.95,\n height: 1.397,\n transform: \"translate(5.585 5.587)\"\n});\n\nvar _ref25 = /*#__PURE__*/React.createElement(\"rect\", {\n className: \"h-patient\",\n width: 20.95,\n height: 1.397,\n transform: \"translate(5.585 9.777)\"\n});\n\nvar _ref26 = /*#__PURE__*/React.createElement(\"rect\", {\n className: \"h-patient\",\n width: 20.95,\n height: 1.397,\n transform: \"translate(5.585 13.967)\"\n});\n\nvar _ref27 = /*#__PURE__*/React.createElement(\"rect\", {\n className: \"g-patient\",\n width: 27.933,\n height: 20.95,\n transform: \"translate(13.965 10.824)\"\n});\n\nvar _ref28 = /*#__PURE__*/React.createElement(\"rect\", {\n className: \"h-patient\",\n width: 20.95,\n height: 1.397,\n transform: \"translate(17.457 16.411)\"\n});\n\nvar _ref29 = /*#__PURE__*/React.createElement(\"rect\", {\n className: \"h-patient\",\n width: 20.95,\n height: 1.397,\n transform: \"translate(17.457 20.601)\"\n});\n\nvar _ref30 = /*#__PURE__*/React.createElement(\"rect\", {\n className: \"h-patient\",\n width: 20.95,\n height: 1.397,\n transform: \"translate(17.457 24.791)\"\n});\n\nvar _ref31 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"a-patient\",\n d: \"M1106.154-3187.949H1030V-3245h76.154Zm-75.369-56.266v55.48h74.584v-55.48Z\",\n transform: \"translate(-997.811 3286.349)\"\n});\n\nvar _ref32 = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(55.742 55.48)\"\n}, /*#__PURE__*/React.createElement(\"circle\", {\n className: \"g-patient\",\n cx: 14.5,\n cy: 14.5,\n r: 14.5,\n transform: \"translate(0)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"h-patient\",\n d: \"M431.416,382.3h-4.93v-4.93a1.16,1.16,0,0,0-1.16-1.16h0a1.16,1.16,0,0,0-1.16,1.16v4.93h-4.93a1.16,1.16,0,0,0-1.16,1.16h0a1.16,1.16,0,0,0,1.16,1.16h4.93v4.93a1.16,1.16,0,0,0,1.16,1.16h0a1.16,1.16,0,0,0,1.16-1.16v-4.93h4.93a1.16,1.16,0,0,0,1.16-1.16h0A1.16,1.16,0,0,0,431.416,382.3Z\",\n transform: \"translate(-410.894 -369.018)\"\n}));\n\nvar _ref33 = /*#__PURE__*/React.createElement(\"rect\", {\n className: \"a-patient\",\n width: 27.933,\n height: 20.95,\n transform: \"translate(0 107.558)\"\n});\n\nvar _ref34 = /*#__PURE__*/React.createElement(\"rect\", {\n className: \"h-patient\",\n width: 20.95,\n height: 1.397,\n transform: \"translate(3.492 113.145)\"\n});\n\nvar _ref35 = /*#__PURE__*/React.createElement(\"rect\", {\n className: \"h-patient\",\n width: 20.95,\n height: 1.397,\n transform: \"translate(3.492 117.334)\"\n});\n\nvar _ref36 = /*#__PURE__*/React.createElement(\"rect\", {\n className: \"h-patient\",\n width: 20.95,\n height: 1.397,\n transform: \"translate(3.492 121.525)\"\n});\n\nconst SvgDashboardAddPatient = (_ref) => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 210.598,\n height: 159.71,\n viewBox: \"0 0 210.598 159.71\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9, _ref10, _ref11, _ref12, _ref13, _ref14, _ref15, _ref16, _ref17, _ref18, _ref19, _ref20, _ref21, _ref22, _ref23, _ref24, _ref25, _ref26, _ref27, _ref28, _ref29, _ref30, _ref31, _ref32, _ref33, _ref34, _ref35, _ref36);\n};\n\nconst ForwardRef = React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgDashboardAddPatient, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/Dashboard_AddPatient.1c99f099.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null);\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23.625,0H3.375A3.376,3.376,0,0,0,0,3.375v29.25A3.376,3.376,0,0,0,3.375,36h20.25A3.376,3.376,0,0,0,27,32.625V3.375A3.376,3.376,0,0,0,23.625,0Zm-13.5,2.25h6.75a1.125,1.125,0,0,1,0,2.25h-6.75a1.125,1.125,0,0,1,0-2.25Zm3.375,9A4.5,4.5,0,1,1,9,15.75,4.5,4.5,0,0,1,13.5,11.25ZM21.375,27.9A1.474,1.474,0,0,1,19.8,29.25H7.2A1.474,1.474,0,0,1,5.625,27.9V26.55c0-2.236,2.116-4.05,4.725-4.05H10.7a7.242,7.242,0,0,0,5.6,0h.352c2.609,0,4.725,1.814,4.725,4.05Z\"\n});\n\nconst SvgIconAFamiliares = (_ref) => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 27,\n height: 36,\n viewBox: \"0 0 27 36\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nconst ForwardRef = React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgIconAFamiliares, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/Icon_AFamiliares.dff5f2f7.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".a{fill:#20ad9b;}\"));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"current\",\n stroke: \"current\",\n d: \"M1.5,31.5h33L18,3Zm18-4.5h-3V24h3Zm0-6h-3V15h3Z\",\n transform: \"translate(-1.5 -3)\"\n});\n\nconst SvgIconAdverseEvent = (_ref) => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 33,\n height: 28.5,\n viewBox: \"0 0 33 28.5\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nconst ForwardRef = React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgIconAdverseEvent, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/Icon_AdverseEvent.c3ea667f.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"current\",\n stroke: \"current\",\n d: \"M46.058,37.954V32.646A4.053,4.053,0,0,0,42.01,28.6h-.54v4.948a1.349,1.349,0,1,1-2.7,0v-7.2a1.349,1.349,0,1,0-2.7,0V28.6h-9v4.948a1.349,1.349,0,1,1-2.7,0v-7.2a1.349,1.349,0,1,0-2.7,0V28.6h-9v4.948a1.349,1.349,0,1,1-2.7,0v-7.2a1.349,1.349,0,1,0-2.7,0V28.6H4.048A4.053,4.053,0,0,0,0,32.646v5.307Z\",\n transform: \"translate(0 -25)\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"current\",\n stroke: \"current\",\n d: \"M0,199v21.86a4.053,4.053,0,0,0,4.048,4.048H42.01a4.053,4.053,0,0,0,4.048-4.048V199Zm12.954,18.711H10.075a1.349,1.349,0,0,1,0-2.7h2.879a1.349,1.349,0,0,1,0,2.7Zm0-5.757H10.075a1.349,1.349,0,0,1,0-2.7h2.879a1.349,1.349,0,0,1,0,2.7Zm0-5.757H10.075a1.349,1.349,0,0,1,0-2.7h2.879a1.349,1.349,0,0,1,0,2.7Zm11.515,11.514H21.59a1.349,1.349,0,1,1,0-2.7h2.879a1.349,1.349,0,1,1,0,2.7Zm0-5.757H21.59a1.349,1.349,0,1,1,0-2.7h2.879a1.349,1.349,0,1,1,0,2.7Zm0-5.757H21.59a1.349,1.349,0,0,1,0-2.7h2.879a1.349,1.349,0,0,1,0,2.7Zm11.515,11.514H33.1a1.349,1.349,0,0,1,0-2.7h2.879a1.349,1.349,0,1,1,0,2.7Zm0-5.757H33.1a1.349,1.349,0,0,1,0-2.7h2.879a1.349,1.349,0,1,1,0,2.7Zm0-5.757H33.1a1.349,1.349,0,0,1,0-2.7h2.879a1.349,1.349,0,0,1,0,2.7Z\",\n transform: \"translate(0 -183.347)\"\n});\n\nconst SvgIconAgenda = (_ref) => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 46.058,\n height: 41.56,\n viewBox: \"0 0 46.058 41.56\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nconst ForwardRef = React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgIconAgenda, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/Icon_Agenda.2ec7f24c.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".a{fill:#20ad9b;}\"));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"current\",\n stroke: \"current\",\n d: \"M24.75,9V26.25a6,6,0,0,1-12,0V7.5a3.75,3.75,0,0,1,7.5,0V23.25a1.5,1.5,0,0,1-3,0V9H15V23.25a3.75,3.75,0,0,0,7.5,0V7.5a6,6,0,0,0-12,0V26.25a8.25,8.25,0,0,0,16.5,0V9Z\",\n transform: \"translate(-10.5 -1.5)\"\n});\n\nconst SvgIconAttach = (_ref) => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16.5,\n height: 33,\n viewBox: \"0 0 16.5 33\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nconst ForwardRef = React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgIconAttach, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/Icon_Attach.bf31b8e3.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"current\",\n d: \"m256.001.159c-168.933 0-290.853 160.565-247.007 322.714 1.768 6.538 7.699 11.078 14.471 11.078h465.071c6.772 0 12.703-4.54 14.471-11.078 43.835-162.106-78.04-322.714-247.006-322.714zm-142.624 270.832h-28.27c-8.279 0-14.991-6.712-14.991-14.991s6.712-14.991 14.991-14.991h28.27c8.279 0 14.991 6.712 14.991 14.991s-6.712 14.991-14.991 14.991zm32.09-78.808c-4.14 7.171-13.308 9.627-20.477 5.487l-24.482-14.135c-7.17-4.139-9.626-13.308-5.487-20.477 4.14-7.171 13.307-9.629 20.478-5.487l24.482 14.135c7.169 4.139 9.625 13.308 5.486 20.477zm46.717-46.717c-7.168 4.14-16.337 1.685-20.478-5.487l-14.134-24.483c-4.14-7.17-1.683-16.338 5.487-20.477 7.171-4.142 16.337-1.684 20.478 5.487l14.134 24.483c4.14 7.17 1.683 16.338-5.487 20.477zm48.826-60.36c0-8.279 6.712-14.991 14.991-14.991s14.991 6.712 14.991 14.991v28.27c0 8.279-6.712 14.991-14.991 14.991s-14.991-6.712-14.991-14.991zm72.562 134.523-46.971 46.971c-5.855 5.855-15.346 5.854-21.2 0s-5.854-15.346 0-21.2l46.971-46.971c5.854-5.854 15.346-5.854 21.2 0s5.854 15.346 0 21.2zm40.858-104.132-14.134 24.483c-4.138 7.166-13.303 9.629-20.478 5.487-7.17-4.139-9.626-13.307-5.487-20.478l14.134-24.483c4.139-7.169 13.306-9.628 20.478-5.487 7.17 4.139 9.626 13.307 5.487 20.478zm12.105 76.686c-4.14-7.169-1.683-16.338 5.487-20.477l24.482-14.135c7.17-4.141 16.338-1.683 20.477 5.487 4.14 7.169 1.683 16.338-5.487 20.477l-24.482 14.135c-7.163 4.138-16.335 1.688-20.477-5.487zm60.36 78.808h-28.27c-8.279 0-14.991-6.712-14.991-14.991s6.712-14.991 14.991-14.991h28.27c8.279 0 14.991 6.712 14.991 14.991s-6.712 14.991-14.991 14.991z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m348.034 374.79c-3.695-18.129-29.346-19.032-34.394-1.414l-21.878 76.747c-.116-.394-22.724-77.04-22.855-77.429-5.765-17.167-30.776-15.582-34.217 2.293-.011.057-.021.114-.032.172l-21.312 118.083c-1.471 8.147 3.942 15.944 12.09 17.415 8.151 1.471 15.944-3.943 17.414-12.09l12.125-67.18c.116.394 20.051 67.98 20.182 68.37 5.534 16.479 29.086 15.864 33.829-.689l19.322-67.782 12.887 67.433c1.554 8.133 9.406 13.466 17.538 11.911 8.132-1.554 13.464-9.406 11.91-17.538-.033-.176-22.574-118.128-22.609-118.302z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m418.929 360.602c-8.279 0-14.991 6.712-14.991 14.991v121.257c0 8.279 6.712 14.991 14.991 14.991s14.991-6.712 14.991-14.991v-121.257c0-8.279-6.712-14.991-14.991-14.991z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m164.202 426.915c4.411-6.739 6.986-14.783 6.986-23.421 0-23.651-19.241-42.892-42.892-42.892h-35.223c-8.279 0-14.991 6.712-14.991 14.991v55.835.091 65.331c0 3.988 1.588 7.811 4.414 10.623 2.81 2.798 6.613 4.367 10.576 4.367h.067c.324-.002 32.502-.144 41.307-.144 26.263 0 47.63-21.367 47.63-47.63 0-15.011-6.988-28.415-17.874-37.151zm-56.138-36.332h20.232c7.119 0 12.911 5.792 12.911 12.911s-5.792 12.911-12.911 12.911c-6.126 0-6.928.032-20.232.032zm26.383 91.132c-4.835 0-16.614.043-26.383.081v-35.349c9.258-.036 4.905-.029 26.383-.029 9.731 0 17.648 7.917 17.648 17.648 0 9.732-7.917 17.649-17.648 17.649z\"\n}));\n\nconst SvgIconBmi = (_ref) => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Capa_1\",\n enableBackground: \"new 0 0 512 512\",\n height: 512,\n viewBox: \"0 0 512 512\",\n width: 512,\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nconst ForwardRef = React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgIconBmi, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/Icon_BMI.a65de15a.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"current\",\n d: \"M277.333,234.667c0-7.792-4.409-14.329-10.667-18.053v-35.28c0-5.896-4.771-10.667-10.667-10.667 s-10.667,4.771-10.667,10.667v35.28c-6.258,3.724-10.667,10.262-10.667,18.053c0,11.76,9.573,21.333,21.333,21.333 S277.333,246.427,277.333,234.667z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"current\",\n d: \"M437.333,0c-41.865,0-74.667,37.479-74.667,85.333c0,34.341,25.902,95.176,64,105.121v204.212c0,52.938-43.063,96-96,96 c-50.943,0-92.335-39.995-95.411-90.176c33.447-4.255,63.411-12.215,63.411-27.158v-41.042c37.604-16.507,64-53.997,64-97.625 c0-43.628-26.396-81.119-64-97.625V74.667c0-30.458-124.396-32-149.333-32S0,44.208,0,74.667v298.667 c0,30.458,124.396,32,149.333,32c10.102,0,36.546-0.289,64.408-2.615C217.91,463.66,268.686,512,330.667,512 C395.365,512,448,459.365,448,394.667V190.454c38.098-9.945,64-70.78,64-105.121C512,37.479,479.198,0,437.333,0z M32.781,74.667 C54.427,69.375,98.667,64,149.333,64C200,64,244.24,69.375,265.885,74.667C244.24,79.958,200,85.333,149.333,85.333 C98.667,85.333,54.427,79.958,32.781,74.667z M170.667,234.667c0-47.052,38.281-85.333,85.333-85.333 s85.333,38.281,85.333,85.333C341.333,281.719,303.052,320,256,320S170.667,281.719,170.667,234.667z\"\n}));\n\nconst SvgIconBloodPressure = (_ref) => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Capa_1\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 512 512\",\n style: {\n enableBackground: \"new 0 0 512 512\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nconst ForwardRef = React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgIconBloodPressure, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/Icon_BloodPressure.20dc658a.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".a{fill:#fff;}.b{fill:#247dbd;}.c{filter:url(#a);}\"), /*#__PURE__*/React.createElement(\"filter\", {\n id: \"a\",\n x: 0,\n y: 0,\n width: 50,\n height: 50,\n filterUnits: \"userSpaceOnUse\"\n}, /*#__PURE__*/React.createElement(\"feOffset\", {\n input: \"SourceAlpha\"\n}), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 3,\n result: \"b\"\n}), /*#__PURE__*/React.createElement(\"feFlood\", {\n floodOpacity: 0.161\n}), /*#__PURE__*/React.createElement(\"feComposite\", {\n operator: \"in\",\n in2: \"b\"\n}), /*#__PURE__*/React.createElement(\"feComposite\", {\n in: \"SourceGraphic\"\n})));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(9 9)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n className: \"c\",\n transform: \"matrix(1, 0, 0, 1, -9, -9)\"\n}, /*#__PURE__*/React.createElement(\"circle\", {\n className: \"a\",\n cx: 16,\n cy: 16,\n r: 16,\n transform: \"translate(9 9)\"\n})), /*#__PURE__*/React.createElement(\"path\", {\n className: \"b\",\n d: \"M5,0l5,9H0Z\",\n transform: \"translate(21 22) rotate(180)\"\n}));\n\nconst SvgIconDropdown = (_ref) => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 50,\n height: 50,\n viewBox: \"0 0 50 50\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nconst ForwardRef = React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgIconDropdown, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/Icon_Dropdown.8fa0e6c6.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(9.055)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0 0)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"current\",\n stroke: \"current\",\n d: \"M127.914,2.047a6.2,6.2,0,0,0-8.769,0l-6.07,6.07,8.777,8.777,6.062-6.078A6.206,6.206,0,0,0,127.914,2.047Zm-6.222,3.588-2.763,2.723-.008.008a.8.8,0,1,1-1.113-1.145L120.579,4.5l.008-.008a.8.8,0,1,1,1.105,1.145Z\",\n transform: \"translate(-113.075 -0.23)\"\n})));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0 9.016)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"current\",\n stroke: \"current\",\n d: \"M7.918,112.818l-6.11,6.118a6.218,6.218,0,0,0,8.817,8.769l6.078-6.1Z\",\n transform: \"translate(0 -112.818)\"\n})));\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(21.116 21.077)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"current\",\n stroke: \"current\",\n d: \"M272.316,263.418l-8.641,8.649a6.165,6.165,0,0,0,8.641-8.649Z\",\n transform: \"translate(-263.675 -263.418)\"\n}));\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(18.705 18.674)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"current\",\n stroke: \"current\",\n d: \"M239.741,233.418a6.169,6.169,0,0,0-4.893,9.922l8.641-8.641A6.1,6.1,0,0,0,239.741,233.418Z\",\n transform: \"translate(-233.575 -233.418)\"\n}));\n\nconst SvgIconDrugs = (_ref) => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 31.037,\n height: 31,\n viewBox: \"0 0 31.037 31\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4, _ref5);\n};\n\nconst ForwardRef = React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgIconDrugs, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/Icon_Drugs.f39a249d.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".a{fill:#247dbd;}\"));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"current\",\n stroke: \"current\",\n d: \"M30.255,12.255,29.1,10.245a1.093,1.093,0,0,0-1.491-.4l-6.933,4.008a.282.282,0,0,1-.422-.246V5.59A1.086,1.086,0,0,0,19.16,4.5H16.84a1.086,1.086,0,0,0-1.09,1.09v8.023a.282.282,0,0,1-.422.246L8.4,9.851a1.093,1.093,0,0,0-1.491.4l-1.16,2.011a1.083,1.083,0,0,0,.4,1.484l6.94,4.015a.278.278,0,0,1,0,.485l-6.94,4.015a1.091,1.091,0,0,0-.4,1.484L6.9,25.755a1.093,1.093,0,0,0,1.491.4l6.933-4.008a.282.282,0,0,1,.422.246v8.023a1.086,1.086,0,0,0,1.09,1.09h2.32a1.086,1.086,0,0,0,1.09-1.09v-8.03a.284.284,0,0,1,.422-.246L27.6,26.149a1.093,1.093,0,0,0,1.491-.4l1.16-2.011a1.083,1.083,0,0,0-.4-1.484l-6.94-4.015a.278.278,0,0,1,0-.485l6.94-4.015A1.089,1.089,0,0,0,30.255,12.255Z\",\n transform: \"translate(-5.598 -4.5)\"\n});\n\nconst SvgIconEspecialidad = (_ref) => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24.803,\n height: 27.007,\n viewBox: \"0 0 24.803 27.007\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nconst ForwardRef = React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgIconEspecialidad, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/Icon_Especialidad.cadbcd82.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".a{fill:#20ad9b;}\"));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0 0)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M308.084,68.823c-2.1-1.574-3.911-2.934-3.911-6.736a1.086,1.086,0,1,0-2.173,0c0,4.889,2.54,6.793,4.781,8.474,2.1,1.574,3.911,2.934,3.911,6.736a1.086,1.086,0,0,0,2.173,0C312.864,72.407,310.324,70.5,308.084,68.823Z\",\n transform: \"translate(-280.127 -61)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M424.173,62.086a1.086,1.086,0,0,0-2.173,0c0,4.675,1.251,6.551,2.355,8.208,1.024,1.535,1.99,2.986,1.99,7a1.086,1.086,0,1,0,2.173,0c0-4.675-1.251-6.551-2.355-8.208C425.139,67.554,424.173,66.1,424.173,62.086Z\",\n transform: \"translate(-391.435 -61)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.11,331H1.086A1.086,1.086,0,0,0,0,332.086V338.6a1.086,1.086,0,0,0,1.086,1.086H13.11Z\",\n transform: \"translate(0 -311.444)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M211,331h15.282v8.691H211Z\",\n transform: \"translate(-195.718 -311.444)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M455.259,331H452v8.691h3.259a1.086,1.086,0,0,0,1.086-1.086v-6.519A1.086,1.086,0,0,0,455.259,331Z\",\n transform: \"translate(-419.262 -311.444)\"\n}));\n\nconst SvgIconHabitos = (_ref) => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 37.083,\n height: 28.247,\n viewBox: \"0 0 37.083 28.247\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nconst ForwardRef = React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgIconHabitos, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/Icon_Habitos.087dfc2a.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0 4.912)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"current\",\n stroke: \"current\",\n d: \"M38.245,89.535H21.288l-3.373-4.009a.576.576,0,0,0-.461-.207H3.774A3.8,3.8,0,0,0,0,89.12v24.657a3.8,3.8,0,0,0,3.8,3.8H38.245a3.8,3.8,0,0,0,3.8-3.8V93.332A3.8,3.8,0,0,0,38.245,89.535Z\",\n transform: \"translate(0 -85.319)\"\n}));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(5)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"current\",\n stroke: \"current\",\n d: \"M81.627,46.9H64.665l-3.373-4.009a.576.576,0,0,0-.461-.207H47.155A3.8,3.8,0,0,0,43.4,45.96H55.873a2.207,2.207,0,0,1,1.7.788l2.88,3.424h16.2A5.437,5.437,0,0,1,82.074,55.6V74.9A3.8,3.8,0,0,0,85.4,71.132V50.687A3.8,3.8,0,0,0,81.627,46.9Z\",\n transform: \"translate(-43.4 -42.679)\"\n}));\n\nconst SvgIconHistoriasClinicas = (_ref) => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 47,\n height: 37.167,\n viewBox: \"0 0 47 37.167\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nconst ForwardRef = React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgIconHistoriasClinicas, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/Icon_Historias_Clinicas.9bfdc5c6.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".a{fill:#c5c5c5;}\"));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"current\",\n stroke: \"current\",\n d: \"M164.545,220.5H150.08a.748.748,0,0,1,0-1.5h14.465a.748.748,0,0,1,0,1.5Zm0,0\",\n transform: \"translate(-142.349 -208.775)\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"current\",\n stroke: \"current\",\n d: \"M154.078,143.13a.742.742,0,0,1-.529-.219l-3.99-3.99a.749.749,0,0,1,0-1.059l3.99-3.99a.748.748,0,0,1,1.059,1.058l-3.462,3.462,3.462,3.462a.748.748,0,0,1-.53,1.277Zm0,0\",\n transform: \"translate(-142.356 -127.418)\"\n});\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"current\",\n stroke: \"current\",\n d: \"M10.974,22.279A10.974,10.974,0,1,1,21.187,7.291a.748.748,0,1,1-1.393.548,9.477,9.477,0,1,0,0,6.934.748.748,0,1,1,1.393.548,10.917,10.917,0,0,1-10.213,6.958Zm0,0\",\n transform: \"translate(0 -0.332)\"\n});\n\nconst SvgIconLogout = (_ref) => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 22.944,\n height: 21.947,\n viewBox: \"0 0 22.944 21.947\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4, _ref5);\n};\n\nconst ForwardRef = React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgIconLogout, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/Icon_Logout.ddf99476.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".a{fill:#c5c5c5;}\"));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"current\",\n stroke: \"current\",\n d: \"M60.555,18.162l-1.54-2.568a7.627,7.627,0,0,1-1.087-3.924V9.421A6.288,6.288,0,0,0,53.441,3.4V1.794a1.794,1.794,0,1,0-3.589,0V3.4a6.288,6.288,0,0,0-4.486,6.016V11.67a7.632,7.632,0,0,1-1.087,3.923l-1.54,2.568a.449.449,0,0,0,.384.68H60.17a.448.448,0,0,0,.385-.679Z\",\n transform: \"translate(-42.675 0)\"\n}));\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(6.146 19.738)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"current\",\n stroke: \"current\",\n d: \"M188.815,469.333a3.121,3.121,0,0,0,5.651,0Z\",\n transform: \"translate(-188.815 -469.333)\"\n}));\n\nconst SvgIconNotification = (_ref) => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 17.943,\n height: 21.533,\n viewBox: \"0 0 17.943 21.533\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4);\n};\n\nconst ForwardRef = React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgIconNotification, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/Icon_Notification.12e7242b.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0)\"\n}, /*#__PURE__*/React.createElement(\"circle\", {\n fill: \"current\",\n stroke: \"current\",\n cx: 9.802,\n cy: 9.802,\n r: 9.802,\n transform: \"translate(7.811)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"current\",\n stroke: \"current\",\n d: \"M35.211,291.813a17.5,17.5,0,0,0-5.8-13.064A2.21,2.21,0,0,0,26.5,278.7a13.663,13.663,0,0,1-17.765,0,2.206,2.206,0,0,0-2.912.045A17.569,17.569,0,0,0,0,291.8a1.937,1.937,0,0,0,1.93,1.939H33.281A1.93,1.93,0,0,0,35.211,291.813Z\",\n transform: \"translate(0 -258.485)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"current\",\n stroke: \"current\",\n d: \"M420.654,312.049a9.672,9.672,0,0,1-3.7,1.871,1.93,1.93,0,0,0-1.377,2.4,21.227,21.227,0,0,1,.814,5.859,1.93,1.93,0,0,0,1.93,1.93h4.059a1.93,1.93,0,0,0,1.93-1.93c0-6.012.188-7.182-.634-9.343A1.925,1.925,0,0,0,420.654,312.049Z\",\n transform: \"translate(-377.323 -288.847)\"\n}), /*#__PURE__*/React.createElement(\"circle\", {\n fill: \"current\",\n stroke: \"current\",\n cx: 5.881,\n cy: 5.881,\n r: 5.881,\n transform: \"translate(31.336 9.802)\"\n}));\n\nconst SvgIconPacientes = (_ref) => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 47.008,\n height: 35.257,\n viewBox: \"0 0 47.008 35.257\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nconst ForwardRef = React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgIconPacientes, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/Icon_Pacientes.5199da31.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".a{fill:#20ad9b;}\"));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M37.125,15.75h-18A1.128,1.128,0,0,0,18,16.875V27H4.5V10.125A1.128,1.128,0,0,0,3.375,9H1.125A1.128,1.128,0,0,0,0,10.125v24.75A1.128,1.128,0,0,0,1.125,36h2.25A1.128,1.128,0,0,0,4.5,34.875V31.5h36v3.375A1.128,1.128,0,0,0,41.625,36h2.25A1.128,1.128,0,0,0,45,34.875V23.625A7.871,7.871,0,0,0,37.125,15.75Zm-27.562-9h8.866l1.941,3.881a1.123,1.123,0,0,0,2.011,0l3.495-6.989L27.429,6.75H36A1.125,1.125,0,0,0,36,4.5H28.821L26.88.619a1.123,1.123,0,0,0-2.011,0L21.375,7.608l-1.4-2.8A.565.565,0,0,0,19.47,4.5H9.563A.564.564,0,0,0,9,5.063V6.188A.564.564,0,0,0,9.563,6.75Zm1.688,18a4.5,4.5,0,1,0-4.5-4.5A4.5,4.5,0,0,0,11.25,24.75Z\",\n transform: \"translate(0 0.004)\"\n});\n\nconst SvgIconProcedimientos = (_ref) => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 45,\n height: 36.004,\n viewBox: \"0 0 45 36.004\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nconst ForwardRef = React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgIconProcedimientos, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/Icon_Procedimientos.c1487d47.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"current\",\n stroke: \"current\",\n d: \"M5.857,10.929a7.7,7.7,0,0,1,7.691-7.691H28.335A4.444,4.444,0,0,0,24.072,0H5.452A4.456,4.456,0,0,0,1,4.452v25.1A4.456,4.456,0,0,0,5.452,34h.4Z\",\n transform: \"translate(-1)\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"current\",\n stroke: \"current\",\n d: \"M29.072,4H10.452A4.456,4.456,0,0,0,6,8.452V31.929a4.456,4.456,0,0,0,4.452,4.452h18.62a4.456,4.456,0,0,0,4.452-4.452V8.452A4.456,4.456,0,0,0,29.072,4ZM25.834,31.525H13.691a1.214,1.214,0,0,1,0-2.429H25.834a1.214,1.214,0,0,1,0,2.429Zm0-6.476H13.691a1.214,1.214,0,1,1,0-2.429H25.834a1.214,1.214,0,1,1,0,2.429Zm0-5.667H13.691a1.214,1.214,0,1,1,0-2.429H25.834a1.214,1.214,0,1,1,0,2.429Zm0-6.476H13.691a1.214,1.214,0,1,1,0-2.429H25.834a1.214,1.214,0,1,1,0,2.429Z\",\n transform: \"translate(2.095 2.476)\"\n});\n\nconst SvgIconProtocolo = (_ref) => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 35.62,\n height: 38.858,\n viewBox: \"0 0 35.62 38.858\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nconst ForwardRef = React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgIconProtocolo, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/Icon_Protocolo.55658b9b.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"current\",\n stroke: \"current\",\n d: \"M35.153,13.9l-2.767-.6a15.058,15.058,0,0,0-.89-2.147l1.532-2.383a1.076,1.076,0,0,0-.144-1.342l-4.31-4.31a1.076,1.076,0,0,0-1.342-.144L24.848,4.5a15.058,15.058,0,0,0-2.147-.89L22.1.847A1.076,1.076,0,0,0,21.048,0h-6.1A1.076,1.076,0,0,0,13.9.847l-.6,2.767a15.058,15.058,0,0,0-2.147.89L8.769,2.972a1.076,1.076,0,0,0-1.342.144l-4.31,4.31a1.076,1.076,0,0,0-.144,1.342L4.5,11.152a15.058,15.058,0,0,0-.89,2.147l-2.767.6A1.076,1.076,0,0,0,0,14.952v6.1A1.076,1.076,0,0,0,.847,22.1l2.767.6a15.058,15.058,0,0,0,.89,2.147L2.973,27.23a1.076,1.076,0,0,0,.144,1.342l4.31,4.31a1.076,1.076,0,0,0,1.342.144L11.152,31.5a15.059,15.059,0,0,0,2.147.89l.6,2.767A1.076,1.076,0,0,0,14.952,36h6.1a1.076,1.076,0,0,0,1.051-.847l.6-2.767a15.058,15.058,0,0,0,2.147-.89l2.383,1.532a1.076,1.076,0,0,0,1.342-.144l4.31-4.31a1.076,1.076,0,0,0,.144-1.342L31.5,24.848a15.058,15.058,0,0,0,.89-2.147l2.767-.6A1.076,1.076,0,0,0,36,21.048v-6.1A1.076,1.076,0,0,0,35.153,13.9ZM24.454,18A6.454,6.454,0,1,1,18,11.546,6.462,6.462,0,0,1,24.454,18Zm0,0\",\n transform: \"translate(0 0)\"\n});\n\nconst SvgIconSettings = (_ref) => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 36,\n viewBox: \"0 0 36 36\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nconst ForwardRef = React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgIconSettings, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/Icon_Settings.041c238c.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".a{fill:#247dbd;}\"));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"current\",\n stroke: \"current\",\n d: \"M16.313,16.523H22.3V33.6H16.313Z\",\n transform: \"translate(-16.313 -4.682)\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"current\",\n stroke: \"current\",\n d: \"M16.313,9.844H22.3v5.983H16.313Z\",\n transform: \"translate(-16.313 -9.844)\"\n});\n\nconst SvgIconTipo = (_ref) => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 5.983,\n height: 28.919,\n viewBox: \"0 0 5.983 28.919\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4);\n};\n\nconst ForwardRef = React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgIconTipo, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/Icon_Tipo.c1686d9a.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".a{fill:rgba(32,173,155,0.49);}\"));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"a\",\n d: \"M32.016,12.328,25.473,5.784H2.571V48.316H54.918V12.328ZM28.744,23.779,40.2,35.229H32.016V48.316H25.473V35.229H17.293Z\",\n transform: \"translate(-2.571 -5.784)\"\n});\n\nconst SvgIconUpload = (_ref) => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 52.347,\n height: 42.532,\n viewBox: \"0 0 52.347 42.532\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nconst ForwardRef = React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgIconUpload, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/Icon_Upload.02d5b130.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"current\",\n stroke: \"current\",\n d: \"M16.552,12.108a1.449,1.449,0,1,1,1.441,1.406A1.408,1.408,0,0,1,16.552,12.108Zm.1,2.51h2.686V24.75H16.65Z\",\n transform: \"translate(-3.375 -3.375)\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"current\",\n stroke: \"current\",\n d: \"M18,5.344A12.651,12.651,0,1,1,9.049,9.049,12.573,12.573,0,0,1,18,5.344m0-1.969A14.625,14.625,0,1,0,32.625,18,14.623,14.623,0,0,0,18,3.375Z\",\n transform: \"translate(-3.375 -3.375)\"\n});\n\nconst SvgIconVerTodos = (_ref) => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 29.25,\n height: 29.25,\n viewBox: \"0 0 29.25 29.25\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nconst ForwardRef = React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgIconVerTodos, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/Icon_VerTodos.fc36839b.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"current\",\n stroke: \"current\",\n d: \"M5.857,10.929a7.7,7.7,0,0,1,7.691-7.691H28.335A4.444,4.444,0,0,0,24.072,0H5.452A4.456,4.456,0,0,0,1,4.452v25.1A4.456,4.456,0,0,0,5.452,34h.4Z\",\n transform: \"translate(-1)\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"current\",\n stroke: \"current\",\n d: \"M29.072,4H10.452A4.456,4.456,0,0,0,6,8.452V31.929a4.456,4.456,0,0,0,4.452,4.452h18.62a4.456,4.456,0,0,0,4.452-4.452V8.452A4.456,4.456,0,0,0,29.072,4ZM25.834,31.525H13.691a1.214,1.214,0,0,1,0-2.429H25.834a1.214,1.214,0,0,1,0,2.429Zm0-6.476H13.691a1.214,1.214,0,1,1,0-2.429H25.834a1.214,1.214,0,1,1,0,2.429Zm0-5.667H13.691a1.214,1.214,0,1,1,0-2.429H25.834a1.214,1.214,0,1,1,0,2.429Zm0-6.476H13.691a1.214,1.214,0,1,1,0-2.429H25.834a1.214,1.214,0,1,1,0,2.429Z\",\n transform: \"translate(2.095 2.476)\"\n});\n\nconst SvgIconProtocolos = (_ref) => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 35.62,\n height: 38.858,\n viewBox: \"0 0 35.62 38.858\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nconst ForwardRef = React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgIconProtocolos, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/Icon_protocolos.55658b9b.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".a{fill:#247dbd;}\"));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"current\",\n stroke: \"current\",\n d: \"M15.187,6.064,3.663,16.226a2.44,2.44,0,0,1-.288.177v9.753A.844.844,0,0,0,4.218,27H26.156A.844.844,0,0,0,27,26.156v-9.75a2.46,2.46,0,0,1-.277-.169Zm5.062,13.763a.422.422,0,0,1-.422.422H16.874V23.2a.422.422,0,0,1-.422.422H13.921A.422.422,0,0,1,13.5,23.2V20.249H10.546a.422.422,0,0,1-.422-.422V17.3a.422.422,0,0,1,.422-.422H13.5V13.921a.422.422,0,0,1,.422-.422h2.531a.422.422,0,0,1,.422.422v2.953h2.953a.422.422,0,0,1,.422.422Zm9.845-7.368L16.6.542a2.1,2.1,0,0,0-2.819,0L.279,12.46a.844.844,0,0,0-.064,1.192l1.129,1.256a.844.844,0,0,0,1.192.064L14.629,4.3a.844.844,0,0,1,1.116,0L27.838,14.971a.844.844,0,0,0,1.192-.064l1.128-1.256a.844.844,0,0,0-.064-1.191Z\",\n transform: \"translate(0.001 0.001)\"\n});\n\nconst SvgIconGrupo = (_ref) => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 30.375,\n height: 27,\n viewBox: \"0 0 30.375 27\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nconst ForwardRef = React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgIconGrupo, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/icon_Grupo.feaceba3.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M211,0c-33.084,0-60,26.916-60,60s26.916,60,60,60s60-26.916,60-60S244.084,0,211,0z M211,90c-16.542,0-30-13.458-30-30 s13.458-30,30-30s30,13.458,30,30S227.542,90,211,90z\"\n})));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M407,0c-57.897,0-105,47.103-105,105s47.103,105,105,105c57.897,0,105-47.103,105-105C512,47.103,464.897,0,407,0z M407,180c-41.355,0-75-33.645-75-75s33.645-75,75-75c41.355,0,75,33.645,75,75S448.355,180,407,180z\"\n})));\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M437,90h-15V75c0-8.284-6.716-15-15-15s-15,6.716-15,15v30c0,8.284,6.716,15,15,15h30c8.284,0,15-6.716,15-15 S445.284,90,437,90z\"\n})));\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M347,271h-76v-91c0-33.084-26.916-60-60-60s-60,26.916-60,60v136c0,5.258,0.915,10.307,2.58,15.001h-39.089 c0,0-15.972-127.732-24.502-197.011C89.45,109.641,69.476,90,45,90c-24.813,0-45,20.187-45,45c0,0.619,0.039,1.238,0.115,1.853 l29.896,240.169C30.44,396.134,42.846,412.339,60,418.423V497c0,8.284,6.716,15,15,15s15-6.716,15-15v-76h121v76 c0,8.284,6.716,15,15,15s15-6.716,15-15v-78.58c17.459-6.192,30-22.865,30-42.42c0-5.258-0.915-10.305-2.58-15H302v106 c0,24.813,20.187,45,45,45s45-20.187,45-45V316C392,291.187,371.813,271,347,271z M226,391H75c-8.271,0-15-6.729-15-15 c0-1.403,1.63,12.164-29.98-241.772C30.423,126.314,36.988,120,45,120c8.271,0,15,6.729,15,15 c0,1.87,26.365,212.858,26.365,212.858C87.304,355.365,93.685,361,101.25,361c5.932,0,117.936,0,124.75,0c8.271,0,15,6.729,15,15 S234.271,391,226,391z M362,467c0,8.271-6.729,15-15,15s-15-6.729-15-15V346c0-8.284-6.716-15-15-15c-4.283,0-114.149,0-121.01,0 c-8.267-0.006-14.99-6.732-14.99-15V180c0-16.542,13.458-30,30-30s30,13.458,30,30v106c0,8.284,6.716,15,15,15h91 c8.271,0,15,6.729,15,15V467z\"\n})));\n\nvar _ref6 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref7 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref8 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref9 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref10 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref11 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref12 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref13 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref14 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref15 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref16 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref17 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref18 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref19 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref20 = /*#__PURE__*/React.createElement(\"g\", null);\n\nconst SvgWaitingRoom = (_ref) => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Capa_1\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 512 512\",\n style: {\n enableBackground: \"new 0 0 512 512\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9, _ref10, _ref11, _ref12, _ref13, _ref14, _ref15, _ref16, _ref17, _ref18, _ref19, _ref20);\n};\n\nconst ForwardRef = React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgWaitingRoom, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/waiting_room.ade542ab.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\r\nimport { BsCalendar, BsCalendarCheck, BsCalendarX, BsClockHistory } from \"react-icons/bs\";\r\nimport {\r\n FaAppleAlt,\r\n FaArrowCircleDown, FaArrowCircleUp, FaBeer, FaBirthdayCake, FaBookMedical, FaCannabis,\r\n FaChartBar, FaClinicMedical, FaClipboardList, FaFacebookF, FaFile, FaFileExport, FaFileMedical,\r\n FaFilePrescription,\r\n FaHeartbeat, FaIdCard, FaInstagram, FaLock, FaMapMarkerAlt,\r\n FaPills, FaRegBuilding,\r\n FaPrescriptionBottleAlt,\r\n FaRegAddressCard,\r\n FaRegChartBar, FaFileSignature,\r\n FaRegCommentDots,\r\n FaRegFileAlt, FaRegTimesCircle, FaRulerCombined, FaSchool, FaSmoking,\r\n FaStickyNote,\r\n FaTasks, FaTwitter, FaUserCheck, FaUserTie, FaVideo, FaWeight, FaWindowClose\r\n} from \"react-icons/fa\";\r\nimport { FiArrowLeft, FiArrowRight, FiCamera, FiCheckSquare, FiEdit, FiSave, FiUserCheck, FiUserX } from \"react-icons/fi\";\r\nimport { GiBodyHeight, GiCancel, GiOpenFolder, GiStairsGoal } from \"react-icons/gi\";\r\nimport { ImLab, ImTable } from \"react-icons/im\";\r\nimport { IoIosCalendar } from \"react-icons/io\";\r\nimport {\r\n MdAccessTime, MdAddCircleOutline,\r\n MdAssignmentAdd, MdAttachMoney, MdOutlineSwapHoriz, MdSwapHoriz,\r\n MdAttachFile, MdBlock, MdCancel, MdCheckCircle, MdContentCopy, MdDescription, MdDirectionsRun, MdExpandLess, MdExpandMore, MdFlag, MdGroup, MdHelpOutline, MdHome, MdMailOutline, MdMoreHoriz, MdPeople, MdPermContactCalendar,\r\n MdPersonOutline, MdPhone, MdPhoneIphone,\r\n MdPublish, MdRemoveCircleOutline, MdRepeat, MdAssignment,\r\n MdSearch, MdSettings, MdSync, MdToday, MdWarning\r\n} from 'react-icons/md';\r\nimport { RiForbidFill, RiCalendarLine, RiContactsBookLine, RiDossierLine, RiHealthBookLine, RiLineChartLine, RiMailLine, RiMailOpenLine, RiMapPinLine, RiMoreLine, RiPrinterLine, RiShieldCrossFill, RiShieldUserFill, RiStickyNoteLine, RiTestTubeFill, RiTodoFill, RiUserAddLine } from \"react-icons/ri\";\r\nimport { ReactComponent as BloodFactor } from '../../assets/img/icons/BloodFactor.svg';\r\nimport { ReactComponent as BloodType } from '../../assets/img/icons/BloodType.svg';\r\nimport { ReactComponent as DashboardAddAppointment } from '../../assets/img/icons/Dashboard_AddAppointment.svg';\r\nimport { ReactComponent as DashboardAddPatient } from '../../assets/img/icons/Dashboard_AddPatient.svg';\r\nimport { ReactComponent as SVGFamilyHistory } from '../../assets/img/icons/Icon_AFamiliares.svg';\r\nimport { ReactComponent as SVGAdverseEvents } from '../../assets/img/icons/Icon_AdverseEvent.svg';\r\nimport { ReactComponent as Agenda } from '../../assets/img/icons/Icon_Agenda.svg';\r\nimport { ReactComponent as SVGAttachments } from '../../assets/img/icons/Icon_Attach.svg';\r\nimport { ReactComponent as BMI } from '../../assets/img/icons/Icon_BMI.svg';\r\nimport { ReactComponent as BloodPressure } from '../../assets/img/icons/Icon_BloodPressure.svg';\r\nimport { ReactComponent as DDL } from '../../assets/img/icons/Icon_Dropdown.svg';\r\nimport { ReactComponent as SVGDrugs } from '../../assets/img/icons/Icon_Drugs.svg';\r\nimport { ReactComponent as Speciality } from '../../assets/img/icons/Icon_Especialidad.svg';\r\nimport { ReactComponent as SVGHabits } from '../../assets/img/icons/Icon_Habitos.svg';\r\nimport { ReactComponent as MedicalRecords } from '../../assets/img/icons/Icon_Historias_Clinicas.svg';\r\nimport { ReactComponent as LogoutIcon } from '../../assets/img/icons/Icon_Logout.svg';\r\nimport { ReactComponent as Notification } from '../../assets/img/icons/Icon_Notification.svg';\r\nimport { ReactComponent as Patients2 } from '../../assets/img/icons/Icon_Pacientes.svg';\r\nimport { ReactComponent as SVGProcedures } from '../../assets/img/icons/Icon_Procedimientos.svg';\r\nimport { ReactComponent as Protocol } from '../../assets/img/icons/Icon_Protocolo.svg';\r\nimport { ReactComponent as Settings } from '../../assets/img/icons/Icon_Settings.svg';\r\nimport { ReactComponent as VisitType } from '../../assets/img/icons/Icon_Tipo.svg';\r\nimport { ReactComponent as Upload } from '../../assets/img/icons/Icon_Upload.svg';\r\nimport { ReactComponent as VerTodos } from '../../assets/img/icons/Icon_VerTodos.svg';\r\nimport { ReactComponent as Protocols } from '../../assets/img/icons/Icon_protocolos.svg';\r\nimport { ReactComponent as VisitGroup } from '../../assets/img/icons/icon_Grupo.svg';\r\nimport { ReactComponent as SVGWaitingRoom } from '../../assets/img/icons/waiting_room.svg';\r\n\r\nconst BackgroundComponent = (props) => {\r\n return
{props.children}
\r\n}\r\n\r\nexport const IconSVG = ({ name, fill, stroke, style }) => {\r\n\r\n switch (name?.toLowerCase()) {\r\n case \"add-appointment\": return ();\r\n case \"add-patient\": return ();\r\n case \"dashboard\": return ();\r\n case \"agenda\": return ();\r\n case \"patients\": return ();\r\n case \"medicalrecords\": return ();\r\n case \"protocols\": return ();\r\n case \"settings\": return ();\r\n case \"externalnote\": return ;\r\n case \"date\": return ();\r\n case \"speciality\": return ();\r\n case \"visittype\": return ();\r\n case \"visitgroup\": return ();\r\n case \"logout\": return ;\r\n case \"notification\": return ;\r\n case \"plus\": return ;\r\n case \"dropdown\": return ;\r\n case \"save\": return ;\r\n case \"publish\": return ;\r\n case \"back\": return ;\r\n case \"upload\": return ;\r\n case \"file\": return ;\r\n case \"info\": return ;\r\n case \"export\": return ;\r\n\r\n case \"consultorio\": return ;\r\n case \"protocol\": return ;\r\n case \"project\": return ;\r\n case \"external\": return ;\r\n case \"other\": return ;\r\n\r\n case \"personalhabits\": return ;\r\n case \"familyhistory\": return ;\r\n case \"adverseevents\": return ;\r\n case \"personalhistory\": return ;\r\n case \"drugs\": return ;\r\n case \"procedures\": return ;\r\n case \"anthropometrics\": return ;\r\n case \"laboratory\": return ;\r\n case \"vitals\": return ;\r\n case \"attachments\": return ;\r\n case \"prescriptions\": return ;\r\n case \"orders\": return ;\r\n\r\n case \"height\": return ;\r\n case \"weight\": return ;\r\n case \"bmi\": return ;\r\n case \"bloodpressure\": return ;\r\n case \"heartrate\": return ;\r\n\r\n case \"alcohol\": return ;\r\n case \"actividad física\": return ;\r\n case \"dieta\": return ;\r\n case \"drogas\": return ;\r\n case \"educacion\": return ;\r\n case \"ocupacion\": return ;\r\n case \"tabaco\": return ;\r\n case \"search\": return ;\r\n case \"edit\": return ;\r\n case \"patient\": return ;\r\n\r\n case \"bloodtype\": return ;\r\n case \"bloodfactor\": return ;\r\n\r\n case \"addappointment\": return ;\r\n case \"waiting_room\": return ;\r\n\r\n default:\r\n break;\r\n }\r\n\r\n return null;\r\n}\r\n\r\nexport const Signature = (props) => { return {props.children} }\r\nexport const FormRestriction = (props) => { return {props.children} }\r\nexport const FormAdditional = (props) => { return {props.children} }\r\nexport const FormEarlyCompleted = (props) => { return {props.children} }\r\nexport const FormExtraProtocol = (props) => { return {props.children} }\r\n\r\nexport const Lock = (props) => { return {props.children} }\r\nexport const Today = (props) => { return {props.children} }\r\nexport const Help = (props) => { return {props.children} }\r\nexport const ViewMR = (props) => { return {props.children} }\r\nexport const View = (props) => { return {props.children} }\r\nexport const Search = (props) => { return {props.children} }\r\nexport const WaitingRoom = (props) => { return {props.children} }\r\nexport const MoneyBill = (props) => { return {props.children} }\r\n\r\nexport const Print = (props) => { return {props.children} }\r\nexport const Note = (props) => { return {props.children} }\r\nexport const AddAppointment = (props) => { return {props.children} }\r\nexport const Calendar = (props) => { return {props.children} }\r\nexport const CalendarCheck = (props) => { return {props.children} }\r\nexport const CalendarCross = (props) => { return {props.children} }\r\n\r\nexport const Audit = (props) => { return {props.children} }\r\n\r\nexport const Add = (props) => { return {props.children} }\r\nexport const Repeat = (props) => { return {props.children} }\r\nexport const RemoveCircle = (props) => { return {props.children} }\r\nexport const More = (props) => { return {props.children} }\r\nexport const Attach = (props) => { return {props.children} }\r\nexport const Remove = (props) => { return {props.children} }\r\nexport const Edit = (props) => { return {props.children} }\r\nexport const Copy = (props) => { return {props.children} }\r\nexport const Close = (props) => { return {props.children} }\r\nexport const Closed = (props) => { return {props.children} }\r\nexport const Check = (props) => { return {props.children} }\r\nexport const PersonCheck = (props) => { return {props.children} }\r\nexport const PersonCheckLine = (props) => { return {props.children} }\r\nexport const PersonCrossLine = (props) => { return {props.children} }\r\n\r\nexport const Back = (props) => { return {props.children} }\r\nexport const Next = (props) => { return {props.children} }\r\nexport const Export = (props) => { return {props.children} }\r\nexport const Camera = (props) => { return {props.children} }\r\nexport const Logout = (props) => { return {props.children} }\r\n\r\nexport const Up = (props) => { return {props.children} }\r\nexport const Down = (props) => { return {props.children} }\r\nexport const Swap = (props) => { return {props.children} }\r\n\r\nexport const ViewPractitioner = (props) => { return {props.children}; }\r\nexport const ViewProtocol = (props) => { return {props.children} }\r\nexport const ViewVisit = (props) => { return {props.children} }\r\n\r\nexport const Brief = (props) => { return {props.children} }\r\nexport const Practitioner = (props) => { return {props.children} }\r\nexport const VisitTracking = (props) => { return {props.children} }\r\nexport const AddPatient = (props) => { return {props.children} }\r\nexport const Patient = (props) => { return {props.children} }\r\nexport const Patients = (props) => { return {props.children} }\r\nexport const Config = (props) => { return {props.children} }\r\nexport const ExtraProtocol = (props) => { return {props.children} }\r\nexport const Visit = (props) => { return {props.children} }\r\n\r\nexport const Laboratory = (props) => { return {props.children} }\r\nexport const PrincipalInvestigator = (props) => { return {props.children} }\r\nexport const Status = (props) => { return {props.children} }\r\nexport const Phase = (props) => { return {props.children} }\r\n\r\n\r\nexport const Save = (props) => { return {props.children} }\r\nexport const Publish = (props) => { return {props.children}; }\r\nexport const Cancel = (props) => { return {props.children}; }\r\nexport const CanceLine = (props) => { return {props.children}; }\r\nexport const Change = (props) => { return {props.children}; }\r\n\r\nexport const Warning = (props) => { return {props.children}; }\r\n\r\nexport const Unread = (props) => { return {props.children}; }\r\nexport const Readed = (props) => { return {props.children}; }\r\n\r\nexport const Enabled = (props) => { return {props.children} }\r\nexport const Disabled = (props) => { return {props.children} }\r\n\r\nexport const IconPersonalHabits = () => { return (); }\r\nexport const IconFamilyHistory = () => { return (); }\r\nexport const IconAdverseEvent = () => { return (); }\r\nexport const IconDrug = () => { return (); }\r\nexport const Drug = (props) => { return {props.children} }\r\nexport const IconProcedure = () => { return (); }\r\nexport const IconAnthropometric = () => { return (); }\r\nexport const IconAdherence = () => { return (); }\r\nexport const IconAttachment = () => { return (); }\r\n\r\nexport const ContactInfo = (props) => { return {props.children} }\r\nexport const RelatedContact = (props) => { return {props.children} }\r\n\r\nexport const CellPhone = (props) => { return {props.children} }\r\nexport const Phone = (props) => { return {props.children} }\r\nexport const OnSite = (props) => { return {props.children} }\r\nexport const VideoCall = (props) => { return {props.children} }\r\nexport const Email = (props) => { return {props.children} }\r\nexport const Location = (props) => { return {props.children} }\r\nexport const Facebook = (props) => { return {props.children} }\r\nexport const Instagram = (props) => { return {props.children} }\r\nexport const Twitter = (props) => { return {props.children} }\r\n\r\nexport const Address = (props) => { return {props.children} }\r\nexport const Date = (props) => { return {props.children} }\r\nexport const Identification = (props) => { return {props.children} }\r\nexport const Doctor = (props) => { return {props.children} }\r\nexport const Statistics = (props) => { return {props.children} }\r\nexport const File = (props) => { return {props.children} }\r\n\r\nexport const Sync = (props) => { return {props.children} }\r\n\r\nexport const BirthDate = (props) => { return {props.children} }\r\nexport const MedicalInsurance = (props) => { return {props.children} }\r\nexport const MedicalInsuranceNumber = (props) => { return {props.children} }\r\nexport const MedicalRecord = (props) => { return {props.children} }\r\n\r\nexport const Expand = (props) => { return {props.children} }\r\nexport const Contract = (props) => { return {props.children} }\r\nexport const Summary = (props) => { return {props.children} }\r\n\r\nexport const Chart = (props) => { return {props.children} }\r\nexport const Table = (props) => { return {props.children} }\r\nexport const ChartBar = (props) => { return {props.children} }\r\nexport const ChartLine = (props) => { return {props.children} }\r\n\r\nexport const Comments = (props) => { return {props.children} }\r\n\r\n\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport Tippy from '@tippyjs/react';\r\n\r\nexport function Tooltip({ id, children, tooltip, placement, style }) {\r\n\r\n const Children = React.forwardRef((props, ref) =>
)\r\n\r\n return \r\n {children}\r\n ;\r\n}\r\n\r\nTooltip.defaultProps = {\r\n placement: \"top\",\r\n style: { display: 'inline-block' }\r\n};\r\n\r\nTooltip.propTypes = {\r\n id: PropTypes.string.isRequired,\r\n tooltip: PropTypes.oneOfType([\r\n PropTypes.string,\r\n PropTypes.number,\r\n PropTypes.object,\r\n ]).isRequired,\r\n style: PropTypes.object\r\n};","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { NavLink } from \"react-router-dom\";\r\nimport { Logout } from '../Icons/Icons';\r\nimport { Tooltip } from '../Utils/Tooltips';\r\nimport { Spinner } from '../Utils/Loaders';\r\nimport { ApplicationPaths } from './ApiAuthorizationConstants';\r\n\r\nexport const LoginMenu = (props) => {\r\n const authenticationState = useSelector(state => state.authentication);\r\n \r\n function authenticatedView(_userName, _profilePath, logoutPath) {\r\n return (
  • \r\n \r\n \r\n \r\n \r\n \r\n
  • );\r\n }\r\n\r\n function anonymousView(_registerPath, loginPath) {\r\n return (
  • \r\n Login\r\n
  • );\r\n }\r\n\r\n if (authenticationState.isLoading)\r\n return ;\r\n\r\n if (!authenticationState.isAuthenticated) {\r\n const registerPath = `${ApplicationPaths.Register}`;\r\n const loginPath = `${ApplicationPaths.Login}`;\r\n return anonymousView(registerPath, loginPath);\r\n } else {\r\n const profilePath = `${ApplicationPaths.Profile}`;\r\n const logoutPath = { pathname: `${ApplicationPaths.LogOut}`, state: { local: true } };\r\n return authenticatedView(authenticationState.user?.email, profilePath, logoutPath);\r\n }\r\n}\r\n","export const getLabelColor = (name) => {\r\n let _value = \"\";\r\n switch (name) {\r\n case \"EXTERNAL\": _value = \"label-external\"; break;\r\n case \"PROTOCOL\": _value = \"label-protocol\"; break;\r\n case \"PROJECT\": _value = \"label-project\"; break;\r\n default: break;\r\n }\r\n\r\n return _value;\r\n}\r\n\r\nexport const getButtonColor = (name) => {\r\n\r\n switch (name) {\r\n case \"EXTERNAL\": return \"btn-external\";\r\n case \"PROTOCOL\": return \"btn-protocol\";\r\n case \"PROJECT\": return \"btn-project\";\r\n default: return \"btn-default\";\r\n }\r\n}\r\n\r\nexport const groupBy = function (xs, key) {\r\n return xs.reduce(function (rv, x) {\r\n (rv[x[key]] = rv[x[key]] || []).push(x);\r\n return rv;\r\n }, {});\r\n};\r\n\r\nexport const generateLink = (mentionParams) => {\r\n if (!mentionParams)\r\n return \"/\"\r\n var urlParams = new URLSearchParams(mentionParams);\r\n if (urlParams.has(\"from\")) {\r\n let type = \"\";\r\n switch (urlParams.get('from')) {\r\n case \"VisitTrackingExtra\":\r\n type = \"visitTrackingExtra\"; break;\r\n case \"VisitTracking\":\r\n default:\r\n type = \"visitTracking\";\r\n }\r\n return `/admin/protocols/${urlParams.get('protocolId')}/${type}/${urlParams.get('visitId')}/patient/${urlParams.get('patientId')}?&formId=${urlParams.get('formId')}`;\r\n }\r\n}\r\n\r\nexport const getProtocolUrl = (type) => {\r\n switch (type) {\r\n case 3:\r\n case 4:\r\n case 10: return \"visitTrackingExtra\";\r\n default:\r\n return \"visitTracking\";\r\n }\r\n}\r\n\r\nexport function formatBytes(bytes, decimals = 2) {\r\n if (bytes === 0) return '0 Bytes';\r\n\r\n const k = 1024;\r\n const dm = decimals < 0 ? 0 : decimals;\r\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\r\n\r\n const i = Math.floor(Math.log(bytes) / Math.log(k));\r\n\r\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];\r\n}\r\n\r\nexport const getQueryParam = (url, name) => {\r\n return new URLSearchParams(url).get(name);\r\n}\r\n\r\nexport const getFullNameFromUserMention = (mention) => {\r\n const fullNameRegex = /@\\[(.*?)]\\(((\\{){0,1}[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}(\\}){0,1})\\)/;\r\n var matches = fullNameRegex.exec(mention);\r\n\r\n if (matches != null && matches[1]) {\r\n return mention.replace(matches[0], `'${matches[1]}'`);\r\n }\r\n\r\n return mention;\r\n}\r\n\r\nexport const capitalize = (s, onlyFirst = true, split = \".\") => {\r\n if (typeof s !== 'string') return ''\r\n\r\n if (onlyFirst)\r\n return s.charAt(0).toUpperCase() + s.slice(1)\r\n\r\n const words = s.split(split);\r\n\r\n return words.map((word) => {\r\n return word[0].toUpperCase() + word.slice(1);\r\n }).join(split);\r\n\r\n}\r\n\r\n/*!\r\n * Get an object value from a specific path\r\n * @param {Object} obj The object\r\n * @param {String|Array} path The path\r\n * @param {*} def A default value to return [optional]\r\n * @return {*} The value\r\n */\r\nexport const getWithPath = function (obj, path, def) {\r\n\r\n /**\r\n * If the path is a string, convert it to an array\r\n * @param {String|Array} path The path\r\n * @return {Array} The path array\r\n */\r\n var stringToPath = function (path) {\r\n\r\n // If the path isn't a string, return it\r\n if (typeof path !== 'string') return path;\r\n\r\n // Create new array\r\n var output = [];\r\n\r\n // Split to an array with dot notation\r\n path.split('.').forEach(function (item) {\r\n\r\n // Split to an array with bracket notation\r\n item.split(/\\[([^}]+)\\]/g).forEach(function (key) {\r\n\r\n // Push to the new array\r\n if (key.length > 0) {\r\n output.push(key);\r\n }\r\n\r\n });\r\n\r\n });\r\n\r\n return output;\r\n\r\n };\r\n\r\n // Get the path as an array\r\n path = stringToPath(path);\r\n\r\n // Cache the current object\r\n var current = obj;\r\n\r\n // For each item in the path, dig into the object\r\n for (var i = 0; i < path.length; i++) {\r\n\r\n // If the item isn't found, return the default (or null)\r\n if (!current[path[i]]) return def;\r\n\r\n // Otherwise, update the current value\r\n current = current[path[i]];\r\n\r\n }\r\n\r\n return current;\r\n\r\n};\r\n\r\nexport function getRemovedElement(arrayPasado, arrayActual) {\r\n if (!arrayPasado)\r\n return null;\r\n\r\n for (let i = 0; i < arrayPasado.length; i++) {\r\n if (!arrayActual || !arrayActual.includes(arrayPasado[i])) {\r\n return arrayPasado[i];\r\n }\r\n }\r\n\r\n return null; // Si no se encuentra ningún elemento eliminado\r\n}","import React from 'react';\r\nimport { NavLink } from 'react-router-dom';\r\nimport { connect } from 'react-redux';\r\nimport { NavDropdown, MenuItem } from \"react-bootstrap\";\r\nimport { generateLink } from '../Utils/Commons';\r\nimport { IconSVG, View } from '../Icons/Icons';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst TestNotifications = (props) => {\r\n const { t } = useTranslation()\r\n\r\n var notifications = {t(\"notifications.noNotifications\")};\r\n var notifCountContainer = null;\r\n\r\n if (props.notifications && props.notifications.length > 0) {\r\n let unreaded = 0;\r\n notifications = props.notifications.map((notification, index) => {\r\n if (notification.status === 0) {\r\n unreaded++;\r\n return (\r\n
  • \r\n \r\n {notification.content} \r\n \r\n
  • \r\n )\r\n }\r\n\r\n return null;\r\n });\r\n\r\n if (unreaded > 0)\r\n notifCountContainer = {unreaded};\r\n }\r\n\r\n const title = (\r\n <>\r\n \r\n {notifCountContainer}\r\n

    \r\n {t(\"notifications.notifications\")}\r\n \r\n

    \r\n \r\n );\r\n\r\n return (\r\n \r\n {notifications}\r\n \r\n )\r\n}\r\n\r\nconst AdminNavbarNotificationsContainer = connect(state => state.notifications)(TestNotifications);\r\n\r\nexport default AdminNavbarNotificationsContainer;","import React from \"react\";\r\nimport { MenuItem, NavDropdown } from \"react-bootstrap\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { NavLink } from \"react-router-dom\";\r\nimport avatar from \"../../assets/img/default-avatar.png\";\r\nimport { ApplicationPaths } from \"../api-authorization/ApiAuthorizationConstants\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\nexport const AdminNavbarUser = (props) => {\r\n const { user } = props;\r\n const { t } = useTranslation();\r\n const settings = useSelector(state => state.settings.settings);\r\n const logoutPath = { pathname: `${ApplicationPaths.LogOut}`, state: { local: true } };\r\n\r\n return (\r\n <>\r\n \r\n \"Avatar\"\r\n\r\n {user.family_name ? <>{user.family_name} {user.given_name} : user.email}\r\n
    \r\n }\r\n //noCaret\r\n id=\"current-user-navbar\"\r\n bsClass=\"current-user-dropdown dropdown\"\r\n >\r\n \r\n {t(\"userProfile.myProfile\")}\r\n \r\n \r\n {t(\"userProfile.edit\")}\r\n \r\n \r\n {t(\"userProfile.changePassword\")}\r\n \r\n \r\n
  • \r\n \r\n {t(\"userProfile.logout\")}\r\n \r\n
  • \r\n \r\n \r\n );\r\n}","import React from \"react\";\r\nimport { Nav } from \"react-bootstrap\";\r\nimport { LoginMenu } from \"../api-authorization/LoginMenu\";\r\nimport { useAuthorization } from \"../Authorization/useAuthorization.js\";\r\nimport AdminNavbarNotificationsContainer from \"./AdminNavbarNotifications\";\r\nimport { AdminNavbarUser } from \"./AdminNavbarUser\";\r\n\r\nconst HeaderLinks = () => {\r\n\r\n const [isAuthenticated, user] = useAuthorization();\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n}\r\nexport default HeaderLinks;\r\n","import React from \"react\";\r\nimport { Navbar } from \"react-bootstrap\";\r\nimport AdminNavbarLinks from \"./AdminNavbarLinks.jsx\";\r\n\r\nconst AdminNavbar = props => {\r\n\r\n const getActiveRoute = (routes) => {\r\n let activeRoute = \"EMR\";\r\n\r\n for (let i = 0; i < routes.length; i++) {\r\n if (routes[i].collapse) {\r\n let collapseActiveRoute = getActiveRoute(routes[i].routes);\r\n if (collapseActiveRoute !== activeRoute) {\r\n return collapseActiveRoute;\r\n }\r\n } else {\r\n var path = routes[i].layout + routes[i].path.replace(/:id/gi, \"\");;\r\n if (window.location.href.indexOf(path) !== -1) {\r\n return routes[i].name// route.layout + path;\r\n //return routes[i].layout + path;\r\n }\r\n }\r\n }\r\n return activeRoute;\r\n };\r\n\r\n //const getCrumbs = () => {\r\n // routes\r\n // // Get all routes that contain the current one.\r\n // .filter(({ path }) => props.match.path.includes(path))\r\n // // Swap out any dynamic routes with their param values.\r\n // .map(({ path, ...rest }) => ({\r\n // path: Object.keys(props.match.params).length\r\n // ? Object.keys(props.match.params).reduce(\r\n // (item, param) =>\r\n // item.replace(`:${param}`, props.match.params[param]),\r\n // getActiveRoute(routes, path)//route.layout + path\r\n // )\r\n // : getActiveRoute(routes, path),//route.layout + path,\r\n // ...rest\r\n // }));\r\n //}\r\n\r\n //// function for responsive that hides/shows the sidebar\r\n //const mobileSidebarToggle = e => {\r\n // document.documentElement.classList.toggle(\"nav-open\");\r\n ////if (\r\n //// document.documentElement.className === \"nav-open\" &&\r\n //// props.fixedClasses !== \"dropdown\"\r\n ////) {\r\n //// //props.handleFixedClick();\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 {getActiveRoute(routes)}\r\n \r\n \r\n \r\n */}\r\n {/* Here we import the links that appear in navbar */}\r\n {window.innerWidth > 992 ? (\r\n \r\n \r\n \r\n ) : null}\r\n \r\n );\r\n}\r\n\r\nexport default AdminNavbar;\r\n","import axios from './index';\r\n\r\nexport const getQueryString = (newActiveFilters, search) => {\r\n const searchParams = new URLSearchParams(search || '');\r\n\r\n searchParams.delete('currentDate');\r\n if (newActiveFilters.currentDate) {\r\n searchParams.append('currentDate', newActiveFilters.currentDate);\r\n }\r\n searchParams.delete('view');\r\n if (newActiveFilters.view) {\r\n searchParams.append('view', newActiveFilters.view);\r\n }\r\n\r\n searchParams.delete('projects');\r\n (newActiveFilters.projects || []).forEach(project => searchParams.append('projects', project));\r\n searchParams.delete('protocols');\r\n (newActiveFilters.protocols || []).forEach(protocol => searchParams.append('protocols', protocol));\r\n searchParams.delete('practitioners');\r\n (newActiveFilters.practitioners || []).forEach(practitioner => searchParams.append('practitioners', practitioner));\r\n searchParams.delete('type');\r\n if (newActiveFilters.type != null && newActiveFilters.type.id) {\r\n searchParams.append('type', newActiveFilters.type.id);\r\n }\r\n\r\n searchParams.delete('deleted');\r\n if (newActiveFilters.deleted) {\r\n searchParams.append('deleted', newActiveFilters.deleted);\r\n }\r\n searchParams.delete('medicalRecord');\r\n if (newActiveFilters.medicalRecord != null) {\r\n searchParams.append('medicalRecord', newActiveFilters.medicalRecord);\r\n }\r\n\r\n searchParams.delete('present');\r\n if (newActiveFilters.present != null) {\r\n searchParams.append('present', newActiveFilters.present);\r\n }\r\n\r\n return searchParams.toString();\r\n}\r\n\r\nexport const getPagingAndOrderParams = (newActiveFilters, searchParams) => {\r\n\r\n if (!newActiveFilters)\r\n return;\r\n\r\n searchParams.delete('pageIndex'); // se resetea el paginado\r\n if (newActiveFilters.pagination?.page) {\r\n searchParams.append('pageIndex', newActiveFilters.pagination.page);\r\n }\r\n searchParams.delete('pageSize');\r\n if (newActiveFilters.pagination?.sizePerPage) {\r\n searchParams.append('pageSize', newActiveFilters.pagination.sizePerPage);\r\n }\r\n searchParams.delete('sortField');\r\n if (newActiveFilters.sort?.sortField) {\r\n searchParams.append('sortField', newActiveFilters.sort.sortField);\r\n }\r\n searchParams.delete('sortOrder');\r\n if (newActiveFilters.sort?.sortOrder) {\r\n searchParams.append('sortOrder', newActiveFilters.sort.sortOrder);\r\n }\r\n\r\n return searchParams;\r\n}\r\nexport const getQueryString2 = (query, search) => {\r\n\r\n var searchParams = new URLSearchParams(search || '');\r\n\r\n if (!query)\r\n return searchParams.toString();\r\n\r\n searchParams = getPagingAndOrderParams(query, searchParams);\r\n\r\n if (query.filters) {\r\n for (const property in query.filters) {\r\n\r\n searchParams.delete(property);\r\n if (query.filters[property] !== null && query.filters[property] !== undefined) {\r\n searchParams.append(property, query.filters[property]);\r\n }\r\n }\r\n }\r\n\r\n return searchParams.toString();\r\n}\r\n\r\nexport const getEvents = async filters => {\r\n const queryString = getQueryString(filters, window.location.search);\r\n return axios.get(queryString ? `api/v1/agenda/events?${queryString}` : 'api/v1/agenda/events');\r\n};\r\nexport const getEventsByPatient = async (medicalRecordNumber, filters) => {\r\n const queryString = getQueryString2(filters, window.location.search);\r\n return axios.get(queryString ? `api/v1/agenda/eventsbypatient/${medicalRecordNumber}?${queryString}` : `api/v1/agenda/eventsbypatient/${medicalRecordNumber}`);\r\n};\r\nexport const getWaitingList = () => {\r\n return axios.get(`api/v1/agenda/waitingList`);\r\n};\r\nexport const getEvent = q => {\r\n return axios.get(`api/v1/agenda/event?${q}`);\r\n};\r\nexport const getEventAPI = id => {\r\n return axios.get(`api/v1/agenda/events/${id}`);\r\n};\r\n\r\nexport const createEvent = (event) => {\r\n return axios.post('api/v1/agenda/event', event);\r\n};\r\n\r\nexport const updateEvent = (event) => {\r\n return axios.put(`api/v1/agenda/event/`, event);\r\n};\r\n\r\nexport const updateEventAttendance = (eventId) => {\r\n return axios.put(`api/v1/agenda/event/${eventId}/attended`);\r\n};\r\n\r\nexport const notAttendanceAppointment = (eventId, reason) => {\r\n return axios.put(`api/v1/agenda/event/${eventId}/notattendance/${reason}`);\r\n};\r\n\r\nexport const updateEventStatus = (eventId, confirmed) => {\r\n return axios.put(`api/v1/agenda/event/${eventId}/status/${confirmed}`);\r\n};\r\n\r\nexport const setPresent = (eventId) => {\r\n return axios.put(`api/v1/agenda/event/${eventId}/present`, eventId);\r\n};\r\n\r\nexport const cancelEvent = (id, reason) => {\r\n return axios.put(`api/v1/agenda/event/${id}/${reason}`, id);\r\n};\r\n\r\nexport const getPatient = id => {\r\n return axios.get(`api/v1/agenda/patient/${id}`);\r\n};\r\n\r\nexport const searchPatients = q => {\r\n return axios.get('api/v1/database/patients/search', { params: { q } });\r\n}\r\n\r\nexport const getProfessionals = () => {\r\n return axios.get('api/v1/users/practitioners?pageSize=1000');\r\n};\r\n\r\nexport const getProfessionalsByProject = (projectId) => {\r\n return axios.get(`api/v1/agenda/project/${projectId}/professionals`);\r\n};\r\n\r\nexport const getPractitionersByProtocol = (protocolId) => {\r\n return axios.get(`api/v1/protocols/${protocolId}/practitioners/simple?sortField=FullName&sortOrder=desc&pageSize=50`);\r\n};\r\n\r\nexport const searchProtocolsAPI = q => {\r\n return axios.get('api/v1/agenda/protocol/search', { params: { q } });\r\n}\r\n/*\r\nexport const getProjects = () => {\r\n return axios.get('api/v1/agenda/projects');\r\n};\r\n\r\nexport const getProtocols = () => {\r\n return axios.get('api/v1/agenda/protocols');\r\n};*/\r\n\r\nexport const exportToExcel = (filters) => {\r\n const queryString = getQueryString(filters, window.location.search);\r\n return axios.get(queryString ? `api/v1/agenda/events/exportToExcel?${queryString}` : 'api/v1/agenda/events/exportToExcel', {\r\n responseType: 'blob',\r\n timeout: 300000,\r\n });\r\n};\r\n\r\nexport const getMasterData = () => {\r\n return axios.get('api/v1/agenda/masterdata');\r\n};\r\n\r\nexport const getMedicalServiceAPI = (id) => {\r\n return axios.get(`api/v1/agenda/medicalServices/${id}`);\r\n};\r\nexport const getMedicalServicesAPI = () => {\r\n return axios.get(`api/v1/agenda/medicalServices`);\r\n};\r\nexport const getMedicalServicePriceAPI = (medicalServiceId, medicalInsuranceId, medicalPlanId) => {\r\n return axios.get(`api/v1/agenda/medicalServices/${medicalServiceId}/medicalInsurance/${medicalInsuranceId}/medicalPlan/${medicalPlanId}`);\r\n};\r\nexport const getPractitionersAPI = (medicalServiceId, medicalInsuranceId) => {\r\n return axios.get(`api/v1/agenda/medicalServices/${medicalServiceId}/medicalInsurance/${medicalInsuranceId}/practitioners`);\r\n};\r\nexport const getAvailabilityAPI = (userId, medicalServiceId, medicalInsuranceId, medicalPlanId, isFirstTime, isOverShift) => {\r\n return axios.get(`api/v1/agenda/availability/medicalServices/${medicalServiceId}/medicalInsurance/${medicalInsuranceId}/medicalPlan/${medicalPlanId}/practitioners/${userId}/${isFirstTime}/${isOverShift}`);\r\n};\r\nexport const getGlobalAvailabilityAPI = (userId) => {\r\n return axios.get(`api/v1/agenda/availability/practitioners/${userId}`);\r\n};\r\n\r\nexport const getScheduleLocksAPI = (filters) => {\r\n const queryString = getQueryString2(filters, window.location.search);\r\n return axios.get(queryString ? `api/v1/agenda/scheduleLock?${queryString}` : 'api/v1/agenda/scheduleLock');\r\n};\r\nexport const createScheduleLockAPI = (scheduleLock) => {\r\n return axios.post('api/v1/agenda/scheduleLock', scheduleLock);\r\n};\r\nexport const deleteScheduleLockAPI = (id) => {\r\n return axios.delete(`api/v1/agenda/scheduleLock/${id}`);\r\n};","import React from \"react\";\r\nimport moment from 'moment';\r\nimport { Tooltip } from \"../Utils/Tooltips\";\r\nimport { Check, PersonCheck } from \"../Icons/Icons\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\nconst EventPatient = ({ event }) => {\r\n const { t } = useTranslation();\r\n\r\n var title = event.attended === false ? {event.title} : event.title\r\n var confirmed = event.confirmed === true ? : null;\r\n var present = event.present && !event.attended ? : null;\r\n var tooltip = (\r\n <>\r\n
    {t(\"calendar.patient\")}: {event.patient?.fullName}
    \r\n
    {t(\"calendar.medicalRecord\")}: {event.patient?.medicalRecordNumber}
    \r\n
    {t(\"calendar.practitioner\")}: {event.practitioner?.fullName}
    \r\n
    {t(\"calendar.visitType\")}: {event.visitType?.title}
    \r\n {event.protocol ?
    {t(\"calendar.protocol\")}: {event.protocol.title}
    : null}\r\n \r\n );\r\n\r\n return (\r\n \r\n
    \r\n
    {confirmed} {present} {title} - {moment(event.start).format('H:mm')}
    \r\n
    {event.practitioner?.fullName}
    \r\n
    \r\n
    \r\n );\r\n}\r\nconst EventScheduleLock = ({ event }) => {\r\n const { t } = useTranslation();\r\n var tooltip = (\r\n
    \r\n
    {t(\"calendar.scheduleLock\")}
    \r\n {event.practitioner &&
    {t(\"calendar.practitioner\")}: {event.practitioner?.fullName}
    }\r\n
    {moment(event.start).format('H:mm')} - {moment(event.end).format('H:mm')}
    \r\n
    \r\n );\r\n return (\r\n \r\n
    \r\n
    {t(\"calendar.scheduleLock\")} - {moment(event.start).format('H:mm')}
    \r\n
    {event.practitioner?.fullName}
    \r\n
    \r\n
    \r\n );\r\n}\r\nexport const Event = ({ event }) => {\r\n\r\n if (event.visitType?.code === \"SCHEDULELOCK\")\r\n return \r\n else\r\n return \r\n}\r\n\r\nconst EventMonthPatient = (props) => {\r\n const { t } = useTranslation();\r\n let event = props.event;\r\n var title = event.attended === false ? {event.title} : event.title\r\n var confirmed = event.confirmed === true ? : null;\r\n var tooltip = (\r\n <>\r\n
    {t(\"calendar.patient\")}: {event.patient?.fullName}
    \r\n
    {t(\"calendar.medicalRecord\")}: {event.patient?.medicalRecordNumber}
    \r\n
    {t(\"calendar.practitioner\")}: {event.practitioner?.fullName}
    \r\n {event.protocol ?
    {t(\"calendar.protocol\")}: {event.protocol?.title}
    : null}\r\n \r\n );\r\n\r\n return (\r\n \r\n
    {confirmed} {title} - {moment(event.start).format('H:mm')}
    \r\n
    \r\n );\r\n}\r\nconst EventMonthScheduleLock = ({ event }) => {\r\n const { t } = useTranslation();\r\n\r\n var tooltip = (\r\n
    \r\n
    {t(\"calendar.scheduleLock\")}
    \r\n {event.practitioner &&
    {t(\"calendar.practitioner\")}: {event.practitioner?.fullName}
    }\r\n
    {moment(event.start).format('H:mm')} - {moment(event.end).format('H:mm')}
    \r\n
    \r\n );\r\n return (\r\n \r\n
    {t(\"calendar.scheduleLock\")} - {moment(event.start).format('H:mm')} - {moment(event.end).format('H:mm')}
    \r\n
    \r\n );\r\n}\r\nexport const EventMonth = ({ event }) => {\r\n\r\n if (event.visitType?.code === \"SCHEDULELOCK\")\r\n return \r\n else\r\n return \r\n}\r\n\r\nconst EventAgendaPatient = (props) => {\r\n const { t } = useTranslation();\r\n let event = props.event;\r\n var confirmed = event.confirmed === true ? : null;\r\n\r\n return (\r\n <>\r\n
    {t(\"calendar.patient\")}: {event.patient?.fullName}
    \r\n
    {t(\"calendar.medicalRecord\")}: {event.patient?.medicalRecordNumber}
    \r\n
    {t(\"calendar.practitioner\")}: {event.practitioner?.fullName}
    \r\n {event.protocol ?
    {t(\"calendar.protocol\")}: {event.protocol?.title}
    : null}\r\n\r\n {confirmed && <>{t(\"calendar.appointmentConfirmed\")} {confirmed}}\r\n \r\n );\r\n}\r\nconst EventAgendaScheduleLock = ({ event }) => {\r\n const { t } = useTranslation();\r\n return (
    {t(\"calendar.scheduleLock\")} {event.practitioner?.fullName}
    );\r\n}\r\nexport const EventAgenda = ({ event }) => {\r\n\r\n if (event.visitType?.code === \"SCHEDULELOCK\")\r\n return \r\n else\r\n return \r\n}","import axios from './index';\r\n\r\nexport const getQueryString = (newActiveFilters, search) => {\r\n const searchParams = new URLSearchParams(search || '');\r\n \r\n searchParams.delete('sizePerPage'); // se resetea el paginado\r\n if(newActiveFilters.pagination?.sizePerPage && newActiveFilters.pagination.sizePerPage !== 1){\r\n searchParams.append('pageSize', newActiveFilters.pagination.sizePerPage);\r\n }\r\n searchParams.delete('pageIndex'); // se resetea el paginado\r\n if(newActiveFilters.pagination?.page && newActiveFilters.pagination.page !== 1){\r\n searchParams.append('pageIndex', newActiveFilters.pagination.page);\r\n }\r\n searchParams.delete('sortField');\r\n if(newActiveFilters.sort?.sortField){\r\n searchParams.append('sortField', newActiveFilters.sort.sortField);\r\n }\r\n searchParams.delete('sortOrder');\r\n if(newActiveFilters.sort?.sortOrder){\r\n searchParams.append('sortOrder', newActiveFilters.sort.sortOrder);\r\n }\r\n \r\n searchParams.delete('q');\r\n if(newActiveFilters.q){\r\n searchParams.append('q', newActiveFilters.q);\r\n }\r\n\r\n searchParams.delete('projects');\r\n (newActiveFilters.projects || []).forEach(project => searchParams.append('projects', project.id));\r\n searchParams.delete('protocols');\r\n (newActiveFilters.protocols || []).forEach(protocol => searchParams.append('protocols', protocol.id));\r\n searchParams.delete('professionals');\r\n (newActiveFilters.professionals || []).forEach(professional => searchParams.append('professionals', professional.id));\r\n searchParams.delete('type');\r\n if (newActiveFilters.type != null && newActiveFilters.type.id) {\r\n searchParams.append('type', newActiveFilters.type.id);\r\n }\r\n\r\n return searchParams.toString();\r\n}\r\n\r\nexport const getPractitioners = async filters => {\r\n const queryString = getQueryString(filters, window.location.search);\r\n return axios.get(queryString ? `api/v1/admin/practitioners?${queryString}` : 'api/v1/admin/practitioners');\r\n};\r\n\r\nexport const getPractitioner = (id) => {\r\n return axios.get(`api/v1/admin/practitioner/${id}`);\r\n};\r\n\r\nexport const createPractitioner = (patient) => {\r\n return axios.post('api/v1/admin/practitioner', patient);\r\n};\r\n\r\nexport const updatePractitioner = (patient) => {\r\n return axios.put('api/v1/admin/practitioner', patient);\r\n};\r\n\r\nexport const getMasterData = () => {\r\n return axios.get('api/v1/admin/masterdata');\r\n};\r\n\r\nexport const getMedicalInsurancePlanByMedicalInsurance = (medicalInsurance) => {\r\n return axios.get(`api/v1/admin/masterdata/${medicalInsurance}`);\r\n};\r\n\r\nexport const getMasterDataSelect = (item) => {\r\n return axios.get(`api/v1/admin/selectmasterdata?items=${item}`);\r\n};\r\n\r\nexport const getStatesByCountry = (countrycodeISO2) => {\r\n return axios.get(`api/v1/admin/states/${countrycodeISO2}`);\r\n};\r\n\r\nexport const getCitiesByState = (statecodeISO2) => {\r\n return axios.get(`api/v1/admin/cities/${statecodeISO2}`);\r\n};\r\n\r\nexport const exportToExcel = (filters) => {\r\n const queryString = getQueryString(filters, window.location.search);\r\n \r\n return axios.get(queryString ? `api/v1/admin/practitioners/exportToExcel?${queryString}` : 'api/v1/admin/practitioners/exportToExcel', {\r\n responseType: 'arraybuffer'\r\n });\r\n};\r\n\r\nexport const getAdverseEventsData = () => {\r\n return axios.get('api/v1/admin/adverseeventsdata');\r\n}\r\nexport const getDrugsData = () => {\r\n return axios.get('api/v1/admin/drugsdata');\r\n}\r\nexport const getEntryData = () => {\r\n return axios.get('api/v1/admin/entrydata');\r\n}\r\nexport const getFamilyHistoryData = () => {\r\n return axios.get('api/v1/admin/familyhistorydata');\r\n}\r\nexport const getLaboratoryData = () => {\r\n return axios.get('api/v1/admin/laboratorydata');\r\n}\r\n\r\nexport const getAuditTrail = (entity, entityId) => {\r\n return axios.get(`api/v1/admin/audits/${entity}/${entityId}`);\r\n}\r\n\r\nexport const getLastAuditTrail = (entity, entityId) => {\r\n return axios.get(`api/v1/admin/audits/last/${entity}/${entityId}`);\r\n}","import axios from './index';\r\n\r\nexport const getQueryString = (newActiveFilters, search) => {\r\n const searchParams = new URLSearchParams(search || '');\r\n\r\n searchParams.delete('pageIndex'); // se resetea el paginado\r\n if (newActiveFilters.pagination && newActiveFilters.pagination.page && newActiveFilters.pagination.page !== 1) {\r\n searchParams.append('pageIndex', newActiveFilters.pagination.page);\r\n }\r\n searchParams.delete('pageSize');\r\n if (newActiveFilters.pagination && newActiveFilters.pagination.sizePerPage && newActiveFilters.pagination.sizePerPage !== 1) {\r\n searchParams.append('pageSize', newActiveFilters.pagination.sizePerPage);\r\n }\r\n searchParams.delete('sortField');\r\n if (newActiveFilters.sort && newActiveFilters.sort.sortField) {\r\n searchParams.append('sortField', newActiveFilters.sort.sortField);\r\n }\r\n searchParams.delete('sortOrder');\r\n if (newActiveFilters.sort && newActiveFilters.sort.sortOrder) {\r\n searchParams.append('sortOrder', newActiveFilters.sort.sortOrder);\r\n }\r\n\r\n searchParams.delete('patientId');\r\n if (newActiveFilters.patientId) {\r\n searchParams.append('patientId', newActiveFilters.patientId);\r\n }\r\n\r\n searchParams.delete('medicalRecordNumber');\r\n if (newActiveFilters.medicalRecordNumber) {\r\n searchParams.append('medicalRecordNumber', newActiveFilters.medicalRecordNumber);\r\n }\r\n\r\n searchParams.delete('actual');\r\n if (newActiveFilters.actual) {\r\n searchParams.append('actual', newActiveFilters.actual);\r\n }\r\n\r\n searchParams.delete('includePersonalHistory');\r\n if (newActiveFilters.includePersonalHistory) {\r\n searchParams.append('includePersonalHistory', newActiveFilters.includePersonalHistory);\r\n }\r\n\r\n searchParams.delete('entryId');\r\n if (newActiveFilters.entryId) {\r\n searchParams.append('entryId', newActiveFilters.entryId);\r\n }\r\n\r\n searchParams.delete('category');\r\n if (newActiveFilters.category) {\r\n searchParams.append('category', newActiveFilters.category);\r\n }\r\n\r\n if (newActiveFilters.filters) {\r\n for (const property in newActiveFilters.filters) {\r\n\r\n searchParams.delete(property);\r\n if (newActiveFilters.filters[property] !== null && newActiveFilters.filters[property] !== undefined) {\r\n searchParams.append(property, newActiveFilters.filters[property]);\r\n }\r\n }\r\n }\r\n\r\n return searchParams.toString();\r\n}\r\n\r\nexport const getEntries = async (medicalRecordNumber, filters) => {\r\n const queryString = getQueryString(filters, window.location.search);\r\n return axios.get(`api/v1/medicalRecords/${medicalRecordNumber}?${queryString}`);\r\n};\r\nexport const getEntry = (medicalRecordNumber, id) => {\r\n return axios.get(`api/v1/medicalRecords/${medicalRecordNumber}/entry/${id}`);\r\n};\r\nexport const createEntry = (medicalRecordNumber, entry) => {\r\n return axios.post(`api/v1/medicalRecords/${medicalRecordNumber}/entry`, entry);\r\n};\r\nexport const assignVisitId = (medicalRecordNumber, entryId, visitId) => {\r\n return axios.put(`api/v1/medicalRecords/${medicalRecordNumber}/entry/${entryId}/assignVisitId/${visitId}`, {});\r\n};\r\nexport const saveEntry = (medicalRecordNumber, entryId, entry) => {\r\n return axios.put(`api/v1/medicalRecords/${medicalRecordNumber}/entry/${entryId}`, entry);\r\n};\r\nexport const publishEntry = (medicalRecordNumber, entryId, entry) => {\r\n return axios.put(`api/v1/medicalRecords/${medicalRecordNumber}/entry/${entryId}/publish`, entry);\r\n};\r\nexport const deleteEntry = (medicalRecordNumber, entryId) => {\r\n return axios.delete(`api/v1/medicalRecords/${medicalRecordNumber}/entry/${entryId}`);\r\n};\r\nexport const exportEntry = (medicalRecordNumber, entryId, pin) => {\r\n return axios.get(`api/v1/medicalRecords/${medicalRecordNumber}/entry/${entryId}/exportToPDF/${pin}`, {\r\n responseType: 'blob',\r\n timeout: 30000,\r\n });\r\n};\r\nexport const exportEntries = (medicalRecordNumber, pin) => {\r\n return axios.get(`api/v1/medicalRecords/${medicalRecordNumber}/exportToPDF/${pin}`, {\r\n responseType: 'blob',\r\n timeout: 300000,\r\n });\r\n};\r\n\r\nexport const getAdherence = (filters) => {\r\n const queryString = getQueryString(filters, window.location.search);\r\n return axios.get(`api/v1/medicalRecords/adherence?${queryString}`);\r\n};\r\nexport const postAdherence = (entryId, adherence) => {\r\n return axios.post(`api/v1/medicalRecords/entry/${entryId}/adherence`, adherence);\r\n};\r\n\r\nexport const getEvents = (filters) => {\r\n const queryString = getQueryString(filters, window.location.search);\r\n return axios.get(`api/v1/medicalRecords/events?${queryString}`);\r\n};\r\nexport const getAdverseEvents = (filters) => {\r\n const queryString = getQueryString(filters, window.location.search);\r\n return axios.get(`api/v1/medicalRecords/adverseEvents?${queryString}`);\r\n};\r\nexport const getAdverseEvent = (entryId, id) => {\r\n return axios.get(`api/v1/medicalRecords/entry/${entryId}/adverseEvents/${id}`);\r\n};\r\nexport const getAdverseEventHistoryAPI = (medicalRecordNumber, conceptId) => { \r\n return axios.get(`api/v1/medicalRecords/${medicalRecordNumber}/adverseEvents/${conceptId}/history`);\r\n};\r\nexport const postAdverseEvents = (entryId, data) => {\r\n return axios.post(`api/v1/medicalRecords/entry/${entryId}/adverseEvents`, data);\r\n};\r\nexport const putAdverseEvent = (entryId, id, data) => {\r\n return axios.put(`api/v1/medicalRecords/entry/${entryId}/adverseEvents/${id}`, data);\r\n};\r\n\r\nexport const getAllConditions = (filters) => {\r\n const queryString = getQueryString(filters, window.location.search);\r\n return axios.get(`api/v1/medicalRecords/conditions?${queryString}`);\r\n};\r\nexport const deleteCondition = (entryId, id) => {\r\n return axios.delete(`api/v1/medicalRecords/entry/${entryId}/adverseEvents/${id}`);\r\n}\r\nexport const postCondition = (entryId, data, category) => {\r\n return axios.post(`api/v1/medicalRecords/entry/${entryId}/condition/${category}`, data);\r\n}\r\nexport const postCopyCondition = (entryId, conditionId, data) => {\r\n return axios.post(`api/v1/medicalRecords/entry/${entryId}/condition/${conditionId}/copy`, data);\r\n}\r\nexport const getConditions = (entryId, category, filters) => {\r\n const queryString = getQueryString(filters, window.location.search);\r\n return axios.get(`api/v1/medicalRecords/entry/${entryId}/conditions/${category}?${queryString}`);\r\n};\r\n\r\nexport const getAttachments = (filters) => {\r\n const queryString = getQueryString(filters, window.location.search);\r\n return axios.get(`api/v1/medicalRecords/attachments?${queryString}`);\r\n};\r\nexport const getAttachment = (id, medicalRecordNumber, entryId) => {\r\n return axios.get(`api/v1/medicalRecords/attachment?id=${id}&medicalRecordNumber=${medicalRecordNumber}&entryId=${entryId}`, { responseType: 'blob' });\r\n};\r\n\r\nexport const getDrugs = (filters) => {\r\n const queryString = getQueryString(filters, window.location.search);\r\n return axios.get(`api/v1/medicalRecords/drugs?${queryString}`);\r\n};\r\nexport const getDrugsHistoryAPI = (medicalRecordNumber, conceptId) => { \r\n return axios.get(`api/v1/medicalRecords/${medicalRecordNumber}/drugs/${conceptId}/history`);\r\n};\r\nexport const getDrug = (entryId, id) => {\r\n return axios.get(`api/v1/medicalRecords/entry/${entryId}/drugs/${id}`);\r\n};\r\nexport const postDrug = (entryId, data) => {\r\n return axios.post(`api/v1/medicalRecords/entry/${entryId}/drugs`, data);\r\n};\r\nexport const putDrug = (entryId, id, data) => {\r\n return axios.put(`api/v1/medicalRecords/entry/${entryId}/drugs/${id}`, data);\r\n};\r\n\r\nexport const getPrescriptions = (filters) => {\r\n const queryString = getQueryString(filters, window.location.search);\r\n return axios.get(`api/v1/medicalRecords/prescriptions?${queryString}`);\r\n};\r\nexport const getPrescription = (entryId, id) => {\r\n return axios.get(`api/v1/medicalRecords/entry/${entryId}/prescriptions/${id}`);\r\n};\r\nexport const postPrescription = (entryId, data) => {\r\n return axios.post(`api/v1/medicalRecords/entry/${entryId}/prescriptions`, data);\r\n};\r\nexport const putPrescription = (entryId, id, data) => {\r\n return axios.put(`api/v1/medicalRecords/entry/${entryId}/prescriptions/${id}`, data);\r\n};\r\nexport const exportPrescription = (medicalRecordNumber, entryId, id, pin) => {\r\n return axios.get(`api/v1/medicalRecords/${medicalRecordNumber}/entry/${entryId}/prescriptions/${id}/exportToPDF/${pin}`, {\r\n responseType: 'blob',\r\n timeout: 30000,\r\n });\r\n};\r\n\r\nexport const getOrders = (filters) => {\r\n const queryString = getQueryString(filters, window.location.search);\r\n return axios.get(`api/v1/medicalRecords/orders?${queryString}`);\r\n};\r\nexport const getOrder = (entryId, id) => {\r\n return axios.get(`api/v1/medicalRecords/entry/${entryId}/orders/${id}`);\r\n};\r\nexport const postOrder = (entryId, data) => {\r\n return axios.post(`api/v1/medicalRecords/entry/${entryId}/orders`, data);\r\n};\r\nexport const putOrder = (entryId, id, data) => {\r\n return axios.put(`api/v1/medicalRecords/entry/${entryId}/orders/${id}`, data);\r\n};\r\nexport const exportOrder = (medicalRecordNumber, entryId, id, pin) => {\r\n return axios.get(`api/v1/medicalRecords/${medicalRecordNumber}/entry/${entryId}/orders/${id}/exportToPDF/${pin}`, {\r\n responseType: 'blob',\r\n timeout: 30000,\r\n });\r\n};\r\n\r\nexport const getProcedures = (filters) => {\r\n const queryString = getQueryString(filters, window.location.search);\r\n return axios.get(`api/v1/medicalRecords/procedures?${queryString}`);\r\n};\r\nexport const getProcedure = (entryId, id) => {\r\n return axios.get(`api/v1/medicalRecords/entry/${entryId}/procedures/${id}`);\r\n};\r\nexport const getProcedureHistoryAPI = (medicalRecordNumber, conceptId) => { \r\n return axios.get(`api/v1/medicalRecords/${medicalRecordNumber}/procedures/${conceptId}/history`);\r\n};\r\nexport const postProcedure = (entryId, data) => {\r\n return axios.post(`api/v1/medicalRecords/entry/${entryId}/procedures`, data);\r\n};\r\nexport const putProcedure = (entryId, id, data) => {\r\n return axios.put(`api/v1/medicalRecords/entry/${entryId}/procedures/${id}`, data);\r\n};\r\n\r\nexport const getAnthropometrics = (filters) => {\r\n const queryString = getQueryString(filters, window.location.search);\r\n return axios.get(`api/v1/medicalRecords/anthropometrics?${queryString}`);\r\n};\r\nexport const getAnthropometric = (entryId, id) => {\r\n return axios.get(`api/v1/medicalRecords/entry/${entryId}/anthropometrics/${id}`);\r\n};\r\nexport const getAnthropometricsHistory = (medicalRecordNumber) => {\r\n return axios.get(`api/v1/medicalRecords/${medicalRecordNumber}/anthropometrics/history`);\r\n};\r\nexport const postAnthropometric = (entryId, data) => {\r\n return axios.post(`api/v1/medicalRecords/entry/${entryId}/anthropometrics`, data);\r\n};\r\nexport const putAnthropometric = (entryId, id, data) => {\r\n return axios.put(`api/v1/medicalRecords/entry/${entryId}/anthropometrics/${id}`, data);\r\n};\r\n\r\nexport const getFamilyHistories = (filters) => {\r\n const queryString = getQueryString(filters, window.location.search);\r\n return axios.get(`api/v1/medicalRecords/familyhistories?${queryString}`);\r\n};\r\nexport const getFamilyHistory = (entryId, id) => {\r\n return axios.get(`api/v1/medicalRecords/entry/${entryId}/familyhistories/${id}`);\r\n};\r\nexport const postFamilyHistory = (entryId, data) => {\r\n return axios.post(`api/v1/medicalRecords/entry/${entryId}/familyhistories`, data);\r\n};\r\nexport const putFamilyHistory = (entryId, id, data) => {\r\n return axios.put(`api/v1/medicalRecords/entry/${entryId}/familyhistories/${id}`, data);\r\n};\r\n\r\nexport const getPersonalHistories = (filters) => {\r\n const queryString = getQueryString(filters, window.location.search);\r\n return axios.get(`api/v1/medicalRecords/personalHistory?${queryString}`);\r\n};\r\nexport const getPersonalHistory = (entryId, id) => {\r\n return axios.get(`api/v1/medicalRecords/entry/${entryId}/personalHistory/${id}`);\r\n};\r\nexport const postPersonalHistory = (entryId, data) => {\r\n return axios.post(`api/v1/medicalRecords/entry/${entryId}/personalHistory`, data);\r\n};\r\nexport const putPersonalHistory = (entryId, id, data) => {\r\n return axios.put(`api/v1/medicalRecords/entry/${entryId}/personalHistory/${id}`, data);\r\n};\r\n\r\nexport const getPersonalHabits = (medicalRecordNumber, entryId) => {\r\n const queryString = getQueryString({ medicalRecordNumber, entryId }, window.location.search);\r\n return axios.get(`api/v1/medicalRecords/personalhabits?${queryString}`);\r\n};\r\nexport const getPersonalHabit = (entryId, id) => {\r\n return axios.get(`api/v1/medicalRecords/entry/${entryId}/personalHabits/${id}`);\r\n};\r\nexport const postPersonalHabit = (entryId, data) => {\r\n return axios.post(`api/v1/medicalRecords/entry/${entryId}/personalHabits`, data);\r\n};\r\nexport const putPersonalHabit = (entryId, id, data) => {\r\n return axios.put(`api/v1/medicalRecords/entry/${entryId}/personalHabits/${id}`, data);\r\n};\r\n\r\nexport const getLaboratories = (filters) => {\r\n const queryString = getQueryString(filters, window.location.search);\r\n return axios.get(`api/v1/medicalRecords/laboratories?${queryString}`);\r\n};\r\nexport const postLaboratories = (entryId, data) => {\r\n return axios.post(`api/v1/medicalRecords/entry/${entryId}/laboratories`, data);\r\n};\r\nexport const putLaboratoryResult = (entryId, id, data) => {\r\n return axios.put(`api/v1/medicalRecords/entry/${entryId}/laboratories/${id}`, data);\r\n};\r\nexport const getLaboratoryResult = (entryId, id) => {\r\n return axios.get(`api/v1/medicalRecords/entry/${entryId}/laboratories/${id}`);\r\n};\r\nexport const getLaboratoryResults = (laboratoryId) => {\r\n return axios.get(`api/v1/medicalRecords/laboratories/${laboratoryId}/results`);\r\n};\r\nexport const getLaboratoryResultHistory = (laboratoryId) => {\r\n return axios.get(`api/v1/medicalRecords/laboratories/${laboratoryId}/history`);\r\n};\r\n\r\n\r\nexport const getLastVitals = (medicalRecordNumber) => {\r\n return axios.get(`api/v1/medicalRecords/vitals/last/${medicalRecordNumber}`);\r\n};\r\nexport const getVitals = (filters) => {\r\n const queryString = getQueryString(filters, window.location.search);\r\n return axios.get(`api/v1/medicalRecords/vitals?${queryString}`);\r\n};\r\nexport const getVital = (entryId, id) => {\r\n return axios.get(`api/v1/medicalRecords/entry/${entryId}/vitals/${id}`);\r\n};\r\nexport const getVitalsHistory = (medicalRecordNumber) => {\r\n return axios.get(`api/v1/medicalRecords/${medicalRecordNumber}/vitals/history`);\r\n};\r\nexport const postVital = (entryId, data) => {\r\n return axios.post(`api/v1/medicalRecords/entry/${entryId}/vitals`, data);\r\n};\r\nexport const putVital = (entryId, id, data) => {\r\n return axios.put(`api/v1/medicalRecords/entry/${entryId}/vitals/${id}`, data);\r\n};\r\n\r\nexport const uploadAttachment = (entryId, formData) => {\r\n return axios.post(`api/v1/medicalRecords/uploadAttachment/entry/${entryId}`, formData, {\r\n headers: {\r\n 'Content-Type': 'multipart/form-data'\r\n }\r\n })\r\n}\r\n\r\nexport const uploadAttachmentEndpoint = (entryId) => {\r\n return `api/v1/medicalRecords/uploadAttachment/entry/${entryId}`;\r\n}\r\n\r\nexport const isPatientInProtocol = (medicalRecordNumber) => {\r\n return axios.get(`api/v1/medicalRecords/${medicalRecordNumber}/protocol`);\r\n};\r\nexport const isPatientInProjects = (medicalRecordNumber) => {\r\n return axios.get(`api/v1/medicalRecords/${medicalRecordNumber}/projects`);\r\n};","import axios from './index';\r\n\r\nexport const getPagingAndOrderParams = (newActiveFilters, searchParams) => {\r\n\r\n if (!newActiveFilters)\r\n return;\r\n\r\n searchParams.delete('pageIndex'); // se resetea el paginado\r\n if (newActiveFilters.pagination?.page) {\r\n searchParams.append('pageIndex', newActiveFilters.pagination.page);\r\n }\r\n searchParams.delete('pageSize');\r\n if (newActiveFilters.pagination?.sizePerPage) {\r\n searchParams.append('pageSize', newActiveFilters.pagination.sizePerPage);\r\n }\r\n searchParams.delete('sortField');\r\n if (newActiveFilters.sort?.sortField) {\r\n searchParams.append('sortField', newActiveFilters.sort.sortField);\r\n }\r\n searchParams.delete('sortOrder');\r\n if (newActiveFilters.sort?.sortOrder) {\r\n searchParams.append('sortOrder', newActiveFilters.sort.sortOrder);\r\n }\r\n\r\n return searchParams;\r\n}\r\n\r\nexport const getQueryString = (query, search) => {\r\n\r\n var searchParams = new URLSearchParams(search || '');\r\n\r\n if (!query)\r\n return searchParams.toString();\r\n\r\n searchParams = getPagingAndOrderParams(query, searchParams);\r\n\r\n if (query.filters) {\r\n for (const property in query.filters) {\r\n\r\n searchParams.delete(property);\r\n if (query.filters[property] !== null && query.filters[property] !== undefined) {\r\n searchParams.append(property, query.filters[property]);\r\n }\r\n }\r\n }\r\n\r\n return searchParams.toString();\r\n}\r\n\r\n// Admin\r\nexport const getMasterData = (items) => {\r\n const itemsParams = new URLSearchParams(window.location.search || '');\r\n itemsParams.delete('items');\r\n items.forEach(item => itemsParams.append('items', item));\r\n return axios.get(`api/v1/protocols/selectmasterdata?${itemsParams}`);\r\n};\r\n\r\nexport const getStudyTasks = (protocolId) => {\r\n return axios.get(`api/v1/protocols/${protocolId}/studyTasks`);\r\n};\r\n\r\n\r\n// Protocols\r\nexport const getProtocols = async (filters) => {\r\n const queryString = getQueryString(filters, window.location.search);\r\n return axios.get(queryString ? `api/v1/protocols/?${queryString}` : `api/v1/protocols`);\r\n};\r\nexport const getProtocol = async (protocolId) => {\r\n return axios.get(`api/v1/protocols/${protocolId}`);\r\n};\r\nexport const createProtocol = async (protocol) => {\r\n return axios.post(`api/v1/protocols/`, protocol);\r\n};\r\nexport const editProtocol = async (protocolId, protocol) => {\r\n return axios.put(`api/v1/protocols/${protocolId}`, protocol);\r\n};\r\nexport const closeProtocolApi = async (protocolId) => {\r\n return axios.post(`api/v1/protocols/${protocolId}/close`, null);\r\n};\r\nexport const removeProtocolApi = async (protocolId) => {\r\n return axios.delete(`api/v1/protocols/${protocolId}/remove`, null);\r\n};\r\n/*export const uploadAttachment = async (protocolId, formData) => {\r\n return axios.post(`api/v1/protocols/${protocolId}/attachments/`, formData, {\r\n headers: {\r\n 'Content-Type': 'multipart/form-data'\r\n }\r\n })\r\n}*/\r\nexport const uploadAttachmentEndpoint = (protocolId) => {\r\n return `api/v1/protocols/${protocolId}/attachments/`;\r\n}\r\nexport const getAttachments = (protocolId) => {\r\n return axios.get(`api/v1/protocols/${protocolId}/attachments`);\r\n};\r\nexport const getAttachment = (protocolId, attachmentId) => {\r\n return axios.get(`api/v1/protocols/${protocolId}/attachments/${attachmentId}`, { responseType: 'blob' });\r\n};\r\nexport const getAttachmentEndpoint = (protocolId) => {\r\n return `api/v1/protocols/${protocolId}/attachments`;\r\n};\r\nexport const removeAttachment = (protocolId, attachmentId) => {\r\n return axios.delete(`api/v1/protocols/${protocolId}/attachments/${attachmentId}`);\r\n};\r\n\r\nexport const uploadPractitionerAttachment = async (protocolId, practitionerId, formData) => {\r\n return axios.post(`api/v1/protocols/${protocolId}/practitioners/${practitionerId}/attachments`, formData, {\r\n headers: {\r\n 'Content-Type': 'multipart/form-data'\r\n }\r\n })\r\n}\r\nexport const getPractitionerAttachmentsEndpoint = (protocolId, practitionerId) => {\r\n return `api/v1/protocols/${protocolId}/practitioners/${practitionerId}/attachments`;\r\n}\r\n\r\nexport const getPractitioners = async (protocolId, filters) => {\r\n const queryString = getQueryString(filters, window.location.search);\r\n return axios.get(queryString ? `api/v1/protocols/${protocolId}/practitioners?${queryString}` : `api/v1/protocols/${protocolId}/practitioners`);\r\n};\r\nexport const getPractitioner = async (protocolId, practitionerUserId) => {\r\n return axios.get(`api/v1/protocols/${protocolId}/practitioners/${practitionerUserId}`);\r\n};\r\nexport const addPractitioners = async (protocolId, practitioners) => {\r\n return axios.post(`api/v1/protocols/${protocolId}/practitioners`, practitioners);\r\n};\r\nexport const editPractitioner = async (protocolId, practitionerUserId, practitioner) => {\r\n return axios.put(`api/v1/protocols/${protocolId}/practitioners/${practitionerUserId}`, practitioner);\r\n};\r\nexport const removePractitioner = async (protocolId, practitionerId) => {\r\n return axios.delete(`api/v1/protocols/${protocolId}/practitioners/${practitionerId}`);\r\n};\r\n\r\nexport const getPatients = async (protocolId, filters) => {\r\n const queryString = getQueryString(filters, window.location.search);\r\n return axios.get(queryString ? `api/v1/protocols/${protocolId}/patients?${queryString}` : `api/v1/protocols/${protocolId}/patients`);\r\n};\r\nexport const addPatients = async (protocolId, patients) => {\r\n return axios.post(`api/v1/protocols/${protocolId}/patients`, patients);\r\n};\r\nexport const changePatientNumber = async (protocolId, medicalRecordNumber, patient) => {\r\n return axios.put(`api/v1/protocols/${protocolId}/patients/${medicalRecordNumber}`, patient);\r\n};\r\nexport const removePatient = async (protocolId, numberInProtocol) => {\r\n return axios.delete(`api/v1/protocols/${protocolId}/patients/${numberInProtocol}`);\r\n};\r\n\r\n// Visits\r\nexport const getAllVisits = async (protocolId, filters) => {\r\n const queryString = getQueryString(filters, window.location.search);\r\n return axios.get(queryString ? `api/v1/protocols/${protocolId}/visitsTemplates/allversions/?${queryString}` : `api/v1/protocols/${protocolId}/visitsTemplates/allversions`);\r\n};\r\nexport const getApprovedVisits = async (protocolId) => {\r\n return axios.get(`api/v1/protocols/${protocolId}/visitsTemplates`);\r\n};\r\nexport const getVisits = async (protocolId) => {\r\n return axios.get(`api/v1/protocols/${protocolId}/visitsTemplates/all`);\r\n};\r\nexport const getVisit = async (protocolId, visitId) => {\r\n return axios.get(`api/v1/protocols/${protocolId}/visitsTemplates/${visitId}`);\r\n};\r\nexport const createVisit = async (protocolId, visit) => {\r\n return axios.post(`api/v1/protocols/${protocolId}/visitsTemplates/create`, visit);\r\n};\r\nexport const copyVisit = async (protocolId, visitId, visit) => {\r\n return axios.post(`api/v1/protocols/${protocolId}/visitsTemplates/${visitId}/copy`, visit);\r\n};\r\nexport const editVisit = async (protocolId, visitId, visit) => {\r\n return axios.put(`api/v1/protocols/${protocolId}/visitsTemplates/${visitId}`, visit);\r\n};\r\nexport const removeVisit = async (protocolId, visitId) => {\r\n return axios.delete(`api/v1/protocols/${protocolId}/visitsTemplates/${visitId}`);\r\n};\r\nexport const swapVisits = async (protocolId, visitId, visitToSwapId) => {\r\n return axios.put(`api/v1/protocols/${protocolId}/visitsTemplates/${visitId}/swap/${visitToSwapId}`);\r\n}\r\nexport const getVisitHistory = async (protocolId, visitId) => {\r\n return axios.get(`api/v1/protocols/${protocolId}/visitsTemplates/${visitId}/history`);\r\n};\r\nexport const publishVisit = async (protocolId, visitId, comments) => {\r\n return axios.post(`api/v1/protocols/${protocolId}/visitsTemplates/${visitId}/history/${comments}`);\r\n};\r\nexport const printVisit = async (protocolId, visitId) => {\r\n return axios.get(`api/v1/protocols/${protocolId}/visitsTemplates/${visitId}/export`, {\r\n responseType: 'blob',\r\n timeout: 30000,\r\n });\r\n};\r\n\r\n// Forms\r\nexport const getForms = async (protocolId, visitId) => {\r\n return axios.get(`api/v1/protocols/${protocolId}/visitsTemplates/${visitId}/forms`);\r\n};\r\nexport const getForm = (protocolId, visitId, formId) => {\r\n return axios.get(`api/v1/protocols/${protocolId}/visitsTemplates/${visitId}/forms/${formId}`);\r\n};\r\nexport const createForm = (protocolId, visitId, form) => {\r\n return axios.post(`api/v1/protocols/${protocolId}/visitsTemplates/${visitId}/forms/create`, form);\r\n};\r\nexport const editForm = (protocolId, visitId, formId, form) => {\r\n return axios.put(`api/v1/protocols/${protocolId}/visitsTemplates/${visitId}/forms/${formId}`, form);\r\n};\r\nexport const removeForm = (protocolId, visitId, formId) => {\r\n return axios.delete(`api/v1/protocols/${protocolId}/visitsTemplates/${visitId}/forms/${formId}`);\r\n};\r\nexport const swapForms = async (protocolId, visitId, formId, formToSwapId) => {\r\n return axios.put(`api/v1/protocols/${protocolId}/visitsTemplates/${visitId}/forms/${formId}/swap/${formToSwapId}`);\r\n}\r\n\r\n\r\n// Visit Tracking\r\nexport const getVisitsTracking = async (protocolId, query) => {\r\n const queryString = getQueryString(query, window.location.search);\r\n return axios.get(queryString ? `api/v1/visitTracking/${protocolId}/visitTracking?${queryString}` : `api/v1/visitTracking/${protocolId}/visitTracking`);\r\n};\r\nexport const getVisitTracking = async (protocolId, visitId, patientId) => {\r\n return axios.get(`api/v1/visitTracking/${protocolId}/visitTracking/${visitId}/patient/${patientId}`);\r\n};\r\nexport const getPreviousVisitTracking = async (protocolId, visitId, patientId) => {\r\n return axios.get(`api/v1/visitTracking/${protocolId}/visitTracking/${visitId}/patient/${patientId}/prev`);\r\n};\r\nexport const getVisitTrackingForms = async (protocolId, visitId, patientId) => {\r\n return axios.get(`api/v1/visitTracking/${protocolId}/visitTracking/${visitId}/patient/${patientId}/forms`);\r\n};\r\nexport const getVisitTrackingForm = async (protocolId, visitId, formId) => {\r\n return axios.get(`api/v1/visitTracking/${protocolId}/visitTracking/${visitId}/forms/${formId}`);\r\n};\r\nexport const createVisitTracking = async (protocolId, visitId, patientId) => {\r\n return axios.post(`api/v1/visitTracking/${protocolId}/visitTracking/${visitId}/patient/${patientId}`, {});\r\n};\r\nexport const saveVisitTracking = async (protocolId, visitId, patientId, form) => {\r\n return axios.put(`api/v1/visitTracking/${protocolId}/visitTracking/${visitId}/patient/${patientId}`, form);\r\n};\r\nexport const saveUploadVisitTrackingAPI = async (protocolId, visitId, patientId, form) => {\r\n return axios.put(`api/v1/visitTracking/${protocolId}/visitTracking/${visitId}/patient/${patientId}/saveUpload`, form);\r\n};\r\nexport const publishVisitTracking = async (protocolId, visitId, patientId, digitalSign) => {\r\n return axios.put(`api/v1/visitTracking/${protocolId}/visitTracking/${visitId}/patient/${patientId}/publish`, digitalSign);\r\n};\r\nexport const skipVisitTracking = async (protocolId, visitId, patientId, digitalSign) => {\r\n return axios.put(`api/v1/visitTracking/${protocolId}/visitTracking/${visitId}/patient/${patientId}/skip`, digitalSign);\r\n};\r\nexport const screenFailureVisitTracking = async (protocolId, visitId, patientId, digitalSign) => {\r\n return axios.put(`api/v1/visitTracking/${protocolId}/visitTracking/${visitId}/patient/${patientId}/screenFailure`, digitalSign);\r\n};\r\nexport const lostToFollowUpVisitTracking = async (protocolId, visitId, patientId, digitalSign) => {\r\n return axios.put(`api/v1/visitTracking/${protocolId}/visitTracking/${visitId}/patient/${patientId}/lostToFollowUp`, digitalSign);\r\n};\r\nexport const discontinuationVisitTracking = async (protocolId, visitId, patientId, digitalSign) => {\r\n return axios.put(`api/v1/visitTracking/${protocolId}/visitTracking/${visitId}/patient/${patientId}/discontinuation`, digitalSign);\r\n};\r\nexport const withoutDrugsVisitTracking = async (protocolId, visitId, patientId) => {\r\n return axios.put(`api/v1/visitTracking/${protocolId}/visitTracking/${visitId}/patient/${patientId}/withoutDrugs`, null);\r\n};\r\nexport const returnDrugsVisitTracking = async (protocolId, visitId, patientId) => {\r\n return axios.put(`api/v1/visitTracking/${protocolId}/visitTracking/${visitId}/patient/${patientId}/returnDrugs`, null);\r\n};\r\nexport const reSyncVisitTrackingAPI = async (protocolId, visitId, patientId, digitalSign) => {\r\n return axios.put(`api/v1/visitTracking/${protocolId}/visitTracking/${visitId}/patient/${patientId}/resync`, digitalSign);\r\n};\r\nexport const changeTypeVisitTrackingAPI = async (protocolId, visitId, patientId, type) => {\r\n return axios.put(`api/v1/visitTracking/${protocolId}/visitTracking/${visitId}/patient/${patientId}/changeType/${type}`, null);\r\n};\r\nexport const changeVisitTrackingTypeAPI = async (protocolId, visitId, patientId, entryId, visitTrackingId) => {\r\n return axios.put(`api/v1/visitTracking/${protocolId}/visitTracking/${visitId}/patient/${patientId}/entry/${entryId}/visit/${visitTrackingId}/changeVisitTrackingType`, null);\r\n};\r\nexport const removeVisitTrackingAPI = async (protocolId, visitId, patientId) => {\r\n return axios.delete(`api/v1/visitTracking/protocols/${protocolId}/visitTracking/${visitId}/patient/${patientId}`);\r\n};\r\n\r\nexport const uploadVisitTrackingAttachmentFormEndpoint = (protocolId, visitId, formId, patientId) => `api/v1/visitTracking/${protocolId}/visitTracking/${visitId}/patient/${patientId}/attachments/${formId}`;\r\n\r\nexport const getVisitTrackingAttachmentFormEndpoint = (protocolId, visitId, formId) => `api/v1/visitTracking/${protocolId}/visitTracking/${visitId}/attachments/${formId}/fileName`;\r\n/*\r\nexport const getVisitTrackingAttachmentForm = (protocolId, visitId, formId, fileName) => {\r\n return axios.get(`api/v1/visitTracking/${protocolId}/visitTracking/${visitId}/attachments/${formId}/fileName/${fileName}`, { responseType: 'blob' });\r\n};*/\r\n\r\nexport const getVisitTrackingExtraForms = async (protocolId, visitId, patientId) => {\r\n return axios.get(`api/v1/visitTracking/${protocolId}/visitTrackingExtra/${visitId}/patient/${patientId}/forms`);\r\n};\r\nexport const createVisitTrackingExtra = async (protocolId, patientId, vm) => {\r\n return axios.post(`api/v1/visitTracking/${protocolId}/visitTrackingExtra/patient/${patientId}`, vm);\r\n};\r\nexport const saveVisitTrackingExtraForm = async (protocolId, visitId, patientId, form) => {\r\n return axios.put(`api/v1/visitTracking/${protocolId}/visitTrackingExtra/${visitId}/patient/${patientId}`, form);\r\n};\r\nexport const publishVisitTrackingExtraForm = async (protocolId, visitId, patientId, type, form) => {\r\n return axios.put(`api/v1/visitTracking/${protocolId}/visitTrackingExtra/${visitId}/patient/${patientId}/publish/${type}`, form);\r\n};\r\nexport const removeVisitTrackingExtraAPI = async (protocolId, visitId, patientId) => {\r\n return axios.delete(`api/v1/visitTracking/protocols/${protocolId}/visitTrackingExtra/${visitId}/patient/${patientId}`);\r\n};\r\nexport const uploadVisitTrackingExtraAttachmentFormEndpoint = (protocolId, visitId, formId, patientId) => `api/v1/visitTracking/${protocolId}/visitTrackingExtra/${visitId}/patient/${patientId}/attachments/${formId}`;\r\n\r\nexport const getVisitTrackingAdverseEvents = async (protocolId, visitId, patientId) => {\r\n return axios.get(`api/v1/visitTracking/${protocolId}/visitTracking/${visitId}/patient/${patientId}/adverseEvents`);\r\n};\r\nexport const exportVisitTrackingAPI = async (protocolId, visitId, patientId, pin) => {\r\n return axios.get(`api/v1/visitTracking/${protocolId}/visitTracking/${visitId}/patient/${patientId}/export/${btoa(pin)}`, { responseType: 'blob' });\r\n};\r\nexport const updateEvolutionAPI = async (protocolId, visitId, patientId, evolutionId, evolution) => {\r\n return axios.put(`api/v1/visitTracking/${protocolId}/visitTracking/${visitId}/patient/${patientId}/evolution/${evolutionId}`, evolution);\r\n};\r\nexport const updateFormRestrictionsAPI = async (protocolId, restrictions) => {\r\n return axios.put(`api/v1/visitTracking/${protocolId}/formRestrictions`, restrictions);\r\n};\r\n\r\n\r\n// DocumentNotes\r\nexport const getDocumentNotes = async (protocolId, documentId) => {\r\n return axios.get(`api/v1/visitTracking/DocumentNotes/${documentId}/protocol/${protocolId}`);\r\n};\r\nexport const getDocumentNote = async (protocolId, noteId) => {\r\n return axios.get(`api/v1/visitTracking/DocumentNotes/protocol/${protocolId}/note/${noteId}`);\r\n};\r\nexport const createDocumentNote = async (documentId, protocolId, visitId, patientId, note) => {\r\n return axios.post(`api/v1/visitTracking/DocumentNotes/${documentId}/protocol/${protocolId}/visit/${visitId}/patient/${patientId}`, note);\r\n};\r\nexport const updateDocumentNote = async (protocolId, noteId, note) => {\r\n return axios.put(`api/v1/visitTracking/DocumentNotes/protocol/${protocolId}/note/${noteId}`, note);\r\n};\r\n\r\n// MonitorNotes\r\nexport const getExternalNotes = async (protocolId, filters) => {\r\n const queryString = getQueryString(filters, window.location.search);\r\n return axios.get(queryString ? `api/v1/visitTracking/DocumentNotes/monitornote/protocol/${protocolId}?${queryString}` : `api/v1/visitTracking/DocumentNotes/monitornote/protocol/${protocolId}`);\r\n};\r\nexport const getMonitorNotes = async (protocolId, documentId) => {\r\n return axios.get(`api/v1/visitTracking/DocumentNotes/monitornote/${documentId}/protocol/${protocolId}`);\r\n};\r\nexport const getMonitorNote = async (protocolId, noteId) => {\r\n return axios.get(`api/v1/visitTracking/DocumentNotes/protocol/${protocolId}/monitornote/${noteId}`);\r\n};\r\nexport const createMonitorNote = async (documentId, protocolId, visitId, patientId, note) => {\r\n return axios.post(`api/v1/visitTracking/DocumentNotes/monitornote/${documentId}/protocol/${protocolId}/visit/${visitId}/patient/${patientId}`, note);\r\n};\r\nexport const updateMonitorNote = async (protocolId, noteId, note) => {\r\n return axios.put(`api/v1/visitTracking/DocumentNotes/protocol/${protocolId}/monitornote/${noteId}`, note);\r\n};\r\nexport const changeStatusMonitorNote = async (protocolId, noteId, note) => {\r\n return axios.put(`api/v1/visitTracking/DocumentNotes/protocol/${protocolId}/monitornote/${noteId}/status`, note);\r\n};\r\nexport const removeMonitorNote = async (protocolId, noteId) => {\r\n return axios.delete(`api/v1/visitTracking/DocumentNotes/protocol/${protocolId}/monitornote/${noteId}`);\r\n};","import React from 'react'\r\nimport { toast } from 'react-toastify';\r\nimport i18n from 'i18next';\r\n\r\nconst ErrorMsg = ({ message }) => (\r\n
    \r\n {message}\r\n
    \r\n)\r\n\r\nconst ErrorMsgWithInfo = ({ message, info }) => (\r\n
    \r\n {message}: {info}\r\n
    \r\n)\r\n\r\nconst ErrorMsgWithArrayInfo = ({ message, arrayInfo }) => (\r\n
    \r\n {message}:\r\n
      \r\n {arrayInfo.map(item =>
    • {i18n.t(item)}
    • )}\r\n
    \r\n
    \r\n)\r\n\r\nconst hashCode = (content) => {\r\n var hash = 0, i, chr;\r\n if (content.length === 0) return hash;\r\n for (i = 0; i < content.length; i++) {\r\n chr = content.charCodeAt(i);\r\n hash = ((hash << 5) - hash) + chr;\r\n hash |= 0; // Convert to 32bit integer\r\n }\r\n return hash.toString();\r\n};\r\n\r\nconst getErrorMessage = (error) => {\r\n let errorMessage = \"\";\r\n if (error === undefined || error.response === undefined || error.response.data === undefined) {\r\n errorMessage = i18n.t(\"errors.serverError\");\r\n }\r\n else\r\n if (error.response.status === 500) {\r\n errorMessage = i18n.t(\"errors.serverError\");\r\n } else\r\n if (error.response.data.Error) {\r\n console.log(error.response.data.Error);\r\n console.log(error.response.data.StatusCode);\r\n errorMessage = i18n.t(error.response.data.Error);\r\n } else\r\n if (error.response.data.error) {\r\n console.log(error.response.data.error);\r\n console.log(error.response.data.statusCode);\r\n errorMessage = i18n.t(error.response.data.error);\r\n } else\r\n if (\r\n error.request.responseType === 'blob' &&\r\n error.response.data instanceof Blob &&\r\n error.response.data.type &&\r\n error.response.data.type.toLowerCase().indexOf('json') != -1\r\n ) {\r\n let reader = new FileReader();\r\n reader.onload = () => {\r\n\r\n const errorContent = JSON.parse(reader.result);\r\n errorMessage = i18n.t(errorContent.Error || errorContent.error);\r\n\r\n toast.error(, {\r\n position: toast.POSITION.TOP_RIGHT,\r\n toastId: hashCode(errorMessage)\r\n });\r\n };\r\n reader.readAsText(error.response.data);\r\n return null;\r\n };\r\n return errorMessage;\r\n}\r\n\r\nexport function HandleApiError(error) {\r\n\r\n let errorMessage = getErrorMessage(error);\r\n if (!errorMessage)\r\n return;\r\n toast.error(, {\r\n position: toast.POSITION.TOP_RIGHT,\r\n toastId: hashCode(errorMessage)\r\n });\r\n}\r\n\r\nexport function HandleApiErrorWithInfo(error, infoMessage, info) {\r\n\r\n let errorMessage = getErrorMessage(error);\r\n if (!errorMessage)\r\n return;\r\n toast.error();\r\n}\r\n\r\nexport function HandleError(error) {\r\n toast.error(, {\r\n position: toast.POSITION.TOP_RIGHT\r\n });\r\n}\r\n\r\nexport function HandleMessageError(errorMessage, errorInfo) {\r\n\r\n toast.error();\r\n}\r\n\r\nexport function HandleMessagesError(errorMessage, errorsInfo) {\r\n toast.error();\r\n}","import { useState, useEffect } from \"react\";\r\nimport { getAuditTrail, getLastAuditTrail } from \"../../api/admin\";\r\nimport { getAdverseEvents, getPersonalHistories } from \"../../api/medicalRecord\";\r\nimport { getMasterData, getVisits, getStudyTasks, getProtocol, getProtocols, getPatients, closeProtocolApi, getApprovedVisits, getVisitsTracking, getVisitTrackingAdverseEvents, getDocumentNotes, getDocumentNote, createDocumentNote, updateDocumentNote, removeProtocolApi } from \"../../api/protocol\";\r\nimport { getCurrentUserRole } from \"../../api/security\";\r\nimport { HandleApiError } from \"../../components/Notifications/APIErrorHandler\";\r\nimport { capitalize } from \"../../components/Utils/Commons\";\r\n\r\nexport const useMasterData = () => {\r\n const [data, setData] = useState({});\r\n const [isLoading, setIsLoading] = useState(false);\r\n\r\n useEffect(() => {\r\n let isSubscribed = true;\r\n const fetchData = () => {\r\n setIsLoading(true);\r\n getMasterData([\"Laboratories\", \"Phases\", \"Status\"]).then(response => {\r\n if (isSubscribed) {\r\n setData(response.data);\r\n setIsLoading(false);\r\n }\r\n }).catch(error => {\r\n if (isSubscribed) {\r\n console.log(error);\r\n setData({});\r\n setIsLoading(false);\r\n }\r\n });\r\n };\r\n\r\n fetchData();\r\n\r\n return () => isSubscribed = false;\r\n }, []);\r\n\r\n return [data, isLoading];\r\n}\r\n\r\nexport const useBriefMasterData = () => {\r\n const [data, setData] = useState({\r\n laboratories: [],\r\n phases: [],\r\n status: [],\r\n studyTasks: []\r\n });\r\n\r\n useEffect(() => {\r\n let isSubscribed = true;\r\n\r\n const fetchData = () => {\r\n\r\n getMasterData([\"Laboratories\", \"Phases\", \"Status\", \"StudyTasks\"]).then(response => {\r\n if (isSubscribed)\r\n setData(response.data);\r\n }).catch(error => {\r\n if (isSubscribed) {\r\n console.log(error);\r\n setData({\r\n laboratories: [],\r\n phases: [],\r\n status: [],\r\n studyTasks: []\r\n });\r\n }\r\n\r\n });\r\n };\r\n\r\n fetchData();\r\n\r\n return () => isSubscribed = false;\r\n }, []);\r\n\r\n return data;\r\n}\r\n\r\nexport const useStudyTasks = (protocolId) => {\r\n const [data, setData] = useState([]);\r\n\r\n useEffect(() => {\r\n let isSubscribed = true;\r\n const fetchData = () => {\r\n\r\n getStudyTasks(protocolId)\r\n .then(response => {\r\n if (isSubscribed) {\r\n setData(response.data);\r\n }\r\n })\r\n .catch(error => {\r\n if (isSubscribed) {\r\n console.log(error);\r\n setData([]);\r\n }\r\n });\r\n };\r\n\r\n fetchData();\r\n\r\n return () => isSubscribed = false;\r\n }, []);\r\n\r\n return data;\r\n}\r\n\r\nexport const useProtocolVisits = (protocolId) => {\r\n const [visits, setVisits] = useState([]);\r\n\r\n useEffect(() => {\r\n let isSubscribed = true;\r\n\r\n const fetchData = () => {\r\n\r\n getVisits(protocolId).then(response => {\r\n if (isSubscribed) {\r\n setVisits(response.data);\r\n }\r\n }).catch(error => {\r\n if (isSubscribed) {\r\n HandleApiError(error);\r\n setVisits([]);\r\n }\r\n });\r\n };\r\n\r\n fetchData();\r\n\r\n return () => isSubscribed = false;\r\n }, [protocolId]);\r\n\r\n return visits;\r\n}\r\n\r\nexport const useProtocolApprovedVisits = (protocolId) => {\r\n const [visits, setVisits] = useState([]);\r\n\r\n useEffect(() => {\r\n let isSubscribed = true;\r\n\r\n const fetchData = () => {\r\n\r\n getApprovedVisits(protocolId).then(response => {\r\n\r\n if (isSubscribed) {\r\n setVisits(response.data);\r\n }\r\n\r\n }).catch(error => {\r\n if (isSubscribed) {\r\n HandleApiError(error);\r\n setVisits([]);\r\n }\r\n });\r\n };\r\n\r\n fetchData();\r\n\r\n return () => isSubscribed = false;\r\n }, [protocolId]);\r\n\r\n return visits;\r\n}\r\n\r\nexport const useProtocols = (queryParams) => {\r\n const [data, setData] = useState([]);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [totalSize, setTotalSize] = useState(0);\r\n const [query, setQuery] = useState(queryParams ?? {\r\n pagination: {\r\n page: 1,\r\n sizePerPage: 10,\r\n totalSize: 0\r\n },\r\n sort: {\r\n sortField: \"Created\",\r\n sortOrder: \"desc\"\r\n },\r\n filters: {}\r\n });\r\n\r\n useEffect(() => {\r\n let isSubscribed = true;\r\n\r\n const fetchData = () => {\r\n setIsLoading(true);\r\n getProtocols(query)\r\n .then(response => {\r\n\r\n if (isSubscribed) {\r\n const paginatedResult = response.data;\r\n\r\n setTotalSize(paginatedResult.count);\r\n setData(paginatedResult.data);\r\n setIsLoading(false);\r\n }\r\n\r\n }).catch(error => {\r\n if (isSubscribed) {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n }\r\n });\r\n }\r\n\r\n fetchData();\r\n\r\n return () => isSubscribed = false;\r\n }, [query]);\r\n\r\n const handleTableChange = (type, { page, sizePerPage, sortField, sortOrder }) => {\r\n\r\n var newQuery = null;\r\n if (type === 'pagination') {\r\n newQuery = JSON.parse(JSON.stringify(query));\r\n\r\n newQuery.pagination.page = page;\r\n newQuery.pagination.sizePerPage = sizePerPage;\r\n\r\n setQuery(newQuery);\r\n }\r\n\r\n if (type === 'sort') {\r\n newQuery = JSON.parse(JSON.stringify(query));\r\n\r\n newQuery.sort.sortField = sortField;\r\n newQuery.sort.sortOrder = sortOrder;\r\n\r\n setQuery(newQuery);\r\n }\r\n }\r\n\r\n const handleFilterChange = (filterName, selectedValue) => {\r\n if (filterName) {\r\n var newQuery = JSON.parse(JSON.stringify(query));\r\n\r\n newQuery.pagination.page = 1;\r\n newQuery.filters[filterName] = selectedValue != null ? selectedValue.id : selectedValue;\r\n\r\n setQuery(newQuery);\r\n }\r\n }\r\n\r\n return [data, query, totalSize, isLoading, handleTableChange, handleFilterChange];\r\n}\r\n\r\nexport const useProtocol = (protocolId) => {\r\n const [brief, setBrief] = useState({});\r\n const [isLoading, setIsLoading] = useState(false);\r\n\r\n useEffect(() => {\r\n let isSubscribed = true;\r\n\r\n const fetchData = () => {\r\n setIsLoading(true);\r\n getProtocol(protocolId)\r\n .then(response => {\r\n if (isSubscribed) {\r\n setBrief(response.data);\r\n setIsLoading(false);\r\n }\r\n }).catch(error => {\r\n if (isSubscribed) {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n }\r\n });\r\n }\r\n\r\n fetchData();\r\n\r\n return () => isSubscribed = false;\r\n }, [protocolId]);\r\n\r\n const closeProtocol = (protocolId) => {\r\n setIsLoading(true);\r\n closeProtocolApi(protocolId)\r\n .then(response => {\r\n setIsLoading(false);\r\n }).catch(error => {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n });\r\n }\r\n\r\n const removeProtocol = (protocolId) => {\r\n setIsLoading(true);\r\n removeProtocolApi(protocolId)\r\n .then(response => {\r\n setIsLoading(false);\r\n }).catch(error => {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n });\r\n }\r\n\r\n return [isLoading, brief, closeProtocol, removeProtocol];\r\n}\r\n\r\nexport const useCurrentUserRol = (protocolId) => {\r\n const [rol, setRole] = useState({});\r\n const [isLoading, setIsLoading] = useState(false);\r\n\r\n useEffect(() => {\r\n let isSubscribed = true;\r\n\r\n const fetchData = () => {\r\n setIsLoading(true);\r\n getCurrentUserRole(protocolId)\r\n .then(response => {\r\n if (isSubscribed) {\r\n setRole(response.data);\r\n setIsLoading(false);\r\n }\r\n }).catch(error => {\r\n if (isSubscribed) {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n }\r\n });\r\n }\r\n\r\n fetchData();\r\n\r\n return () => isSubscribed = false;\r\n\r\n }, [protocolId]);\r\n\r\n return [rol, isLoading];\r\n}\r\n\r\nexport const usePatients = (protocolId) => {\r\n const [data, setData] = useState([]);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [totalSize, setTotalSize] = useState(0);\r\n\r\n useEffect(() => {\r\n let isSubscribed = true;\r\n\r\n const fetchData = () => {\r\n setIsLoading(true);\r\n getPatients(protocolId)\r\n .then(response => {\r\n\r\n if (isSubscribed) {\r\n const paginatedResult = response.data;\r\n\r\n setTotalSize(paginatedResult.count);\r\n setData(paginatedResult.data);\r\n setIsLoading(false);\r\n }\r\n\r\n }).catch(error => {\r\n if (isSubscribed) {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n }\r\n });\r\n }\r\n\r\n fetchData();\r\n\r\n return () => isSubscribed = false;\r\n }, [protocolId]);\r\n\r\n return [data, isLoading, totalSize];\r\n}\r\n\r\nexport const useVisitsTracking = () => {\r\n const [isLoading, setIsLoading] = useState(true);\r\n const [data, setData] = useState([]);\r\n\r\n const fetchData = async (protocolId, medicalRecordNumber) => {\r\n try {\r\n let newQuery = {\r\n pagination: {\r\n page: 1,\r\n sizePerPage: 10,\r\n totalSize: 0\r\n },\r\n sort: {\r\n sortField: 'MedicalRecordNumber',\r\n sortOrder: 'desc'\r\n },\r\n filters: {}\r\n };\r\n\r\n if (medicalRecordNumber) {\r\n newQuery.filters.medicalRecordNumber = medicalRecordNumber;\r\n }\r\n\r\n const response = await getVisitsTracking(protocolId, newQuery);\r\n setData(response.data);\r\n setIsLoading(false);\r\n\r\n } catch (error) {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n setData([]);\r\n }\r\n }\r\n\r\n return [data, isLoading, fetchData];\r\n}\r\n\r\nexport const useProtocolAdverseEvents = (protocolId, visitId, medicalRecordNumber, patientNumber) => {\r\n\r\n const [isLoading, setIsLoading] = useState(true);\r\n const [data, setData] = useState([]);\r\n var groups = [\r\n {\r\n label: 'Eventos Adversos',\r\n options: [],\r\n },\r\n {\r\n label: 'Antecedentes Personales',\r\n options: [],\r\n },\r\n {\r\n label: 'Otros',\r\n options: [{ conceptId: 0, description: \"Profilaxis\" }],\r\n }\r\n ];\r\n\r\n const fetchData = async (isSubscribed) => {\r\n\r\n try {\r\n const promise1 = getVisitTrackingAdverseEvents(protocolId, visitId, patientNumber);\r\n const promise2 = getAdverseEvents({\r\n medicalRecordNumber: medicalRecordNumber,\r\n pagination: { page: 1, sizePerPage: 100, },\r\n actual: false\r\n });\r\n const promise3 = getPersonalHistories({\r\n medicalRecordNumber: medicalRecordNumber,\r\n pagination: { page: 1, sizePerPage: 100, },\r\n actual: false\r\n });\r\n\r\n Promise.all([promise1, promise2, promise3]).then((responses) => {\r\n if (isSubscribed) {\r\n\r\n if (responses[0].data) {\r\n groups[0].options = groups[0].options.concat(responses[0].data);\r\n }\r\n if (responses[1].data) {\r\n var resEvents = responses[1].data.data;\r\n if (resEvents.length > 0) { // adverseEffectId: \"386661006\", adverseEffect: \"fiebre\"\r\n resEvents.forEach(event => {\r\n event.conceptId = event.adverseEffectId;\r\n event.description = event.adverseEffect;\r\n });\r\n groups[0].options = groups[0].options.concat(resEvents);\r\n }\r\n }\r\n if (responses[2].data) {\r\n let resPersonalHistory = responses[2].data.data;\r\n if (resPersonalHistory.length > 0) {\r\n resPersonalHistory.forEach(event => {\r\n event.conceptId = event.adverseEffectId;\r\n event.description = event.adverseEffect;\r\n });\r\n groups[1].options = groups[1].options.concat(resPersonalHistory);\r\n }\r\n }\r\n setData(groups);\r\n setIsLoading(false);\r\n }\r\n });\r\n }\r\n catch (error) {\r\n if (isSubscribed) {\r\n setIsLoading(false);\r\n setData(groups);\r\n }\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n let isSubscribed = true\r\n\r\n if (protocolId && visitId && (medicalRecordNumber || patientNumber))\r\n fetchData(isSubscribed);\r\n else\r\n setIsLoading(false);\r\n\r\n return () => isSubscribed = false;\r\n }, [protocolId]);\r\n\r\n return [data, isLoading, fetchData];\r\n}\r\n\r\nexport const useDocumentNotes = () => {\r\n const [isLoading, setIsLoading] = useState(true);\r\n\r\n const getNotes = async (protocolId, documentId) => {\r\n try {\r\n return getDocumentNotes(protocolId, documentId);\r\n } catch (error) {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n const getNote = async (protocolId, noteId) => {\r\n try {\r\n setIsLoading(true);\r\n const note = await getDocumentNote(protocolId, noteId);\r\n setIsLoading(false);\r\n\r\n return note;\r\n\r\n } catch (error) {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n const createNote = async (type, documentId, protocolId, visitId, patientId, note) => {\r\n try {\r\n setIsLoading(true);\r\n const documentNote = await createDocumentNote(documentId, protocolId, visitId, patientId, { note: note, type: type });\r\n setIsLoading(false);\r\n\r\n return documentNote;\r\n\r\n } catch (error) {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n const updateNote = async (protocolId, noteId, note) => {\r\n try {\r\n setIsLoading(true);\r\n const documentNote = await updateDocumentNote(protocolId, noteId, { note: note });\r\n setIsLoading(false);\r\n\r\n return documentNote;\r\n\r\n } catch (error) {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n return [isLoading, getNotes, getNote, createNote, updateNote];\r\n}\r\n\r\nexport const useAudits = (entity, entityId, hasVisitTracking) => {\r\n const [audits, setAudits] = useState(null);\r\n const [isLoading, setIsLoading] = useState(false);\r\n\r\n useEffect(() => {\r\n let isSubscribed = true;\r\n\r\n const fetchData = async () => {\r\n setIsLoading(true);\r\n try {\r\n console.log(entity, entityId)\r\n const resp = await getAuditTrail(entity, entityId);\r\n if (isSubscribed) {\r\n setAudits(resp.data);\r\n setIsLoading(false);\r\n }\r\n }\r\n catch (error) {\r\n if (isSubscribed) {\r\n HandleApiError(error);\r\n setAudits(null);\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n\r\n if (entityId && hasVisitTracking)\r\n fetchData();\r\n\r\n return () => isSubscribed = false;\r\n }, [entity, entityId, hasVisitTracking]);\r\n\r\n const getLastChange = (field) => {\r\n\r\n const fieldName = capitalize(field, false, \".\");\r\n\r\n var audit = audits?.find(x => x.oldValues[fieldName] !== undefined);\r\n if (audit) {\r\n return {\r\n old: audit.oldValues[fieldName] === null ? \"\" : audit.oldValues[fieldName],\r\n current: audit.newValues[fieldName] === null ? \"\" : audit.newValues[fieldName],\r\n };\r\n }\r\n\r\n return null;\r\n }\r\n\r\n return [isLoading, audits, getLastChange];\r\n}\r\n\r\nexport const useAuditsHelpers = () => {\r\n \r\n const getLastChange = (audits, field) => {\r\n\r\n const fieldName = capitalize(field, false, \".\");\r\n\r\n var audit = audits?.find(x => x.oldValues[fieldName] !== undefined);\r\n if (audit) {\r\n return {\r\n old: audit.oldValues[fieldName] === null ? \"\" : audit.oldValues[fieldName],\r\n current: audit.newValues[fieldName] === null ? \"\" : audit.newValues[fieldName],\r\n };\r\n }\r\n\r\n return null;\r\n }\r\n\r\n return [getLastChange];\r\n}\r\n\r\nexport const useLastAuditTrial = (entity, entityId) => {\r\n const [audit, setAudit] = useState({});\r\n const [isLoading, setIsLoading] = useState(false);\r\n\r\n useEffect(() => {\r\n let isSubscribed = true;\r\n\r\n const fetchData = async () => {\r\n setIsLoading(true);\r\n try {\r\n const resp = await getLastAuditTrail(entity, entityId);\r\n if (isSubscribed) {\r\n setAudit(resp.data);\r\n setIsLoading(false);\r\n }\r\n }\r\n catch (error) {\r\n if (isSubscribed) {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n\r\n if (entityId)\r\n fetchData();\r\n\r\n return () => isSubscribed = false;\r\n }, [entity, entityId]);\r\n\r\n return [isLoading, audit];\r\n}","import { useState, useEffect } from \"react\";\r\nimport { getMasterDataSelect } from '../../api/admin'\r\nimport { getAdverseEvents, getPersonalHistory } from '../../api/medicalRecord'\r\n\r\nexport const useMasterData = (type) => {\r\n const [data, setData] = useState([]);\r\n\r\n useEffect(() => {\r\n let isSubscribed = true\r\n\r\n const fetchData = () => {\r\n getMasterDataSelect(type).then(response => {\r\n if (isSubscribed) {\r\n var data = JSON.parse(response.data);\r\n setData(data[type]);\r\n }\r\n }).catch(error => {\r\n if (isSubscribed) {\r\n setData([]);\r\n console.log(error)\r\n }\r\n });\r\n };\r\n\r\n if (type)\r\n fetchData();\r\n\r\n return () => isSubscribed = false;\r\n }, [type]);\r\n\r\n return data;\r\n}\r\n\r\nexport const useAdverseEvents = (entryId, medicalRecordId) => {\r\n const [events, setEvents] = useState([]);\r\n\r\n const query = {\r\n entryId: entryId,\r\n medicalRecordId: medicalRecordId,\r\n pagination: {\r\n page: 1,\r\n sizePerPage: 100,\r\n totalSize: 0\r\n }\r\n };\r\n var groups = [\r\n {\r\n label: 'Eventos Adversos',\r\n options: [],\r\n },\r\n {\r\n label: 'Antecedentes Personales',\r\n options: [],\r\n },\r\n {\r\n label: 'Otros',\r\n options: [{ id: 0, adverseEffect: \"Profilaxis\" }],\r\n }\r\n ];\r\n\r\n useEffect(() => {\r\n let isSubscribed = true;\r\n\r\n const fetchData = async () => {\r\n try {\r\n const response = await getAdverseEvents(query);\r\n if (isSubscribed) {\r\n var resEvents = response.data;\r\n resEvents.data.forEach(event => { event.reasonId = event.id; });\r\n groups[0].options = resEvents.data;\r\n\r\n const res = await getPersonalHistory(query);\r\n if (isSubscribed) {\r\n let resPersonalHistory = res.data;\r\n resPersonalHistory.data.forEach(event => { event.reasonId = event.id; });\r\n groups[1].options = resPersonalHistory.data;\r\n\r\n setEvents(groups);\r\n }\r\n }\r\n }\r\n catch (error) {\r\n if (isSubscribed) {\r\n setEvents([]);\r\n }\r\n }\r\n };\r\n\r\n fetchData();\r\n\r\n return () => isSubscribed = false;\r\n }, []);\r\n\r\n return events;\r\n}\r\n\r\nexport const useCollapsable = () => {\r\n const [isCollapse, setIsCollapse] = useState(false);\r\n\r\n function toggle() {\r\n setIsCollapse(!isCollapse);\r\n }\r\n\r\n return [\r\n isCollapse,\r\n toggle\r\n ]\r\n};","import PropTypes from 'prop-types';\r\nimport React from \"react\";\r\nimport Select from 'react-select';\r\nimport CreatableSelect from 'react-select/creatable';\r\nimport { useProtocolAdverseEvents } from \"../../containers/Protocols/Hooks\";\r\nimport { useMasterData } from '../CustomHooks/Hooks';\r\n\r\nexport const CustomSelect = (props) => {\r\n\r\n const handleChange = value => {\r\n if (props.onChange)\r\n props.onChange(props.name, value);\r\n };\r\n\r\n const handleBlur = () => {\r\n if (props.onBlur)\r\n props.onBlur(props.name, true);\r\n };\r\n\r\n return (\r\n \r\n );\r\n}\r\nCustomSelect.propTypes = {\r\n name: PropTypes.string.isRequired,\r\n options: PropTypes.arrayOf(PropTypes.object).isRequired,\r\n value: PropTypes.object,\r\n isMulti: PropTypes.bool,\r\n optionValue: PropTypes.func,\r\n optionLabel: PropTypes.func,\r\n isClearable: PropTypes.bool,\r\n isDisabled: PropTypes.bool\r\n};\r\nCustomSelect.defaultProps = {\r\n getOptionLabel: (option) => option.title,\r\n getOptionValue: (option) => option.id,\r\n isClearable: false\r\n};\r\n\r\n\r\nexport const CustomCreatableSelect = (props) => {\r\n\r\n const handleChange = value => {\r\n if (props.onChange)\r\n props.onChange(props.name, value);\r\n };\r\n\r\n const handleBlur = () => {\r\n if (props.onBlur)\r\n props.onBlur(props.name, true);\r\n };\r\n\r\n return (\r\n \r\n );\r\n}\r\nCustomCreatableSelect.propTypes = {\r\n name: PropTypes.string.isRequired,\r\n options: PropTypes.arrayOf(PropTypes.object).isRequired,\r\n isMulti: PropTypes.bool,\r\n optionValue: PropTypes.func,\r\n optionLabel: PropTypes.func,\r\n isClearable: PropTypes.bool,\r\n isDisabled: PropTypes.bool\r\n};\r\nCustomCreatableSelect.defaultProps = {\r\n getOptionLabel: (option) => option,\r\n getOptionValue: (option) => option,\r\n isClearable: false\r\n};\r\n\r\nexport const CustomSelectAsync = (props) => {\r\n\r\n const options = useMasterData(props.masterData);\r\n\r\n const handleChange = value => {\r\n props.onChange(props.name, value);\r\n };\r\n\r\n const handleBlur = () => {\r\n if (props.onBlur)\r\n props.onBlur(props.name, true);\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n );\r\n}\r\nCustomSelectAsync.propTypes = {\r\n name: PropTypes.string.isRequired,\r\n masterData: PropTypes.string,\r\n isMulti: PropTypes.bool,\r\n optionValue: PropTypes.func,\r\n optionLabel: PropTypes.func,\r\n isClearable: PropTypes.bool,\r\n isDisabled: PropTypes.bool\r\n};\r\nCustomSelectAsync.defaultProps = {\r\n getOptionLabel: (option) => option.title,\r\n getOptionValue: (option) => option.id,\r\n isClearable: false\r\n};\r\n\r\nexport const AdverseEventsAsync = (props) => {\r\n\r\n const [data, isLoading] = useProtocolAdverseEvents(props.protocolId, props.visitId, props.medicalRecordNumber, props.patientNumber);\r\n\r\n const handleChange = value => {\r\n props.onChange(props.name, value);\r\n };\r\n\r\n const handleBlur = () => {\r\n if (props.onBlur)\r\n props.onBlur(props.name, true);\r\n };\r\n\r\n return (\r\n ({ ...base, zIndex: 9999 }) }}\r\n />\r\n );\r\n}\r\nAdverseEventsAsync.propTypes = {\r\n name: PropTypes.string.isRequired,\r\n protocolId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\r\n visitId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\r\n patientId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\r\n isMulti: PropTypes.bool,\r\n optionValue: PropTypes.func,\r\n optionLabel: PropTypes.func,\r\n isClearable: PropTypes.bool,\r\n isDisabled: PropTypes.bool\r\n};\r\nAdverseEventsAsync.defaultProps = {\r\n getOptionLabel: (option) => option.description,\r\n getOptionValue: (option) => option.conceptId,\r\n isClearable: false\r\n};","import React from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nexport const RequiredFieldError = () =>\r\n
    \r\n

    El campo es requerido

    \r\n
    \r\n\r\nexport const FormErrorMessage = props => {\r\n\r\n const { t } = useTranslation();\r\n\r\n if (props.children.key) {\r\n\r\n return (\r\n {t(props.children.key)}\r\n );\r\n }\r\n\r\n return (\r\n {t(props.children)}\r\n ); \r\n}","import PropTypes from 'prop-types'\r\nimport React, { useState } from \"react\"\r\nimport { ControlLabel, FormControl, FormGroup } from 'react-bootstrap'\r\nimport SweetAlert from \"react-bootstrap-sweetalert\"\r\nimport { useTranslation } from 'react-i18next'\r\nimport { CustomSelect } from '../CustomControls/CustomSelect'\r\nimport { FormErrorMessage } from '../Validations/FormValidationErrors'\r\n\r\nexport const ConfirmRemove = (props) => {\r\n const { t } = useTranslation();\r\n const [inputValue, setInputValue] = useState(null);\r\n const [selectedValue, setSelectedValue] = useState(null);\r\n const [error, setError] = useState(null);\r\n\r\n const onInputChange = (evt) => {\r\n setError(null);\r\n setInputValue(evt.currentTarget.value);\r\n }\r\n\r\n const onSelectChange = (_name, value) => {\r\n setInputValue(null);\r\n setError(null);\r\n setSelectedValue(value);\r\n }\r\n\r\n const handleOnConfirm = () => {\r\n if (!selectedValue) {\r\n setError(t(\"calendarErrors.event_Cancel_SelectReason\"));\r\n return;\r\n }\r\n // Cancelación por error de carga.\r\n if (selectedValue && selectedValue.id === 1) {\r\n props.onConfirm(props.id, \"error\");\r\n return;\r\n }\r\n // Cancelación por paciente o médico. \r\n if (selectedValue && selectedValue.id !== 1) {\r\n if (!inputValue) {\r\n setError(t(\"calendarErrors.event_Cancel_NotReason\"));\r\n return;\r\n }\r\n else {\r\n props.onConfirm(props.id, inputValue);\r\n }\r\n }\r\n }\r\n\r\n return (\r\n \r\n { props.onClose() }}\r\n confirmBtnBsStyle=\"success\"\r\n cancelBtnBsStyle=\"info\"\r\n confirmBtnText={t(\"buttons.confirm\")}\r\n cancelBtnText={t(\"buttons.back\")}\r\n showCancel\r\n allowOutsideClick={false}\r\n >\r\n
    \r\n \r\n {\r\n selectedValue && selectedValue.id !== 1 &&\r\n \r\n
    \r\n {t('calendar.reasons.reason')}\r\n \r\n
    \r\n }\r\n {\r\n error &&
    \r\n }\r\n
    \r\n \r\n
    \r\n );\r\n}\r\n\r\nConfirmRemove.propTypes = {\r\n onClose: PropTypes.func.isRequired,\r\n onConfirm: PropTypes.func.isRequired,\r\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\r\n title: PropTypes.string.isRequired,\r\n};","import { useState, useEffect } from \"react\";\r\nimport { HandleApiError } from \"../../components/Notifications/APIErrorHandler\";\r\nimport { getAvailabilityAPI, getEvents, getMasterData, getMedicalServiceAPI, getMedicalServicesAPI, \r\n getPractitionersAPI, getMedicalServicePriceAPI, getGlobalAvailabilityAPI, getScheduleLocksAPI, getEventAPI, deleteScheduleLockAPI, getEventsByPatient } from '../../api/agenda'\r\nimport moment from \"moment\";\r\n\r\nexport const useEvents = (query) => {\r\n const [events, setEvents] = useState([]);\r\n const [isLoading, setIsLoading] = useState(true);\r\n\r\n useEffect(() => {\r\n let isSubscribed = true\r\n const fetchData = async () => {\r\n try {\r\n const response = await getEvents(query);\r\n\r\n if (isSubscribed) {\r\n var events = response.data.map(event => {\r\n event.start = moment.utc(moment.utc(event.start)).local().toDate();\r\n event.end = moment.utc(moment.utc(event.end)).local().toDate();\r\n return event;\r\n });\r\n setEvents(events);\r\n setIsLoading(false);\r\n }\r\n } catch (error) {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n }\r\n }\r\n\r\n if (query)\r\n fetchData();\r\n\r\n return () => isSubscribed = false\r\n\r\n }, [query]);\r\n\r\n const getEvent = async (id) => {\r\n try {\r\n return getEventAPI(id);\r\n } catch (error) {\r\n HandleApiError(error);\r\n return [];\r\n }\r\n }\r\n\r\n return [events, isLoading, setEvents, getEvent];\r\n}\r\n\r\nexport const useMasterData = () => {\r\n const [masterData, setMasterData] = useState({});\r\n const [isLoading, setIsLoading] = useState(true);\r\n\r\n useEffect(() => {\r\n let isSubscribed = true\r\n const fetchData = async () => {\r\n try {\r\n const response = await getMasterData();\r\n\r\n if (isSubscribed) {\r\n setMasterData(response.data);\r\n setIsLoading(false);\r\n }\r\n } catch (error) {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n }\r\n }\r\n\r\n fetchData();\r\n\r\n return () => isSubscribed = false;\r\n }, []);\r\n\r\n return [masterData, isLoading];\r\n}\r\n\r\nexport const useAppointment = (medicalRecordNumber) => {\r\n const [isLoading, setIsLoading] = useState(true);\r\n const [events, setEvents] = useState([]);\r\n const [totalSize, setTotalSize] = useState(0);\r\n const [query, setQuery] = useState({\r\n medicalRecordNumber: medicalRecordNumber,\r\n pagination: {\r\n page: 1,\r\n sizePerPage: 5,\r\n totalSize: 0\r\n },\r\n sort: {\r\n sortField: \"Start\",\r\n sortOrder: \"desc\"\r\n },\r\n filters: {}\r\n });\r\n\r\n useEffect(() => {\r\n let isSubscribed = true\r\n const fetchData = async () => {\r\n try {\r\n setIsLoading(true);\r\n const paginatedItems = await getEventsByPatient(medicalRecordNumber, query);\r\n\r\n if (isSubscribed) {\r\n setTotalSize(paginatedItems.data.count);\r\n setEvents(paginatedItems.data.data);\r\n setIsLoading(false);\r\n }\r\n\r\n } catch (error) {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n setTotalSize(0);\r\n setEvents([]);\r\n }\r\n }\r\n\r\n if (medicalRecordNumber)\r\n fetchData();\r\n\r\n return () => isSubscribed = false;\r\n }, [medicalRecordNumber, query]);\r\n\r\n\r\n const handleFilterChange = (filterName, selectedValue) => {\r\n if (filterName) {\r\n var newQuery = JSON.parse(JSON.stringify(query));\r\n newQuery.filters[filterName] = selectedValue;\r\n newQuery.pagination.page = 1;\r\n setQuery(newQuery);\r\n }\r\n }\r\n\r\n const getMore = () => {\r\n var newQuery = JSON.parse(JSON.stringify(query));\r\n newQuery.pagination.page = newQuery.pagination.page + 1;\r\n setQuery(newQuery);\r\n }\r\n\r\n return [events, query, totalSize, isLoading, getMore, handleFilterChange];\r\n}\r\n\r\nexport const useAgenda = () => {\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [practitioners, setPractitioners] = useState([]);\r\n const [availability, setAvailability] = useState([]);\r\n\r\n const getPractitioners = async (medicalServiceId, medicalInsuranceId) => {\r\n try {\r\n return getPractitionersAPI(medicalServiceId, medicalInsuranceId);\r\n } catch (error) {\r\n HandleApiError(error);\r\n return [];\r\n }\r\n }\r\n\r\n const getAvailability = async (userId, medicalServiceId, medicalInsuranceId, medicalPlanId, isFirstTime, isOverShift) => {\r\n try {\r\n return getAvailabilityAPI(userId, medicalServiceId ?? 0, medicalInsuranceId ?? 0, medicalPlanId ?? 0, isFirstTime, isOverShift);\r\n } catch (error) {\r\n HandleApiError(error);\r\n return [];\r\n }\r\n }\r\n\r\n const getGlobalAvailability = async (userId) => {\r\n try {\r\n return getGlobalAvailabilityAPI(userId);\r\n } catch (error) {\r\n HandleApiError(error);\r\n return [];\r\n }\r\n }\r\n\r\n return [\r\n isLoading, setIsLoading,\r\n practitioners, getPractitioners, setPractitioners,\r\n availability, getAvailability, setAvailability, getGlobalAvailability];\r\n}\r\n\r\nexport const useScheduleLocks = () => {\r\n const [data, setData] = useState([]);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [totalSize, setTotalSize] = useState(0);\r\n const [query, setQuery] = useState({\r\n pagination: {\r\n page: 1,\r\n sizePerPage: 5,\r\n totalSize: 0\r\n },\r\n sort: {\r\n sortField: \"Start\",\r\n sortOrder: \"desc\"\r\n },\r\n filters: {}\r\n });\r\n\r\n useEffect(() => {\r\n let isSubscribed = true;\r\n\r\n const fetchData = () => {\r\n setIsLoading(true);\r\n getScheduleLocksAPI(query)\r\n .then(response => {\r\n if (isSubscribed) {\r\n const paginatedResult = response.data;\r\n\r\n setTotalSize(paginatedResult.count);\r\n setData(paginatedResult.data);\r\n setIsLoading(false);\r\n }\r\n }).catch(error => {\r\n if (isSubscribed) {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n }\r\n });\r\n }\r\n\r\n fetchData();\r\n\r\n return () => isSubscribed = false;\r\n }, [query]);\r\n\r\n const handleTableChange = (type, { page, sizePerPage, sortField, sortOrder }) => {\r\n\r\n var newQuery = null;\r\n if (type === 'pagination') {\r\n newQuery = JSON.parse(JSON.stringify(query));\r\n\r\n newQuery.pagination.page = page;\r\n newQuery.pagination.sizePerPage = sizePerPage;\r\n\r\n setQuery(newQuery);\r\n }\r\n\r\n if (type === 'sort') {\r\n newQuery = JSON.parse(JSON.stringify(query));\r\n\r\n newQuery.sort.sortField = sortField;\r\n newQuery.sort.sortOrder = sortOrder;\r\n\r\n setQuery(newQuery);\r\n }\r\n\r\n if (type === 'reload') {\r\n newQuery = JSON.parse(JSON.stringify(query));\r\n setQuery(newQuery);\r\n }\r\n }\r\n\r\n const handleFilterChange = (filterName, selectedValue) => {\r\n if (filterName) {\r\n var newQuery = JSON.parse(JSON.stringify(query));\r\n\r\n newQuery.filters[filterName] = selectedValue != null ? selectedValue.id : selectedValue;\r\n\r\n setQuery(newQuery);\r\n }\r\n }\r\n\r\n const handleRemove = async (id) => {\r\n try {\r\n return deleteScheduleLockAPI(id);\r\n } catch (error) {\r\n HandleApiError(error);\r\n return [];\r\n }\r\n }\r\n\r\n return [data, query, totalSize, isLoading, handleTableChange, handleFilterChange, handleRemove];\r\n}\r\n\r\nexport const useMedicalServices = () => {\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [medicalService, setMedicalService] = useState([]);\r\n const [medicalServices, setMedicalServices] = useState([]);\r\n const [medicalServicePrice, setMedicalServicePrice] = useState(null);\r\n\r\n const getMedicalService = async (id) => {\r\n try {\r\n return getMedicalServiceAPI(id);\r\n } catch (error) {\r\n HandleApiError(error);\r\n return [];\r\n }\r\n }\r\n\r\n const getMedicalServices = async () => {\r\n try {\r\n return getMedicalServicesAPI();\r\n } catch (error) {\r\n HandleApiError(error);\r\n return [];\r\n }\r\n }\r\n\r\n const getMedicalServicePrice = async (medicalServiceId, medicalInsuranceId, medicalPlanId) => {\r\n try {\r\n return getMedicalServicePriceAPI(medicalServiceId, medicalInsuranceId, medicalPlanId);\r\n } catch (error) {\r\n HandleApiError(error);\r\n return {};\r\n }\r\n }\r\n\r\n return [\r\n isLoading, setIsLoading,\r\n medicalService, getMedicalService, setMedicalService,\r\n medicalServices, getMedicalServices, setMedicalServices,\r\n medicalServicePrice, getMedicalServicePrice, setMedicalServicePrice];\r\n}","import moment from \"moment\"\r\n\r\nexport const visitTypeColorGetter = (code, event, returnRGB = true) => {\r\n switch (code) {\r\n case \"EXTERNAL\": return returnRGB ? \"#247dbd\" : \"rbc-event-blue\";\r\n case \"EXTERNAL_PHONE\": return returnRGB ? \"#20ad9b\" : \"rbc-event-green\"\r\n case \"OVERSHIFT\": return returnRGB ? \"#e0e32c\" : \"rbc-event-yellow\"\r\n case \"PROTOCOL\": return returnRGB ? \"#ffa534\" : \"rbc-event-orange\"\r\n case \"OTHER\": return returnRGB ? \"#5e5e5e\" : \"rbc-event-black\"\r\n case \"PROJECT\": return returnRGB ? \"#9368e9\" : \"rbc-event-purple\"\r\n case \"ESSENTIA\": return returnRGB ? \"#a6a6a6\" : \"rbc-event-gray\"\r\n case \"STUDIES\": return returnRGB ? \"#ca6e6e\" : \"rbc-event-red\"\r\n case \"PRESCREENING\": return returnRGB ? \"#e98101\" : \"rbc-event-orange\";\r\n case \"ORDER\": return returnRGB ? \"#23ccef\" : \"rbc-event-default\";\r\n case \"SCHEDULELOCK\": {\r\n if (event?.practitioner)\r\n return returnRGB ? \"rgba(255,165,52,0.2)\" : \"rbc-event-practitioner-lock\";\r\n else\r\n return returnRGB ? \"rgba(94,94,94,0.2)\" : \"rbc-event-lock\";\r\n }\r\n default: return returnRGB ? \"#23ccef\" : \"rbc-event-default\";\r\n }\r\n}\r\n\r\nconst dot = (color = '#ccc') => ({\r\n alignItems: 'center',\r\n display: 'flex',\r\n\r\n ':before': {\r\n backgroundColor: color,\r\n borderRadius: 10,\r\n content: '\" \"',\r\n display: 'block',\r\n marginRight: 8,\r\n height: 10,\r\n width: 10,\r\n },\r\n});\r\n\r\nexport const colourStyles = {\r\n option: (styles, { data }) => {\r\n const color = visitTypeColorGetter(data.code);\r\n return { ...styles, ...dot(color) };\r\n }\r\n};\r\n\r\nexport const validateAvailabilityDate = (current, _selected, practitionerAvailability) => {\r\n if (!practitionerAvailability || !practitionerAvailability.availableWeekDays)\r\n return false;\r\n\r\n if (!current.isSameOrAfter(moment().startOf('day')))\r\n return false;\r\n\r\n var availableDate = practitionerAvailability.availableDates.filter(x => moment(x.date).format('DD/MM/YYYY') === current.format('DD/MM/YYYY') && x.available);\r\n var availableWeekDays = practitionerAvailability.availableWeekDays.includes(current.day());\r\n\r\n return availableWeekDays && availableDate.length > 0;\r\n}\r\n\r\nexport const validateIsSameOfAfter = (current, dateToCompare) => {\r\n if (!dateToCompare)\r\n dateToCompare = moment().startOf('day');\r\n\r\n return moment(current).isSameOrAfter(dateToCompare);\r\n}\r\n\r\nexport const isValidEventStart = (startDate) => {\r\n if (moment().isSameOrAfter(startDate)) {\r\n return false;\r\n }\r\n return true;\r\n}\r\n\r\nexport function getAvailableTimes(start, end, interval) {\r\n var startTime = moment(start, 'HH:mm');\r\n var startTimeEnd = moment(start, 'HH:mm').add(interval, 'minutes');\r\n var endTime = moment(end, 'HH:mm');\r\n\r\n if (endTime.isBefore(startTime)) {\r\n endTime.add(1, 'day');\r\n }\r\n\r\n var timeStops = [];\r\n\r\n while (startTime <= endTime) {\r\n timeStops.push({ appointmentInit: startTime.format('HH:mm'), appointmentEnd: startTimeEnd.format('HH:mm') });\r\n startTime.add(interval, 'minutes');\r\n startTimeEnd.add(interval, 'minutes')\r\n }\r\n return timeStops;\r\n}","import React from \"react\";\r\n\r\nexport const Card = (props) => {\r\n\r\n return (\r\n
    \r\n {\r\n props.header &&\r\n
    \r\n {props.header}\r\n
    \r\n }\r\n {\r\n props.title &&\r\n
    \r\n

    {props.title}

    \r\n
    {props.subtitle}
    \r\n
    \r\n }\r\n \r\n {props.content}\r\n
    \r\n {\r\n props.footer &&
    \r\n {props.footer}\r\n
    \r\n }\r\n \r\n );\r\n}\r\n\r\nCard.defaultProps = {\r\n shadow: true,\r\n tabs: false,\r\n\r\n};\r\n\r\nexport default Card;\r\n","import React from \"react\"\r\nimport PropTypes from 'prop-types'\r\nimport DateTime from 'react-datetime'\r\nimport moment from 'moment';\r\n\r\nexport const CustomDateTime = (props) => {\r\n const { value, defaulValue, dateFormat, onChange, onBlur, ...rest } = props;\r\n\r\n const handleChange = value => {\r\n\r\n if (!onChange)\r\n return;\r\n\r\n if (value === \"\")\r\n onChange(props.name, \"\");\r\n\r\n var date = moment(value, dateFormat, true);\r\n if (date.isValid())\r\n onChange(props.name, date);\r\n };\r\n\r\n const handleBlur = () => {\r\n if (!onBlur)\r\n return;\r\n onBlur(props.name, true);\r\n };\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n}\r\n\r\nCustomDateTime.propTypes = {\r\n name: PropTypes.string.isRequired,\r\n disabled: PropTypes.bool,\r\n onChange: PropTypes.func.isRequired,\r\n onBlur: PropTypes.func.isRequired\r\n};\r\nCustomDateTime.defaultProps = {\r\n dateFormat: \"DD/MM/YYYY HH:mm\",\r\n inputProps: { placeholder: \"DD/MM/YYYY HH:mm\" },\r\n};\r\n\r\nexport const CustomTime = (props) => {\r\n const { value, ...rest } = props;\r\n\r\n const handleChange = value => {\r\n props.onChange(props.name, value);\r\n };\r\n\r\n const handleBlur = () => {\r\n props.onBlur(props.name, true);\r\n };\r\n\r\n var defaultValue = props.defaulValue ?? value ? moment(value).format(\"HH:mm\") : \"\";\r\n\r\n return (\r\n <>\r\n \r\n \r\n );\r\n}\r\n\r\nCustomTime.propTypes = {\r\n name: PropTypes.string.isRequired,\r\n disabled: PropTypes.bool,\r\n onChange: PropTypes.func.isRequired,\r\n onBlur: PropTypes.func.isRequired\r\n};\r\n\r\nexport const CustomDate = (props) => {\r\n\r\n const handleChange = value => {\r\n if (value === \"\")\r\n props.onChange(props.name, \"\");\r\n\r\n var date = moment(value, props.dateFormat, true);\r\n if (date.isValid())\r\n props.onChange(props.name, date);\r\n };\r\n\r\n const handleBlur = () => {\r\n props.onBlur(props.name, true);\r\n };\r\n\r\n var defaultValue = props.defaulValue ?? props.value ? moment(props.value).format(props.dateFormat) : \"\";\r\n return (\r\n <>\r\n \r\n \r\n );\r\n}\r\n\r\nCustomDate.propTypes = {\r\n name: PropTypes.string.isRequired,\r\n disabled: PropTypes.bool,\r\n onChange: PropTypes.func.isRequired,\r\n onBlur: PropTypes.func.isRequired\r\n};\r\nCustomDate.defaultProps = {\r\n dateFormat: \"DD/MM/YYYY\",\r\n inputProps: { placeholder: \"DD/MM/YYYY\" },\r\n};\r\n","import React, { useCallback, useEffect, useState } from \"react\";\r\nimport debounce from \"lodash.debounce\";\r\nimport PropTypes from 'prop-types';\r\nimport { FormControl } from \"react-bootstrap\";\r\n\r\nexport const CustomFormControl = (props) => {\r\n const { onChange, onBlur, value, name, type, placeholder, disabled, rows } = props;\r\n const [innerValue, setInnerValue] = useState('');\r\n const INPUT_DELAY = 500;\r\n\r\n useEffect(() => {\r\n if (value) {\r\n setInnerValue(value);\r\n } else {\r\n setInnerValue('');\r\n }\r\n }, [value]);\r\n\r\n const debouncedHandleOnChange = useCallback(\r\n debounce((name, value) => {\r\n if (onChange) {\r\n onChange(name, value);\r\n }\r\n }, INPUT_DELAY),\r\n [],\r\n );\r\n\r\n const handleOnChange = useCallback((event) => {\r\n const newValue = event.currentTarget.value;\r\n setInnerValue(newValue);\r\n debouncedHandleOnChange(event.currentTarget.name, event.currentTarget.value);\r\n }, [debouncedHandleOnChange]);\r\n\r\n if (type === \"textarea\")\r\n return (\r\n \r\n );\r\n \r\n return (\r\n \r\n );\r\n};\r\n\r\nCustomFormControl.propTypes = {\r\n onChange: PropTypes.func.isRequired,\r\n onBlur: PropTypes.func,\r\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\r\n type: PropTypes.string.isRequired,\r\n placeholder: PropTypes.string,\r\n disabled: PropTypes.bool,\r\n name: PropTypes.string.isRequired,\r\n rows: PropTypes.number,\r\n};","import React from \"react\";\r\n\r\nexport const CustomRadio = (props) => {\r\n const { number, label, option, name, ...rest } = props;\r\n\r\n\r\n const handleClick = (event) => {\r\n if (props.onChange) {\r\n if (props.checked)\r\n props.onChange(props.name, null);\r\n else\r\n props.onChange(props.name, event.target.value);\r\n }\r\n }\r\n\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n );\r\n}\r\n","import axios from './index';\r\n\r\nexport const getPagingAndOrderParams = (newActiveFilters, searchParams) => {\r\n\r\n if (!newActiveFilters)\r\n return;\r\n\r\n searchParams.delete('pageIndex'); // se resetea el paginado\r\n if (newActiveFilters.pagination?.page) {\r\n searchParams.append('pageIndex', newActiveFilters.pagination.page);\r\n }\r\n searchParams.delete('pageSize');\r\n if (newActiveFilters.pagination?.sizePerPage) {\r\n searchParams.append('pageSize', newActiveFilters.pagination.sizePerPage);\r\n }\r\n searchParams.delete('sortField');\r\n if (newActiveFilters.sort?.sortField) {\r\n searchParams.append('sortField', newActiveFilters.sort.sortField);\r\n }\r\n searchParams.delete('sortOrder');\r\n if (newActiveFilters.sort?.sortOrder) {\r\n searchParams.append('sortOrder', newActiveFilters.sort.sortOrder);\r\n }\r\n\r\n return searchParams;\r\n}\r\n\r\nexport const getQueryString = (query, search) => {\r\n\r\n var searchParams = new URLSearchParams(search || '');\r\n\r\n if (!query)\r\n return searchParams.toString();\r\n\r\n searchParams = getPagingAndOrderParams(query, searchParams);\r\n\r\n if (query.filters) {\r\n for (const property in query.filters) {\r\n\r\n searchParams.delete(property);\r\n if (query.filters[property] !== null && query.filters[property] !== undefined) {\r\n searchParams.append(property, query.filters[property]);\r\n }\r\n }\r\n }\r\n\r\n if (query.query) {\r\n searchParams.delete(\"q\");\r\n if (query.query) {\r\n searchParams.append(\"q\", query.query);\r\n }\r\n }\r\n\r\n if (query.onlyDoctor != null && query.onlyDoctor != undefined) {\r\n searchParams.delete(\"onlyDoctor\");\r\n searchParams.append(\"onlyDoctor\", query.onlyDoctor);\r\n }\r\n\r\n return searchParams.toString();\r\n}\r\n\r\nexport const getRoleMasterData = () => {\r\n return axios.get(`api/v1/authorization/masterdata`);\r\n};\r\nexport const getRoles = () => {\r\n return axios.get(`api/v1/authorization`);\r\n};\r\nexport const getRole = (roleId) => {\r\n return axios.get(`api/v1/authorization/${roleId}`);\r\n};\r\nexport const createRole = (role) => {\r\n return axios.post(`api/v1/authorization`, role);\r\n};\r\nexport const editRole = (roleId, role) => {\r\n return axios.put(`api/v1/authorization/${roleId}`, role);\r\n};\r\n\r\nexport const getUsers = async filters => {\r\n const queryString = getQueryString(filters, window.location.search);\r\n return axios.get(queryString ? `api/v1/users?${queryString}` : 'api/v1/users');\r\n};\r\nexport const getPractitioners = async filters => {\r\n const queryString = getQueryString(filters, window.location.search);\r\n return axios.get(queryString ? `api/v1/users/practitioners?${queryString}` : 'api/v1/users/practitioners');\r\n};\r\nexport const getUser = (id) => {\r\n return axios.get(`api/v1/users/${id}`);\r\n};\r\nexport const getUserInfo = (id) => {\r\n return axios.get(`api/v1/users/${id}/info`);\r\n};\r\nexport const getUserInfoSignData = (id) => {\r\n return axios.get(`api/v1/users/${id}/signData`);\r\n};\r\nexport const createUser = (user) => {\r\n return axios.post('api/v1/users', user);\r\n};\r\nexport const resendCreatedUserEmail = (userId) => {\r\n return axios.post(`api/v1/users/${userId}/resendCreatedEmail`, userId);\r\n};\r\nexport const updateUser = (id, user) => {\r\n return axios.put(`api/v1/users/${id}`, user);\r\n};\r\nexport const updateUserInRole = (userId, roleId) => {\r\n return axios.put(`api/v1/users/${userId}/roles/${roleId}`, null);\r\n};\r\nexport const enableUser = (userId) => {\r\n return axios.put(`api/v1/users/${userId}/enable`, null);\r\n};\r\nexport const disableUser = (userId) => {\r\n return axios.put(`api/v1/users/${userId}/disable`, null);\r\n};\r\nexport const changePasswordUser = (userId, password) => {\r\n return axios.put(`api/v1/users/${userId}/changepassword/${password}`, null);\r\n};\r\nexport const resetPassword = (userId) => {\r\n return axios.put(`api/v1/users/${userId}/resetPassword`, null);\r\n};\r\nexport const exportToExcel = (filters) => {\r\n const queryString = getQueryString(filters, window.location.search);\r\n\r\n return axios.get(queryString ? `api/v1/users/exportToExcel?${queryString}` : 'api/v1/users/exportToExcel', {\r\n responseType: 'arraybuffer'\r\n });\r\n};\r\n\r\nexport const getMasterData = () => {\r\n return axios.get('api/v1/users/masterdata');\r\n};\r\n\r\nexport const syncUsers = (tenantId) => {\r\n return axios.post(`api/v1/users/sync/${tenantId}`, tenantId);\r\n};\r\n\r\nexport const uploadSign = async (formData) => { \r\n return axios.post(`api/v1/users/uploadsign`, formData, {\r\n headers: {\r\n 'Content-Type': 'multipart/form-data'\r\n }\r\n })\r\n}","import PropTypes from 'prop-types';\r\nimport React, { Fragment, useState } from 'react';\r\nimport { FormGroup, InputGroup } from 'react-bootstrap';\r\nimport { AsyncTypeahead, Highlighter } from 'react-bootstrap-typeahead';\r\nimport 'react-bootstrap-typeahead/css/Typeahead.css';\r\nimport { getPractitioners } from '../../api/identity';\r\nimport '../../assets/sass/lbd/_asyncTypeahead.scss';\r\nimport { Search } from '../Icons/Icons';\r\nimport { HandleApiError } from \"../Notifications/APIErrorHandler\";\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nexport const PractitionerPicker = (props) => {\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [options, setOptions] = useState([]);\r\n const { t } = useTranslation();\r\n\r\n const handleChange = value => {\r\n if (value.length > 0)\r\n props.onChange(props.name, value[0]);\r\n else\r\n props.onChange(props.name, null);\r\n };\r\n\r\n const handleBlur = () => {\r\n if (props.onBlur)\r\n props.onBlur(props.name, true);\r\n };\r\n\r\n const onSearch = (query) => {\r\n setIsLoading(true);\r\n getPractitioners({\r\n pagination: {\r\n sizePerPage: 100,\r\n },\r\n onlyDoctor: props.onlyDoctor,\r\n query: query\r\n }).then(response => {\r\n console.log(response.data.data)\r\n setOptions(response.data.data);\r\n setIsLoading(false);\r\n }).catch(error => {\r\n setIsLoading(false);\r\n setOptions([]);\r\n HandleApiError(error);\r\n });\r\n }\r\n\r\n const renderMenuItemChildren = (option, { text }, index) => {\r\n return (\r\n \r\n \r\n {option.fullName}\r\n \r\n
    \r\n \r\n {option.speciality &&
    {t(\"person.speciality\")}: {option.speciality}
    }\r\n {option.registrationNumber &&
    {t(\"person.registrationNumber\")}: {option.registrationNumber}
    }\r\n
    \r\n
    \r\n
    \r\n )\r\n };\r\n\r\n const typeahead = ( true}\r\n options={options}\r\n isLoading={isLoading}\r\n clearButton={true}\r\n highlightOnlyResult={true}\r\n allowNew={false}\r\n delay={1000}\r\n onSearch={onSearch}\r\n onChange={handleChange}\r\n onBlur={handleBlur}\r\n />);\r\n\r\n if (props.showSearchIcon)\r\n return (\r\n \r\n \r\n \r\n {typeahead}\r\n \r\n \r\n );\r\n\r\n return typeahead;\r\n}\r\n\r\nPractitionerPicker.propTypes = {\r\n multiple: PropTypes.bool,\r\n onChange: PropTypes.func,\r\n minLength: PropTypes.number,\r\n showSearchIcon: PropTypes.bool,\r\n onlyDoctor: PropTypes.bool,\r\n};\r\n\r\nPractitionerPicker.defaultProps = {\r\n multiple: false,\r\n onChange: () => { },\r\n minLength: 2,\r\n showSearchIcon: false,\r\n onlyDoctor: false\r\n};","import PropTypes from 'prop-types'\r\nimport React, { useState, useEffect } from \"react\";\r\nimport SweetAlert from \"react-bootstrap-sweetalert\"\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nexport const ModalConfirm = ({ title, description, timer, onConfirm, onCancel }) => {\r\n const { t } = useTranslation();\r\n const [counter, setCounter] = useState(timer); // Establece aquí el valor inicial del contador\r\n const [confirmDisabled, setConfirmDisabled] = useState(true);\r\n\r\n useEffect(() => {\r\n let interval;\r\n interval = setInterval(() => {\r\n setCounter((prevCounter) => prevCounter - 1);\r\n }, 1000);\r\n return () => clearInterval(interval);\r\n }, []);\r\n\r\n useEffect(() => {\r\n setConfirmDisabled(counter > 0);\r\n }, [counter]);\r\n\r\n return (\r\n 0 ? `${t(\"buttons.yes\")} (${counter})` : t(\"buttons.yes\")}\r\n cancelBtnText={t(\"buttons.no\")}\r\n showCancel\r\n disabled={confirmDisabled} // Deshabilita el botón de confirmación según el estado del contador\r\n >\r\n {description}\r\n \r\n );\r\n}\r\n\r\nModalConfirm.propTypes = {\r\n onCancel: PropTypes.func.isRequired,\r\n onConfirm: PropTypes.func.isRequired,\r\n title: PropTypes.string.isRequired,\r\n description: PropTypes.string,\r\n timer: PropTypes.number\r\n};\r\n\r\nModalConfirm.defaultProps = {\r\n timer: 3\r\n};","import PropTypes from 'prop-types';\r\nimport React from \"react\";\r\nimport { Modal as BootstrapModal } from 'react-bootstrap';\r\nimport ReactDOM from 'react-dom';\r\n\r\nexport const ModalData = (props) => {\r\n const { isShowing, hide, title, children, size, className } = props;\r\n\r\n return isShowing ? ReactDOM.createPortal(\r\n \r\n \r\n \r\n {title}\r\n \r\n \r\n {children}\r\n \r\n \r\n , document.body\r\n ) : null;\r\n};\r\n\r\nModalData.defaultProps = {\r\n size: \"large\",\r\n className: \"modal-data\"\r\n}\r\n\r\nModalData.propTypes = {\r\n title: PropTypes.string,\r\n isShowing: PropTypes.bool,\r\n hide: PropTypes.func,\r\n size: PropTypes.string,\r\n className: PropTypes.string\r\n};","import React from 'react';\r\nimport { Label } from 'react-bootstrap'\r\nimport moment from 'moment';\r\nimport { IconSVG } from '../Icons/Icons';\r\n\r\nexport const nullableDateFormatter = (day, month, year) => {\r\n\r\n if (!year)\r\n return null;\r\n\r\n return `${day ?? \"unk\"}/${month ? parseInt(month) + 1 : \"unk\"}/${year}`;\r\n}\r\n\r\nexport const toLocaleDateFormatter = (date, format, withIcon) => {\r\n if (!format)\r\n format = 'DD/MM/YYYY';\r\n\r\n const icon = withIcon ? : null;\r\n\r\n if (!date)\r\n return ( );\r\n\r\n try {\r\n var localeDate = date.endsWith(\"Z\") ? new Date(date) : new Date(date + \"Z\");\r\n return ({icon} {moment(localeDate).format(format)});\r\n }\r\n catch (error) {\r\n return ({icon} {moment(date).format(format)} UTC);\r\n }\r\n}\r\n\r\nexport const dateFormatter = (dateTime, format, withIcon) => {\r\n if (!format)\r\n format = 'DD/MM/YYYY';\r\n\r\n const icon = withIcon ? : null;\r\n\r\n if (dateTime) {\r\n return ({icon} {moment(dateTime).locale(\"es\").format(format)} );\r\n }\r\n\r\n return ( );\r\n}\r\n\r\nexport const labelFormatter = (value, style) => {\r\n\r\n if (!style)\r\n style = \"default\";\r\n if (value)\r\n return ();\r\n\r\n return null;\r\n}\r\n\r\nexport const toLocaleDateTimeFormatter = (dateTime) => {\r\n if (!dateTime)\r\n return ( );\r\n\r\n try {\r\n var date = dateTime.endsWith(\"Z\") ? new Date(dateTime) : new Date(dateTime + \"Z\");\r\n return ( {moment(date).format('DD/MM/YYYY HH:mm')});\r\n }\r\n catch (error) {\r\n return ( {moment(dateTime).format('DD/MM/YYYY HH:mm')} UTC);\r\n }\r\n}\r\nexport const dateTimeFormatter = (dateTime) => {\r\n if (dateTime)\r\n return ( {moment(dateTime).format('DD/MM/YYYY HH:mm')} );\r\n\r\n return ( );\r\n}\r\n\r\nexport const dateTimeUTCFormatter = (dateTime) => {\r\n if (dateTime)\r\n return ( {moment.utc(dateTime).local().format('DD/MM/YYYY HH:mm')} );\r\n\r\n return ( );\r\n}\r\n\r\nexport const timeFormatter = (time) => {\r\n if (time)\r\n return ( {moment(time).format('HH:mm')} );\r\n\r\n return ( );\r\n}\r\n\r\nexport const boolFormatter = (value, translationFn) => {\r\n\r\n if (value === null || value === undefined || !translationFn)\r\n return \"\";\r\n\r\n if (value === true)\r\n return (translationFn('commons.yes'));\r\n if (value === false)\r\n return (translationFn('commons.no'));\r\n\r\n return \"\";\r\n}\r\n\r\nexport const yesNoFormatter = (value, translationFn) => {\r\n\r\n if (value === null || value === undefined || !translationFn)\r\n return \"\";\r\n\r\n if (value === 'yes' || value)\r\n return translationFn('commons.yes')\r\n\r\n return translationFn('commons.no');\r\n}\r\n\r\nexport const yesNoNotApplyFormatter = (value, translationFn) => {\r\n\r\n if (value === null && value === undefined || !translationFn)\r\n return \"\";\r\n\r\n switch (value) {\r\n case \"yes\": return translationFn('commons.yes');\r\n case \"no\": return translationFn('commons.no');\r\n case \"n/a\": return translationFn('commons.na');\r\n default:\r\n return \"\";\r\n }\r\n}\r\n\r\nexport const YesNoFormatter = (cell, _row, _rowIndex, formatExtraData) => {\r\n\r\n return (\r\n
    \r\n {\r\n cell === true ?\r\n formatExtraData.t('commons.yes') :\r\n formatExtraData.t('commons.no')\r\n }\r\n
    \r\n );\r\n}\r\n\r\nexport const objectFormatter = (value) => {\r\n\r\n if (value === null || value === undefined)\r\n return \"\"\r\n\r\n if (value.hasOwnProperty(\"ConceptId\")) {\r\n return value[\"Description\"];\r\n }\r\n if (value.hasOwnProperty(\"Code\")) {\r\n return value[\"Title\"];\r\n }\r\n\r\n return \"\";\r\n}\r\n\r\nexport const attachmentFormatter = (value) => {\r\n if (value === null || value === undefined)\r\n return \"\"\r\n\r\n if (value.hasOwnProperty(\"FileName\")) {\r\n return value[\"FileName\"];\r\n }\r\n if (value.hasOwnProperty(\"ValidatedBy\")) {\r\n return \"Validado\";\r\n }\r\n\r\n return \"\";\r\n}\r\n\r\nexport const extractContentFromHTML = (html) => {\r\n return new DOMParser().parseFromString(html, \"text/html\").documentElement.textContent;\r\n}","import { ErrorMessage } from 'formik';\r\nimport moment from 'moment';\r\nimport PropTypes from 'prop-types';\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Button, Col, ControlLabel, FormGroup, Grid, Modal, Row } from 'react-bootstrap';\r\nimport BootstrapTable from 'react-bootstrap-table-next';\r\nimport paginationFactory from 'react-bootstrap-table2-paginator';\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useScheduleLocks } from '../../containers/Agenda/Hooks';\r\nimport { visitTypeColorGetter } from '../Agenda/Utils';\r\nimport Card from '../Cards/Card';\r\nimport { CustomDate, CustomTime } from '../CustomControls/CustomDateTime';\r\nimport { CustomFormControl } from '../CustomControls/CustomFormControl';\r\nimport { CustomRadio } from \"../CustomControls/CustomRadio\";\r\nimport { PractitionerPicker } from '../CustomControls/PractitionerPicker';\r\nimport { Remove, Save } from \"../Icons/Icons\";\r\nimport { ModalConfirm } from '../Modals/ModalConfirm';\r\nimport { ModalData } from '../Modals/ModalData';\r\nimport { dateFormatter } from '../Utils/Formatter';\r\nimport { Tooltip } from '../Utils/Tooltips';\r\nimport { FormErrorMessage } from '../Validations/FormValidationErrors';\r\nimport { validateIsSameOfAfter } from './Utils';\r\n\r\nexport const ScheduleLocks = () => {\r\n const [data, query, totalSize, isLoading, handleTableChange, , handleRemove] = useScheduleLocks();\r\n const [modal, setModal] = useState(null);\r\n const { t } = useTranslation();\r\n\r\n const handleRemoveLock = (id) => {\r\n if (id)\r\n setModal(\r\n setModal(null)}\r\n onConfirm={() => confirmRemove(id)}\r\n title={t('calendar.removeScheduleLock')}\r\n />\r\n );\r\n }\r\n\r\n const confirmRemove = async (id) => {\r\n try {\r\n setModal(null);\r\n await handleRemove(id);\r\n await handleTableChange(\"reload\", { page: null, sizePerPage: null, sortField: null, sortOrder: null });\r\n }\r\n catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n\r\n const columns = [\r\n { dataField: 'practitioner', text: t(\"calendar.practitioner\"), formatter: function (cell) { return cell?.fullName } },\r\n { dataField: 'start', text: t(\"commons.start\"), formatter: function (cell, row) { return (
    {dateFormatter(cell, \"DD/MMM/YYYY\")} {row.lockFrom}
    ); } },\r\n { dataField: 'end', text: t(\"commons.end\"), formatter: function (cell, row) { return (
    {dateFormatter(cell, \"DD/MMM/YYYY\")} {row.lockTo}
    ); } },\r\n { dataField: 'comments', text: t(\"calendar.reasons.reason\") },\r\n {\r\n dataField: 'view',\r\n text: t(\"protocols.practitioner.actions\"),\r\n isDummyField: true,\r\n headerClasses: 'header-protocol-actions',\r\n classes: 'row-protocol-actions',\r\n formatter: function (_cell, row, rowIndex) {\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 {modal}\r\n <>{t(\"commons.noData\")}}\r\n />\r\n \r\n );\r\n}\r\n\r\nexport const ScheduleLockForm = (props) => {\r\n const {\r\n values,\r\n isSubmitting,\r\n setFieldValue,\r\n setFieldTouched,\r\n handleSubmit\r\n } = props;\r\n\r\n const { t } = useTranslation();\r\n //const [availableTimes, setAvailableTimes] = useState([]);\r\n\r\n //useEffect(() => {\r\n // const arr = [];\r\n // for (let i = 0; i < 24; i++) {\r\n // arr.push({ id: i, value: `${i}:00` });\r\n // //for (let j = 0; j < 4; j++) {\r\n // // arr.push(`${i}:${j === 0 ? `00` : 20 * j}`);\r\n // //}\r\n // }\r\n // setAvailableTimes(arr);\r\n //}, [])\r\n\r\n const handleTypeChange = (controlName, selectedvalue) => {\r\n if (values.centerOrParticular == 0)\r\n setFieldValue(\"practitionerId\", null); // Si es centro, blanqueo practitioner. \r\n\r\n setFieldValue(controlName, selectedvalue);\r\n }\r\n\r\n const handlePractitionerChange = (controlName, selectedValue) => {\r\n setFieldValue(controlName, selectedValue);\r\n\r\n if (selectedValue)\r\n setFieldValue(\"practitionerId\", selectedValue?.userId);\r\n else\r\n setFieldValue(\"practitionerId\", null);\r\n }\r\n\r\n const handleTimeChange = (controlName, selectedValue) => {\r\n if (!moment.isMoment(selectedValue))\r\n return;\r\n\r\n if (controlName === \"from\")\r\n setFieldValue(\"lockFrom\", selectedValue.format(\"HH:mm\"));\r\n\r\n if (controlName === \"to\")\r\n setFieldValue(\"lockTo\", selectedValue.format(\"HH:mm\"));\r\n }\r\n\r\n return (\r\n \r\n \r\n {t('calendar.newScheduleLock')}\r\n \r\n \r\n
    \r\n \r\n \r\n \r\n {t('calendar.scheduleLocks.centerOrPractitioner')}\r\n \r\n \r\n \r\n {\r\n values.centerOrParticular == 1 &&\r\n \r\n \r\n {t('calendar.practitioner')}\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n {t('calendar.scheduleLocks.dayOrRange')}\r\n \r\n \r\n \r\n\r\n {\r\n values.dayOrRange && (values.centerOrParticular == 0 || (values.centerOrParticular == 1 && values.practitioner)) &&\r\n <>\r\n \r\n \r\n \r\n
    \r\n {t('commons.start')}\r\n validateIsSameOfAfter(current)}\r\n />\r\n \r\n
    \r\n
    \r\n {t('calendar.time')}\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n {t('commons.end')}\r\n validateIsSameOfAfter(current, values.start)}\r\n />\r\n \r\n
    \r\n
    \r\n {t('calendar.time')}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n {t('calendar.reasons.reason')}\r\n \r\n \r\n \r\n \r\n \r\n }\r\n
    \r\n
    \r\n
    \r\n \r\n {t(\"buttons.save\")}\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nScheduleLockForm.propTypes = {\r\n handleSubmit: PropTypes.func.isRequired,\r\n onCancel: PropTypes.func.isRequired,\r\n};\r\n\r\nexport const ScheduleLockAppointmentsTaken = (props) => {\r\n const { appointmentsTaken } = props;\r\n const { t } = useTranslation();\r\n\r\n let components = null;\r\n if (appointmentsTaken) {\r\n components = appointmentsTaken.map((event, index) => {\r\n let start = moment.utc(moment.utc(event.start)).local().toDate();\r\n let end = moment.utc(moment.utc(event.end)).local().toDate();\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 {moment(start).format('DD/MM/YYYY')} {moment(start).format('H:mm')} - {moment(end).format('H:mm')} [{event.visitType?.title}]\r\n
    {event.patient.fullName} - {event.practitioner.fullName}
    \r\n \r\n \r\n )\r\n });\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {components}\r\n \r\n \r\n }\r\n />\r\n \r\n\r\n )\r\n}\r\n\r\n","import React from \"react\";\r\nimport { Col, Row } from 'react-bootstrap';\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Spinner } from \"../Utils/Loaders\";\r\n\r\nexport const MedicalServiceInfo = ({ medicalService, isLoading }) => {\r\n const { t } = useTranslation();\r\n\r\n if (isLoading)\r\n return \r\n\r\n if (!medicalService || !medicalService.service)\r\n return null;\r\n\r\n return (\r\n \r\n \r\n
    \r\n
    {t(\"calendar.medicalServiceInfo.medicalService\")}: {medicalService.service?.serviceNameReference}
    \r\n
    {t(\"calendar.medicalServiceInfo.coversMedicalInsurance\")}: {medicalService.isCoveredByMedicalInsurance ? t(\"commons.yes\") : t(\"commons.no\")}
    \r\n {\r\n medicalService.isCoveredByMedicalInsurance && medicalService.coverRequirements &&\r\n
    {t(\"calendar.medicalServiceInfo.approvalRequired\")}: {medicalService.coverRequirements?.requiresApproval ? t(\"commons.yes\") : t(\"commons.no\")}
    \r\n }\r\n {\r\n medicalService.coverRequirements && medicalService.coverRequirements.requiredCopago &&\r\n
    {t(\"calendar.medicalServiceInfo.copayRequired\")}: {medicalService.coverRequirements?.copagoComments}
    \r\n }\r\n {\r\n !medicalService.isCoveredByMedicalInsurance && medicalService.price &&\r\n <>\r\n
    {t(\"calendar.medicalServiceInfo.price\")}: {medicalService.service?.serviceNameReference}
    \r\n
    \r\n {t(\"calendar.medicalServiceInfo.priceNotes\")}\r\n
    \r\n \r\n }\r\n
    \r\n \r\n
    \r\n );\r\n}","import moment from \"moment\";\r\nimport React from \"react\";\r\nimport { Col, Grid, Row } from 'react-bootstrap';\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { NavLink } from \"react-router-dom\";\r\nimport { WithAuth } from \"../Authorization/WithAuth\";\r\nimport Card from \"../Cards/Card\";\r\nimport { View, ViewMR } from \"../Icons/Icons\";\r\nimport { Tooltip } from \"../Utils/Tooltips\";\r\n\r\nexport const PatientInfo = ({ patient }) => {\r\n const { t } = useTranslation();\r\n\r\n const ageComponent = patient.age ? <>({patient.age} {t('medicalRecords.patientInfo.age')}) : null;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n {patient.fullName}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    {t('medicalRecords.patientInfo.birthDate')}: {moment(patient.birthDate).format('DD/MM/YY')} {ageComponent}
    \r\n {patient.identificationType &&
    {patient.identificationType}: {patient.identificationNumber}
    }\r\n {patient.medicalInsurance &&
    {t('medicalRecords.patientInfo.medicalInsurance')}: {patient.medicalInsurance} {patient.medicalInsurancePlan ? <>({patient.medicalInsurancePlan}) : null}
    }\r\n {patient.medicalInsuranceNumber &&
    {t('medicalRecords.patientInfo.medicalInsuranceNumber')}: {patient.medicalInsuranceNumber}
    }\r\n
    {t('medicalRecords.patientInfo.medicalRecord')}: {patient.medicalRecordNumber}
    \r\n
    \r\n \r\n \r\n
    \r\n
    {t('person.address.address')}: {patient.address}
    \r\n
    {t('person.contact.cellPhone')}: {patient.cellPhone}
    \r\n
    {t('person.contact.email')}: {patient.email}
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n }\r\n />\r\n );\r\n}","import moment from 'moment';\r\nimport PropTypes from 'prop-types';\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Button, Col, ControlLabel, FormControl, FormGroup, Modal, Row } from 'react-bootstrap';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { useSelector } from 'react-redux';\r\nimport { getPatient } from '../../api/agenda';\r\nimport { useMedicalServices } from '../../containers/Agenda/Hooks';\r\nimport { WithAuth } from '../Authorization/WithAuth';\r\nimport Card from '../Cards/Card';\r\nimport { Check, Edit, PersonCheck, Remove, VideoCall } from \"../Icons/Icons\";\r\nimport { Tooltip } from '../Utils/Tooltips';\r\nimport { MedicalServiceInfo } from './MedicalServiceInfo';\r\nimport { PatientInfo } from './PatientInfo';\r\n\r\nexport const ViewEvent = (props) => {\r\n const { handleModalClose,\r\n handleViewEdit,\r\n handleAttended,\r\n handleNotAttendance,\r\n handleEventStatus,\r\n handleCancelEvent,\r\n handleSetPresent,\r\n event } = props;\r\n\r\n const [patient, setPatient] = useState({});\r\n const settingsStore = useSelector(state => state.settings);\r\n const { t } = useTranslation();\r\n\r\n const [isLoading, setIsLoading,\r\n , , ,\r\n , , ,\r\n medicalServicePrice, getMedicalServicePrice, setMedicalServicePrice] = useMedicalServices();\r\n\r\n useEffect(() => {\r\n const getPatientData = async (patientId) => {\r\n\r\n // Obtengo datos del paciente\r\n try {\r\n const response = await getPatient(patientId);\r\n setPatient(response.data);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }\r\n\r\n const getServicesData = async () => {\r\n // Obtengo Servicios\r\n try {\r\n setIsLoading(true);\r\n var res2 = await getMedicalServicePrice(event.medicalServiceId, event.medicalInsuranceId, event.medicalInsurancePlanId);\r\n setMedicalServicePrice(res2.data.data);\r\n setIsLoading(false);\r\n }\r\n catch (ex) {\r\n console.log(ex)\r\n setIsLoading(false);\r\n }\r\n }\r\n\r\n if (event.visitType?.code !== \"SCHEDULELOCK\") {\r\n getServicesData();\r\n getPatientData(event.patient.medicalRecordNumber);\r\n }\r\n }, []);\r\n\r\n var start = event.start.toLocaleTimeString(navigator.language, { hour: '2-digit', minute: '2-digit' });\r\n var end = event.end.toLocaleTimeString(navigator.language, { hour: '2-digit', minute: '2-digit' });\r\n\r\n var actionButtons = null;\r\n var editButton = null;\r\n var cancelButton = null;\r\n var presentButton = null;\r\n var telemedicineButton = null;\r\n\r\n if (event.telemedicineToken)\r\n telemedicineButton = (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n if (!event.present && !event.attended) {\r\n presentButton = ();\r\n }\r\n\r\n if (moment().isSameOrAfter(event.start)) {\r\n if (event.attended === null)\r\n actionButtons = (\r\n <>\r\n \r\n \r\n \r\n );\r\n }\r\n else {\r\n editButton = ();\r\n cancelButton = ();\r\n\r\n if (!event.confirmed) {\r\n actionButtons = (\r\n <>\r\n \r\n \r\n );\r\n }\r\n }\r\n\r\n if (event.visitType?.code === \"SCHEDULELOCK\")\r\n return (\r\n \r\n \r\n {t('calendar.scheduleLock')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n event.practitioner ?\r\n \r\n \r\n {t('calendar.practitioner')}: {event.practitioner?.fullName}\r\n \r\n \r\n {t('calendar.scheduleLock')}: {start} - {end}\r\n \r\n :\r\n \r\n \r\n {t('calendar.all')}\r\n \r\n \r\n {t('calendar.scheduleLock')}: {start} - {end}\r\n \r\n \r\n }\r\n \r\n \r\n \r\n {\r\n event.desc &&\r\n \r\n \r\n \r\n {t('calendar.notes')}\r\n \r\n \r\n \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 \r\n {telemedicineButton} {t('calendar.turno')}: {start} - {end}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    {t('calendar.visitType')}
    \r\n
    \r\n
    \r\n
    {event.visitType?.title}
    \r\n
    \r\n \r\n \r\n
    \r\n
    {t('calendar.practitioner')}
    \r\n
    \r\n
    \r\n
    {event.practitioner?.fullName}
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n }\r\n />\r\n\r\n {\r\n event.protocol != null ?\r\n \r\n {t('calendar.protocol')}\r\n \r\n \r\n : null\r\n }\r\n {\r\n event.project != null ?\r\n \r\n {t('calendar.project')}\r\n \r\n : null\r\n }\r\n {\r\n event.desc != null ?\r\n \r\n {t('calendar.notes')}\r\n \r\n : null\r\n }\r\n {\r\n event.location != null ?\r\n \r\n {t('calendar.location')}\r\n \r\n : null\r\n }\r\n
    \r\n \r\n \r\n {cancelButton}\r\n {editButton}\r\n {actionButtons}\r\n {presentButton}\r\n \r\n \r\n
    \r\n );\r\n\r\n}\r\n\r\nViewEvent.propTypes = {\r\n event: PropTypes.object.isRequired,\r\n handleModalClose: PropTypes.func.isRequired,\r\n handleViewEdit: PropTypes.func.isRequired,\r\n handleAttended: PropTypes.func.isRequired,\r\n handleNotAttendance: PropTypes.func.isRequired,\r\n handleEventStatus: PropTypes.func.isRequired,\r\n handleCancelEvent: PropTypes.func.isRequired,\r\n handleSetPresent: PropTypes.func.isRequired,\r\n};\r\n\r\n","import axios from './index';\r\n\r\nexport const getQueryString = (newActiveFilters, search) => {\r\n const searchParams = new URLSearchParams(search || '');\r\n\r\n searchParams.delete('pageIndex'); // se resetea el paginado\r\n if (newActiveFilters.pagination.page && newActiveFilters.pagination.page !== 1) {\r\n searchParams.append('pageIndex', newActiveFilters.pagination.page);\r\n }\r\n searchParams.delete('pageSize');\r\n if(newActiveFilters.pagination.sizePerPage && newActiveFilters.pagination.sizePerPage !== 1){\r\n searchParams.append('pageSize', newActiveFilters.pagination.sizePerPage);\r\n }\r\n searchParams.delete('sortField');\r\n if (newActiveFilters.sort.sortField) {\r\n searchParams.append('sortField', newActiveFilters.sort.sortField);\r\n }\r\n searchParams.delete('sortOrder');\r\n if (newActiveFilters.sort.sortOrder) {\r\n searchParams.append('sortOrder', newActiveFilters.sort.sortOrder);\r\n }\r\n\r\n searchParams.delete('q');\r\n if (newActiveFilters.q) {\r\n searchParams.append('q', newActiveFilters.q);\r\n }\r\n\r\n searchParams.delete('projects');\r\n (newActiveFilters.projects || []).forEach(project => searchParams.append('projects', project.id));\r\n searchParams.delete('protocols');\r\n (newActiveFilters.protocols || []).forEach(protocol => searchParams.append('protocols', protocol.id));\r\n searchParams.delete('professionals');\r\n (newActiveFilters.professionals || []).forEach(professional => searchParams.append('professionals', professional.userId));\r\n searchParams.delete('type');\r\n if (newActiveFilters.type != null && newActiveFilters.type.id) {\r\n searchParams.append('type', newActiveFilters.type.id);\r\n }\r\n\r\n return searchParams.toString();\r\n}\r\n\r\nexport const getPatients = async filters => {\r\n const queryString = getQueryString(filters, window.location.search);\r\n return axios.get(queryString ? `api/v1/database/patients?${queryString}` : 'api/v1/database/patients');\r\n};\r\n\r\nexport const getPatient = (medicalRecordNumber, withProfileImage = false) => {\r\n return axios.get(`api/v1/database/patient/${medicalRecordNumber}/${withProfileImage}`);\r\n};\r\n\r\nexport const getPatientByMedicalRecord = (medicalRecordNumber, withProfileImage = false) => {\r\n return axios.get(`api/v1/database/patient/medicalRecord/${medicalRecordNumber}/${withProfileImage}`);\r\n};\r\n\r\nexport const getPatientAvatarByMedicalRecord = (medicalRecordNumber) => {\r\n return axios.get(`api/v1/database/patient/medicalRecord/${medicalRecordNumber}/base64`);\r\n};\r\n\r\nexport const createPatient = (patient) => {\r\n return axios.post('api/v1/database/patient', patient);\r\n};\r\n\r\nexport const updatePatient = (patient) => {\r\n return axios.put('api/v1/database/patient', patient);\r\n};\r\n\r\nexport const deletePatient = (id) => {\r\n return axios.delete(`api/v1/database/patient/${id}`);\r\n};\r\n\r\nexport const getPractitionersBasic = () => {\r\n return axios.get('api/v1/agenda/professionals');\r\n};\r\n\r\nexport const getMasterData = () => {\r\n return axios.get('api/v1/admin/masterdata');\r\n};\r\n\r\nexport const searchPatients = q => {\r\n return axios.get('api/v1/database/patients/search', { params: { q } });\r\n}\r\n\r\nexport const exportToExcel = (filters) => {\r\n const queryString = getQueryString(filters, window.location.search);\r\n\r\n return axios.get(queryString ? `api/v1/database/patients/exportToExcel?${queryString}` : 'api/v1/database/patients/exportToExcel', {\r\n responseType: 'arraybuffer'\r\n });\r\n};\r\n\r\nexport const syncPatients = (tenantId) => {\r\n return axios.post(`api/v1/database/sync/${tenantId}`, tenantId);\r\n};","import PropTypes from 'prop-types';\r\nimport React, { Fragment, useState } from 'react';\r\nimport { FormGroup, InputGroup } from 'react-bootstrap';\r\nimport { AsyncTypeahead, Highlighter } from 'react-bootstrap-typeahead';\r\nimport 'react-bootstrap-typeahead/css/Typeahead.css';\r\nimport { searchPatients } from '../../api/database';\r\nimport { Search } from '../Icons/Icons';\r\nimport { HandleApiError } from \"../Notifications/APIErrorHandler\";\r\nimport '../../assets/sass/lbd/_asyncTypeahead.scss';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nexport const PatientPicker = (props) => {\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [options, setOptions] = useState([]);\r\n const { t } = useTranslation();\r\n\r\n const handleChange = value => {\r\n if (value.length > 0)\r\n props.onChange(props.name, value[0]);\r\n else\r\n props.onChange(props.name, null);\r\n };\r\n\r\n const handleBlur = () => {\r\n if (props.onBlur)\r\n props.onBlur(props.name, true);\r\n };\r\n\r\n const onSearch = (query) => {\r\n setIsLoading(true);\r\n\r\n searchPatients(query).then(response => {\r\n setOptions(response.data);\r\n setIsLoading(false);\r\n\r\n }).catch(error => {\r\n setIsLoading(false);\r\n setOptions([]);\r\n HandleApiError(error);\r\n });\r\n }\r\n\r\n const renderMenuItemChildren = (option, { text }, index) => {\r\n return (\r\n \r\n \r\n {option.fullName}\r\n \r\n
    \r\n \r\n {t(\"medicalRecords.patientInfo.medicalRecord\")}: {option.medicalRecordNumber}, {option.identificationType}: {option.identificationNumber}\r\n \r\n
    \r\n
    \r\n )\r\n };\r\n\r\n const typeahead = ( true}\r\n options={options}\r\n isLoading={isLoading}\r\n clearButton={true}\r\n highlightOnlyResult={true}\r\n allowNew={false}\r\n delay={1000}\r\n\r\n onSearch={onSearch}\r\n onChange={handleChange}\r\n onBlur={handleBlur}\r\n />);\r\n\r\n if (props.showSearchIcon)\r\n return (\r\n \r\n \r\n \r\n {typeahead}\r\n \r\n \r\n );\r\n\r\n return typeahead;\r\n}\r\n\r\nPatientPicker.propTypes = {\r\n multiple: PropTypes.bool,\r\n onChange: PropTypes.func,\r\n minLength: PropTypes.number,\r\n showSearchIcon: PropTypes.bool,\r\n};\r\n\r\nPatientPicker.defaultProps = {\r\n multiple: false,\r\n onChange: () => { },\r\n minLength: 2,\r\n showSearchIcon: false,\r\n};","import { useState, useEffect } from \"react\";\r\nimport { HandleApiError } from \"../../components/Notifications/APIErrorHandler\";\r\nimport { getUser, getMasterData, getPractitioners, getUsers, getUserInfo, getUserInfoSignData } from \"../../api/identity\";\r\n\r\nexport const useUsers = (query) => {\r\n const [users, setUsers] = useState([]);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [totalSize, setTotalSize] = useState(0);\r\n\r\n useEffect(() => {\r\n let isSubscribed = true;\r\n\r\n const fetchData = async () => {\r\n setIsLoading(true);\r\n try {\r\n setIsLoading(true);\r\n var response = await getUsers(query);\r\n\r\n if (isSubscribed) {\r\n const paginatedResult = response.data;\r\n setTotalSize(paginatedResult.count);\r\n setUsers(paginatedResult.data);\r\n setIsLoading(false);\r\n }\r\n }\r\n catch (error) {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n }\r\n }\r\n\r\n fetchData();\r\n\r\n return () => isSubscribed = false;\r\n }, [query]);\r\n\r\n return [users, isLoading, totalSize];\r\n}\r\n\r\nexport const usePractitioners = (query) => {\r\n const [users, setUsers] = useState([]);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [totalSize, setTotalSize] = useState(0);\r\n\r\n useEffect(() => {\r\n let isSubscribed = true;\r\n\r\n const fetchData = async () => {\r\n setIsLoading(true);\r\n try {\r\n setIsLoading(true);\r\n if (!query) {\r\n query = {\r\n pagination: {\r\n sizePerPage: 100,\r\n },\r\n }\r\n }\r\n var response = await getPractitioners(query);\r\n\r\n if (isSubscribed) {\r\n const paginatedResult = response.data;\r\n // console.log(\"GET Users: \", paginatedResult.data);\r\n\r\n setTotalSize(paginatedResult.count);\r\n setUsers(paginatedResult.data);\r\n setIsLoading(false);\r\n }\r\n }\r\n catch (error) {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n }\r\n }\r\n\r\n fetchData();\r\n\r\n return () => isSubscribed = false;\r\n }, []);\r\n\r\n return [users, isLoading, totalSize];\r\n}\r\n\r\nexport const useUser = (userId) => {\r\n const [user, setUser] = useState({});\r\n const [isLoading, setIsLoading] = useState(false);\r\n\r\n useEffect(() => {\r\n let isSubscribed = true;\r\n\r\n const fetchData = async () => {\r\n setIsLoading(true);\r\n try {\r\n setIsLoading(true);\r\n var res = await getUser(userId);\r\n\r\n if (isSubscribed) {\r\n setUser(res.data);\r\n setIsLoading(false);\r\n }\r\n }\r\n catch (error) {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n }\r\n }\r\n\r\n fetchData();\r\n\r\n return () => isSubscribed = false;\r\n }, [userId]);\r\n\r\n return [isLoading, user];\r\n}\r\n\r\nexport const useUserInfo = (userId) => {\r\n const [user, setUser] = useState({});\r\n const [isLoading, setIsLoading] = useState(false);\r\n\r\n useEffect(() => {\r\n let isSubscribed = true;\r\n const fetchData = async () => {\r\n\r\n try {\r\n setIsLoading(true);\r\n var res = await getUserInfo(userId);\r\n\r\n if (isSubscribed) {\r\n setUser(res.data);\r\n setIsLoading(false);\r\n }\r\n }\r\n catch (error) {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n }\r\n }\r\n\r\n if (userId)\r\n fetchData();\r\n\r\n return () => isSubscribed = false;\r\n\r\n }, [userId]);\r\n\r\n return [isLoading, user];\r\n}\r\n\r\nexport const useUserInfoSignData = (userId) => {\r\n const [user, setUser] = useState({});\r\n const [isLoading, setIsLoading] = useState(false);\r\n\r\n useEffect(() => {\r\n let isSubscribed = true;\r\n const fetchData = async () => {\r\n\r\n try {\r\n setIsLoading(true);\r\n var res = await getUserInfoSignData(userId);\r\n\r\n if (isSubscribed) {\r\n setUser(res.data);\r\n setIsLoading(false);\r\n }\r\n }\r\n catch (error) {\r\n console.log(error);\r\n setIsLoading(false);\r\n }\r\n }\r\n\r\n if (userId)\r\n fetchData();\r\n\r\n return () => isSubscribed = false;\r\n\r\n }, [userId]);\r\n\r\n return [isLoading, user];\r\n}\r\n\r\nexport const usePersonMasterData = () => {\r\n const [masterData, setMasterData] = useState({});\r\n const [isLoading, setIsLoading] = useState(false);\r\n\r\n useEffect(() => {\r\n const fetchData = () => {\r\n setIsLoading(true);\r\n getMasterData().then(res => {\r\n setMasterData(res.data);\r\n setIsLoading(false);\r\n }).catch(error => {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n });\r\n }\r\n\r\n fetchData();\r\n }, []);\r\n\r\n return [isLoading, masterData];\r\n}\r\n","import React from \"react\";\r\nimport PropTypes from 'prop-types';\r\nimport Select from 'react-select'\r\nimport { usePractitioners } from \"../../containers/Users/Hooks\";\r\n\r\nexport const PractitionerSelect = (props) => {\r\n\r\n const [users, isLoading] = usePractitioners({\r\n pagination: {\r\n sizePerPage: 100,\r\n },\r\n onlyDoctor: props.onlyDoctor\r\n });\r\n\r\n const handleChange = value => {\r\n if (props.onChange)\r\n props.onChange(props.name, value);\r\n };\r\n\r\n const handleBlur = () => {\r\n if (props.onBlur)\r\n props.onBlur(props.name, true);\r\n };\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nPractitionerSelect.defaultProps = {\r\n getOptionLabel: (option) => option.fullName,\r\n getOptionValue: (option) => option.userId,\r\n isClearable: false,\r\n onlyDoctor: true\r\n};\r\nPractitionerSelect.propTypes = {\r\n isMulti: PropTypes.bool,\r\n optionValue: PropTypes.func,\r\n optionLabel: PropTypes.func,\r\n isClearable: PropTypes.bool,\r\n onChange: PropTypes.func,\r\n onBlur: PropTypes.func,\r\n onlyDoctor: PropTypes.bool\r\n};","import PropTypes from 'prop-types';\r\nimport React, { Fragment, useState } from 'react';\r\nimport { FormGroup, InputGroup } from 'react-bootstrap';\r\nimport { AsyncTypeahead, Highlighter } from 'react-bootstrap-typeahead';\r\nimport 'react-bootstrap-typeahead/css/Typeahead.css';\r\nimport { searchProtocolsAPI } from '../../api/agenda';\r\nimport '../../assets/sass/lbd/_asyncTypeahead.scss';\r\nimport { Search } from '../Icons/Icons';\r\nimport { HandleApiError } from \"../Notifications/APIErrorHandler\";\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nexport const ProtocolPicker = (props) => {\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [options, setOptions] = useState([]);\r\n const { t } = useTranslation();\r\n\r\n const handleChange = value => {\r\n if (value.length > 0)\r\n props.onChange(props.name, value);\r\n else\r\n props.onChange(props.name, null);\r\n };\r\n\r\n const handleBlur = () => {\r\n if (props.onBlur)\r\n props.onBlur(props.name, true);\r\n };\r\n\r\n const onSearch = async (query) => {\r\n setIsLoading(true);\r\n try {\r\n let response = await searchProtocolsAPI(query);\r\n setOptions(response.data);\r\n setIsLoading(false);\r\n }\r\n catch (error) {\r\n setIsLoading(false);\r\n setOptions([]);\r\n HandleApiError(error);\r\n }\r\n }\r\n\r\n const renderMenuItemChildren = (option, { text }, index) => {\r\n return (\r\n \r\n \r\n {option.title}\r\n \r\n
    \r\n \r\n {option.specialty &&
    {t(\"person.speciality\")}: {option.specialty.description}
    }\r\n {option.protocolNumber &&
    {t(\"protocols.brief.protocolNumber\")}: {option.protocolNumber}
    }\r\n
    \r\n
    \r\n
    \r\n )\r\n };\r\n\r\n const typeahead = ( true}\r\n options={options}\r\n isLoading={isLoading}\r\n clearButton={true}\r\n highlightOnlyResult={true}\r\n allowNew={false}\r\n delay={1000}\r\n onSearch={onSearch}\r\n onChange={handleChange}\r\n onBlur={handleBlur}\r\n />);\r\n\r\n if (props.showSearchIcon)\r\n return (\r\n \r\n \r\n \r\n {typeahead}\r\n \r\n \r\n );\r\n\r\n return typeahead;\r\n}\r\n\r\nProtocolPicker.propTypes = {\r\n multiple: PropTypes.bool,\r\n onChange: PropTypes.func,\r\n minLength: PropTypes.number,\r\n showSearchIcon: PropTypes.bool,\r\n onlyDoctor: PropTypes.bool,\r\n};\r\n\r\nProtocolPicker.defaultProps = {\r\n multiple: false,\r\n onChange: () => { },\r\n minLength: 2,\r\n showSearchIcon: false,\r\n};","import React from 'react';\r\nimport { toast } from 'react-toastify';\r\nimport i18n from 'i18next';\r\n\r\nconst Msg = ({ closeToast, message }) => (\r\n
    \r\n {message}\r\n
    \r\n)\r\nconst MsgWithInfo = ({ message, info }) => (\r\n
    \r\n {message}: {info}\r\n
    \r\n)\r\n\r\nexport function Success(messageKey) {\r\n\r\n let message = i18n.t(messageKey);\r\n\r\n toast.success();\r\n}\r\n\r\nexport function SuccessWithInfo(messageKey, info) {\r\n\r\n let message = i18n.t(messageKey);\r\n\r\n toast.success();\r\n}","import React from \"react\";\r\nimport { Button } from 'react-bootstrap'\r\nimport PropTypes from 'prop-types';\r\nimport * as FileSaver from 'file-saver';\r\n\r\nimport { Success } from \"../Notifications/Notifications\"\r\nimport { HandleApiError } from \"../Notifications/APIErrorHandler\"\r\n\r\nimport { withTranslation } from 'react-i18next';\r\nimport { IconSVG } from \"../Icons/Icons\";\r\nimport { Tooltip } from \"../Utils/Tooltips\";\r\n\r\nclass ExportToExcel extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.onClick = this.onClick.bind(this);\r\n }\r\n\r\n async onClick() {\r\n\r\n // Obtengo datos a exportar\r\n this.props.exportToExcel(this.props.filters).then(response => {\r\n\r\n const data = new Blob([response.data], { type: response.headers['content-type'] });\r\n\r\n var disposition = response.headers[\"content-disposition\"];\r\n var filename = \"Turnos.xslx\";\r\n if (disposition && disposition.indexOf('attachment') !== -1) {\r\n var filenameRegex = /filename[^;=\\n]*=((['\"]).*?\\2|[^;\\n]*)/;\r\n var matches = filenameRegex.exec(disposition);\r\n if (matches != null && matches[1]) {\r\n filename = matches[1].replace(/['\"]/g, '');\r\n }\r\n }\r\n\r\n FileSaver.saveAs(data, filename);\r\n\r\n Success(\"commons.exported\", this.props.t)\r\n }).catch(error => {\r\n HandleApiError(error, this.props.t);\r\n });\r\n }\r\n\r\n render() {\r\n const { t } = this.props;\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\nexport default withTranslation()(ExportToExcel);\r\n\r\nExportToExcel.propTypes = {\r\n filters: PropTypes.object.isRequired,\r\n exportToExcel: PropTypes.func.isRequired\r\n};\r\n","import React from \"react\";\r\nimport PropTypes from 'prop-types';\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nexport const YesNoNotApply = (props) => {\r\n\r\n const { t } = useTranslation();\r\n const handleClick = event => {\r\n switch (event.currentTarget.name) {\r\n case \"selected_yes\":\r\n props.onChange(props.name, \"yes\");\r\n break;\r\n case \"selected_no\":\r\n props.onChange(props.name, \"no\");\r\n break;\r\n case \"selected_na\":\r\n props.onChange(props.name, \"n/a\");\r\n break;\r\n default:\r\n props.onChange(props.name, null);\r\n break;\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 props.isClearable && !props.disabled ?\r\n {t('commons.clear')}\r\n : null\r\n }\r\n \r\n );\r\n}\r\n\r\nYesNoNotApply.propTypes = {\r\n name: PropTypes.string.isRequired,\r\n isClearable: PropTypes.bool,\r\n disabled: PropTypes.bool,\r\n};\r\n\r\nexport const YesNo = (props) => {\r\n\r\n const { t } = useTranslation();\r\n const handleClick = event => {\r\n switch (event.currentTarget.name) {\r\n case \"selected_yes\":\r\n props.onChange(props.name, true);\r\n break;\r\n case \"selected_no\":\r\n props.onChange(props.name, false);\r\n break;\r\n default:\r\n props.onChange(props.name, null);\r\n break;\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n
    \r\n \r\n \r\n
    \r\n {\r\n props.isClearable && !props.disabled ?\r\n {t('commons.clear')}\r\n : null\r\n }\r\n \r\n );\r\n}\r\n\r\nYesNo.propTypes = {\r\n name: PropTypes.string.isRequired,\r\n isClearable: PropTypes.bool,\r\n disabled: PropTypes.bool,\r\n};","import { ErrorMessage } from 'formik';\r\nimport moment from 'moment';\r\nimport PropTypes from 'prop-types';\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { Button, Col, ControlLabel, FormControl, FormGroup, Grid, Modal, Row } from 'react-bootstrap';\r\nimport { default as Datetime } from 'react-datetime';\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { NavLink } from \"react-router-dom\";\r\nimport { getPatient, getPractitionersByProtocol } from '../../api/agenda';\r\nimport { getProtocols } from '../../api/protocol';\r\nimport { useAgenda, useMedicalServices } from '../../containers/Agenda/Hooks';\r\nimport Card from '../Cards/Card';\r\nimport { CustomFormControl } from '../CustomControls/CustomFormControl';\r\nimport { CustomSelect } from \"../CustomControls/CustomSelect\";\r\nimport { PatientPicker } from '../CustomControls/PatientPicker';\r\nimport { YesNo } from '../CustomControls/YesNoControls';\r\nimport { Save } from \"../Icons/Icons\";\r\nimport { HandleApiError, HandleError } from '../Notifications/APIErrorHandler';\r\nimport { ModalSpinner } from '../Utils/Loaders';\r\nimport { FormErrorMessage } from '../Validations/FormValidationErrors';\r\nimport { MedicalServiceInfo } from './MedicalServiceInfo';\r\nimport { colourStyles, getAvailableTimes, isValidEventStart, validateAvailabilityDate } from './Utils';\r\n\r\nexport const AppointmentForm = (props) => {\r\n const {\r\n values,\r\n isSubmitting,\r\n setFieldValue,\r\n setFieldTouched,\r\n handleSubmit,\r\n resetForm,\r\n formType,\r\n } = props;\r\n const { t } = useTranslation();\r\n\r\n const calendarView = useRef(\"days\");\r\n const [protocols, setProtocols] = useState([]);\r\n const [types, setTypes] = useState([]);\r\n const [medicalInsurances, setMedicalInsurances] = useState([]);\r\n const [isEditLoading, setIsEditLoading] = useState(formType === \"edit\");\r\n const [isLoading, setIsLoading,\r\n practitioners, getPractitioners, setPractitioners,\r\n availability, getAvailability, setAvailability] = useAgenda();\r\n const [isMSLoading, setIsMSLoading, , , ,\r\n medicalServices, getMedicalServices, setMedicalServices,\r\n medicalServicePrice, getMedicalServicePrice, setMedicalServicePrice] = useMedicalServices();\r\n const [selectedProtocol, setSelectedProtocol] = useState(null);\r\n\r\n const [availableTimes, setAvailableTimes] = useState([]);\r\n\r\n useEffect(() => {\r\n if (formType === \"edit\") { // Estoy editando.\r\n _getMedicalServices();\r\n\r\n _getMedicalServicesData(values.medicalServiceId, values.medicalInsuranceId, values.medicalInsurancePlanId);\r\n\r\n _getPatientData(null, null, values.patient.medicalRecordNumber);\r\n\r\n _getPractitionersForMedicalService(values.practitionerId, values.medicalInsuranceId);\r\n\r\n _getAvailability(\r\n values.practitioner.userId,\r\n values.medicalServiceId ?? 0,\r\n values.medicalInsuranceId ?? 0,\r\n values.medicalInsurancePlanId ?? 0,\r\n values.isFirstTime ?? false,\r\n values.visitType?.code?.toUpperCase() === \"OVERSHIFT\"\r\n );\r\n\r\n if ((values.visitType?.code?.toLowerCase() === \"protocol\" || values.visitType?.code?.toLowerCase() === \"prescreening\"))\r\n _getAllProtocols();\r\n setIsEditLoading(false);\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (formType === \"edit\") { // Estoy editando.\r\n setSelectedProtocol(protocols.find(x => x.id === values.protocol?.protocolId))\r\n }\r\n }, [protocols]);\r\n\r\n //#region Private\r\n const _getPatientData = async (controlName, selected, medicalRecordNumber) => {\r\n\r\n // Obtengo datos del paciente: Si está en protocolo, Proyecto y muestro los Tipos Disponibles. \r\n try {\r\n const response = await getPatient(medicalRecordNumber ?? selected.medicalRecordNumber);\r\n const patient = response.data;\r\n if (controlName)\r\n setFieldValue(controlName, patient);\r\n\r\n var options = props.masterdata;\r\n if (!patient.projects || patient.projects.length === 0)\r\n options = options.filter(x => x.code?.toLowerCase() !== \"project\");\r\n\r\n if (!patient.protocols || patient.protocols.length === 0)\r\n options = options.filter(x => x.code?.toLowerCase() !== \"protocol\");\r\n\r\n setTypes(selected === null ? [] : options);\r\n setTypes(options);\r\n //setProjects(patient.projects);\r\n setProtocols(patient.protocols);\r\n let insurances = [{ id: 0, title: \"Particular\", plan: 0 }];\r\n if (patient.medicalInsurance) {\r\n if (patient.medicalInsurancePlan)\r\n insurances.push({ id: patient.medicalInsuranceId, title: `${patient.medicalInsurance} - ${patient.medicalInsurancePlan}`, plan: patient.medicalInsurancePlanId });\r\n else\r\n insurances.push({ id: patient.medicalInsuranceId, title: `${patient.medicalInsurance}`, plan: patient.medicalInsurancePlanId });\r\n }\r\n\r\n setMedicalInsurances(insurances);\r\n\r\n if (formType === \"edit\") {\r\n let insuranceId = values.medicalInsuranceId ?? 0;\r\n setFieldValue(\"medicalInsurance\", insurances.filter(x => x.id == insuranceId));\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }\r\n\r\n const _getProtocolPractitioners = async (protocolId) => {\r\n // Obtengo Profesionales del Protocolo.\r\n try {\r\n setIsLoading(true);\r\n const response = await getPractitionersByProtocol(protocolId);\r\n setPractitioners(response.data.data);\r\n setIsLoading(false);\r\n } catch (error) {\r\n HandleApiError(error);\r\n console.log(error);\r\n setIsLoading(false);\r\n }\r\n }\r\n\r\n const _getAllProtocols = async () => {\r\n // Obtengo todos los Protocolos.\r\n try {\r\n const response = await getProtocols({\r\n pagination: { page: 1, sizePerPage: 1000, totalSize: 0 },\r\n sort: { sortField: \"Created\", sortOrder: \"desc\" },\r\n filters: { notStatusId: 4 }\r\n });\r\n if (response.data)\r\n return response.data.data\r\n return [];\r\n\r\n } catch (error) {\r\n HandleApiError(error);\r\n console.log(error);\r\n return [];\r\n }\r\n }\r\n\r\n const _getMedicalServices = async () => {\r\n // Obtengo Médicos que atiendan al Servicio Médico.\r\n try {\r\n setIsMSLoading(true);\r\n var res = await getMedicalServices();\r\n setMedicalServices(res.data?.data);\r\n if (formType === \"edit\") {\r\n let serviceId = values.medicalServiceId ?? 0;\r\n setFieldValue(\"medicalService\", res.data?.data.filter(x => x.id == serviceId));\r\n }\r\n setIsMSLoading(false);\r\n }\r\n catch (ex) {\r\n console.log(ex)\r\n setIsMSLoading(false);\r\n }\r\n }\r\n\r\n const _getMedicalServicesData = async (medicalServiceId, medicalInsuranceId, medicalInsurancePlanId) => {\r\n // Obtengo Servicios\r\n if (!medicalServiceId) // && !medicalInsuranceId)\r\n return;\r\n\r\n try {\r\n setIsMSLoading(true);\r\n var res2 = await getMedicalServicePrice(medicalServiceId, medicalInsuranceId, medicalInsurancePlanId ?? 0);\r\n setMedicalServicePrice(res2.data.data);\r\n setIsMSLoading(false);\r\n }\r\n catch (ex) {\r\n console.log(ex)\r\n setIsMSLoading(false);\r\n }\r\n }\r\n\r\n const _getPractitionersForMedicalService = async (practitionerId, medicalInsuranceId) => {\r\n // Obtengo Médicos que atiendan al Servicio Médico.\r\n if (!practitionerId) {\r\n setPractitioners([]);\r\n return;\r\n }\r\n\r\n try {\r\n setIsLoading(true);\r\n var res = await getPractitioners(practitionerId, medicalInsuranceId);\r\n var users = res.data?.data.map(x => x.practitioner).filter(x => !x.practitioner); // Formateo data\r\n setPractitioners(users ?? []);\r\n setIsLoading(false);\r\n }\r\n catch (ex) {\r\n console.log(ex)\r\n setPractitioners([]);\r\n setIsLoading(false);\r\n }\r\n }\r\n\r\n const _getAvailability = async (userId, medicalServiceId, medicalInsuranceId, medicalInsurancePlanId, isFirstTime, isOverShift) => {\r\n // Obtengo disponibilidad del médico. \r\n try {\r\n setIsLoading(true);\r\n var res = await getAvailability(userId, medicalServiceId, medicalInsuranceId, medicalInsurancePlanId, isFirstTime, isOverShift);\r\n setAvailability(res.data);\r\n setIsLoading(false);\r\n }\r\n catch (ex) {\r\n console.log(ex)\r\n setIsLoading(false);\r\n }\r\n }\r\n //#endregion\r\n\r\n //#region Events\r\n const handlePatientChange = (controlName, selected) => {\r\n\r\n if (selected !== null)\r\n _getPatientData(controlName, selected);\r\n else {\r\n setFieldValue(\"visitType\", null);\r\n setFieldValue(\"isFirstTime\", false);\r\n setFieldValue(\"medicalInsurance\", null);\r\n setFieldValue(\"medicalService\", null);\r\n setFieldValue(\"practitioner\", null);\r\n setFieldValue(\"selectedDate\", null);\r\n setFieldValue(\"start\", null);\r\n setFieldValue(\"end\", null);\r\n resetForm();\r\n }\r\n }\r\n\r\n const handleTypeChange = async (controlName, selectedValue) => {\r\n\r\n if (selectedValue === null)\r\n return;\r\n\r\n setFieldValue(controlName, selectedValue);\r\n setFieldValue(\"isFirstTime\", false);\r\n setFieldValue(\"medicalInsurance\", null);\r\n setFieldValue(\"medicalService\", null);\r\n setFieldValue(\"practitioner\", null);\r\n setFieldValue(\"selectedDate\", null);\r\n setFieldValue(\"start\", null);\r\n setFieldValue(\"end\", null);\r\n\r\n if (selectedValue.code?.toLowerCase() === \"protocol\") {\r\n if (protocols.length === 1) {\r\n if (values.protocol)\r\n _getProtocolPractitioners(values.protocol.id);\r\n }\r\n }\r\n\r\n if (selectedValue.code?.toLowerCase() === \"prescreening\") {\r\n var allProtocols = await _getAllProtocols();\r\n console.log(allProtocols)\r\n setProtocols(allProtocols);\r\n }\r\n\r\n _getMedicalServices();\r\n }\r\n\r\n const handleProtocolChange = (controlName, selectedValue) => {\r\n setFieldValue(controlName, selectedValue);\r\n\r\n if (selectedValue)\r\n _getProtocolPractitioners(selectedValue.id);\r\n }\r\n\r\n const handleMedicalInsurance = async (controlName, selectedValue) => {\r\n setFieldValue(controlName, selectedValue);\r\n\r\n setFieldValue(\"medicalService\", null);\r\n setFieldValue(\"practitioner\", null);\r\n setFieldValue(\"selectedDate\", null);\r\n setFieldValue(\"start\", null);\r\n setFieldValue(\"end\", null);\r\n }\r\n\r\n const handleMedicalService = async (controlName, selectedValue) => {\r\n setFieldValue(controlName, selectedValue);\r\n\r\n if (values.practitioner) {\r\n setFieldValue(\"practitioner\", null);\r\n setFieldValue(\"selectedDate\", null);\r\n setFieldValue(\"start\", null);\r\n setFieldValue(\"end\", null);\r\n }\r\n\r\n // Obtengo Costos del Servicio Médico.\r\n _getMedicalServicesData(selectedValue?.id, values.medicalInsurance?.id, values.medicalInsurance?.plan);\r\n\r\n // Obtengo Médicos que atiendan al Servicio Médico.\r\n _getPractitionersForMedicalService(selectedValue?.id, values.medicalInsurance?.id);\r\n }\r\n\r\n const handlePractitionerChange = async (controlName, selectedValue) => {\r\n setFieldValue(controlName, selectedValue);\r\n setAvailability([]);\r\n\r\n // Obtengo disponibilidad del médico. \r\n _getAvailability(selectedValue.userId,\r\n values.medicalService?.id,\r\n values.medicalInsurance?.id,\r\n values.medicalInsurance?.plan,\r\n values.isFirstTime ?? false,\r\n values.visitType?.code?.toUpperCase() === \"OVERSHIFT\");\r\n }\r\n\r\n const handleDate = (date) => {\r\n if (!moment.isMoment(date))\r\n return;\r\n\r\n setFieldValue(\"selectedDate\", date);\r\n\r\n if (values.visitType.code?.toLowerCase() === \"order\") {\r\n let times = getAvailableTimes('08:00', '19:40', 20);\r\n setAvailableTimes(times);\r\n return;\r\n }\r\n else {\r\n var availableDate = availability.availableDates.filter(x => moment(x.date).format('DD/MM/YYYY') === date.format('DD/MM/YYYY') && x.available);\r\n if (availableDate.length > 0) {\r\n var availableTimesAux = availableDate[0].availableAppointments.filter(x => x.available);\r\n setAvailableTimes(availableTimesAux);\r\n return;\r\n }\r\n }\r\n\r\n setAvailableTimes([]);\r\n }\r\n\r\n const handleTime = (_controlName, selectedValue) => {\r\n\r\n if (values.selectedDate) {\r\n let datastart = values.selectedDate.toDate();\r\n let dataend = values.selectedDate.toDate();\r\n\r\n datastart.setHours(selectedValue.appointmentInit.split(\":\")[0]);\r\n datastart.setMinutes(selectedValue.appointmentInit.split(\":\")[1]);\r\n dataend.setHours(selectedValue.appointmentEnd.split(\":\")[0]);\r\n dataend.setMinutes(selectedValue.appointmentEnd.split(\":\")[1]);\r\n\r\n setFieldValue(\"start\", datastart);\r\n setFieldValue(\"end\", dataend);\r\n }\r\n }\r\n\r\n const handleAvailabilityDate = (current, selected) => {\r\n if (calendarView.current !== \"days\" || values.visitType?.code?.toLowerCase() === \"order\")\r\n return true;\r\n\r\n return validateAvailabilityDate(current, selected, availability)\r\n }\r\n\r\n const onNavigate = (selectedView) => {\r\n calendarView.current = selectedView;\r\n }\r\n\r\n const onSubmit = (e) => {\r\n e.preventDefault();\r\n if (!isValidEventStart(values.start)) {\r\n HandleError(\"calendarErrors.Event_Create_StartLowerThanNow\");\r\n return;\r\n }\r\n else {\r\n handleSubmit();\r\n }\r\n }\r\n\r\n if (isEditLoading)\r\n return ;\r\n\r\n return (\r\n \r\n \r\n \r\n {\r\n formType === \"new\" ?\r\n t('calendar.newAppointmentTitle') :\r\n <>\r\n {t('calendar.editAppointmentTitle')}: {values.patient?.fullName} {values.start && moment(values.start, 'HH:mm').format('HH:mm')} - {values.end && moment(values.end, 'HH:mm').format('HH:mm')}\r\n }\r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n {t(\"calendar.patient\")}\r\n {\r\n formType === \"edit\" ? :\r\n \r\n }\r\n \r\n \r\n \r\n {\r\n formType !== \"edit\" &&\r\n <>\r\n
    \r\n \r\n {t(\"calendar.newPatient\")}\r\n \r\n \r\n }\r\n \r\n
    \r\n \r\n \r\n \r\n {t(\"calendar.visitType\")}\r\n \r\n \r\n \r\n \r\n {\r\n values.visitType && (values.visitType.code?.toLowerCase() !== \"studies\" && values.visitType.code?.toLowerCase() !== \"order\") &&\r\n \r\n {\r\n values.visitType.code?.toLowerCase() == \"protocol\" ?\r\n {t(\"calendar.isLongVisit\")} :\r\n {t(\"calendar.isFirstTime\")}\r\n }\r\n
    \r\n \r\n \r\n
    \r\n }\r\n \r\n
    \r\n\r\n {\r\n values.visitType && (values.visitType.code?.toLowerCase() === \"protocol\" || values.visitType.code?.toLowerCase() === \"prescreening\") &&\r\n \r\n \r\n \r\n {t(\"calendar.protocol\")}\r\n \r\n \r\n \r\n \r\n }\r\n\r\n {\r\n values.visitType && (values.visitType.code?.toLowerCase() !== \"protocol\" && values.visitType.code?.toLowerCase() !== \"prescreening\") &&\r\n \r\n \r\n \r\n {t(\"calendar.appointmentType\")}\r\n \r\n \r\n \r\n \r\n \r\n {t(\"calendar.medicalServiceInfo.medicalService\")}\r\n x.id == values.medicalServiceId) : values.medicalService}\r\n placeholder={t('commons.select')}\r\n isDisabled={!values.patient || !values.medicalInsurance}\r\n options={medicalServices}\r\n isLoading={isMSLoading}\r\n getOptionLabel={(option) => option.serviceNameReference}\r\n getOptionValue={(option) => option.id}\r\n onChange={handleMedicalService}\r\n isMulti={false} />\r\n \r\n \r\n \r\n }\r\n {\r\n values.visitType && medicalServicePrice && (values.visitType.code?.toLowerCase() !== \"protocol\" && values.visitType.code?.toLowerCase() !== \"prescreening\") &&\r\n \r\n } />\r\n }\r\n \r\n \r\n \r\n {t(\"calendar.practitioner\")}\r\n option.fullName}\r\n getOptionValue={(option) => option.userId}\r\n onChange={handlePractitionerChange}\r\n isMulti={false} />\r\n \r\n \r\n\r\n {\r\n values.practitioner &&\r\n <>\r\n \r\n \r\n \r\n {t(\"calendar.dayAndTime\")}\r\n {\r\n formType === \"edit\" &&\r\n <> {t(\"calendar.actual\")}: {values.start && moment(values.start, 'HH:mm').format('HH:mm')} - {values.end && moment(values.end, 'HH:mm').format('HH:mm')}\r\n }\r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {\r\n !availableTimes || availableTimes.length === 0 ?\r\n {t(\"calendarNotifications.noAppointmentAvailable\")} :\r\n option.appointmentInit}\r\n getOptionValue={(option) => option.appointmentInit}\r\n options={availableTimes}\r\n onChange={handleTime}\r\n isMulti={false} />\r\n }\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n {t('calendar.notes')}\r\n \r\n \r\n \r\n \r\n \r\n {t('calendar.location')}\r\n \r\n \r\n \r\n \r\n }\r\n
    \r\n
    \r\n
    \r\n \r\n {t(\"buttons.save\")}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nAppointmentForm.propTypes = {\r\n masterdata: PropTypes.array.isRequired,\r\n onClose: PropTypes.func.isRequired,\r\n currentPatient: PropTypes.string,\r\n formType: PropTypes.string,\r\n};","import * as Yup from 'yup';\r\nimport { setLocale } from 'yup';\r\n\r\nsetLocale({\r\n mixed: {\r\n required: ({ fieldName }) => ({ key: 'formValidation.field_required', values: { fieldName } })\r\n },\r\n string: {\r\n min: ({ min }) => ({ key: 'formValidation.field_too_short', values: { min } }),\r\n max: ({ max }) => ({ key: 'formValidation.field_too_big', values: { max } }),\r\n email: 'formValidation.field_mail_invalid',\r\n matches: 'formValidation.field_format_invalid',\r\n required: 'formValidation.field_required'\r\n },\r\n number: {\r\n min: ({ min }) => ({ key: 'formValidation.number_field_too_short', values: { min } }),\r\n max: ({ max }) => ({ key: 'formValidation.number_field_too_big', values: { max } }),\r\n },\r\n date: {\r\n min: ({ min }) => ({ key: 'formValidation.date_gt', values: { min } }),\r\n max: ({ max }) => ({ key: 'formValidation.date_lt', values: { max } }),\r\n },\r\n});\r\n\r\nexport const getAgendaAppointmentSchema = () => {\r\n return Yup.object().shape({\r\n //selectedDate: Yup.date().nullable().required(),\r\n start: Yup.date().nullable().required(),\r\n visitType: Yup.object().nullable().required(),\r\n isFirstTime: Yup.object()\r\n .when(\"visitType\", (visitType) => {\r\n if (visitType && (visitType?.code?.toLowerCase() !== \"studies\" && visitType?.code?.toLowerCase() !== \"order\"))\r\n return Yup.bool().nullable().required();\r\n else\r\n return Yup.bool().nullable();\r\n }),\r\n });\r\n}\r\n\r\nexport const getPatientSchema = () => {\r\n\r\n return Yup.object().shape({\r\n given: Yup.string().nullable().required().min(2).max(50),\r\n familyName: Yup.string().nullable().required().min(2).max(50),\r\n identificationType: Yup.string().nullable().required(),\r\n identificationNumber: Yup.string().matches(/^[0-9]*$/).nullable().required(),\r\n birthDate: Yup.date().nullable().required().max(new Date(), { key: 'formValidation.date_lt' }),\r\n gender: Yup.string().nullable().required(),\r\n address: Yup.object().shape({\r\n fullAddress: Yup.string().nullable()//.required(),\r\n }),\r\n telecom: Yup.object().shape({\r\n cellPhone: Yup.string().matches(/^(?=.*[0-9])[- +()0-9]+$/).nullable(),\r\n phone: Yup.string().matches(/^(?=.*[0-9])[- +()0-9]+$/).nullable(),\r\n email: Yup.string().nullable().email()\r\n }),\r\n relatedContacts: Yup.array()\r\n .of(\r\n Yup.object().shape({\r\n relationship: Yup.string().required().min(2).max(20),\r\n given: Yup.string().required().min(2).max(50),\r\n familyName: Yup.string().required().min(2).max(50),\r\n phone: Yup.string().required(),\r\n email: Yup.string().email().required(),\r\n streetName: Yup.string().required(),\r\n streetNumber: Yup.string().matches(/^[0-9]*$/).required()\r\n })\r\n ),\r\n medicalInsuranceInfo: Yup.object().shape({\r\n medicalInsurance: Yup.object().nullable(),\r\n medicalInsuranceNumber: Yup.string()\r\n .when([\"medicalInsurance\"], (medicalInsurance) => {\r\n if (medicalInsurance)\r\n return Yup.string().nullable().required()\r\n return Yup.string().nullable()\r\n }),\r\n }),\r\n });\r\n}\r\n\r\nexport const getUserSchema = () => {\r\n\r\n return Yup.object().shape({\r\n given: Yup.string().nullable().required(),\r\n familyName: Yup.string().nullable().required(),\r\n userName: Yup.string().matches(/^(?=[a-zA-Z0-9._]{3,20}$)(?!.*[_.]{2})[^_.].*[^_.]$/,\r\n {\r\n message: 'El nombre de usuario no debe contener espacios, no debe contener caracteres especiales y debe tener entre 3 y 20 caracteres. ',\r\n //excludeEmptyString: true,\r\n }).nullable().required(),\r\n workEmail: Yup.string().nullable().email().required(),\r\n //password: Yup.string().matches(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[@!\"#$%&\\/()=])[A-Za-z\\d@!\"#$%&\\/()=]{6,}$/,\r\n // {\r\n // message: 'La contraseña debe contener Mayúsculas, Minúsculas, Números, Simbolos y mínimo 6 caracteres. ',\r\n // //excludeEmptyString: true,\r\n // }).nullable().required(),\r\n //confirmPassword: Yup.string().oneOf([Yup.ref('password'), null], 'Las contraseñas deben ser iguales'),\r\n role: Yup.object().nullable().required(),\r\n });\r\n}\r\n\r\nexport const getUserProfileSchema = () => {\r\n\r\n return Yup.object().shape({\r\n given: Yup.string().nullable().required().min(2).max(50),\r\n familyName: Yup.string().nullable().required().min(2).max(50),\r\n identificationType: Yup.string().nullable().required(),\r\n identificationNumber: Yup.string().nullable().required(),\r\n birthDate: Yup.date().nullable().required().max(new Date(), { key: 'formValidation.date_lt' }),\r\n nationality: Yup.string().nullable().required(),\r\n gender: Yup.string().nullable().required(),\r\n maritalStatus: Yup.string().nullable().required(),\r\n address: Yup.object().shape({\r\n fullAddress: Yup.string().nullable().required(),\r\n }),\r\n telecom: Yup.object().shape({\r\n cellPhone: Yup.string().nullable().required(),\r\n email: Yup.string().nullable().email().required()\r\n }),\r\n password: Yup.string()\r\n .when(\"rsaPublicCert\", (publicCert) => {\r\n if (!publicCert)\r\n return Yup.string();\r\n else\r\n return Yup.string().nullable().required();\r\n }),\r\n });\r\n}\r\n\r\nexport const getTenantSchema = () => {\r\n\r\n return Yup.object().shape({\r\n tenantName: Yup.string().nullable().required(),\r\n tenantDomain: Yup.string().nullable().required(),\r\n servicePlan: Yup.string().nullable().required(),\r\n isActive: Yup.boolean().nullable().required(),\r\n });\r\n}\r\n\r\nexport const getSettingsSchema = () => {\r\n //resultItems\r\n return Yup.object().shape({\r\n name: Yup.string().nullable().required(),\r\n resultItems: Yup.array()\r\n .of(\r\n Yup.object().shape({\r\n name: Yup.object().nullable().required(),\r\n unit: Yup.object().nullable().required(),\r\n })\r\n )\r\n });\r\n}\r\n\r\nconst dateRangeYup = {\r\n fromDay: Yup.number().nullable(),\r\n fromMonth: Yup.number().nullable(),\r\n fromYear: Yup.number().required().nullable(),\r\n toYear: Yup\r\n .number()\r\n .when([\"fromYear\"], (fromYear) => {\r\n return Yup.number().min(fromYear, { key: 'formValidation.date_range' }).nullable();\r\n }),\r\n toMonth: Yup\r\n .number()\r\n .when([\"fromYear\", \"fromMonth\", \"toYear\"], (fromYear, fromMonth, toYear) => {\r\n if (fromYear == toYear && fromMonth)\r\n return Yup.number().min(fromMonth, { key: 'formValidation.date_range' });\r\n return Yup.number().nullable();\r\n\r\n }),\r\n toDay: Yup\r\n .number()\r\n .when([\"fromYear\", \"fromMonth\", \"fromDay\", \"toYear\", \"toMonth\"], (fromYear, fromMonth, fromDay, toYear, toMonth) => {\r\n if (fromYear == toYear && fromMonth == toMonth && fromDay)\r\n return Yup.number().min(fromDay, { key: 'formValidation.date_range' });\r\n return Yup.number().nullable();\r\n }),\r\n}\r\nexport const getMedicalRecordsSchema = () => {\r\n\r\n return {\r\n adverseEvent: Yup.object().shape({\r\n adverseEvents: Yup.array()\r\n .of(\r\n Yup.object().shape({\r\n name: Yup.object().required().nullable().default(null),\r\n ...dateRangeYup\r\n })\r\n )\r\n }),\r\n drugs: Yup.object().shape({\r\n drugs: Yup.array()\r\n .of(\r\n Yup.object().shape({\r\n name: Yup.object().nullable().required(),\r\n routeOfAdministration: Yup.object().nullable().required(),\r\n reason: Yup.string().required(),\r\n dose: Yup.string().nullable().required(),\r\n ...dateRangeYup\r\n })\r\n )\r\n }),\r\n drugsEdit: Yup.object().shape({\r\n drugs: Yup.array()\r\n .of(\r\n Yup.object().shape({\r\n name: Yup.object().nullable().required(),\r\n routeOfAdministration: Yup.object().nullable().required(),\r\n dose: Yup.string().nullable().required(),\r\n ...dateRangeYup\r\n })\r\n )\r\n }),\r\n prescriptionsEdit: Yup.object().shape({\r\n prescriptionDate: Yup.string().nullable().required(),\r\n prescriptions: Yup.array()\r\n .of(\r\n Yup.object().shape({\r\n packageCount: Yup.number().nullable().required(),\r\n drug: Yup.object().nullable().required(),\r\n frequency: Yup.object().nullable().required(),\r\n unit: Yup.object().nullable().required(),\r\n posology: Yup.string().nullable().required(),\r\n })\r\n )\r\n }),\r\n orders: Yup.object().shape({\r\n orderDate: Yup.string().nullable().required(),\r\n orders: Yup.array()\r\n .of(\r\n Yup.object().shape({\r\n procedure: Yup.object().nullable().required()\r\n })\r\n )\r\n }),\r\n procedures: Yup.object().shape({\r\n procedures: Yup.array()\r\n .of(\r\n Yup.object().shape({\r\n name: Yup.string().required(),\r\n reason: Yup.string().required(),\r\n ...dateRangeYup\r\n })\r\n )\r\n }),\r\n proceduresEdit: Yup.object().shape({\r\n procedures: Yup.array()\r\n .of(\r\n Yup.object().shape({\r\n name: Yup.string().required(),\r\n ...dateRangeYup\r\n })\r\n )\r\n }),\r\n laboratories: Yup.object().shape({\r\n laboratories: Yup.array()\r\n .of(\r\n Yup.object().shape({\r\n name: Yup.object().nullable().required(),\r\n result: Yup.string().nullable().required(),\r\n unit: Yup.object().nullable().required(),\r\n //significance: Yup.object().nullable().required()\r\n })\r\n ),\r\n }),\r\n resultsTemplates: Yup.object().shape({\r\n name: Yup.object().nullable(),\r\n result: Yup.string(),\r\n unit: Yup.string()\r\n }),\r\n anthropometrics: Yup.object().shape({\r\n weight: Yup.string().matches(/^[1-9]\\d*(\\.\\d+)?$/,\r\n {\r\n message: 'Ingresar un peso válido en Kg. ',\r\n }).nullable().required(),\r\n height: Yup.string().matches(/^\\d+$/,\r\n {\r\n message: 'La altura debe estar expresada en Centimetros. ',\r\n }).nullable().required(),\r\n waist: Yup.string().matches(/^[1-9]\\d*(\\.\\d+)?$/,\r\n {\r\n message: 'Debe estar expresado con \\'.\\'',\r\n }).nullable(),\r\n sagittal: Yup.string().matches(/^[1-9]\\d*(\\.\\d+)?$/,\r\n {\r\n message: 'Debe estar expresado con \\'.\\'',\r\n }).nullable(),\r\n neck: Yup.string().matches(/^[1-9]\\d*(\\.\\d+)?$/,\r\n {\r\n message: 'Debe estar expresado con \\'.\\'',\r\n }).nullable(),\r\n }),\r\n vitals: Yup.object().shape({\r\n bloodPressureHigh: Yup.string().matches(/^[1-9]\\d*$/, { message: 'Número entero sin decimal', }).required(),\r\n bloodPressureLow: Yup.string().matches(/^[1-9]\\d*$/, { message: 'Número entero sin decimal', }).required(),\r\n heartRate: Yup.string().matches(/^[1-9]\\d*$/, { message: 'Número entero sin decimal', }).required(),\r\n temperatureC: Yup.string().matches(/^[1-9]\\d*(\\.\\d+)?$/,\r\n {\r\n message: 'Debe estar expresado con \\'.\\'',\r\n }).nullable(),\r\n oxygenSaturation: Yup.string().matches(/^[1-9]\\d*(\\.\\d+)?$/,\r\n {\r\n message: 'Debe estar expresado con \\'.\\'',\r\n }).nullable()\r\n }),\r\n familyHistory: Yup.object().shape({\r\n familyHistories: Yup.array()\r\n .of(\r\n Yup.object().shape({\r\n name: Yup.object().nullable().required(),\r\n relative: Yup.object().nullable().required(),\r\n })\r\n )\r\n })\r\n };\r\n}\r\n\r\nexport const getProtocolBriefSchema = () => {\r\n\r\n return Yup.object().shape({\r\n brief: Yup.object().shape({\r\n laboratory: Yup.object().nullable().required(),\r\n protocolNumber: Yup.string().trim().matches(/^[A-Za-z0-9\\-\\_]+$/,\r\n {\r\n message: 'Solo Números, Letras, -, _',\r\n }).required(),\r\n centerNumber: Yup.string().trim().matches(/^[A-Za-z0-9\\-\\_]+$/,\r\n {\r\n message: 'Solo Números, Letras, -, _',\r\n }).required(),\r\n title: Yup.string().required(),\r\n fullTitle: Yup.string().required(),\r\n phase: Yup.object().nullable().required(),\r\n indication: Yup.object().nullable().required(),\r\n //status: Yup.object().nullable().required(),\r\n specialty: Yup.object().nullable().required(),\r\n patientsObjective: Yup.number().min(1).nullable().required(),\r\n principalInvestigator: Yup.object().nullable().required(),\r\n studyRole: Yup.object().nullable().required(),\r\n currentUserStudyRole: Yup.object().nullable().required(),\r\n })\r\n });\r\n}\r\n\r\nexport const getProtocolBriefEditSchema = () => {\r\n\r\n return Yup.object().shape({\r\n brief: Yup.object().shape({\r\n laboratory: Yup.object().nullable().required(),\r\n protocolNumber: Yup.string().trim().matches(/^[A-Za-z0-9\\-\\_]+$/,\r\n {\r\n message: 'Solo Números, Letras, -, _',\r\n }).required(),\r\n centerNumber: Yup.string().trim().matches(/^[A-Za-z0-9\\-\\_]+$/,\r\n {\r\n message: 'Solo Números, Letras, -, _',\r\n }).required(),\r\n title: Yup.string().required(),\r\n fullTitle: Yup.string().required(),\r\n phase: Yup.object().nullable().required(),\r\n indication: Yup.object().nullable().required(),\r\n specialty: Yup.object().nullable().required(),\r\n patientsObjective: Yup.number().min(1).nullable().required(),\r\n principalInvestigator: Yup.object().nullable().required(),\r\n })\r\n });\r\n}\r\n\r\nexport const getProtocolPatientsSchema = () => {\r\n\r\n return Yup.object().shape({\r\n patients: Yup.array()\r\n .of(\r\n Yup.object().shape({\r\n patient: Yup.object().nullable().required(),\r\n numberInProtocol: Yup.string().trim().matches(/^[A-Za-z0-9\\-\\_]+$/,\r\n {\r\n message: 'Solo Números, Letras, -, _',\r\n }).required(),\r\n })\r\n ),\r\n });\r\n}\r\n\r\nexport const getProtocolPatientNumberSchema = () => {\r\n\r\n return Yup.object().shape({\r\n updatedNumberInProtocol: Yup.string().trim().matches(/^[A-Za-z0-9\\-\\_]+$/,\r\n {\r\n message: 'Solo Números, Letras, -, _',\r\n }).required()\r\n });\r\n}\r\n\r\nexport const getProtocolPractitionersSchema = () => {\r\n\r\n return Yup.object().shape({\r\n practitioners: Yup.array()\r\n .of(\r\n Yup.object().shape({\r\n practitioner: Yup.object().nullable().required(),\r\n studyRole: Yup.object().nullable().required(),\r\n studyTasks: Yup.array().nullable(),\r\n startOfTask: Yup.date().nullable().required(),\r\n })\r\n ),\r\n });\r\n}\r\n\r\nexport const getProtocolVisitHeaderSchema = () => {\r\n\r\n return Yup.object().shape({\r\n visit: Yup.object().shape({\r\n title: Yup.string().required(),\r\n type: Yup.object().nullable().required(),\r\n stage: Yup.object().nullable().required(),\r\n offsetType: Yup.object().when(\"offset\", (offset) => {\r\n if (!offset || offset === 0)\r\n return Yup.object().nullable();\r\n else\r\n return Yup.object().nullable().required();\r\n }),\r\n //offsetFrom: Yup.object().nullable().required(),\r\n offset: Yup.number().nullable().required(),\r\n windowNeg: Yup.number().min(0).required(),\r\n windowPos: Yup.number().min(0).required()\r\n })\r\n });\r\n}\r\n\r\nexport const getValidationSchema = () => {\r\n\r\n let renderable = Yup.lazy(function (item) {\r\n if (item.required || item._t === \"ArrayField\") {\r\n switch (item._t) {\r\n case \"SingleLineField\":\r\n return Yup.object().shape({ value: Yup.string().nullable().required() });\r\n case \"MultiLineField\":\r\n return Yup.object().shape({ value: Yup.string().nullable().required() });\r\n case \"IntegerField\":\r\n return Yup.object().shape({ value: Yup.number().integer().nullable(true).transform(v => isNaN(v) ? null : v).required() });\r\n case \"NumberField\":\r\n case \"DecimalField\":\r\n return Yup.object().shape({\r\n value: Yup.string().nullable().matches(/^[0-9]\\d*(\\.\\d+)?$/,\r\n {\r\n message: 'Debe estar expresado con \\'.\\'',\r\n }),\r\n //Yup.number().test(\r\n // 'is-decimal',\r\n // 'Número inválido',\r\n // value => {\r\n // console.log(value);\r\n // return (value + \"\").match(/^[1-9]\\d*(\\.\\d+)?$/);\r\n // },\r\n //)\r\n });\r\n case \"TimeField\":\r\n return Yup.object().shape({ value: Yup.date().nullable().required() });\r\n case \"DateField\": //.matches(/^[0-9]*$/).nullable().required(), \r\n return Yup.object().shape({\r\n value: Yup.string().required().matches(/([A-Za-z0-9]{1,3})\\/([A-Za-z0-9]{1,3})\\/([12][0-9]{3}$)/,\r\n {\r\n message: 'El año es requerido',\r\n }).nullable()\r\n });\r\n case \"DateTimeField\":\r\n return Yup.object().shape({ value: Yup.date().nullable().required() });\r\n case \"AdherenceField\":\r\n case \"SelectField\":\r\n case \"SelectAsyncField\":\r\n case \"SnomedField\":\r\n return Yup.object().shape({ value: Yup.object().nullable().required() });\r\n case \"YesNoField\":\r\n return Yup.object().shape({ value: Yup.string().nullable().required() });\r\n case 'PayableField':\r\n case \"BooleanField\":\r\n return Yup.object().shape({ value: Yup.boolean().nullable().required() });\r\n case \"RadioField\":\r\n return Yup.object().shape({ value: Yup.string().nullable().required() });\r\n case \"MultiCheckBoxField\":\r\n return Yup.object().shape({ value: Yup.array().nullable().required() });\r\n case \"CheckboxField\":\r\n return Yup.object().shape({ value: Yup.boolean().nullable().required() });\r\n case \"FileUploadField\":\r\n return Yup.object().shape({ value: Yup.object().nullable().required() });\r\n return Yup.object().shape({\r\n value: Yup.object().shape({\r\n uploadedBy: Yup.string().nullable(),\r\n validatedBy: Yup\r\n .string()\r\n .nullable() \r\n .when([\"uploadedBy\", \"validatedBy\"], (uploadedBy, validatedBy) => {\r\n if (uploadedBy !== validatedBy)\r\n return Yup.object().nullable().required();\r\n else\r\n return Yup.object().nullable().required();\r\n })\r\n }).nullable().required()\r\n });\r\n case \"ArrayField\":\r\n return Yup.object().shape({\r\n components: Yup.array().of(\r\n Yup.object().shape({\r\n fields: Yup.array().of(renderable)\r\n })\r\n )\r\n });\r\n default:\r\n return Yup.mixed().notRequired();\r\n }\r\n }\r\n return Yup.mixed().notRequired()\r\n });\r\n\r\n return Yup.object().shape({\r\n //text: Yup.string().nullable().required(),\r\n fields: Yup.array().of(renderable)\r\n });\r\n}\r\n\r\nexport const getValidationAuditTrailModal = () => {\r\n return Yup.object().shape({\r\n reason: Yup.object().nullable().required(),\r\n comments: Yup.object()\r\n .when(\"reason\", (reason) => {\r\n if (!reason)\r\n return Yup.string();\r\n else\r\n return reason.code === \"other\" ? Yup.string().nullable().required() : Yup.string();\r\n }),\r\n });\r\n}\r\n\r\nexport const getRoleSchema = () => {\r\n return Yup.object().shape({\r\n role: Yup.object().shape({\r\n name: Yup.string().nullable().required(),\r\n claims: Yup.array().nullable().required(),\r\n })\r\n });\r\n}\r\n\r\nexport const getStudyRoleSchema = () => {\r\n return Yup.object().shape({\r\n role: Yup.object().shape({\r\n name: Yup.string().nullable().required(),\r\n permissions: Yup.array().nullable(),\r\n })\r\n });\r\n}\r\n\r\nexport const getCodeableConceptSchema = () => {\r\n\r\n return Yup.object().shape({\r\n studyTask: Yup.object().shape({\r\n code: Yup.string().nullable().required(),\r\n title: Yup.string().nullable().required(),\r\n description: Yup.string().nullable()\r\n })\r\n });\r\n}\r\n\r\nexport const getLaboratoriesSchema = () => {\r\n\r\n return Yup.object().shape({\r\n laboratory: Yup.object().shape({\r\n code: Yup.string().nullable().required(),\r\n title: Yup.string().nullable().required(),\r\n description: Yup.string().nullable()\r\n })\r\n });\r\n}\r\n\r\nexport const getDigitalSignSchema = () => {\r\n return Yup.object().shape({\r\n password: Yup.string().nullable().required()\r\n });\r\n}","import { withFormik } from 'formik';\r\nimport PropTypes from 'prop-types';\r\nimport React from 'react';\r\nimport { AppointmentForm } from '../../components/Agenda/AppointmentForm';\r\nimport { getAgendaAppointmentSchema } from '../../components/Validations/FormValidationSchema';\r\n\r\nexport const AddAppointmentContainer = (props) => {\r\n return (\r\n \r\n );\r\n}\r\nAddAppointmentContainer.propTypes = {\r\n onSubmit: PropTypes.func.isRequired,\r\n onClose: PropTypes.func.isRequired,\r\n};\r\n\r\nconst AddAppointmentFormik = withFormik({\r\n validationSchema: getAgendaAppointmentSchema(),\r\n handleSubmit: (values, formikBag) => {\r\n formikBag.props.onSubmit(values);\r\n },\r\n displayName: 'AddAppointment',\r\n})(AppointmentForm);\r\n\r\nAddAppointmentFormik.propTypes = {\r\n onSubmit: PropTypes.func.isRequired,\r\n onClose: PropTypes.func.isRequired,\r\n};","import { withFormik } from 'formik';\r\nimport moment from 'moment';\r\nimport PropTypes from 'prop-types';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { AppointmentForm, EditAppointmentForm } from '../../components/Agenda/AppointmentForm';\r\nimport { HandleApiError } from '../../components/Notifications/APIErrorHandler';\r\nimport { ModalSpinner, Spinner } from '../../components/Utils/Loaders';\r\nimport { getAgendaAppointmentSchema } from '../../components/Validations/FormValidationSchema';\r\nimport { useEvents } from './Hooks';\r\n\r\nexport const EditAppointmentContainer = (props) => {\r\n const [, , , getEvent] = useEvents();\r\n const [appointment, setAppointment] = useState(null);\r\n const [isLoading, setIsLoading] = useState(false);\r\n\r\n useEffect(() => {\r\n const fetchAppointment = async () => {\r\n try {\r\n setIsLoading(true);\r\n let res = await getEvent(props.appointment?.id);\r\n if (res && res.data) {\r\n res.data.start = moment.utc(moment.utc(res.data.start)).local().toDate();\r\n res.data.end = moment.utc(moment.utc(res.data.end)).local().toDate();\r\n setAppointment(res.data);\r\n }\r\n setIsLoading(false);\r\n }\r\n catch (error) {\r\n console.log(error);\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n }\r\n }\r\n\r\n if (props.appointment?.id)\r\n fetchAppointment();\r\n }, [])\r\n\r\n if (isLoading || !appointment)\r\n return \r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nEditAppointmentContainer.propTypes = {\r\n onSubmit: PropTypes.func.isRequired,\r\n onClose: PropTypes.func.isRequired,\r\n masterdata: PropTypes.object.isRequired,\r\n appointment: PropTypes.object.isRequired\r\n};\r\n\r\nconst EditAppointmentFormik = withFormik({\r\n mapPropsToValues: (props) => (props.appointment),\r\n validationSchema: getAgendaAppointmentSchema(),\r\n handleSubmit: (values, formikBag) => {\r\n formikBag.props.onSubmit(values);\r\n },\r\n displayName: 'EditAppointment'\r\n})(AppointmentForm);\r\n\r\nEditAppointmentFormik.propTypes = {\r\n onSubmit: PropTypes.func.isRequired,\r\n onClose: PropTypes.func.isRequired,\r\n};","import { withFormik } from 'formik';\r\nimport PropTypes from 'prop-types';\r\nimport React from 'react';\r\nimport { ScheduleLockForm } from '../../components/Agenda/ScheduleLock';\r\n\r\nexport const ScheduleLockContainer = (props) => {\r\n return (\r\n \r\n );\r\n}\r\nScheduleLockContainer.propTypes = {\r\n onSubmit: PropTypes.func.isRequired,\r\n onClose: PropTypes.func.isRequired\r\n};\r\n\r\nconst ScheduleLockFormik = withFormik({\r\n //validationSchema: getAgendaAppointmentSchema(),\r\n handleSubmit: (values, formikBag) => {\r\n formikBag.props.onSubmit(values);\r\n },\r\n displayName: 'ScheduleLock',\r\n})(ScheduleLockForm);\r\n\r\nScheduleLockFormik.propTypes = {\r\n onSubmit: PropTypes.func.isRequired,\r\n onCancel: PropTypes.func.isRequired,\r\n};","import moment from 'moment';\r\nimport React, { useState } from 'react';\r\nimport { Calendar as BigCalendar, momentLocalizer } from 'react-big-calendar';\r\nimport 'react-big-calendar/lib/addons/dragAndDrop/styles.scss';\r\nimport \"react-big-calendar/lib/css/react-big-calendar.css\";\r\nimport \"react-datetime/css/react-datetime.css\";\r\nimport { useTranslation } from 'react-i18next';\r\nimport { cancelEvent, createEvent, createScheduleLockAPI, exportToExcel, notAttendanceAppointment, setPresent, updateEvent, updateEventAttendance, updateEventStatus } from '../../api/agenda';\r\nimport '../../assets/sass/lbd/_react-big-calendar.scss';\r\nimport { Event, EventAgenda, EventMonth } from \"../../components/Agenda/Event\";\r\nimport { ConfirmRemove } from '../../components/Agenda/Modals';\r\nimport { ScheduleLockAppointmentsTaken } from '../../components/Agenda/ScheduleLock';\r\nimport { colourStyles, visitTypeColorGetter } from '../../components/Agenda/Utils';\r\nimport { ViewEvent } from \"../../components/Agenda/ViewEvent\";\r\nimport { useAuthorization } from '../../components/Authorization/useAuthorization';\r\nimport { WithAuth } from '../../components/Authorization/WithAuth';\r\nimport { Card } from '../../components/Cards/Card';\r\nimport { CustomSelect } from '../../components/CustomControls/CustomSelect';\r\nimport { PatientPicker } from '../../components/CustomControls/PatientPicker';\r\nimport { PractitionerSelect } from '../../components/CustomControls/PractitionerSelect';\r\nimport { ProtocolPicker } from '../../components/CustomControls/ProtocolPicker';\r\nimport ExportToExcel from \"../../components/Export/ExportToExcel\";\r\nimport { IconSVG, Lock } from '../../components/Icons/Icons';\r\nimport { HandleApiError, HandleError } from '../../components/Notifications/APIErrorHandler';\r\nimport { Success } from '../../components/Notifications/Notifications';\r\nimport { getQueryParam } from '../../components/Utils/Commons';\r\nimport { ModalSpinner } from '../../components/Utils/Loaders';\r\nimport { AddAppointmentContainer } from './AddAppointment';\r\nimport { EditAppointmentContainer } from './EditAppointment';\r\nimport { useEvents, useMasterData } from './Hooks';\r\nimport { ScheduleLockContainer } from './ScheduleLock';\r\n\r\nrequire('moment/locale/es.js');\r\n\r\n// Setup the localizer by providing the moment Object to the correct localizer.\r\nmoment.locale('es', { week: { dow: 0, doy: 0, }, });\r\n\r\nconst localizer = momentLocalizer(moment);\r\n\r\nexport const Agenda = (props) => {\r\n const { t } = useTranslation();\r\n const currentPatient = getQueryParam(props.location.search, \"medicalRecordNumber\");\r\n const [, , isAuthorized] = useAuthorization();\r\n\r\n const [modal, setModal] = useState(null);\r\n const [query, setQuery] = useState({ view: \"week\", currentDate: moment().format(\"YYYY-MM-DD\"), projects: [], protocols: [], practitioners: [], type: {}, medicalRecord: currentPatient });\r\n const [events, , setEvents] = useEvents(query);\r\n const [masterdata] = useMasterData();\r\n\r\n const isValidEventStart = (startDate) => {\r\n if (moment().isSameOrAfter(startDate)) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n const handleNavigate = (currentDate, currentView) => {\r\n var newQuery = JSON.parse(JSON.stringify(query));\r\n newQuery.view = currentView;\r\n newQuery.currentDate = moment(currentDate).format(\"YYYY-MM-DD\");\r\n\r\n setQuery(newQuery);\r\n }\r\n\r\n const handleViewChange = (currentView) => {\r\n var newQuery = JSON.parse(JSON.stringify(query));\r\n newQuery.view = currentView;\r\n setQuery(newQuery);\r\n }\r\n\r\n const handleFilterChange = (name, selectedValues) => {\r\n var newQuery = JSON.parse(JSON.stringify(query));\r\n switch (name) {\r\n case \"practitioners\":\r\n newQuery[name] = selectedValues ? selectedValues.map(x => x.userId) : [];\r\n break;\r\n case \"protocols\":\r\n newQuery[name] = selectedValues ? selectedValues.map(x => x.id) : [];\r\n break;\r\n case \"projects\":\r\n newQuery[name] = selectedValues ? selectedValues.map(x => x.id) : [];\r\n break;\r\n case \"medicalRecord\":\r\n newQuery[name] = selectedValues ? selectedValues.medicalRecordNumber : null;\r\n break;\r\n default:\r\n newQuery[name] = selectedValues;\r\n break;\r\n }\r\n\r\n setQuery(newQuery);\r\n }\r\n\r\n const handleNewAppointment = () => {\r\n\r\n if (!isAuthorized([\"Agenda.Create\"]))\r\n return;\r\n\r\n setModal(\r\n \r\n );\r\n }\r\n\r\n const handleSubmit = async (selectedAppointment) => {\r\n\r\n if (!isValidEventStart(selectedAppointment.start)) {\r\n HandleError(\"calendarErrors.Event_Create_StartLowerThanNow\");\r\n setModal(\r\n \r\n );\r\n return;\r\n }\r\n\r\n const event = {\r\n title: selectedAppointment.patient.fullName,\r\n patient: selectedAppointment.patient,\r\n visitType: selectedAppointment.visitType,\r\n medicalInsuranceId: selectedAppointment.medicalInsurance?.id,\r\n medicalInsurancePlanId: selectedAppointment.medicalInsurance?.plan,\r\n medicalServiceId: selectedAppointment.medicalService?.id,\r\n start: selectedAppointment.start,\r\n end: selectedAppointment.end,\r\n practitioner: selectedAppointment.practitioner,\r\n project: selectedAppointment.project,\r\n protocol: selectedAppointment.protocol,\r\n location: selectedAppointment.location,\r\n desc: selectedAppointment.desc,\r\n isFirstTime: selectedAppointment.isFirstTime\r\n };\r\n\r\n //console.log(event);\r\n //return;\r\n\r\n try {\r\n setModal();\r\n var res = await createEvent(event);\r\n event.id = res.data.id;\r\n\r\n setEvents([].concat(events, event));\r\n setModal(null);\r\n Success(\"calendarNotifications.Event_Created\");\r\n\r\n if (currentPatient) {\r\n const source = getQueryParam(props.location.search, \"source\");\r\n if (source)\r\n props.history.push(source)\r\n }\r\n }\r\n catch (error) {\r\n HandleApiError(error);\r\n console.log(error);\r\n setModal(\r\n \r\n );\r\n }\r\n }\r\n\r\n const handleNewScheduleLock = () => {\r\n\r\n if (!isAuthorized([\"Agenda.Create\"]))\r\n return;\r\n\r\n setModal(\r\n \r\n );\r\n }\r\n\r\n const handleSubmitScheduleLock = async (scheduleLock) => {\r\n\r\n try {\r\n setModal();\r\n var res = await createScheduleLockAPI(scheduleLock);\r\n if (res && res.data && res.data.appointmentsTaken?.length > 0)\r\n setModal()\r\n else\r\n setModal(null);\r\n setQuery(JSON.parse(JSON.stringify(query)));\r\n Success(\"calendarNotifications.ScheduleLock_Created\");\r\n }\r\n catch (error) {\r\n HandleApiError(error);\r\n console.log(error);\r\n setModal(null);\r\n }\r\n }\r\n\r\n const handleSelectedEvent = (event) => {\r\n setModal(\r\n \r\n );\r\n }\r\n\r\n const handleEventStatus = (eventId, confirmed) => {\r\n\r\n const event = events.find(x => x.id === eventId);\r\n const idx = events.findIndex(x => x.id === eventId);\r\n\r\n if (!isValidEventStart(event.start)) {\r\n HandleError(\"calendarErrors.Event_UpdateStatus_StartLowerThanNow\");\r\n return;\r\n }\r\n\r\n const updatedEvent = { ...event, confirmed: confirmed };\r\n\r\n updateEventStatus(eventId, confirmed).then(res => {\r\n const nextEvents = [...events];\r\n nextEvents.splice(idx, 1, updatedEvent);\r\n setEvents(nextEvents);\r\n setModal(null);\r\n }).catch(error => {\r\n HandleApiError(error);\r\n });\r\n }\r\n\r\n const handleAttended = (eventId) => {\r\n\r\n const event = events.find(x => x.id === eventId);\r\n const idx = events.findIndex(x => x.id === eventId);\r\n\r\n if (moment().isSameOrBefore(event.start)) {\r\n return false;\r\n }\r\n\r\n const updatedEvent = {\r\n ...event,\r\n attended: true\r\n }\r\n\r\n updateEventAttendance(eventId).then(res => {\r\n\r\n const nextEvents = [...events];\r\n nextEvents.splice(idx, 1, updatedEvent);\r\n setEvents(nextEvents);\r\n setModal(null);\r\n }).catch(error => {\r\n HandleApiError(error);\r\n });\r\n }\r\n\r\n const handleNotAttendance = (eventId) => {\r\n setModal(\r\n setModal(null)}\r\n onConfirm={onNotAttendance}\r\n id={eventId}\r\n title={t(\"calendar.notAssistModalTitle\")}\r\n />\r\n );\r\n }\r\n\r\n const onNotAttendance = (eventId, reason) => {\r\n\r\n const event = events.find(x => x.id === eventId);\r\n const idx = events.findIndex(x => x.id === eventId);\r\n\r\n if (moment().isSameOrBefore(event.start)) {\r\n return false;\r\n }\r\n\r\n const updatedEvent = {\r\n ...event,\r\n attended: false\r\n }\r\n\r\n notAttendanceAppointment(eventId, reason).then(res => {\r\n const nextEvents = [...events];\r\n nextEvents.splice(idx, 1, updatedEvent);\r\n setEvents(nextEvents);\r\n setModal(null);\r\n }).catch(error => {\r\n HandleApiError(error);\r\n });\r\n }\r\n\r\n const handleViewEdit = (event) => {\r\n if (!isValidEventStart(event.start)) {\r\n HandleError(\"calendarErrors.calendarErrors.Event_Update_StartLowerThanNow\");\r\n return;\r\n }\r\n\r\n if (!isAuthorized([\"Agenda.Edit\"]))\r\n return;\r\n\r\n setModal(\r\n \r\n );\r\n }\r\n\r\n const editEvent = (event) => {\r\n if (!isValidEventStart(event.start)) {\r\n HandleError(\"calendarErrors.Event_Update_StartLowerThanNow\");\r\n return;\r\n }\r\n\r\n const updatedEvent = {\r\n ...event,\r\n start: event.start,\r\n end: event.end,\r\n desc: event.desc,\r\n location: event.location,\r\n isFirstTime: event.isFirstTime\r\n }\r\n\r\n updateEvent(updatedEvent).then(res => {\r\n setQuery(JSON.parse(JSON.stringify(query)));\r\n setModal(null);\r\n Success(\"calendarNotifications.Event_Updated\")\r\n }).catch(error => {\r\n HandleApiError(error);\r\n setModal(\r\n );\r\n console.log(error);\r\n });\r\n }\r\n\r\n const handleCancelEvent = (event) => {\r\n setModal(\r\n setModal(null)}\r\n onConfirm={onCancelEvent}\r\n id={event.id}\r\n title={t(\"calendar.cancelModalTitle\")}\r\n />\r\n );\r\n }\r\n\r\n const onCancelEvent = (eventId, reason) => {\r\n setModal(null);\r\n\r\n const event = events.find(x => x.id === eventId);\r\n\r\n if (!isValidEventStart(event.start)) {\r\n HandleError(\"calendarErrors.Event_Delete_StartLowerThanNow\");\r\n return;\r\n }\r\n\r\n const idx = events.findIndex(x => x.id === eventId);\r\n\r\n cancelEvent(event.id, reason).then(res => {\r\n const nextEvents = [...events];\r\n nextEvents.splice(idx, 1);\r\n setEvents(nextEvents);\r\n setModal(null);\r\n Success(\"calendarNotifications.Event_Deleted\")\r\n\r\n }).catch(error => {\r\n HandleApiError(error);\r\n });\r\n }\r\n\r\n const handleModalClose = () => {\r\n if (currentPatient) {\r\n const source = getQueryParam(props.location.search, \"source\");\r\n if (source)\r\n props.history.push(source)\r\n }\r\n setModal(null);\r\n setQuery(JSON.parse(JSON.stringify(query)));\r\n }\r\n\r\n const eventStyleGetter = (event) => {\r\n return { className: visitTypeColorGetter(event.visitType?.code, event, false) }\r\n }\r\n\r\n const handleSetPresent = async (eventId) => {\r\n if (!eventId)\r\n return;\r\n\r\n try {\r\n const res = await setPresent(eventId);\r\n setModal(null);\r\n Success(\"calendarNotifications.Event_Present\")\r\n }\r\n catch (error) {\r\n setModal(null);\r\n HandleApiError(error);\r\n }\r\n\r\n }\r\n\r\n const formats = {\r\n eventTimeRangeFormat: () => null,\r\n dayFormat: (date, culture, localizer) => {\r\n const day = localizer.format(date, 'dddd D', culture);\r\n return day.charAt(0).toUpperCase() + day.slice(1)\r\n },\r\n dayRangeHeaderFormat: ({ start, end }, culture, localizer) => {\r\n const startFormat = localizer.format(start, 'D MMMM', culture);\r\n const endFormat = localizer.format(end, 'D MMMM YYYY', culture);\r\n return `${startFormat} - ${endFormat}`;\r\n },\r\n dayHeaderFormat: (date, culture, localizer) => {\r\n return localizer.format(date, 'D [de] MMMM [de] YYYY', culture);\r\n },\r\n agendaHeaderFormat: ({ start }, culture, localizer) => {\r\n return localizer.format(start, 'dddd D [de] MMMM [de] YYYY', culture);\r\n }\r\n\r\n };\r\n\r\n const messages = {\r\n previous: \"<\",\r\n next: \">\",\r\n today: t('calendar.today'),\r\n month: t('calendar.month'),\r\n week: t('calendar.week'),\r\n day: t('calendar.day'),\r\n date: t('calendar.date'),\r\n time: t('calendar.time'),\r\n event: t('calendar.event'),\r\n noEventsInRange: t('calendar.noEventsInRange'),\r\n showMore: total => `+${total} ${t('calendar.more')}`,\r\n };\r\n\r\n return (\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n }\r\n\r\n content={\r\n <>\r\n {modal}\r\n
    \r\n
    \r\n handleSelectedEvent(event)}\r\n onView={handleViewChange}\r\n onNavigate={handleNavigate}\r\n eventPropGetter={(eventStyleGetter)}\r\n components={{\r\n event: Event,\r\n month: { event: EventMonth },\r\n agenda: { event: EventAgenda },\r\n timeGutterHeader: () => (t('calendar.time')),\r\n }}\r\n\r\n formats={formats}\r\n messages={messages}\r\n />\r\n
    \r\n
    \r\n \r\n }\r\n />\r\n );\r\n}","import React from \"react\";\r\nimport { Col, Grid, Row } from 'react-bootstrap';\r\nimport { useTranslation } from 'react-i18next';\r\nimport Card from \"../Cards/Card\";\r\nimport { ContactInfo } from \"../Icons/Icons\";\r\n\r\nexport const AddressData = props => {\r\n\r\n const patient = props.data;\r\n\r\n const { t } = useTranslation();\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 {t('person.address.address')}: {patient.address?.fullAddress}\r\n {t('person.address.postalCode')}: {patient.address?.postalCode}\r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n {patient.address?.floor && <>{t('person.address.floor')}: {patient.address?.floor}}\r\n {patient.address?.department && <>{t('person.address.department')}: {patient.address?.department}}\r\n {patient.address?.body && <>{t('person.address.body')}: {patient.address?.body}}\r\n {patient.address?.between && <>{t('person.address.between')}: {patient.address?.between}}\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n }\r\n />\r\n );\r\n}","import { ErrorMessage } from 'formik';\r\nimport React from 'react';\r\nimport { Col, ControlLabel, FormControl, Grid, Row } from 'react-bootstrap';\r\nimport Card from '../Cards/Card';\r\nimport Autocomplete from \"react-google-autocomplete\";\r\nimport GooglePlacesAutocomplete from 'react-google-places-autocomplete';\r\nimport { FormErrorMessage } from '../Validations/FormValidationErrors';\r\nimport { googleAPIKey } from '../../variables/Constants';\r\n\r\n\r\nexport const AddressDataForm = props => {\r\n\r\n const {\r\n values,\r\n handleChange,\r\n handleBlur,\r\n setFieldValue,\r\n t\r\n } = props;\r\n\r\n const getPostalCode = (addressArray) => {\r\n for (let i = 0; i < addressArray.length; i++) {\r\n for (let i = 0; i < addressArray.length; i++) {\r\n if (addressArray[i].types[0] && \"postal_code\" === addressArray[i].types[0]) {\r\n return addressArray[i].long_name;\r\n }\r\n }\r\n }\r\n };\r\n\r\n const onPlaceSelected = (place) => {\r\n //const addressArray = place.address_components,\r\n const latValue = place.geometry?.location?.lat(), lngValue = place.geometry?.location?.lng();\r\n\r\n // Set these values in the state.\r\n setFieldValue(\"address.fullAddress\", place.formatted_address, false);\r\n setFieldValue(\"address.postalCode\", getPostalCode(place.address_components), false);\r\n setFieldValue(\"address.lat\", latValue, false);\r\n setFieldValue(\"address.long\", lngValue, false);\r\n };\r\n\r\n if (!values.address) values.address = { fullAddress: '', streetName: '', streetNumber: '' };\r\n\r\n return (\r\n
    \r\n {t(\"person.address.address\")}\r\n \r\n \r\n \r\n {t(\"person.address.address\")}\r\n \r\n \r\n \r\n \r\n {t(\"person.address.postalCode\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {t(\"person.address.floor\")}\r\n \r\n \r\n \r\n {t(\"person.address.department\")}\r\n \r\n \r\n \r\n {t(\"person.address.body\")}\r\n \r\n \r\n \r\n {t(\"person.address.between\")}\r\n \r\n \r\n \r\n \r\n \r\n }\r\n />\r\n
    \r\n );\r\n}","import React from \"react\";\r\nimport { Col, Grid, Row } from 'react-bootstrap';\r\nimport { useTranslation } from 'react-i18next';\r\nimport Card from \"../Cards/Card\";\r\nimport { CellPhone, Email, Facebook, Instagram, Phone, Twitter } from \"../Icons/Icons\";\r\n\r\nexport const ContactData = props => {\r\n\r\n const { t } = useTranslation();\r\n const patient = props.data;\r\n\r\n if (!patient.telecom)\r\n return (<>);\r\n\r\n return (\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {t(\"person.contact.cellPhone\")}
    \r\n
    {patient.telecom.cellPhone}
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {t(\"person.contact.phone\")}
    \r\n
    {patient.telecom.phone}
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {t(\"person.contact.email\")}
    \r\n
    {patient.telecom.email}
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Instagram
    \r\n
    {patient.telecom.instagram}
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Facebook
    \r\n
    {patient.telecom.facebook}
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Twitter
    \r\n
    {patient.telecom.twitter}
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n }\r\n />\r\n );\r\n}","import { ErrorMessage } from 'formik';\r\nimport React from 'react';\r\nimport { Col, ControlLabel, FormControl, Grid, Row } from 'react-bootstrap';\r\nimport Card from '../Cards/Card';\r\nimport { FormErrorMessage } from '../Validations/FormValidationErrors';\r\n\r\n\r\n\r\nexport const ContactDataForm = props => {\r\n\r\n const {\r\n values,\r\n handleChange,\r\n handleBlur,\r\n t,\r\n } = props;\r\n\r\n if (!values.telecom) values.telecom = { cellPhone: '', email: '' };\r\n\r\n return (\r\n
    \r\n {t(\"person.contact.title\")}\r\n \r\n \r\n \r\n {t(\"person.contact.cellPhone\")}\r\n \r\n \r\n \r\n \r\n {t(\"person.contact.phone\")}\r\n \r\n \r\n \r\n \r\n {t(\"person.contact.email\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Instagram\r\n \r\n \r\n \r\n Facebook\r\n \r\n \r\n \r\n Twitter\r\n \r\n \r\n \r\n \r\n }\r\n />\r\n
    \r\n );\r\n}","import React from \"react\";\r\nimport { Col, Row } from 'react-bootstrap';\r\nimport { useTranslation } from 'react-i18next';\r\nimport Card from \"../Cards/Card\";\r\n\r\nexport const MedicalData = props => {\r\n\r\n const { t } = useTranslation();\r\n const patient = props.data;\r\n return (\r\n \r\n \r\n \r\n \r\n
    \r\n
    {t(\"person.bloodGroup\")}
    \r\n
    {patient.bloodGroup}
    \r\n
    \r\n \r\n \r\n
    \r\n
    {t(\"person.bloodFactor\")}
    \r\n
    {patient.bloodFactor}
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    {t('person.medicalRecord')}: {patient.medicalRecordNumber}
    \r\n
    {t('person.medicalInsuranceInfo.medicalInsurance')}: {patient.medicalInsuranceInfo?.medicalInsurance?.title} ({patient.medicalInsuranceInfo?.medicalInsurancePlan?.title})
    \r\n
    {t('person.medicalInsuranceInfo.medicalInsuranceNumber')}: {patient.medicalInsuranceInfo?.medicalInsuranceNumber}
    \r\n
    \r\n
    \r\n
    {t('person.familyDoctor')}: {patient.familyDoctor}
    \r\n
    {t('person.internalPractitioner')}: {patient.internalPractitioner?.fullName}
    \r\n
    \r\n \r\n \r\n }\r\n />\r\n );\r\n}","import i18n from 'i18next';\r\nimport { initReactI18next } from 'react-i18next';\r\n\r\ni18n\r\n .use(initReactI18next) // passes i18n down to react-i18next\r\n //.use(LanguageDetector) // use LanguageDetector\r\n .init({\r\n resources: {\r\n en: { translation: require('./locale/en/common.json') },\r\n es: { translation: require('./locale/es/common.json') },\r\n pt: { translation: require('./locale/pt/common.json') },\r\n },\r\n lng: \"es\",\r\n fallbackLng: \"es\",\r\n interpolation: {\r\n escapeValue: false\r\n },\r\n debug: false\r\n });\r\n\r\nexport default i18n;\r\n","import i18n from '../i18n';\r\n\r\nconst getLocalizedEnum = (prefix, montoto) => {\r\n if (!montoto)\r\n return \"\";\r\n\r\n return montoto.map(x => { x.title = i18n.t(`${prefix}.${x.code?.toLowerCase()}`); return x; })\r\n}\r\n\r\nexport const bloodGroup = [\r\n { id: 1, title: \"A\" },\r\n { id: 2, title: \"B\" },\r\n { id: 3, title: \"AB\" },\r\n { id: 4, title: \"O\" }\r\n\r\n]\r\nexport const bloodFactor = [\r\n { id: 1, title: \"Rh+\" },\r\n { id: 2, title: \"Rh-\" },\r\n]\r\n\r\nexport const language = [\r\n {code: \"es\", title: \"Español\"},\r\n {code: \"en\", title: \"Ingles\"},\r\n {code: \"pt\", title: \"Portugués\"},\r\n]\r\n\r\nexport const typeOptions = getLocalizedEnum(\"medicalRecords.typeOptions\", [\r\n { id: 1, title: 'Consultorios Externos', code: \"EXTERNAL\" },\r\n { id: 2, title: 'Otros', code: \"OTHER\" },\r\n { id: 3, title: 'Investigación', code: \"PROTOCOL\" },\r\n {id : 4, title: 'Localización', code: \"LOCALIZATION\"}\r\n //{ id: 4, title: 'Proyectos', code: \"PROJECT\" }\r\n])\r\n\r\nexport const visitTypesEnum = getLocalizedEnum(\"calendar.visitTypes\", [\r\n { code: \"PROTOCOL\", title: 'Investigación' },\r\n { code: \"PROJECT\", title: 'Proyecto' },\r\n { code: \"EXTERNAL\", title: 'Consultorio Externo (Presencial)' },\r\n { code: \"EXTERNAL_PHONE\", title: 'Consultorio Externo (Teleconsulta)' },\r\n { code: \"STUDIES\", title: 'Estudios' },\r\n { code: \"ESSENTIA\", title: 'Consultorio Programa Essentia' },\r\n { code: \"ORDER\", title: 'Entrega de Receta' },\r\n { code: \"OTHER\", title: 'Otros' },\r\n { code: \"PRESCREENING\", title: 'PreScreening Investigación' },\r\n { code: \"OVERSHIFT\", title: 'Sobreturno' }\r\n])\r\n/*\r\nexport const eventOptions = getLocalizedEnum([\r\n { id: 1, title: 'Historial', code: \"history\" },\r\n { id: 2, title: 'Cancelados', code: \"cancel\" },\r\n { id: 3, title: 'Atendidos', code: \"present\" },\r\n])\r\nexport const relatives = getLocalizedEnum([\r\n { id: 1, title: 'Madre' },\r\n { id: 2, title: 'Padre' },\r\n { id: 3, title: 'Hermano' },\r\n { id: 4, title: 'Abuelos' },\r\n { id: 5, title: 'Otros' },\r\n])\r\nexport const routeOfAdministrations = getLocalizedEnum([\r\n { id: 1, title: 'Oral' },\r\n { id: 2, title: 'Sublingual' },\r\n { id: 3, title: 'Tópica' },\r\n { id: 4, title: 'Transdérmica' },\r\n { id: 5, title: 'Oftalmológica' },\r\n { id: 6, title: 'Inhalatoria' },\r\n { id: 7, title: 'Rectal' },\r\n { id: 8, title: 'Vaginal' },\r\n { id: 9, title: 'Parental' }\r\n])\r\nexport const intensity = getLocalizedEnum([\r\n { id: 1, title: 'Leve' },\r\n { id: 2, title: 'Moderado' },\r\n { id: 3, title: 'Severo' }\r\n])*/\r\n\r\nexport const units = [\r\n { id: 1, title: 'mg' },\r\n { id: 2, title: 'mL' },\r\n { id: 3, title: 'ug' },\r\n { id: 4, title: 'g' },\r\n { id: 5, title: 'U' },\r\n { id: 6, title: 'Other' }\r\n]\r\n\r\nexport const snomedExpressions = {\r\n MotivoConsulta: \"< 71388002 OR < 243796009 OR < 272379006 OR < 404684003\", // \"< 404684003\",// \r\n Diagnostico: \"< 243796009 OR < 272379006 OR < 404684003\", //\"< 404684003\",// \"< 243796009 OR < 272379006 OR < 404684003 MINUS (<< 49632008 OR 198863002 OR 198756005 OR 785872000 OR 785869007)\",\r\n Hallazgos: \"404684003\",\r\n Medicamentos: \"781405001\", // Producto, por ejemplo, Amoxidal, Ibupirac.\r\n Sustancia: \"105590001\", // Por ejemplo: Ibuprofeno, Amoxicilina. \r\n Producto_O_Sustancia: \"< 781405001 OR < 105590001\",\r\n ViaAdministracion: \"736479009\",\r\n Procedimiento: \"71388002\",\r\n Laboratorio: \"122869004\" // procedimiento de medición (procedimiento) 122869004\r\n}\r\n\r\nexport const hcVisitStatus = {\r\n Draft: \"Draft\",\r\n Saved: \"Saved\",\r\n Published: \"Published\",\r\n AutoPublished: \"AutoPublished\"\r\n}\r\n\r\nexport const visitStatus = {\r\n Started: 0,\r\n Completed: 1,\r\n Skipped: 2,\r\n Failed: 3,\r\n Changed: 4,\r\n AutoCompleted: 5\r\n}\r\n\r\nexport const formStatus = {\r\n Initial: 0,\r\n Saved: 1,\r\n Draft: 2,\r\n Published: 9\r\n}\r\n\r\nexport const visitTypes = {\r\n ProtocolVisit: 0,\r\n ExtraProtocolVisit: 1,\r\n Note: 2,\r\n EarlyCompletion: 3\r\n}\r\n\r\nexport const patientInProtocolStatus = {\r\n Screening: 0,\r\n Random: 1,\r\n Treatment: 2,\r\n FollowUp: 3,\r\n Failed: 4,\r\n LostToFollowUp: 5,\r\n WithoutDrugs: 6,\r\n Discontinuation: 7\r\n}\r\n\r\nexport const visitStage = {\r\n Screening: 0,\r\n Random: 1,\r\n Treatment: 2,\r\n FollowUp: 3\r\n}\r\n\r\nexport const visitTypeEnum = {\r\n OnSite: 0,\r\n Remote: 1\r\n}\r\n\r\nexport const visitOffsetType = {\r\n Days: 0,\r\n Weeks: 1,\r\n Months: 2\r\n}\r\n\r\nexport const noteEnum = {\r\n Initial: 0,\r\n Fixed: 1,\r\n Invalid: 2\r\n}\r\n\r\nexport const formTypes = [\r\n { label: \"NoSync\", value: \"NoSync\" },\r\n { label: \"Anthropometrics\", value: \"Anthropometrics\" },\r\n { label: \"Vitals\", value: \"Vitals\" },\r\n { label: \"AdverseEvents\", value: \"AdverseEvents\" },\r\n { label: \"Drugs\", value: \"Drugs\" },\r\n { label: \"Procedures\", value: \"Procedures\" },\r\n { label: \"LaboratoryResults\", value: \"LaboratoryResults\" },\r\n { label: \"Habits\", value: \"Habits\" },\r\n]\r\n\r\nexport const formTypeFields = [\r\n {\r\n type: \"Anthropometrics\",\r\n fields: [\r\n { value: \"Weight\", fieldType: \"DecimalField\" },\r\n { value: \"Height\", fieldType: \"DecimalField\" },\r\n { value: \"Waist\", fieldType: \"DecimalField\" },\r\n { value: \"Sagittal\", fieldType: \"DecimalField\" },\r\n { value: \"Neck\", fieldType: \"DecimalField\" },\r\n { value: \"Others\", fieldType: \"SingleLineField\" },\r\n { value: \"Notes\", fieldType: \"MultiLineField\" }\r\n ]\r\n },\r\n {\r\n type: \"Vitals\",\r\n fields: [\r\n { value: \"BloodPressureHigh\", fieldType: \"IntegerField\" },\r\n { value: \"BloodPressureLow\", fieldType: \"IntegerField\" },\r\n { value: \"HeartRate\", fieldType: \"SingleLineField\" },\r\n { value: \"RespiratoryRate\", fieldType: \"SingleLineField\" },\r\n { value: \"TemperatureC\", fieldType: \"DecimalField\" },\r\n { value: \"OxygenSaturation\", fieldType: \"DecimalField\" },\r\n { value: \"Notes\", fieldType: \"MultiLineField\" }\r\n ]\r\n },\r\n {\r\n type: \"AdverseEvents\",\r\n fields: [\r\n { value: \"AdverseEvent\", fieldType: \"SnomedField\" },\r\n { value: \"Intensity\", fieldType: \"SelectAsyncField\" },\r\n { value: \"Serious\", fieldType: \"BooleanField\" },\r\n { value: \"Reported\", fieldType: \"BooleanField\" },\r\n { value: \"Relationwithdrug\", fieldType: \"SelectAsyncField\" },\r\n { value: \"Action\", fieldType: \"SelectAsyncField\" },\r\n { value: \"From\", fieldType: \"DateField\" },\r\n { value: \"To\", fieldType: \"DateField\" },\r\n { value: \"Notes\", fieldType: \"MultiLineField\" }\r\n ]\r\n },\r\n {\r\n type: \"Drugs\",\r\n fields: [\r\n { value: \"Drug\", fieldType: \"SnomedField\" },\r\n { value: \"RouteOfAdministration\", fieldType: \"SelectAsyncField\" },\r\n { value: \"Reason\", fieldType: \"AdverseEventsAsyncField\" },\r\n { value: \"Dose\", fieldType: \"IntegerField\" },\r\n { value: \"Unit\", fieldType: \"SelectAsyncField\" },\r\n { value: \"Frequency\", fieldType: \"SelectAsyncField\" },\r\n { value: \"From\", fieldType: \"DateField\" },\r\n { value: \"To\", fieldType: \"DateField\" },\r\n { value: \"Notes\", fieldType: \"MultiLineField\" }\r\n ]\r\n },\r\n {\r\n type: \"Procedures\",\r\n fields: [\r\n { value: \"Procedure\", fieldType: \"ProcedureSnomedField\" },\r\n //{ value: \"Procedure\", fieldType: \"SnomedField\" },\r\n { value: \"Reason\", fieldType: \"AdverseEventsAsyncField\" },\r\n { value: \"From\", fieldType: \"DateField\" },\r\n { value: \"To\", fieldType: \"DateField\" },\r\n { value: \"Notes\", fieldType: \"MultiLineField\" }\r\n ]\r\n }\r\n]\r\n\r\nexport const conditions = {\r\n observation: \"problem-list-item\",\r\n diagnosis: \"encounter-diagnosis\"\r\n}\r\n\r\nexport const conceptType = {\r\n drugs: \"Drugs\",\r\n procedures: \"Procedures\",\r\n events: \"Events\"\r\n}\r\n/*\r\nmodule.exports = {\r\n conditions,\r\n formTypes,\r\n formTypeFields,\r\n //bloodGroup,\r\n //bloodFactor,\r\n typeOptions,\r\n eventOptions,\r\n relatives,\r\n routeOfAdministrations,\r\n intensity,\r\n units,\r\n snomedExpressions,\r\n hcVisitStatus,\r\n formStatus,\r\n visitStatus,\r\n visitTypes,\r\n visitOffsetType,\r\n visitStage,\r\n patientInProtocolStatus,\r\n noteEnum,\r\n visitTypesEnum,\r\n visitTypeEnum\r\n};*/","import { ErrorMessage } from 'formik';\r\nimport React, { useState } from 'react';\r\nimport { Col, ControlLabel, FormControl, Grid, Row } from 'react-bootstrap';\r\nimport { getMedicalInsurancePlanByMedicalInsurance } from '../../api/admin';\r\nimport { bloodFactor, bloodGroup } from \"../../variables/Enums\";\r\nimport Card from '../Cards/Card';\r\nimport { CustomSelect } from \"../CustomControls/CustomSelect\";\r\nimport { PractitionerSelect } from '../CustomControls/PractitionerSelect';\r\nimport { FormErrorMessage } from '../Validations/FormValidationErrors';\r\n\r\nexport const MedicalDataForm = props => {\r\n\r\n const {\r\n values,\r\n handleChange,\r\n handleBlur,\r\n setFieldValue,\r\n setFieldTouched,\r\n t,\r\n masterData\r\n } = props;\r\n\r\n const [medicalPlans, setMedicalPlans] = useState([]);\r\n\r\n const onChangeMedicalInsurance = (field, value, shouldValidate) => {\r\n\r\n if (value) {\r\n getMedicalInsurancePlanByMedicalInsurance(value.id).then(res => {\r\n setMedicalPlans(res.data);\r\n \r\n }).catch(error => {\r\n console.log('Error getting Medical Insurance Plans', error);\r\n });\r\n }\r\n setFieldValue(field, value, shouldValidate);\r\n setFieldValue(\"medicalInsuranceInfo.medicalInsurancePlan\", null);\r\n }\r\n\r\n if (!values.medicalInsuranceInfo) values.medicalInsuranceInfo = { medicalInsurance: '', medicalInsuranceNumber: '' };\r\n\r\n return (\r\n
    \r\n {t(\"person.medicalData\")}\r\n \r\n \r\n \r\n {t(\"person.medicalInsuranceInfo.medicalInsurance\")}\r\n \r\n \r\n \r\n \r\n {t(\"person.medicalInsuranceInfo.medicalInsurancePlan\")}\r\n \r\n \r\n \r\n \r\n {t(\"person.medicalInsuranceInfo.medicalInsuranceNumber\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {t(\"person.bloodGroup\")}\r\n x.title === values.bloodGroup)}\r\n //value={values.bloodGroup}\r\n onChange={setFieldValue}\r\n onBlur={setFieldTouched}\r\n name=\"bloodGroup\"\r\n placeholder={t(\"commons.select\")}\r\n options={bloodGroup} />\r\n \r\n \r\n {t(\"person.bloodFactor\")}\r\n x.title === values.bloodFactor)}\r\n //value={values.bloodFactor}\r\n onChange={setFieldValue}\r\n onBlur={setFieldTouched}\r\n name=\"bloodFactor\"\r\n placeholder={t(\"commons.select\")}\r\n options={bloodFactor} />\r\n \r\n \r\n {t(\"person.familyDoctor\")}\r\n \r\n \r\n \r\n {t(\"person.internalPractitioner\")}\r\n \r\n \r\n \r\n \r\n }\r\n />\r\n
    \r\n );\r\n}","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nexport class CustomImage extends Component {\r\n constructor(props) {\r\n super(props);\r\n \r\n this.state = {\r\n src: props.src,\r\n errored: false,\r\n };\r\n }\r\n\r\n onError = () => {\r\n if (!this.state.errored) {\r\n this.setState({\r\n src: this.props.defaultSrc,\r\n errored: true,\r\n });\r\n }\r\n }\r\n\r\n render() {\r\n const { src } = this.state;\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nCustomImage.propTypes = {\r\n src: PropTypes.string,\r\n defaultSrc: PropTypes.string.isRequired,\r\n isLoading: PropTypes.bool\r\n};","import moment from \"moment\";\r\nimport React from \"react\";\r\nimport { Col, Row } from 'react-bootstrap';\r\nimport { useTranslation } from 'react-i18next';\r\nimport profilePic from \"../../assets/img/faces/face-0.jpg\";\r\nimport Card from \"../Cards/Card\";\r\nimport { CustomImage } from \"../CustomControls/Image\";\r\n\r\nexport const PersonalData = props => {\r\n const patient = props.data;\r\n const { t } = useTranslation();\r\n\r\n const ageComponent = patient.age ? <>({patient.age} {t('person.age')}) : null;\r\n const date = patient.birthPlace ? moment(patient.birthDate).format('DD/MM/YYYY') : \"-\";\r\n const id = patient.identificationType ?
    {patient.identificationType?.title}: {patient.identificationNumber}
    : null;\r\n const medicalRecord = patient.medicalRecordNumber ? <>(HC:{patient.medicalRecordNumber}) : null;\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
    {patient.fullName} {medicalRecord}
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    {t('person.birthDate')}: {date} {ageComponent}
    \r\n {id}\r\n
    {t('person.gender')}: {patient.gender?.title}
    \r\n
    {t('person.maritalStatus')}: {patient.maritalStatus?.title}
    \r\n
    \r\n \r\n \r\n
    \r\n
    {t('person.birthPlace')}: {patient.birthPlace}
    \r\n
    {t('person.nationality')}: {patient.nationality}
    \r\n {/*
    {t(\"person.languageTitle\")}: {patient.language}
    */}\r\n
    \r\n \r\n
    \r\n \r\n \r\n }\r\n />\r\n );\r\n}","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Modal as BootstrapModal } from 'react-bootstrap';\r\nimport ReactDOM from 'react-dom';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nimport Camera from 'react-html5-camera-photo';\r\nimport 'react-html5-camera-photo/build/css/index.css';\r\n\r\nexport const ModalTakePic = (props) => {\r\n const { onHide, onPhotoTaken } = props;\r\n const { t } = useTranslation();\r\n\r\n function handleTakePhotoAnimationDone(dataUri) {\r\n onPhotoTaken(dataUri);\r\n }\r\n\r\n return ReactDOM.createPortal(\r\n \r\n \r\n \r\n {t(\"person.camera\")}\r\n \r\n \r\n \r\n \r\n \r\n , document.body\r\n )\r\n};\r\n\r\nModalTakePic.propTypes = {\r\n onHide: PropTypes.func.isRequired,\r\n onPhotoTaken: PropTypes.func.isRequired,\r\n};","import PropTypes from \"prop-types\";\r\nimport React from \"react\";\r\nimport { Button, Modal as BootstrapModal, Table } from 'react-bootstrap';\r\nimport ReactDOM from 'react-dom';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { NavLink } from \"react-router-dom\";\r\nimport { Cancel, Edit, View } from \"../Icons/Icons\";\r\nimport { Tooltip } from \"../Utils/Tooltips\";\r\n\r\nexport const ModalDuplicatedPatient = (props) => {\r\n const { patients, onHide } = props;\r\n const { t } = useTranslation();\r\n\r\n return ReactDOM.createPortal(\r\n \r\n \r\n \r\n {t(\"commons.attention\")}\r\n \r\n \r\n {t(\"databaseNotifications.patient_duplicated_description\")}:\r\n {\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n patients.map((patient, idx) => {\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
    {t(\"person.medicalRecord\")}{t(\"person.identificationNumber\")}{t(\"person.familyName\")}{t(\"person.given\")}{t(\"commons.actions\")}
    {patient.medicalRecordNumber}{patient.identificationType} {patient.identificationNumber}{patient.familyName}{patient.given}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n }\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    , document.body\r\n )\r\n};\r\n\r\nModalDuplicatedPatient.propTypes = {\r\n onHide: PropTypes.func.isRequired,\r\n patients: PropTypes.array.isRequired\r\n};","import { ErrorMessage } from \"formik\";\r\nimport React, { useState } from \"react\";\r\nimport { Col, ControlLabel, FormControl, Row } from \"react-bootstrap\";\r\nimport Autocomplete from \"react-google-autocomplete\";\r\nimport profilePic from \"../../assets/img/faces/face-0.jpg\";\r\nimport Card from \"../Cards/Card\";\r\nimport { CustomDate } from \"../CustomControls/CustomDateTime\";\r\nimport { CustomSelect } from \"../CustomControls/CustomSelect\";\r\nimport { ModalTakePic } from \"../Database/ModalTakePic\";\r\nimport { Camera } from \"../Icons/Icons\";\r\nimport { searchPatients } from \"../../api/database\";\r\nimport { FormErrorMessage } from \"../Validations/FormValidationErrors\";\r\nimport { ModalDuplicatedPatient } from \"../Database/ModalDuplicatedPatient\";\r\nimport { googleAPIKey } from \"../../variables/Constants\";\r\nimport { language } from \"../../variables/Enums\";\r\n\r\nexport const PersonalDataForm = (props) => {\r\n const {\r\n values,\r\n touched,\r\n errors,\r\n handleChange,\r\n handleBlur,\r\n setFieldValue,\r\n setFieldTouched,\r\n t,\r\n isSubmitting,\r\n masterData,\r\n } = props;\r\n\r\n const [modal, setModal] = useState(null);\r\n const [selectedValue, setSelectedValue] = useState(null);\r\n\r\n function handlePhotoTaken(dataUri) {\r\n setFieldValue(\"photo\", dataUri, false);\r\n setModal(null);\r\n }\r\n\r\n\r\n function handleShowTakePhoto() {\r\n setModal(\r\n setModal(null)}\r\n onPhotoTaken={handlePhotoTaken}\r\n />\r\n );\r\n }\r\n\r\n const getNationality = (addressArray) => {\r\n for (let i = 0; i < addressArray.length; i++) {\r\n for (let i = 0; i < addressArray.length; i++) {\r\n if (\r\n addressArray[i].types[0] &&\r\n \"country\" === addressArray[i].types[0]\r\n ) {\r\n return addressArray[i].long_name;\r\n }\r\n }\r\n }\r\n };\r\n\r\n const onPlaceSelected = (place) => {\r\n // Set these values in the state.\r\n setFieldValue(\r\n \"nationality\",\r\n getNationality(place.address_components),\r\n false\r\n );\r\n };\r\n\r\n const onFamilyNameBlur = (evt) => {\r\n if (evt.currentTarget && evt.currentTarget.value.length > 2) {\r\n searchPatients(`${values.given} ${values.familyName}`)\r\n .then((response) => {\r\n if (response.data && response.data.length > 0) {\r\n setModal(\r\n setModal(null)}\r\n >\r\n );\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n }\r\n setFieldTouched(evt.currentTarget.name);\r\n };\r\n\r\n const onSelectChange = (_name, value) => {\r\n setSelectedValue(value);\r\n}\r\n\r\n const onIdentificationNumberBlur = (evt) => {\r\n if (evt.currentTarget && evt.currentTarget.value.length > 6) {\r\n searchPatients(values.identificationNumber)\r\n .then((response) => {\r\n if (response.data && response.data.length > 0) {\r\n setModal(\r\n setModal(null)}\r\n >\r\n );\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n }\r\n setFieldTouched(evt.currentTarget.name);\r\n };\r\nconsole.log(values);\r\n return (\r\n
    \r\n {t(\"person.personalData\")}\r\n \r\n \r\n
    \r\n \"image\"\r\n
    \r\n \r\n {t(\"buttons.takePhoto\")}\r\n \r\n
    \r\n {modal}\r\n
    \r\n \r\n \r\n \r\n \r\n {t(\"person.prefix\")}\r\n \r\n \r\n \r\n {t(\"person.given\")}\r\n \r\n \r\n \r\n \r\n {t(\"person.familyName\")}\r\n \r\n \r\n \r\n \r\n {t(\"person.suffix\")}\r\n \r\n \r\n \r\n \r\n \r\n {t(\"person.birthDate\")}\r\n \r\n \r\n \r\n \r\n {t(\"person.birthPlace\")}\r\n \r\n \r\n \r\n {t(\"person.nationality\")}\r\n \r\n \r\n \r\n \r\n {t(\"person.languageTitle\")}\r\n x.code === values.language)}\r\n //value={values.language ?? \"\"}\r\n onChange={setFieldValue}\r\n onBlur={setFieldTouched}\r\n onPlaceSelected={onPlaceSelected}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {t(\"person.identificationType\")}\r\n \r\n \r\n \r\n \r\n \r\n {t(\"person.identificationNumber\")}\r\n \r\n \r\n \r\n \r\n \r\n {t(\"person.gender\")}\r\n \r\n \r\n \r\n \r\n {t(\"person.maritalStatus\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n />\r\n
    \r\n );\r\n};\r\n","import React from 'react';\r\nimport { Col, Grid, Row } from 'react-bootstrap';\r\nimport { useTranslation } from 'react-i18next';\r\nimport Card from '../Cards/Card';\r\nimport { RelatedContact } from '../Icons/Icons';\r\n\r\nexport const RelatedContactData = props => {\r\n\r\n const { t } = useTranslation();\r\n const patient = props.data;\r\n\r\n let relatedContactsContent = \"\";\r\n\r\n if (patient.relatedContacts && patient.relatedContacts.length > 0) {\r\n\r\n relatedContactsContent = patient.relatedContacts.map((relatedContact, index) => (\r\n
    \r\n \r\n \r\n
    \r\n {t(\"person.relationship\")}: {relatedContact.relationship}\r\n
    \r\n \r\n \r\n
    \r\n {t(\"person.given\")}: {relatedContact.given}\r\n
    \r\n \r\n \r\n
    \r\n {t(\"person.familyName\")}: {relatedContact.familyName}\r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n {t(\"person.address.streetName\")}: {relatedContact.streetName} {relatedContact.streetNumber}\r\n
    \r\n \r\n \r\n
    \r\n {t(\"person.contact.phone\")}: {relatedContact.phone}\r\n
    \r\n \r\n \r\n
    \r\n {t(\"person.contact.email\")}: {relatedContact.email}\r\n
    \r\n \r\n
    \r\n
    \r\n ));\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n
    \r\n \r\n \r\n {relatedContactsContent}\r\n \r\n
    \r\n \r\n }\r\n />\r\n\r\n );\r\n}","import { ErrorMessage, FieldArray } from 'formik';\r\nimport React from 'react';\r\nimport { Col, ControlLabel, FormControl, FormGroup, Grid, Row } from 'react-bootstrap';\r\nimport Card from '../Cards/Card';\r\nimport { Remove } from '../Icons/Icons';\r\nimport { FormErrorMessage } from '../Validations/FormValidationErrors';\r\n\r\n\r\nexport const RelatedContactDataForm = props => {\r\n\r\n const {\r\n values,\r\n handleChange,\r\n handleBlur,\r\n t\r\n } = props;\r\n\r\n const emptyRelatedContact = {\r\n relationship: \"\",\r\n given: \"\",\r\n familyName: \"\",\r\n phone: \"\",\r\n email: \"\", streetName: '',\r\n streetNumber: ''\r\n }\r\n return (\r\n
    \r\n {t(\"person.relatedContactData\")}\r\n (\r\n
    \r\n {values.relatedContacts && values.relatedContacts.length > 0 ? (\r\n values.relatedContacts.map((relatedContact, index) => (\r\n \r\n \r\n \r\n \r\n \r\n {t(\"person.relationship\")}\r\n \r\n \r\n \r\n {t(\"person.given\")}\r\n \r\n \r\n \r\n \r\n {t(\"person.familyName\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {t(\"person.address.streetName\")}\r\n \r\n \r\n \r\n \r\n {t(\"person.address.streetNumber\")}\r\n \r\n \r\n \r\n \r\n {t(\"person.contact.phone\")}\r\n \r\n \r\n \r\n \r\n {t(\"person.contact.email\")}\r\n \r\n \r\n \r\n \r\n \r\n arrayHelpers.remove(index)} // remove from the list\r\n >\r\n {t(\"commons.remove\")}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n }\r\n />\r\n ))\r\n ) : \"\"}\r\n\r\n \r\n \r\n )}\r\n />\r\n
    \r\n );\r\n}","import React from 'react'\r\nimport PropTypes from 'prop-types';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { Card } from '../../components/Cards/Card';\r\nimport { IconSVG, ViewMR } from '../Icons/Icons';\r\nimport { WithAuth } from '../Authorization/WithAuth';\r\n\r\nexport const Actions = (props) => {\r\n const { t } = useTranslation();\r\n const { onCreateAppointment, onRedirectTo, onEditPatient, onViewMR, onExportToPDF } = props;\r\n\r\n var redirectTo = null;\r\n if (onRedirectTo) {\r\n redirectTo = (\r\n \r\n );\r\n }\r\n\r\n var createAppointment = null;\r\n if (onCreateAppointment) {\r\n createAppointment = (\r\n \r\n );\r\n }\r\n var editPatient = null;\r\n if (onEditPatient) {\r\n editPatient = (\r\n \r\n );\r\n }\r\n\r\n var viewMR = null;\r\n if (onViewMR) {\r\n viewMR = (\r\n \r\n );\r\n }\r\n\r\n var exportToPDF = null;\r\n if (onExportToPDF) {\r\n exportToPDF = (\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n\r\n \r\n {viewMR}\r\n \r\n \r\n {createAppointment}\r\n \r\n \r\n {editPatient}\r\n \r\n \r\n {exportToPDF}\r\n \r\n {redirectTo}\r\n \r\n }\r\n />\r\n );\r\n}\r\n\r\nActions.propTypes = {\r\n onViewMR: PropTypes.func,\r\n onCreateAppointment: PropTypes.func,\r\n onRedirectTo: PropTypes.func,\r\n onEditPatient: PropTypes.func,\r\n onExportToPDF: PropTypes.func,\r\n};\r\n","import React, { useState } from 'react';\r\nimport { Col, Grid, Row } from 'react-bootstrap';\r\nimport SweetAlert from \"react-bootstrap-sweetalert\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport Card from '../Cards/Card';\r\nimport { Back, Save } from '../Icons/Icons';\r\nimport { AddressData } from '../Person/AddressData';\r\nimport { AddressDataForm } from '../Person/AddressDataForm';\r\nimport { ContactData } from '../Person/ContactData';\r\nimport { ContactDataForm } from '../Person/ContactDataForm';\r\nimport { MedicalData } from '../Person/MedicalData';\r\nimport { MedicalDataForm } from '../Person/MedicalDataForm';\r\nimport { PersonalData } from '../Person/PersonalData';\r\nimport { PersonalDataForm } from '../Person/PersonalDataForm';\r\nimport { RelatedContactData } from '../Person/RelatedContactData';\r\nimport { RelatedContactDataForm } from '../Person/RelatedContactDataForm';\r\nimport { Actions } from './Actions';\r\n\r\nexport const Patient = props => {\r\n let history = useHistory();\r\n const location = useLocation();\r\n const patient = props.data;\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 history.push(`/admin/agenda?medicalRecordNumber=${patient?.medicalRecordNumber}&source=${location.pathname}`)}\r\n onEditPatient={() => history.push(`/admin/database/${patient?.medicalRecordNumber}/edit`)}\r\n onRedirectTo={() => history.goBack()}\r\n onViewMR={() => history.push(`/admin/medicalRecords/${patient?.medicalRecordNumber}`)}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport const PatientForm = props => {\r\n const {\r\n handleSubmit,\r\n isSubmitting,\r\n isValid,\r\n validateForm,\r\n form,\r\n t\r\n } = props;\r\n\r\n let navigation = useHistory();\r\n\r\n const onSubmit = (e) => {\r\n e.preventDefault();\r\n\r\n if (form === \"new\") {\r\n validateForm().then(\r\n () => {\r\n if (isValid)\r\n warningWithConfirmAndCancelMessage(props.values);\r\n else\r\n handleSubmit()\r\n }\r\n );\r\n }\r\n else {\r\n handleSubmit()\r\n }\r\n }\r\n\r\n const [modal, setModal] = useState(null);\r\n const submitForm = () => { setModal(null); handleSubmit(); }\r\n const cancelForm = () => { setModal(null); }\r\n\r\n const warningWithConfirmAndCancelMessage = (values) => {\r\n setModal(\r\n submitForm()}\r\n onCancel={() => cancelForm()}\r\n confirmBtnBsStyle=\"success\"\r\n cancelBtnBsStyle=\"info\"\r\n confirmBtnText={t(\"buttons.save\")}\r\n cancelBtnText={t(\"buttons.back\")}\r\n showCancel\r\n >\r\n
    \r\n {values.identificationType.title} - {values.identificationNumber}\r\n
    \r\n );\r\n }\r\n\r\n return (\r\n \r\n {modal}\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n }\r\n />\r\n\r\n );\r\n};","import { useState, useEffect } from \"react\";\r\nimport { HandleApiError } from \"../../components/Notifications/APIErrorHandler\";\r\nimport { getMasterData, getPatients, getPatient } from '../../api/database'\r\n\r\nexport const usePatients = (query) => {\r\n const [patients, setPatients] = useState([]);\r\n const [isLoading, setIsLoading] = useState(true);\r\n const [totalSize, setTotalSize] = useState(0);\r\n\r\n useEffect(() => {\r\n let isSubscribed = true\r\n const getAllPatients = async () => {\r\n try {\r\n const paginatedPatients = await getPatients(query);\r\n\r\n if (isSubscribed) {\r\n setTotalSize(paginatedPatients.data.count);\r\n setPatients(paginatedPatients.data.data);\r\n setIsLoading(false);\r\n }\r\n } catch (error) {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n }\r\n }\r\n\r\n getAllPatients();\r\n\r\n return () => isSubscribed = false\r\n\r\n }, [query]);\r\n\r\n return [patients, isLoading, totalSize];\r\n}\r\n\r\nexport const usePatient = (medicalRecordNumber) => {\r\n const [patient, setPatient] = useState({});\r\n const [isLoading, setIsLoading] = useState(true);\r\n\r\n useEffect(() => {\r\n let isSubscribed = true\r\n const fetchData = async () => {\r\n try {\r\n const patient = await getPatient(medicalRecordNumber, true);\r\n\r\n if (isSubscribed) {\r\n setPatient(patient.data);\r\n setIsLoading(false);\r\n }\r\n } catch (error) {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n }\r\n }\r\n\r\n fetchData();\r\n\r\n return () => isSubscribed = false;\r\n }, [medicalRecordNumber]);\r\n\r\n return [patient, isLoading];\r\n}\r\n\r\nexport const useMasterData = () => {\r\n const [masterData, setMasterData] = useState({});\r\n const [isLoading, setIsLoading] = useState(true);\r\n\r\n useEffect(() => {\r\n const fetchData = () => {\r\n getMasterData().then(res => {\r\n setMasterData(res.data);\r\n setIsLoading(false);\r\n }).catch(error => {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n });\r\n }\r\n\r\n fetchData();\r\n }, []);\r\n\r\n return [masterData, isLoading];\r\n}","import { withFormik } from 'formik';\r\nimport PropTypes from 'prop-types';\r\nimport React, { useEffect } from \"react\";\r\nimport { withTranslation } from 'react-i18next';\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { createPatient } from \"../../api/database\";\r\nimport { PatientForm } from \"../../components/Database/Patient\";\r\nimport { HandleApiError } from '../../components/Notifications/APIErrorHandler';\r\nimport { Success } from '../../components/Notifications/Notifications';\r\nimport { getQueryParam } from '../../components/Utils/Commons';\r\nimport { getPatientSchema } from \"../../components/Validations/FormValidationSchema\";\r\nimport { useUsers } from \"../Users/Hooks\";\r\nimport { useMasterData } from \"./Hooks\";\r\n\r\n\r\nexport const CreatePatientContainer = () => {\r\n let history = useHistory();\r\n let location = useLocation();\r\n const [practitioners, isLoadingPractitioners] = useUsers();\r\n const [masterData, isLoadingMasterdata] = useMasterData();\r\n\r\n if (isLoadingPractitioners || isLoadingMasterdata) return null;\r\n\r\n const handlePostSubmit = (mrn) => {\r\n\r\n const redirectTo = getQueryParam(location.search, \"redirectTo\");\r\n if (mrn && redirectTo === \"agenda\")\r\n history.push(`/admin/agenda?medicalRecordNumber=${mrn}&appointment=true`)\r\n else\r\n history.push(`/admin/database`)\r\n }\r\n\r\n return (\r\n history.push(`/admin/database`)}\r\n form=\"new\"\r\n masterData={masterData}\r\n practitioners={practitioners}\r\n />\r\n );\r\n}\r\n\r\nconst CreatePatientFormik = withTranslation()(withFormik({\r\n\r\n enableReinitialize: true,\r\n mapPropsToValues: () => ({\r\n given: '',\r\n familyName: '',\r\n identificationType: '',\r\n identificationNumber: '',\r\n birthDate: '',\r\n gender: '',\r\n address: {\r\n fullAddress: '',\r\n },\r\n telecom: {\r\n cellPhone: '',\r\n email: ''\r\n },\r\n relatedContacts: [],\r\n medicalInsuranceInfo: {\r\n medicalInsuranceNumber: '',\r\n medicalInsurance: '',\r\n },\r\n }),\r\n\r\n validationSchema: getPatientSchema(),\r\n\r\n handleSubmit: async (patient, formikBag) => {\r\n\r\n var patientCopy = {\r\n ...patient,\r\n bloodGroup: patient.bloodGroup != null ? patient.bloodGroup.title : \"\",\r\n bloodFactor: patient.bloodFactor != null ? patient.bloodFactor.title : \"\"\r\n }\r\n\r\n try {\r\n var createdPatient = await createPatient(patientCopy);\r\n formikBag.resetForm();\r\n formikBag.setSubmitting(false);\r\n Success(\"databaseNotifications.Database_PatientCreated\")\r\n formikBag.props.onSubmit && formikBag.props.onSubmit(createdPatient.data.medicalRecordNumber);\r\n }\r\n catch (error) {\r\n console.log(error);\r\n formikBag.setSubmitting(false);\r\n HandleApiError(error);\r\n }\r\n },\r\n\r\n displayName: 'PatientForm',\r\n\r\n})(PatientForm));\r\n\r\nCreatePatientFormik.propTypes = {\r\n onSubmit: PropTypes.func.isRequired,\r\n onCancel: PropTypes.func.isRequired,\r\n form: PropTypes.string.isRequired,\r\n masterData: PropTypes.object.isRequired,\r\n practitioners: PropTypes.array.isRequired\r\n};","import React, { useEffect } from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport PropTypes from 'prop-types'\r\nimport { withFormik } from 'formik';\r\nimport { withTranslation } from 'react-i18next';\r\n\r\nimport { HandleApiError } from '../../components/Notifications/APIErrorHandler';\r\nimport { Success } from '../../components/Notifications/Notifications';\r\nimport { PatientForm } from \"../../components/Database/Patient\";\r\nimport { useUsers } from \"../Users/Hooks\";\r\nimport { useMasterData, usePatient } from \"./Hooks\";\r\nimport { getPatientSchema } from \"../../components/Validations/FormValidationSchema\";\r\nimport { updatePatient } from \"../../api/database\";\r\n\r\nexport const EditPatientContainer = (props) => {\r\n const { match: { params } } = props;\r\n const medicalRecordNumber = params.medicalRecordNumber;\r\n let history = useHistory();\r\n\r\n const [patient, isLoadingPatient] = usePatient(medicalRecordNumber);\r\n const [practitioners, isLoadingPractitioners] = useUsers();\r\n const [masterData, isLoadingMasterdata] = useMasterData();\r\n\r\n if (isLoadingPractitioners || isLoadingMasterdata || isLoadingPatient) return null;\r\n\r\n return (\r\n history.push(`/admin/database`)}\r\n onCancel={() => history.push(`/admin/database`)}\r\n form=\"edit\"\r\n data={patient}\r\n masterData={masterData}\r\n practitioners={practitioners}\r\n />\r\n );\r\n}\r\n\r\nconst EditPatientFormik = withTranslation()(withFormik({\r\n\r\n enableReinitialize: true,\r\n mapPropsToValues: (props) => (props.data),\r\n\r\n validationSchema: getPatientSchema(),\r\n\r\n handleSubmit: (patient, formikBag) => {\r\n //console.log(patient);\r\n\r\n var patientCopy = {\r\n ...patient,\r\n bloodGroup: patient.bloodGroup != null ? patient.bloodGroup.title : \"\",\r\n bloodFactor: patient.bloodFactor != null ? patient.bloodFactor.title : \"\"\r\n }\r\n\r\n updatePatient(patientCopy).then(res => {\r\n formikBag.setSubmitting(false);\r\n Success(\"databaseNotifications.Database_PatientUpdated\");\r\n formikBag.props.onSubmit();\r\n }).catch(error => {\r\n console.log(error);\r\n formikBag.setSubmitting(false);\r\n HandleApiError(error);\r\n });\r\n },\r\n\r\n displayName: 'PatientForm',\r\n\r\n})(PatientForm));\r\n\r\nEditPatientFormik.propTypes = {\r\n onSubmit: PropTypes.func.isRequired,\r\n onCancel: PropTypes.func.isRequired,\r\n data: PropTypes.object.isRequired,\r\n form: PropTypes.string.isRequired,\r\n masterData: PropTypes.object.isRequired,\r\n practitioners: PropTypes.array.isRequired\r\n};","import React from 'react'\r\nimport { Patient } from '../../components/Database/Patient';\r\nimport { usePatient } from './Hooks';\r\n\r\nexport const PatientContainer = (props) => {\r\n const { match: { params } } = props;\r\n const medicalRecordNumber = params.medicalRecordNumber;\r\n\r\n const [patient, isLoading] = usePatient(medicalRecordNumber);\r\n\r\n if (isLoading)\r\n return null;\r\n\r\n return (\r\n \r\n );\r\n}","import { debounce } from 'lodash';\r\nimport React, { useCallback, useState } from 'react';\r\nimport { FormControl, FormGroup, InputGroup } from \"react-bootstrap\";\r\nimport { IconSVG } from '../Icons/Icons';\r\n\r\nexport const CustomSearchBox = (props) => {\r\n\r\n const [value, setValue] = useState(\"\");\r\n const debouncedSearch = useCallback(\r\n debounce((value) => {\r\n props.handleSearch(value);\r\n }, 1000),\r\n [],\r\n );\r\n\r\n const handleInputChange = (ev) => {\r\n\r\n if (!ev) {\r\n setValue(\"\");\r\n debouncedSearch(\"\");\r\n return;\r\n }\r\n\r\n var q = ev.currentTarget.value;\r\n setValue(q);\r\n if (q && q.length >= 2) {\r\n debouncedSearch(q);\r\n }\r\n\r\n // Limpio búsqueda. \r\n if (q.length === 0) {\r\n debouncedSearch(\"\");\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}","import i18n from 'i18next';\r\n\r\nexport const VisitStages = () => {\r\n return [\r\n { id: 0, code: 'screening', title: i18n.t(\"protocols.visit.screening\") },\r\n { id: 1, code: 'random', title: i18n.t(\"protocols.visit.random\") },\r\n { id: 2, code: 'treatment', title: i18n.t(\"protocols.visit.treatment\") },\r\n { id: 3, code: 'followUp', title: i18n.t(\"protocols.visit.followUp\") }\r\n ]\r\n};\r\n\r\nexport const NotesEnum = () => {\r\n return [\r\n { id: 0, code: 'initial', title: i18n.t(\"notes.status.initial\") },\r\n { id: 1, code: 'fixed', title: i18n.t(\"notes.status.fixed\") },\r\n { id: 2, code: 'invalid', title: i18n.t(\"notes.status.invalid\") }\r\n ]\r\n};\r\n\r\nexport const OffsetTypes = () => {\r\n return [{ id: 0, code: 'days', title: i18n.t(\"protocols.visit.days\") }, { id: 1, code: 'weeks', title: i18n.t(\"protocols.visit.weeks\") }, { id: 2, code: 'months', title: i18n.t(\"protocols.visit.months\") }]\r\n};\r\n\r\nexport const Types = () => {\r\n return [{ id: 0, code: 'P', title: i18n.t(\"protocols.visitTracking.onsite\") }, { id: 1, code: 'EP', title: i18n.t(\"protocols.visitTracking.remote\") }]\r\n};","import debounce from \"lodash.debounce\";\r\nimport PropTypes from 'prop-types';\r\nimport React, { useCallback, useEffect, useState } from \"react\";\r\nimport { Mention, MentionsInput } from 'react-mentions';\r\nimport { getUsers } from \"../../api/identity\";\r\nimport { HandleApiError } from \"../Notifications/APIErrorHandler\";\r\n\r\nexport const TextBoxUsersMentions = (props) => {\r\n const { name, value, disabled, onChange, onBlur, maxLength } = props;\r\n const [innerValue, setInnerValue] = useState('');\r\n const INPUT_DELAY = 500;\r\n\r\n useEffect(() => {\r\n if (value) {\r\n setInnerValue(value);\r\n } else {\r\n setInnerValue('');\r\n }\r\n }, [value]);\r\n\r\n const debouncedHandleOnChange = useCallback(\r\n debounce((name, value) => {\r\n if (onChange) {\r\n onChange(name, value);\r\n }\r\n }, INPUT_DELAY),\r\n [],\r\n );\r\n\r\n const handleChange = useCallback((event) => {\r\n const newValue = event.target.value;\r\n if (maxLength && newValue.length > maxLength)\r\n return;\r\n\r\n setInnerValue(newValue);\r\n debouncedHandleOnChange(name, event.target.value);\r\n }, [debouncedHandleOnChange]);\r\n\r\n const handleBlur = () => {\r\n if (onBlur)\r\n onBlur(name, true);\r\n };\r\n\r\n const onSearch = (query, callback) => {\r\n if (!query) return\r\n getUsers({ query: query })\r\n .then(response => {\r\n return response.data.data.map(user => ({ display: user.fullName, id: user.userId }))\r\n })\r\n .then(callback)\r\n .catch(error => {\r\n HandleApiError(error);\r\n });\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n {\r\n maxLength &&\r\n
    {innerValue.length}/{maxLength}
    \r\n }\r\n \r\n );\r\n}\r\n\r\nTextBoxUsersMentions.defaultProps = {\r\n maxLength: null\r\n}\r\n\r\nTextBoxUsersMentions.propTypes = {\r\n value: PropTypes.string,\r\n name: PropTypes.string.isRequired,\r\n disabled: PropTypes.bool,\r\n placeholder: PropTypes.string,\r\n onChange: PropTypes.func,\r\n onBlur: PropTypes.func,\r\n max_length: PropTypes.number,\r\n};\r\n\r\nconst defaultMentionStyle = {\r\n backgroundColor: '#cee4e5',\r\n}\r\nconst defaultStyle = {\r\n control: {\r\n backgroundColor: '#fff',\r\n\r\n fontSize: 14,\r\n fontWeight: 'normal',\r\n },\r\n\r\n highlighter: {\r\n overflow: 'hidden',\r\n },\r\n\r\n input: {\r\n margin: 0,\r\n },\r\n\r\n '&singleLine': {\r\n control: {\r\n display: 'inline-block',\r\n width: 130,\r\n },\r\n\r\n highlighter: {\r\n padding: 1,\r\n border: '2px inset transparent',\r\n },\r\n\r\n input: {\r\n padding: 1,\r\n border: '2px inset',\r\n },\r\n },\r\n\r\n '&multiLine': {\r\n control: {\r\n //fontFamily: 'monospace',\r\n border: '1px solid silver',\r\n backgroundColor: '#ffffff',\r\n borderRadius: '4px',\r\n color: '#565656',\r\n boxShadow: 'none'\r\n },\r\n\r\n highlighter: {\r\n padding: 9,\r\n },\r\n\r\n input: {\r\n padding: 9,\r\n minHeight: 63,\r\n outline: 0,\r\n border: 0,\r\n },\r\n },\r\n\r\n suggestions: {\r\n list: {\r\n backgroundColor: 'white',\r\n border: '1px solid rgba(0,0,0,0.15)',\r\n fontSize: 14,\r\n },\r\n\r\n item: {\r\n padding: '5px 15px',\r\n borderBottom: '1px solid rgba(0,0,0,0.15)',\r\n\r\n '&focused': {\r\n backgroundColor: '#cee4e5',\r\n },\r\n },\r\n },\r\n}","import React, { useState } from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { Modal, Button, Grid, Row, Col, ControlLabel, FormGroup } from 'react-bootstrap'\r\nimport { CustomSelect } from '../CustomControls/CustomSelect'\r\nimport { TextBoxUsersMentions } from '../CustomControls/TextBoxUsersMentions'\r\nimport { getValidationAuditTrailModal } from '../Validations/FormValidationSchema'\r\nimport { FormErrorMessage } from '../Validations/FormValidationErrors'\r\n\r\nexport const AuditModal = (props) => {\r\n const { t } = useTranslation();\r\n\r\n return (\r\n \r\n \r\n {props.title}\r\n \r\n \r\n {props.children}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nAuditModal.propTypes = {\r\n onClose: PropTypes.func.isRequired,\r\n title: PropTypes.string,\r\n};\r\n\r\nexport const CreateAuditModal = (props) => {\r\n const { t } = useTranslation();\r\n\r\n const [reason, setReason] = useState(null);\r\n const [comments, setComments] = useState('');\r\n const handleChange = (name, value) => {\r\n if (name === \"auditTrail.reason\")\r\n setReason(value);\r\n if (name === \"auditTrail.comments\")\r\n setComments(value);\r\n\r\n getValidationAuditTrailModal()\r\n .isValid({ reason, comments })\r\n .then((valid) => {\r\n if (valid && errors)\r\n setErrors(null);\r\n });\r\n }\r\n const handleBlur = () => {\r\n getValidationAuditTrailModal()\r\n .isValid({ reason, comments })\r\n .then((valid) => {\r\n if (valid && errors)\r\n setErrors(null);\r\n });\r\n }\r\n\r\n const [errors, setErrors] = useState(null);\r\n const handleSubmit = () => {\r\n\r\n try {\r\n var isValid = getValidationAuditTrailModal().validateSync({ reason, comments });\r\n if (isValid) {\r\n props.onSave(reason, comments);\r\n }\r\n } catch (e) {\r\n setErrors(e.errors);\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n {t('auditTrail.modalTitle')}\r\n \r\n \r\n \r\n {\r\n reason && reason.code === \"other\" &&\r\n <>\r\n

    \r\n \r\n \r\n }\r\n {\r\n errors &&\r\n errors.map((error) => {\r\n return {t(error.key)}\r\n })\r\n }\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n}\r\n\r\nCreateAuditModal.propTypes = {\r\n onClose: PropTypes.func.isRequired,\r\n onSave: PropTypes.func.isRequired,\r\n title: PropTypes.string,\r\n};\r\n\r\nexport const CreateAudit = (props) => {\r\n const { t } = useTranslation();\r\n\r\n const [reason, setReason] = useState(null);\r\n const [comments, setComments] = useState('');\r\n const handleChange = (name, value) => {\r\n if (name === \"auditTrail.reason\")\r\n setReason(value);\r\n if (name === \"auditTrail.comments\")\r\n setComments(value);\r\n\r\n getValidationAuditTrailModal()\r\n .isValid({ reason, comments })\r\n .then((valid) => {\r\n if (valid && errors)\r\n setErrors(null);\r\n });\r\n }\r\n const handleBlur = () => {\r\n getValidationAuditTrailModal()\r\n .isValid({ reason, comments })\r\n .then((valid) => {\r\n if (valid && errors)\r\n setErrors(null);\r\n });\r\n }\r\n\r\n const [errors, setErrors] = useState(null);\r\n const handleSubmit = () => {\r\n\r\n try {\r\n var isValid = getValidationAuditTrailModal().validateSync({ reason, comments });\r\n if (isValid) {\r\n props.onSave(reason, comments);\r\n }\r\n } catch (e) {\r\n setErrors(e.errors);\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n {t('auditTrail.modalTitle')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n reason && reason.code === \"other\" &&\r\n <>\r\n

    \r\n \r\n \r\n }\r\n \r\n \r\n {\r\n errors &&\r\n errors.map((error) => {\r\n return {t(error.key)}\r\n })\r\n }\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n
    \r\n \r\n );\r\n}\r\n\r\nCreateAudit.propTypes = {\r\n onClose: PropTypes.func.isRequired,\r\n onSave: PropTypes.func.isRequired,\r\n title: PropTypes.string,\r\n};","import React from \"react\";\r\nimport { useTranslation } from 'react-i18next';\r\nimport { useUserInfo } from \"../../containers/Users/Hooks\";\r\nimport Card from \"../Cards/Card\";\r\nimport { dateTimeUTCFormatter } from '../Utils/Formatter';\r\nimport { Spinner } from \"../Utils/Loaders\";\r\n\r\nexport const DigitalSign = props => {\r\n\r\n const { signedBy, signStatus, signedDate } = props;\r\n const { t } = useTranslation();\r\n const [isLoading, userInfo] = useUserInfo(signedBy);\r\n\r\n if (isLoading)\r\n return ;\r\n\r\n const getDigitalSignStatus = (status) => {\r\n switch (status) {\r\n case 0: return <>{t('digitalSign.status.valid')};\r\n case 1: return <>{t('digitalSign.status.invalid')};\r\n case 2: return <>{t('digitalSign.status.verifError')};\r\n case 3: return <>{t('digitalSign.status.notVerified')};\r\n case 3: return <>{t('digitalSign.status.notSigned')};\r\n default:\r\n return <>{t('digitalSign.status.notSigned')};\r\n }\r\n }\r\n\r\n if (!signedBy)\r\n return null;\r\n \r\n return (\r\n \r\n
    {t(\"digitalSign.signedBy\")}: {userInfo?.fullName}
    \r\n
    {t(\"digitalSign.signed\")}: {dateTimeUTCFormatter(signedDate)}
    \r\n
    {t(\"sign.specialty\")}: {`${userInfo?.speciality} ${userInfo?.registrationNumber || \"\"}`}
    \r\n
    {t(\"digitalSign.state\")}: {getDigitalSignStatus(signStatus)}
    \r\n \r\n }\r\n />\r\n );\r\n}","import PropTypes from 'prop-types';\r\nimport React from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { WithAuth } from '../../components/Authorization/WithAuth';\r\nimport { Card } from '../../components/Cards/Card';\r\nimport { Edit, IconSVG, Remove } from '../Icons/Icons';\r\n\r\nexport const Actions = (props) => {\r\n const { t } = useTranslation();\r\n const { onCreateEntry, onCreateAppointment, onRedirectTo, onEditPatient, onEditEntry, onDeleteEntry, isLoading, status, isProtocol } = props;\r\n\r\n var createEntry = null;\r\n if (onCreateEntry) {\r\n createEntry = (\r\n \r\n );\r\n }\r\n\r\n var redirectTo = null;\r\n if (onRedirectTo) {\r\n redirectTo = (\r\n \r\n );\r\n }\r\n\r\n var createAppointment = null;\r\n if (onCreateAppointment) {\r\n createAppointment = (\r\n \r\n );\r\n }\r\n var editPatient = null;\r\n if (onEditPatient) {\r\n editPatient = (\r\n \r\n );\r\n }\r\n\r\n var saveEntry = null;\r\n if (props.onSaveEntry) {\r\n saveEntry = (\r\n \r\n );\r\n }\r\n\r\n var publishEntry = null;\r\n if (props.onPublishEntry && !isProtocol) {\r\n publishEntry = (\r\n \r\n );\r\n }\r\n\r\n var exportToPDF = null;\r\n if (props.onExportToPDF) {\r\n exportToPDF = (\r\n \r\n );\r\n }\r\n\r\n var editEntry = null;\r\n if (onEditEntry && !isProtocol) {\r\n editEntry = (\r\n \r\n );\r\n }\r\n\r\n var deleteEntry = null;\r\n if (onDeleteEntry && !isProtocol && status !== 'Published') {\r\n deleteEntry = (\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n {createEntry}\r\n \r\n \r\n {createAppointment}\r\n \r\n \r\n {editPatient}\r\n \r\n \r\n {editEntry}\r\n \r\n \r\n {saveEntry}\r\n \r\n \r\n {publishEntry}\r\n \r\n \r\n {deleteEntry}\r\n \r\n \r\n {exportToPDF}\r\n \r\n {redirectTo}\r\n \r\n }\r\n />\r\n );\r\n}\r\n\r\nActions.defaultProps = {\r\n showNewEntry: true,\r\n isLoading: false,\r\n};\r\n\r\nActions.propTypes = {\r\n onCreateEntry: PropTypes.func,\r\n onCreateAppointment: PropTypes.func,\r\n onRedirectTo: PropTypes.func,\r\n onEditPatient: PropTypes.func,\r\n onEditEntry: PropTypes.func\r\n};\r\n","import React, { useEffect, useState } from 'react'\r\nimport PropTypes from 'prop-types';\r\nimport { Add, RemoveCircle, IconSVG } from '../Icons/Icons';\r\n\r\nexport const ExpandableContent = (props) => {\r\n const { title, expandedAll, children, content } = props;\r\n const [expanded, setExpanded] = useState(true);\r\n\r\n useEffect(() => {\r\n if (expandedAll !== null && expandedAll !== undefined)\r\n setExpanded(expandedAll)\r\n }, [expandedAll])\r\n\r\n return (\r\n
    \r\n
    setExpanded(!expanded)}>\r\n

    \r\n \r\n {title}\r\n

    \r\n \r\n
    \r\n
    \r\n {children}\r\n
    \r\n
    \r\n )\r\n}\r\n\r\nExpandableContent.defaultProps = {\r\n expandedAll: false,\r\n}\r\n\r\nExpandableContent.propTypes = {\r\n expandedAll: PropTypes.bool,\r\n}\r\n","import React, { useCallback, useEffect, useState } from \"react\";\r\nimport debounce from \"lodash.debounce\";\r\nimport PropTypes from 'prop-types';\r\n\r\nimport { Editor } from '@tinymce/tinymce-react';\r\n\r\nexport const RichTextControl = (props) => {\r\n const { onChange, value, name, isDisabled, toolbar, autoFocus, height } = props;\r\n const [innerValue, setInnerValue] = useState('');\r\n\r\n const INPUT_DELAY = 500;\r\n\r\n useEffect(() => {\r\n if (value) {\r\n setInnerValue(value);\r\n } else {\r\n setInnerValue('');\r\n }\r\n }, [value]);\r\n\r\n const debouncedHandleOnChange = useCallback(\r\n debounce((name, value) => {\r\n if (onChange) {\r\n onChange(name, value);\r\n }\r\n }, INPUT_DELAY),\r\n [],\r\n );\r\n\r\n const handleOnChange = useCallback((content) => {\r\n setInnerValue(content);\r\n debouncedHandleOnChange(name, content);\r\n }, [debouncedHandleOnChange]);\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nRichTextControl.defaultProps = {\r\n autoFocus: false,\r\n toolbar: [\r\n {\r\n name: 'history', items: ['undo', 'redo']\r\n },\r\n {\r\n name: 'formatting', items: ['bold', 'italic', 'underline', 'strikethrough', 'forecolor']\r\n },\r\n {\r\n name: 'alignment', items: ['alignleft', 'aligncenter', 'alignright', 'alignjustify']\r\n },\r\n {\r\n name: 'margin', items: ['outdent', 'indent']\r\n },\r\n {\r\n name: 'clear', items: ['removeformat']\r\n }\r\n ],\r\n height: 500\r\n}\r\n\r\nRichTextControl.propTypes = {\r\n onChange: PropTypes.func.isRequired,\r\n onBlur: PropTypes.func,\r\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\r\n isDisabled: PropTypes.bool,\r\n name: PropTypes.string.isRequired,\r\n autoFocus: PropTypes.bool\r\n};","import moment from 'moment';\r\nimport React from 'react';\r\nimport { Disabled, Enabled } from '../Icons/Icons';\r\nimport { dateFormatter as date, labelFormatter as label } from '../Utils/Formatter';\r\n\r\n\r\nexport const dateFormatter = (cell) => {\r\n return date(cell, 'DD/MM/YYYY');\r\n}\r\n\r\nexport const dateMMMFormatter = (cell) => {\r\n return date(cell, 'DD/MMM/YYYY');\r\n}\r\n\r\nexport const dateTimeFormatter = (cell) => {\r\n return (
    {moment(cell).format('DD/MM/YYYY HH:mm')}
    );\r\n}\r\n\r\nexport const labelFormatter = (cell) => {\r\n return label(cell);\r\n}\r\n\r\nexport const statusFormatter = (cell) => {\r\n\r\n if (cell)\r\n return (
    );\r\n\r\n return (
    );\r\n}\r\n\r\nexport const customDateTimeFormatter = (dateTime) => {\r\n return (<>{moment(dateTime).format('DD/MM/YYYY HH:mm')} );\r\n}\r\n\r\nexport const customDateTimeFormatterString = (dateTime) => {\r\n return (moment(dateTime).format('DD/MM/YYYY HH:mm'));\r\n}\r\n","import PropTypes from 'prop-types';\r\nimport React from 'react';\r\nimport { ExpandableContent } from '../CustomControls/ExpandableContent';\r\nimport { RichTextControl } from '../CustomControls/RichTextControl';\r\nimport { customDateTimeFormatterString } from '../Table/Formatters';\r\n\r\nconst Entry = (props) => {\r\n const {\r\n entry,\r\n text,\r\n onEntryChange,\r\n rows,\r\n isDisabled,\r\n style\r\n } = props;\r\n\r\n const onChangeText = (_name, value) => {\r\n onEntryChange(value);\r\n }\r\n\r\n const getGroup = () => {\r\n if (!entry)\r\n return null;\r\n\r\n switch (entry.groupCode) {\r\n case \"PROJECT\": return `${entry.group}: ${entry.project} ${customDateTimeFormatterString(entry.created)}`;\r\n case \"PROTOCOL\": return `${entry.group} - ${entry.type}: ${entry.protocol} ${customDateTimeFormatterString(entry.created)}`;\r\n default:\r\n return `Evolución ${entry.group} ${customDateTimeFormatterString(entry.created)}`;\r\n }\r\n }\r\n \r\n if (!entry)\r\n return null;\r\n \r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nEntry.defaultProps = {\r\n rows: 4,\r\n isDisabled: false\r\n};\r\n\r\nEntry.propTypes = {\r\n entry: PropTypes.object.isRequired,\r\n rows: PropTypes.number,\r\n isDisabled: PropTypes.bool,\r\n};\r\n\r\nexport default Entry;\r\n\r\n","import PropTypes from 'prop-types';\r\nimport React, { useState } from \"react\";\r\nimport { useTranslation } from 'react-i18next';\r\nimport { Add, Contract, Expand, IconSVG } from \"../Icons/Icons\";\r\nimport { Card } from '../Cards/Card';\r\n\r\nexport const EntryOptions = (props) => {\r\n const items = ['personalHistory', 'familyHistory', 'personalHabits', 'vitals', 'anthropometrics', 'drugs', 'procedures', 'laboratory', 'attachments'];\r\n const [showOthers, setShowOthers] = useState(false)\r\n const { t } = useTranslation();\r\n\r\n const handleClick = (contentName) => {\r\n props.onClick(contentName)\r\n }\r\n\r\n const handleOthersClick = () => { setShowOthers(!showOthers); }\r\n\r\n const otherContent = (\r\n <>\r\n \r\n \r\n \r\n \r\n );\r\n\r\n const content = items.map(function (name, index) {\r\n\r\n if (name === \"others\") {\r\n return ();\r\n }\r\n\r\n return ();\r\n });\r\n\r\n return (\r\n \r\n {!props.isDisabled && content}\r\n {showOthers && otherContent}\r\n \r\n }\r\n />\r\n );\r\n}\r\n\r\nEntryOptions.propTypes = {\r\n onClick: PropTypes.func.isRequired,\r\n isDisabled: PropTypes.bool,\r\n};","import React, { useState } from \"react\";\r\nimport PropTypes from 'prop-types';\r\nimport HTMLEllipsis from 'react-lines-ellipsis/lib/html'\r\nimport LinesEllipsis from 'react-lines-ellipsis'\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\nexport const ReadMore = (props) => {\r\n const [readMore, setReadMore] = useState(false);\r\n const [isClamped, setIsClamped] = useState(false);\r\n const { t } = useTranslation();\r\n\r\n if (!props.content)\r\n return null;\r\n\r\n const linkName = readMore ? t(\"commons.viewLess\") : t(\"commons.viewMore\");\r\n return (\r\n <>\r\n {\r\n readMore ?\r\n :\r\n { setIsClamped(clamped) }}\r\n />\r\n }\r\n {\r\n isClamped && { setReadMore(!readMore) }}>{linkName}\r\n }\r\n \r\n );\r\n}\r\nReadMore.propTypes = {\r\n maxLine: PropTypes.number,\r\n component: PropTypes.string,\r\n};\r\nReadMore.defaultProps = {\r\n maxLine: 3,\r\n component: \"div\"\r\n};\r\n\r\n\r\nexport const ReadMoreLines = (props) => {\r\n const [readMore, setReadMore] = useState(false);\r\n //const [isClamped, setIsClamped] = useState(false);\r\n\r\n if (!props.content)\r\n return null;\r\n\r\n const linkName = readMore ? '<< ' : '>> ';\r\n return (\r\n <>\r\n {\r\n readMore ?\r\n
    setReadMore(!readMore)} tabIndex='0'>\r\n
    {props.content}
    \r\n
    \r\n :\r\n
    setReadMore(!readMore)} tabIndex='0'>\r\n \r\n
    \r\n }\r\n {/*\r\n readMore ?\r\n {props.content} :\r\n { setIsClamped(clamped) }}\r\n />\r\n */}\r\n {\r\n // isClamped && { setReadMore(!readMore) }}>{linkName}\r\n }\r\n \r\n );\r\n}\r\nReadMoreLines.propTypes = {\r\n maxLine: PropTypes.number,\r\n component: PropTypes.string,\r\n};\r\nReadMoreLines.defaultProps = {\r\n maxLine: 3,\r\n component: \"span\"\r\n};\r\n","import moment from 'moment';\r\nimport PropTypes from 'prop-types';\r\nimport React from 'react';\r\nimport { Col, Grid, Row } from 'react-bootstrap';\r\nimport { useTranslation } from 'react-i18next';\r\nimport profilePic from \"../../assets/img/faces/face-0.jpg\";\r\nimport \"../../assets/sass/lbd/_skeleton.scss\";\r\nimport Card from '../Cards/Card';\r\nimport { CustomImage } from \"../CustomControls/Image\";\r\nimport { ReadMoreLines } from '../CustomControls/ReadMore';\r\nimport { BirthDate, Identification, MedicalInsurance, MedicalInsuranceNumber, MedicalRecord } from \"../Icons/Icons\";\r\nimport { dateFormatter } from '../Utils/Formatter';\r\n\r\nexport const PatientInfo = (props) => {\r\n const { patient, isLoading } = props;\r\n const { t } = useTranslation();\r\n\r\n if (isLoading || !patient)\r\n return ;\r\n\r\n const ageComponent = patient.age ? <>({patient.age} {t('medicalRecords.patientInfo.age')}) : null;\r\n //console.log(patient)\r\n return (\r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    {patient.fullName}
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    {t('medicalRecords.patientInfo.birthDate')}: {moment(patient.birthDate).format('DD/MM/YY')} {ageComponent}
    \r\n
    {patient.identificationType}: {patient.identificationNumber}
    \r\n {patient.medicalInsurance &&
    {t('medicalRecords.patientInfo.medicalInsurance')}: {patient.medicalInsurance} {patient.medicalInsurancePlan ? <>({patient.medicalInsurancePlan}) : null}
    }\r\n {patient.medicalInsuranceNumber &&
    {t('medicalRecords.patientInfo.medicalInsuranceNumber')}: {patient.medicalInsuranceNumber}
    }\r\n
    {t('medicalRecords.patientInfo.medicalRecord')}: {patient.medicalRecordNumber}
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {t('person.address.address')}: \r\n \r\n \r\n \r\n
    \r\n
    {t('person.contact.cellPhone')}: {patient.cellPhone}
    \r\n
    {t('person.contact.email')}: {patient.email}
    \r\n {patient.protocols?.length > 0 &&
    {t('medicalRecords.patientInfo.protocol')}: {patient.protocols[0].title}
    }\r\n
    \r\n \r\n
    \r\n \r\n \r\n }\r\n />\r\n );\r\n}\r\n\r\nPatientInfo.propTypes = {\r\n patient: PropTypes.object.isRequired,\r\n isLoading: PropTypes.bool.isRequired,\r\n};\r\n\r\nconst PatientInfoSkeleton = () => {\r\n return (\r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n }\r\n />\r\n );\r\n}\r\n\r\n\r\nexport const PatientInfo2 = ({ patient, isLoading }) => {\r\n const { t } = useTranslation();\r\n\r\n if (isLoading || !patient)\r\n return ;\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
    {patient.fullName}
    \r\n
    {patient.age} años ({dateFormatter(patient.birthDate, \"DD/MMM/YYYY\")})
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {t(\"medicalRecords.patientInfo.medicalRecord\")}
    \r\n
    {patient.medicalRecordNumber}
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {patient.identificationType}
    \r\n
    {patient.identificationNumber}
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {t(\"medicalRecords.patientInfo.medicalInsurance\")}
    \r\n
    {patient.medicalInsurance}
    \r\n
    {patient.medicalInsurancePlan}
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {t(\"medicalRecords.patientInfo.medicalInsuranceNumber\")}
    \r\n
    {patient.medicalInsuranceNumber}
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n
    \r\n \r\n }\r\n />\r\n );\r\n}\r\n\r\nPatientInfo2.propTypes = {\r\n patient: PropTypes.object.isRequired,\r\n isLoading: PropTypes.bool.isRequired,\r\n};\r\n\r\nconst PatientInfo2Skeleton = () => {\r\n const { t } = useTranslation();\r\n return (\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {t(\"medicalRecords.patientInfo.birthDate\")}
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {t(\"medicalRecords.patientInfo.medicalInsurance\")}
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {t(\"medicalRecords.patientInfo.medicalRecord\")}
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n }\r\n />\r\n );\r\n}\r\n\r\nexport const PatientInfo3 = ({ patient, isLoading }) => {\r\n const { t } = useTranslation();\r\n\r\n if (isLoading || !patient)\r\n return ;\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
    {patient.fullName}
    \r\n
    \r\n \r\n \r\n
    \r\n
    {patient.age} años
    \r\n
    ({dateFormatter(patient.birthDate, \"DD/MMM/YYYY\")})
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {t(\"medicalRecords.patientInfo.medicalRecord\")}
    \r\n
    {patient.medicalRecordNumber}
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {patient.identificationType}
    \r\n
    {patient.identificationNumber}
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {t(\"medicalRecords.patientInfo.medicalInsurance\")}
    \r\n
    {patient.medicalInsurance}
    \r\n
    {patient.medicalInsurancePlan}
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {t(\"medicalRecords.patientInfo.medicalInsuranceNumber\")}
    \r\n
    {patient.medicalInsuranceNumber}
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n
    \r\n \r\n }\r\n />\r\n );\r\n}\r\n\r\nPatientInfo3.propTypes = {\r\n patient: PropTypes.object.isRequired,\r\n isLoading: PropTypes.bool.isRequired,\r\n};","import PropTypes from 'prop-types';\r\nimport React, { useEffect, useRef, useState } from 'react';\r\nimport SweetAlert from 'react-bootstrap-sweetalert';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { Prompt, useHistory } from 'react-router-dom';\r\nimport ReactDOM from 'react-dom';\r\nimport { Button, Modal as BootstrapModal } from 'react-bootstrap';\r\n\r\nconst RouteChangeDetect = ({ when, confirmCallback }) => {\r\n const [modalVisible, setModalVisible] = useState(false);\r\n const [lastLocation, setLastLocation] = useState(null);\r\n\r\n const handleBlockedNavigation = (nextLocation, _action) => {\r\n\r\n if (!lastLocation || lastLocation.pathname !== nextLocation.pathname) {\r\n setModalVisible(true);\r\n setLastLocation(nextLocation);\r\n return false;\r\n }\r\n return true;\r\n };\r\n\r\n const handleConfirmNavigationClick = () => {\r\n setModalVisible(false);\r\n confirmCallback(lastLocation.pathname, false);\r\n };\r\n\r\n const handleSaveClick = () => {\r\n setModalVisible(false);\r\n confirmCallback(lastLocation.pathname, true);\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n );\r\n};\r\nexport default RouteChangeDetect;\r\n\r\nRouteChangeDetect.propTypes = {\r\n when: PropTypes.bool.isRequired,\r\n confirmCallback: PropTypes.func.isRequired,\r\n};\r\n\r\nconst ConfirmChangeModal = (props) => {\r\n const { t } = useTranslation();\r\n\r\n return props.visible ? ReactDOM.createPortal(\r\n \r\n props.onConfirm()}\r\n onCancel={() => { props.onCancel() }}\r\n confirmBtnBsStyle=\"success\"\r\n cancelBtnBsStyle=\"danger\"\r\n confirmBtnText={t(\"buttons.saveAndContinue\")}\r\n cancelBtnText={t(\"buttons.exit\")}\r\n showCancel\r\n reverseButtons\r\n >\r\n \r\n , document.body\r\n ) : null;\r\n}\r\n\r\nConfirmChangeModal.propTypes = {\r\n onCancel: PropTypes.func.isRequired,\r\n onConfirm: PropTypes.func.isRequired\r\n};\r\n\r\nexport function RouterPrompt(props) {\r\n const { when, title } = props;\r\n\r\n const history = useHistory();\r\n\r\n const [showPrompt, setShowPrompt] = useState(false);\r\n const [currentPath, setCurrentPath] = useState(\"\");\r\n\r\n const unblockRef = useRef();\r\n\r\n function handleShowModal() {\r\n setShowPrompt(true);\r\n }\r\n\r\n function onCancel() {\r\n setShowPrompt(false);\r\n }\r\n\r\n useEffect(() => {\r\n unblockRef.current = history.block((location) => {\r\n if (when) {\r\n setCurrentPath(location.pathname);\r\n handleShowModal();\r\n return false;\r\n }\r\n return true;\r\n });\r\n return () => {\r\n unblockRef.current && unblockRef.current();\r\n };\r\n }, [when]);\r\n\r\n function handleConfirm() {\r\n if (unblockRef) {\r\n unblockRef.current();\r\n }\r\n setShowPrompt(false);\r\n history.push(currentPath);\r\n }\r\n\r\n return (\r\n \r\n \r\n {title}\r\n \r\n \r\n pepepepep\r\n \r\n \r\n \r\n \r\n );\r\n}","import React from 'react'\r\nimport PropTypes from 'prop-types';\r\nimport './Slider.css'\r\n\r\nexport const Slider = (props) => {\r\n const { isOpen, children } = props;\r\n\r\n if (!isOpen)\r\n return (\r\n
    \r\n
    );\r\n\r\n return (\r\n
    \r\n {children}\r\n
    \r\n );\r\n}\r\n\r\nSlider.propTypes = {\r\n isOpen: PropTypes.bool,\r\n children: PropTypes.object\r\n};","import debounce from \"lodash.debounce\";\r\nimport isequal from \"lodash.isequal\";\r\nimport PropTypes from 'prop-types';\r\nimport moment from \"moment\";\r\nimport React from \"react\";\r\nimport { Alert } from \"react-bootstrap\";\r\n\r\nconst AutoSaveDisplay = ({ isSaving, lastSaved }) => {\r\n const [time, setTime] = React.useState();\r\n let timer = null;\r\n\r\n React.useEffect(() => {\r\n if (lastSaved) {\r\n timer = setInterval(() => {\r\n setTime(moment(lastSaved).fromNow())\r\n }, 1000)\r\n }\r\n\r\n return () => {\r\n clearInterval(timer);\r\n }\r\n\r\n }, [lastSaved]);\r\n\r\n return (\r\n {!!isSaving\r\n ? \"Guardando...\"\r\n : lastSaved && time\r\n ? `Autoguardado ${time}`\r\n : null}\r\n );\r\n};\r\n\r\n/**\r\n * AutoSave component only has one job\r\n * on each `values` change, trigger debounced save function\r\n */\r\nexport const AutoSave = ({ doSave, isSaving, needsResave, values, lastSaved }) => {\r\n\r\n React.useEffect(() => {\r\n doSave(values);\r\n }, [doSave, values, needsResave]);\r\n\r\n return ;\r\n};\r\n\r\nexport const AutoSavingForm = (props) => {\r\n const [isSaving, setIsSaving] = React.useState(false);\r\n const [lastSaved, setLastSaved] = React.useState(null);\r\n const [needsResave, setNeedsResave] = React.useState(false);\r\n\r\n const isSavingRef = React.useRef(isSaving);\r\n const lastSubmittedValues = React.useRef(props.initialValues);\r\n const currentValues = React.useRef(props.initialValues);\r\n\r\n const mounted = React.useRef(false);\r\n React.useEffect(() => {\r\n mounted.current = true;\r\n\r\n return () => {\r\n mounted.current = false;\r\n };\r\n }, []);\r\n\r\n const debouncedAutoSave = React.useCallback(\r\n debounce(async (valuesToSave) => {\r\n if (isSavingRef.current || !mounted.current) {\r\n return;\r\n }\r\n\r\n if (!isequal(lastSubmittedValues.current, valuesToSave)) {\r\n // prevent this check from passing again until onSave returns\r\n lastSubmittedValues.current = valuesToSave;\r\n\r\n console.log(\"debouncedAutoSave: received new values, saving.\");\r\n isSavingRef.current = true;\r\n setIsSaving(isSavingRef.current);\r\n\r\n const returnedValues = await props.onSave(valuesToSave, props.formikProps);\r\n\r\n setLastSaved(new Date());\r\n\r\n // check again, did the user change the values?\r\n //console.log(\"debouncedAutoSave: recomparing\");\r\n\r\n if (isequal(currentValues.current, valuesToSave)) {\r\n // check again, did the user change the values?\r\n //console.log(\"debouncedAutoSave: user has not changed values inbewteensave, updating\");\r\n // prevent this check from passing again when return value is updated\r\n lastSubmittedValues.current = returnedValues;\r\n props.setInitialValues(returnedValues);\r\n } else {\r\n props.setInitialValues(currentValues.current);\r\n //console.log(\"debouncedAutoSave: user changed values after autosave submission, trying again.\");\r\n setNeedsResave(true);\r\n }\r\n\r\n isSavingRef.current = false;\r\n setIsSaving(isSavingRef.current);\r\n } else {\r\n console.log(\"debouncedAutoSave: values are equal, save skipped.\");\r\n }\r\n }, props.debounceTime),\r\n []\r\n );\r\n\r\n const autoSave = React.useCallback(\r\n async (valuesToSave) => {\r\n setNeedsResave(false);\r\n\r\n if (currentValues.current.id !== valuesToSave.id) { // Comparo forms id. Si cambie de form, cancelo autosave. \r\n currentValues.current = valuesToSave;\r\n return;\r\n }\r\n \r\n currentValues.current = valuesToSave;\r\n await debouncedAutoSave(valuesToSave);\r\n },\r\n [debouncedAutoSave]\r\n );\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nAutoSavingForm.defaultProps = {\r\n debounceTime: 4000,\r\n};\r\nAutoSavingForm.propTypes = {\r\n initialValues: PropTypes.oneOfType([\r\n PropTypes.string,\r\n PropTypes.number,\r\n PropTypes.object]).isRequired,\r\n valuesToSave: PropTypes.oneOfType([\r\n PropTypes.string,\r\n PropTypes.number,\r\n PropTypes.object]).isRequired,\r\n debounceTime: PropTypes.number,\r\n onSave: PropTypes.func.isRequired,\r\n setInitialValues: PropTypes.func.isRequired\r\n};\r\n\r\nexport const AutoSaving = (props) => {\r\n const [isSaving, setIsSaving] = React.useState(false);\r\n const [lastSaved, setLastSaved] = React.useState(null);\r\n const [needsResave, setNeedsResave] = React.useState(false);\r\n\r\n const isSavingRef = React.useRef(isSaving);\r\n const lastSubmittedValues = React.useRef(props.initialValues);\r\n const currentValues = React.useRef(props.initialValues);\r\n\r\n const mounted = React.useRef(false);\r\n React.useEffect(() => {\r\n mounted.current = true;\r\n\r\n return () => {\r\n mounted.current = false;\r\n };\r\n }, []);\r\n\r\n // note, if props.onSubmit is changed,\r\n // the debounce interval will change, possibly double-firing\r\n const debouncedAutoSave = React.useCallback(\r\n debounce(async (valuesToSave) => {\r\n if (isSavingRef.current || !mounted.current) {\r\n return;\r\n }\r\n\r\n //if (lastSubmittedValues.current && !isequal(lastSubmittedValues.current, valuesToSave)) {\r\n if (!isequal(lastSubmittedValues.current, valuesToSave)) {\r\n // prevent this check from passing again until onSave returns\r\n lastSubmittedValues.current = valuesToSave;\r\n\r\n //console.log(\"debouncedAutoSave: received new values, saving.\");\r\n isSavingRef.current = true;\r\n setIsSaving(isSavingRef.current);\r\n\r\n const returnedValues = await props.onSave(valuesToSave);\r\n\r\n setLastSaved(new Date());\r\n\r\n // check again, did the user change the values?\r\n //console.log(\"debouncedAutoSave: recomparing\");\r\n\r\n if (isequal(currentValues.current, valuesToSave)) {\r\n // check again, did the user change the values?\r\n //console.log(\"debouncedAutoSave: user has not changed values inbewteensave, updating\");\r\n // prevent this check from passing again when return value is updated\r\n lastSubmittedValues.current = valuesToSave;\r\n if (returnedValues && returnedValues.data)\r\n props.setInitialValues(returnedValues.data.text);\r\n } else {\r\n props.setInitialValues(currentValues.current);\r\n //console.log(\"debouncedAutoSave: user changed values after autosave submission, trying again.\");\r\n setNeedsResave(true);\r\n }\r\n\r\n isSavingRef.current = false;\r\n setIsSaving(isSavingRef.current);\r\n } else {\r\n //console.log(\"debouncedAutoSave: values are equal, save skipped.\");\r\n }\r\n }, props.debounceTime),\r\n []\r\n );\r\n\r\n const autoSave = React.useCallback(\r\n async (valuesToSave) => {\r\n setNeedsResave(false);\r\n currentValues.current = valuesToSave;\r\n await debouncedAutoSave(valuesToSave);\r\n },\r\n [debouncedAutoSave]\r\n );\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nAutoSaving.defaultProps = {\r\n debounceTime: 4000,\r\n};\r\nAutoSaving.propTypes = {\r\n initialValues: PropTypes.oneOfType([\r\n PropTypes.string,\r\n PropTypes.number,\r\n PropTypes.object]).isRequired,\r\n valuesToSave: PropTypes.oneOfType([\r\n PropTypes.string,\r\n PropTypes.number,\r\n PropTypes.object]).isRequired,\r\n debounceTime: PropTypes.number,\r\n onSave: PropTypes.func.isRequired,\r\n setInitialValues: PropTypes.func.isRequired\r\n};\r\n","import { ErrorMessage } from 'formik';\r\nimport React from 'react';\r\nimport { Col, ControlLabel, FormControl, FormGroup, Grid, Row } from 'react-bootstrap';\r\nimport { FormErrorMessage } from '../Validations/FormValidationErrors';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nexport const DigitalSignForm = props => {\r\n\r\n const {\r\n values,\r\n handleSubmit,\r\n handleChange,\r\n handleBlur,\r\n currentUser \r\n } = props;\r\n\r\n const { t } = useTranslation();\r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n {t(\"digitalSign.user\")}\r\n {currentUser}\r\n \r\n \r\n PIN\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n}","import { withFormik } from \"formik\";\r\nimport React from \"react\";\r\nimport { Modal as BootstrapModal } from 'react-bootstrap';\r\nimport ReactDOM from 'react-dom';\r\nimport { useTranslation, withTranslation } from 'react-i18next';\r\nimport { useAuthorization } from \"../../components/Authorization/useAuthorization\";\r\nimport { DigitalSignForm } from '../../components/DigitalSign/DigitalSignForm';\r\nimport { Spinner } from \"../../components/Utils/Loaders\";\r\nimport { getDigitalSignSchema } from \"../../components/Validations/FormValidationSchema\";\r\n\r\nexport const ModalDigitalSign = (props) => {\r\n const { isShowing, hide, isLoading, onSubmit } = props;\r\n const [, user] = useAuthorization();\r\n const { t } = useTranslation();\r\n\r\n return isShowing ? ReactDOM.createPortal(\r\n \r\n \r\n \r\n {t(\"digitalSign.title\")}\r\n \r\n \r\n {\r\n isLoading ?\r\n :\r\n \r\n }\r\n \r\n \r\n , document.body\r\n ) : null;\r\n};\r\n\r\nconst DigitalSignContainerFormik = withTranslation()(withFormik({\r\n mapPropsToValues: () => ({ password: '' }),\r\n validationSchema: getDigitalSignSchema(),\r\n handleSubmit: (values, formikBag) => {\r\n formikBag.props.onSubmit(values);\r\n },\r\n displayName: 'DigitalSignForm',\r\n})(DigitalSignForm));","import { conceptType } from '../variables/Enums';\r\nimport axios from './index';\r\n\r\nexport const searchConcept = (conceptId, term, type = conceptType.events) => {\r\n return axios.get(`api/v1/snowstorm/${type}/SearchConcept/${conceptId}/${term}`);\r\n};\r\n\r\nexport const searchConceptByExpression = (expression, term, type = conceptType.events) => {\r\n return axios.get(`api/v1/snowstorm/${type}/SearchByExpression/${expression}/${term}`);\r\n};","import PropTypes from 'prop-types';\r\nimport React, { useState } from 'react';\r\nimport { AsyncTypeahead } from 'react-bootstrap-typeahead';\r\nimport { searchConcept, searchConceptByExpression } from '../../api/snomed';\r\nimport { HandleApiError } from \"../Notifications/APIErrorHandler\";\r\n\r\nimport 'react-bootstrap-typeahead/css/Typeahead.css';\r\n\r\nexport const SnomedPicker = (props) => {\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [options, setOptions] = useState([]);\r\n\r\n const handleChange = value => {\r\n if (value.length > 0) {\r\n if (props.multiple)\r\n props.onChange(props.name, value);\r\n else\r\n props.onChange(props.name, value[0]);\r\n }\r\n else\r\n props.onChange(props.name, null);\r\n };\r\n\r\n const handleBlur = () => {\r\n if (props.onBlur)\r\n props.onBlur(props.name, true);\r\n };\r\n\r\n const onSearch = (term) => {\r\n setIsLoading(true);\r\n\r\n let func = null;\r\n let query = \"\";\r\n\r\n if (props.conceptId) {\r\n func = searchConcept;\r\n query = props.conceptId;\r\n }\r\n else {\r\n func = searchConceptByExpression;\r\n query = props.expression;\r\n }\r\n\r\n func(query, encodeURIComponent(term), props.conceptType).then(response => {\r\n\r\n setOptions(response.data);\r\n setIsLoading(false);\r\n\r\n }).catch(error => {\r\n setIsLoading(false);\r\n setOptions([]);\r\n HandleApiError(error);\r\n });\r\n }\r\n\r\n return true}\r\n options={options}\r\n isLoading={isLoading}\r\n onSearch={onSearch}\r\n //clearButton={clearButton}\r\n highlightOnlyResult={true}\r\n delay={500}\r\n onChange={handleChange}\r\n onBlur={handleBlur}\r\n />;\r\n}\r\n\r\nSnomedPicker.propTypes = {\r\n multiple: PropTypes.bool,\r\n onChange: PropTypes.func,\r\n minLength: PropTypes.number,\r\n conceptId: PropTypes.string,\r\n expression: PropTypes.string,\r\n clearButton: PropTypes.bool,\r\n conceptType: PropTypes.string\r\n};\r\n\r\nSnomedPicker.defaultProps = {\r\n multiple: false,\r\n onChange: () => { },\r\n minLength: 3,\r\n allowNew: false,\r\n clearButton: true\r\n};","import moment from 'moment';\r\nimport PropTypes from 'prop-types';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { Col, ControlLabel, Row } from 'react-bootstrap';\r\nimport DateTime from 'react-datetime';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nexport const NullableDatePicker = (props) => {\r\n\r\n const [dateValue, setDateValue] = useState(null);\r\n\r\n const handleChange = value => {\r\n let dateNumber;\r\n\r\n if (value) {\r\n switch (props.viewMode) {\r\n case \"days\":\r\n dateNumber = value.date();\r\n break;\r\n case \"months\":\r\n dateNumber = value.month() + 1;\r\n break;\r\n case \"years\":\r\n dateNumber = value.year();\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n setDateValue(value);\r\n\r\n // this is going to call setFieldValue and manually update values.[name]\r\n props.onChange(props.name, dateNumber, value);\r\n };\r\n const handleBlur = () => {\r\n // this is going to call setFieldTouched and manually update touched.[name]\r\n props.onBlur(props.name, true);\r\n };\r\n\r\n useEffect(() => {\r\n if (props.value && props.value !== \"\") {\r\n switch (props.viewMode) {\r\n case \"days\":\r\n setDateValue(new Date(2000, 1, props.value));\r\n break;\r\n case \"months\":\r\n setDateValue(new Date(2000, props.value - 1, 1));\r\n break;\r\n case \"years\":\r\n setDateValue(new Date(props.value, 1, 1));\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n }, [props.value, props.viewMode]);\r\n\r\n return <>\r\n \r\n ;\r\n}\r\n\r\nNullableDatePicker.propTypes = {\r\n name: PropTypes.string.isRequired,\r\n value: PropTypes.number,\r\n onChange: PropTypes.func.isRequired,\r\n onBlur: PropTypes.func.isRequired\r\n};\r\n\r\nexport const NullableDatePickerCombo = (props) => {\r\n const {\r\n dayLabel,\r\n monthLabel,\r\n yearLabel,\r\n valueDay, valueMonth, valueYear,\r\n onChange,\r\n onBlur,\r\n disabled\r\n } = props;\r\n\r\n const [day, setDay] = useState(null);\r\n const [month, setMonth] = useState(null);\r\n const [year, setYear] = useState(null);\r\n\r\n const [selectDay, setSelectDay] = useState(valueDay ?? (dayLabel));\r\n const [selectMonth, setSelectMonth] = useState(valueMonth ?? (monthLabel));\r\n const [selectYear, setSelectYear] = useState(valueYear ?? (yearLabel));\r\n useEffect(() => {\r\n let day = [], month = [], year = [];\r\n let maxDays = 31;\r\n let maxMonths = 11;\r\n\r\n if (selectYear && selectYear !== yearLabel && selectMonth && selectMonth !== monthLabel) {\r\n maxDays = moment(`${selectYear}-${parseInt(selectMonth) + 1}`, \"YYYY-MM\").daysInMonth();\r\n }\r\n\r\n if (selectYear && selectYear === moment().year().toString()) {\r\n maxMonths = moment().month();\r\n\r\n if (selectMonth && selectMonth === moment().month().toString())\r\n maxDays = moment().date();\r\n }\r\n for (let i = 1; i <= maxDays; i++) {\r\n day.push(i);\r\n }\r\n\r\n for (let i = 0; i <= maxMonths; i++) {\r\n month.push({\r\n text: props.useMonthNames ? moment.monthsShort('-MMM-', i) : (i + 1),\r\n value: i\r\n });\r\n }\r\n\r\n for (let i = moment().year(); i >= props.minYear; i--) {\r\n year.push(i);\r\n }\r\n\r\n setDay(day); setMonth(month); setYear(year);\r\n }, [selectDay, selectMonth, selectYear,]);\r\n\r\n const handleBlur = () => {\r\n if (onBlur)\r\n onBlur(props.name, true);\r\n };\r\n\r\n const handleChange = (e, type) => {\r\n let value = e.target.value == '' ? null : e.target.value;\r\n switch (type) {\r\n case \"selectDay\":\r\n setSelectDay(value);\r\n onChange(props.nameDay, value);\r\n break;\r\n case \"selectMonth\":\r\n setSelectMonth(value);\r\n onChange(props.nameMonth, value);\r\n break;\r\n case \"selectYear\":\r\n setSelectYear(e.target.value);\r\n onChange(props.nameYear, value);\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n if (!day || !month || !year)\r\n return null;\r\n\r\n const dayElement = day.map((day, id) => {\r\n return ;\r\n });\r\n const monthElement = month.map((month, id) => {\r\n return ;\r\n });\r\n const yearElement = year.map((year, id) => {\r\n return ;\r\n });\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nNullableDatePickerCombo.propTypes = {\r\n onChange: PropTypes.func,\r\n onBlur: PropTypes.func,\r\n dayLabel: PropTypes.string,\r\n monthLabel: PropTypes.string,\r\n yearLabel: PropTypes.string,\r\n minYear: PropTypes.number,\r\n selectDay: PropTypes.string,\r\n selectMonth: PropTypes.string,\r\n selectYear: PropTypes.string,\r\n useMonthNames: PropTypes.bool,\r\n disabled: PropTypes.bool,\r\n};\r\n\r\nNullableDatePickerCombo.defaultProps = {\r\n dayLabel: 'dia',\r\n monthLabel: 'mes',\r\n yearLabel: 'año',\r\n minYear: 1916,\r\n selectDay: '',\r\n selectMonth: '',\r\n selectYear: '',\r\n useMonthNames: true,\r\n disabled: false\r\n};\r\n\r\nexport const FromToNullableDatePicker = (props) => {\r\n const {\r\n valuesFrom,\r\n valuesTo,\r\n onChange,\r\n onBlur,\r\n } = props;\r\n\r\n const { t } = useTranslation();\r\n return (\r\n \r\n \r\n {t(\"medicalRecords.from\")}\r\n \r\n \r\n \r\n {t(\"medicalRecords.to\")}\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nFromToNullableDatePicker.defaultProps = {\r\n nameFromDay: 'fromDay',\r\n nameFromMonth: 'fromMonth',\r\n nameFromYear: 'fromYear',\r\n nameToDay: 'toDay',\r\n nameToMonth: 'toMonth',\r\n nameToYear: 'toYear',\r\n disabledTo: false,\r\n};","import React from \"react\";\r\n\r\nexport const CustomCheckbox = (props) => {\r\n\r\n const { isChecked, name, label, inline, id, ...rest } = props;\r\n const classes = inline !== undefined ? \"checkbox checkbox-inline\" : \"checkbox\";\r\n\r\n const handleClick = (event) => {\r\n if (props.onChange)\r\n props.onChange(props.name, event.currentTarget.checked, id);\r\n }\r\n\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n );\r\n}\r\n","import { ErrorMessage } from 'formik';\r\nimport React, { useEffect } from 'react';\r\nimport { Col, ControlLabel, FormControl, FormGroup, Grid, Row } from 'react-bootstrap';\r\nimport { FromToNullableDatePicker } from \"../../CustomControls/DatePicker\";\r\nimport { FormErrorMessage } from '../../Validations/FormValidationErrors';\r\nimport { CustomSelect } from '../../CustomControls/CustomSelect';\r\nimport { CustomCheckbox } from '../../CustomControls/CustomCheckbox';\r\n\r\nexport const DiagnosisForm = props => {\r\n\r\n const {\r\n values,\r\n setFieldValue,\r\n setFieldTouched,\r\n handleSubmit,\r\n handleChange,\r\n isSubmitting,\r\n t\r\n } = props;\r\n\r\n const options = [\r\n { id: 0, code: \"mild\", title: t(\"medicalRecords.condition.intensity.mild\") },\r\n { id: 1, code: \"moderate\", title: t(\"medicalRecords.condition.intensity.moderate\") },\r\n { id: 2, code: \"severe\", title: t(\"medicalRecords.condition.intensity.severe\") }\r\n ];\r\n\r\n useEffect(() => {\r\n values.condition.intensity = values.condition.intensityCode ? options.find(x => x.code == values.condition.intensityCode) : values.condition.intensity;\r\n values.condition.serious = null;\r\n values.condition.reported = null;\r\n values.condition.relationwithdrug = null;\r\n values.condition.action = null;\r\n }, []);\r\n\r\n if (!values.condition) {\r\n values.condition = {\r\n intensity: '',\r\n fromYear: ''\r\n };\r\n }\r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n {t(\"medicalRecords.adverseEvents.intensity\")}\r\n x.code == values.condition.intensityCode) : values.condition.intensity}\r\n onChange={setFieldValue}\r\n onBlur={setFieldTouched}\r\n name={`condition.intensity`}\r\n placeholder={t(\"commons.select\")}\r\n options={options}\r\n optionValue={(option) => option.code}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {t(\"medicalRecords.condition.chronic\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {t(\"medicalRecords.adverseEvents.notes\")}\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n \r\n \r\n\r\n
    \r\n
    \r\n );\r\n}","import { useEffect, useState } from 'react';\r\nimport { deleteCondition, getConditions, postCondition, putAdverseEvent } from '../../../api/medicalRecord';\r\nimport { HandleApiError } from '../../../components/Notifications/APIErrorHandler';\r\nimport { conditions } from '../../../variables/Enums';\r\n\r\nexport const useDiagnoses = (entryId) => {\r\n\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [data, setData] = useState([]);\r\n const [totalSize, setTotalSize] = useState(0);\r\n const [query, setQuery] = useState({\r\n pagination: {\r\n page: 1,\r\n sizePerPage: 10,\r\n totalSize: 0\r\n }\r\n });\r\n const [reload, setReload] = useState(false);\r\n\r\n useEffect(() => {\r\n let isSubscribed = true\r\n const fetchData = async () => {\r\n try {\r\n setReload(false);\r\n setIsLoading(true);\r\n const paginatedItems = await getConditions(entryId, conditions.diagnosis, query);\r\n if (isSubscribed) {\r\n setTotalSize(paginatedItems.data.count);\r\n setData(paginatedItems.data.data);\r\n setIsLoading(false);\r\n }\r\n\r\n } catch (error) {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n setTotalSize(0);\r\n setData([]);\r\n }\r\n }\r\n fetchData();\r\n\r\n return () => isSubscribed = false;\r\n }, [query, reload]);\r\n\r\n const handleTableChange = (type, { page, sizePerPage, sortField, sortOrder }) => {\r\n var newQuery = JSON.parse(JSON.stringify(query));\r\n\r\n switch (type) {\r\n case 'pagination': {\r\n newQuery.pagination.page = page;\r\n newQuery.pagination.sizePerPage = sizePerPage;\r\n setQuery(newQuery);\r\n break;\r\n }\r\n case 'sort': {\r\n newQuery.sort.sortField = sortField;\r\n newQuery.sort.sortOrder = sortOrder;\r\n setQuery(newQuery);\r\n break;\r\n }\r\n default: break;\r\n }\r\n }\r\n\r\n const create = (entryId, data) => {\r\n return postCondition(entryId, data, conditions.diagnosis);\r\n }\r\n\r\n const remove = (entryId, id) => {\r\n return deleteCondition(entryId, id);\r\n }\r\n\r\n const update = (entryId, id, data) => {\r\n return putAdverseEvent(entryId, id, data);\r\n }\r\n\r\n return [data, query, totalSize, isLoading, handleTableChange, setReload, create, remove, update];\r\n}\r\n\r\n/*\r\nexport const useDiagnosis = (entryId, id) => {\r\n\r\n const [isLoading, setIsLoading] = useState(true);\r\n const [data, setData] = useState(null);\r\n\r\n useEffect(() => {\r\n let isSubscribed = true\r\n const fetchData = async () => {\r\n try {\r\n setIsLoading(true);\r\n const res = await getAdverseEvent(entryId, id);\r\n\r\n if (isSubscribed) {\r\n setData(res.data);\r\n setIsLoading(false);\r\n }\r\n\r\n } catch (error) {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n setData(null);\r\n }\r\n }\r\n\r\n if (id)\r\n fetchData();\r\n\r\n return () => isSubscribed = false;\r\n }, [entryId, id]);\r\n\r\n const create = (entryId, data) => {\r\n return postCondition(entryId, data, \"encounter-diagnosis\");\r\n }\r\n\r\n const update = (entryId, id, data) => {\r\n //return putAdverseEvent(entryId, id, data);\r\n }\r\n\r\n return [data, isLoading, create, update];\r\n}*/","import PropTypes from 'prop-types';\r\nimport React from 'react';\r\nimport { conditions } from '../../variables/Enums';\r\nimport { Audit } from '../Icons/Icons';\r\nimport { Tooltip } from '../Utils/Tooltips';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst Conditions = ({ data, onAuditTrail }) => {\r\n const { t } = useTranslation();\r\n if (!data)\r\n return null;\r\n\r\n return (\r\n
    \r\n {\r\n data.map((condition, idx) =>\r\n
    \r\n {condition.adverseEffect}\r\n {\r\n condition.hasAudit &&\r\n \r\n \r\n \r\n }\r\n {\r\n condition.intensity &&\r\n
    \r\n {t(\"medicalRecords.adverseEvents.intensity\")}: {condition.intensity}\r\n
    \r\n }\r\n {\r\n condition.category === conditions.diagnosis && condition.from &&\r\n
    \r\n {t(\"medicalRecords.adverseEvents.from\")}: {condition.from}\r\n
    \r\n }\r\n {\r\n condition.category === conditions.diagnosis && condition.to &&\r\n
    \r\n {t(\"medicalRecords.adverseEvents.to\")}: {condition.to}\r\n
    \r\n }\r\n
    )\r\n }\r\n
    \r\n );\r\n}\r\n\r\nConditions.propTypes = {\r\n data: PropTypes.object.isRequired,\r\n onAuditTrail: PropTypes.func,\r\n};\r\n\r\nexport default Conditions;","import React from 'react';\r\n\r\nexport const HighLight = ({ children }) => { return {children} }\r\nexport const Italic = ({ children }) => { return {children} }","import PropTypes from 'prop-types';\r\nimport React from 'react';\r\nimport { Col, ControlLabel, Panel, PanelGroup, Row, Table } from 'react-bootstrap';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { NavLink } from 'react-router-dom';\r\nimport { attachmentFormatter, boolFormatter, dateTimeFormatter, dateTimeUTCFormatter, extractContentFromHTML, objectFormatter, timeFormatter, yesNoFormatter, yesNoNotApplyFormatter } from '../../components/Utils/Formatter';\r\nimport { HighLight } from '../CustomControls/CustomTextStyle';\r\n\r\n\r\nexport const Audit = ({ medicalRecordNumber, audit, fields }) => {\r\n const { t } = useTranslation();\r\n\r\n const _getActionName = (actionCode) => {\r\n switch (actionCode) {\r\n case 0: return t('auditTrail.actions.detached');\r\n case 1: return t('auditTrail.actions.unchanged');\r\n case 2: return t('auditTrail.actions.deleted');\r\n case 3: return t('auditTrail.actions.modified');\r\n case 4: return t('auditTrail.actions.added');\r\n default:\r\n return t('auditTrail.actions.detached');\r\n }\r\n }\r\n\r\n const _getLocaleSuffix = (entity) => {\r\n switch (entity) {\r\n case \"Protocol\": return \"protocols.brief.\";\r\n case \"ProtocolPractitioner\": return \"protocols.practitioner.\";\r\n case \"VisitTrackingForm\":\r\n case \"VisitTrackingExtra\": return \"protocols.visitTrackingFields.\";\r\n case \"Entry\": return \"medicalRecords.\";\r\n case \"AdverseEvents\":\r\n case \"Drugs\":\r\n case \"Procedures\":\r\n case \"Vitals\":\r\n case \"Anthropometrics\":\r\n case \"FamilyHistory\":\r\n case \"PersonalHistory\":\r\n case \"PersonalHabits\":\r\n case \"LaboratoryResult\":\r\n case \"Prescriptions\":\r\n case \"PrescriptionsItems\":\r\n case \"Orders\":\r\n case \"OrdersItems\":\r\n return \"medicalRecords\";\r\n default:\r\n return \"\";\r\n }\r\n }\r\n\r\n const _uncapitalize = (text) => {\r\n return text.toString().charAt(0).toLowerCase() + text.toString().slice(1);\r\n }\r\n\r\n const _uncapitalizeAll = (text) => {\r\n return text.replace(/^([A-Z])|(\\.[A-Z])/g, function (_, g1, g2) {\r\n return (typeof g1 === 'undefined') ? g2.toLowerCase() : g1.toLowerCase();\r\n });\r\n }\r\n\r\n const _getValueFormatted = (item, value, index) => {\r\n //console.log(`item: ${JSON.stringify(item)} value: ${value}`)\r\n switch (item._t?.toLowerCase()) {\r\n case \"timefield\":\r\n return timeFormatter(value);\r\n case \"datetimefield\":\r\n case \"modified\":\r\n case \"datetime\":\r\n return dateTimeFormatter(value);\r\n case \"yesnofield\":\r\n return yesNoNotApplyFormatter(value, t);\r\n case \"yesno\":\r\n return yesNoFormatter(value, t);\r\n case \"payablefield\":\r\n case \"booleanfield\":\r\n case \"checkboxfield\":\r\n return boolFormatter(value, t);\r\n case \"selectasyncfield\":\r\n return objectFormatter(value);\r\n case \"array\": {\r\n return value?.map((element, idx) => {\r\n let rows = [];\r\n for (var propertyName in element) {\r\n if (!element[propertyName] || propertyName.includes(\"ToYear\") || propertyName.includes(\"ToMonth\") || propertyName.includes(\"ToDay\") ||\r\n propertyName.includes(\"FromYear\") || propertyName.includes(\"FromMonth\") || propertyName.includes(\"FromDay\") ||\r\n propertyName.includes(\"EntryId\") || propertyName.includes(\"Created\") || propertyName.includes(\"CreatedBy\"))\r\n continue;\r\n\r\n var elementValue = \"\";\r\n if (element[propertyName] instanceof Object) {\r\n elementValue = objectFormatter(element[propertyName]);\r\n }\r\n else {\r\n elementValue = element[propertyName];\r\n }\r\n rows.push(\r\n
    \r\n {\r\n t(`${item.localeSuffix}.${_uncapitalize(propertyName)}`)\r\n }\r\n :\r\n {\r\n elementValue\r\n }\r\n
    \r\n );\r\n }\r\n\r\n return rows;\r\n })\r\n }\r\n case \"arrayfield\": {\r\n if (!Array.isArray(value))\r\n return value;\r\n\r\n return value?.map((component, idx) => {\r\n let rows = [];\r\n component.Fields.forEach((field, childIdx) => {\r\n var elementValue = _getValueFormatted(field, field[\"Value\"], \"recursive\");\r\n\r\n rows.push(\r\n
    \r\n {field[\"Label\"]}\r\n :\r\n {elementValue}\r\n
    \r\n );\r\n });\r\n\r\n return rows;\r\n })\r\n }\r\n case \"arrayofstrings\": {\r\n return value?.map((element, idx) => {\r\n return
    \r\n {element}\r\n
    ;\r\n })\r\n }\r\n case \"adverseeventsopenitemsfield\":\r\n case \"drugsopenitemsfield\":\r\n case \"proceduresopenitemsfield\": {\r\n if (!Array.isArray(value))\r\n return value?.toString();\r\n\r\n const rows = value?.map((item, idx) => {\r\n return
    \r\n {item.Name}\r\n :\r\n {`${t(`medicalRecords.to`)} ${item.Closed.ToDay ?? \"UNK\"}/${item.Closed.ToMonth ?? \"UNK\"}/${item.Closed.ToYear}`}\r\n
    \r\n })\r\n return rows;\r\n }\r\n case \"fileuploadfield\": {\r\n if (value && item?.propertyName?.includes(\".ValidatedBy\"))\r\n return t(\"protocols.visit.formTemplate.label_fileUploadField\");\r\n\r\n if (value instanceof Object)\r\n return attachmentFormatter(value);\r\n else\r\n return value?.toString();\r\n }\r\n default: {\r\n if (value) {\r\n if (value instanceof Object)\r\n return objectFormatter(value);\r\n else\r\n return extractContentFromHTML(value.toString())\r\n }\r\n\r\n return \"\";\r\n }\r\n }\r\n }\r\n\r\n const _getFieldTypeFromName = (propertyName) => {\r\n switch (propertyName) {\r\n case \"Created\":\r\n case \"Modified\":\r\n case \"StartOfTask\":\r\n case \"EndOfTask\":\r\n return \"DateTimeField\"\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n const _getFieldName = (entityName, propertyName) => {\r\n switch (entityName) {\r\n case \"Protocol\": return t(`protocols.brief.${_uncapitalizeAll(propertyName)}`);\r\n case \"ProtocolPractitioner\": return t(`protocols.practitioner.${_uncapitalizeAll(propertyName)}`);\r\n case \"VisitTracking\": return t(`protocols.visitTrackingFields.${_uncapitalizeAll(propertyName)}`);\r\n case \"VisitTrackingExtra\": return t(`protocols.visitTrackingFields.${_uncapitalizeAll(propertyName)}`);\r\n default:\r\n return t(`${_getLocaleSuffix(entityName)}.${_uncapitalizeAll(entityName)}.${_uncapitalizeAll(propertyName)}`);;\r\n }\r\n }\r\n\r\n const Reason = ({ reason }) => {\r\n if (!reason || reason === \"\")\r\n return '';\r\n\r\n return (\r\n \r\n \r\n \r\n {t('auditTrail.reason')}\r\n \r\n \r\n \r\n {t(`auditTrail.reasons.${reason}`)}\r\n \r\n \r\n );\r\n }\r\n\r\n const Comments = ({ comments }) => {\r\n if (!comments || comments === \"\")\r\n return '';\r\n\r\n return (\r\n \r\n \r\n \r\n {t('auditTrail.comments')}\r\n \r\n \r\n \r\n {comments}\r\n \r\n );\r\n }\r\n\r\n const Visit = ({ visitId }) => {\r\n if (!visitId || visitId === 0 || !medicalRecordNumber)\r\n return null;\r\n\r\n const url = medicalRecordNumber && `/admin/medicalRecords/${medicalRecordNumber}/entry/${visitId}`;\r\n return (\r\n \r\n \r\n \r\n \r\n {t(\"medicalRecords.viewVisit\")}\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n const _getFieldNameType = (row, field, propertyName) => {\r\n const indexes = [...propertyName.matchAll(/\\d+/g)];\r\n if (propertyName.includes(\".Components[\")) { // Updated item in arrayField. \r\n const componentField = field.components[indexes[1]].fields[indexes[2]];\r\n row.fieldName = field.componentsType === \"LaboratoryResults\" ? field.components[indexes[1]].fields[0]?.value?.description : componentField.label;\r\n row._t = field.componentsType;\r\n }\r\n else\r\n if (propertyName.includes(\"].Components\")) { // New item in ArrayField \r\n row.fieldName = t(`medicalRecords.${_uncapitalize(field.componentsType)}.title`);\r\n row._t = field._t;\r\n }\r\n else {\r\n row.fieldName = field.label;\r\n row._t = field._t;\r\n }\r\n }\r\n\r\n const _getFieldVisitTrackingFormMetadata = (row, propertyName) => {\r\n const indexes = [...propertyName.matchAll(/\\d+/g)];\r\n if (!indexes || indexes.length === 0) return;\r\n\r\n const field = fields[indexes[0]];\r\n if (!field) return;\r\n\r\n switch (field._t) {\r\n case \"AdverseEventsOpenItemsField\":\r\n case \"DrugsOpenItemsField\":\r\n case \"ProceduresOpenItemsField\":\r\n if (!field.value[indexes[1]]) {\r\n row.fieldName = \"Item Cerrado\";\r\n } else\r\n row.fieldName = `${field.value[indexes[1]].name}: ${_getFieldName(\"VisitTracking\", propertyName.slice(propertyName.lastIndexOf(\".\") + 1))}`;\r\n row._t = field._t;\r\n return;\r\n default:\r\n _getFieldNameType(row, field, propertyName);\r\n return;\r\n }\r\n }\r\n\r\n const auditItem = audit.map((item, idx) => {\r\n const oldValues = item.oldValues;\r\n const currentValues = item.newValues;\r\n \r\n var rows = [];\r\n\r\n for (var propertyName in currentValues) {\r\n var row = {\r\n propertyName,\r\n before: oldValues[propertyName],\r\n current: currentValues[propertyName]\r\n };\r\n\r\n try {\r\n // Ignoro campos internos. \r\n if (\r\n propertyName.includes(\".Id\") || propertyName.includes(\"Id\")\r\n || propertyName.includes(\".ConceptId\")\r\n || propertyName.includes(\".FileExtension\")\r\n || propertyName.includes(\".Path\") //|| propertyName.includes(\".ValidatedBy\") || propertyName.includes(\".UploadedBy\")\r\n || propertyName.includes(\".Code\")\r\n || propertyName.includes(\"ToYear\") || propertyName.includes(\"ToMonth\") || propertyName.includes(\"ToDay\")\r\n || propertyName.includes(\"FromYear\") || propertyName.includes(\"FromMonth\") || propertyName.includes(\"FromDay\")\r\n || propertyName.includes(\"DiagnosisYear\") || propertyName.includes(\"DiagnosisMonth\") || propertyName.includes(\"DiagnosisDay\")\r\n || propertyName.includes(\"CreatedBy\")\r\n || propertyName.includes(\"Category\")\r\n )\r\n continue;\r\n\r\n switch (item.entityName.toLowerCase()) {\r\n case \"visittrackingform\":\r\n _getFieldVisitTrackingFormMetadata(row, propertyName);\r\n break;\r\n default: {\r\n if (Array.isArray(currentValues[propertyName])) {\r\n row.fieldName = t(`${_getLocaleSuffix(item.entityName)}${_uncapitalize(propertyName)}.title`);\r\n row.localeSuffix = `${_getLocaleSuffix(item.entityName)}${_uncapitalize(propertyName)}`;\r\n row._t = propertyName === \"StudyTasks\" || propertyName === \"Keywords\" ? \"ArrayOfStrings\" : \"Array\";\r\n }\r\n else {\r\n propertyName = propertyName.replace(/\\[\\d*\\]/g, '');\r\n row.fieldName = _getFieldName(item.entityName, propertyName);\r\n row._t = _getFieldTypeFromName(propertyName);\r\n }\r\n }\r\n break;\r\n }\r\n\r\n rows.push(row);\r\n }\r\n catch (error) {\r\n console.log(error);\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {t(\"auditTrail.date\")}: {dateTimeUTCFormatter(item.dateTime)} {t(\"auditTrail.action\")}: {_getActionName(item.auditAction)} {t(\"auditTrail.user\")}: {item.userId}\r\n \r\n \r\n {\r\n rows.length > 0 &&\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n rows.map((row, idx) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n
    {t(\"auditTrail.field\")}{t(\"auditTrail.before\")}{t(\"auditTrail.after\")}
    {row.fieldName}{_getValueFormatted(row, row.before, `before-${idx}`)}{_getValueFormatted(row, row.current, `current-${idx}`)}
    \r\n
    \r\n }\r\n
    \r\n
    \r\n );\r\n });\r\n\r\n return (\r\n \r\n {auditItem}\r\n \r\n );\r\n}\r\n\r\nAudit.propTypes = {\r\n audit: PropTypes.array.isRequired,\r\n fields: PropTypes.array,\r\n};","import React, { useState, useEffect } from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport { Audit } from '../../components/AuditTrail/Audit';\r\nimport { HandleApiError } from '../../components/Notifications/APIErrorHandler';\r\nimport { getAuditTrail } from '../../api/admin';\r\nimport { Spinner } from '../../components/Utils/Loaders';\r\n\r\nexport const AuditTrail = ({ medicalRecordNumber, entity, entityId, fields }) => {\r\n\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [audit, setAudit] = useState([]);\r\n useEffect(() => {\r\n const fetchData = () => {\r\n setIsLoading(true);\r\n getAuditTrail(entity, entityId)\r\n .then(response => {\r\n var auditTrails = response.data;\r\n //console.log(auditTrails)\r\n setAudit(auditTrails);\r\n setIsLoading(false);\r\n })\r\n .catch(error => {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n })\r\n }\r\n\r\n fetchData();\r\n }, [entity, entityId]);\r\n\r\n if (isLoading)\r\n return \r\n \r\n if (fields && fields.length > 0) {\r\n return (\r\n \r\n );\r\n }\r\n else {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nAuditTrail.propTypes = {\r\n entity: PropTypes.string.isRequired,\r\n entityId: PropTypes.oneOfType([\r\n PropTypes.string,\r\n PropTypes.number\r\n ]).isRequired,\r\n fields: PropTypes.array,\r\n medicalRecordNumber: PropTypes.string,\r\n};","import { useEffect, useState } from 'react';\r\nimport { getAdverseEvent, getAdverseEventHistoryAPI, getAdverseEvents, getEvents, postAdverseEvents, putAdverseEvent, } from '../../../api/medicalRecord';\r\nimport { HandleApiError } from '../../../components/Notifications/APIErrorHandler';\r\n\r\nexport const useEvents = (medicalRecordNumber, entryId, actual) => {\r\n\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [data, setData] = useState([]);\r\n const [totalSize, setTotalSize] = useState(0);\r\n const [query, setQuery] = useState({\r\n medicalRecordNumber: medicalRecordNumber ? medicalRecordNumber : 0,\r\n entryId: entryId ? entryId : 0,\r\n pagination: {\r\n page: 1,\r\n sizePerPage: 10,\r\n totalSize: 0\r\n },\r\n actual: actual ?? false\r\n });\r\n const [reload, setReload] = useState(false);\r\n\r\n useEffect(() => {\r\n let isSubscribed = true\r\n const fetchData = async () => {\r\n try {\r\n setReload(false);\r\n setIsLoading(true);\r\n const paginatedItems = await getEvents(query);\r\n\r\n if (isSubscribed) {\r\n setTotalSize(paginatedItems.data.count);\r\n setData(paginatedItems.data.data);\r\n setIsLoading(false);\r\n }\r\n\r\n } catch (error) {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n setTotalSize(0);\r\n setData([]);\r\n }\r\n }\r\n\r\n if (medicalRecordNumber || entryId)\r\n fetchData();\r\n\r\n return () => isSubscribed = false;\r\n }, [query, reload]);\r\n\r\n const handleTableChange = (type, { page, sizePerPage, sortField, sortOrder }) => {\r\n var newQuery = JSON.parse(JSON.stringify(query));\r\n\r\n switch (type) {\r\n case 'pagination': {\r\n newQuery.pagination.page = page;\r\n newQuery.pagination.sizePerPage = sizePerPage;\r\n setQuery(newQuery);\r\n break;\r\n }\r\n case 'sort': {\r\n newQuery.sort.sortField = sortField;\r\n newQuery.sort.sortOrder = sortOrder;\r\n setQuery(newQuery);\r\n break;\r\n }\r\n default: break;\r\n }\r\n }\r\n\r\n return [data, query, totalSize, isLoading, handleTableChange, setReload];\r\n}\r\n\r\nexport const useAdverseEvents = (medicalRecordNumber, entryId, includePersonalHistory, actual) => {\r\n\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [data, setData] = useState([]);\r\n const [totalSize, setTotalSize] = useState(0);\r\n const [query, setQuery] = useState({\r\n medicalRecordNumber: medicalRecordNumber ? medicalRecordNumber : 0,\r\n entryId: entryId ? entryId : 0,\r\n pagination: {\r\n page: 1,\r\n sizePerPage: 10,\r\n totalSize: 0\r\n },\r\n includePersonalHistory: includePersonalHistory ?? false,\r\n actual: actual ?? false\r\n });\r\n const [reload, setReload] = useState(false);\r\n\r\n useEffect(() => {\r\n let isSubscribed = true\r\n const fetchData = async () => {\r\n try {\r\n setReload(false);\r\n setIsLoading(true);\r\n const paginatedItems = await getAdverseEvents(query);\r\n\r\n if (isSubscribed) {\r\n setTotalSize(paginatedItems.data.count);\r\n setData(paginatedItems.data.data);\r\n setIsLoading(false);\r\n }\r\n\r\n } catch (error) {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n setTotalSize(0);\r\n setData([]);\r\n }\r\n }\r\n\r\n if (medicalRecordNumber || entryId)\r\n fetchData();\r\n\r\n return () => isSubscribed = false;\r\n }, [query, reload]);\r\n\r\n const handleTableChange = (type, { page, sizePerPage, sortField, sortOrder }) => {\r\n var newQuery = JSON.parse(JSON.stringify(query));\r\n\r\n switch (type) {\r\n case 'pagination': {\r\n newQuery.pagination.page = page;\r\n newQuery.pagination.sizePerPage = sizePerPage;\r\n setQuery(newQuery);\r\n break;\r\n }\r\n case 'sort': {\r\n newQuery.sort.sortField = sortField;\r\n newQuery.sort.sortOrder = sortOrder;\r\n setQuery(newQuery);\r\n break;\r\n }\r\n default: break;\r\n }\r\n }\r\n\r\n return [data, query, totalSize, isLoading, handleTableChange, setReload];\r\n}\r\n\r\nexport const useAdverseEvent = (entryId, id) => {\r\n\r\n const [isLoading, setIsLoading] = useState(true);\r\n const [data, setData] = useState(null);\r\n\r\n useEffect(() => {\r\n let isSubscribed = true\r\n const fetchData = async () => {\r\n try {\r\n setIsLoading(true);\r\n const res = await getAdverseEvent(entryId, id);\r\n\r\n if (isSubscribed) {\r\n setData(res.data);\r\n setIsLoading(false);\r\n }\r\n\r\n } catch (error) {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n setData(null);\r\n }\r\n }\r\n\r\n if (id)\r\n fetchData();\r\n\r\n return () => isSubscribed = false;\r\n }, [entryId, id]);\r\n\r\n const create = (entryId, data) => {\r\n return postAdverseEvents(entryId, data);\r\n }\r\n\r\n const update = (entryId, id, data) => {\r\n return putAdverseEvent(entryId, id, data);\r\n }\r\n\r\n return [data, isLoading, create, update];\r\n}\r\n\r\nexport const useAdverseEventHistory = () => {\r\n\r\n const fetchData = (medicalRecordNumber, conceptId) => {\r\n try {\r\n return getAdverseEventHistoryAPI(medicalRecordNumber, conceptId);\r\n } catch (error) {\r\n HandleApiError(error);\r\n }\r\n }\r\n return [fetchData];\r\n}","import { withFormik } from 'formik';\r\nimport PropTypes from 'prop-types';\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Token } from 'react-bootstrap-typeahead';\r\nimport { useTranslation, withTranslation } from 'react-i18next';\r\nimport { AuditModal, CreateAuditModal } from \"../../../components/AuditTrail/AuditModal\";\r\nimport { ExpandableContent } from \"../../../components/CustomControls/ExpandableContent\";\r\nimport { SnomedPicker } from '../../../components/CustomControls/SnomedPicker';\r\nimport { DiagnosisForm } from '../../../components/MedicalRecords/Forms/DiagnosisForm';\r\nimport { ModalData } from '../../../components/Modals/ModalData';\r\nimport { HandleApiError } from '../../../components/Notifications/APIErrorHandler';\r\nimport { getRemovedElement } from '../../../components/Utils/Commons';\r\nimport { nullableDateFormatter } from '../../../components/Utils/Formatter';\r\nimport { getMedicalRecordsSchema } from \"../../../components/Validations/FormValidationSchema\";\r\nimport { conceptType, snomedExpressions } from '../../../variables/Enums';\r\nimport { useDiagnoses } from '../Hooks/useDiagnosis';\r\nimport Conditions from '../../../components/MedicalRecords/Conditions';\r\nimport { AuditTrail } from '../../Admin/AuditTrail';\r\nimport { useAdverseEvent } from '../Hooks/useAdverseEvents';\r\n\r\nexport const DiagnosesContainer = (props) => {\r\n const { medicalRecordNumber, entryId } = props;\r\n const [data] = useDiagnoses(entryId);\r\n const [diagnoses, setDiagnoses] = useState([]);\r\n const { t } = useTranslation();\r\n\r\n useEffect(() => {\r\n setDiagnoses(data.map(x => {\r\n return {\r\n ...x,\r\n conceptId: x.adverseEffectId,\r\n description: x.adverseEffect\r\n }\r\n }))\r\n }, [data]);\r\n\r\n const [modal, setModal] = useState(null);\r\n const handleAuditTrail = (entityId) => {\r\n setModal(\r\n { setModal(null); }}\r\n title={t(\"auditTrail.audit\")}\r\n >\r\n \r\n \r\n )\r\n }\r\n\r\n if (diagnoses?.length === 0)\r\n return null\r\n\r\n return (\r\n <>\r\n {modal}\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport const DiagnosisCreateContainer = (props) => {\r\n const { entryStatus, entryId, onSubmit, disabled } = props;\r\n const [data, , , , , setReload, create, remove, update] = useDiagnoses(entryId);\r\n const [content, setContent] = useState(null);\r\n const [diagnoses, setDiagnoses] = useState([]);\r\n let _addedDiagnosis = null;\r\n let _addedDiagnoses = [];\r\n const { t } = useTranslation();\r\n\r\n useEffect(() => {\r\n if (props.contentToReload?.contentName === \"conditions\")\r\n setReload(true);\r\n\r\n }, [props.contentToReload]);\r\n\r\n useEffect(() => {\r\n setDiagnoses(data.map(x => {\r\n return {\r\n ...x,\r\n conceptId: x.adverseEffectId,\r\n description: x.adverseEffect\r\n }\r\n }))\r\n }, [data]);\r\n\r\n const handleSubmit = async (data) => {\r\n if (entryStatus === \"Published\" || entryStatus === \"AutoPublished\") {\r\n setContent( setContent(null)}\r\n onSave={(reason, comments) => onConfirmSubmit(data, reason, comments)}\r\n />)\r\n }\r\n else {\r\n onConfirmSubmit(data);\r\n }\r\n }\r\n\r\n const onConfirmSubmit = async (data, reason, comments) => {\r\n if (!_addedDiagnosis)\r\n return;\r\n\r\n if (reason) {\r\n data.auditReason = reason;\r\n data.auditComments = comments;\r\n }\r\n\r\n data.condition.name = {};\r\n Object.assign(data.condition.name, _addedDiagnosis); // Mergeo props de Picker y modal. \r\n\r\n try {\r\n const res = await create(entryId, data);\r\n _addedDiagnosis.id = res.data?.id;\r\n // Actualizo State. \r\n Object.assign(_addedDiagnosis, data.condition); // Mergeo props de Picker y modal. \r\n const editedDiagnoses = _addedDiagnoses.map((condition) => condition.conceptId === _addedDiagnosis.conceptId ? _addedDiagnosis : condition);\r\n\r\n setDiagnoses(editedDiagnoses);\r\n _addedDiagnosis = null;\r\n }\r\n catch (error) {\r\n HandleApiError(error);\r\n }\r\n\r\n setContent(null);\r\n onSubmit(\"diagnoses\", _addedDiagnoses?.length > 0); // Indico al padre sobre q contenido hacer Reload. \r\n }\r\n\r\n const handleCancel = () => {\r\n const editedDiagnoses = diagnoses.filter(x => x.conceptId !== _addedDiagnosis.conceptId);\r\n setContent(null);\r\n setDiagnoses(editedDiagnoses);\r\n }\r\n\r\n const handleChangeDiagnosis = async (_name, value) => {\r\n _addedDiagnoses = value;\r\n\r\n // Determino si se agregó o eliminó un elemento (o todos)\r\n if (value == null || diagnoses?.length > value.length) { // Elemento/s eliminado/s\r\n _addedDiagnosis = null;\r\n const elementoEliminado = getRemovedElement(diagnoses, value);\r\n if (elementoEliminado && elementoEliminado.id) {\r\n try {\r\n await remove(entryId, elementoEliminado.id);\r\n }\r\n catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n\r\n onSubmit(\"diagnoses\", _addedDiagnoses?.length > 0); // Indico al padre sobre q contenido hacer Reload. \r\n setDiagnoses(value);\r\n }\r\n else { // Elemento agregado\r\n _addedDiagnosis = value.at(-1); // Obtengo último diagnostico agregado, para poder modificarlo. \r\n if (_addedDiagnosis) {\r\n setContent(\r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n }\r\n\r\n const handleEdit = async (data) => {\r\n if (entryStatus === \"Published\" || entryStatus === \"AutoPublished\") {\r\n setContent( setContent(null)}\r\n onSave={(reason, comments) => onConfirmEdit(data, reason, comments)}\r\n />)\r\n }\r\n else {\r\n onConfirmEdit(data);\r\n }\r\n }\r\n\r\n const onConfirmEdit = async (data, reason, comments) => {\r\n try {\r\n if (data && data.condition) {\r\n let adverseEvent = data.condition;\r\n if (reason) {\r\n adverseEvent.auditReason = reason;\r\n adverseEvent.auditComments = comments;\r\n }\r\n await update(entryId, adverseEvent.id, adverseEvent);\r\n setContent(null);\r\n setReload(true);\r\n }\r\n }\r\n catch (error) {\r\n console.log(error);\r\n }\r\n }\r\n\r\n const handleClickDiagnosis = (item) => {\r\n setContent( setContent(null)}\r\n />)\r\n }\r\n\r\n return (\r\n <>\r\n {content}\r\n \r\n (\r\n \r\n
    handleClickDiagnosis(option)}>\r\n
    \r\n {option.isChronic && t(\"medicalRecords.condition.chronic\")} {option.description}\r\n
    \r\n {\r\n option.intensity &&\r\n
    \r\n {t(\"medicalRecords.condition.intensity.title\")}: {option?.intensity?.title || option.intensity}\r\n
    \r\n }\r\n {\r\n option.fromYear &&\r\n
    \r\n {t(\"medicalRecords.condition.from\")}: {nullableDateFormatter(option.fromDay, option.fromMonth, option.fromYear)}\r\n
    \r\n }\r\n {\r\n option.toYear &&\r\n
    \r\n {t(\"medicalRecords.condition.to\")}: {nullableDateFormatter(option.toDay, option.toMonth, option.toYear)}\r\n
    \r\n }\r\n
    \r\n
    \r\n )}\r\n />\r\n
    \r\n \r\n );\r\n}\r\n\r\nconst DiagnosisModalEditContainer = (props) => {\r\n const { condition, onSubmit, onCancel } = props;\r\n const [data, isLoading] = useAdverseEvent(condition.entryId, condition.id);\r\n\r\n if (!data || isLoading)\r\n return null;\r\n\r\n return (\r\n \r\n \r\n \r\n\r\n );\r\n}\r\n\r\nexport const DiagnosisContainerFormik = withTranslation()(withFormik({\r\n mapPropsToValues: (props) => (props.condition && { condition: props.condition }),\r\n\r\n validationSchema: getMedicalRecordsSchema().adverseEvent,\r\n\r\n handleSubmit: (values, formikBag) => {\r\n formikBag.props.onSubmit(values);\r\n },\r\n\r\n displayName: 'DiagnosisForm',\r\n\r\n})(DiagnosisForm));\r\n\r\nDiagnosisContainerFormik.propTypes = {\r\n onSubmit: PropTypes.func.isRequired,\r\n onCancel: PropTypes.func.isRequired,\r\n adverseEvent: PropTypes.object.isRequired,\r\n};","import React from 'react';\r\nimport BootstrapTable from 'react-bootstrap-table-next';\r\nimport 'react-bootstrap-table-next/dist/react-bootstrap-table2.min.css';\r\nimport overlayFactory from 'react-bootstrap-table2-overlay';\r\nimport paginationFactory from 'react-bootstrap-table2-paginator';\r\nimport 'react-bootstrap-table2-paginator/dist/react-bootstrap-table2-paginator.min.css';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { NavLink } from 'react-router-dom';\r\nimport Card from '../Cards/Card';\r\nimport { Add, Audit, Chart, Edit, RemoveCircle, View } from '../Icons/Icons';\r\nimport { Tooltip } from '../Utils/Tooltips';\r\n\r\nexport const EntryItemsTable = (props) => {\r\n const { data, columns, query, totalSize, isLoading, onTableChange, rowClasses, withCard } = props;\r\n const { t } = useTranslation();\r\n\r\n if (props.query || props.onAuditTrail || props.onEdit)\r\n columns.push({\r\n dataField: 'actions',\r\n text: t(\"commons.actions\"),\r\n isDummyField: true,\r\n headerClasses: 'header-actions',\r\n classes: 'row-actions',\r\n formatter: function (_cell, row, rowIndex) {\r\n return (\r\n
    \r\n {\r\n props.customActions && props.customActions(row, props)\r\n }\r\n {\r\n props.onHistory &&\r\n \r\n \r\n \r\n }\r\n {\r\n props.query && row.entryId != props.entryId && props.query.medicalRecordNumber !== 0 && props.query.medicalRecordNumber !== null &&\r\n \r\n \r\n \r\n \r\n \r\n }\r\n {\r\n row.hasAudit && props.onAuditTrail &&\r\n \r\n \r\n \r\n }\r\n {\r\n props.onEdit && row.entryId == props.entryId &&\r\n \r\n \r\n \r\n }\r\n
    \r\n )\r\n }\r\n });\r\n\r\n const expandRow = {\r\n parentClassName: 'parent-table-expanded',\r\n className: 'table-expanded',\r\n renderer: props.expandContent,\r\n showExpandColumn: true,\r\n onlyOneExpanding: true,\r\n expanded: props.expandAll && data.map(x => x.id),\r\n expandHeaderColumnRenderer: ({ isAnyExpands }) => {\r\n if (isAnyExpands)\r\n return \r\n else\r\n return ;\r\n },\r\n expandColumnRenderer: () => (\"\")\r\n };\r\n\r\n const handleTableChange = (type, { page, sizePerPage, sortField, sortOrder }) => {\r\n onTableChange(type, { page, sizePerPage, sortField, sortOrder });\r\n }\r\n\r\n const content = (\r\n <>{t(\"commons.noData\")}}\r\n loading={isLoading}\r\n overlay={overlayFactory({ spinner: true })}\r\n />\r\n );\r\n\r\n if (withCard)\r\n return (\r\n \r\n );\r\n else\r\n return content;\r\n}\r\n\r\n\r\nEntryItemsTable.defaultProps = {\r\n withCard: true\r\n}\r\n","import React, { useState } from 'react';\r\nimport { Col, Row } from 'react-bootstrap';\r\nimport BootstrapTable from 'react-bootstrap-table-next';\r\nimport 'react-bootstrap-table-next/dist/react-bootstrap-table2.min.css';\r\nimport overlayFactory from 'react-bootstrap-table2-overlay';\r\nimport paginationFactory from 'react-bootstrap-table2-paginator';\r\nimport 'react-bootstrap-table2-paginator/dist/react-bootstrap-table2-paginator.min.css';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { useEvents } from '../../containers/MedicalRecords/Hooks/useAdverseEvents';\r\nimport { NullableDatePickerCombo } from '../CustomControls/DatePicker';\r\nimport { ExpandableContent } from '../CustomControls/ExpandableContent';\r\nimport { dateFormatter, yesNoFormatter } from '../Utils/Formatter';\r\nimport { EntryItemsTable } from './EntryItemsTable';\r\nimport { conditions } from '../../variables/Enums';\r\nimport { Tooltip } from '../Utils/Tooltips';\r\nimport { Add } from '../Icons/Icons';\r\n\r\nexport const AdverseEvents = (props) => {\r\n const { t } = useTranslation();\r\n\r\n function _getCategory(item) {\r\n const chronic = item.isChronic ? ` ${t(\"medicalRecords.condition.chronic\")}` : \"\";\r\n if (item.category === conditions.diagnosis)\r\n return (({t(\"medicalRecords.condition.diagnosis\")}{chronic}) )\r\n if (item.isPersonalHistory)\r\n return (({t(\"medicalRecords.condition.personalHistory\")}{chronic}) )\r\n }\r\n\r\n const columns = [\r\n {\r\n dataField: 'adverseEffect', text: t('medicalRecords.adverseEvents.adverseEvent'), formatter: function (_cell, row, rowindex) {\r\n return (\r\n\r\n \r\n \r\n {dateFormatter(row.created, \"DD/MM/YY\")} - \r\n {_getCategory(row)}\r\n {row.adverseEffect}\r\n \r\n {\r\n row.from &&\r\n \r\n
    {t('medicalRecords.from')}: {row.from}
    \r\n \r\n }\r\n {\r\n row.to &&\r\n \r\n
    {t('medicalRecords.to')}: {row.to}
    \r\n \r\n }\r\n
    \r\n )\r\n }\r\n },\r\n ];\r\n\r\n const customActions = function (row, props) {\r\n if (props.onAddDiagnosis && props.entryId != row.entryId)\r\n return \r\n \r\n \r\n }\r\n\r\n const expandedContent = (row) => (\r\n
    \r\n {row.intensity &&
    {t('medicalRecords.adverseEvents.intensity')}: {row.intensity.title ?? row.intensity}
    }\r\n {row.action &&
    {t('medicalRecords.adverseEvents.action')}: {row.action}
    }\r\n {row.serious &&
    {t('medicalRecords.adverseEvents.serious')}: {yesNoFormatter(row.serious, t)}
    }\r\n {row.relationwithdrug &&
    {t('medicalRecords.adverseEvents.relationwithdrug')}: {row.relationwithdrug}
    }\r\n {row.reported &&
    {t('medicalRecords.adverseEvents.reported')}: {yesNoFormatter(row.reported, t)}
    }\r\n {row.notes &&
    {t('medicalRecords.adverseEvents.notes')}: {row.notes}
    }\r\n
    \r\n )\r\n\r\n const rowClasses = (row) => { return row.originalId && row.originalId !== row.id ? 'item-modified' : ''; };\r\n\r\n return ();\r\n}\r\n\r\nexport const AdverseEventsOpenItems = (props) => {\r\n const { value, medicalRecordNumber, expandedAll, isDisabled, title } = props;\r\n const [adverseEvents, query, totalSize, isLoading, handleTableChange] = useEvents(medicalRecordNumber, null, true);\r\n const [closedItems, setClosedItems] = useState(value !== \"\" && value !== null ? value : []);\r\n const { t } = useTranslation();\r\n\r\n const handleChange = (item, name, value) => {\r\n let dateName = name.split(\".\")[1];\r\n var closedItem = closedItems.find(x => x.id === item.id);\r\n\r\n if (closedItem) { // Update\r\n closedItem.closed[dateName] = value;\r\n\r\n if (!closedItem.closed.toDay && !closedItem.closed.toMonth && !closedItem.closed.toYear) {\r\n const closedItemsCopy = closedItems.filter(x => x.id !== closedItem.id); // Remove\r\n setClosedItems(closedItemsCopy);\r\n props.onChange(props.name, closedItemsCopy);\r\n } else {\r\n let closedItemsCopy = JSON.parse(JSON.stringify(closedItems));\r\n var index = closedItemsCopy.findIndex(x => x.id === item.id);\r\n closedItemsCopy.splice(index, 1, closedItem); // Update. \r\n setClosedItems(closedItemsCopy);\r\n props.onChange(props.name, closedItemsCopy);\r\n }\r\n }\r\n else {\r\n // New\r\n var joined = closedItems.concat({\r\n id: item.id,\r\n closed: { [dateName]: value },\r\n name: item.adverseEffect\r\n });\r\n setClosedItems(joined);\r\n props.onChange(props.name, joined);\r\n }\r\n }\r\n\r\n const handleBlur = () => {\r\n if (props.onBlur)\r\n props.onBlur(props.name, true);\r\n };\r\n\r\n const columns = [\r\n { dataField: 'adverseEffect', text: t('medicalRecords.adverseEvents.adverseEvent') },\r\n { dataField: 'from', text: t('medicalRecords.from') },\r\n {\r\n isDummyField: true,\r\n dataField: 'to',\r\n text: t('medicalRecords.to'),\r\n formatter: function (_cell, row, rowindex) {\r\n var closedItem = closedItems?.find(x => x.id === row.id);\r\n\r\n return (\r\n handleChange(row, name, value)}\r\n onBlur={handleBlur}\r\n valueDay={closedItem ? closedItem.closed.toDay : row.toDay}\r\n valueMonth={closedItem ? closedItem.closed.toMonth : row.toMonth}\r\n valueYear={closedItem ? closedItem.closed.toYear : row.toYear}\r\n disabled={isDisabled}\r\n />\r\n \r\n )\r\n }\r\n }\r\n ];\r\n\r\n const columnsClosed = [\r\n { dataField: 'name', text: t('medicalRecords.adverseEvents.adverseEvent') },\r\n {\r\n isDummyField: true,\r\n dataField: 'to',\r\n text: t('medicalRecords.to'),\r\n formatter: function (_cell, row, rowindex) {\r\n if (!row.closed) return \"\";\r\n\r\n return (\r\n \r\n handleChange(row, name, value)}\r\n onBlur={handleBlur}\r\n valueDay={row.closed.toDay}\r\n valueMonth={row.closed.toMonth}\r\n valueYear={row.closed.toYear}\r\n disabled={isDisabled}\r\n />\r\n \r\n )\r\n }\r\n }\r\n ];\r\n\r\n let data = [];\r\n if (!isLoading && value && value.length > 0 && adverseEvents.length > 0) {\r\n value.forEach(closed => {\r\n if (!adverseEvents.find(x => x.id === closed.id)) {\r\n data.push(closed);\r\n }\r\n });\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n data && data.length > 0 &&\r\n \r\n \r\n \r\n }\r\n \r\n <>{t(\"commons.noData\")}}\r\n loading={isLoading}\r\n overlay={overlayFactory({ spinner: true })}\r\n />\r\n \r\n \r\n );\r\n}","import PropTypes from \"prop-types\";\r\nimport React from \"react\";\r\nimport { Button, Modal as BootstrapModal, Table } from 'react-bootstrap';\r\nimport ReactDOM from 'react-dom';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { NavLink } from \"react-router-dom\";\r\nimport { Cancel, View } from \"../Icons/Icons\";\r\nimport { dateTimeFormatter } from \"../Utils/Formatter\";\r\nimport { Tooltip } from \"../Utils/Tooltips\";\r\n\r\nexport const ModalDuplicatedItem = (props) => {\r\n const { items, item, onHide } = props;\r\n const { t } = useTranslation();\r\n\r\n const getItemName = () => {\r\n switch (item) {\r\n case \"adverseEvent\": return t('medicalRecords.adverseEvents.title');\r\n case \"drugs\": return t('medicalRecords.drugs.title');\r\n case \"procedures\": return t('medicalRecords.procedures.title');\r\n case \"personalHistory\": return t('medicalRecords.personalHistory.title');\r\n default:\r\n return \"items\";\r\n }\r\n }\r\n\r\n const getItemPropertyName = () => {\r\n switch (item) {\r\n case \"adverseEvent\":\r\n case \"personalHistory\": return \"adverseEffect\";\r\n case \"drugs\": return \"drug\";\r\n case \"procedures\": return \"procedure\";\r\n default:\r\n return \"name\";\r\n }\r\n }\r\n\r\n return ReactDOM.createPortal(\r\n \r\n \r\n \r\n {t(\"commons.attention\")}\r\n \r\n \r\n {t(\"medicalRecordsNotifications.entry_Duplicated\", { itemName: getItemName() })}\r\n {\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n items.map((item, idx) => {\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
    {t(\"medicalRecords.adverseEvents.created\")}{getItemName()}{t(\"medicalRecords.adverseEvents.from\")}{t(\"medicalRecords.adverseEvents.to\")}{t(\"medicalRecords.actions\")}
    {dateTimeFormatter(item.created)}{item[getItemPropertyName()]}{item.from}{item.to}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n }\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    , document.body\r\n )\r\n};\r\n\r\nModalDuplicatedItem.propTypes = {\r\n onHide: PropTypes.func.isRequired,\r\n items: PropTypes.array.isRequired,\r\n item: PropTypes.string.isRequired\r\n};","import { ErrorMessage, FieldArray } from 'formik';\r\nimport React, { useState } from 'react';\r\nimport { Col, ControlLabel, FormControl, FormGroup, Grid, Row, Panel, PanelGroup } from 'react-bootstrap';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { conceptType, snomedExpressions } from '../../../variables/Enums';\r\nimport { FromToNullableDatePicker, NullableDatePickerCombo } from \"../../CustomControls/DatePicker\";\r\nimport { CustomSelect } from \"../../CustomControls/CustomSelect\";\r\nimport { SnomedPicker } from '../../CustomControls/SnomedPicker';\r\nimport { Remove } from '../../Icons/Icons';\r\nimport { FormErrorMessage } from '../../Validations/FormValidationErrors';\r\nimport { CustomCheckbox } from '../../CustomControls/CustomCheckbox';\r\n\r\nexport const AdverseEventForm = props => {\r\n\r\n const {\r\n values,\r\n setFieldValue,\r\n setFieldTouched,\r\n handleSubmit,\r\n handleChange,\r\n isSubmitting,\r\n t\r\n } = props;\r\n\r\n const emptyResult = {\r\n name: '',\r\n intensity: '',\r\n serious: '',\r\n reported: '',\r\n relationwithdrug: '',\r\n action: '',\r\n fromYear: ''\r\n };\r\n\r\n if (!values.adverseEvents) {\r\n values.adverseEvents = [emptyResult];\r\n }\r\n\r\n return (\r\n
    \r\n \r\n (\r\n
    \r\n {values.adverseEvents && values.adverseEvents.length > 0 && (\r\n values.adverseEvents.map((adverseEvent, index) => (\r\n \r\n \r\n {adverseEvent.name ? adverseEvent.name.description : 'Evento'}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {t(\"medicalRecords.adverseEvents.adverseEvent\")}\r\n \r\n \r\n \r\n \r\n arrayHelper.remove(index)}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n {t(\"medicalRecords.adverseEvents.intensity\")}\r\n option.code}\r\n />\r\n \r\n \r\n {t(\"medicalRecords.condition.chronic\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {t(\"medicalRecords.adverseEvents.notes\")}\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n ))\r\n )}\r\n {\r\n (values.adverseEvents.length === 0 || (values.adverseEvents.length > 0 && !values.adverseEvents[0].id)) &&\r\n \r\n \r\n \r\n \r\n }\r\n
    \r\n )}\r\n />\r\n
    \r\n \r\n {\r\n values.adverseEvents && values.adverseEvents.length > 0 &&\r\n \r\n }\r\n\r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport const AdverseEventCloseForm = props => {\r\n const { adverseEvent, onCancel, onCloseItem } = props;\r\n const { t } = useTranslation();\r\n const [closeDate, setCloseDate] = useState({});\r\n\r\n const handleChange = (name, value) => {\r\n setCloseDate({\r\n ...closeDate,\r\n [name]: value\r\n });\r\n }\r\n\r\n const handleCloseItem = () => {\r\n if (closeDate && onCloseItem)\r\n onCloseItem(adverseEvent, closeDate);\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n {t(\"medicalRecords.from\")}\r\n \r\n \r\n \r\n {t(\"medicalRecords.to\")}\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n );\r\n}","import { withFormik } from 'formik';\r\nimport PropTypes from 'prop-types';\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { useTranslation, withTranslation } from 'react-i18next';\r\nimport { putAdverseEvent } from \"../../../api/medicalRecord\";\r\nimport { AuditModal, CreateAudit, CreateAuditModal } from \"../../../components/AuditTrail/AuditModal\";\r\nimport { ExpandableContent } from \"../../../components/CustomControls/ExpandableContent\";\r\nimport { AdverseEvents } from \"../../../components/MedicalRecords/AdverseEvents\";\r\nimport { ModalDuplicatedItem } from \"../../../components/MedicalRecords/ModalDuplicatedItem\";\r\nimport { AdverseEventForm } from \"../../../components/MedicalRecords/Forms/AdverseEventsForm\";\r\nimport { getMedicalRecordsSchema } from \"../../../components/Validations/FormValidationSchema\";\r\nimport { AuditTrail } from \"../../Admin/AuditTrail\";\r\nimport { useAdverseEvent, useAdverseEvents } from \"../Hooks/useAdverseEvents\";\r\n\r\nexport const AdverseEventsContainer = (props) => {\r\n const [content, setContent] = useState(null);\r\n const { medicalRecordNumber, entryStatus, entryId, expandedAll } = props;\r\n const [adverseEvents, query, totalSize, isLoading, handleTableChange, setReload] = useAdverseEvents(medicalRecordNumber, entryId, false, true);\r\n const { t } = useTranslation();\r\n\r\n useEffect(() => {\r\n if (props.contentToReload?.contentName === \"adverseEvents\")\r\n setReload(true);\r\n\r\n }, [props.contentToReload]);\r\n\r\n const handleEdit = (id) => {\r\n setContent();\r\n }\r\n\r\n const handleSubmit = async (data) => {\r\n\r\n if (!data || !data.adverseEvents || data.adverseEvents.length === 0)\r\n return;\r\n\r\n if (entryStatus !== \"Published\" && entryStatus !== \"AutoPublished\"&& entryId == data.adverseEvents[0].entryId && (!data.adverseEvents[0].originalId || data.adverseEvents[0].id == data.adverseEvents[0].originalId)) {\r\n onConfirmSubmit(data);\r\n } else {\r\n setContent( setContent(null)}\r\n onSave={(reason, comments) => onConfirmSubmit(data, reason, comments)}\r\n />)\r\n }\r\n }\r\n\r\n const onConfirmSubmit = async (data, reason, comments) => {\r\n try {\r\n if (data && data.adverseEvents && data.adverseEvents.length > 0) {\r\n let adverseEvent = data.adverseEvents[0];\r\n if (reason) {\r\n adverseEvent.auditReason = reason;\r\n adverseEvent.auditComments = comments;\r\n }\r\n await putAdverseEvent(entryId, adverseEvent.id, adverseEvent);\r\n setContent(null);\r\n setReload(true);\r\n }\r\n }\r\n catch (error) {\r\n console.log(error);\r\n }\r\n }\r\n\r\n const handleClose = () => { setContent(null); }\r\n\r\n const handleAuditTrail = (entityId) => {\r\n setContent(\r\n { setContent(null); }}\r\n title={t(\"auditTrail.audit\")}\r\n >\r\n \r\n \r\n )\r\n }\r\n\r\n if (totalSize === 0)\r\n return null;\r\n\r\n return (\r\n \r\n {content}\r\n \r\n \r\n );\r\n}\r\n\r\nexport const AdverseEventCreateContainer = (props) => {\r\n const { entryStatus, entryId, onSubmit } = props;\r\n const [, , create,] = useAdverseEvent(entryId);\r\n const [content, setContent] = useState(null);\r\n\r\n const handleSubmit = async (data) => {\r\n\r\n if (entryStatus === \"Published\" || entryStatus === \"AutoPublished\") {\r\n setContent( setContent(null)}\r\n onSave={(reason, comments) => onConfirmSubmit(data, reason, comments)}\r\n />)\r\n }\r\n else {\r\n onConfirmSubmit(data);\r\n }\r\n }\r\n\r\n const onConfirmSubmit = async (data, reason, comments) => {\r\n try {\r\n if (reason) {\r\n data.auditReason = reason;\r\n data.auditComments = comments;\r\n }\r\n const resp = await create(entryId, data);\r\n if (resp.data.length > 0)\r\n setContent( { setContent(null); onSubmit(\"adverseEvents\"); }}\r\n items={resp.data}\r\n item=\"adverseEvent\"\r\n medicalRecordNumber={props.medicalRecordNumber}\r\n />);\r\n else {\r\n setContent(null);\r\n onSubmit(\"adverseEvents\"); // Indico al padre sobre q contenido hacer Reload. \r\n }\r\n }\r\n catch (error) {\r\n console.log(error);\r\n }\r\n }\r\n\r\n const handleCancel = () => {\r\n props.hide()\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n content ??\r\n \r\n }\r\n \r\n );\r\n}\r\n\r\nconst AdverseEventEditContainer = (props) => {\r\n const { entryId, id, onSubmit, onCancel } = props;\r\n const [data, isLoading] = useAdverseEvent(entryId, id);\r\n\r\n if (!data || isLoading)\r\n return null;\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nconst AdverseEventContainerFormik = withTranslation()(withFormik({\r\n mapPropsToValues: (props) => (props.adverseEvent && { adverseEvents: [props.adverseEvent] }),\r\n\r\n validationSchema: getMedicalRecordsSchema().adverseEvent,\r\n\r\n handleSubmit: (values, formikBag) => {\r\n formikBag.props.onSubmit(values);\r\n },\r\n\r\n displayName: 'AdverseEventForm',\r\n\r\n})(AdverseEventForm));\r\n\r\nAdverseEventContainerFormik.propTypes = {\r\n onSubmit: PropTypes.func.isRequired,\r\n onCancel: PropTypes.func.isRequired,\r\n adverseEvent: PropTypes.object.isRequired,\r\n};","import React from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { Warning } from '../Icons/Icons';\r\nimport { dateFormatter } from '../Utils/Formatter';\r\nimport { EntryItemsTable } from './EntryItemsTable';\r\n\r\nexport const Anthropometrics = (props) => {\r\n const { t } = useTranslation();\r\n\r\n const columns = [\r\n { dataField: 'created', text: t('commons.date'), formatter: function (cell) { return dateFormatter(cell, \"DD/MM/YY\") }, headerClasses: 'header-date' },\r\n { dataField: 'weight', text: t('medicalRecords.anthropometrics.weight') },\r\n { dataField: 'height', text: t('medicalRecords.anthropometrics.height') },\r\n {\r\n dataField: 'bmi', text: t('medicalRecords.anthropometrics.bmi'), formatter: function (_cell, row) {\r\n var bmiColor = \"#20ad9b\"; //Normopeso (18.5-24.9 kg/m2 ) \r\n var showWarning = false;\r\n if (row.bmi < 18.5) {\r\n showWarning = true;\r\n bmiColor = \"#ca6e6e\"; //Bajo peso (<18.5 kg/m2)\r\n } else if (row.bmi >= 25 && row.bmi < 30) {\r\n showWarning = true;\r\n bmiColor = \"#ffa534\"; //Sobrepeso (25-29.9 kg/m2 ) \r\n } else if (row.bmi >= 30) {\r\n bmiColor = \"#ca6e6e\"; //Obesidad\r\n showWarning = true;\r\n }\r\n\r\n return
    {row.bmi} {showWarning && }
    ;\r\n }\r\n },\r\n { dataField: 'waist', text: t('medicalRecords.anthropometrics.waist') }\r\n ];\r\n\r\n const expandedContent = (row) => {\r\n return (\r\n
    \r\n {row.sagittal &&
    {t('medicalRecords.anthropometrics.sagittal')}: {row.sagittal}
    }\r\n {row.neck &&
    {t('medicalRecords.anthropometrics.neck')}: {row.neck}
    }\r\n {row.others &&
    {t('medicalRecords.anthropometrics.others')}: {row.others}
    }\r\n {row.notes &&
    {t('medicalRecords.drugs.notes')}: {row.notes}
    }\r\n
    \r\n )\r\n }\r\n\r\n return ();\r\n}\r\n\r\n","import { useEffect, useState } from 'react';\r\nimport { getAnthropometric, getAnthropometrics, getAnthropometricsHistory, postAnthropometric, putAnthropometric, } from '../../../api/medicalRecord';\r\nimport { HandleApiError } from '../../../components/Notifications/APIErrorHandler';\r\n\r\nexport const useAnthropometrics = (medicalRecordNumber, entryId) => {\r\n \r\n const [isLoading, setIsLoading] = useState(false);\r\n const [data, setData] = useState([]);\r\n const [totalSize, setTotalSize] = useState(0);\r\n const [query, setQuery] = useState({\r\n medicalRecordNumber: medicalRecordNumber ? medicalRecordNumber : 0,\r\n entryId: entryId ? entryId : 0,\r\n pagination: {\r\n page: 1,\r\n sizePerPage: 10,\r\n totalSize: 0\r\n },\r\n actual: false\r\n });\r\n const [reload, setReload] = useState(false);\r\n\r\n useEffect(() => {\r\n let isSubscribed = true\r\n const fetchData = async () => {\r\n try {\r\n setReload(false);\r\n setIsLoading(true);\r\n const paginatedItems = await getAnthropometrics(query);\r\n\r\n if (isSubscribed) {\r\n setTotalSize(paginatedItems.data.count);\r\n setData(paginatedItems.data.data);\r\n setIsLoading(false);\r\n }\r\n\r\n } catch (error) {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n setTotalSize(0);\r\n setData([]);\r\n }\r\n }\r\n\r\n fetchData();\r\n\r\n return () => isSubscribed = false;\r\n }, [query, reload]);\r\n\r\n const handleTableChange = (type, { page, sizePerPage, sortField, sortOrder }) => {\r\n var newQuery = JSON.parse(JSON.stringify(query));\r\n\r\n switch (type) {\r\n case 'pagination': {\r\n newQuery.pagination.page = page;\r\n newQuery.pagination.sizePerPage = sizePerPage;\r\n setQuery(newQuery);\r\n break;\r\n }\r\n case 'sort': {\r\n newQuery.sort.sortField = sortField;\r\n newQuery.sort.sortOrder = sortOrder;\r\n setQuery(newQuery);\r\n break;\r\n }\r\n default: break;\r\n }\r\n }\r\n\r\n return [data, query, totalSize, isLoading, handleTableChange, setReload];\r\n}\r\n\r\nexport const useAnthropometric = (entryId, id) => {\r\n \r\n const [isLoading, setIsLoading] = useState(true);\r\n const [data, setData] = useState(null);\r\n\r\n useEffect(() => {\r\n let isSubscribed = true\r\n const fetchData = async () => {\r\n try {\r\n setIsLoading(true);\r\n const res = await getAnthropometric(entryId, id);\r\n\r\n if (isSubscribed) {\r\n setData(res.data);\r\n setIsLoading(false);\r\n }\r\n\r\n } catch (error) {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n setData(null);\r\n }\r\n }\r\n\r\n if (id)\r\n fetchData();\r\n\r\n return () => isSubscribed = false;\r\n }, [entryId, id]);\r\n\r\n const create = (entryId, data) => {\r\n return postAnthropometric(entryId, data);\r\n }\r\n\r\n const update = (entryId, id, data) => {\r\n return putAnthropometric(entryId, id, data);\r\n }\r\n\r\n return [data, isLoading, create, update];\r\n}\r\n\r\nexport const useAnthropometricsHistory = () => {\r\n const fetchData = (medicalRecordNumber) => {\r\n try {\r\n return getAnthropometricsHistory(medicalRecordNumber);\r\n } catch (error) {\r\n HandleApiError(error);\r\n }\r\n }\r\n return [fetchData];\r\n}","import { BarElement, CategoryScale, Chart as ChartJS, Legend, LinearScale, LineElement, PointElement, Title, Tooltip } from 'chart.js';\r\nimport ChartDataLabels from 'chartjs-plugin-datalabels';\r\nimport React from 'react';\r\nimport { Bar, Line } from 'react-chartjs-2';\r\n\r\nChartJS.register(\r\n CategoryScale,\r\n LinearScale,\r\n BarElement,\r\n PointElement,\r\n LineElement,\r\n ChartDataLabels,\r\n Title,\r\n Tooltip,\r\n Legend\r\n);\r\n\r\nexport const Chart = ({ data, type, options }) => {\r\n\r\n if (!data || data.length === 0)\r\n return null;\r\n\r\n switch (type) {\r\n case \"bar\":\r\n return ;\r\n case \"line\":\r\n return ;\r\n\r\n default:\r\n return ;\r\n }\r\n}","import moment from 'moment';\r\n\r\nexport const getOffset = (prevDate, prevOffset, offset, offsetType) => {\r\n switch (offsetType) {\r\n case 0: //\"days\":\r\n prevDate.setDate(prevDate.getDate() + (Math.abs(prevOffset ?? 0) - Math.abs(offset ?? 0)));\r\n break;\r\n case 1: //\"weeks\":\r\n prevDate.setDate(prevDate.getDate() + (Math.abs(prevOffset ?? 0) - Math.abs(offset ?? 0)) * 7);\r\n break;\r\n case 2: // \"months\":\r\n prevDate.setMonth(prevDate.getMonth() + Math.abs(offset ?? 0));\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n return prevDate;\r\n}\r\n\r\nexport const getOffsetFromRandom = (date, offset, offsetType) => {\r\n switch (offsetType) {\r\n case 0: //\"days\":\r\n date.setDate(date.getDate() + Math.abs(offset ?? 0));\r\n break;\r\n case 1: //\"weeks\":\r\n date.setDate(date.getDate() + (Math.abs(offset ?? 0) * 7));\r\n break;\r\n case 2: // \"months\":\r\n date.setMonth(date.getMonth() + Math.abs(offset ?? 0));\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n return date;\r\n}\r\n\r\nexport const isLowerThanToday = (date) => {\r\n return moment(date).isBefore(moment());\r\n}\r\nexport const isGreatherThanToday = (date) => {\r\n return moment(date).isAfter(moment());\r\n}\r\n\r\nexport const isBetween = (date, dateFrom, dateTo) => {\r\n return moment(date).isBetween(dateFrom, dateTo, \"minutes\", '[]');\r\n}\r\n\r\nexport const addDays = (date, daysToAdd) => {\r\n return moment(date).add(daysToAdd, 'days');\r\n}\r\n\r\nexport const dateFormatter = (dateTime, format) => {\r\n if (!format)\r\n format = 'DD/MM/YYYY';\r\n\r\n if (dateTime)\r\n return moment(dateTime).format(format);\r\n\r\n return null;\r\n}","import React from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { Chart } from '../Charts/Chart';\r\nimport { Warning } from '../Icons/Icons';\r\nimport { dateFormatter } from '../Utils/Dates';\r\nimport { EntryItemsTable } from './EntryItemsTable';\r\n\r\nexport const AnthropometricsHistory = (props) => {\r\n const { t } = useTranslation();\r\n\r\n const columns = [\r\n { dataField: 'created', text: t('commons.date'), formatter: function (cell) { return dateFormatter(cell, \"DD/MM/YY\") }, headerClasses: 'header-date' },\r\n { dataField: 'weight', text: t('medicalRecords.anthropometrics.weight') },\r\n { dataField: 'height', text: t('medicalRecords.anthropometrics.height') },\r\n {\r\n dataField: 'bmi', text: t('medicalRecords.anthropometrics.bmi'), formatter: function (_cell, row) {\r\n var bmiColor = \"#20ad9b\"; //Normopeso (18.5-24.9 kg/m2 ) \r\n var showWarning = false;\r\n if (row.bmi < 18.5) {\r\n showWarning = true;\r\n bmiColor = \"#ca6e6e\"; //Bajo peso (<18.5 kg/m2)\r\n } else if (row.bmi >= 25 && row.bmi < 30) {\r\n showWarning = true;\r\n bmiColor = \"#ffa534\"; //Sobrepeso (25-29.9 kg/m2 ) \r\n } else if (row.bmi >= 30) {\r\n bmiColor = \"#ca6e6e\"; //Obesidad\r\n showWarning = true;\r\n }\r\n\r\n return
    {row.bmi} {showWarning && }
    ;\r\n }\r\n },\r\n { dataField: 'waist', text: t('medicalRecords.anthropometrics.waist') },\r\n { dataField: 'sagittal', text: t('medicalRecords.anthropometrics.sagittal') },\r\n { dataField: 'neck', text: t('medicalRecords.anthropometrics.neck') }\r\n ];\r\n\r\n return ();\r\n}\r\n\r\nexport const AnthropometricsHistoryChart = ({ data, type }) => {\r\n const { t } = useTranslation();\r\n if (!data || data.length === 0)\r\n return null;\r\n\r\n const options = {\r\n responsive: true,\r\n plugins: {\r\n datalabels: {\r\n color: '#247dbd',\r\n align: 'top',\r\n },\r\n legend: {\r\n position: 'bottom',\r\n },\r\n title: {\r\n display: true,\r\n text: t(\"medicalRecords.anthropometrics.history\"),\r\n },\r\n },\r\n };\r\n\r\n const chartData = {\r\n labels: data.sort(function (a, b) {\r\n return new Date(a.created) - new Date(b.created);\r\n }).map(x => dateFormatter(x.created)),\r\n datasets: [\r\n {\r\n label: t(\"medicalRecords.anthropometrics.weight\"),\r\n data: data.map(x => x.weight),\r\n borderColor: 'rgb(218, 220, 222)',\r\n backgroundColor: 'rgba(218, 220, 222, 0.39)',\r\n },\r\n //{\r\n // label: t(\"medicalRecords.anthropometrics.height\"),\r\n // data: data.map(x => x.height),\r\n // borderColor: 'rgb(36, 125, 189)',\r\n // backgroundColor: 'rgba(36, 125, 189, 0.29)',\r\n //},\r\n {\r\n label: t(\"medicalRecords.anthropometrics.bmi\"),\r\n data: data.map(x => x.bmi),\r\n borderColor: 'rgb(28, 151, 136)',\r\n backgroundColor: 'rgba(28, 151, 136, 0.29)',\r\n },\r\n {\r\n label: t(\"medicalRecords.anthropometrics.waist\"),\r\n data: data.map(x => x.waist),\r\n borderColor: 'rgb(187, 44, 13)',\r\n backgroundColor: 'rgba(187, 44, 13, 0.29)',\r\n },\r\n {\r\n label: t(\"medicalRecords.anthropometrics.sagittal\"),\r\n data: data.map(x => x.sagittal),\r\n borderColor: 'rgb(156, 187, 13)',\r\n backgroundColor: 'rgba(156, 187, 13, 0.29)',\r\n },\r\n {\r\n label: t(\"medicalRecords.anthropometrics.neck\"),\r\n data: data.map(x => x.neck),\r\n borderColor: 'rgb(160, 13, 187)',\r\n backgroundColor: 'rgba(160, 13, 187, 0.29)',\r\n },\r\n ],\r\n };\r\n\r\n return ();\r\n}","import PropTypes from 'prop-types';\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Button, Col, Grid, Modal, Row } from 'react-bootstrap';\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { ChartBar, ChartLine, Table } from '../../../components/Icons/Icons';\r\nimport { HandleApiError } from \"../../../components/Notifications/APIErrorHandler\";\r\nimport { Tooltip } from '../../../components/Utils/Tooltips';\r\nimport { AnthropometricsHistory, AnthropometricsHistoryChart } from '../../../components/MedicalRecords/AnthropometricsHistory';\r\nimport { useAnthropometricsHistory } from '../Hooks/useAnthropometrics';\r\n\r\nexport const ModalAnthropometricsHistory = (props) => {\r\n const { t } = useTranslation();\r\n var { medicalRecordNumber } = props;\r\n\r\n const [isLoading, setIsLoading] = useState(true);\r\n const [data, setData] = useState([]);\r\n const [fetchHistory] = useAnthropometricsHistory();\r\n const [type, setType] = useState(\"bar\"); // table, bar, line\r\n\r\n useEffect(() => {\r\n let isSubscribed = true;\r\n const fetchData = async () => {\r\n try {\r\n const res = await fetchHistory(medicalRecordNumber);\r\n if (isSubscribed) {\r\n setData(res.data);\r\n setIsLoading(false);\r\n }\r\n } catch (error) {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n setData(null);\r\n }\r\n }\r\n\r\n fetchData();\r\n\r\n return () => isSubscribed = false;\r\n }, [medicalRecordNumber]);\r\n\r\n if (isLoading)\r\n return null;\r\n\r\n let component = null;\r\n switch (type) {\r\n case \"table\":\r\n component = ();\r\n break;\r\n case \"line\":\r\n case \"bar\":\r\n component = ();\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n return (\r\n \r\n \r\n {props.title}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n }\r\n
    \r\n )}\r\n />\r\n \r\n \r\n {\r\n values.laboratories && values.laboratories.length > 0 &&\r\n \r\n }\r\n
    \r\n \r\n );\r\n}","import React from 'react';\r\nimport BootstrapTable from 'react-bootstrap-table-next';\r\nimport paginationFactory from 'react-bootstrap-table2-paginator';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { NavLink } from 'react-router-dom';\r\nimport { Audit, Chart, Edit, View } from '../Icons/Icons';\r\nimport { dateFormatter } from '../Utils/Formatter';\r\nimport { Tooltip } from '../Utils/Tooltips';\r\nimport { EntryItemsTable } from './EntryItemsTable';\r\n\r\nexport const Laboratory = (props) => {\r\n const { t } = useTranslation();\r\n var { onEdit, onAuditTrail, onLaboratoryResultHistory, ...rest } = props;\r\n\r\n const columns = [\r\n { dataField: 'laboratoryDate', text: t('commons.date'), formatter: function (cell) { return dateFormatter(cell, \"DD/MM/YY\") }, headerClasses: 'header-date' },\r\n {\r\n isDummyField: true,\r\n dataField: 'resultsCount',\r\n text: \"Cantidad Resultados\",\r\n headerClasses: 'header-date',\r\n formatter: function (_cell, row) {\r\n return
    {row.results?.length}
    \r\n }\r\n }\r\n ];\r\n\r\n const columnsResults = [\r\n { dataField: 'name.description', text: t('medicalRecords.laboratory.laboratory') },\r\n {\r\n dataField: 'result', text: t('medicalRecords.laboratory.result'),\r\n formatter: function (_cell, row) {\r\n return
    {`${row.result} ${row.unit?.title}`}
    \r\n }\r\n },\r\n {\r\n dataField: 'actions',\r\n text: t(\"commons.actions\"),\r\n isDummyField: true,\r\n headerClasses: 'header-actions',\r\n classes: 'row-actions',\r\n formatter: function (_cell, row, rowIndex) {\r\n return (\r\n
    \r\n {\r\n onLaboratoryResultHistory &&\r\n \r\n \r\n \r\n }\r\n {\r\n row.entryId != props.entryId && props.query.medicalRecordNumber !== 0 &&\r\n \r\n \r\n \r\n \r\n \r\n }\r\n {\r\n row.hasAudit && onAuditTrail &&\r\n \r\n \r\n \r\n }\r\n {\r\n onEdit &&\r\n \r\n \r\n \r\n }\r\n
    \r\n )\r\n }\r\n }\r\n ];\r\n\r\n const expandedContent = (row, _rowIndex) => {\r\n return (\r\n <>{t(\"commons.noData\")}n}\r\n pagination={paginationFactory({\r\n page: 1,\r\n sizePerPage: 6,\r\n totalSize: row.results.length,\r\n hideSizePerPage: true,\r\n hidePageListOnlyOnePage: true\r\n })}\r\n />\r\n );\r\n };\r\n\r\n return ();\r\n}\r\n","import { useEffect, useState } from 'react';\r\nimport { getLaboratories, postLaboratories, putLaboratoryResult, getLaboratoryResult, getLaboratoryResults, getLaboratoryResultHistory } from '../../../api/medicalRecord';\r\nimport { HandleApiError } from '../../../components/Notifications/APIErrorHandler';\r\n\r\nexport const useLaboratories = (medicalRecordNumber, entryId) => {\r\n\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [data, setData] = useState([]);\r\n const [totalSize, setTotalSize] = useState(0);\r\n const [query, setQuery] = useState({\r\n medicalRecordNumber: medicalRecordNumber ? medicalRecordNumber : 0,\r\n entryId: entryId ? entryId : 0,\r\n pagination: {\r\n page: 1,\r\n sizePerPage: 10,\r\n totalSize: 0\r\n },\r\n actual: false\r\n });\r\n const [reload, setReload] = useState(false);\r\n\r\n useEffect(() => {\r\n let isSubscribed = true\r\n const fetchData = async () => {\r\n try {\r\n setReload(false);\r\n setIsLoading(true);\r\n const paginatedItems = await getLaboratories(query);\r\n\r\n if (isSubscribed) {\r\n setTotalSize(paginatedItems.data.count);\r\n setData(paginatedItems.data.data);\r\n setIsLoading(false);\r\n }\r\n\r\n } catch (error) {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n setTotalSize(0);\r\n setData([]);\r\n }\r\n }\r\n\r\n fetchData();\r\n\r\n return () => isSubscribed = false;\r\n }, [query, reload]);\r\n\r\n const handleTableChange = (type, { page, sizePerPage, sortField, sortOrder }) => {\r\n var newQuery = JSON.parse(JSON.stringify(query));\r\n\r\n switch (type) {\r\n case 'pagination': {\r\n newQuery.pagination.page = page;\r\n newQuery.pagination.sizePerPage = sizePerPage;\r\n setQuery(newQuery);\r\n break;\r\n }\r\n case 'sort': {\r\n newQuery.sort.sortField = sortField;\r\n newQuery.sort.sortOrder = sortOrder;\r\n setQuery(newQuery);\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return [data, query, totalSize, isLoading, handleTableChange, setReload];\r\n}\r\n\r\nexport const useLaboratory = (entryId, id) => {\r\n const [isLoading, setIsLoading] = useState(true);\r\n const [data, setData] = useState(null);\r\n\r\n useEffect(() => {\r\n let isSubscribed = true;\r\n const fetchData = async () => {\r\n try {\r\n setIsLoading(true);\r\n const res = await getLaboratoryResult(entryId, id);\r\n //console.log(\"useLaboratory\", res.data)\r\n\r\n if (isSubscribed) {\r\n setData(res.data);\r\n setIsLoading(false);\r\n }\r\n\r\n } catch (error) {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n setData(null);\r\n }\r\n }\r\n\r\n if (id)\r\n fetchData();\r\n\r\n return () => isSubscribed = false;\r\n }, [entryId, id]);\r\n\r\n const create = (entryId, data) => {\r\n return postLaboratories(entryId, data);\r\n }\r\n\r\n const update = (entryId, id, data) => {\r\n return putLaboratoryResult(entryId, id, data);\r\n }\r\n\r\n return [data, isLoading, create, update];\r\n}\r\n\r\nexport const useLaboratoryResults = () => {\r\n const fetchData = (laboratoryId) => {\r\n try {\r\n return getLaboratoryResults(laboratoryId);\r\n } catch (error) {\r\n HandleApiError(error);\r\n }\r\n }\r\n return [fetchData];\r\n}\r\n\r\nexport const useLaboratoryResultHistory = () => {\r\n const fetchData = (laboratoryId) => {\r\n try {\r\n return getLaboratoryResultHistory(laboratoryId);\r\n } catch (error) {\r\n HandleApiError(error);\r\n }\r\n }\r\n return [fetchData];\r\n}","import React from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { Chart } from '../Charts/Chart';\r\nimport { dateFormatter } from '../Utils/Dates';\r\nimport { EntryItemsTable } from './EntryItemsTable';\r\n\r\nexport const LaboratoryResultHistory = (props) => {\r\n const { t } = useTranslation();\r\n\r\n const columns = [\r\n { dataField: 'laboratoryDate', text: t('commons.date'), formatter: function (cell) { return dateFormatter(cell, \"DD/MM/YY\") }, headerClasses: 'header-date' },\r\n { dataField: 'name.description', text: t('medicalRecords.laboratory.laboratory') },\r\n {\r\n dataField: 'result', text: t('medicalRecords.laboratory.result'),\r\n formatter: function (_cell, row) {\r\n return
    {`${row.result} ${row.unit?.title}`}
    \r\n }\r\n }\r\n ];\r\n\r\n return ();\r\n}\r\n\r\nexport const LaboratoryResultHistoryChart = ({ data, type }) => {\r\n\r\n if (!data || data.length === 0)\r\n return null;\r\n\r\n const options = {\r\n responsive: true,\r\n plugins: {\r\n datalabels: {\r\n color: '#247dbd',\r\n align: 'top',\r\n },\r\n legend: {\r\n position: 'bottom',\r\n },\r\n title: {\r\n display: true,\r\n text: `${data[0].name.description} (${data[0].unit.title})`,\r\n },\r\n },\r\n };\r\n\r\n const chartData = {\r\n labels: data.sort(function (a, b) {\r\n return new Date(a.laboratoryDate) - new Date(b.laboratoryDate);\r\n }).map(x => dateFormatter(x.laboratoryDate)),\r\n datasets: [\r\n {\r\n label: `${data[0].name.description} (${data[0].unit.title})`,\r\n data: data.map(x => x.result),\r\n borderColor: 'rgb(32, 173, 155)',\r\n backgroundColor: 'rgba(32, 173, 155, 0.19)',\r\n },\r\n ],\r\n };\r\n\r\n return ();\r\n}","import PropTypes from 'prop-types';\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Button, Col, Grid, Modal, Row } from 'react-bootstrap';\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { ChartBar, ChartLine, Table } from '../../../components/Icons/Icons';\r\nimport { LaboratoryResultHistory, LaboratoryResultHistoryChart } from '../../../components/MedicalRecords/LaboratoryHistory';\r\nimport { HandleApiError } from \"../../../components/Notifications/APIErrorHandler\";\r\nimport { Tooltip } from '../../../components/Utils/Tooltips';\r\nimport { useLaboratoryResultHistory } from \"../Hooks/useLaboratories\";\r\n\r\nexport const ModalLaboHistory = (props) => {\r\n const { t } = useTranslation();\r\n var { medicalRecordNumber, laboratoryId } = props;\r\n\r\n const [isLoading, setIsLoading] = useState(true);\r\n const [data, setData] = useState([]);\r\n const [fetchLaboHistory] = useLaboratoryResultHistory();\r\n const [type, setType] = useState(\"table\"); // table, bar, line\r\n\r\n useEffect(() => {\r\n let isSubscribed = true;\r\n const fetchData = async () => {\r\n try {\r\n const res = await fetchLaboHistory(laboratoryId);\r\n if (isSubscribed) {\r\n setData(res.data);\r\n setIsLoading(false);\r\n }\r\n\r\n } catch (error) {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n setData(null);\r\n }\r\n }\r\n\r\n fetchData();\r\n\r\n return () => isSubscribed = false;\r\n }, [laboratoryId]);\r\n\r\n let component = null;\r\n switch (type) {\r\n case \"table\":\r\n component = ();\r\n break;\r\n case \"line\":\r\n case \"bar\":\r\n component = ();\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n return (\r\n \r\n \r\n {props.title}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n />\r\n );\r\n}\r\n\r\nexport const CloseProtocolModal = (props) => {\r\n const { t } = useTranslation();\r\n return (\r\n { props.onClose() }}\r\n confirmBtnBsStyle=\"primary\"\r\n cancelBtnBsStyle=\"info\"\r\n confirmBtnText={t(\"buttons.confirm\")}\r\n cancelBtnText={t(\"buttons.cancel\")}\r\n showCancel\r\n >\r\n {props.children}\r\n \r\n );\r\n}\r\nCloseProtocolModal.propTypes = {\r\n onClose: PropTypes.func.isRequired,\r\n onConfirm: PropTypes.func.isRequired,\r\n title: PropTypes.string.isRequired\r\n};","import React, { Fragment, useContext, useState } from \"react\";\r\nimport { Button, ButtonGroup, ButtonToolbar } from 'react-bootstrap';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { NavLink, useHistory } from \"react-router-dom\";\r\nimport { AuditModal } from '../../../components/AuditTrail/AuditModal';\r\nimport { WithAuth } from \"../../../components/Authorization/WithAuthProtocol\";\r\nimport { Audit, Close, Edit, Remove } from \"../../../components/Icons/Icons\";\r\nimport { Brief, CloseProtocolModal } from \"../../../components/Protocols/Brief\";\r\nimport { Tooltip } from \"../../../components/Utils/Tooltips\";\r\nimport { AuditTrail } from \"../../Admin/AuditTrail\";\r\nimport ProtocolContext from \"../ProtocolContext/ProtocolContext\";\r\nimport { ModalConfirm } from \"../../../components/Modals/ModalConfirm\";\r\nimport { ModalSpinner } from \"../../../components/Utils/Loaders\";\r\nimport { removeProtocolApi } from \"../../../api/protocol\";\r\nimport { HandleApiError } from \"../../../components/Notifications/APIErrorHandler\";\r\n\r\nexport const ProtocolBriefContainer = () => {\r\n const { t } = useTranslation();\r\n const [modal, setModal] = useState(null);\r\n const history = useHistory();\r\n const context = useContext(ProtocolContext);\r\n\r\n const handleAuditTrail = () => {\r\n setModal(\r\n { setModal(null); }}\r\n title={t(\"auditTrail.audit\")}\r\n >\r\n \r\n \r\n )\r\n }\r\n\r\n const handleCloseProtocol = () => {\r\n setModal(\r\n { setModal(null); }}\r\n onConfirm={() => { context.closeProtocol(context.protocolId); setModal(null); history.push(\"/admin/protocols/\"); }}\r\n title={t(\"protocols.brief.closeProtocolTitle\")}\r\n >\r\n {t(\"protocols.brief.closeProtocolDescription\")}\r\n \r\n )\r\n }\r\n\r\n const handleRemoveProtocol = () => {\r\n setModal(\r\n { setModal(null); }}\r\n onConfirm={onRemoveProtocol}\r\n title={t(\"protocols.brief.removeProtocolTitle\")}\r\n description={t(\"protocols.brief.removeProtocolDescription\")}\r\n />\r\n )\r\n }\r\n\r\n const onRemoveProtocol = async () => {\r\n setModal();\r\n try {\r\n await removeProtocolApi(context.protocolId);\r\n setModal(null);\r\n history.push(\"/admin/protocols/\");\r\n }\r\n catch (error) {\r\n setModal(null);\r\n HandleApiError(error);\r\n }\r\n }\r\n\r\n if (context.isLoading || !context.protocolId)\r\n return null;\r\n\r\n return (\r\n \r\n {modal}\r\n \r\n\r\n \r\n \r\n {\r\n !context.isDisabled &&\r\n \r\n \r\n \r\n {t(\"buttons.edit\")}\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n {\r\n !context.isDisabled &&\r\n \r\n \r\n \r\n \r\n \r\n }\r\n {\r\n !context.isDisabled &&\r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n );\r\n}","import { ErrorMessage, FieldArray } from 'formik';\r\nimport PropTypes from 'prop-types';\r\nimport React, { useState } from 'react';\r\nimport { Col, ControlLabel, Grid, Row } from 'react-bootstrap';\r\nimport BootstrapTable from 'react-bootstrap-table-next';\r\nimport 'react-bootstrap-table-next/dist/react-bootstrap-table2.min.css';\r\nimport overlayFactory from 'react-bootstrap-table2-overlay';\r\nimport paginationFactory from 'react-bootstrap-table2-paginator';\r\nimport 'react-bootstrap-table2-paginator/dist/react-bootstrap-table2-paginator.min.css';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { getPractitionerAttachmentsEndpoint } from '../../api/protocol';\r\nimport { AuditTrail } from '../../containers/Admin/AuditTrail';\r\nimport { AuditModal } from '../AuditTrail/AuditModal';\r\nimport { WithAuth } from '../Authorization/WithAuthProtocol';\r\nimport { CustomDate } from \"../CustomControls/CustomDateTime\";\r\nimport { CustomSelect } from \"../CustomControls/CustomSelect\";\r\nimport { Files, FilesForm } from '../CustomControls/Files/Files';\r\nimport { PractitionerPicker } from '../CustomControls/PractitionerPicker';\r\nimport { Attach, Audit, Edit, Remove, Save } from '../Icons/Icons';\r\nimport { dateFormatter } from '../Utils/Formatter';\r\nimport { Tooltip } from \"../Utils/Tooltips\";\r\nimport { FormErrorMessage } from '../Validations/FormValidationErrors';\r\n\r\nexport const Practitioners = props => {\r\n\r\n const { protocolId, practitioners, query, totalSize, onTableChange, onEdit, onRemove } = props;\r\n const { t } = useTranslation();\r\n\r\n const columns = [\r\n { dataField: 'userId', text: 'ID', hidden: true },\r\n { dataField: 'fullName', text: t(\"protocols.practitioner.fullName\"), sort: true },\r\n { dataField: 'studyRole', text: t(\"protocols.practitioner.role\") },\r\n {\r\n dataField: 'studyTasks', text: t(\"protocols.practitioner.studyTasks.title\"),\r\n formatter: function (cell, _row, rowIndex) {\r\n const content = cell?.map((item, index) => {\r\n return
    {item.title}
    ;\r\n })\r\n return
    {content}
    \r\n }\r\n },\r\n {\r\n dataField: 'startOfTask', text: t(\"protocols.practitioner.startOfTask\"), sort: true,\r\n formatter: function (cell) {\r\n return dateFormatter(cell, \"DD/MMM/YYYY\")\r\n }\r\n },\r\n {\r\n dataField: 'endOfTask', text: t(\"protocols.practitioner.endOfTask\"),\r\n formatter: function (cell) {\r\n return dateFormatter(cell, \"DD/MMM/YYYY\")\r\n }\r\n },\r\n {\r\n dataField: 'view',\r\n text: t(\"protocols.practitioner.actions\"),\r\n isDummyField: true,\r\n headerClasses: 'header-protocol-actions',\r\n classes: 'row-protocol-actions',\r\n formatter: function (_cell, row, rowIndex) {\r\n return (\r\n
    \r\n {\r\n onEdit &&\r\n \r\n \r\n \r\n }\r\n {/*\r\n row.hasAudit &&\r\n \r\n \r\n */\r\n }\r\n {\r\n onRemove &&\r\n \r\n \r\n \r\n }\r\n
    \r\n )\r\n }\r\n }\r\n ];\r\n\r\n const expandRow = {\r\n renderer: row => (),\r\n showExpandColumn: true,\r\n onlyOneExpanding: true,\r\n expandByColumnOnly: true,\r\n expandHeaderColumnRenderer: () => {\r\n return ;\r\n },\r\n expandColumnRenderer: ({ expanded, rowKey, expandable }) => {\r\n if (!expandable)\r\n return;\r\n if (expanded) {\r\n return (\r\n -\r\n );\r\n }\r\n return ();\r\n },\r\n nonExpandable: practitioners.filter((item) => item.attachments.length == 0).map(item => item.userId)\r\n };\r\n\r\n const handleTableChange = (type, { page, sizePerPage, sortField, sortOrder }) => {\r\n onTableChange(type, { page, sizePerPage, sortField, sortOrder });\r\n }\r\n\r\n const [modal, setModal] = useState(null);\r\n const handleAuditTrail = (userId) => {\r\n setModal(\r\n { setModal(null); }}\r\n title={t(\"auditTrail.audit\")}\r\n >\r\n \r\n \r\n )\r\n }\r\n\r\n return (\r\n <>\r\n {modal}\r\n <>{t(\"commons.noData\")}}\r\n overlay={overlayFactory({ spinner: true })}\r\n expandRow={expandRow}\r\n pagination={paginationFactory({\r\n page: query.pagination.page,\r\n sizePerPage: query.pagination.sizePerPage,\r\n totalSize: totalSize,\r\n hideSizePerPage: true,\r\n })}\r\n onTableChange={handleTableChange}\r\n />\r\n \r\n );\r\n}\r\n\r\nPractitioners.propTypes = {\r\n protocolId: PropTypes.string.isRequired,\r\n practitioners: PropTypes.array.isRequired,\r\n query: PropTypes.object.isRequired,\r\n totalSize: PropTypes.number.isRequired,\r\n onTableChange: PropTypes.func.isRequired,\r\n onEdit: PropTypes.func.isRequired,\r\n onRemove: PropTypes.func.isRequired\r\n};\r\n\r\nexport const PractitionersForm = props => {\r\n\r\n const {\r\n values,\r\n setFieldValue,\r\n setFieldTouched,\r\n handleSubmit,\r\n studyTasks,\r\n roles,\r\n t\r\n } = props;\r\n\r\n const emptyPractitioner = { practitioner: '', role: '', studyTasks: null, startOfTask: null, endOfTask: null };\r\n if (!values.practitioners) {\r\n values.practitioners = [];\r\n values.practitioners.push(emptyPractitioner);\r\n }\r\n\r\n return (\r\n
    \r\n (\r\n \r\n {values.practitioners && values.practitioners.length > 0 ? (\r\n values.practitioners.map((practitioner, index) => (\r\n \r\n \r\n {t(\"protocols.practitioner.practitioner\")}\r\n \r\n \r\n \r\n \r\n {t(\"protocols.practitioner.role\")}\r\n option.name}\r\n />\r\n \r\n \r\n \r\n arrayHelper.remove(index)} >\r\n \r\n \r\n \r\n \r\n {t(\"protocols.practitioner.studyTasks.title\")}\r\n 0 ? studyTasks : []}\r\n isMulti={true}\r\n closeMenuOnSelect={false}\r\n />\r\n \r\n \r\n \r\n {t(\"protocols.practitioner.startOfTask\")}\r\n \r\n \r\n \r\n \r\n {t(\"protocols.practitioner.endOfTask\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))\r\n ) : \"\"}\r\n\r\n \r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport const PractitionerForm = props => {\r\n\r\n const {\r\n values,\r\n protocolId,\r\n practitionerUserId,\r\n setFieldValue,\r\n setFieldTouched,\r\n handleSubmit,\r\n studyTasks,\r\n roles,\r\n t\r\n } = props;\r\n\r\n if (!values.practitioner) {\r\n return '';\r\n }\r\n\r\n return (\r\n
    \r\n \r\n \r\n {t(\"protocols.practitioner.practitioner\")}\r\n
    {values.practitioner.fullName}
    \r\n {values.practitioner.speciality}\r\n \r\n \r\n {t(\"protocols.practitioner.role\")}\r\n x.id === values.practitioner.studyRoleId)}\r\n onChange={setFieldValue}\r\n onBlur={setFieldTouched}\r\n name={`practitioner.studyRole`}\r\n placeholder={t(\"commons.select\")}\r\n options={roles ? roles : []}\r\n getOptionLabel={(option) => option.name}\r\n />\r\n \r\n \r\n \r\n {t(\"protocols.practitioner.studyTasks.title\")}\r\n 0 ? studyTasks : []}\r\n isMulti={true}\r\n />\r\n \r\n \r\n \r\n {t(\"protocols.practitioner.startOfTask\")}\r\n \r\n \r\n \r\n \r\n {t(\"protocols.practitioner.endOfTask\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n}\r\n","import { useState, useEffect } from \"react\";\r\nimport { getStudyRoles } from \"../../../api/security\";\r\nimport { HandleApiError } from \"../../../components/Notifications/APIErrorHandler\";\r\n\r\nexport const useStudyRoles = () => {\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [data, setData] = useState([]);\r\n const [reload, setReload] = useState(false);\r\n\r\n useEffect(() => {\r\n let isSubscribed = true;\r\n const fetchData = () => {\r\n setIsLoading(true);\r\n setReload(false);\r\n getStudyRoles().then(response => {\r\n if (isSubscribed) {\r\n setData(response.data);\r\n setIsLoading(false);\r\n }\r\n }).catch(error => {\r\n if (isSubscribed) {\r\n setData([]);\r\n setIsLoading(false);\r\n HandleApiError(error);\r\n }\r\n });\r\n };\r\n\r\n fetchData();\r\n\r\n return () => isSubscribed = false;\r\n }, [reload]);\r\n\r\n return [data, isLoading, setReload];\r\n}","import { withFormik } from 'formik';\r\nimport PropTypes from 'prop-types';\r\nimport React from 'react';\r\nimport { Modal as BootstrapModal } from 'react-bootstrap';\r\nimport ReactDOM from 'react-dom';\r\nimport { useTranslation, withTranslation } from 'react-i18next';\r\nimport { addPractitioners, uploadPractitionerAttachment } from '../../../api/protocol';\r\nimport { HandleApiError } from \"../../../components/Notifications/APIErrorHandler\";\r\nimport { Success } from \"../../../components/Notifications/Notifications\";\r\nimport { PractitionersForm } from \"../../../components/Protocols/Practitioners\";\r\nimport { getProtocolPractitionersSchema } from \"../../../components/Validations/FormValidationSchema\";\r\nimport { useStudyRoles } from \"../../Security/Authorization/useStudyRoles\";\r\nimport { useStudyTasks } from '../Hooks';\r\n\r\n\r\nexport const AddPractitionerModal = (props) => {\r\n const { isShowing, hide, protocolId, submit } = props;\r\n const { t } = useTranslation();\r\n\r\n return isShowing ? ReactDOM.createPortal(\r\n \r\n \r\n \r\n {t('protocols.practitioner.addPractitionerTitle')}\r\n \r\n \r\n \r\n \r\n \r\n , document.body\r\n ) : null;\r\n};\r\n\r\nconst ProtocolAddPractitionersContainer = (props) => {\r\n const protocolId = props.protocolId;\r\n const studyTasks = useStudyTasks(protocolId);\r\n const [studyRoles] = useStudyRoles();\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nconst ProtocolAddPractitionersFormik = withTranslation()(withFormik({\r\n mapPropsToValues: () => ({}),\r\n\r\n validationSchema: getProtocolPractitionersSchema(),\r\n\r\n handleSubmit: (values, formikBag) => {\r\n //console.log(\"Posting Practitioners:\", values.practitioners);\r\n\r\n values.practitioners.map(x => { x.studyRoleId = x.studyRole.id; x.studyRole = x.studyRole.name })\r\n\r\n // Add relation Protocol - Practitioner\r\n addPractitioners(formikBag.props.protocolId, values.practitioners)\r\n .then(res => {\r\n var items = res.data\r\n\r\n // Upload Attachmens\r\n var promises = [];\r\n values.practitioners.forEach(relation => {\r\n // Upload attachments if any. \r\n if (relation.attachments && relation.attachments.length > 0) {\r\n const attachmentsUploads = relation.attachments.map(async attachment => {\r\n // Initial FormData\r\n const formData = new FormData();\r\n formData.append(\"attachment\", attachment);\r\n formData.append(\"title\", attachment.name);\r\n\r\n // Make an AJAX upload request using Axios\r\n try {\r\n await uploadPractitionerAttachment(formikBag.props.protocolId, relation.practitioner.userId, formData);\r\n //uploaded = true;\r\n }\r\n catch (error) {\r\n console.log(error.response);\r\n var message = formikBag.props.t(\"protocolNotifications.Attachment_Error\") + attachment.title;\r\n console.log(message);\r\n HandleApiError(error);\r\n }\r\n });\r\n\r\n promises = promises.concat(attachmentsUploads);\r\n }\r\n });\r\n\r\n // Once all the files are uploaded \r\n Promise.all(promises)\r\n .then((response) => {\r\n //console.log(response)\r\n formikBag.setSubmitting(false);\r\n Success(\"protocolNotifications.practitioners_Added\");\r\n formikBag.props.onSubmit(items);\r\n })\r\n .catch(error => console.log(`Error in executing ${error}`));\r\n\r\n }).catch(error => {\r\n console.log(error);\r\n formikBag.setSubmitting(false);\r\n HandleApiError(error);\r\n });\r\n },\r\n\r\n displayName: 'AddPractitioners',\r\n\r\n})(PractitionersForm));\r\n\r\nProtocolAddPractitionersFormik.propTypes = {\r\n onSubmit: PropTypes.func.isRequired,\r\n onCancel: PropTypes.func.isRequired,\r\n protocolId: PropTypes.string.isRequired,\r\n};","import { withFormik } from 'formik';\r\nimport PropTypes from 'prop-types';\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Modal as BootstrapModal } from 'react-bootstrap';\r\nimport ReactDOM from 'react-dom';\r\nimport { useTranslation, withTranslation } from 'react-i18next';\r\nimport { getPractitioner } from '../../../api/protocol';\r\nimport { HandleApiError } from \"../../../components/Notifications/APIErrorHandler\";\r\nimport { PractitionerForm } from \"../../../components/Protocols/Practitioners\";\r\nimport { getProtocolPractitionersSchema } from \"../../../components/Validations/FormValidationSchema\";\r\nimport { useStudyRoles } from \"../../Security/Authorization/useStudyRoles\";\r\nimport { useStudyTasks } from '../Hooks';\r\n\r\nexport const EditPractitionerModal = (props) => {\r\n const { isShowing, hide, protocolId, practitionerId, submit } = props;\r\n const { t } = useTranslation();\r\n\r\n return isShowing ? ReactDOM.createPortal(\r\n \r\n \r\n \r\n {t('protocols.practitioner.editPractitionerTitle')}\r\n \r\n \r\n \r\n \r\n \r\n , document.body\r\n ) : null;\r\n};\r\n\r\nconst ProtocolEditPractitionerContainer = (props) => {\r\n const protocolId = props.protocolId;\r\n const practitionerUserId = props.practitionerId;\r\n const studyTasks = useStudyTasks(protocolId);\r\n const [studyRoles] = useStudyRoles();\r\n\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [practitioner, setPractitioner] = useState(null);\r\n useEffect(() => {\r\n const fetchfData = () => {\r\n setIsLoading(true);\r\n getPractitioner(protocolId, practitionerUserId)\r\n .then(response => {\r\n var res = response.data\r\n //console.log(\"GET Practitioner In Protocol: \", res);\r\n\r\n setPractitioner(res);\r\n setIsLoading(false);\r\n }).catch(error => {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n });\r\n }\r\n\r\n fetchfData();\r\n }, [protocolId, practitionerUserId]);\r\n\r\n const handleSubmit = (practitioner) => {\r\n props.onSubmit(practitioner);\r\n }\r\n\r\n const handleCancel = () => {\r\n props.onClose();\r\n }\r\n\r\n if (!practitioner || !studyTasks || !studyRoles)\r\n return '';\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nconst ProtocolEditPractitionerFormik = withTranslation()(withFormik({\r\n mapPropsToValues: (props) => ({ practitioner: props.practitioner }),\r\n\r\n validationSchema: getProtocolPractitionersSchema(),\r\n\r\n handleSubmit: (values, formikBag) => {\r\n formikBag.props.onSubmit(values.practitioner);\r\n },\r\n\r\n displayName: 'PractitionerForm',\r\n\r\n})(PractitionerForm));\r\n\r\nProtocolEditPractitionerFormik.propTypes = {\r\n onSubmit: PropTypes.func.isRequired,\r\n onCancel: PropTypes.func.isRequired,\r\n protocolId: PropTypes.string.isRequired,\r\n practitionerUserId: PropTypes.string.isRequired,\r\n studyTasks: PropTypes.array.isRequired,\r\n};","import React, { useContext, useEffect, useState } from \"react\";\r\nimport { useTranslation } from 'react-i18next';\r\nimport { editPractitioner, getPractitioners, removePractitioner, uploadPractitionerAttachment } from \"../../../api/protocol\";\r\nimport { CreateAuditModal } from \"../../../components/AuditTrail/AuditModal\";\r\nimport { WithAuth } from \"../../../components/Authorization/WithAuthProtocol\";\r\nimport Card from \"../../../components/Cards/Card\";\r\nimport { Add } from \"../../../components/Icons/Icons\";\r\nimport { HandleApiError } from \"../../../components/Notifications/APIErrorHandler\";\r\nimport { Success } from \"../../../components/Notifications/Notifications\";\r\nimport { Practitioners } from \"../../../components/Protocols/Practitioners\";\r\nimport ProtocolContext from \"../ProtocolContext/ProtocolContext\";\r\nimport { AddPractitionerModal } from \"./AddPractitioners\";\r\nimport { EditPractitionerModal } from \"./EditPractitioner\";\r\nimport { ModalConfirm } from \"../../../components/Modals/ModalConfirm\";\r\n\r\nexport const ProtocolPractitionersContainer = ({ protocolId }) => {\r\n const { t } = useTranslation();\r\n\r\n const [isLoading, setIsLoading] = useState(false);\r\n const context = useContext(ProtocolContext);\r\n const [practitioners, setPractitioners] = useState([]);\r\n const [totalSize, setTotalSize] = useState(0);\r\n const [reload, setReload] = useState(false);\r\n const [query, setQuery] = useState({\r\n pagination: {\r\n page: 1,\r\n sizePerPage: 5,\r\n totalSize: 0\r\n },\r\n sort: {\r\n sortField: \"FullName\",\r\n sortOrder: \"desc\"\r\n }\r\n });\r\n useEffect(() => {\r\n const fetchPractitionersData = () => {\r\n setIsLoading(true);\r\n setReload(false);\r\n getPractitioners(protocolId, query)\r\n .then(response => {\r\n var paginatedData = response.data\r\n //console.log(\"GET Practitioners: \", paginatedData);\r\n\r\n setTotalSize(paginatedData.count);\r\n setPractitioners(paginatedData.data);\r\n setIsLoading(false);\r\n }).catch(error => {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n });\r\n }\r\n\r\n fetchPractitionersData();\r\n }, [protocolId, query, reload]);\r\n\r\n const handleTableChange = (type, { page, sizePerPage, sortField, sortOrder }) => {\r\n\r\n if (type === 'pagination') {\r\n let newQuery = JSON.parse(JSON.stringify(query));\r\n\r\n newQuery.pagination.page = page;\r\n newQuery.pagination.sizePerPage = sizePerPage;\r\n\r\n setQuery(newQuery);\r\n }\r\n\r\n if (type === 'sort') {\r\n let newQuery = JSON.parse(JSON.stringify(query));\r\n\r\n newQuery.sort.sortField = sortField;\r\n newQuery.sort.sortOrder = sortOrder;\r\n\r\n setQuery(newQuery);\r\n }\r\n }\r\n\r\n const [modal, setModal] = useState(null);\r\n const handleEditPractitioner = (practitionerUserId) => {\r\n setModal( setModal(null)}\r\n submit={handleEditedPractitioner}\r\n isShowing={true} />);\r\n }\r\n\r\n const handleEditedPractitioner = (practitioner) => {\r\n setModal( setModal(null)}\r\n onSave={(reason, comments) => confirmEdited(practitioner, reason, comments)}\r\n />)\r\n }\r\n\r\n const confirmEdited = (practitioner, reason, comments) => {\r\n practitioner.audit = {\r\n reason: reason,\r\n comments: comments\r\n }\r\n\r\n if (practitioner.studyRole && practitioner.studyRole.id) {\r\n practitioner.studyRoleId = practitioner.studyRole.id;\r\n practitioner.studyRole = practitioner.studyRole.name;\r\n }\r\n\r\n // Add relation Protocol - Practitioner\r\n editPractitioner(protocolId, practitioner.userId, practitioner)\r\n .then(res => {\r\n //var items = res.data\r\n\r\n // Upload Attachmens\r\n var promises = [];\r\n // Upload attachments if any. \r\n if (practitioner.newattachments && practitioner.newattachments.length > 0) {\r\n const attachmentsUploads = practitioner.newattachments.map(async attachment => {\r\n // Initial FormData\r\n const formData = new FormData();\r\n formData.append(\"attachment\", attachment.file);\r\n formData.append(\"title\", attachment.title);\r\n\r\n // Make an AJAX upload request using Axios\r\n try {\r\n await uploadPractitionerAttachment(protocolId, practitioner.userId, formData);\r\n }\r\n catch (error) { HandleApiError(error); }\r\n });\r\n\r\n promises = promises.concat(attachmentsUploads);\r\n }\r\n\r\n // Once all the files are uploaded \r\n Promise.all(promises)\r\n .then(() => {\r\n Success(\"protocolNotifications.practitioner_Updated\");\r\n setModal(null);\r\n setReload(true);\r\n })\r\n .catch(error => console.log(`Error in executing ${error}`));\r\n\r\n }).catch(error => { HandleApiError(error); });\r\n\r\n }\r\n\r\n const handleAddPractitioner = () => {\r\n setModal( setModal(null)}\r\n submit={() => { setModal(null); setReload(true) }}\r\n isShowing={true} />);\r\n }\r\n\r\n const handleDeletePractitioner = (practitioner) => {\r\n setModal( setModal(null)}\r\n onConfirm={() => { confirmDeletePractitioner(practitioner) }}\r\n />);\r\n }\r\n\r\n const confirmDeletePractitioner = async (practitioner) => {\r\n try {\r\n setModal(null);\r\n await removePractitioner(protocolId, practitioner.userId);\r\n setReload(true);\r\n }\r\n catch (error) {\r\n console.log(error);\r\n HandleApiError(error);\r\n setModal(null)\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n {modal}\r\n \r\n }\r\n content={\r\n \r\n }\r\n />\r\n );\r\n}","import { ErrorMessage, FieldArray } from 'formik';\r\nimport PropTypes from 'prop-types';\r\nimport React, { useState } from 'react';\r\nimport { Col, ControlLabel, FormControl, Grid, Label, Row } from 'react-bootstrap';\r\nimport BootstrapTable from 'react-bootstrap-table-next';\r\nimport 'react-bootstrap-table-next/dist/react-bootstrap-table2.min.css';\r\nimport paginationFactory from 'react-bootstrap-table2-paginator';\r\nimport 'react-bootstrap-table2-paginator/dist/react-bootstrap-table2-paginator.min.css';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { AuditTrail } from '../../containers/Admin/AuditTrail';\r\nimport { patientInProtocolStatus } from \"../../variables/Enums\";\r\nimport { AuditModal } from '../AuditTrail/AuditModal';\r\nimport { PatientPicker } from \"../CustomControls/PatientPicker\";\r\nimport { Audit } from '../Icons/Icons';\r\nimport { Tooltip } from \"../Utils/Tooltips\";\r\nimport { FormErrorMessage } from '../Validations/FormValidationErrors';\r\n\r\nexport const Patients = props => {\r\n const { t } = useTranslation();\r\n const { patients, query, totalSize, onTableChange } = props;\r\n\r\n const columns = [\r\n { dataField: 'numberInProtocol', text: t(\"protocols.patient.nro\"), sort: true },\r\n { dataField: 'fullName', text: t(\"protocols.patient.fullName\"), sort: true },\r\n {\r\n dataField: 'status', text: t(\"protocols.brief.status\"), formatter: function (cell, row, rowIndex, formatExtraData) {\r\n return ();\r\n },\r\n },\r\n {\r\n dataField: 'view',\r\n text: t(\"protocols.practitioner.actions\"),\r\n isDummyField: true,\r\n headerClasses: 'header-protocol-actions',\r\n classes: 'row-protocol-actions',\r\n formatter: function (_cell, row, rowIndex) {\r\n return (\r\n
    \r\n \r\n
    \r\n )\r\n }\r\n }\r\n ];\r\n\r\n const handleTableChange = (type, { page, sizePerPage, sortField, sortOrder }) => {\r\n onTableChange(type, { page, sizePerPage, sortField, sortOrder });\r\n }\r\n\r\n const [modal, setModal] = useState(null);\r\n const handleAuditTrail = (medicalRecordNumber) => {\r\n setModal(\r\n { setModal(null); }}\r\n title={t(\"auditTrail.audit\")}\r\n >\r\n \r\n \r\n )\r\n }\r\n\r\n return (\r\n <>\r\n {modal}\r\n <>{t(\"commons.noData\")}}\r\n />\r\n \r\n );\r\n}\r\n\r\nPatients.propTypes = {\r\n patients: PropTypes.array.isRequired,\r\n query: PropTypes.object.isRequired,\r\n totalSize: PropTypes.number.isRequired,\r\n onTableChange: PropTypes.func.isRequired,\r\n};\r\n\r\nexport const PatientsForm = props => {\r\n\r\n const {\r\n values,\r\n setFieldValue,\r\n setFieldTouched,\r\n handleSubmit,\r\n handleChange,\r\n handleBlur,\r\n t\r\n } = props;\r\n\r\n const empty = { patient: null, numberInProtocol: '' };\r\n if (!values.patients) {\r\n values.patients = [];\r\n values.patients.push(empty);\r\n }\r\n\r\n return (\r\n
    \r\n (\r\n \r\n \r\n {t(\"protocols.patient.nro\")}\r\n {t(\"protocols.patient.patient\")}\r\n {/*{t(\"protocols.patient.actions\")}*/}\r\n \r\n {values.patients && values.patients.length > 0 ? (\r\n values.patients.map((patient, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/*\r\n arrayHelper.remove(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 \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport const PatientStatusInProtocol = ({ status }) => {\r\n const { t } = useTranslation();\r\n let content = '';\r\n switch (status) {\r\n case patientInProtocolStatus.Screening:\r\n content = (); break;\r\n case patientInProtocolStatus.Random:\r\n content = (); break;\r\n case patientInProtocolStatus.Treatment:\r\n content = (); break;\r\n case patientInProtocolStatus.FollowUp:\r\n content = (); break;\r\n case patientInProtocolStatus.Failed:\r\n content = (); break;\r\n case patientInProtocolStatus.LostToFollowUp:\r\n content = (); break;\r\n case patientInProtocolStatus.WithoutDrugs:\r\n content = (); break;\r\n case patientInProtocolStatus.Discontinuation:\r\n content = (); break;\r\n default:\r\n content = \"\";\r\n }\r\n\r\n return {content}\r\n}\r\n\r\nPatientStatusInProtocol.propTypes = {\r\n status: PropTypes.number.isRequired,\r\n};\r\n\r\nexport const PatientNumberForm = props => {\r\n\r\n const {\r\n values,\r\n handleSubmit,\r\n handleChange,\r\n handleBlur,\r\n t\r\n } = props;\r\n\r\n return (\r\n
    \r\n \r\n \r\n {t(\"protocols.patient.nro\")}\r\n {t(\"protocols.patient.patient\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {values.fullName}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n}","import PropTypes from 'prop-types';\r\nimport React from \"react\";\r\nimport { useTranslation } from 'react-i18next';\r\nimport { CustomSelect } from \"../../CustomControls/CustomSelect\";\r\n\r\n\r\nexport const VisitTrackingStatusFilter = (props) => {\r\n const { t } = useTranslation();\r\n const {\r\n selectedStatus,\r\n onChangeFilter,\r\n } = props;\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nVisitTrackingStatusFilter.propTypes = {\r\n onChangeFilter: PropTypes.func.isRequired,\r\n selectedStatus: PropTypes.object,\r\n};\r\n\r\nexport const VisitTrackingStageFilter = (props) => {\r\n const { selectedStage, onChangeFilter, } = props;\r\n const { t } = useTranslation();\r\n return (\r\n <>\r\n \r\n {/*\r\n \r\n
    Etapas a mostrar:
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    */}\r\n \r\n );\r\n}\r\n\r\nVisitTrackingStageFilter.propTypes = {\r\n onChangeFilter: PropTypes.func.isRequired,\r\n selectedStage: PropTypes.object,\r\n};","import { withFormik } from 'formik';\r\nimport PropTypes from 'prop-types';\r\nimport React from 'react';\r\nimport { Modal as BootstrapModal } from 'react-bootstrap';\r\nimport ReactDOM from 'react-dom';\r\nimport { useTranslation, withTranslation } from 'react-i18next';\r\nimport { addPatients } from '../../../api/protocol';\r\nimport { HandleApiError } from \"../../../components/Notifications/APIErrorHandler\";\r\nimport { Success } from \"../../../components/Notifications/Notifications\";\r\nimport { PatientsForm } from '../../../components/Protocols/Patients';\r\nimport { getProtocolPatientsSchema } from '../../../components/Validations/FormValidationSchema';\r\n\r\nexport const AddPatientModal = (props) => {\r\n const { isShowing, hide, submit, protocolId } = props;\r\n const { t } = useTranslation();\r\n\r\n return isShowing ? ReactDOM.createPortal(\r\n \r\n \r\n \r\n {t('protocols.patient.addPatientTitle')}\r\n \r\n \r\n \r\n \r\n \r\n , document.body\r\n ) : null;\r\n};\r\n\r\nconst ProtocolAddPatientsContainer = withTranslation()(withFormik({\r\n mapPropsToValues: (props) => ({}),\r\n\r\n validationSchema: getProtocolPatientsSchema(),\r\n\r\n handleSubmit: (values, formikBag) => {\r\n //console.log(\"Posting Patients:\", values.patients);\r\n const list = values.patients.map(x => {\r\n x.patient.numberInProtocol = x.numberInProtocol;\r\n return x.patient;\r\n });\r\n //console.log(list)\r\n addPatients(formikBag.props.protocolId, list)\r\n .then(res => {\r\n var item = res.data\r\n formikBag.setSubmitting(false);\r\n Success(\"protocolNotifications.patients_Added\");\r\n formikBag.props.onSubmit(item);\r\n }).catch(error => {\r\n console.error(error);\r\n formikBag.setSubmitting(false);\r\n HandleApiError(error);\r\n });\r\n },\r\n\r\n displayName: 'AddPatients',\r\n\r\n})(PatientsForm));\r\n\r\nProtocolAddPatientsContainer.propTypes = {\r\n //onSubmit: PropTypes.func.isRequired,\r\n onCancel: PropTypes.func.isRequired,\r\n protocolId: PropTypes.string.isRequired,\r\n};","import { withFormik } from 'formik';\r\nimport PropTypes from 'prop-types';\r\nimport React from 'react';\r\nimport { Modal as BootstrapModal } from 'react-bootstrap';\r\nimport ReactDOM from 'react-dom';\r\nimport { useTranslation, withTranslation } from 'react-i18next';\r\nimport { PatientNumberForm } from '../../../components/Protocols/Patients';\r\nimport { getProtocolPatientNumberSchema } from '../../../components/Validations/FormValidationSchema';\r\n\r\nexport const PatientNumberModal = (props) => {\r\n const { isShowing, hide, submit, patient } = props;\r\n const { t } = useTranslation();\r\n\r\n return isShowing ? ReactDOM.createPortal(\r\n \r\n \r\n \r\n {t('protocols.patient.changePatientNumber')}\r\n \r\n \r\n \r\n \r\n \r\n , document.body\r\n ) : null;\r\n};\r\n\r\nconst ProtocolPatientNumberContainer = withTranslation()(withFormik({\r\n mapPropsToValues: (props) => (props.patient),\r\n\r\n validationSchema: getProtocolPatientNumberSchema(),\r\n\r\n handleSubmit: (values, formikBag) => {\r\n formikBag.props.onSubmit(values);\r\n },\r\n\r\n displayName: 'PatientNumberForm',\r\n\r\n})(PatientNumberForm));\r\n\r\nProtocolPatientNumberContainer.propTypes = {\r\n onSubmit: PropTypes.func.isRequired,\r\n onCancel: PropTypes.func.isRequired,\r\n protocolId: PropTypes.string.isRequired,\r\n};","import React, { Fragment, useContext, useEffect, useState } from 'react';\r\nimport { Col, Row } from 'react-bootstrap';\r\nimport BootstrapTable from 'react-bootstrap-table-next';\r\nimport 'react-bootstrap-table-next/dist/react-bootstrap-table2.min.css';\r\nimport overlayFactory from 'react-bootstrap-table2-overlay';\r\nimport paginationFactory from 'react-bootstrap-table2-paginator';\r\nimport 'react-bootstrap-table2-paginator/dist/react-bootstrap-table2-paginator.min.css';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { NavLink, useHistory } from 'react-router-dom';\r\nimport { changePatientNumber, getVisitsTracking, removePatient } from '../../../api/protocol';\r\nimport '../../../assets/sass/lbd/_visits-tracking.scss';\r\nimport { CreateAuditModal } from '../../../components/AuditTrail/AuditModal';\r\nimport { WithAuth } from '../../../components/Authorization/WithAuthProtocol';\r\nimport Card from '../../../components/Cards/Card';\r\nimport { CustomSearchBox } from '../../../components/CustomControls/CustomSearchBox';\r\nimport { Add, Edit, Remove } from '../../../components/Icons/Icons';\r\nimport { HandleApiError } from '../../../components/Notifications/APIErrorHandler';\r\nimport { PatientStatusInProtocol } from '../../../components/Protocols/Patients';\r\nimport { VisitTrackingStageFilter, VisitTrackingStatusFilter } from '../../../components/Protocols/Tracking/Filters';\r\nimport { AddPatientModal } from '../Patients/AddPatients';\r\nimport { PatientNumberModal } from '../Patients/PatientNumber';\r\nimport ProtocolContext from '../ProtocolContext/ProtocolContext';\r\nimport { getVisitsTrackingColumns, getVisitsTrackingGrid } from './Services';\r\nimport { ModalConfirm } from '../../../components/Modals/ModalConfirm';\r\n\r\nexport const VisitsTrackingContainer = props => {\r\n const { t } = useTranslation();\r\n const { protocolId } = props;\r\n let history = useHistory();\r\n const context = useContext(ProtocolContext);\r\n\r\n const firstColumns = [\r\n {\r\n dataField: 'numberInProtocol', text: t('protocols.patient.nro'), sort: true, headerStyle: { width: '150px' }, formatter: function (cell, row) {\r\n return <>\r\n {cell}\r\n \r\n \r\n \r\n {\r\n row.visits && row.visits.length === 0 &&\r\n \r\n \r\n \r\n }\r\n ;\r\n }\r\n },\r\n {\r\n dataField: 'fullName', text: 'Int.', sort: true, headerStyle: { width: '150px' }, formatter: function (cell, row, rowIndex) {\r\n return \r\n {cell}\r\n \r\n }\r\n },\r\n {\r\n dataField: 'statusInProtocol', text: 'Status', headerStyle: { width: '150px' }, formatter: function (cell, _row, rowIndex) {\r\n return ()\r\n }\r\n },\r\n ];\r\n\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [modal, setModal] = useState(null);\r\n const [reload, setReload] = useState(false);\r\n const [columns, setColumns] = useState(firstColumns);\r\n const [selectedStage, setSelectedStage] = useState(null);\r\n const [data, setData] = useState([]);\r\n const [totalSize, setTotalSize] = useState(0);\r\n const [query, setQuery] = useState({\r\n pagination: {\r\n page: 1,\r\n sizePerPage: 5,\r\n totalSize: 0\r\n },\r\n sort: {\r\n sortField: 'numberinprotocol',\r\n //sortOrder: 'desc'\r\n },\r\n filters: {}\r\n });\r\n\r\n const [visitTemplates, setVisitTemplates] = useState([]);\r\n const [patientsData, setPatientsData] = useState([]);\r\n useEffect(() => {\r\n const fetchData = () => {\r\n setReload(false);\r\n setIsLoading(true);\r\n getVisitsTracking(protocolId, query)\r\n .then(response => {\r\n var visitTracking = response.data\r\n //console.log(response.data)\r\n let visits = visitTracking.visits;\r\n setVisitTemplates(visits);\r\n let patients = [];\r\n\r\n const currentPatient = new URLSearchParams(props.location.search).get(\"patient\");\r\n if (currentPatient) {\r\n patients = visitTracking.patients.data.filter(patient => (patient.medicalRecordNumber === currentPatient));\r\n } else {\r\n patients = visitTracking.patients.data;\r\n }\r\n\r\n setPatientsData(patients);\r\n\r\n // Armo columnas a mostrar.\r\n const cols = getVisitsTrackingColumns(protocolId, visits, history, t);\r\n let allcolumns = firstColumns.concat(cols);\r\n setColumns(allcolumns);\r\n //console.log(allcolumns)\r\n // Armo grilla\r\n var data = getVisitsTrackingGrid(patients, visits);\r\n setTotalSize(visitTracking.patients.count);\r\n setData(data);\r\n //console.log(data)\r\n setIsLoading(false);\r\n })\r\n .catch(error => {\r\n console.log(error);\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n })\r\n }\r\n\r\n fetchData();\r\n }, [protocolId, query, reload]);\r\n\r\n const handleTableChange = (type, { page, sizePerPage, sortField, sortOrder }) => {\r\n\r\n if (type === 'pagination') {\r\n let newQuery = JSON.parse(JSON.stringify(query));\r\n\r\n newQuery.pagination.page = page;\r\n newQuery.pagination.sizePerPage = sizePerPage;\r\n\r\n setQuery(newQuery);\r\n }\r\n if (type === 'sort') {\r\n let newQuery = JSON.parse(JSON.stringify(query));\r\n\r\n newQuery.sort.sortField = sortField;\r\n newQuery.sort.sortOrder = sortOrder;\r\n\r\n setQuery(newQuery);\r\n }\r\n }\r\n\r\n const handleFilterChange = (filterName, selectedValue) => {\r\n if (filterName) {\r\n\r\n if (filterName === \"patientNumber\") {\r\n var newQuery = JSON.parse(JSON.stringify(query));\r\n newQuery.filters[filterName] = selectedValue;\r\n setQuery(newQuery);\r\n }\r\n if (filterName === \"status\") {\r\n var newQuery = JSON.parse(JSON.stringify(query));\r\n newQuery.filters[filterName] = selectedValue != null ? selectedValue.id : selectedValue;\r\n setQuery(newQuery);\r\n }\r\n if (filterName === \"stage\") {\r\n setSelectedStage(selectedValue);\r\n\r\n let filteredVisits = [];\r\n if (selectedValue != null)\r\n filteredVisits = visitTemplates.filter(x => x.stage === selectedValue.id);\r\n else\r\n filteredVisits = visitTemplates;\r\n\r\n\r\n // Armo columnas a mostrar.\r\n const cols = getVisitsTrackingColumns(protocolId, filteredVisits, history, t);\r\n let allcolumns = firstColumns.concat(cols);\r\n setColumns(allcolumns);\r\n // Armo grilla\r\n var data = getVisitsTrackingGrid(patientsData, filteredVisits);\r\n setTotalSize(patientsData.count);\r\n setData(data);\r\n }\r\n }\r\n }\r\n\r\n const handleAddPatient = () => {\r\n setModal( setModal(null)}\r\n submit={() => { setReload(true); setModal(null) }}\r\n isShowing={true} />);\r\n }\r\n\r\n const handlePatientNumberChange = (patient) => {\r\n setModal( setModal(null)}\r\n submit={(value) => { handleAuditChange(value) }}\r\n isShowing={true}\r\n patient={patient}\r\n />);\r\n }\r\n\r\n const handleAuditChange = (value) => {\r\n setModal( setModal(null)}\r\n onSave={(reason, comments) => confirmChangePatientNumberSubmit(value, reason, comments)}\r\n />)\r\n }\r\n\r\n const confirmChangePatientNumberSubmit = async (patient, reason, comments) => {\r\n try {\r\n patient.audit = {\r\n reason: reason,\r\n comments: comments\r\n }\r\n await changePatientNumber(protocolId, patient.medicalRecordNumber, patient);\r\n setModal(null);\r\n setReload(true);\r\n }\r\n catch (error) {\r\n console.log(error);\r\n HandleApiError(error);\r\n setModal(null)\r\n }\r\n }\r\n\r\n const handleDeletePatient = (patient) => {\r\n setModal( setModal(null)}\r\n onConfirm={() => { confirmDeletePatient(patient) }}\r\n />);\r\n }\r\n\r\n const confirmDeletePatient = async (patient) => {\r\n try {\r\n await removePatient(protocolId, patient.numberInProtocol);\r\n setModal(null);\r\n setReload(true);\r\n }\r\n catch (error) {\r\n console.log(error);\r\n HandleApiError(error);\r\n setModal(null)\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 handleFilterChange(\"patientNumber\", value)} placeholder={t('protocols.visitTracking.searchByNumber')}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n content={\r\n <>\r\n {modal}\r\n\r\n <>{t(\"commons.noData\")}}\r\n loading={isLoading} //only loading is true, react-bootstrap-table will render overlay\r\n overlay={overlayFactory({ spinner: true })}\r\n />\r\n \r\n }\r\n />\r\n \r\n );\r\n}","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport NumericInput from 'react-numeric-input';\r\n\r\nexport const CustomInput = (props) => {\r\n\r\n const { name, mobile, value } = props;\r\n\r\n const handleChange = (value) => {\r\n //console.log(value)\r\n props.onChange(name, value);\r\n };\r\n\r\n const handleBlur = () => {\r\n if (props.onBlur)\r\n props.onBlur(props.name, true);\r\n };\r\n\r\n return ();\r\n}\r\n\r\nCustomInput.propTypes = {\r\n name: PropTypes.string.isRequired,\r\n onChange: PropTypes.func.isRequired,\r\n onBlur: PropTypes.func,\r\n min: PropTypes.number,\r\n max: PropTypes.number,\r\n};\r\nCustomInput.defaultProps = {\r\n mobile: true,\r\n min: 0,\r\n max: 100\r\n};\r\n","import { ErrorMessage } from 'formik';\r\nimport PropTypes from 'prop-types';\r\nimport React, { useState } from 'react';\r\nimport { Col, ControlLabel, FormControl, Grid, HelpBlock, Row } from 'react-bootstrap';\r\nimport { useTranslation } from 'react-i18next';\r\nimport Card from '../../Cards/Card';\r\nimport { CustomCheckbox } from \"../../CustomControls/CustomCheckbox\";\r\nimport { CustomInput } from '../../CustomControls/CustomInput';\r\nimport { CustomSelect } from \"../../CustomControls/CustomSelect\";\r\nimport { Save } from '../../Icons/Icons';\r\nimport { dateFormatter } from '../../Utils/Formatter';\r\nimport { FormErrorMessage } from '../../Validations/FormValidationErrors';\r\nimport { OffsetTypes, Types, VisitStages } from './Enums';\r\nimport { ConfirmSaveModal } from './Modals';\r\n\r\nexport const VisitHeaderForm = props => {\r\n\r\n const {\r\n values,\r\n handleSubmit,\r\n handleChange,\r\n handleBlur,\r\n setFieldValue,\r\n setFieldTouched,\r\n t\r\n } = props;\r\n\r\n const [modal, setModal] = useState(null);\r\n const onSubmit = (e) => {\r\n e.preventDefault();\r\n if (values.visit.version % 1 === 0) {\r\n setModal( setModal(null)}\r\n onConfirm={() => { setModal(null); handleSubmit(); }}\r\n />)\r\n }\r\n else {\r\n handleSubmit();\r\n }\r\n }\r\n\r\n const emptyVisit = {\r\n title: '',\r\n version: '0.1',\r\n stage: null,\r\n type: null,\r\n visitType: null,\r\n offsetType: null,\r\n offsetFrom: null,\r\n offset: 0,\r\n windowPos: 0,\r\n windowNeg: 0,\r\n };\r\n if (!values.visit) {\r\n values.visit = emptyVisit;\r\n }\r\n //{t(\"protocols.visit.visitData\")} ({t(\"commons.version\")}: {values.visit.version})\r\n\r\n return (\r\n
    \r\n {modal}\r\n
    \r\n {values.visit.title}\r\n \r\n \r\n \r\n {t(\"protocols.visit.visitName\")}\r\n \r\n \r\n \r\n \r\n {t(\"protocols.visit.visitType\")}\r\n \r\n \r\n \r\n \r\n {t(\"protocols.visit.visitStage\")}\r\n \r\n \r\n \r\n \r\n {t(\"protocols.visit.visitOrder\")}\r\n \r\n \r\n \r\n {/*\r\n \r\n \r\n */}\r\n \r\n \r\n\r\n {t(\"protocols.visit.visitDate\")}\r\n \r\n\r\n \r\n \r\n {t(\"protocols.visit.visitOffset\")}\r\n \r\n {t(\"protocols.visit.visitOffsetHelp\")}\r\n \r\n \r\n \r\n {t(\"protocols.visit.visitOffsetType\")}\r\n \r\n \r\n \r\n {/*\r\n {t(\"protocols.visit.visitOffsetFrom\")}\r\n x.crossVersionId === values.visit.offsetFrom)}\r\n name={`visit.offsetFrom`}\r\n placeholder={t(\"commons.select\")}\r\n onChange={setFieldValue}\r\n onBlur={setFieldTouched}\r\n options={props.visits}\r\n getOptionValue={(x) => x.crossVersionId}\r\n />\r\n \r\n */}\r\n \r\n {t('protocols.visit.visitWindowNeg')}\r\n \r\n \r\n \r\n \r\n {t('protocols.visit.visitWindowPos')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {t('protocols.visit.visitNotes')}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n}\r\nVisitHeaderForm.propTypes = {\r\n onCancel: PropTypes.func.isRequired,\r\n visits: PropTypes.array.isRequired,\r\n};\r\n\r\nexport const VisitHeader = props => {\r\n\r\n const { visit, visits } = props;\r\n const { t } = useTranslation();\r\n\r\n const title = visit && (\r\n
    \r\n {visit.title} - {t(\"commons.version\")}: {visit.version}\r\n
    \r\n );\r\n const content = (visit && \r\n \r\n \r\n {t(\"protocols.visit.visitType\")}\r\n \r\n \r\n {Types().find(x => x.id === visit.type)?.title}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {t(\"protocols.visit.visitOffset\")}\r\n \r\n \r\n {visit.offset}\r\n \r\n \r\n {t(\"protocols.visit.visitOffsetType\")}\r\n \r\n \r\n {OffsetTypes().find(x => x.id === visit.offsetType)?.title}\r\n \r\n \r\n \r\n \r\n {t(\"protocols.visit.visitWindow\")}\r\n \r\n \r\n - {visit.windowNeg} + {visit.windowPos}\r\n \r\n \r\n {t(\"protocols.visit.visitOffsetFrom\")}\r\n \r\n \r\n {visits.find(x => x.id === visit.offsetFrom)?.title}\r\n \r\n \r\n \r\n \r\n {t(\"protocols.visit.visitStage\")}\r\n \r\n \r\n {VisitStages().find(x => x.id === visit.stage)?.title}\r\n \r\n \r\n \r\n \r\n {t(\"protocols.visit.visitNotes\")}\r\n \r\n \r\n {visit.notes}\r\n \r\n \r\n );\r\n\r\n return (\r\n {t(\"commons.created\")}: {dateFormatter(visit.created, \"DD/MMM/YYYY HH:mm\")} - {t(\"commons.createdBy\")}: {visit.createdBy?.fullName}
    )}\r\n content={content}\r\n />\r\n );\r\n}\r\n\r\nVisitHeader.propTypes = {\r\n visit: PropTypes.object,\r\n onRemoveVisit: PropTypes.func.isRequired,\r\n onPublishVisit: PropTypes.func.isRequired,\r\n};","import { withFormik } from 'formik';\r\nimport React from 'react';\r\nimport { Modal as BootstrapModal } from 'react-bootstrap';\r\nimport ReactDOM from 'react-dom';\r\nimport { useTranslation, withTranslation } from 'react-i18next';\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { copyVisit, createVisit } from '../../../api/protocol';\r\nimport { HandleApiError } from '../../../components/Notifications/APIErrorHandler';\r\nimport { Success } from '../../../components/Notifications/Notifications';\r\nimport { OffsetTypes, Types, VisitStages } from '../../../components/Protocols/Visit/Enums';\r\nimport { VisitHeaderForm } from '../../../components/Protocols/Visit/Header';\r\nimport { getProtocolVisitHeaderSchema } from \"../../../components/Validations/FormValidationSchema\";\r\nimport { useProtocolVisits } from '../Hooks';\r\n\r\n\r\nexport const AddVisitModal = (props) => {\r\n const { isShowing, hide, protocolId, submit } = props;\r\n const { t } = useTranslation();\r\n\r\n return isShowing ? ReactDOM.createPortal(\r\n \r\n \r\n \r\n {t('protocols.visit.addVisitTitle')}\r\n \r\n \r\n \r\n \r\n \r\n , document.body\r\n ) : null;\r\n};\r\n\r\nconst CreateVisitContainer = (props) => {\r\n let history = useHistory();\r\n const protocolId = props.protocolId;\r\n const visits = useProtocolVisits(protocolId);\r\n\r\n const handleSubmit = (visit) => {\r\n history.push(`/admin/protocols/${protocolId}/visitsTemplate/${visit.crossVersionId}`);\r\n }\r\n const handleCancel = () => {\r\n //history.push(`/admin/protocols/${protocolId}/section/visitsTemplate`);\r\n props.onClose();\r\n }\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nconst CreateVisitFormik = withTranslation()(withFormik({\r\n mapPropsToValues: (props) => ({ visit: props.visit }),\r\n //enableReinitialize\r\n\r\n validationSchema: getProtocolVisitHeaderSchema(),\r\n\r\n handleSubmit: (value, formikBag) => {\r\n //console.log(\"Posting Visit Header:\", value.visit);\r\n\r\n let visit = value.visit;\r\n visit.type = visit.type.id;\r\n visit.stage = visit.stage.id;\r\n visit.offsetType = visit.offsetType?.id\r\n visit.offsetFrom = visit.offsetFrom?.id\r\n\r\n createVisit(formikBag.props.protocolId, visit)\r\n .then(res => {\r\n var item = res.data\r\n\r\n formikBag.setSubmitting(false);\r\n Success(\"protocolNotifications.visit_Created\");\r\n formikBag.props.onSubmit(item);\r\n\r\n }).catch(error => {\r\n console.error(error);\r\n formikBag.setSubmitting(false);\r\n HandleApiError(error);\r\n });\r\n },\r\n\r\n displayName: 'CreateVisit',\r\n\r\n})(VisitHeaderForm));\r\n\r\nexport const CopyVisitModal = (props) => {\r\n const { isShowing, hide, protocolId, visitId, submit } = props;\r\n const { t } = useTranslation();\r\n\r\n return isShowing ? ReactDOM.createPortal(\r\n \r\n \r\n \r\n {t('protocols.visit.copyVisitTitle')}\r\n \r\n \r\n \r\n \r\n \r\n , document.body\r\n ) : null;\r\n};\r\n\r\n\r\nconst CopyVisitContainer = (props) => {\r\n let history = useHistory();\r\n const { protocolId, visitId } = props;\r\n\r\n const visits = useProtocolVisits(protocolId);\r\n\r\n const handleSubmit = (visit) => {\r\n history.push(`/admin/protocols/${protocolId}/visitsTemplate/${visit.crossVersionId}`);\r\n }\r\n const handleCancel = () => {\r\n //history.push(`/admin/protocols/${protocolId}/section/visitsTemplate`);\r\n props.onClose();\r\n }\r\n\r\n if (!visitId || visits.length === 0)\r\n return null;\r\n\r\n let visit = visits.filter(x => x.crossVersionId == visitId)[0];\r\n if (!visit) return null;\r\n\r\n let visitCopy = JSON.parse(JSON.stringify(visit));\r\n visitCopy.title = visit.title + \" - Copia\";\r\n visitCopy.type = Types().find(x => x.id == visit.type);\r\n visitCopy.stage = VisitStages().find(x => x.id == visit.stage);\r\n visitCopy.offsetType = OffsetTypes().find(x => x.id == visit.offsetType);\r\n visitCopy.version = 0.1;\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nconst CopyVisitFormik = withTranslation()(withFormik({\r\n mapPropsToValues: (props) => ({ visit: props.visit }),\r\n\r\n validationSchema: getProtocolVisitHeaderSchema(),\r\n\r\n handleSubmit: (value, formikBag) => {\r\n //console.log(\"Posting Visit Header:\", value.visit);\r\n\r\n let visit = value.visit;\r\n visit.type = visit.type.id;\r\n visit.stage = visit.stage.id;\r\n visit.offsetType = visit.offsetType?.id\r\n visit.offsetFrom = visit.offsetFrom?.id\r\n\r\n copyVisit(formikBag.props.protocolId, visit.id, visit)\r\n .then(res => {\r\n var item = res.data\r\n\r\n formikBag.setSubmitting(false);\r\n Success(\"protocolNotifications.visit_Created\");\r\n formikBag.props.onSubmit(item);\r\n\r\n }).catch(error => {\r\n console.error(error);\r\n formikBag.setSubmitting(false);\r\n HandleApiError(error);\r\n });\r\n },\r\n\r\n displayName: 'CopyVisit',\r\n\r\n})(VisitHeaderForm));\r\n","import { withFormik } from 'formik';\r\nimport PropTypes from 'prop-types';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { Modal as BootstrapModal } from 'react-bootstrap';\r\nimport ReactDOM from 'react-dom';\r\nimport { useTranslation, withTranslation } from 'react-i18next';\r\nimport { editVisit, getVisit } from '../../../api/protocol';\r\nimport { HandleApiError } from '../../../components/Notifications/APIErrorHandler';\r\nimport { Success } from '../../../components/Notifications/Notifications';\r\nimport { OffsetTypes, Types, VisitStages } from '../../../components/Protocols/Visit/Enums';\r\nimport { VisitHeaderForm } from '../../../components/Protocols/Visit/Header';\r\nimport { getProtocolVisitHeaderSchema } from \"../../../components/Validations/FormValidationSchema\";\r\nimport { useProtocolVisits } from '../Hooks';\r\n\r\nexport const EditVisitModal = (props) => {\r\n const { isShowing, hide, protocolId, visitId, submit } = props;\r\n const { t } = useTranslation();\r\n\r\n return isShowing ? ReactDOM.createPortal(\r\n \r\n \r\n \r\n {t('protocols.practitioner.editPractitionerTitle')}\r\n \r\n \r\n \r\n \r\n \r\n , document.body\r\n ) : null;\r\n};\r\n\r\nconst EditVisitContainer = (props) => {\r\n const { protocolId, visitId } = props;\r\n\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [visit, setVisit] = useState(null);\r\n const visits = useProtocolVisits(protocolId);\r\n useEffect(() => {\r\n const fetchData = () => {\r\n setIsLoading(true);\r\n getVisit(protocolId, visitId)\r\n .then(response => {\r\n var resVisit = response.data;\r\n resVisit.type = Types().find(x => x.id == resVisit.type);\r\n resVisit.stage = VisitStages().find(x => x.id == resVisit.stage);\r\n resVisit.offsetType = OffsetTypes().find(x => x.id == resVisit.offsetType);\r\n\r\n setVisit(resVisit);\r\n setIsLoading(false);\r\n }).catch(error => {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n });\r\n }\r\n\r\n fetchData();\r\n }, [protocolId, visitId]);\r\n\r\n const handleSubmit = () => {\r\n props.onSubmit();\r\n }\r\n const handleCancel = () => {\r\n props.onClose();\r\n }\r\n\r\n if (isLoading || !visit)\r\n return null;\r\n\r\n return (\r\n \r\n );\r\n}\r\nEditVisitContainer.propTypes = {\r\n protocolId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\r\n visitId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\r\n};\r\n\r\nconst EditVisitFormik = withTranslation()(withFormik({\r\n mapPropsToValues: (props) => ({ visit: props.visit }),\r\n\r\n validationSchema: getProtocolVisitHeaderSchema(),\r\n\r\n handleSubmit: (value, formikBag) => {\r\n let visit = value.visit;\r\n visit.type = visit.type.id;\r\n visit.stage = visit.stage.id;\r\n visit.offsetType = visit.offsetType?.id\r\n visit.offsetFrom = visit.offsetFrom?.id\r\n\r\n editVisit(formikBag.props.protocolId, value.visit.crossVersionId, visit)\r\n .then(res => {\r\n formikBag.setSubmitting(false);\r\n Success(\"protocolNotifications.visit_Updated\");\r\n formikBag.props.onSubmit(res.data);\r\n\r\n }).catch(error => {\r\n console.log(error);\r\n formikBag.setSubmitting(false);\r\n HandleApiError(error);\r\n });\r\n },\r\n\r\n displayName: 'EditVisit',\r\n\r\n})(VisitHeaderForm));\r\n\r\nEditVisitFormik.propTypes = {\r\n onSubmit: PropTypes.func.isRequired,\r\n onCancel: PropTypes.func.isRequired,\r\n protocolId: PropTypes.oneOfType([\r\n PropTypes.string,\r\n PropTypes.number\r\n ]).isRequired,\r\n visit: PropTypes.object.isRequired,\r\n};","import React from \"react\"\r\nimport PropTypes from 'prop-types'\r\nimport { useTranslation } from 'react-i18next'\r\nimport SweetAlert from \"react-bootstrap-sweetalert\"\r\nimport { Grid, Row, Col } from 'react-bootstrap'\r\n\r\nexport const RemoveVisit = (props) => {\r\n const { t } = useTranslation();\r\n\r\n return (\r\n \r\n \r\n \r\n props.onConfirm(props.visitId)}\r\n onCancel={() => { props.onClose() }}\r\n confirmBtnBsStyle=\"danger\"\r\n cancelBtnBsStyle=\"info\"\r\n confirmBtnText={t(\"buttons.delete\")}\r\n cancelBtnText={t(\"buttons.cancel\")}\r\n showCancel\r\n >\r\n {t(\"commons.areyousure\")}\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nRemoveVisit.propTypes = {\r\n onClose: PropTypes.func.isRequired,\r\n onConfirm: PropTypes.func.isRequired,\r\n visitId: PropTypes.string.isRequired,\r\n};\r\n\r\n\r\nexport const RemoveForm = (props) => {\r\n const { t } = useTranslation();\r\n\r\n return (\r\n \r\n \r\n \r\n props.onConfirm(props.id)}\r\n onCancel={() => { props.onClose() }}\r\n confirmBtnBsStyle=\"danger\"\r\n cancelBtnBsStyle=\"info\"\r\n confirmBtnText={t(\"buttons.delete\")}\r\n cancelBtnText={t(\"buttons.cancel\")}\r\n showCancel\r\n >\r\n Are you sure?\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nRemoveForm.propTypes = {\r\n onClose: PropTypes.func.isRequired,\r\n onConfirm: PropTypes.func.isRequired,\r\n visitId: PropTypes.string.isRequired,\r\n};\r\n\r\n\r\nexport const RemoveModal = (props) => {\r\n const { t } = useTranslation();\r\n return (\r\n \r\n \r\n \r\n props.onConfirm(props.id)}\r\n onCancel={() => { props.onClose() }}\r\n confirmBtnBsStyle=\"danger\"\r\n cancelBtnBsStyle=\"info\"\r\n confirmBtnText={t(\"buttons.delete\")}\r\n cancelBtnText={t(\"buttons.cancel\")}\r\n showCancel\r\n >\r\n {props.subtitle}\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nRemoveModal.propTypes = {\r\n onClose: PropTypes.func.isRequired,\r\n onConfirm: PropTypes.func.isRequired,\r\n id: PropTypes.number.isRequired,\r\n};\r\n\r\nexport const PublishModal = (props) => {\r\n const { t } = useTranslation();\r\n return (\r\n \r\n \r\n \r\n props.onConfirm(value, props.id)}\r\n onCancel={() => { props.onClose() }}\r\n confirmBtnBsStyle=\"primary\"\r\n cancelBtnBsStyle=\"info\"\r\n confirmBtnText={t(\"buttons.publish\")}\r\n cancelBtnText={t(\"buttons.cancel\")}\r\n showCancel\r\n >\r\n {props.subtitle}\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nPublishModal.propTypes = {\r\n onClose: PropTypes.func.isRequired,\r\n onConfirm: PropTypes.func.isRequired,\r\n id: PropTypes.string.isRequired,\r\n};","import React, { useContext, useState } from 'react';\r\nimport BootstrapTable from 'react-bootstrap-table-next';\r\nimport 'react-bootstrap-table-next/dist/react-bootstrap-table2.min.css';\r\nimport overlayFactory from 'react-bootstrap-table2-overlay';\r\nimport paginationFactory from 'react-bootstrap-table2-paginator';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { NavLink, useHistory } from \"react-router-dom\";\r\nimport { removeVisit, swapVisits } from '../../../api/protocol';\r\nimport { WithAuth } from '../../../components/Authorization/WithAuthProtocol';\r\nimport Card from '../../../components/Cards/Card';\r\nimport { CustomSelect } from '../../../components/CustomControls/CustomSelect';\r\nimport { Add, Copy, Down, Edit, Remove, Up, View } from '../../../components/Icons/Icons';\r\nimport { HandleApiError } from \"../../../components/Notifications/APIErrorHandler\";\r\nimport { Success } from '../../../components/Notifications/Notifications';\r\nimport { OffsetTypes, VisitStages } from '../../../components/Protocols/Visit/Enums';\r\nimport { Tooltip } from \"../../../components/Utils/Tooltips\";\r\nimport ProtocolContext from '../ProtocolContext/ProtocolContext';\r\nimport { AddVisitModal, CopyVisitModal } from './CreateVisit';\r\nimport { EditVisitModal } from './EditVisit';\r\nimport { RemoveModal } from './RemoveVisit';\r\nimport { useAllVisits } from './useVisits';\r\n\r\nexport const ProtocolVisitsContainer = ({ protocolId }) => {\r\n const { t } = useTranslation();\r\n const context = useContext(ProtocolContext);\r\n let history = useHistory();\r\n const [setData, data, query, totalSize, isLoading, handleTableChange, handleFilterChange] = useAllVisits(protocolId);\r\n\r\n const columns = [\r\n {\r\n dataField: 'sortViews',\r\n text: '',\r\n isDummyField: true,\r\n headerClasses: 'header-swap-btn',\r\n formatter: function (_cell, _row, rowIndex, _formatExtraData) {\r\n if (context.isDisabled) return null;\r\n return (\r\n
    \r\n \r\n {\r\n data.length !== rowIndex + 1 ?\r\n handleSwapVisit(rowIndex, rowIndex + 1)} >\r\n \r\n \r\n : \"\"\r\n }\r\n {\r\n 0 !== rowIndex ?\r\n handleSwapVisit(rowIndex, rowIndex - 1)} >\r\n \r\n \r\n : \"\"\r\n }\r\n \r\n
    \r\n )\r\n }\r\n },\r\n { dataField: 'order', text: t(\"protocols.visit.visitOrder\") },\r\n { dataField: 'title', text: t(\"protocols.visit.visitName\") },\r\n { dataField: 'version', text: t(\"protocols.visit.visitVersion\") },\r\n {\r\n dataField: 'offset', text: t(\"protocols.visit.visitOffset\"),\r\n formatter: function (cell, row) {\r\n return `${cell} ${OffsetTypes().find(x => x.id === row.offsetType)?.title}`;\r\n }\r\n },\r\n {\r\n dataField: 'stage', text: t(\"protocols.visit.visitStage\"),\r\n formatter: function (cell) {\r\n return VisitStages().find(x => x.id === cell)?.title;\r\n }\r\n },\r\n {\r\n dataField: 'view',\r\n text: t(\"commons.actions\"),\r\n isDummyField: true,\r\n headerClasses: 'header-visit-actions',\r\n classes: 'row-visit-actions',\r\n formatter: function (_cell, row, rowIndex) {\r\n return (\r\n
    \r\n {\r\n !context.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 !context.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 const handleSwapVisit = (oldIndex, newIndex) => {\r\n swapVisits(protocolId, data[oldIndex].crossVersionId, data[newIndex].crossVersionId)\r\n .then(res => {\r\n // Hago swap en cliente. \r\n let copiedVisits = JSON.parse(JSON.stringify(data));\r\n copiedVisits[oldIndex].order = newIndex;\r\n copiedVisits[newIndex].order = oldIndex;\r\n\r\n setData(copiedVisits.sort((function (a, b) { return a.order - b.order; })));\r\n })\r\n .catch(error => {\r\n HandleApiError(error);\r\n });\r\n };\r\n\r\n const [modal, setModal] = useState(null);\r\n const handleRemoveVisit = (visitId) => {\r\n console.log(visitId)\r\n setModal( { setModal(null); }}\r\n onConfirm={handleConfirmRemove} />)\r\n }\r\n const handleConfirmRemove = (visitId) => {\r\n if (visitId) {\r\n removeVisit(protocolId, visitId)\r\n .then(() => {\r\n let copiedData = JSON.parse(JSON.stringify(data));\r\n setData(copiedData.filter(obj => obj.crossVersionId !== visitId));\r\n Success(\"protocolNotifications.visit_Removed\");\r\n setModal(null);\r\n }).catch(error => {\r\n console.error(error);\r\n HandleApiError(error);\r\n setModal(null);\r\n });\r\n }\r\n setModal(null);\r\n }\r\n\r\n const handleAddVisit = () => {\r\n setModal( setModal(null)}\r\n submit={() => history.push(`/admin/protocols/${protocolId}/visitsTemplate/`)}\r\n isShowing={true} />);\r\n }\r\n\r\n const handleEditVisit = (visitId) => {\r\n setModal( setModal(null)}\r\n submit={() => history.push(`/admin/protocols/${protocolId}/visitsTemplate/${visitId}`)}\r\n isShowing={true} />);\r\n }\r\n\r\n const handleCopyVisit = (visitId) => {\r\n setModal( setModal(null)}\r\n submit={() => history.push(`/admin/protocols/${protocolId}/visitsTemplate/`)}\r\n isShowing={true} />);\r\n }\r\n\r\n return (\r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n \r\n }\r\n content={\r\n
    \r\n {modal}\r\n <>{t(\"commons.noData\")}}\r\n loading={isLoading}\r\n overlay={overlayFactory({ spinner: true })}\r\n pagination={paginationFactory({\r\n page: query.pagination.page,\r\n sizePerPage: query.pagination.sizePerPage,\r\n totalSize: totalSize,\r\n hideSizePerPage: true,\r\n })}\r\n\r\n onTableChange={handleTableChange}\r\n />\r\n
    \r\n }\r\n />\r\n );\r\n}","import { useEffect, useState } from \"react\";\r\nimport { getAllVisits } from \"../../../api/protocol\";\r\nimport { HandleApiError } from \"../../../components/Notifications/APIErrorHandler\";\r\n\r\nexport const useAllVisits = (protocolId) => {\r\n const [data, setData] = useState([]);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [totalSize, setTotalSize] = useState(0);\r\n const [query, setQuery] = useState({\r\n pagination: {\r\n page: 1,\r\n sizePerPage: 10,\r\n totalSize: 0\r\n },\r\n sort: {\r\n sortField: \"Created\",\r\n sortOrder: \"desc\"\r\n },\r\n filters: [{ stage: 0 }]\r\n });\r\n\r\n useEffect(() => {\r\n let isSubscribed = true;\r\n\r\n const fetchData = async () => {\r\n setIsLoading(true);\r\n try {\r\n const response = await getAllVisits(protocolId, query);\r\n if (isSubscribed) {\r\n const paginatedResult = response.data;\r\n\r\n setTotalSize(paginatedResult.count);\r\n setData(paginatedResult.data);\r\n setIsLoading(false);\r\n }\r\n }\r\n catch (error) {\r\n console.log(error);\r\n if (isSubscribed) {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n\r\n fetchData();\r\n\r\n return () => isSubscribed = false;\r\n }, [protocolId, query]);\r\n\r\n const handleTableChange = (type, { page, sizePerPage, sortField, sortOrder }) => {\r\n\r\n var newQuery = null;\r\n if (type === 'pagination') {\r\n newQuery = JSON.parse(JSON.stringify(query));\r\n\r\n newQuery.pagination.page = page;\r\n newQuery.pagination.sizePerPage = sizePerPage;\r\n\r\n setQuery(newQuery);\r\n }\r\n\r\n if (type === 'sort') {\r\n newQuery = JSON.parse(JSON.stringify(query));\r\n\r\n newQuery.sort.sortField = sortField;\r\n newQuery.sort.sortOrder = sortOrder;\r\n\r\n setQuery(newQuery);\r\n }\r\n }\r\n\r\n const handleFilterChange = (filterName, selectedValue) => {\r\n if (filterName) {\r\n var newQuery = JSON.parse(JSON.stringify(query));\r\n\r\n newQuery.filters[filterName] = selectedValue != null ? selectedValue.id : selectedValue;\r\n\r\n setQuery(newQuery);\r\n }\r\n }\r\n\r\n return [setData, data, query, totalSize, isLoading, handleTableChange, handleFilterChange];\r\n}","import PropTypes from \"prop-types\";\r\nimport React from 'react';\r\nimport { Modal as BootstrapModal, Col, Grid, Row } from 'react-bootstrap';\r\nimport ReactDOM from 'react-dom';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { NavLink } from \"react-router-dom\";\r\nimport { FormAdditional, FormEarlyCompleted, FormExtraProtocol } from '../../../components/Icons/Icons';\r\n\r\nconst NewExtraForm = ({ protocolId, isShowing, hide }) => {\r\n const { t } = useTranslation();\r\n\r\n return isShowing ? ReactDOM.createPortal(\r\n \r\n \r\n \r\n {t(\"protocols.extraForms.newForm\")}\r\n \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n
    {t(\"protocols.extraForms.extraFormType.0\")}
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n
    {t(\"protocols.extraForms.extraFormType.1\")}
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n
    {t(\"protocols.extraForms.extraFormType.2\")}
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    , document.body\r\n ) : null;\r\n}\r\n\r\nNewExtraForm.propTypes = {\r\n isShowing: PropTypes.bool.isRequired,\r\n hide: PropTypes.func.isRequired\r\n};\r\n\r\nexport default NewExtraForm;","import React, { useContext, useState } from 'react';\r\nimport { Alert } from 'react-bootstrap';\r\nimport BootstrapTable from 'react-bootstrap-table-next';\r\nimport 'react-bootstrap-table-next/dist/react-bootstrap-table2.min.css';\r\nimport overlayFactory from 'react-bootstrap-table2-overlay';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { NavLink } from \"react-router-dom\";\r\nimport { WithAuth } from '../../../components/Authorization/WithAuthProtocol';\r\nimport Card from '../../../components/Cards/Card';\r\nimport { Add, Remove, View } from '../../../components/Icons/Icons';\r\nimport { HandleApiError } from \"../../../components/Notifications/APIErrorHandler\";\r\nimport { Success } from '../../../components/Notifications/Notifications';\r\nimport { Tooltip } from \"../../../components/Utils/Tooltips\";\r\nimport ProtocolContext from '../ProtocolContext/ProtocolContext';\r\n\r\nimport { removeExtraForm } from '../../../api/protocolsExtraForms';\r\nimport { RemoveModal } from '../Visits/RemoveVisit';\r\nimport NewExtraForm from './NewExtraForm';\r\nimport { useExtraForms } from './useExtraForms';\r\n\r\nexport const ExtraFormsContainer = ({ protocolId }) => {\r\n const { t } = useTranslation();\r\n const context = useContext(ProtocolContext);\r\n const [setData, data, , , isLoading, handleTableChange,] = useExtraForms(protocolId);\r\n\r\n const columns = [\r\n {\r\n dataField: 'extraFormType', text: t(\"protocols.extraForms.formType\"),\r\n formatter: function (_cell, row) { return t(`protocols.extraForms.extraFormType.${row.extraFormType}`) }\r\n },\r\n { dataField: 'title', text: t(\"protocols.extraForms.name\") },\r\n { dataField: 'type', text: t(\"protocols.extraForms.syncTo\") },\r\n {\r\n dataField: 'view',\r\n text: t(\"commons.actions\"),\r\n isDummyField: true,\r\n headerClasses: 'header-extraform-actions',\r\n classes: 'row-extraform-actions',\r\n formatter: function (_cell, row, rowIndex) {\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n !context.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 const [modal, setModal] = useState(null);\r\n const handleRemove = (formId) => {\r\n if (!formId) return;\r\n setModal( { setModal(null); }}\r\n onConfirm={handleConfirmRemove} />)\r\n }\r\n const handleConfirmRemove = (formId) => {\r\n if (formId) {\r\n removeExtraForm(protocolId, formId)\r\n .then(() => {\r\n let copiedData = JSON.parse(JSON.stringify(data));\r\n setData(copiedData.filter(obj => obj.id !== formId));\r\n Success(\"protocolNotifications.visit_Removed\");\r\n setModal(null);\r\n }).catch(error => {\r\n console.error(error);\r\n HandleApiError(error);\r\n setModal(null);\r\n });\r\n }\r\n setModal(null);\r\n }\r\n\r\n const handleAddExtraForm = () => {\r\n setModal( setModal(null)}\r\n isShowing={true} />);\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 content={\r\n
    \r\n {modal}\r\n <>{t(\"commons.noData\")}}\r\n loading={isLoading}\r\n overlay={overlayFactory({ spinner: true })}\r\n //pagination={paginationFactory({\r\n // page: query.pagination.page,\r\n // sizePerPage: query.pagination.sizePerPage,\r\n // totalSize: totalSize,\r\n // hideSizePerPage: true,\r\n //})}\r\n\r\n onTableChange={handleTableChange}\r\n />\r\n
    \r\n }\r\n />\r\n );\r\n}","import { useEffect, useState } from \"react\";\r\nimport { HandleApiError } from \"../../../components/Notifications/APIErrorHandler\";\r\nimport { getExtraForms } from \"../../../api/protocolsExtraForms\";\r\n\r\nexport const useExtraForms = (protocolId) => {\r\n const [data, setData] = useState([]);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [totalSize, setTotalSize] = useState(0);\r\n const [query, setQuery] = useState({\r\n pagination: {\r\n page: 1,\r\n sizePerPage: 10,\r\n totalSize: 0\r\n },\r\n sort: {\r\n sortField: \"Created\",\r\n sortOrder: \"desc\"\r\n },\r\n //filters: { extraFormType: 0 }\r\n });\r\n\r\n useEffect(() => {\r\n let isSubscribed = true;\r\n\r\n const fetchData = async () => {\r\n setIsLoading(true);\r\n try {\r\n const response = await getExtraForms(protocolId, query);\r\n if (isSubscribed) {\r\n const paginatedResult = response.data;\r\n\r\n setTotalSize(paginatedResult.count);\r\n setData(paginatedResult);\r\n setIsLoading(false);\r\n }\r\n }\r\n catch (error) {\r\n console.log(error);\r\n if (isSubscribed) {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n\r\n fetchData();\r\n\r\n return () => isSubscribed = false;\r\n }, [protocolId, query]);\r\n\r\n const handleTableChange = (type, { page, sizePerPage, sortField, sortOrder }) => {\r\n\r\n var newQuery = null;\r\n if (type === 'pagination') {\r\n newQuery = JSON.parse(JSON.stringify(query));\r\n\r\n newQuery.pagination.page = page;\r\n newQuery.pagination.sizePerPage = sizePerPage;\r\n\r\n setQuery(newQuery);\r\n }\r\n\r\n if (type === 'sort') {\r\n newQuery = JSON.parse(JSON.stringify(query));\r\n\r\n newQuery.sort.sortField = sortField;\r\n newQuery.sort.sortOrder = sortOrder;\r\n\r\n setQuery(newQuery);\r\n }\r\n }\r\n\r\n const handleFilterChange = (filterName, selectedValue) => {\r\n if (filterName) {\r\n var newQuery = JSON.parse(JSON.stringify(query));\r\n\r\n newQuery.filters[filterName] = selectedValue != null ? selectedValue.id : selectedValue;\r\n\r\n setQuery(newQuery);\r\n }\r\n }\r\n\r\n return [setData, data, query, totalSize, isLoading, handleTableChange, handleFilterChange];\r\n}","import React, { useEffect, useState } from 'react';\r\nimport { Col, Grid, Nav, NavItem, Row, Tab } from 'react-bootstrap';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { useAuthProtocol } from '../../components/Authorization/useAuthorization.js';\r\nimport { ProtocolInfo } from '../../components/Protocols/ProtocolInfo.jsx';\r\nimport { ProtocolBriefContainer } from './Brief/Brief.jsx';\r\nimport { ProtocolPractitionersContainer } from './Practitioners/Practitioners.jsx';\r\nimport { ProtocolProvider } from './ProtocolContext/ProtocolProvider.js';\r\nimport { VisitsTrackingContainer } from \"./Tracking/VisitsTracking\";\r\nimport { ProtocolVisitsContainer } from './Visits/Visits.jsx';\r\nimport { ExtraFormsContainer } from './ExtraForms/ExtraForms.js';\r\n\r\nconst ProtocolContainer = (props) => {\r\n const { match: { params: { protocolId, section } } } = props;\r\n const { t } = useTranslation();\r\n const [isAuthorized] = useAuthProtocol(protocolId);\r\n const [selectedTab, setSelectedTab] = useState(section ?? \"brief\");\r\n\r\n useEffect(() => {\r\n setSelectedTab(section);\r\n }, [section]);\r\n\r\n const handleChangeTab = (tab) => {\r\n setSelectedTab(tab)\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default ProtocolContainer;","import React, { useContext } from 'react'\r\nimport PropTypes from 'prop-types';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { Card } from '../../components/Cards/Card';\r\nimport { FormRestriction, IconSVG, Print, Remove } from '../Icons/Icons';\r\nimport { WithAuth } from '../Authorization/WithAuthProtocol';\r\nimport ProtocolContext from '../../containers/Protocols/ProtocolContext/ProtocolContext';\r\nimport { Spinner } from '../Utils/Loaders';\r\n\r\nexport const Actions = (props) => {\r\n const { t } = useTranslation();\r\n const context = useContext(ProtocolContext);\r\n\r\n const { onSave, onPublish, onEdit, onRemove, onBack, onPrint, onFormRestrictions, visit, isLoading } = props;\r\n\r\n var save = null;\r\n if (onSave && !context.isDisabled) {\r\n save = (\r\n \r\n );\r\n }\r\n\r\n var back = null;\r\n if (onBack) {\r\n back = (\r\n \r\n );\r\n }\r\n\r\n var edit = null;\r\n if (onEdit && !context.isDisabled) {\r\n edit = (\r\n \r\n );\r\n }\r\n\r\n var remove = null;\r\n if (onRemove && !context.isDisabled) {\r\n remove = (\r\n \r\n );\r\n }\r\n\r\n var publish = null;\r\n if (onPublish && !context.isDisabled) {\r\n publish = (\r\n \r\n );\r\n }\r\n\r\n var print = null;\r\n if (onPrint) {\r\n print = (\r\n \r\n );\r\n }\r\n\r\n var formRestrictions = null;\r\n if (onFormRestrictions && !context.isDisabled) {\r\n formRestrictions = (\r\n \r\n {t('protocols.visitTracking.formRestrictions.title')}\r\n )\r\n }\r\n\r\n if (isLoading || !visit)\r\n return }\r\n />\r\n\r\n return (\r\n \r\n \r\n {save}\r\n {publish}\r\n {edit}\r\n {formRestrictions}\r\n {remove}\r\n {print}\r\n \r\n {back}\r\n \r\n }\r\n />\r\n );\r\n}\r\n\r\nActions.propTypes = {\r\n onSave: PropTypes.func,\r\n onPublish: PropTypes.func,\r\n onEdit: PropTypes.func,\r\n onBack: PropTypes.func,\r\n};\r\n","import React, { useContext } from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport { NavLink } from \"react-router-dom\"\r\nimport Card from '../../Cards/Card'\r\nimport { Down, Up, Add, Config } from '../../Icons/Icons'\r\nimport { WithAuth } from '../../../components/Authorization/WithAuthProtocol';\r\nimport { Spinner } from '../../../components/Utils/Loaders';\r\nimport { useTranslation } from 'react-i18next'\r\nimport ProtocolContext from '../../../containers/Protocols/ProtocolContext/ProtocolContext'\r\n\r\nexport const VisitForms = props => {\r\n const { t } = useTranslation();\r\n const context = useContext(ProtocolContext);\r\n\r\n const handleSwapForm = (oldIndex, newIndex) => {\r\n props.onSwap(oldIndex, newIndex);\r\n };\r\n\r\n const subTitleComponent = !context.isDisabled && (\r\n {t(\"protocols.visit.addVisitForm\")}\r\n );\r\n\r\n const content = (props.forms &&
      \r\n {props.forms.map((form, index) => (\r\n
    • \r\n \r\n
      \r\n {\r\n props.forms.length !== index + 1 && !context.isDisabled &&\r\n handleSwapForm(index, index + 1)} >\r\n \r\n \r\n }\r\n {\r\n 0 !== index && !context.isDisabled &&\r\n handleSwapForm(index, index - 1)} >\r\n \r\n \r\n }\r\n
      \r\n
      \r\n \r\n {form.title}\r\n \r\n
    • \r\n ))}\r\n
    );\r\n\r\n if (props.isLoading || !props.visitId)\r\n return }\r\n />\r\n\r\n return (\r\n \r\n {subTitleComponent}\r\n \r\n }\r\n content={content}\r\n />\r\n );\r\n}\r\n\r\nVisitForms.propTypes = {\r\n onSwap: PropTypes.func.isRequired,\r\n forms: PropTypes.array,\r\n visitId: PropTypes.oneOfType([\r\n PropTypes.string,\r\n PropTypes.number\r\n ])\r\n};\r\n\r\nexport const VisitExtraForms = props => {\r\n const { t } = useTranslation();\r\n\r\n const content = (props.forms &&
      \r\n {props.forms.map((form, index) => (\r\n
    • \r\n \r\n {form.title}\r\n \r\n
    • \r\n ))}\r\n
    );\r\n\r\n if (props.isLoading || !props.forms)\r\n return }\r\n />\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nVisitExtraForms.propTypes = {\r\n forms: PropTypes.array\r\n};","import React, { useContext } from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport { DropdownButton, MenuItem } from 'react-bootstrap'\r\nimport BootstrapTable from 'react-bootstrap-table-next';\r\nimport 'react-bootstrap-table-next/dist/react-bootstrap-table2.min.css';\r\n\r\nimport Card from '../../Cards/Card';\r\nimport { dateTimeFormatter } from '../../Utils/Formatter';\r\nimport { Tooltip } from '../../Utils/Tooltips';\r\nimport { Check, Comments, Remove } from '../../Icons/Icons';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { WithAuth } from '../../Authorization/WithAuthProtocol';\r\nimport ProtocolContext from '../../../containers/Protocols/ProtocolContext/ProtocolContext';\r\n\r\nconst isDraft = (version) => { return version % 1 !== 0 }\r\nconst hasDraft = (visits) => { return visits.find(x => isDraft(x.version)) }\r\n\r\nexport const VisitHistory = props => {\r\n const { t } = useTranslation();\r\n const context = useContext(ProtocolContext);\r\n\r\n // Establezco campo Status en base a su versión. \r\n let hasActiveVersion = false;\r\n props.visitHistory.map(history => {\r\n history.active = false;\r\n if (isDraft(history.version)) {\r\n history.versionStatus = t(\"protocols.visitHistory.draft\");\r\n }\r\n else {\r\n if (!isDraft(history.version) && !hasActiveVersion) {\r\n hasActiveVersion = true;\r\n history.versionStatus = t(\"protocols.visitHistory.active\");\r\n history.active = true;\r\n }\r\n else {\r\n history.versionStatus = t(\"protocols.visitHistory.history\")\r\n }\r\n }\r\n })\r\n\r\n if (context.isLoading) return null;\r\n\r\n const columns = [\r\n { dataField: 'version', text: t(\"commons.version\") },\r\n { dataField: 'versionStatus', text: t(\"commons.status\") },\r\n { dataField: 'modified', text: t(\"commons.modified\"), formatter: dateTimeFormatter },\r\n { dataField: 'modifiedBy.fullName', text: t(\"commons.modifiedBy\") },\r\n {\r\n dataField: 'versionComments', text: '', formatter: function (_cell, row) {\r\n\r\n if (isDraft(row.version) || !row.versionComments) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n },\r\n {\r\n dataField: 'actions',\r\n text: t(\"commons.actions\"),\r\n isDummyField: true,\r\n headerClasses: 'header-visit-actions',\r\n classes: 'row-visit-actions',\r\n formatter: function (_cell, row, rowIndex) {\r\n\r\n return (\r\n
    \r\n {\r\n !context.isDisabled &&\r\n \r\n }\r\n key={rowIndex}\r\n id={`dropdown-basic-${rowIndex}`}\r\n >\r\n {\r\n isDraft(row.version) || (!hasDraft(props.visitHistory) && row.active) ? ( props.onEditVisit(row.visitId)}> {t(\"protocols.visitHistory.edit\")}) : null\r\n }\r\n {\r\n isDraft(row.version) ? // Draft\r\n (<>\r\n props.onRemoveVisit(row.visitId)}> {t(\"protocols.visitHistory.remove\")}\r\n props.onPublishVisit(row.visitId)}> {t(\"protocols.visitHistory.activate\")}\r\n )\r\n : // History o Active\r\n (<>\r\n {t(\"protocols.visitHistory.createPDF\")}\r\n {t(\"protocols.visitHistory.saveAsTemplate\")}\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 \r\n \r\n }\r\n />\r\n );\r\n}\r\n\r\nVisitHistory.propTypes = {\r\n visitHistory: PropTypes.array.isRequired,\r\n onPublishVisit: PropTypes.func.isRequired,\r\n onRemoveVisit: PropTypes.func.isRequired,\r\n onEditVisit: PropTypes.func.isRequired,\r\n};","import PropTypes from 'prop-types';\r\nimport React, { useState } from 'react';\r\nimport { Col, Grid, Row } from 'react-bootstrap';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { CustomSelect } from '../../CustomControls/CustomSelect';\r\nimport { CustomSwitch } from '../../CustomControls/CustomSwitch';\r\nimport { Save } from '../../Icons/Icons';\r\n\r\nexport const FormsRestrictions = props => {\r\n const { t } = useTranslation();\r\n const { forms, practitioners, isLoading, onSave, onCancel } = props;\r\n\r\n const [selectedPractitioner, setSelectedPractitioner] = useState(null);\r\n const [userFormsRestrictions, setUserFormsRestrictions] = useState([]);\r\n\r\n const handlePractitionerChange = (selected) => {\r\n setSelectedPractitioner(selected);\r\n // Al cambiar de Profesional, cargo sus restricciones\r\n const userFormRestrictions = forms.map((form) => {\r\n return form.formRestrictions?.find(x => x.userId === selected.userId);\r\n }).filter(function (element) { return element !== undefined; });\r\n setUserFormsRestrictions(userFormRestrictions || []);\r\n }\r\n\r\n const handleRestrictionChange = (name, selected, formId) => {\r\n // Modifico State\r\n let userFormsRestrictionsCopy = JSON.parse(JSON.stringify(userFormsRestrictions));\r\n var restriction = userFormsRestrictionsCopy.find(x => x.formId === formId);\r\n\r\n if (!restriction) {\r\n restriction = { formId: formId, userId: selectedPractitioner?.userId, restrictView: false, restrictContribute: false }\r\n restriction[name] = selected;\r\n userFormsRestrictionsCopy.push(restriction);\r\n }\r\n else {\r\n let index = userFormsRestrictionsCopy.findIndex(x => x.formId === formId);\r\n restriction[name] = selected;\r\n userFormsRestrictionsCopy.splice(index, 1, restriction); // Update. \r\n }\r\n\r\n setUserFormsRestrictions(userFormsRestrictionsCopy);\r\n }\r\n\r\n const handleSave = () => {\r\n if (onSave && selectedPractitioner)\r\n onSave(selectedPractitioner.userId, userFormsRestrictions);\r\n }\r\n\r\n const handleCancel = () => {\r\n if (onCancel)\r\n onCancel();\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n option.fullName}\r\n getOptionValue={(option) => option.userId}\r\n onChange={(_name, value) => handlePractitionerChange(value)}\r\n isMulti={false} />\r\n \r\n \r\n \r\n\r\n {\r\n selectedPractitioner &&\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {forms.map((form, idx) => {\r\n let userRestrictions = userFormsRestrictions?.find(x => x.formId === form.id);\r\n if (!userRestrictions)\r\n userRestrictions = { formId: form.id, userId: selectedPractitioner?.userId, restrictView: false, restrictContribute: false }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n })}\r\n \r\n
    {t(\"protocols.visitTracking.formRestrictions.forms\")}{t(\"protocols.visitTracking.formRestrictions.restrictView\")}{t(\"protocols.visitTracking.formRestrictions.restrictContribute\")}
    {form.title}{ handleRestrictionChange(name, value, form.id)} />}{ handleRestrictionChange(name, value, form.id)} />}
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n );\r\n}\r\n\r\nFormsRestrictions.defaultProps = {\r\n}\r\n\r\nFormsRestrictions.propTypes = {\r\n forms: PropTypes.array.isRequired,\r\n practitioners: PropTypes.array.isRequired,\r\n onSave: PropTypes.func.isRequired,\r\n onCancel: PropTypes.func.isRequired\r\n};","import React, { useEffect, useState } from 'react';\r\nimport { getPractitioners, updateFormRestrictionsAPI } from \"../../../api/protocol\";\r\nimport { HandleApiError, HandleMessageError } from \"../../../components/Notifications/APIErrorHandler\";\r\nimport { Success } from \"../../../components/Notifications/Notifications\";\r\nimport { FormsRestrictions } from \"../../../components/Protocols/Tracking/FormsRestrictions\";\r\n\r\nexport const FormRestrictionsContainer = ({ protocolId, forms, onCancel, onClose }) => {\r\n\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [practitioners, setPractitioners] = useState(null);\r\n\r\n useEffect(() => {\r\n let isSubscribed = true;\r\n\r\n const fetchPractitionersData = () => {\r\n setIsLoading(true);\r\n\r\n getPractitioners(protocolId, {\r\n pagination: { page: 1, sizePerPage: 1000, totalSize: 0 },\r\n sort: { sortField: \"FullName\", sortOrder: \"desc\" }\r\n })\r\n .then(response => {\r\n if (isSubscribed) {\r\n var paginatedData = response.data\r\n setPractitioners(paginatedData.data);\r\n setIsLoading(false);\r\n }\r\n }).catch(error => {\r\n if (isSubscribed) {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n }\r\n });\r\n }\r\n\r\n fetchPractitionersData();\r\n\r\n return () => isSubscribed = false;\r\n }, [protocolId]);\r\n\r\n const handleSave = async (userId, restrictions) => {\r\n try {\r\n if (!userId) return HandleMessageError(\"protocolNotifications.visitTracking_formRestrictions_selectUser\");\r\n setIsLoading(true);\r\n await updateFormRestrictionsAPI(protocolId, restrictions);\r\n Success(\"protocolNotifications.visitTracking_formRestrictions_restrictionsSaved\");\r\n setIsLoading(false);\r\n if (onClose)\r\n onClose();\r\n }\r\n catch (error) {\r\n console.log(error);\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n }\r\n }\r\n\r\n const handleCancel = () => {\r\n if (onCancel)\r\n onCancel();\r\n }\r\n\r\n return \r\n}","import React, { useEffect, useState } from 'react';\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { createForm, editForm, getForm, removeForm } from '../../../api/protocol';\r\nimport { createFormTemplate, getFormTemplates, removeFormTemplate } from '../../../api/protocolTemplates';\r\nimport { useAuthProtocol } from '../../../components/Authorization/useAuthorization.js';\r\nimport { HandleApiError } from '../../../components/Notifications/APIErrorHandler';\r\nimport { Success } from '../../../components/Notifications/Notifications';\r\nimport { RemoveModal } from './RemoveVisit';\r\nimport { DynamicFormCreator } from '../../../components/DynamicForm/DynamicFormCreator';\r\n\r\nexport const VisitForm = (props) => {\r\n const { match: { params: { protocolId, formId, visitId } } } = props;\r\n let history = useHistory();\r\n const [isAuthorized] = useAuthProtocol(protocolId);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [form, setForm] = useState(null);\r\n\r\n useEffect(() => {\r\n const fetchData = () => {\r\n setIsLoading(true);\r\n getForm(protocolId, visitId, formId)\r\n .then(response => {\r\n setForm(response.data);\r\n setIsLoading(false);\r\n }).catch(error => {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n });\r\n }\r\n if (formId)\r\n fetchData();\r\n else\r\n setForm({\r\n type: '',\r\n title: ''\r\n });\r\n }, [protocolId, visitId, formId]);\r\n\r\n const [formTemplates, setFormTemplates] = useState([]);\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n setIsLoading(true);\r\n try {\r\n const response = await getFormTemplates(protocolId);\r\n setFormTemplates(response.data);\r\n setIsLoading(false);\r\n }\r\n catch (error) {\r\n setIsLoading(false);\r\n }\r\n }\r\n fetchData();\r\n }, [protocolId]);\r\n\r\n\r\n const handleSaveClick = async (form) => {\r\n if (!form) return;\r\n\r\n setIsLoading(true);\r\n if (!formId) {\r\n try {\r\n await createForm(protocolId, visitId, form);\r\n setIsLoading(false);\r\n Success(\"protocolNotifications.form_Created\");\r\n history.push(`/admin/protocols/${protocolId}/visitsTemplate/${visitId}`);\r\n }\r\n catch (error) {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n }\r\n }\r\n else {\r\n try {\r\n await editForm(protocolId, visitId, formId, form);\r\n setIsLoading(false);\r\n Success(\"protocolNotifications.form_Updated\");\r\n history.push(`/admin/protocols/${protocolId}/visitsTemplate/${visitId}`);\r\n }\r\n catch (error) {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n\r\n const handleRemoveForm = (id) => {\r\n removeForm(protocolId, visitId, id)\r\n .then(() => {\r\n history.push(`/admin/protocols/${protocolId}/visitsTemplate/${visitId}`);\r\n }).catch(error => {\r\n console.error(error);\r\n HandleApiError(error);\r\n });\r\n }\r\n\r\n const handleSaveAsTemplate = async (form) => {\r\n try {\r\n const formTemplate = await createFormTemplate(protocolId, form);\r\n Success(\"protocolNotifications.formTemplate_Created\");\r\n setIsLoading(false);\r\n setFormTemplates([...formTemplates, formTemplate.data]);\r\n } catch (error) {\r\n console.log(error)\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n }\r\n }\r\n\r\n const handleRemoveTemplate = async (templateId) => {\r\n try {\r\n await removeFormTemplate(protocolId, templateId);\r\n Success(\"protocolNotifications.formTemplate_Removed\");\r\n setFormTemplates(formTemplates.filter((item) => item.id !== templateId));\r\n setIsLoading(false);\r\n } catch (error) {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n }\r\n }\r\n\r\n const isDisabled = !isAuthorized([\"Visits.Add\"]);\r\n\r\n return (\r\n \r\n );\r\n}","import { useState, useEffect } from \"react\";\r\nimport { getRoleMasterData, getRoles } from \"../../../api/security\";\r\nimport { HandleApiError } from \"../../../components/Notifications/APIErrorHandler\";\r\n\r\nexport const useRoleMasterData = () => {\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [data, setData] = useState([]);\r\n\r\n useEffect(() => {\r\n let isSubscribed = true;\r\n const fetchData = () => {\r\n setIsLoading(true);\r\n getRoleMasterData().then(response => {\r\n if (isSubscribed) {\r\n setData(response.data);\r\n setIsLoading(false);\r\n }\r\n }).catch(error => {\r\n console.log(error);\r\n setData([]);\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n fetchData();\r\n\r\n return () => isSubscribed = false;\r\n }, []);\r\n\r\n return [isLoading, data];\r\n}\r\n\r\nexport const useRoles = (query) => {\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [data, setData] = useState([]);\r\n const [reload, setReload] = useState(false);\r\n\r\n useEffect(() => {\r\n let isSubscribed = true;\r\n const fetchData = () => {\r\n if (isSubscribed) {\r\n setIsLoading(true);\r\n setReload(false);\r\n getRoles(query).then(response => {\r\n\r\n if (isSubscribed) {\r\n setData(response.data);\r\n setIsLoading(false);\r\n }\r\n }).catch(error => {\r\n HandleApiError(error);\r\n setData([]);\r\n setIsLoading(false);\r\n });\r\n }\r\n };\r\n\r\n fetchData();\r\n\r\n return () => isSubscribed = false;\r\n }, [query, reload]);\r\n\r\n return [data, isLoading, setReload];\r\n}","import PropTypes from 'prop-types'\r\nimport React from \"react\"\r\nimport SweetAlert from \"react-bootstrap-sweetalert\"\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nexport const ConfirmRemoveRole = (props) => {\r\n const { t } = useTranslation();\r\n\r\n return (\r\n \r\n props.onConfirm(props.roleId)}\r\n onCancel={() => { props.onClose() }}\r\n confirmBtnBsStyle=\"success\"\r\n cancelBtnBsStyle=\"info\"\r\n confirmBtnText={t(\"buttons.yes\")}\r\n cancelBtnText={t(\"buttons.no\")}\r\n showCancel\r\n >\r\n \r\n \r\n );\r\n}\r\n\r\nConfirmRemoveRole.propTypes = {\r\n onClose: PropTypes.func.isRequired,\r\n onConfirm: PropTypes.func.isRequired,\r\n roleId: PropTypes.string.isRequired\r\n};","import React, { useEffect, useState } from \"react\";\r\nimport PropTypes from 'prop-types';\r\nimport { CustomSwitch } from \"../CustomControls/CustomSwitch\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useAuthorization } from \"./useAuthorization\";\r\n\r\nexport const Permissions = (props) => {\r\n const { claims, modules, onChange, disabled, name } = props;\r\n const [selectedClaims, setSelectedClaims] = useState([]);\r\n const { t } = useTranslation();\r\n const [, , isAuthorized] = useAuthorization();\r\n\r\n useEffect(() => {\r\n setSelectedClaims(claims);\r\n }, [])\r\n\r\n const handleChange = (claim, value) => {\r\n let claimsCopy = null;\r\n\r\n if (value) {\r\n // Agregado\r\n claimsCopy = [...JSON.parse(JSON.stringify(selectedClaims)), claim];\r\n setSelectedClaims(claimsCopy)\r\n }\r\n else {\r\n // Eliminado\r\n claimsCopy = JSON.parse(JSON.stringify(selectedClaims)).filter(x => x !== claim)\r\n setSelectedClaims(claimsCopy)\r\n }\r\n\r\n if (onChange)\r\n onChange(name, claimsCopy);\r\n };\r\n\r\n const yes = (name) => ();\r\n const no = (name) => ();\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 {modules.map((x, idx) => {\r\n if (!isAuthorized([\"Tenant.View\"]) && x === \"Tenant\")\r\n return \"\";\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
    {t('security.permissions.module')}{t('security.permissions.view')}{t('security.permissions.list')}{t('security.permissions.create')}{t('security.permissions.edit')}{t('security.permissions.delete')}
    {t(`security.permissions.modules.${x}`)}{selectedClaims.filter(c => c == `${x}.View`).length > 0 ? yes(`${x}.View`) : no(`${x}.View`)}{selectedClaims.filter(c => c == `${x}.List`).length > 0 ? yes(`${x}.List`) : no(`${x}.List`)}{selectedClaims.filter(c => c == `${x}.Create`).length > 0 ? yes(`${x}.Create`) : no(`${x}.Create`)}{selectedClaims.filter(c => c == `${x}.Edit`).length > 0 ? yes(`${x}.Edit`) : no(`${x}.Edit`)}{selectedClaims.filter(c => c == `${x}.Delete`).length > 0 ? yes(`${x}.Delete`) : no(`${x}.Delete`)}
    \r\n );\r\n}\r\n\r\nPermissions.propTypes = {\r\n onChange: PropTypes.func,\r\n claims: PropTypes.array.isRequired,\r\n modules: PropTypes.array.isRequired\r\n};\r\n\r\nPermissions.defaultProps = {\r\n disabled: false,\r\n onText: \"Si\",\r\n offText: \"No\",\r\n bsSize: \"small\"\r\n};","import { ErrorMessage } from 'formik';\r\nimport PropTypes from 'prop-types';\r\nimport React, { useState } from 'react';\r\nimport { Col, ControlLabel, FormControl, FormGroup, Grid, Row } from 'react-bootstrap';\r\nimport BootstrapTable from 'react-bootstrap-table-next';\r\nimport 'react-bootstrap-table-next/dist/react-bootstrap-table2.min.css';\r\nimport overlayFactory from 'react-bootstrap-table2-overlay';\r\nimport { useTranslation } from 'react-i18next';\r\nimport Card from '../Cards/Card';\r\nimport { CustomSelect } from '../CustomControls/CustomSelect';\r\nimport { CustomSwitch } from '../CustomControls/CustomSwitch';\r\nimport { Edit, Remove } from '../Icons/Icons';\r\nimport { Tooltip } from \"../Utils/Tooltips\";\r\nimport { FormErrorMessage } from '../Validations/FormValidationErrors';\r\nimport { ConfirmRemoveRole } from './Modals';\r\nimport { Permissions } from './Permissions';\r\nimport { useAuthorization } from './useAuthorization';\r\nimport { WithAuth } from './WithAuth';\r\n\r\nexport const Roles = props => {\r\n const { t } = useTranslation();\r\n const { roles, onEdit, onRemove, isLoading } = props;\r\n const [modal, setModal] = useState(null);\r\n const [, , isAuthorized] = useAuthorization();\r\n\r\n const columns = [\r\n { dataField: 'name', text: t(\"security.roles.name\"), headerStyle: { width: '250px' }, },\r\n { dataField: 'tenant', text: t(\"security.roles.tenant\"), headerStyle: { width: '250px' }, },\r\n {\r\n dataField: 'view',\r\n text: t(\"protocols.practitioner.actions\"),\r\n isDummyField: true,\r\n headerClasses: 'header-actions',\r\n classes: 'row-actions',\r\n formatter: function (_cell, row, rowIndex) {\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 const showModal = (roleId) => {\r\n setModal(\r\n setModal(null)}\r\n onConfirm={(confirmRemove)}\r\n roleId={roleId}\r\n />\r\n );\r\n }\r\n const confirmRemove = (roleId) => {\r\n setModal(null);\r\n onRemove(roleId);\r\n }\r\n\r\n const expandedContent = (row) => {\r\n const modules = [\r\n { id: 0, code: \"Tenant\", title: t(\"security.permissions.modules.Tenant\") },\r\n { id: 1, code: \"Agenda\", title: t(\"security.permissions.modules.Agenda\") },\r\n { id: 2, code: \"Database\", title: t(\"security.permissions.modules.Database\") },\r\n { id: 3, code: \"MedicalRecords\", title: t(\"security.permissions.modules.MedicalRecords\") },\r\n { id: 4, code: \"Protocols\", title: t(\"security.permissions.modules.Protocols\") },\r\n { id: 5, code: \"Security\", title: t(\"security.permissions.modules.Security\") },\r\n { id: 6, code: \"Users\", title: t(\"security.permissions.modules.Users\") },\r\n { id: 7, code: \"Settings\", title: t(\"security.permissions.modules.Settings\") },\r\n ];\r\n\r\n const claims = row.claims;\r\n const yes = ;//;\r\n const no = ; //;\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 {modules.map((x, idx) => {\r\n if (!isAuthorized([\"Tenant.View\"]) && x.code === \"Tenant\")\r\n return \"\";\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
    {t('security.permissions.module')}{t('security.permissions.view')}{t('security.permissions.list')}{t('security.permissions.create')}{t('security.permissions.edit')}{t('security.permissions.delete')}
    {x.title}{claims.filter(c => c == `${x.code}.View`).length > 0 ? yes : no}{claims.filter(c => c == `${x.code}.List`).length > 0 ? yes : no}{claims.filter(c => c == `${x.code}.Create`).length > 0 ? yes : no}{claims.filter(c => c == `${x.code}.Edit`).length > 0 ? yes : no}{claims.filter(c => c == `${x.code}.Delete`).length > 0 ? yes : no}
    \r\n );\r\n }\r\n\r\n const expandRow = {\r\n renderer: expandedContent,\r\n onlyOneExpanding: true,\r\n };\r\n\r\n return (\r\n <>\r\n {modal}\r\n <>{t(\"commons.noData\")}}\r\n loading={isLoading} //only loading is true, react-bootstrap-table will render overlay\r\n overlay={overlayFactory({ spinner: true })}\r\n expandRow={expandRow}\r\n />\r\n \r\n );\r\n}\r\n\r\nRoles.propTypes = {\r\n roles: PropTypes.array.isRequired,\r\n onEdit: PropTypes.func.isRequired,\r\n onRemove: PropTypes.func.isRequired,\r\n};\r\n\r\nexport const RoleForm = props => {\r\n\r\n const {\r\n values,\r\n handleSubmit,\r\n handleChange,\r\n handleBlur,\r\n setFieldValue,\r\n setFieldTouched,\r\n masterData,\r\n tenants,\r\n } = props;\r\n\r\n const { t } = useTranslation();\r\n\r\n if (!values.role) {\r\n values.role = {\r\n name: '',\r\n claims: [],\r\n tenant: {}\r\n };\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {\r\n tenants && tenants.length > 0 &&\r\n \r\n \r\n {t('security.users.tenant')}\r\n x.tenantName}\r\n getOptionValue={x => x.tenantId}\r\n />\r\n \r\n \r\n \r\n }\r\n \r\n \r\n {t(\"security.roles.name\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {t(\"security.roles.permissions\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n />\r\n );\r\n}\r\n","import axios from './index';\r\n\r\nexport const getTenants = () => {\r\n return axios.get(`api/v1/tenant`);\r\n};\r\nexport const getTenant = (tenantId) => {\r\n return axios.get(`api/v1/tenant/${tenantId}`);\r\n};\r\nexport const createTenant = (tenant) => {\r\n return axios.post(`api/v1/tenant`, tenant);\r\n};\r\nexport const editTenant = (tenantId, tenant) => {\r\n return axios.put(`api/v1/tenant/${tenantId}`, tenant);\r\n};\r\nexport const removeTenant = (tenantId) => {\r\n return axios.delete(`api/v1/tenant/${tenantId}`);\r\n};","import { useState } from \"react\";\r\nimport { HandleApiError } from \"../../components/Notifications/APIErrorHandler\";\r\nimport { getTenant, getTenants, editTenant, createTenant, removeTenant } from \"../../api/tenants\";\r\n\r\nexport const useTenants = () => {\r\n const [tenants, setTenants] = useState([]);\r\n const [isLoading, setIsLoading] = useState(false);\r\n\r\n const getAll = () => {\r\n setIsLoading(true);\r\n getTenants()\r\n .then(response => {\r\n setTenants(response.data);\r\n setIsLoading(false);\r\n }).catch(error => {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n });\r\n }\r\n\r\n const get = async (tenantId, isSubscribed) => {\r\n\r\n try {\r\n setIsLoading(true);\r\n const resp = await getTenant(tenantId);\r\n\r\n if (isSubscribed) {\r\n setIsLoading(false);\r\n return resp.data;\r\n }\r\n\r\n } catch (error) {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n return {};\r\n }\r\n\r\n //return getTenant(tenantId);\r\n }\r\n\r\n const create = (tenantId, data) => {\r\n return createTenant(tenantId, data);\r\n }\r\n\r\n const update = (tenantId, data) => {\r\n return editTenant(tenantId, data);\r\n }\r\n\r\n const remove = (tenantId) => {\r\n return removeTenant(tenantId);\r\n }\r\n\r\n return [tenants, isLoading, getAll, get, create, update, remove];\r\n}","import React, { useEffect } from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { withFormik } from 'formik';\r\nimport { withTranslation } from 'react-i18next';\r\n\r\nimport { createRole } from \"../../../api/security\";\r\nimport { useRoleMasterData } from \"./useRoles\";\r\nimport { getRoleSchema } from \"../../../components/Validations/FormValidationSchema\";\r\nimport { RoleForm } from \"../../../components/Authorization/Roles\";\r\nimport { Success } from '../../../components/Notifications/Notifications';\r\nimport { HandleApiError } from '../../../components/Notifications/APIErrorHandler';\r\nimport { useTenants } from \"../../Tenants/Hooks\";\r\nimport { Spinner } from \"../../../components/Utils/Loaders\";\r\nimport { useAuthorization } from \"../../../components/Authorization/useAuthorization\";\r\n\r\nexport const CreateRoleContainer = () => {\r\n let history = useHistory();\r\n const [isLoading, data] = useRoleMasterData();\r\n const [tenants, isLoadingTenants, getAll] = useTenants();\r\n const [,, isAuthorized] = useAuthorization();\r\n\r\n useEffect(() => {\r\n let isSubscribed = true;\r\n const fetchData = async () => { await getAll(); }\r\n\r\n if (isAuthorized([\"Tenant.List\"]))\r\n fetchData();\r\n\r\n return () => isSubscribed = false;\r\n }, []);\r\n\r\n const handleSubmit = () => {\r\n history.push(`/admin/settings/roles`);\r\n }\r\n const handleCancel = () => {\r\n history.goBack()\r\n //history.push(`/admin/settings/roles`);\r\n }\r\n\r\n if (isLoading || isLoadingTenants) return ;\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nconst CreateRoleContainerFormik = withTranslation()(withFormik({\r\n mapPropsToValues: () => ({}),\r\n\r\n validationSchema: getRoleSchema(),\r\n\r\n handleSubmit: (values, formikBag) => {\r\n //console.log(\"Posting Role:\", values.role);\r\n\r\n const role = {\r\n name: values.role.name,\r\n claims: values.role.claims,\r\n tenant: values.role.tenant\r\n }\r\n\r\n createRole(role)\r\n .then(res => {\r\n var role = res.data;\r\n formikBag.setSubmitting(false);\r\n Success(\"securityNotifications.role_Created\");\r\n formikBag.props.onSubmit(role);\r\n }).catch(error => {\r\n console.log(error);\r\n formikBag.setSubmitting(false);\r\n HandleApiError(error);\r\n });\r\n },\r\n\r\n displayName: 'RoleForm',\r\n\r\n})(RoleForm));\r\n","import React, { useEffect, useState } from \"react\";\r\nimport PropTypes from 'prop-types';\r\nimport { CustomSwitch } from \"../CustomControls/CustomSwitch\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\nexport const StudyPermissions = (props) => {\r\n const { claims, onChange, disabled, name } = props;\r\n const [selectedClaims, setSelectedClaims] = useState([]);\r\n const { t } = useTranslation();\r\n\r\n const modules = [\r\n { id: 1, code: \"Brief\", title: t(\"protocolStudyRoles.modules.brief\") },\r\n { id: 2, code: \"Practitioners\", title: t(\"protocolStudyRoles.modules.practitioners\") },\r\n { id: 3, code: \"Patients\", title: t(\"protocolStudyRoles.modules.patients\") },\r\n { id: 4, code: \"Visits\", title: t(\"protocolStudyRoles.modules.visits\") },\r\n { id: 5, code: \"VisitTracking\", title: t(\"protocolStudyRoles.modules.visitTracking\") },\r\n { id: 6, code: \"InternalNotes\", title: t(\"protocolStudyRoles.modules.internalNotes\") },\r\n { id: 7, code: \"ExternalNotes\", title: t(\"protocolStudyRoles.modules.externalNotes\") },\r\n ];\r\n\r\n useEffect(() => {\r\n setSelectedClaims(claims);\r\n }, [])\r\n\r\n const handleChange = (permission, value) => {\r\n const splitted = permission.split('.');\r\n const module = parseInt(splitted[0]);\r\n const action = parseInt(splitted[1]);\r\n\r\n let permissionsCopy = null;\r\n\r\n if (value) {\r\n // Agregado\r\n permissionsCopy = [...JSON.parse(JSON.stringify(selectedClaims)), { module, action }];\r\n setSelectedClaims(permissionsCopy)\r\n }\r\n else {\r\n // Eliminado\r\n const indexToRemove = selectedClaims.findIndex(x => x.module === module && x.action === action);\r\n permissionsCopy = JSON.parse(JSON.stringify(selectedClaims)).filter((_, i) => i !== indexToRemove);\r\n setSelectedClaims(permissionsCopy)\r\n }\r\n\r\n if (onChange)\r\n onChange(name, permissionsCopy);\r\n };\r\n\r\n const yes = (name) => ();\r\n const no = (name) => ();\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 {modules.map((x, idx) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n (idx === 3 || idx === 4) &&\r\n \r\n }\r\n {\r\n (idx === 0) &&\r\n \r\n }\r\n {\r\n (idx === 4) &&\r\n \r\n }\r\n {\r\n (idx === 4) &&\r\n \r\n }\r\n \r\n )\r\n })}\r\n \r\n
    {t('security.permissions.module')}{t('security.permissions.view')}{t('security.permissions.list')}{t('security.permissions.create')}{t('security.permissions.edit')}{t('security.permissions.delete')}
    {x.title}{selectedClaims.filter(c => c.module === x.id && c.action === 5).length > 0 ? yes(`${x.id}.5`) : no(`${x.id}.5`)}{selectedClaims.filter(c => c.module === x.id && c.action === 4).length > 0 ? yes(`${x.id}.4`) : no(`${x.id}.4`)}{selectedClaims.filter(c => c.module === x.id && c.action === 1).length > 0 ? yes(`${x.id}.1`) : no(`${x.id}.1`)}{selectedClaims.filter(c => c.module === x.id && c.action === 2).length > 0 ? yes(`${x.id}.2`) : no(`${x.id}.2`)}{selectedClaims.filter(c => c.module === x.id && c.action === 3).length > 0 ? yes(`${x.id}.3`) : no(`${x.id}.3`)}{t('security.permissions.publish')}{selectedClaims.filter(c => c.module === x.id && c.action === 6).length > 0 ? yes(`${x.id}.6`) : no(`${x.id}.6`)}{t('security.permissions.close')}{selectedClaims.filter(c => c.module === x.id && c.action === 7).length > 0 ? yes(`${x.id}.7`) : no(`${x.id}.7`)}{t('security.permissions.upload')}{selectedClaims.filter(c => c.module === x.id && c.action === 8).length > 0 ? yes(`${x.id}.8`) : no(`${x.id}.8`)}{t('security.permissions.exportPatientVisit')}{selectedClaims.filter(c => c.module === x.id && c.action === 9).length > 0 ? yes(`${x.id}.9`) : no(`${x.id}.9`)}
    \r\n );\r\n}\r\n\r\nStudyPermissions.propTypes = {\r\n onChange: PropTypes.func,\r\n claims: PropTypes.array.isRequired\r\n};\r\n\r\nStudyPermissions.defaultProps = {\r\n disabled: false,\r\n onText: \"Si\",\r\n offText: \"No\",\r\n bsSize: \"small\"\r\n};","import { ErrorMessage } from 'formik';\r\nimport PropTypes from 'prop-types';\r\nimport React, { useState } from 'react';\r\nimport { Col, ControlLabel, FormControl, FormGroup, Grid, Label, Row } from 'react-bootstrap';\r\nimport BootstrapTable from 'react-bootstrap-table-next';\r\nimport 'react-bootstrap-table-next/dist/react-bootstrap-table2.min.css';\r\nimport { useTranslation } from 'react-i18next';\r\nimport Card from '../Cards/Card';\r\nimport { CustomSwitch } from '../CustomControls/CustomSwitch';\r\nimport { Edit, Remove } from '../Icons/Icons';\r\nimport { Tooltip } from \"../Utils/Tooltips\";\r\nimport { FormErrorMessage } from '../Validations/FormValidationErrors';\r\nimport { ConfirmRemoveRole } from './Modals';\r\nimport { StudyPermissions } from './StudyPermissions';\r\nimport { WithAuth } from './WithAuth';\r\n\r\nexport const StudyRoles = props => {\r\n const { t } = useTranslation();\r\n const { roles, onEdit, onRemove, isLoading } = props;\r\n const [modal, setModal] = useState(null);\r\n\r\n const columns = [\r\n { dataField: 'name', text: t(\"security.studyRoles.name\"), headerStyle: { width: '250px' }, },\r\n {\r\n dataField: 'view',\r\n text: t(\"protocols.practitioner.actions\"),\r\n isDummyField: true,\r\n headerClasses: 'header-actions',\r\n classes: 'row-actions',\r\n formatter: function (_cell, row, rowIndex, _formatExtraData) {\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 const showModal = (roleId) => {\r\n setModal(\r\n setModal(null)}\r\n onConfirm={(confirmRemove)}\r\n roleId={roleId}\r\n />\r\n );\r\n }\r\n const confirmRemove = (roleId) => {\r\n setModal(null);\r\n onRemove(roleId);\r\n }\r\n\r\n const expandedContent = (row) => {\r\n const modules = [\r\n { id: 1, code: \"Brief\", title: t(\"protocolStudyRoles.modules.brief\") },\r\n { id: 2, code: \"Practitioners\", title: t(\"protocolStudyRoles.modules.practitioners\") },\r\n { id: 3, code: \"Patients\", title: t(\"protocolStudyRoles.modules.patients\") },\r\n { id: 4, code: \"Visits\", title: t(\"protocolStudyRoles.modules.visits\") },\r\n { id: 5, code: \"VisitTracking\", title: t(\"protocolStudyRoles.modules.visitTracking\") },\r\n { id: 6, code: \"InternalNotes\", title: t(\"protocolStudyRoles.modules.internalNotes\") },\r\n { id: 7, code: \"ExternalNotes\", title: t(\"protocolStudyRoles.modules.externalNotes\") },\r\n ];\r\n\r\n const permissions = row.permissions;\r\n const yes = ;\r\n const no = ;\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 {modules.map((x, idx) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n (idx === 0) &&\r\n \r\n }\r\n {\r\n (idx === 3 || idx === 4) &&\r\n \r\n }\r\n {\r\n (idx === 4) &&\r\n \r\n }\r\n {\r\n (idx === 4) &&\r\n \r\n }\r\n \r\n )\r\n })}\r\n \r\n
    {t('security.permissions.module')}{t('security.permissions.view')}{t('security.permissions.list')}{t('security.permissions.create')}{t('security.permissions.edit')}{t('security.permissions.delete')}
    {x.title}{permissions.filter(c => c == `${x.code}.View`).length > 0 ? yes : no}{permissions.filter(c => c == `${x.code}.List`).length > 0 ? yes : no}{permissions.filter(c => c == `${x.code}.Add`).length > 0 ? yes : no}{permissions.filter(c => c == `${x.code}.Edit`).length > 0 ? yes : no}{permissions.filter(c => c == `${x.code}.Delete`).length > 0 ? yes : no}{t('security.permissions.close')}{permissions.filter(c => c == `${x.code}.Close`).length > 0 ? yes : no}{t('security.permissions.publish')}{permissions.filter(c => c == `${x.code}.Publish`).length > 0 ? yes : no}{t('security.permissions.upload')}{permissions.filter(c => c === `${x.code}.UploadFile`).length > 0 ? yes : no}{t('security.permissions.exportPatientVisit')}{permissions.filter(c => c === `${x.code}.ExportPatientVisit`).length > 0 ? yes : no}
    \r\n );\r\n }\r\n\r\n const expandRow = {\r\n renderer: expandedContent,\r\n onlyOneExpanding: true,\r\n };\r\n\r\n return (\r\n <>\r\n {modal}\r\n <>{t(\"commons.noData\")}}\r\n expandRow={expandRow}\r\n />\r\n \r\n );\r\n}\r\n\r\nStudyRoles.propTypes = {\r\n roles: PropTypes.array.isRequired,\r\n onEdit: PropTypes.func.isRequired,\r\n onRemove: PropTypes.func.isRequired,\r\n};\r\n\r\nexport const StudyRoleForm = props => {\r\n\r\n const {\r\n values,\r\n handleSubmit,\r\n handleChange,\r\n handleBlur,\r\n setFieldValue,\r\n } = props;\r\n\r\n const { t } = useTranslation();\r\n\r\n if (!values.role) {\r\n values.role = {\r\n name: '',\r\n permissions: []\r\n };\r\n }\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {t(\"security.studyRoles.name\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {t(\"security.roles.permissions\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n />\r\n );\r\n}","import React from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { withFormik } from 'formik';\r\nimport { withTranslation } from 'react-i18next';\r\n\r\nimport { createStudyRole } from \"../../../api/security\";\r\nimport { getStudyRoleSchema } from \"../../../components/Validations/FormValidationSchema\";\r\nimport { StudyRoleForm } from \"../../../components/Authorization/StudyRoles\";\r\nimport { Success } from '../../../components/Notifications/Notifications';\r\nimport { HandleApiError } from '../../../components/Notifications/APIErrorHandler';\r\n\r\nexport const CreateStudyRoleContainer = () => {\r\n let history = useHistory();\r\n\r\n const handleSubmit = () => {\r\n history.push(`/admin/settings/studyRoles`);\r\n }\r\n const handleCancel = () => {\r\n history.push(`/admin/settings/studyRoles`);\r\n }\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nconst CreateStudyRoleContainerFormik = withTranslation()(withFormik({\r\n mapPropsToValues: () => ({}),\r\n\r\n validationSchema: getStudyRoleSchema(),\r\n\r\n handleSubmit: (values, formikBag) => {\r\n const role = {\r\n name: values.role.name,\r\n permissions: values.role.permissions//.flat().filter(x => x)\r\n }\r\n //console.log(\"Posting StudyRole:\", values);\r\n createStudyRole(role)\r\n .then(res => {\r\n var role = res.data;\r\n formikBag.setSubmitting(false);\r\n Success(\"protocolNotifications.protocol_Created\");\r\n formikBag.props.onSubmit(role);\r\n }).catch(error => {\r\n console.log(error);\r\n formikBag.setSubmitting(false);\r\n HandleApiError(error);\r\n });\r\n },\r\n\r\n displayName: 'StudyRoleForm',\r\n\r\n})(StudyRoleForm));\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport PropTypes from 'prop-types'\r\nimport { withFormik } from 'formik';\r\nimport { withTranslation } from 'react-i18next';\r\n\r\nimport { getRole, editRole } from \"../../../api/security\";\r\nimport { useRoleMasterData } from \"./useRoles\";\r\nimport { getRoleSchema } from \"../../../components/Validations/FormValidationSchema\";\r\nimport { RoleForm } from \"../../../components/Authorization/Roles\";\r\nimport { Success } from '../../../components/Notifications/Notifications';\r\nimport { HandleApiError } from '../../../components/Notifications/APIErrorHandler';\r\n\r\nexport const EditRoleContainer = (props) => {\r\n let history = useHistory();\r\n const { match: { params } } = props;\r\n\r\n const [isRoleLoading, masterData] = useRoleMasterData();\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [role, setRole] = useState(null);\r\n useEffect(() => {\r\n const fetchData = () => {\r\n setIsLoading(true);\r\n getRole(params.roleId)\r\n .then(response => {\r\n var role = response.data;\r\n //console.log(\"GET Role: \", role);\r\n //role.claims = role.claims.map(x => ({ id: x, title: x }));\r\n setRole(role);\r\n setIsLoading(false);\r\n }).catch(error => {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n });\r\n }\r\n fetchData();\r\n }, [params.roleId]);\r\n\r\n const handleSubmit = (brief) => {\r\n history.push(`/admin/settings/roles`);\r\n }\r\n const handleCancel = () => {\r\n history.push(`/admin/settings/roles`);\r\n }\r\n\r\n if (isRoleLoading || isLoading)\r\n return null;\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nconst EditRoleContainerFormik = withTranslation()(withFormik({\r\n mapPropsToValues: (props) => ({ role: props.role }),\r\n\r\n validationSchema: getRoleSchema(),\r\n\r\n handleSubmit: (values, formikBag) => {\r\n //console.log(\"Puting Role:\", values.role);\r\n const role = {\r\n id: values.role.id,\r\n name: values.role.name,\r\n claims: values.role.claims\r\n }\r\n\r\n editRole(role.id, role)\r\n .then(res => {\r\n var role = res.data;\r\n formikBag.setSubmitting(false);\r\n Success(\"securityNotifications.role_Updated\");\r\n formikBag.props.onSubmit(role);\r\n }).catch(error => {\r\n console.log(error);\r\n formikBag.setSubmitting(false);\r\n HandleApiError(error);\r\n });\r\n },\r\n\r\n displayName: 'RoleForm',\r\n\r\n})(RoleForm));\r\n\r\nEditRoleContainerFormik.propTypes = {\r\n onSubmit: PropTypes.func.isRequired,\r\n onCancel: PropTypes.func.isRequired,\r\n masterData: PropTypes.object.isRequired,\r\n};","import React, { useState, useEffect } from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport PropTypes from 'prop-types'\r\nimport { withFormik } from 'formik';\r\nimport { withTranslation } from 'react-i18next';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nimport { getStudyRole, editStudyRole } from \"../../../api/security\";\r\nimport { getStudyRoleSchema } from \"../../../components/Validations/FormValidationSchema\";\r\nimport { StudyRoleForm } from \"../../../components/Authorization/StudyRoles\";\r\nimport { Success } from '../../../components/Notifications/Notifications';\r\nimport { HandleApiError } from '../../../components/Notifications/APIErrorHandler';\r\nimport { groupBy } from \"../../../components/Utils/Commons\";\r\nimport { Spinner } from \"../../../components/Utils/Loaders\";\r\n\r\nexport const EditStudyRoleContainer = (props) => {\r\n let history = useHistory();\r\n const { match: { params } } = props;\r\n const { t } = useTranslation();\r\n\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [role, setRole] = useState(null);\r\n\r\n useEffect(() => {\r\n const fetchData = () => {\r\n setIsLoading(true);\r\n getStudyRole(params.roleId)\r\n .then(response => {\r\n var role = response.data;\r\n //console.log(\"DatabaseRoles \", role)\r\n //role.permissions = groupBy(role.permissions.map(x => ({ ...x, title: t(`protocolStudyRoles.actions.${x.action}`) })), \"module\");\r\n setRole(role);\r\n setIsLoading(false);\r\n }).catch(error => {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n });\r\n }\r\n fetchData();\r\n }, [params.roleId]);\r\n\r\n const handleSubmit = () => {\r\n history.push(`/admin/settings/studyRoles`);\r\n }\r\n const handleCancel = () => {\r\n history.push(`/admin/settings/studyRoles`);\r\n }\r\n\r\n if (!role)\r\n return null;\r\n\r\n if (isLoading)\r\n return \r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nconst EditStudyRoleContainerFormik = withTranslation()(withFormik({\r\n mapPropsToValues: (props) => ({ role: props.role }),\r\n\r\n validationSchema: getStudyRoleSchema(),\r\n\r\n handleSubmit: (values, formikBag) => {\r\n const role = {\r\n id: values.role.id,\r\n name: values.role.name,\r\n permissions: values.role.permissions\r\n }\r\n\r\n //let permissions = [];\r\n //for (let index = 1; index < 6; index++) { // Hay 5 modulos.\r\n // if (values.role.permissions[index]) {\r\n // permissions = permissions.concat(values.role.permissions[index]);\r\n // }\r\n //}\r\n //role.permissions = permissions;\r\n\r\n editStudyRole(role.id, role)\r\n .then(res => {\r\n var role = res.data;\r\n formikBag.setSubmitting(false);\r\n Success(\"protocolNotifications.protocol_Updated\");\r\n formikBag.props.onSubmit(role);\r\n }).catch(error => {\r\n console.log(error);\r\n formikBag.setSubmitting(false);\r\n HandleApiError(error);\r\n });\r\n },\r\n\r\n displayName: 'RoleForm',\r\n\r\n})(StudyRoleForm));\r\n\r\nEditStudyRoleContainerFormik.propTypes = {\r\n onSubmit: PropTypes.func.isRequired,\r\n onCancel: PropTypes.func.isRequired,\r\n};","import React from 'react';\r\n\r\n// this is the equivalent to the createStore method of Redux\r\n// https://redux.js.org/api/createstore\r\n\r\nconst AdminContext = React.createContext();\r\n\r\nexport default AdminContext;","import React, { useContext, useEffect, useState } from \"react\";\r\nimport { useTranslation } from 'react-i18next';\r\nimport { NavLink, useHistory } from \"react-router-dom\";\r\nimport { removeRole } from \"../../../api/security\";\r\nimport { Roles } from \"../../../components/Authorization/Roles\";\r\nimport { WithAuth } from \"../../../components/Authorization/WithAuth\";\r\nimport Card from \"../../../components/Cards/Card\";\r\nimport { Add } from \"../../../components/Icons/Icons\";\r\nimport { HandleApiError } from \"../../../components/Notifications/APIErrorHandler\";\r\nimport { Success } from \"../../../components/Notifications/Notifications\";\r\nimport AdminContext from \"../../Settings/AdminContext/AdminContext\";\r\nimport { useRoles } from \"./useRoles\";\r\n\r\n\r\nexport const RolesContainer = () => {\r\n let history = useHistory();\r\n const { t } = useTranslation();\r\n const [query, setQuery] = useState({\r\n filters: {}\r\n });\r\n\r\n const [roles, isLoading, reloadRoles] = useRoles(query);\r\n const context = useContext(AdminContext);\r\n\r\n useEffect(() => {\r\n var newQuery = JSON.parse(JSON.stringify(query));\r\n newQuery.filters[\"TenantId\"] = context?.selectedTenant != null ? context.selectedTenant.tenantId : null;\r\n setQuery(newQuery);\r\n\r\n }, [context]);\r\n\r\n const handleEditRole = (roleId) => {\r\n history.push(`/admin/settings/roles/${roleId}`);\r\n }\r\n\r\n const handleRemoveRole = (roleId) => {\r\n if (roleId) {\r\n removeRole(roleId)\r\n .then(res => {\r\n reloadRoles(true);\r\n Success(\"security.roles.removed\");\r\n })\r\n .catch(error => { HandleApiError(error); })\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n {t(\"security.roles.add\")}\r\n \r\n \r\n }\r\n content={\r\n \r\n }\r\n />\r\n );\r\n}","import React from \"react\";\r\nimport { NavLink, useHistory } from \"react-router-dom\"\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nimport { removeStudyRole } from \"../../../api/security\";\r\nimport { Success } from \"../../../components/Notifications/Notifications\";\r\nimport { HandleApiError } from \"../../../components/Notifications/APIErrorHandler\";\r\nimport Card from \"../../../components/Cards/Card\";\r\nimport { StudyRoles } from \"../../../components/Authorization/StudyRoles\";\r\nimport { WithAuth } from \"../../../components/Authorization/WithAuth\";\r\nimport { useStudyRoles } from \"./useStudyRoles\";\r\nimport { Add } from \"../../../components/Icons/Icons\";\r\n\r\nexport const StudyRolesContainer = (props) => {\r\n let history = useHistory();\r\n const { t } = useTranslation();\r\n\r\n const [roles, isLoading, reloadRoles] = useStudyRoles();\r\n\r\n const handleEditRole = (roleId) => {\r\n history.push(`/admin/settings/studyRoles/${roleId}`);\r\n }\r\n\r\n const handleRemoveRole = (roleId) => {\r\n if (roleId) {\r\n removeStudyRole(roleId)\r\n .then(res => {\r\n reloadRoles(true);\r\n Success(\"security.studyRole.removed\");\r\n })\r\n .catch(error => { HandleApiError(error); })\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n {t(\"security.studyRoles.add\")}\r\n \r\n \r\n }\r\n content={\r\n \r\n }\r\n />\r\n );\r\n}","import { ErrorMessage } from 'formik';\r\nimport React from 'react';\r\nimport { Col, ControlLabel, FormControl, FormGroup, Grid, Row } from 'react-bootstrap';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { NavLink } from 'react-router-dom';\r\nimport { WithAuth } from '../Authorization/WithAuth';\r\nimport { YesNo } from '../CustomControls/YesNoControls';\r\nimport { FormErrorMessage } from '../Validations/FormValidationErrors';\r\n\r\nexport const TenantForm = props => {\r\n const {\r\n handleSubmit,\r\n isSubmitting,\r\n values,\r\n handleChange,\r\n handleBlur,\r\n setFieldValue,\r\n errors,\r\n touched,\r\n } = props;\r\n\r\n const { t } = useTranslation();\r\n\r\n return (\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n

    Datos del Cliente

    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n {t('security.tenant.name')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {t('security.tenant.domain')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {t('security.tenant.servicePlan')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {t('security.tenant.isActive')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n {t('buttons.cancel')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n};","import { withFormik } from 'formik';\r\nimport PropTypes from 'prop-types';\r\nimport React from \"react\";\r\nimport { withTranslation } from 'react-i18next';\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { HandleApiError } from '../../components/Notifications/APIErrorHandler';\r\nimport { Success } from '../../components/Notifications/Notifications';\r\nimport { TenantForm } from '../../components/Tenants/Tenant';\r\nimport { getTenantSchema } from '../../components/Validations/FormValidationSchema';\r\nimport { useTenants } from \"./Hooks\";\r\n\r\nexport const CreateTenantContainer = () => {\r\n let history = useHistory();\r\n const [, isLoading, , , create] = useTenants();\r\n\r\n const handleCreate = async (tenant) => {\r\n try {\r\n await create(tenant);\r\n Success(\"tenantNotifications.tenant_Created\");\r\n history.push(`/admin/tenant`)\r\n }\r\n catch (error) {\r\n HandleApiError(error);\r\n history.push(`/admin/tenant`)\r\n }\r\n }\r\n\r\n return (\r\n history.push(`/admin/tenant`)}\r\n />\r\n );\r\n}\r\n\r\nconst CreateTenantFormik = withTranslation()(withFormik({\r\n\r\n mapPropsToValues: () => ({ tenantName: '', tenantDomain: '', servicePlan: '', isActive: null }),\r\n enableReinitialize: true,\r\n validationSchema: getTenantSchema(),\r\n\r\n handleSubmit: (tenant, formikBag) => {\r\n formikBag.props.onSubmit(tenant);\r\n },\r\n\r\n displayName: 'TenantForm',\r\n\r\n})(TenantForm));\r\n\r\nCreateTenantFormik.propTypes = {\r\n onSubmit: PropTypes.func.isRequired,\r\n onCancel: PropTypes.func.isRequired,\r\n};","import { withFormik } from 'formik';\r\nimport PropTypes from 'prop-types';\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { withTranslation } from 'react-i18next';\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { HandleApiError } from '../../components/Notifications/APIErrorHandler';\r\nimport { Success } from '../../components/Notifications/Notifications';\r\nimport { TenantForm } from \"../../components/Tenants/Tenant\";\r\nimport { getTenantSchema } from \"../../components/Validations/FormValidationSchema\";\r\nimport { useTenants } from './Hooks';\r\n\r\nexport const EditTenantContainer = (props) => {\r\n const { match: { params: { tenantId } } } = props;\r\n let history = useHistory();\r\n\r\n const [data, setData] = useState({});\r\n const [, isLoading, , get, , update] = useTenants();\r\n\r\n useEffect(() => {\r\n let isSubscribed = true;\r\n\r\n const fetchData = async () => {\r\n const resp = await get(tenantId, isSubscribed);\r\n if (isSubscribed)\r\n setData(resp);\r\n }\r\n\r\n fetchData();\r\n\r\n return () => isSubscribed = false;\r\n }, [tenantId]);\r\n\r\n if (isLoading)\r\n return null;\r\n\r\n const handleEdit = async (tenant) => {\r\n try {\r\n await update(tenant.tenantId, tenant);\r\n Success(\"tenantNotifications.tenant_Updated\");\r\n history.goBack()\r\n }\r\n catch (ex) {\r\n console.log(ex);\r\n HandleApiError(ex);\r\n }\r\n }\r\n\r\n return (\r\n history.goBack()}\r\n tenant={data}\r\n />\r\n );\r\n}\r\n\r\nconst EditTenantFormik = withTranslation()(withFormik({\r\n\r\n mapPropsToValues: (props) => (props.tenant),\r\n enableReinitialize: true,\r\n validationSchema: getTenantSchema(),\r\n\r\n handleSubmit: async (tenant, formikBag) => {\r\n formikBag.props.onSubmit(tenant);\r\n },\r\n\r\n displayName: 'TenantForm',\r\n\r\n})(TenantForm));\r\n\r\nEditTenantFormik.propTypes = {\r\n onSubmit: PropTypes.func.isRequired,\r\n onCancel: PropTypes.func.isRequired,\r\n tenant: PropTypes.object.isRequired,\r\n};","import PropTypes from 'prop-types';\r\nimport React from 'react';\r\nimport BootstrapTable from 'react-bootstrap-table-next';\r\nimport 'react-bootstrap-table-next/dist/react-bootstrap-table2.min.css';\r\nimport overlayFactory from 'react-bootstrap-table2-overlay';\r\nimport 'react-bootstrap-table2-paginator/dist/react-bootstrap-table2-paginator.min.css';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { NavLink } from 'react-router-dom';\r\nimport { WithAuth } from '../Authorization/WithAuth';\r\nimport { Edit, Remove } from '../Icons/Icons';\r\nimport { statusFormatter } from '../Table/Formatters';\r\nimport { Tooltip } from \"../Utils/Tooltips\";\r\n\r\nexport const Tenants = props => {\r\n\r\n const { data, isLoading } = props;\r\n const { t } = useTranslation();\r\n\r\n const columns = [\r\n { dataField: 'tenantId', text: t('security.tenant.id') },\r\n { dataField: 'tenantName', text: t('security.tenant.name') },\r\n { dataField: 'tenantDomain', text: t('security.tenant.domain') },\r\n { dataField: 'servicePlan', text: t('security.tenant.servicePlan') },\r\n { dataField: 'isActive', text: t('security.tenant.isActive'), formatter: statusFormatter, headerStyle: { width: '100px' } },\r\n {\r\n dataField: 'view', text: t(\"commons.actions\"), isDummyField: true, headerStyle: { width: '150px' },\r\n formatter: function (_cell, row, rowIndex, _formatExtraData) {\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n )\r\n }\r\n }\r\n ];\r\n\r\n return (\r\n <>{t(\"commons.noData\")}}\r\n loading={isLoading}\r\n overlay={overlayFactory({ spinner: true })}\r\n />\r\n );\r\n}\r\n\r\nTenants.propTypes = {\r\n data: PropTypes.array.isRequired,\r\n isLoading: PropTypes.bool.isRequired,\r\n};\r\n\r\n","import React, { useEffect } from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { NavLink } from \"react-router-dom\";\r\nimport { WithAuth } from '../../components/Authorization/WithAuth';\r\n//Components\r\nimport Card from '../../components/Cards/Card';\r\nimport { Add } from '../../components/Icons/Icons';\r\nimport { Tenants } from '../../components/Tenants/Tenants';\r\nimport { useTenants } from './Hooks';\r\n\r\nexport const TenantsContainer = () => {\r\n const { t } = useTranslation();\r\n\r\n const [tenants, isLoading, getAll] = useTenants(); //, get, create, update, remove\r\n\r\n useEffect(() => {\r\n let isSubscribed = true;\r\n\r\n const fetchData = async () => {\r\n await getAll();\r\n }\r\n\r\n fetchData();\r\n\r\n return () => isSubscribed = false;\r\n }, []);\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n \r\n \r\n {t('security.tenant.add')}\r\n \r\n \r\n
    \r\n
    \r\n \r\n }\r\n content={\r\n \r\n }\r\n />\r\n );\r\n}","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport { NavLink } from 'react-router-dom';\r\nimport { ErrorMessage } from 'formik';\r\nimport { useTranslation } from 'react-i18next'\r\nimport { FormGroup, ControlLabel, FormControl, Grid, Row, Col, InputGroup } from 'react-bootstrap';\r\nimport BootstrapTable from 'react-bootstrap-table-next';\r\nimport paginationFactory from 'react-bootstrap-table2-paginator';\r\nimport overlayFactory from 'react-bootstrap-table2-overlay';\r\nimport 'react-bootstrap-table-next/dist/react-bootstrap-table2.min.css';\r\nimport 'react-bootstrap-table2-paginator/dist/react-bootstrap-table2-paginator.min.css';\r\n\r\nimport { FormErrorMessage } from '../Validations/FormValidationErrors';\r\nimport { Tooltip } from \"../Utils/Tooltips\"\r\nimport { CustomSelect } from '../CustomControls/CustomSelect';\r\nimport { statusFormatter } from \"../Table/Formatters\"\r\nimport { Edit, ViewPractitioner, Config } from '../Icons/Icons';\r\nimport { WithAuth } from '../Authorization/WithAuth';\r\n\r\nexport const Users = props => {\r\n\r\n const { data, query, totalSize, onTableChange, isLoading } = props;\r\n const { t } = useTranslation();\r\n\r\n const columns = [\r\n { dataField: 'tenant', text: t('security.users.tenant') },\r\n { dataField: 'fullName', text: t('security.users.fullName'), sort: true },\r\n { dataField: 'userName', text: t('security.users.userName'), sort: true },\r\n //{ dataField: 'contact', text: t('security.users.contact'), headerStyle: { width: '150px' } },\r\n { dataField: 'role', text: t('security.users.role'), headerStyle: { width: '150px' } },\r\n { dataField: 'speciality', text: t('person.speciality'), headerStyle: { width: '200px' } },\r\n { dataField: 'active', text: t('security.users.status'), formatter: statusFormatter, headerStyle: { width: '100px' } },\r\n {\r\n dataField: 'view', text: t(\"commons.actions\"), isDummyField: true, headerStyle: { width: '150px' },\r\n formatter: function (_cell, row, rowIndex, _formatExtraData) {\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n )\r\n }\r\n }\r\n ];\r\n\r\n const handleTableChange = (type, { page, sizePerPage, sortField, sortOrder }) => {\r\n onTableChange(type, { page, sizePerPage, sortField, sortOrder });\r\n }\r\n\r\n return (\r\n <>{t(\"commons.noData\")}}\r\n pagination={paginationFactory({\r\n page: query.pagination.page,\r\n sizePerPage: query.pagination.sizePerPage,\r\n totalSize: totalSize,\r\n hideSizePerPage: true,\r\n })}\r\n onTableChange={handleTableChange}\r\n loading={isLoading} //only loading is true, react-bootstrap-table will render overlay\r\n overlay={overlayFactory({ spinner: true })}\r\n />\r\n );\r\n}\r\n\r\nUsers.propTypes = {\r\n data: PropTypes.array.isRequired,\r\n query: PropTypes.object.isRequired,\r\n totalSize: PropTypes.number.isRequired,\r\n onTableChange: PropTypes.func.isRequired,\r\n};\r\n\r\nexport const UserForm = props => {\r\n const {\r\n handleSubmit,\r\n isSubmitting,\r\n values,\r\n handleChange,\r\n handleBlur,\r\n setFieldValue,\r\n setFieldTouched,\r\n errors,\r\n touched,\r\n roles,\r\n tenants\r\n } = props;\r\n\r\n const { t } = useTranslation();\r\n return (\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n

    {t('security.users.tenant')}

    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {\r\n tenants && tenants.length > 0 &&\r\n \r\n \r\n {t('security.users.tenant')}\r\n x.tenantName}\r\n getOptionValue={x => x.tenantId}\r\n />\r\n \r\n \r\n }\r\n \r\n \r\n {t('security.users.given')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {t('security.users.familyName')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {t('security.users.email')}\r\n \r\n \r\n @{values.tenant.tenantDomain}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {t('security.users.workEmail')}\r\n \r\n \r\n \r\n \r\n {/*\r\n \r\n {t('security.users.password')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {t('security.users.confirmPassword')}\r\n \r\n \r\n \r\n */}\r\n \r\n \r\n {t('security.users.role')}\r\n x.name}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n {t('buttons.back')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n};","import { withFormik } from 'formik';\r\nimport PropTypes from 'prop-types';\r\nimport React, { useEffect } from \"react\";\r\nimport { withTranslation } from 'react-i18next';\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { createUser } from \"../../api/identity\";\r\nimport { useAuthorization } from '../../components/Authorization/useAuthorization';\r\nimport { HandleApiError } from '../../components/Notifications/APIErrorHandler';\r\nimport { Success } from '../../components/Notifications/Notifications';\r\nimport { UserForm } from \"../../components/Users/Users\";\r\nimport { Spinner } from '../../components/Utils/Loaders';\r\nimport { getUserSchema } from \"../../components/Validations/FormValidationSchema\";\r\nimport { useRoleMasterData } from \"../Security/Authorization/useRoles\";\r\nimport { useTenants } from '../Tenants/Hooks';\r\n\r\nexport const CreateUserContainer = () => {\r\n let history = useHistory();\r\n const [isLoading, data] = useRoleMasterData();\r\n const [tenants, isLoadingTenants, getAll] = useTenants();\r\n\r\n const [,, isAuthorized] = useAuthorization();\r\n\r\n useEffect(() => {\r\n let isSubscribed = true;\r\n const fetchData = async () => { await getAll(); }\r\n\r\n if (isAuthorized([\"Tenant.List\"]))\r\n fetchData();\r\n\r\n return () => isSubscribed = false;\r\n }, []);\r\n\r\n if (isLoading || isLoadingTenants) return ;\r\n\r\n return (\r\n history.push(`/admin/users`)}\r\n onCancel={() => history.goBack()}//(`/admin/users`)}\r\n roles={data ? data.roles : []}\r\n tenants={tenants ? tenants : []}\r\n />\r\n );\r\n}\r\n\r\nconst CreateUserFormik = withTranslation()(withFormik({\r\n\r\n mapPropsToValues: () => ({\r\n given: '', familyName: '',\r\n userName: '', \r\n role: '', tenant: '', workEmail: ''\r\n }),\r\n enableReinitialize: true,\r\n validationSchema: getUserSchema(),\r\n\r\n handleSubmit: (user, formikBag) => {\r\n createUser(user)\r\n .then(res => {\r\n formikBag.setSubmitting(false);\r\n Success(\"userNotifications.user_Created\");\r\n formikBag.props.onSubmit();\r\n }).catch(error => {\r\n formikBag.setSubmitting(false);\r\n HandleApiError(error);\r\n //formikBag.props.onCancel();\r\n });\r\n },\r\n\r\n displayName: 'UserForm',\r\n\r\n})(UserForm));\r\n\r\nCreateUserFormik.propTypes = {\r\n onSubmit: PropTypes.func.isRequired,\r\n onCancel: PropTypes.func.isRequired,\r\n roles: PropTypes.array.isRequired,\r\n tenants: PropTypes.array.isRequired,\r\n};","import axios from './index';\r\n\r\nexport const uploadCerts = (data) => {\r\n return axios.post('api/v1/digitalSign/upload', data);\r\n};\r\n\r\nexport const signData = (data) => {\r\n return axios.post('api/v1/digitalSign/sign', data);\r\n};\r\n\r\nexport const verifySign = (data) => {\r\n return axios.post('api/v1/digitalSign/verify', data);\r\n};\r\n\r\nexport const getIsDigitalSignEnabled = () => {\r\n return axios.get('api/v1/digitalSign/enabled');\r\n}\r\n","import React from \"react\";\r\nimport { Col, Row } from 'react-bootstrap';\r\nimport { useTranslation } from 'react-i18next';\r\nimport Card from \"../Cards/Card\";\r\n\r\nexport const ProfessionalData = props => {\r\n const { t } = useTranslation();\r\n\r\n const data = props.data;\r\n\r\n return (\r\n \r\n \r\n
    \r\n
    {t(\"person.registrationNumber\")}: {data.registrationNumber}
    \r\n
    \r\n \r\n \r\n
    \r\n
    {t(\"person.speciality\")}: {data.speciality}
    \r\n
    \r\n \r\n
    \r\n }\r\n />\r\n );\r\n}","import React from 'react';\r\nimport { Col, ControlLabel, FormControl, Grid, Row } from 'react-bootstrap';\r\nimport Card from '../Cards/Card';\r\nimport { SnomedPicker } from \"../CustomControls/SnomedPicker\";\r\n\r\nexport const ProfessionalDataForm = props => {\r\n\r\n const {\r\n values,\r\n handleChange,\r\n handleBlur,\r\n setFieldValue,\r\n setFieldTouched,\r\n t,\r\n } = props;\r\n\r\n var defaultSelected = [];\r\n if (values && values.speciality) {\r\n defaultSelected.push({ conceptId: \"\", description: values.speciality });\r\n }\r\n\r\n return (\r\n
    \r\n {t(\"person.professionalData\")}\r\n \r\n \r\n \r\n \r\n \r\n {t(\"person.registrationNumber\")}\r\n \r\n \r\n \r\n {t(\"person.speciality\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n />\r\n
    \r\n );\r\n}","import { PixelCrop } from 'react-image-crop'\r\n\r\nconst TO_RADIANS = Math.PI / 180\r\n\r\nexport async function canvasPreview(\r\n image: HTMLImageElement,\r\n canvas: HTMLCanvasElement,\r\n crop: PixelCrop,\r\n scale = 1,\r\n rotate = 0,\r\n) {\r\n const ctx = canvas.getContext('2d')\r\n\r\n if (!ctx) {\r\n throw new Error('No 2d context')\r\n }\r\n\r\n const scaleX = image.naturalWidth / image.width\r\n const scaleY = image.naturalHeight / image.height\r\n // devicePixelRatio slightly increases sharpness on retina devices\r\n // at the expense of slightly slower render times and needing to\r\n // size the image back down if you want to download/upload and be\r\n // true to the images natural size.\r\n const pixelRatio = window.devicePixelRatio\r\n // const pixelRatio = 1\r\n\r\n canvas.width = Math.floor(crop.width * scaleX * pixelRatio)\r\n canvas.height = Math.floor(crop.height * scaleY * pixelRatio)\r\n\r\n ctx.scale(pixelRatio, pixelRatio)\r\n ctx.imageSmoothingQuality = 'high'\r\n\r\n const cropX = crop.x * scaleX\r\n const cropY = crop.y * scaleY\r\n\r\n const rotateRads = rotate * TO_RADIANS\r\n const centerX = image.naturalWidth / 2\r\n const centerY = image.naturalHeight / 2\r\n\r\n ctx.save()\r\n\r\n // 5) Move the crop origin to the canvas origin (0,0)\r\n ctx.translate(-cropX, -cropY)\r\n // 4) Move the origin to the center of the original position\r\n ctx.translate(centerX, centerY)\r\n // 3) Rotate around the origin\r\n ctx.rotate(rotateRads)\r\n // 2) Scale the image\r\n ctx.scale(scale, scale)\r\n // 1) Move the center of the image to the origin (0,0)\r\n ctx.translate(-centerX, -centerY)\r\n ctx.drawImage(\r\n image,\r\n 0,\r\n 0,\r\n image.naturalWidth,\r\n image.naturalHeight,\r\n 0,\r\n 0,\r\n image.naturalWidth,\r\n image.naturalHeight,\r\n )\r\n\r\n ctx.restore()\r\n}\r\n","import React, { useState, useRef } from 'react'\r\nimport ReactCrop, { centerCrop, makeAspectCrop, Crop, PixelCrop, } from 'react-image-crop'\r\nimport { canvasPreview } from './canvasPreview'\r\nimport { useDebounceEffect } from './useDebounceEffect'\r\nimport RangeSlider from 'react-bootstrap-range-slider';\r\n\r\nimport 'react-image-crop/dist/ReactCrop.css'\r\n\r\n// This is to demonstate how to make and center a % aspect crop\r\n// which is a bit trickier so we use some helper functions.\r\nfunction centerAspectCrop(\r\n mediaWidth: number,\r\n mediaHeight: number,\r\n aspect: number,\r\n) {\r\n return centerCrop(\r\n makeAspectCrop(\r\n {\r\n unit: '%',\r\n width: 90,\r\n },\r\n aspect,\r\n mediaWidth,\r\n mediaHeight,\r\n ),\r\n mediaWidth,\r\n mediaHeight,\r\n )\r\n}\r\n\r\ninterface Props {\r\n name: string,\r\n toggleAspect: boolean,\r\n placeholder: string,\r\n onChange: Function,\r\n maxWidth?: number,\r\n maxHeight?: number,\r\n minWidth?: number,\r\n minHeight?: number,\r\n}\r\n\r\nexport default function CustomImageUpload(props: Props) {\r\n const [imgSrc, setImgSrc] = useState('')\r\n const previewCanvasRef = useRef(null)\r\n const imgRef = useRef(null)\r\n const blobUrlRef = useRef('')\r\n const [crop, setCrop] = useState()\r\n const [completedCrop, setCompletedCrop] = useState()\r\n const [scale, setScale] = useState(1)\r\n const [rotate, setRotate] = useState(0)\r\n const [aspect, setAspect] = useState(16 / 9)\r\n\r\n function onSelectFile(e: React.ChangeEvent) {\r\n if (e.target.files && e.target.files.length > 0) {\r\n setCrop(undefined) // Makes crop preview update between images.\r\n const reader = new FileReader()\r\n reader.addEventListener('load', () =>\r\n setImgSrc(reader.result?.toString() || ''),\r\n )\r\n reader.readAsDataURL(e.target.files[0])\r\n }\r\n else {\r\n setCrop(undefined);\r\n setImgSrc('');\r\n\r\n if (props.onChange)\r\n props.onChange(null);\r\n }\r\n }\r\n\r\n function onImageLoad(e: React.SyntheticEvent) {\r\n if (aspect) {\r\n const { width, height } = e.currentTarget\r\n setCrop(centerAspectCrop(width, height, aspect))\r\n }\r\n }\r\n\r\n function handleOnCompleteCrop() {\r\n if (!previewCanvasRef.current) {\r\n throw new Error('Crop canvas does not exist')\r\n }\r\n\r\n previewCanvasRef.current.toBlob((blob) => {\r\n if (!blob) {\r\n throw new Error('Failed to create blob')\r\n }\r\n if (blobUrlRef.current) {\r\n URL.revokeObjectURL(blobUrlRef.current)\r\n }\r\n\r\n if (props.onChange)\r\n props.onChange(props.name, {\r\n file: new File([blob], 'image.jpeg', {\r\n type: blob.type,\r\n }),\r\n fileName: \"croppedImage\",\r\n size: blob?.size\r\n });\r\n }, \"image/jpeg\")\r\n }\r\n\r\n useDebounceEffect(\r\n async () => {\r\n if (\r\n completedCrop?.width &&\r\n completedCrop?.height &&\r\n imgRef.current &&\r\n previewCanvasRef.current\r\n ) {\r\n // We use canvasPreview as it's much faster than imgPreview.\r\n canvasPreview(\r\n imgRef.current,\r\n previewCanvasRef.current,\r\n completedCrop,\r\n scale,\r\n rotate,\r\n )\r\n }\r\n },\r\n 100,\r\n [completedCrop, scale, rotate],\r\n )\r\n\r\n function handleToggleAspectClick() {\r\n if (aspect) {\r\n setAspect(undefined)\r\n } else if (imgRef.current) {\r\n const { width, height } = imgRef.current\r\n setAspect(16 / 9)\r\n setCrop(centerAspectCrop(width, height, 16 / 9))\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 setRotate(Math.min(180, Math.max(-180, Number(e.target.value))))\r\n }\r\n />\r\n
    \r\n
    \r\n \r\n
    */}\r\n
    \r\n
    \r\n {\r\n imgSrc &&
    \r\n \r\n setScale(Number(e.target.value))}\r\n />\r\n
    \r\n }\r\n
    \r\n {!!imgSrc && (\r\n setCrop(percentCrop)}\r\n onComplete={(c) => setCompletedCrop(c)}\r\n aspect={aspect}\r\n maxWidth={props.maxWidth}\r\n maxHeight={props.maxHeight}\r\n minWidth={props.minWidth}\r\n minHeight={props.minHeight}\r\n >\r\n \r\n \r\n )}\r\n {!!completedCrop && (\r\n <>\r\n
    \r\n \r\n
    \r\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 function CustomImageUpload(props: Props) {\r\n\r\n const [imgSrc, setImgSrc] = useState('')\r\n const previewCanvasRef = useRef(null)\r\n const imgRef = useRef(null)\r\n const [crop, setCrop] = useState()\r\n const [completedCrop, setCompletedCrop] = useState()\r\n const [scale, setScale] = useState(1)\r\n const [aspect, setAspect] = useState(undefined)\r\n const [image, setImage] = useState();\r\n const [originY, setOriginY] = useState(0)\r\n const [originX, setOriginX] = useState(0)\r\n //\r\n //const prevSquareCordsX = React.useRef(0)\r\n //const prevSquareCordsY = React.useRef(0)\r\n\r\n React.useEffect(() => {\r\n if (props.minHeight && props.minWidth)\r\n setCrop({\r\n height: props.minHeight,\r\n width: props.minWidth,\r\n unit: 'px',\r\n x: 0,\r\n y: 0,\r\n })\r\n }, [imgSrc])\r\n\r\n function onSelectFile(controlName: string, uploadedFile: { file: File }) {\r\n if (uploadedFile) {\r\n setCrop(undefined) // Makes crop preview update between images.\r\n const reader = new FileReader()\r\n reader.addEventListener('load', () =>\r\n setImgSrc(reader.result?.toString() || ''),\r\n )\r\n reader.readAsDataURL(uploadedFile.file)\r\n }\r\n else {\r\n setCrop(undefined);\r\n setImgSrc('');\r\n\r\n if (props.onChange)\r\n props.onChange(controlName, null);\r\n }\r\n //setFile(uploadedFile);\r\n }\r\n\r\n function onImageLoad(e: React.SyntheticEvent) {\r\n\r\n setImage(e.currentTarget)\r\n if (aspect) {\r\n const { width, height } = e.currentTarget\r\n //setCrop(centerAspectCrop(width, height, aspect, props.maxWidth, props.maxHeight))\r\n setCrop(centerAspectCrop(width, height, aspect))\r\n }\r\n }\r\n\r\n useDebounceEffect(\r\n async () => {\r\n if (\r\n completedCrop?.width &&\r\n completedCrop?.height &&\r\n imgRef.current &&\r\n previewCanvasRef.current\r\n ) {\r\n // We use canvasPreview as it's much faster than imgPreview.\r\n canvasPreview(\r\n imgRef.current,\r\n previewCanvasRef.current,\r\n completedCrop,\r\n scale,\r\n originX,\r\n originY\r\n )\r\n }\r\n },\r\n 100,\r\n [completedCrop, scale, originX, originY],\r\n )\r\n\r\n function handleToggleAspectClick() {\r\n if (aspect) {\r\n setAspect(undefined)\r\n } else if (imgRef.current) {\r\n const { width, height } = imgRef.current\r\n setAspect(16 / 9)\r\n setCrop(centerAspectCrop(width, height, 16 / 9))\r\n //setCrop(centerAspectCrop(width, height, 16 / 9, props.maxWidth, props.maxHeight))\r\n }\r\n }\r\n\r\n function handleZoom(e: React.ChangeEvent) {\r\n setScale(Number(e.target.value));\r\n\r\n if (crop) {\r\n setOriginX(crop.x)\r\n setOriginY(crop.y)\r\n }\r\n }\r\n\r\n const makeClientCrop = async (crop: Crop) => {\r\n if (image && crop.width && crop.height) {\r\n const croppedImg = await getCroppedImg();\r\n if (croppedImg) {\r\n if (props.onChange)\r\n props.onChange(props.name, {\r\n file: new File([croppedImg], 'image.jpeg', {\r\n type: croppedImg.type,\r\n }),\r\n fileName: \"croppedImage\",\r\n size: croppedImg?.size\r\n });\r\n }\r\n }\r\n };\r\n\r\n function getCroppedImg(): Promise | null {\r\n try {\r\n return new Promise((resolve) => {\r\n previewCanvasRef.current?.toBlob((blob) => {\r\n if (blob)\r\n resolve(blob);\r\n }, \"image/jpeg\");\r\n });\r\n } catch (error) {\r\n console.log(error);\r\n return null;\r\n }\r\n };\r\n\r\n function handleOnCompleteCrop() {\r\n image && crop ? makeClientCrop(crop) : console.log(\"wait\");\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {!!imgSrc && (\r\n { setCrop(percentCrop) }}\r\n onComplete={(c) => setCompletedCrop(c)}\r\n aspect={aspect}\r\n locked={false}\r\n maxWidth={props.maxWidth}\r\n maxHeight={props.maxHeight}\r\n minWidth={props.minWidth}\r\n minHeight={props.minHeight}\r\n >\r\n \r\n \r\n )}\r\n
    \r\n
    \r\n {!!completedCrop && imgSrc !== '' && (\r\n <>\r\n
    \r\n
    \r\n \r\n setScale(Number(e.target.value))}\r\n style={{ marginLeft: '10px', width: '50px' }}\r\n onChange={handleZoom}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n props.toggleAspect &&\r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n )}\r\n
    \r\n )\r\n}\r\n*/","import { useEffect, DependencyList } from 'react'\r\n\r\nexport function useDebounceEffect(\r\n fn: () => void,\r\n waitTime: number,\r\n deps?: DependencyList\r\n) {\r\n useEffect(() => {\r\n const t = setTimeout(() => {\r\n fn.apply(undefined, [])\r\n }, waitTime)\r\n\r\n return () => {\r\n clearTimeout(t)\r\n }\r\n }, deps)\r\n}\r\n","import React from 'react';\r\nimport { Col, Grid, Row } from 'react-bootstrap';\r\nimport Card from '../Cards/Card';\r\nimport CustomImageUpload from '../CustomControls/Images/CustomImage';\r\n\r\nexport const UserSignForm = props => {\r\n const {\r\n isSubmitting,\r\n isDisabled,\r\n onUploadSign,\r\n values,\r\n setFieldValue,\r\n t,\r\n } = props;\r\n\r\n return (\r\n
    \r\n {t(\"person.sign.sign\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n />\r\n
    \r\n );\r\n};","import React from 'react'\r\nimport PropTypes from 'prop-types';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { Card } from '../../components/Cards/Card';\r\nimport { IconSVG } from '../Icons/Icons';\r\nimport { WithAuth } from '../Authorization/WithAuth';\r\nimport { useAuthorization } from '../Authorization/useAuthorization';\r\n\r\nexport const Actions = (props) => {\r\n const { t } = useTranslation();\r\n const { userId, onConfig, onRedirectTo, onEdit, onExportToPDF } = props;\r\n const [, user, hasPermission] = useAuthorization();\r\n\r\n var redirectTo = null;\r\n if (onRedirectTo) {\r\n redirectTo = (\r\n \r\n );\r\n }\r\n\r\n var configure = null;\r\n if (onConfig) {\r\n configure = (\r\n \r\n \r\n \r\n );\r\n }\r\n var edit = null;\r\n if (onEdit) {\r\n if (user?.sub === userId || hasPermission([\"Users.Edit\"]))\r\n edit = (\r\n \r\n );\r\n }\r\n\r\n var exportToPDF = null;\r\n if (onExportToPDF) {\r\n exportToPDF = (\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n {edit}\r\n {configure}\r\n {exportToPDF}\r\n {redirectTo}\r\n \r\n }\r\n />\r\n );\r\n}\r\n\r\nActions.propTypes = {\r\n onConfig: PropTypes.func,\r\n onRedirectTo: PropTypes.func,\r\n onEdit: PropTypes.func,\r\n onExportToPDF: PropTypes.func,\r\n};\r\n","import { ErrorMessage } from 'formik';\r\nimport React from 'react';\r\nimport { Col, ControlLabel, FormControl, Grid, HelpBlock, Row } from 'react-bootstrap';\r\nimport { useTranslation } from 'react-i18next';\r\nimport Card from '../Cards/Card';\r\nimport { FormErrorMessage } from '../Validations/FormValidationErrors';\r\n\r\nexport const DigitalSignDataForm = props => {\r\n\r\n const {\r\n values,\r\n handleChange,\r\n handleBlur,\r\n setFieldValue,\r\n currentUser,\r\n } = props;\r\n const { t } = useTranslation();\r\n\r\n if (!currentUser || currentUser !== props.user.userId)\r\n return null;\r\n\r\n let fileReader;\r\n const handleFileChosen = (file) => {\r\n fileReader = new FileReader();\r\n fileReader.onloadend = (evt) => {\r\n\r\n if (evt.target.readyState === FileReader.DONE) {\r\n\r\n const arrayBuffer = fileReader.result;\r\n setFieldValue(\"rsaPublicCert\", arrayBuffer, false);\r\n }\r\n };\r\n fileReader.readAsBinaryString(file);\r\n }\r\n\r\n let fileReaderPrivate;\r\n const handleFilePrivateChosen = (file) => {\r\n fileReaderPrivate = new FileReader();\r\n fileReaderPrivate.onloadend = (evt) => {\r\n\r\n if (evt.target.readyState === FileReader.DONE) {\r\n\r\n const arrayBuffer = fileReaderPrivate.result;\r\n setFieldValue(\"rsaPrivateCert\", arrayBuffer, false);\r\n }\r\n };\r\n fileReaderPrivate.readAsBinaryString(file);\r\n }\r\n\r\n return (\r\n
    \r\n {t(\"digitalSign.title\")}\r\n \r\n \r\n \r\n {t(\"digitalSign.publicCert\")}\r\n handleFileChosen(e.target.files[0])} />\r\n \r\n \r\n {t(\"digitalSign.privateCert\")}\r\n handleFilePrivateChosen(e.target.files[0])} />\r\n \r\n \r\n {t(\"digitalSign.certPin\")}\r\n \r\n \r\n {t(\"digitalSign.certHelp\")}\r\n \r\n \r\n \r\n }\r\n />\r\n
    \r\n );\r\n}","import React from 'react';\r\nimport { Col, Grid, Row } from 'react-bootstrap';\r\nimport { useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Card from '../Cards/Card';\r\nimport { Back, Save } from '../Icons/Icons';\r\nimport { AddressData } from '../Person/AddressData';\r\nimport { AddressDataForm } from '../Person/AddressDataForm';\r\nimport { ContactData } from '../Person/ContactData';\r\nimport { ContactDataForm } from '../Person/ContactDataForm';\r\nimport { PersonalData } from '../Person/PersonalData';\r\nimport { PersonalDataForm } from '../Person/PersonalDataForm';\r\nimport { ProfessionalData } from '../Person/ProfessionalData';\r\nimport { ProfessionalDataForm } from '../Person/ProfessionalDataForm';\r\nimport { UserSignForm } from '../Person/UserSign';\r\nimport { Actions } from './Actions';\r\nimport { DigitalSignDataForm } from '../Person/DigitalSignDataForm';\r\n\r\nexport const UserProfile = props => {\r\n const { user } = props;\r\n let history = useHistory();\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 history.push(`/admin/users/${user?.userId}/edit`)}\r\n onConfig={() => history.push(`/admin/users/${user?.userId}/config`)}\r\n onRedirectTo={() => history.goBack()}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport const UserProfileForm = props => {\r\n const {\r\n handleSubmit,\r\n isSubmitting,\r\n hideCancel,\r\n t,\r\n } = props;\r\n\r\n let navigation = useHistory();\r\n const settingsStore = useSelector(state => state.settings);\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 {settingsStore.settings.digitalSignEnabled && }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n />\r\n \r\n );\r\n};","import { withFormik } from 'formik';\r\nimport PropTypes from 'prop-types';\r\nimport React from \"react\";\r\nimport { withTranslation } from 'react-i18next';\r\nimport { useHistory } from \"react-router-dom\";\r\n\r\nimport { updateUser, uploadSign } from \"../../api/identity\";\r\nimport { usePersonMasterData, useUser } from \"./Hooks\";\r\n\r\nimport { uploadCerts } from \"../../api/digitalSign\";\r\nimport { useAuthorization } from \"../../components/Authorization/useAuthorization\";\r\nimport { HandleApiError } from '../../components/Notifications/APIErrorHandler';\r\nimport { Success } from '../../components/Notifications/Notifications';\r\nimport { UserProfileForm } from \"../../components/Users/UserProfile\";\r\nimport { getUserProfileSchema } from \"../../components/Validations/FormValidationSchema\";\r\n\r\nexport const EditUserContainer = (props) => {\r\n const { match: { params } } = props;\r\n const userId = params.userId;\r\n let history = useHistory();\r\n\r\n const [isLoading, masterData] = usePersonMasterData();\r\n const [isUserLoading, user] = useUser(userId);\r\n const [, currentUser] = useAuthorization();\r\n \r\n const _isValidImageSize = (imageToCheck, width, height) => {\r\n var _URL = window.URL || window.webkitURL;\r\n var file, img, isValid = true;\r\n if ((file = imageToCheck)) {\r\n img = new Image();\r\n var objectUrl = _URL.createObjectURL(file);\r\n img.onload = function () {\r\n if (this.width != width || this.height != height) {\r\n alert(`El tamaño de la imagen debe ser de ${width}x${height}`);\r\n isValid = false;\r\n }\r\n _URL.revokeObjectURL(objectUrl);\r\n };\r\n img.src = objectUrl;\r\n }\r\n\r\n return isValid;\r\n }\r\n\r\n const handleUploadSign = async (sign) => {\r\n\r\n if (!sign || !sign.file)// || !_isValidImageSize(sign.file, 400, 200))\r\n return;\r\n\r\n // Initial FormData\r\n const formData = new FormData();\r\n formData.append(\"file\", sign.file);\r\n formData.append(\"title\", sign.fileName);\r\n\r\n // Make an AJAX upload request using Axios\r\n try {\r\n const res = await uploadSign(formData);\r\n Success(\"identityNotifications.sign_Uploaded\");\r\n }\r\n catch (error) {\r\n console.log(error.response);\r\n }\r\n }\r\n\r\n if (isLoading || isUserLoading || !user.userId) return null;\r\n\r\n user.password = \"\";\r\n\r\n return (\r\n history.push(`/admin/users/${user.userId}`)}\r\n onCancel={() => history.goBack()}\r\n onUploadSign={handleUploadSign}\r\n hideCancel={props.hideCancel}\r\n masterData={masterData}\r\n user={user}\r\n currentUser={currentUser?.sub}\r\n />\r\n );\r\n}\r\n\r\nconst EditUserFormik = withTranslation()(withFormik({\r\n\r\n mapPropsToValues: (props) => (props.user),\r\n enableReinitialize: true,\r\n validationSchema: getUserProfileSchema(),\r\n\r\n handleSubmit: async (userProfile, formikBag) => {\r\n\r\n userProfile.bloodGroup = userProfile.bloodGroup != null ? userProfile.bloodGroup.title : \"\";\r\n userProfile.bloodFactor = userProfile.bloodFactor != null ? userProfile.bloodFactor.title : \"\";\r\n userProfile.language = userProfile.language != null ? userProfile.language.code : \"\";\r\n if (userProfile.speciality) {\r\n //if (typeof userProfile.speciality === 'string')\r\n // userProfile.speciality = userProfile.speciality;\r\n if (typeof userProfile.speciality === 'object' && userProfile.speciality.constructor === Object)\r\n userProfile.speciality = userProfile.speciality.description;\r\n }\r\n\r\n try {\r\n await updateUser(formikBag.props.user.userId, userProfile);\r\n\r\n if (userProfile.rsaPublicCert && userProfile.password) {\r\n await uploadCerts({\r\n rsaPublicCert: userProfile.rsaPublicCert,\r\n rsaPrivateCert: userProfile.rsaPrivateCert,\r\n password: userProfile.password\r\n });\r\n }\r\n\r\n formikBag.setSubmitting(false);\r\n Success(\"userNotifications.user_Updated\");\r\n formikBag.props.onSubmit();\r\n\r\n }\r\n catch (ex) {\r\n console.log(ex);\r\n formikBag.setSubmitting(false);\r\n HandleApiError(ex);\r\n //formikBag.props.onCancel();\r\n }\r\n },\r\n\r\n displayName: 'UserForm',\r\n\r\n})(UserProfileForm));\r\n\r\nEditUserFormik.propTypes = {\r\n onSubmit: PropTypes.func.isRequired,\r\n onCancel: PropTypes.func.isRequired,\r\n onUploadSign: PropTypes.func.isRequired,\r\n masterData: PropTypes.object.isRequired,\r\n user: PropTypes.object.isRequired,\r\n};","import React from 'react'\r\n\r\nimport { useUser } from './Hooks';\r\nimport { UserProfile } from '../../components/Users/UserProfile';\r\n\r\nexport const UserContainer = (props) => {\r\n const { match: { params } } = props;\r\n const userId = params.userId;\r\n\r\n const [isLoading, user] = useUser(userId);\r\n\r\n if (isLoading)\r\n return null;\r\n\r\n return (\r\n \r\n );\r\n}","import { withFormik } from 'formik';\r\nimport PropTypes from 'prop-types';\r\nimport React, { useState } from \"react\";\r\nimport { useTranslation, withTranslation } from 'react-i18next';\r\nimport { changePasswordUser, disableUser, enableUser, resendCreatedUserEmail, updateUserInRole } from \"../../api/identity\";\r\nimport { ModalConfirm } from '../../components/Modals/ModalConfirm';\r\nimport { HandleApiError } from '../../components/Notifications/APIErrorHandler';\r\nimport { Success } from '../../components/Notifications/Notifications';\r\nimport { UserSettingsForm } from \"../../components/Users/UserSettingsForm\";\r\nimport { useRoleMasterData } from \"../Security/Authorization/useRoles\";\r\nimport { useUser } from \"./Hooks\";\r\n\r\nexport const UserSettingsContainer = (props) => {\r\n const { match: { params } } = props;\r\n const userId = params.userId;\r\n\r\n const [isUserLoading, user] = useUser(userId);\r\n const [isRoleLoading, masterData] = useRoleMasterData();\r\n const [modal, setModal] = useState(null);\r\n const { t } = useTranslation();\r\n\r\n const handleChangeRole = (roleId) => {\r\n if (!roleId)\r\n return;\r\n\r\n updateUserInRole(userId, roleId)\r\n .then(() => {\r\n Success(\"userNotifications.user_role_Updated\");\r\n }).catch(error => {\r\n HandleApiError(error);\r\n });\r\n }\r\n const handleResendEmail = () => {\r\n resendCreatedUserEmail(userId)\r\n .then(() => {\r\n Success(\"userNotifications.email_sent\");\r\n }).catch(error => {\r\n HandleApiError(error);\r\n });\r\n }\r\n const handleEnableUser = () => {\r\n enableUser(userId)\r\n .then(() => {\r\n Success(\"userNotifications.user_Enabled\");\r\n }).catch(error => {\r\n HandleApiError(error);\r\n });\r\n }\r\n const handleDisableUser = () => {\r\n disableUser(userId)\r\n .then(() => {\r\n Success(\"userNotifications.user_Disabled\");\r\n }).catch(error => {\r\n HandleApiError(error);\r\n });\r\n }\r\n const handleNewPassword = (password) => {\r\n if (!password)\r\n return;\r\n\r\n setModal( handleConfirmNewPassword(password)}\r\n onCancel={() => { setModal(null) }}\r\n />);\r\n }\r\n const handleConfirmNewPassword = (password) => {\r\n if (!password)\r\n return;\r\n\r\n changePasswordUser(userId, password)\r\n .then(() => {\r\n Success(\"userNotifications.user_PasswordChanged\");\r\n setModal(null);\r\n }).catch(error => {\r\n HandleApiError(error);\r\n console.log(error)\r\n });\r\n }\r\n\r\n if (isRoleLoading || isUserLoading) return null;\r\n\r\n return (\r\n <>\r\n {modal}\r\n \r\n \r\n );\r\n}\r\n\r\nconst UserSettingsFormik = withTranslation()(withFormik({\r\n\r\n mapPropsToValues: (props) => (props.user),\r\n displayName: 'UserSettingsForm',\r\n\r\n})(UserSettingsForm));\r\n\r\nUserSettingsFormik.propTypes = {\r\n onSubmit: PropTypes.func.isRequired,\r\n onResendEmail: PropTypes.func.isRequired,\r\n onEnableUser: PropTypes.func.isRequired,\r\n onDisableUser: PropTypes.func.isRequired,\r\n roles: PropTypes.array.isRequired,\r\n user: PropTypes.object.isRequired,\r\n};","import React from 'react';\r\nimport { Col, FormControl, FormGroup, Grid, Row } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Card from '../Cards/Card';\r\nimport { CustomSelect } from '../CustomControls/CustomSelect';\r\nimport { Actions } from './Actions';\r\nimport { PersonalData } from '../Person/PersonalData';\r\nimport { WithAuth } from '../Authorization/WithAuth';\r\n\r\nexport const UserSettingsForm = props => {\r\n const {\r\n isSubmitting,\r\n onChangeRole,\r\n onEnableUser,\r\n onDisableUser,\r\n onResendEmail,\r\n onNewPassword,\r\n roles,\r\n values,\r\n setFieldValue,\r\n setFieldTouched,\r\n handleChange,\r\n t,\r\n } = props;\r\n\r\n let history = useHistory();\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n values.active ?\r\n \r\n {t(\"buttons.disableUser\")}\r\n \r\n }\r\n />\r\n :\r\n \r\n {t(\"buttons.enableUser\")}\r\n \r\n }\r\n />\r\n }\r\n \r\n \r\n \r\n \r\n history.goBack()}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    {t(\"security.users.changeRole\")}
    \r\n \r\n
    \r\n \r\n \r\n x && x.name === values.role)}\r\n name={`role`}\r\n placeholder={t(\"commons.select\")}\r\n onChange={setFieldValue}\r\n onBlur={setFieldTouched}\r\n options={roles}\r\n getOptionLabel={x => x.name}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n
    {t(\"security.users.resendEmail\")}
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n
    {t(\"security.users.changePassword\")}
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n }\r\n />\r\n \r\n
    \r\n
    \r\n );\r\n};","import React, { useEffect, useState } from 'react';\r\nimport { useContext } from 'react';\r\nimport { Col, Row } from 'react-bootstrap';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { NavLink } from \"react-router-dom\";\r\nimport { exportToExcel } from '../../api/identity';\r\nimport { WithAuth } from '../../components/Authorization/WithAuth';\r\n//Components\r\nimport Card from '../../components/Cards/Card';\r\nimport { CustomSearchBox } from '../../components/CustomControls/CustomSearchBox';\r\nimport ExportToExcel from \"../../components/Export/ExportToExcel\";\r\nimport { Add } from '../../components/Icons/Icons';\r\nimport { Users } from '../../components/Users/Users';\r\nimport AdminContext from '../Settings/AdminContext/AdminContext';\r\nimport { useUsers } from './Hooks';\r\n\r\nexport const UsersContainer = () => {\r\n const { t } = useTranslation();\r\n const [query, setQuery] = useState({\r\n pagination: {\r\n page: 1,\r\n sizePerPage: 10,\r\n totalSize: 0\r\n },\r\n sort: {\r\n sortField: \"FullName\",\r\n sortOrder: \"asc\"\r\n },\r\n filters: {}\r\n });\r\n const [users, isLoading, totalSize] = useUsers(query);\r\n //const { selectedTenant } = useContext(AdminContext);\r\n const context = useContext(AdminContext);\r\n\r\n useEffect(() => {\r\n var newQuery = JSON.parse(JSON.stringify(query));\r\n newQuery.filters[\"TenantId\"] = context?.selectedTenant != null ? context.selectedTenant.tenantId : null;\r\n setQuery(newQuery);\r\n \r\n }, [context]);\r\n\r\n const handleSearch = (q) => {\r\n var newQuery = JSON.parse(JSON.stringify(query));\r\n newQuery.query = q;\r\n setQuery(newQuery);\r\n }\r\n\r\n const handleTableChange = (type, { page, sizePerPage, sortField, sortOrder }) => {\r\n var newQuery = {};\r\n if (type === 'pagination') {\r\n newQuery = JSON.parse(JSON.stringify(query));\r\n\r\n newQuery.pagination.page = page;\r\n newQuery.pagination.sizePerPage = sizePerPage;\r\n\r\n setQuery(newQuery);\r\n }\r\n\r\n if (type === 'sort') {\r\n newQuery = JSON.parse(JSON.stringify(query));\r\n\r\n newQuery.sort.sortField = sortField;\r\n newQuery.sort.sortOrder = sortOrder;\r\n\r\n setQuery(newQuery);\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {t('security.users.add')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n content={\r\n \r\n }\r\n />\r\n );\r\n}","import React from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { NavLink } from 'react-router-dom';\r\nimport Card from '../Cards/Card';\r\nimport { IconSVG } from '../Icons/Icons';\r\n\r\nconst AppointmentWidget = () => {\r\n\r\n const { t } = useTranslation();\r\n\r\n\r\n return (\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {t(\"dashboard.addAppointment\")}\r\n \r\n
    \r\n \r\n }\r\n />\r\n\r\n )\r\n}\r\n\r\n\r\nexport default AppointmentWidget;\r\n","import moment from 'moment';\r\n//import 'moment/locale/es';\r\n//import 'moment/locale/pt-br';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { useSelector } from 'react-redux';\r\n\r\nconst DateTimeWidget = () => {\r\n\r\n const [today, setDate] = useState(new Date());\r\n const auth = useSelector(state => state.authentication);\r\n\r\n useEffect(() => {\r\n const timer = setInterval(() => { // Creates an interval which will update the current data every minute\r\n // This will trigger a rerender every component that uses the useDate hook.\r\n setDate(new Date());\r\n }, 60 * 1000);\r\n return () => {\r\n clearInterval(timer); // Return a funtion to clear the timer so that it will stop being called on unmount\r\n }\r\n }, []);\r\n\r\n function getLocaleDate() {\r\n if (auth && auth.user && auth.user.language)\r\n return moment(today).locale(auth.user.language).format(\"dddd, D MMMM, YYYY\");\r\n return moment(today).locale(\"es\").format(\"dddd, D MMMM, YYYY\");\r\n }\r\n\r\n return (\r\n
    \r\n
    {getLocaleDate()}
    \r\n
    {moment(today).format(\"HH:mm\")}
    \r\n
    \r\n );\r\n}\r\n\r\n\r\nexport default DateTimeWidget;\r\n","import React from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { NavLink } from 'react-router-dom';\r\nimport Card from '../Cards/Card';\r\nimport { IconSVG } from '../Icons/Icons';\r\n\r\nconst PatientWidget = () => {\r\n const { t } = useTranslation();\r\n return (\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {t(\"dashboard.addPatient\")}\r\n \r\n
    \r\n \r\n }\r\n />\r\n\r\n )\r\n}\r\n\r\n\r\nexport default PatientWidget;\r\n","import React from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { PatientPicker } from '../CustomControls/PatientPicker';\r\n\r\nconst SearchWidget = () => {\r\n const { t } = useTranslation();\r\n const navigation = useHistory();\r\n\r\n const handlePatientSearch = (_controlName, selectedPatient) => {\r\n\r\n if (selectedPatient)\r\n navigation.push(`/admin/medicalRecords/${selectedPatient.medicalRecordNumber}`)\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    {t(\"dashboard.searchTitle\")}

    \r\n
    \r\n \r\n
    \r\n
    \r\n )\r\n}\r\n\r\nexport default SearchWidget;\r\n","import React from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { useSelector } from 'react-redux';\r\n\r\nconst WelcomeWidget = () => {\r\n const { t } = useTranslation();\r\n const auth = useSelector(state => state.authentication);\r\n\r\n return (\r\n
    \r\n
    \r\n {t(\"dashboard.welcome\")} {auth.isAuthenticated && auth.user?.given_name}!\r\n
    \r\n {/*
    \r\n {t(\"dashboard.noNotifications\")}\r\n
    */}\r\n
    \r\n )\r\n}\r\n\r\nexport default WelcomeWidget;\r\n","import axios from './index';\r\n\r\nexport const getAllNotifications = async () => {\r\n return axios.get(`api/v1/notifications/all`);\r\n}\r\nexport const getUnreadNotifications = async () => {\r\n return axios.get(`api/v1/notifications`);\r\n}\r\nexport const markAsReadedNotification = async (messageId) => {\r\n return axios.put(`api/v1/notifications/${messageId}`, null);\r\n};","import { getAllNotifications, getUnreadNotifications, markAsReadedNotification } from \"../api/notifications\";\r\n\r\nconst receiveNotification = 'NOTIFICATION_RECEIVED';\r\nconst requestAllNotificationsType = 'NOTIFICATIONS_ALL_REQUEST';\r\nconst receiveAllNotificationsType = 'NOTIFICATIONS_ALL_RECEIVE';\r\nconst requestUnreadNotificationsType = 'NOTIFICATIONS_UNREAD_REQUEST';\r\nconst receiveUnreadNotificationsType = 'NOTIFICATIONS_UNREAD_RECEIVE';\r\nconst requestMarkAsReadedNotificationType = 'NOTIFICATIONS_MARKASREADED_REQUEST';\r\nconst receiveMarkAsReadedNotificationType = 'NOTIFICATIONS_MARKASREADED_RECEIVE';\r\nconst initialState = { unreadNotifications: [], notifications: [], isLoading: false };\r\n\r\nexport const actionCreators = {\r\n requestAllNotifications: () => async (dispatch) => {\r\n\r\n dispatch({ type: requestAllNotificationsType });\r\n\r\n try {\r\n const response = await getAllNotifications();\r\n const notifications = response.data;\r\n\r\n dispatch({ type: receiveAllNotificationsType, notifications });\r\n }\r\n catch (error) {\r\n console.log(error)\r\n }\r\n },\r\n requestUnreadNotifications: () => async (dispatch) => {\r\n\r\n dispatch({ type: requestUnreadNotificationsType });\r\n\r\n try {\r\n const response = await getUnreadNotifications();\r\n const unreadNotifications = response.data;\r\n\r\n dispatch({ type: receiveUnreadNotificationsType, unreadNotifications });\r\n }\r\n catch (error) {\r\n console.log(error)\r\n }\r\n },\r\n requestMarkAsReadedNotification: (messageId) => async (dispatch) => {\r\n\r\n dispatch({ type: requestMarkAsReadedNotificationType });\r\n\r\n try {\r\n await markAsReadedNotification(messageId);\r\n dispatch({ type: receiveMarkAsReadedNotificationType, messageId });\r\n }\r\n catch (error) {\r\n console.log(error)\r\n }\r\n },\r\n};\r\n\r\nexport const reducer = (state, action) => {\r\n state = state || initialState;\r\n\r\n if (action.type === receiveNotification) {\r\n console.log(action.payload)\r\n if (action.payload && action.payload.content)\r\n return { ...state, notifications: state.notifications.concat(action.payload) };\r\n }\r\n\r\n if (action.type === requestAllNotificationsType || action.type === requestUnreadNotificationsType) {\r\n return {\r\n ...state,\r\n isLoading: true\r\n };\r\n }\r\n if (action.type === receiveAllNotificationsType) {\r\n return {\r\n ...state,\r\n notifications: action.notifications,\r\n isLoading: false\r\n };\r\n }\r\n if (action.type === receiveUnreadNotificationsType) {\r\n return {\r\n ...state,\r\n notifications: action.unreadNotifications,\r\n isLoading: false\r\n };\r\n }\r\n\r\n if (action.type === requestMarkAsReadedNotificationType) {\r\n return {\r\n ...state,\r\n isLoading: true\r\n };\r\n }\r\n if (action.type === receiveMarkAsReadedNotificationType) {\r\n return {\r\n ...state,\r\n notifications: state.notifications.filter((item) => item.id !== action.messageId),\r\n isLoading: false\r\n };\r\n }\r\n\r\n return state;\r\n};\r\n","import React, { useEffect } from 'react';\r\nimport { NavLink } from 'react-router-dom';\r\nimport { bindActionCreators } from 'redux';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { Tooltip } from '../Utils/Tooltips';\r\nimport { Readed, Unread, View } from '../Icons/Icons';\r\nimport { actionCreators } from '../../store/Notifications';\r\nimport { generateLink } from '../Utils/Commons';\r\nimport Card from '../Cards/Card';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst UserNotificationsCode = ({ notifications, requestUnreadNotifications, requestMarkAsReadedNotification }) => {\r\n const { t } = useTranslation();\r\n useEffect(() => {\r\n requestUnreadNotifications();\r\n }, []);\r\n\r\n const montotos = notifications.map((notification, index) => {\r\n\r\n //var params = \"&from=VisitTracking&protocolId=1&visitId=1&patientId=28294&formId=21\";\r\n return (\r\n \r\n {notification.content}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n notification.status === 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 return (\r\n \r\n \r\n {montotos}\r\n \r\n \r\n }\r\n />\r\n )\r\n}\r\n\r\nconst UsersNotifications = connect(\r\n state => state.notifications,\r\n dispatch => bindActionCreators(actionCreators, dispatch)\r\n)(UserNotificationsCode);\r\n\r\nexport default UsersNotifications;\r\n","import PropTypes from 'prop-types';\r\nimport React from 'react';\r\nimport avatarDefault from \"../../assets/img/faces/face-0.jpg\";\r\nimport { usePatientAvatar } from '../../containers/MedicalRecords/Hooks/usePatient';\r\n\r\nexport const PatientAvatarAsync = ({ medicalRecordNumber }) => {\r\n\r\n const [avatar, isLoading] = usePatientAvatar(medicalRecordNumber);\r\n\r\n return ( { e.target.onerror = null; e.target.src = avatarDefault }}\r\n className=\"avatar\" />);\r\n}\r\n\r\nPatientAvatarAsync.propTypes = {\r\n medicalRecordNumber: PropTypes.string.isRequired\r\n};","import moment from 'moment';\r\nimport React from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { useSelector } from 'react-redux';\r\nimport { NavLink } from 'react-router-dom';\r\nimport { visitTypeColorGetter } from '../Agenda/Utils';\r\nimport Card from '../Cards/Card';\r\nimport { PatientAvatarAsync } from '../CustomControls/PatientAvatarAsync';\r\nimport { AddAppointment, PersonCheckLine, VideoCall, ViewMR, WaitingRoom } from '../Icons/Icons';\r\nimport { Tooltip } from '../Utils/Tooltips';\r\n\r\nconst DailyAgendaWidget = (props) => {\r\n const { events, isLoading, onAttendance } = props;\r\n const { t } = useTranslation();\r\n const settingsStore = useSelector(state => state.settings);\r\n\r\n let components = null;\r\n if (!isLoading) {\r\n components = events.map((event, index) => {\r\n\r\n let eventIdParam = event.present ? `?appointmentId=${event.id}` : '';\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {moment(event.start).format('H:mm')} - {moment(event.end).format('H:mm')} [{event.visitType?.title}]\r\n
    {event.patient.fullName} - {event.practitioner.fullName}
    \r\n \r\n \r\n
    \r\n {\r\n event.present &&\r\n \r\n \r\n \r\n }\r\n \r\n \r\n {\r\n event.present ?\r\n :\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n event.visitType.code === \"EXTERNAL_PHONE\" &&\r\n \r\n \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 \r\n \r\n {components}\r\n \r\n
    \r\n \r\n }\r\n />\r\n )\r\n}\r\n\r\nexport default DailyAgendaWidget;\r\n","import moment from \"moment\";\r\nimport { getWaitingList, updateEventAttendance } from \"../api/agenda\";\r\n\r\nconst requestWaitingListAllType = 'WAITINGLIST_ALL_REQUEST';\r\nconst receiveWaitingListAllType = 'WAITINGLIST_ALL_RECEIVE';\r\nconst requestMarkAsAttendedType = 'MARKASATTENDED_REQUEST';\r\nconst receiveMarkAsAttendedType = 'MARKASATTENDED_RECEIVE';\r\nconst receiveErrorType = 'RECEIVE_ERROR';\r\nconst clearErrors = 'CLEAR_ERROR';\r\n\r\nconst initialState = { events: [], isLoading: false, error: null };\r\n\r\nexport const agendaActionCreators = {\r\n requestWaitingList: () => async (dispatch) => {\r\n\r\n dispatch({ type: requestWaitingListAllType });\r\n\r\n try {\r\n const response = await getWaitingList();\r\n\r\n var events = response.data.map(event => {\r\n event.start = moment.utc(moment.utc(event.start)).local().toDate();\r\n event.end = moment.utc(moment.utc(event.end)).local().toDate();\r\n return event;\r\n });\r\n\r\n dispatch({ type: receiveWaitingListAllType, events });\r\n }\r\n catch (error) {\r\n console.log(error)\r\n }\r\n },\r\n\r\n requestMarkAsAttended: (eventId) => async (dispatch) => {\r\n\r\n dispatch({ type: requestMarkAsAttendedType });\r\n\r\n try {\r\n await updateEventAttendance(eventId);\r\n dispatch({ type: receiveMarkAsAttendedType, eventId });\r\n }\r\n catch (error) {\r\n console.log(error);\r\n dispatch({ type: receiveErrorType, error });\r\n }\r\n },\r\n\r\n clearErrors: () => async (dispatch) => {\r\n\r\n dispatch({ type: clearErrors });\r\n },\r\n};\r\n\r\nexport const reducer = (state, action) => {\r\n state = state || initialState;\r\n\r\n if (action.type === requestWaitingListAllType) {\r\n return {\r\n ...state,\r\n isLoading: true,\r\n error: null\r\n };\r\n }\r\n if (action.type === receiveWaitingListAllType) {\r\n return {\r\n ...state,\r\n events: action.events,\r\n isLoading: false,\r\n error: null\r\n };\r\n }\r\n\r\n if (action.type === requestMarkAsAttendedType) {\r\n return {\r\n ...state,\r\n isLoading: true,\r\n error: null\r\n };\r\n }\r\n if (action.type === receiveMarkAsAttendedType) {\r\n return {\r\n ...state,\r\n events: state.events.filter((item) => item.id !== action.eventId),\r\n isLoading: false,\r\n error: null\r\n };\r\n }\r\n\r\n if (action.type === clearErrors) {\r\n return {\r\n ...state,\r\n error: null\r\n };\r\n }\r\n if (action.type === receiveErrorType) {\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n };\r\n }\r\n\r\n return state;\r\n};\r\n","import React, { useEffect } from 'react';\r\nimport { useState } from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport DailyAgendaWidget from '../../components/Dashboard/DailyAgendaWidget';\r\nimport { ModalConfirm } from '../../components/Modals/ModalConfirm';\r\nimport { HandleApiError } from '../../components/Notifications/APIErrorHandler';\r\nimport { agendaActionCreators } from '../../store/Agenda';\r\n\r\nconst WaitingListWidgetContainer = () => {\r\n const [modal, setModal] = useState(null);\r\n const { t } = useTranslation();\r\n const agendaStore = useSelector(state => state.agenda);\r\n const dispatch = useDispatch();\r\n\r\n useEffect(() => {\r\n let isSubscribed = true;\r\n\r\n const initComponent = async () => {\r\n if (isSubscribed)\r\n await dispatch(agendaActionCreators.requestWaitingList());\r\n }\r\n\r\n initComponent();\r\n\r\n return () => isSubscribed = false;\r\n }, []); //Uso el cambio de notifications, para hacer reload de eventos. TODO: ¿Pasar sala de espera a redux?\r\n\r\n const handleAttendance = async (eventId) => {\r\n if (!eventId)\r\n return;\r\n\r\n setModal( { dispatch(agendaActionCreators.requestMarkAsAttended(eventId)); setModal(null) }}\r\n onCancel={() => { setModal(null) }}\r\n />);\r\n }\r\n\r\n if (!agendaStore.isLoading && agendaStore.error) {\r\n HandleApiError(agendaStore.error);\r\n dispatch(agendaActionCreators.clearErrors());\r\n }\r\n\r\n return (<>\r\n {modal}\r\n \r\n );\r\n\r\n}\r\n\r\nexport default WaitingListWidgetContainer;\r\n","import React, { Component } from \"react\";\r\nimport { Col, Grid, Row } from \"react-bootstrap\";\r\nimport \"../assets/sass/lbd/_dashboard.scss\";\r\nimport { WithAuth } from \"../components/Authorization/WithAuth\";\r\nimport AppointmentWidget from \"../components/Dashboard/AppointmentWidget.jsx\";\r\nimport DateTimeWidget from \"../components/Dashboard/DateTimeWidget.jsx\";\r\nimport PatientWidget from \"../components/Dashboard/PatientWidget.jsx\";\r\nimport SearchWidget from \"../components/Dashboard/SearchWidget.jsx\";\r\nimport WelcomeWidget from \"../components/Dashboard/WelcomeWidget.jsx\";\r\nimport UsersNotifications from \"../components/Notifications/UserNotifications.jsx\";\r\nimport DailyWidgetContainer from \"../containers/Agenda/DailyWidgetContainer.jsx\";\r\nimport WaitingListWidgetContainer from \"../containers/Agenda/WaitingListWidgetContainer.jsx\";\r\n\r\nclass Dashboard extends Component {\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n {\r\n //\r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default Dashboard;\r\n","import React from \"react\";\r\nimport { Col, Grid, Row } from 'react-bootstrap';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { Doctor, Identification, Date, Address } from \"../Icons/Icons\";\r\nimport { dateFormatter } from \"../Utils/Formatter\";\r\n\r\nexport const ExpandedContent = props => {\r\n\r\n const { t } = useTranslation();\r\n const patient = props.data;\r\n\r\n if (!patient)\r\n return (<>);\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
    {t(\"person.address.address\")}
    \r\n
    {patient.address}
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {t(\"person.birthDate\")}
    \r\n
    {dateFormatter(patient.birthDate)} ({patient.age} años)
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {t(\"person.identificationNumber\")}
    \r\n
    {`${patient.identificationType} ${patient.identificationNumber}`}
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {t(\"person.familyDoctor\")}
    \r\n
    {patient.familyDoctor}
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {t(\"person.internalPractitioner\")}
    \r\n
    {patient.internalPractitioner}
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n}","import React, { useState } from 'react';\r\nimport { Col, Row } from 'react-bootstrap';\r\nimport BootstrapTable from 'react-bootstrap-table-next';\r\nimport 'react-bootstrap-table-next/dist/react-bootstrap-table2.min.css';\r\nimport overlayFactory from 'react-bootstrap-table2-overlay';\r\nimport paginationFactory from 'react-bootstrap-table2-paginator';\r\nimport 'react-bootstrap-table2-paginator/dist/react-bootstrap-table2-paginator.min.css';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { NavLink } from \"react-router-dom\";\r\nimport { exportToExcel } from '../../api/database';\r\nimport { WithAuth } from '../../components/Authorization/WithAuth';\r\nimport { Card } from '../../components/Cards/Card';\r\nimport { CustomSearchBox } from '../../components/CustomControls/CustomSearchBox';\r\nimport { CustomSelect } from '../../components/CustomControls/CustomSelect';\r\nimport { PractitionerSelect } from '../../components/CustomControls/PractitionerSelect';\r\nimport { ExpandedContent } from '../../components/Database/ExpandedContent';\r\nimport ExportToExcel from \"../../components/Export/ExportToExcel\";\r\nimport { Add, AddAppointment, View, ViewMR } from '../../components/Icons/Icons';\r\nimport { Tooltip } from '../../components/Utils/Tooltips';\r\nimport { useProtocols } from '../Protocols/Hooks';\r\nimport { usePatients } from './Hooks';\r\n\r\nexport const Patients = () => {\r\n const { t } = useTranslation();\r\n\r\n const columns = [\r\n { dataField: 'medicalRecordNumber', text: t(\"person.mrn\"), sort: true, headerStyle: { width: '100px' } },\r\n { dataField: 'fullName', text: t(\"person.fullName\"), sort: true, classes: 'w900' },\r\n { dataField: 'cellPhone', text: t(\"person.contact.cellPhone\") },\r\n { dataField: 'medicalInsurance', text: t(\"person.medicalInsuranceInfo.medicalInsurance\"), sort: true },\r\n { dataField: 'medicalInsuranceNumber', text: t(\"person.medicalInsuranceInfo.medicalInsuranceNumber\"), sort: true },\r\n {\r\n dataField: 'view', text: t(\"commons.actions\"), isDummyField: true,\r\n headerClasses: 'header-view-btn', classes: 'row-view-btn',\r\n formatter: function (_cell, row, rowIndex) {\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n )\r\n }\r\n }\r\n ];\r\n\r\n const expandedContent = (row) => ()\r\n\r\n const [type, setType] = useState(\"PROTOCOL\");\r\n const [query, setQuery] = useState({\r\n q: \"\",\r\n projects: [],\r\n protocols: [],\r\n professionals: [],\r\n type: {},\r\n pagination: {\r\n page: 1,\r\n sizePerPage: 10,\r\n totalSize: 0\r\n },\r\n sort: {\r\n sortField: \"FamilyName\",\r\n sortOrder: \"asc\"\r\n }\r\n });\r\n\r\n const [patients, isLoadingPatients, totalSize] = usePatients(query);\r\n const [protocols, , , isLoadingProtocols] = useProtocols();\r\n\r\n const handleTableChange = (type, { page, sizePerPage, sortField, sortOrder }) => {\r\n\r\n var newQuery = {};\r\n if (type === 'pagination') {\r\n newQuery = JSON.parse(JSON.stringify(query));\r\n\r\n newQuery.pagination.page = page;\r\n newQuery.pagination.sizePerPage = sizePerPage;\r\n\r\n setQuery(newQuery);\r\n }\r\n\r\n if (type === 'sort') {\r\n newQuery = JSON.parse(JSON.stringify(query));\r\n\r\n newQuery.sort.sortField = sortField;\r\n newQuery.sort.sortOrder = sortOrder;\r\n\r\n setQuery(newQuery);\r\n }\r\n }\r\n\r\n const handleSearch = (q) => {\r\n var newQuery = JSON.parse(JSON.stringify(query));\r\n newQuery.q = q;\r\n setQuery(newQuery);\r\n }\r\n\r\n const handleProjectChange = (name, selectedValues) => {\r\n var newQuery = JSON.parse(JSON.stringify(query));\r\n newQuery.protocols = [];\r\n newQuery.projects = selectedValues;\r\n setQuery(newQuery);\r\n }\r\n\r\n const handleProtocolChange = (name, selectedValues) => {\r\n var newQuery = JSON.parse(JSON.stringify(query));\r\n newQuery.protocols = selectedValues;\r\n newQuery.projects = [];\r\n setQuery(newQuery);\r\n }\r\n\r\n const handleProfessionalChange = (name, selectedValues) => {\r\n var newQuery = JSON.parse(JSON.stringify(query));\r\n newQuery.professionals = selectedValues;\r\n setQuery(newQuery);\r\n }\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {t('database.addPatient')}\r\n \r\n \r\n \r\n {\r\n type === \"PROTOCOL\" ?\r\n \r\n \r\n \r\n :\r\n \r\n \r\n \r\n }\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n content={\r\n <>{t(\"commons.noData\")}}\r\n onTableChange={handleTableChange}\r\n />\r\n }\r\n />\r\n );\r\n}","import React from 'react';\r\n\r\nimport { Patients } from '../containers/Database/Patients';\r\n\r\nconst DatabasePage = () => (\r\n \r\n);\r\n\r\nexport default DatabasePage;","import React from 'react';\r\nimport { NavLink } from 'react-router-dom';\r\nimport '../../assets/sass/lbd/_error-pages.scss';\r\nimport image from \"../../assets/img/forbidden.png\";\r\n\r\nconst ForbiddenPage = () => {\r\n\r\n return (\r\n
    \r\n \"Acceso\r\n\r\n

    403

    \r\n

    Acceso Denegado

    \r\n

    No tiene los permisos suficientes para acceder al recurso. En caso de que lo necesite, contactese con el administrador del sistema.

    \r\n ← Volver\r\n
    \r\n );\r\n}\r\n\r\nexport default ForbiddenPage;\r\n","import React from 'react';\r\nimport { NavLink } from 'react-router-dom';\r\nimport '../../assets/sass/lbd/_error-pages.scss';\r\n\r\nconst NotFoundPage = () => (\r\n
    \r\n

    404

    \r\n

    Recurso no encontrado

    \r\n

    El recurso al que quiere acceder no ha sido encontrado.

    \r\n ← Volver\r\n
    \r\n);\r\n\r\nexport default NotFoundPage;\r\n","import React from 'react';\r\nimport { NavLink } from 'react-router-dom';\r\nimport image from \"../../assets/img/forbidden.png\";\r\nimport '../../assets/sass/lbd/_error-pages.scss';\r\n\r\nconst UnauthorizedPage = () => {\r\n //const [isAuthenticated] = useAuthorization();\r\n //let history = useHistory();\r\n //\r\n //if (isAuthenticated) {\r\n // history.push(`/`);\r\n //}\r\n return (\r\n
    \r\n \"Acceso\r\n \r\n

    401

    \r\n

    Acceso Denegado

    \r\n

    No tiene los permisos suficientes para acceder al recurso. En caso de que lo necesite, contactese con el administrador del sistema.

    \r\n ← Volver\r\n
    \r\n );\r\n}\r\n\r\nexport default UnauthorizedPage;\r\n","import moment from 'moment';\r\nimport PropTypes from 'prop-types';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { Col, Row } from 'react-bootstrap';\r\n\r\nexport const NullableDatePicker = (props) => {\r\n const {\r\n dayLabel,\r\n monthLabel,\r\n yearLabel,\r\n value,\r\n onChange,\r\n onBlur,\r\n futureDates\r\n } = props;\r\n\r\n const [day, setDay] = useState(null);\r\n const [month, setMonth] = useState(null);\r\n const [year, setYear] = useState(null);\r\n\r\n const [selectDay, setSelectDay] = useState(\"UNK\");\r\n const [selectMonth, setSelectMonth] = useState(\"UNK\");\r\n const [selectYear, setSelectYear] = useState(\"UNK\");\r\n\r\n useEffect(() => {\r\n let day = [], month = [], year = [];\r\n let maxDays = 31;\r\n let maxMonths = 11;\r\n\r\n if (selectYear && selectYear !== \"UNK\" && selectMonth && selectMonth !== \"UNK\") {\r\n maxDays = moment(`${selectYear}-${parseInt(selectMonth) + 1}`, \"YYYY-MM\").daysInMonth();\r\n }\r\n\r\n if (!futureDates && selectYear && selectYear === moment().year().toString()) {\r\n maxMonths = moment().month();\r\n\r\n if (selectMonth && selectMonth === moment().month().toString())\r\n maxDays = moment().date();\r\n }\r\n\r\n for (let i = 1; i <= maxDays; i++) {\r\n day.push(i);\r\n }\r\n\r\n for (let i = 0; i <= maxMonths; i++) {\r\n month.push({\r\n text: props.useMonthNames ? moment.monthsShort('-MMM-', i) : (i + 1),\r\n value: i\r\n });\r\n }\r\n\r\n const maxYear = futureDates ? moment().year() + 10 : moment().year();\r\n for (let i = maxYear; i >= props.minYear; i--) {\r\n year.push(i);\r\n }\r\n\r\n setDay(day); setMonth(month); setYear(year);\r\n if (value && value.split(\"/\").length > 2) {\r\n\r\n let selectedDay = value.split(\"/\")[0];\r\n let selectedMonth = value.split(\"/\")[1];\r\n let selectedYear = value.split(\"/\")[2];\r\n\r\n setSelectDay(selectedDay ? selectedDay : \"UNK\");\r\n setSelectMonth(selectedMonth ? selectedMonth : \"UNK\");\r\n setSelectYear(selectedYear ? selectedYear : \"UNK\");\r\n }\r\n }, [value]);\r\n\r\n const handleBlur = () => {\r\n if (props.onBlur)\r\n onBlur(props.name, true);\r\n };\r\n\r\n const handleChange = (e, type) => {\r\n const selectedValue = e.target.value ? e.target.value : \"UNK\";\r\n switch (type) {\r\n case \"selectDay\":\r\n setSelectDay(selectedValue);\r\n onChange(props.name, `${selectedValue}/${selectMonth}/${selectYear}`);\r\n break;\r\n case \"selectMonth\":\r\n setSelectMonth(selectedValue);\r\n onChange(props.name, `${selectDay}/${selectedValue}/${selectYear}`);\r\n break;\r\n case \"selectYear\":\r\n setSelectYear(selectedValue);\r\n onChange(props.name, `${selectDay}/${selectMonth}/${selectedValue}`);\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n if (!day || !month || !year)\r\n return null;\r\n\r\n const dayElement = day.map((day, id) => {\r\n return ;\r\n });\r\n const monthElement = month.map((month, id) => {\r\n return ;\r\n });\r\n const yearElement = year.map((year, id) => {\r\n return ;\r\n });\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nNullableDatePicker.propTypes = {\r\n disabled: PropTypes.bool,\r\n name: PropTypes.string,\r\n onChange: PropTypes.func,\r\n onBlur: PropTypes.func,\r\n dayLabel: PropTypes.string,\r\n monthLabel: PropTypes.string,\r\n yearLabel: PropTypes.string,\r\n minYear: PropTypes.number,\r\n value: PropTypes.string,\r\n useMonthNames: PropTypes.bool,\r\n futureDates: PropTypes.bool,\r\n};\r\n\r\nNullableDatePicker.defaultProps = {\r\n dayLabel: 'dia',\r\n monthLabel: 'mes',\r\n yearLabel: 'año',\r\n minYear: 1916,\r\n value: \"UNK/UNK/UNK\",\r\n useMonthNames: true,\r\n futureDates: false,\r\n};","import { ErrorMessage, FieldArray } from 'formik'\r\nimport i18n from 'i18next'\r\nimport React from 'react'\r\nimport { Col, ControlLabel, FormControl, FormGroup, HelpBlock, InputGroup, Panel, PanelGroup, Row } from 'react-bootstrap'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { conceptType } from '../../variables/Enums'\r\nimport Card from '../Cards/Card'\r\nimport { AdherenceControl } from '../CustomControls/Adherence'\r\nimport { AuditTooltip } from '../CustomControls/AuditTooltip'\r\nimport { CustomCheckbox } from '../CustomControls/CustomCheckbox'\r\nimport { NullableDatePicker } from '../CustomControls/CustomDate'\r\nimport { CustomDateTime, CustomTime } from \"../CustomControls/CustomDateTime\"\r\nimport { CustomFormControl } from '../CustomControls/CustomFormControl'\r\nimport { CustomRadio } from '../CustomControls/CustomRadio'\r\nimport { AdverseEventsAsync, CustomSelect, CustomSelectAsync } from \"../CustomControls/CustomSelect\"\r\nimport { FilesForm } from '../CustomControls/Files/Files'\r\nimport { SnomedPicker } from '../CustomControls/SnomedPicker'\r\nimport { YesNo, YesNoNotApply } from '../CustomControls/YesNoControls'\r\nimport { Remove } from '../Icons/Icons'\r\nimport { AdverseEventsOpenItems } from '../MedicalRecords/AdverseEvents'\r\nimport { DrugsOpenItems } from '../MedicalRecords/Drugs'\r\nimport { ProceduresOpenItems } from '../MedicalRecords/Procedures'\r\nimport { toLocaleDateFormatter } from '../Utils/Formatter'\r\nimport { FormErrorMessage } from '../Validations/FormValidationErrors'\r\n\r\n\r\nconst getDynamicField = (field, indexComp, indexChild, index, props, t) => {\r\n const {\r\n setFieldValue,\r\n setFieldTouched,\r\n handleChange,\r\n handleBlur,\r\n isDisabled,\r\n isUploadEnabled\r\n } = props;\r\n\r\n let name = `fields[${index}]`;\r\n if (indexChild !== null && indexChild !== undefined) {\r\n name = `fields[${index}].components[${indexComp}].fields[${indexChild}]`;\r\n }\r\n let auditName = `${name}.value`;\r\n\r\n let dynamicField = null;\r\n switch (field._t) {\r\n case 'DividerField':\r\n return (\r\n \r\n \r\n
    \r\n \r\n
    \r\n );\r\n case 'TextField':\r\n return (\r\n \r\n \r\n {field.label}\r\n \r\n \r\n );\r\n case 'SingleLineField':\r\n dynamicField = ();\r\n break;\r\n case 'MultiLineField':\r\n dynamicField = ();\r\n break;\r\n case 'IntegerField':\r\n case 'DecimalField':\r\n if (field.text && field.text !== \"\") {\r\n dynamicField = (\r\n \r\n {field.textPosition == 0 ? {field.text} : \"\"}\r\n \r\n {field.textPosition == 1 ? {field.text} : \"\"}\r\n );\r\n }\r\n else {\r\n dynamicField = ();\r\n }\r\n break;\r\n case 'DateField':\r\n dynamicField = ();\r\n break;\r\n case 'TimeField':\r\n dynamicField = ();\r\n break;\r\n case 'DateTimeField':\r\n dynamicField = ();\r\n break;\r\n case 'PayableField':\r\n case 'BooleanField':\r\n dynamicField = ();\r\n break;\r\n case 'YesNoField':\r\n dynamicField = ();\r\n break;\r\n case 'SnomedField':\r\n let type = null;\r\n switch (field.syncTo) {\r\n case \"AdverseEvent\": type = conceptType.events; break;\r\n case \"Drug\": type = conceptType.drugs; break;\r\n case \"Procedure\": type = conceptType.procedures; break;\r\n default:\r\n type = conceptType.events; break;\r\n }\r\n auditName += \".description\";\r\n dynamicField = ();\r\n break;\r\n case 'ProcedureSnomedField':\r\n auditName += \".description\";\r\n dynamicField = ();\r\n break;\r\n case 'SelectField':\r\n auditName += \".title\";\r\n let options = field.options.split(\"\\n\").map((option, idx) => { return { id: idx, title: option } });\r\n dynamicField = ();\r\n break;\r\n case 'SelectAsyncField':\r\n auditName += \".title\";\r\n dynamicField = ();\r\n break;\r\n case 'AdverseEventsAsyncField':\r\n dynamicField = ();\r\n break;\r\n case 'CheckboxField':\r\n dynamicField = ();\r\n break;\r\n case 'MultiCheckBoxField':\r\n let multicheckOptions = field.options?.split(\"\\n\").map((option, idx) => { return { id: `${idx}_${field.order}`, idx, title: option } });\r\n dynamicField = multicheckOptions.map(option => {\r\n return ( {\r\n if (!idx) return;\r\n let checkboxArray = !field.value ? multicheckOptions.map(() => false) : field.value;\r\n checkboxArray[idx.split('.')?.pop()] = checked;\r\n setFieldValue(name, checkboxArray);\r\n }}\r\n />);\r\n });\r\n break;\r\n case 'RadioField':\r\n let radioOptions = field.options.split(\"\\n\").map((option, idx) => { return { id: `${idx}_${field.order}`, idx, title: option } });\r\n dynamicField = radioOptions.map(option => {\r\n return ();\r\n });\r\n break;\r\n case 'FileUploadField':\r\n auditName += \".fileName\";\r\n dynamicField = (<>\r\n \r\n {\r\n field.value && field.value.uploadedBy && field.value.uploadedBy !== \"00000000-0000-0000-0000-000000000000\" && props.currentUser !== field.value.uploadedBy &&\r\n { if (value) setFieldValue(controlName, props.currentUser); else setFieldValue(controlName, null) }} />\r\n }\r\n );\r\n break;\r\n case 'AdherenceField':\r\n dynamicField = (\r\n );\r\n break;\r\n case 'BMIField':\r\n let montotoFields = props.values.fields;\r\n if (indexChild !== null && indexChild !== undefined) {\r\n montotoFields = props.values.fields[index].components[indexComp].fields;\r\n }\r\n const height = montotoFields.find(x => x.syncTo === \"Height\");\r\n const weight = montotoFields.find(x => x.syncTo === \"Weight\");\r\n\r\n if (!height || !weight) {\r\n dynamicField = i18n.t(\"protocols.visit.formTemplate.label_bmiField\"); break;\r\n }\r\n const heightFloat = parseFloat(height.value);\r\n const weightFloat = parseFloat(weight.value);\r\n if (!isNaN(heightFloat) && !isNaN(weightFloat) && heightFloat > 0) {\r\n const bmi = weightFloat / (heightFloat / 100 * heightFloat / 100);\r\n dynamicField = \r\n \r\n {Math.round(bmi * 10) / 10}\r\n \r\n \r\n }\r\n break;\r\n case 'AdverseEventsOpenItemsField':\r\n dynamicField = (\r\n );\r\n break;\r\n case 'DrugsOpenItemsField':\r\n dynamicField = (\r\n );\r\n break;\r\n case 'ProceduresOpenItemsField':\r\n dynamicField = (\r\n );\r\n break;\r\n default:\r\n dynamicField = ();\r\n break;\r\n }\r\n\r\n if (props.getLastChange && field._t !== \"AdverseEventsOpenItemsField\" && field._t !== \"DrugsOpenItemsField\" && field._t !== \"ProceduresOpenItemsField\") {\r\n const audit = props.getLastChange(auditName);\r\n if (audit !== null) {\r\n return (\r\n \r\n \r\n {dynamicField}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n\r\n return dynamicField;\r\n}\r\n\r\nconst getArrayFieldComponent = (field, index, props, t) => {\r\n const { isDisabled } = props;\r\n\r\n return (\r\n \r\n
    \r\n (\r\n
    \r\n {field.components && field.components.length > 0 ? (\r\n field.components.map((component, indexComp) => {\r\n const sortedFields = component.fields.sort((function (a, b) { return a.order - b.order; }));\r\n\r\n if (!sortedFields || sortedFields.length === 0)\r\n return '';\r\n\r\n return (\r\n \r\n \r\n {sortedFields[0].value?.description ?? sortedFields[0].label}\r\n \r\n \r\n \r\n arrayHelper.remove(indexComp)}\r\n disabled={isDisabled}\r\n >\r\n \r\n \r\n {\r\n sortedFields.map(function (fieldRec, indexRec) {\r\n return (\r\n
    \r\n \r\n \r\n {fieldRec.label} {fieldRec.required && *}\r\n \r\n \r\n {getDynamicField(fieldRec, indexComp, indexRec, index, props)}\r\n \r\n {fieldRec.note}\r\n \r\n \r\n
    \r\n
    \r\n )\r\n })\r\n }\r\n \r\n }\r\n />\r\n
    \r\n
    \r\n );\r\n })\r\n ) : \"\"}\r\n \r\n
    \r\n )}\r\n />\r\n
    \r\n );\r\n}\r\n\r\nconst getTableArrayFieldComponent = (field, index, props, t) => {\r\n const { isDisabled } = props;\r\n\r\n if (!field.components && field.components.length === 0)\r\n return null;\r\n\r\n return (\r\n (\r\n
    \r\n {\r\n field && field.components[0] && field.components[0].fields &&\r\n \r\n \r\n \r\n {\r\n field.components[0].fields?.sort((function (a, b) { return a.order - b.order; }))\r\n .map(function (fieldRec, indexRec) {\r\n return (\r\n \r\n )\r\n })\r\n }\r\n \r\n \r\n \r\n {\r\n field.components.map((component, indexComp) => {\r\n const sortedFields = component.fields?.sort((function (a, b) { return a.order - b.order; }));\r\n\r\n if (!sortedFields || sortedFields.length === 0)\r\n return '';\r\n\r\n return (\r\n {\r\n sortedFields.map(function (fieldRec, indexRec) {\r\n return (\r\n \r\n )\r\n })\r\n }\r\n arrayHelper.remove(indexComp)} >\r\n \r\n \r\n );\r\n })\r\n }\r\n \r\n
    \r\n {fieldRec.label}\r\n
    \r\n {getDynamicField(fieldRec, indexComp, indexRec, index, props)}\r\n \r\n {fieldRec.note}\r\n
    \r\n }\r\n\r\n \r\n
    \r\n )}\r\n />\r\n );\r\n}\r\n\r\nexport const DynamicForm = props => {\r\n const { values } = props;\r\n const { t } = useTranslation();\r\n\r\n //values es el Form con sus propiedades. \r\n if (!values || !values.fields)\r\n return null;\r\n\r\n const fields = values.fields.sort((function (a, b) { return a.order - b.order; }))\r\n .map(function (field, index) {\r\n\r\n field.value = field.value ?? '';\r\n\r\n switch (field._t) {\r\n case 'ArrayField':\r\n if (values.type === \"LaboratoryResults\")\r\n return getTableArrayFieldComponent(field, index, props, t);\r\n\r\n return getArrayFieldComponent(field, index, props, t);\r\n case 'DividerField':\r\n case 'TextField':\r\n return getDynamicField(field, null, null, index, props, t);\r\n default:\r\n return (\r\n \r\n \r\n {field.label} {field.required && *}\r\n \r\n \r\n {getDynamicField(field, null, null, index, props, t)}\r\n \r\n {field.note}\r\n \r\n \r\n );\r\n }\r\n });\r\n\r\n return (\r\n \r\n
    {t(\"protocols.visitTracking.firstSave\")}: {toLocaleDateFormatter(values.created, \"DD/MMM/YYYY HH:mm\")}
    \r\n
    {t(\"protocols.visitTracking.lastSave\")}: {toLocaleDateFormatter(values.modified, \"DD/MMM/YYYY HH:mm\")}
    \r\n \r\n : null}\r\n content={\r\n <>\r\n {fields}\r\n
    \r\n \r\n }\r\n />\r\n );\r\n};","import PropTypes from 'prop-types';\r\nimport React from \"react\";\r\nimport { useTranslation } from 'react-i18next';\r\nimport { visitStatus, visitTypes } from \"../../../variables/Enums\";\r\nimport { WithAuth } from \"../../Authorization/WithAuthProtocol\";\r\nimport Card from \"../../Cards/Card\";\r\nimport { Audit, Back, Drug, Export, Publish, Remove, Save, Warning } from \"../../Icons/Icons\";\r\n\r\n\r\nexport const FormActions = (props) => {\r\n const {\r\n onBack,\r\n onSave,\r\n onAuditTrail,\r\n onScreenFailure,\r\n onWithoutDrugs,\r\n onDiscontinuation,\r\n onRemove,\r\n onExport,\r\n visit,\r\n forms,\r\n protocolId,\r\n isSubmitting\r\n } = props;\r\n\r\n const { t } = useTranslation();\r\n if (!visit)\r\n return null;\r\n\r\n return (\r\n \r\n \r\n onSave()}\r\n >\r\n {t('protocols.visitTracking.saveChanges')}\r\n \r\n \r\n \r\n \r\n {t('protocols.visitTracking.export')}\r\n \r\n \r\n \r\n { // Publicación de Visita.\r\n (visit.type !== visitTypes.EarlyCompletion &&\r\n visit.status !== visitStatus.Failed && visit.status !== visitStatus.Skipped && visit.status !== visitStatus.Completed) &&\r\n \r\n \r\n {visit.status === 1 ? t('protocols.visitTracking.publishChanges') : t('protocols.visitTracking.publish')}\r\n \r\n }\r\n { // Eliminar visita. \r\n //visit.status === visitStatus.Started && forms.filter(x => x.status > formStatus.Initial).length === 0 &&\r\n onRemove()}\r\n disabled={isSubmitting}\r\n >\r\n {t('protocols.visitTracking.remove')}\r\n \r\n }\r\n { // Sin Medicacion\r\n (visit.type === visitTypes.EarlyCompletion) &&\r\n (visit.status === undefined || visit.status === 0) &&\r\n = 1 ? true : false}\r\n >\r\n {t('protocols.visitTracking.withoutDrugs')}\r\n \r\n }\r\n { // Discontinuacion\r\n (visit.type === visitTypes.EarlyCompletion) &&\r\n (visit.status === undefined || visit.status === 0) &&\r\n = 1 ? true : false}\r\n >\r\n {t('protocols.visitTracking.discontinuation')}\r\n \r\n }\r\n { // Falla de Screening.\r\n visit.type !== visitTypes.EarlyCompletion && (visit.status === undefined || visit.status === 0) &&\r\n = 1 ? true : false}\r\n >\r\n {t('protocols.visitTracking.screenFailure')}\r\n \r\n }\r\n \r\n \r\n \r\n onAuditTrail()}\r\n >\r\n {t('protocols.visitTracking.auditTrail')}\r\n \r\n \r\n }\r\n />\r\n );\r\n}\r\n\r\nFormActions.propTypes = {\r\n onBack: PropTypes.func.isRequired,\r\n onSave: PropTypes.func.isRequired,\r\n onAuditTrail: PropTypes.func.isRequired,\r\n onScreenFailure: PropTypes.func.isRequired,\r\n visit: PropTypes.object,\r\n protocolId: PropTypes.string.isRequired,\r\n isSubmitting: PropTypes.bool.isRequired,\r\n};","import React, { Fragment, useContext, useState } from \"react\";\r\nimport { useTranslation } from 'react-i18next'\r\nimport PropTypes from 'prop-types';\r\nimport { NavLink } from \"react-router-dom\";\r\nimport { Alert } from 'react-bootstrap'\r\n\r\nimport { visitStatus, visitStage, patientInProtocolStatus, formStatus } from \"../../../variables/Enums\";\r\nimport Card from \"../../Cards/Card\";\r\nimport { Save, Publish, Cancel, Warning, Audit, Back, Next, Drug, Sync, Contract, Expand, Swap, Change, Remove, Export, FormRestriction } from \"../../Icons/Icons\";\r\nimport { WithAuth } from \"../../Authorization/WithAuthProtocol\";\r\nimport ScrollMenu from 'react-horizontal-scrolling-menu';\r\nimport ProtocolContext from \"../../../containers/Protocols/ProtocolContext/ProtocolContext\";\r\nimport { dateTimeFormatter } from \"../../Utils/Formatter\";\r\nimport { Italic } from \"../../CustomControls/CustomTextStyle\";\r\n\r\nexport const FormMenu = (props) => {\r\n const [showAdditionals, setShowAdditionals] = useState(false);\r\n const { t } = useTranslation();\r\n const handleOthersClick = () => { setShowAdditionals(!showAdditionals); }\r\n\r\n const additionals = props.forms.filter(x => x.extraFormType === 0).map(function (form, index) {\r\n return ( props.onClick(form.id)}\r\n style={{ marginBottom: '5px', textAlign: 'left' }}>\r\n\r\n {form.status === 1 ? : ''}\r\n {props.formsWithErrors?.find(x => x.id === form.id) ? : ''}\r\n {form.title}\r\n );\r\n });\r\n\r\n const content = props.forms.filter(x => x.extraFormType !== 0).map(function (form, index) {\r\n return ( props.onClick(form.id)}\r\n style={{ marginBottom: '5px', textAlign: 'left' }}>\r\n\r\n {form.status === 1 ? : ''}\r\n {props.formsWithErrors?.find(x => x.id === form.id) ? : ''}\r\n {form.title}\r\n );\r\n });\r\n\r\n if (additionals.length > 0)\r\n content.push(\r\n \r\n {showAdditionals ? : } {t(\"protocols.extraForms.additionals\")}\r\n \r\n );\r\n\r\n return (\r\n \r\n {!props.isDisabled && content}\r\n {showAdditionals && additionals}\r\n \r\n }\r\n />\r\n );\r\n}\r\n\r\nFormMenu.propTypes = {\r\n onClick: PropTypes.func.isRequired,\r\n forms: PropTypes.array.isRequired,\r\n formsWithErrors: PropTypes.array.isRequired,\r\n selectedFormId: PropTypes.number,\r\n};\r\n\r\nexport const FormActions = (props) => {\r\n const {\r\n onBack,\r\n onSave,\r\n onSaveUpload,\r\n onSkip,\r\n onScreenFailure,\r\n onLostToFollowUp,\r\n onAuditTrail,\r\n onWithoutDrugs,\r\n onReturnDrugs,\r\n onDiscontinuation,\r\n onReSync,\r\n onChangeType,\r\n onChangeVisitTrackingType,\r\n onRemove,\r\n onExport,\r\n onFormRestrictions,\r\n visit,\r\n hasVisitTracking,\r\n forms,\r\n isSubmitting\r\n } = props;\r\n\r\n const { t } = useTranslation();\r\n const context = useContext(ProtocolContext);\r\n const protocolId = context.protocolId;\r\n\r\n if (!visit)\r\n return null;\r\n\r\n return (\r\n \r\n \r\n { // Subir Adjunto. \r\n hasVisitTracking && //(visit.status !== visitStatus.Failed && visit.status !== visitStatus.Skipped) &&\r\n \r\n {t('protocols.visitTracking.saveUploadChanges')}\r\n \r\n }\r\n \r\n \r\n { // Guardar Visita. \r\n hasVisitTracking && //(visit.status !== visitStatus.Failed && visit.status !== visitStatus.Skipped) &&\r\n onSave()}\r\n disabled={isSubmitting || context.isDisabled}\r\n >\r\n {t('protocols.visitTracking.saveChanges')}\r\n \r\n }\r\n \r\n {\r\n hasVisitTracking &&\r\n \r\n { // Publicar visita. \r\n (visit.status !== visitStatus.Failed && visit.status !== visitStatus.Skipped && visit.status !== visitStatus.Completed) &&\r\n \r\n \r\n {visit.status === visitStatus.Changed && t('protocols.visitTracking.publishChanges')}\r\n {visit.status !== visitStatus.Changed && t('protocols.visitTracking.publish')}\r\n \r\n }\r\n { // Eliminar visita. \r\n visit.status === visitStatus.Started && forms.filter(x => x.status > formStatus.Initial).length === 0 &&\r\n onRemove()}\r\n disabled={isSubmitting || context.isDisabled ? true : false}\r\n >\r\n {t('protocols.visitTracking.remove')}\r\n \r\n }\r\n { // Sincronizar. \r\n visit.status === visitStatus.Completed &&\r\n \r\n \r\n {t('protocols.visitTracking.resync')}\r\n \r\n }\r\n \r\n }\r\n {\r\n hasVisitTracking &&\r\n \r\n <>\r\n { // Cambiar tipo\r\n visit.status === undefined || visit.status === 0 &&\r\n = 1 ? true : false}\r\n >\r\n {t('protocols.visitTracking.changeVisitTrackingType')}\r\n \r\n }\r\n { // Saltear\r\n visit.stage !== visitStage.Random && (visit.status === undefined || visit.status === 0) &&\r\n = 1 ? true : false}\r\n >\r\n {t('protocols.visitTracking.skipVisitTracking')}\r\n \r\n }\r\n { // Falla Screening. \r\n (visit.stage === visitStage.Screening || visit.stage === visitStage.Random) &&\r\n (visit.status === undefined || visit.status === 0 || visit.status === 5) &&\r\n = 1 && visit.status < 5) ? true : false}\r\n >\r\n {t('protocols.visitTracking.screenFailure')}\r\n \r\n }\r\n { // Falla Seguimiento\r\n (visit.stage === visitStage.Treatment || visit.stage === visitStage.FollowUp) && (visit.status === undefined || visit.status === 0) &&\r\n = 1 ? true : false}\r\n >\r\n {t('protocols.visitTracking.lostToFollowUp')}\r\n \r\n }\r\n { // Discontinuacion\r\n (visit.stage > visitStage.Random) &&\r\n (visit.status === undefined || visit.status === 0) &&\r\n = 1 ? true : false}\r\n >\r\n {t('protocols.visitTracking.discontinuation')}\r\n \r\n }\r\n { // Sin Medicacion\r\n (visit.stage > visitStage.Random) && (visit.status === undefined || visit.status === 0) && (props.patientInProtocolStatus !== patientInProtocolStatus.WithoutDrugs) &&\r\n = 1 ? true : false}\r\n >\r\n {t('protocols.visitTracking.withoutDrugs')}\r\n \r\n }\r\n { // Retornar Medicacion\r\n (visit.stage > visitStage.Random) && (visit.status === undefined || visit.status === 0) && (props.patientInProtocolStatus === patientInProtocolStatus.WithoutDrugs) &&\r\n = 1 ? true : false}\r\n >\r\n {t('protocols.visitTracking.returnDrugs')}\r\n \r\n }\r\n \r\n {t('buttons.changeType')}\r\n \r\n \r\n \r\n }\r\n\r\n \r\n {\r\n hasVisitTracking &&\r\n \r\n {t('protocols.visitTracking.export')}\r\n \r\n }\r\n \r\n \r\n \r\n {\r\n hasVisitTracking && onAuditTrail()}\r\n >\r\n {t('protocols.visitTracking.auditTrail')}\r\n \r\n }\r\n \r\n }\r\n />\r\n );\r\n}\r\n\r\nFormActions.propTypes = {\r\n onSave: PropTypes.func.isRequired,\r\n onSkip: PropTypes.func.isRequired,\r\n onScreenFailure: PropTypes.func.isRequired,\r\n onLostToFollowUp: PropTypes.func.isRequired,\r\n onWithoutDrugs: PropTypes.func.isRequired,\r\n onAuditTrail: PropTypes.func.isRequired,\r\n visit: PropTypes.object.isRequired,\r\n hasVisitTracking: PropTypes.bool.isRequired,\r\n forms: PropTypes.array.isRequired\r\n};\r\n\r\nexport const FormHeader = (props) => {\r\n const {\r\n protocolId,\r\n patientId,\r\n visits\r\n } = props;\r\n\r\n\r\n if (!visits)\r\n return }\r\n />;\r\n\r\n const Menu = () =>\r\n visits.map((visit, index) => {\r\n return (\r\n
    \r\n \r\n {visit.title}\r\n \r\n
    \r\n );\r\n });\r\n\r\n const ArrowLeft = ;\r\n const ArrowRight = ;\r\n\r\n const getNavLinkClass = (path) => {\r\n return window.location.pathname === path ? 'active' : '';\r\n }\r\n\r\n return (\r\n \r\n }\r\n />\r\n );\r\n}\r\n\r\nFormHeader.propTypes = {\r\n protocolId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\r\n patientId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\r\n visits: PropTypes.array,\r\n};\r\n\r\nexport const VisitStatus = ({ status, date }) => {\r\n const { t } = useTranslation();\r\n switch (status) {\r\n case visitStatus.Started:\r\n return ([{dateTimeFormatter(date)}] {t(\"protocols.visit.status.started\")});\r\n case visitStatus.Completed:\r\n return ({t(\"protocols.visit.status.completed\")});\r\n case visitStatus.Skipped:\r\n return ({t(\"protocols.visit.status.skipped\")});\r\n case visitStatus.Failed:\r\n return ({t(\"protocols.visit.status.failed\")});\r\n case visitStatus.Changed:\r\n return ({t(\"protocols.visit.status.changed\")});\r\n case visitStatus.AutoCompleted:\r\n return ({t(\"protocols.visit.status.autoCompleted\")});\r\n default:\r\n return null;\r\n }\r\n}\r\n\r\nVisitStatus.propTypes = {\r\n status: PropTypes.string,\r\n};","import PropTypes from 'prop-types';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { Button, Col, ControlLabel, Grid, Row } from 'react-bootstrap';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { useAuthorization } from '../Authorization/useAuthorization';\r\nimport { TextBoxUsersMentions } from '../CustomControls/TextBoxUsersMentions';\r\nimport { Add, Edit, Save } from '../Icons/Icons';\r\nimport { getFullNameFromUserMention } from '../Utils/Commons';\r\nimport { dateTimeFormatter } from '../Utils/Formatter';\r\n\r\nexport const DocumentNotes = (props) => {\r\n const [, user] = useAuthorization();\r\n\r\n if (!props.notes)\r\n return null;\r\n\r\n const handleEdit = (noteId) => {\r\n if (props.onEdit)\r\n props.onEdit(noteId);\r\n }\r\n\r\n return (\r\n \r\n {\r\n props.notes.sort(function (a, b) {\r\n return new Date(b.created) - new Date(a.created);\r\n }).map((note, index) => (\r\n \r\n \r\n
    {dateTimeFormatter(note.created)}
    \r\n
    {note.createdBy}
    \r\n \r\n \r\n
    {getFullNameFromUserMention(note.note)}
    \r\n \r\n {\r\n user?.sub === note.createdById &&\r\n \r\n \r\n \r\n }\r\n
    \r\n ))\r\n }\r\n
    \r\n );\r\n}\r\n\r\nDocumentNotes.propTypes = {\r\n notes: PropTypes.array.isRequired,\r\n documentId: PropTypes.number.isRequired,\r\n onEdit: PropTypes.func.isRequired\r\n};\r\n\r\nexport const DocumentNoteForm = ({ onCreate, onEdit, note }) => {\r\n const { t } = useTranslation();\r\n const [text, setText] = useState(\"\");\r\n\r\n useEffect(() => {\r\n if (note)\r\n setText(note.note);\r\n }, [note]);\r\n\r\n const handleChange = (_name, value) => {\r\n setText(value);\r\n }\r\n\r\n const handleCreate = () => {\r\n if (onCreate)\r\n onCreate(text);\r\n setText(\"\");\r\n }\r\n\r\n const handleEdit = () => {\r\n if (onEdit) {\r\n onEdit(note.id, text);\r\n }\r\n setText(\"\");\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {t(\"protocols.visitTracking.documentNotes\")}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n note\r\n ?\r\n \r\n :\r\n \r\n }\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nDocumentNoteForm.propTypes = {\r\n note: PropTypes.object,\r\n onCreate: PropTypes.func.isRequired,\r\n onEdit: PropTypes.func.isRequired\r\n};","import React, { Fragment, useContext, useEffect, useState } from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { WithAuth } from '../../../components/Authorization/WithAuthProtocol.jsx';\r\nimport Card from '../../../components/Cards/Card.jsx';\r\nimport { Add, RemoveCircle } from '../../../components/Icons/Icons.jsx';\r\nimport { DocumentNoteForm, DocumentNotes } from '../../../components/Protocols/DocumentNotes';\r\nimport { useDocumentNotes } from '../Hooks.js';\r\nimport ProtocolContext from '../ProtocolContext/ProtocolContext.js';\r\n\r\nconst DocumentNotesContainer = (props) => {\r\n const { t } = useTranslation();\r\n const { protocolId, documentId, visitId, patientId, type } = props;\r\n const context = useContext(ProtocolContext);\r\n const [isLoading, setIsLoading] = useState(true);\r\n const [, getNotes, , createNote, updateNote] = useDocumentNotes();\r\n const [notes, setNotes] = useState([]);\r\n const [note, setNote] = useState(null);\r\n const [collapse, setCollapse] = useState(true);\r\n\r\n useEffect(() => {\r\n let isSubscribed = true;\r\n\r\n const fetchData = async () => {\r\n setIsLoading(true);\r\n try {\r\n const resp = await getNotes(protocolId, documentId);\r\n if (isSubscribed) {\r\n setNotes(resp.data);\r\n if (resp.data.length > 0)\r\n setCollapse(false);\r\n setIsLoading(false);\r\n }\r\n }\r\n catch (error) {\r\n if (isSubscribed) {\r\n setNotes([]);\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n if (documentId && protocolId)\r\n fetchData();\r\n\r\n return () => isSubscribed = false;\r\n }, [protocolId, documentId]);\r\n\r\n const handleCreateNote = async (note) => {\r\n var createdNote = await createNote(type, documentId, protocolId, visitId, patientId, note);\r\n if (createdNote)\r\n setNotes(notes.concat(createdNote.data));\r\n }\r\n\r\n const handleEditNote = (noteId) => {\r\n var note = notes.filter(x => (x.id === noteId));\r\n if (note.length > 0)\r\n setNote(note[0]);\r\n }\r\n const handleNoteEdited = async (noteId, text) => {\r\n var updatedNote = await updateNote(protocolId, noteId, text);\r\n if (updatedNote) {\r\n let notesCopy = JSON.parse(JSON.stringify(notes));\r\n var index = notes.findIndex(x => x.id === noteId);\r\n notesCopy.splice(index, 1, updatedNote.data); //Reemplazo. \r\n\r\n setNotes(notesCopy);\r\n setNote(null);\r\n }\r\n }\r\n\r\n if (isLoading || !documentId)\r\n return null;\r\n\r\n return (\r\n \r\n \r\n {t(\"protocols.visitTracking.documentNotes_Title\")}\r\n \r\n }\r\n content={\r\n <>\r\n {\r\n !collapse &&\r\n \r\n {\r\n !context.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\nexport default DocumentNotesContainer;","import { ErrorMessage } from 'formik';\r\nimport PropTypes from 'prop-types';\r\nimport React, { useState } from \"react\";\r\nimport { Col, Grid, Row } from 'react-bootstrap';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { RichTextControl } from '../../CustomControls/RichTextControl';\r\nimport { SignWithOutInfo } from '../../DigitalSign/Sign';\r\nimport { Add, Edit, RemoveCircle, Save, Signature } from '../../Icons/Icons';\r\nimport { Spinner } from '../../Utils/Loaders';\r\nimport { Popover } from '../../Utils/Popover';\r\nimport { FormErrorMessage } from '../../Validations/FormValidationErrors';\r\nimport { toLocaleDateFormatter } from '../../Utils/Formatter';\r\n\r\nexport const Entry = (props) => {\r\n const {\r\n values,\r\n setFieldValue,\r\n setFieldTouched,\r\n isDisabled,\r\n placeholder\r\n } = props;\r\n\r\n const [collapse, setCollapse] = useState(values.status === 1 ? true : false);\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n !collapse &&\r\n
    \r\n \r\n
    \r\n }\r\n \r\n
    \r\n );\r\n}\r\n\r\nEntry.defaultProps = {\r\n height: 300\r\n}\r\n\r\nEntry.propTypes = {\r\n height: PropTypes.number,\r\n placeholder: PropTypes.string,\r\n isDisabled: PropTypes.bool,\r\n values: PropTypes.object.isRequired,\r\n setFieldValue: PropTypes.func.isRequired,\r\n setFieldTouched: PropTypes.func.isRequired,\r\n};\r\n\r\nexport const EvolutionEdit = (props) => {\r\n const {\r\n evolution,\r\n onSave,\r\n onCancel,\r\n isDisabled,\r\n isLoading\r\n } = props;\r\n\r\n const { t } = useTranslation();\r\n const [data, setData] = useState(evolution?.text);\r\n\r\n const handleSave = () => { if (onSave) onSave(evolution?.id, data); }\r\n const handleCancel = () => { if (onCancel) onCancel(); }\r\n\r\n if (isLoading)\r\n return \r\n\r\n return (\r\n
    \r\n setData(value)}\r\n onBlur={() => { }}\r\n toolbar={\r\n [\r\n {\r\n name: 'history', items: ['undo', 'redo']\r\n },\r\n {\r\n name: 'clear', items: ['removeformat']\r\n }\r\n ]\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n}\r\n\r\nEntry.defaultProps = {\r\n height: 300\r\n}\r\n\r\nEntry.propTypes = {\r\n height: PropTypes.number,\r\n placeholder: PropTypes.string,\r\n isDisabled: PropTypes.bool,\r\n values: PropTypes.object.isRequired,\r\n setFieldValue: PropTypes.func.isRequired,\r\n setFieldTouched: PropTypes.func.isRequired,\r\n};\r\n\r\n\r\nexport const Evolutions = (props) => {\r\n const { data, onEdit } = props;\r\n const { t } = useTranslation();\r\n\r\n return (\r\n {\r\n data && data.length > 0 ?\r\n data.map((item, idx) => (\r\n \r\n \r\n
    \r\n \r\n }\r\n >\r\n \r\n \r\n {toLocaleDateFormatter(item.created, \"DD/MM/YYYY HH:mm\")} [{item.createdBy?.fullName} - {item.createdBy?.speciality}]:\r\n \r\n {\r\n item.modified !== item.created &&\r\n [Modificado el {toLocaleDateFormatter(item.modified, \"DD/MM/YYYY HH:mm\")} por {item.modifiedBy?.fullName} - {item.createdBy?.speciality}]\r\n }\r\n
    \r\n \r\n
    \r\n\r\n ))\r\n :\r\n

    \r\n {t(\"medicalRecords.entries.noentries\")}\r\n

    \r\n }\r\n
    \r\n );\r\n}\r\n\r\nEvolutions.propTypes = {\r\n data: PropTypes.array.isRequired,\r\n onEdit: PropTypes.func.isRequired\r\n};","import PropTypes from 'prop-types';\r\nimport React, { useEffect, useState } from \"react\";\r\nimport Card from '../../../components/Cards/Card';\r\nimport { AuditTooltip } from '../../../components/CustomControls/AuditTooltip';\r\nimport { Entry, EvolutionEdit, Evolutions } from '../../../components/Protocols/Tracking/Entry';\r\nimport { useEvolutions } from './useEvolutions';\r\nimport { visitStatus } from '../../../variables/Enums';\r\nimport { CreateAuditModal } from '../../../components/AuditTrail/AuditModal';\r\nimport { HandleApiError, HandleMessageError } from '../../../components/Notifications/APIErrorHandler';\r\nimport { Success } from '../../../components/Notifications/Notifications';\r\n\r\nexport const EvolutionsContainer = (props) => {\r\n const { data, audit, title, subtitle, isDisabled, visitTrackingStatus } = props;\r\n const [isLoading, updateEvolution] = useEvolutions();\r\n const [evolution, setEvolution] = useState(null);\r\n const [evolutions, setEvolutions] = useState(data);\r\n const [modal, setModal] = useState(null);\r\n\r\n useEffect(\r\n () => setEvolutions(data),\r\n [data]\r\n );\r\n\r\n const handleEditEvolution = (evolutionId) => {\r\n var evolutionEdit = evolutions.filter(x => (x.id === evolutionId));\r\n if (evolutionEdit.length > 0)\r\n setEvolution(evolutionEdit[0]);\r\n else\r\n HandleMessageError(\"protocolNotifications.visitTracking_evolutionNotFound\");\r\n }\r\n\r\n const handleEvolutionEdited = async (evolutionId, text) => {\r\n if (visitTrackingStatus !== visitStatus.Started) {\r\n setModal( setModal(null)}\r\n onSave={(reason, comments) => _saveEvolution(evolutionId, text, { reason: reason, comments: comments })}\r\n />)\r\n }\r\n else {\r\n _saveEvolution(evolutionId, text);\r\n }\r\n }\r\n\r\n const _saveEvolution = async (evolutionId, text, audit) => {\r\n\r\n try {\r\n var updatedEvolution = await updateEvolution(props.protocolId, props.visitId, props.patientId, evolutionId, text, audit);\r\n if (updatedEvolution) {\r\n let evolutionsCopy = JSON.parse(JSON.stringify(evolutions));\r\n var index = evolutions.findIndex(x => x.id === evolutionId);\r\n evolutionsCopy.splice(index, 1, updatedEvolution.data); //Reemplazo. \r\n setEvolutions(evolutionsCopy);\r\n setEvolution(null);\r\n setModal(null);\r\n Success(\"protocolNotifications.visitTracking_EvolutionUpdated\");\r\n }\r\n }\r\n catch (error) {\r\n setModal(null);\r\n console.error(error);\r\n HandleApiError(error);\r\n }\r\n }\r\n\r\n return (\r\n \r\n {audit && }\r\n {modal}\r\n {\r\n !isDisabled && !evolution &&\r\n\r\n \r\n }\r\n {\r\n evolution &&\r\n setEvolution(null)}\r\n isDisabled={isDisabled}\r\n isLoading={isLoading}\r\n />\r\n }\r\n \r\n \r\n }\r\n />\r\n );\r\n}\r\n\r\nEvolutionsContainer.defaultProps = {\r\n //title: \"Evolución\"\r\n}\r\nEvolutionsContainer.propTypes = {\r\n title: PropTypes.object,\r\n subtitle: PropTypes.object,\r\n placeholder: PropTypes.string,\r\n isDisabled: PropTypes.bool,\r\n values: PropTypes.object.isRequired,\r\n setFieldValue: PropTypes.func.isRequired,\r\n setFieldTouched: PropTypes.func.isRequired,\r\n};","import { useState } from \"react\";\r\nimport { updateEvolutionAPI } from \"../../../api/protocol\";\r\nimport { HandleApiError } from \"../../../components/Notifications/APIErrorHandler\";\r\n\r\nexport const useEvolutions = () => {\r\n const [isLoading, setIsLoading] = useState(false);\r\n\r\n const updateEvolution = async (protocolId, visitId, patientId, evolutionId, evolution, audit) => {\r\n try {\r\n var pepepe = {\r\n evolution: evolution,\r\n audit: audit\r\n }\r\n setIsLoading(true);\r\n const evolutionRes = await updateEvolutionAPI(protocolId, visitId, patientId, evolutionId, pepepe);\r\n setIsLoading(false);\r\n\r\n return evolutionRes;\r\n\r\n } catch (error) {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n return [isLoading, updateEvolution];\r\n}","import PropTypes from 'prop-types';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { Col, ControlLabel, Grid, Row } from 'react-bootstrap';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { useAuthorization } from '../Authorization/useAuthorization';\r\nimport { TextBoxUsersMentions } from '../CustomControls/TextBoxUsersMentions';\r\nimport { Add, Edit, Remove, Save, Enabled } from '../Icons/Icons';\r\nimport { getFullNameFromUserMention } from '../Utils/Commons';\r\nimport { dateTimeFormatter } from '../Utils/Formatter';\r\nimport { ConfirmRemove, RejectExternalNote } from './Admin/Modals';\r\nimport { noteEnum } from '../../variables/Enums';\r\nimport { Tooltip } from '../Utils/Tooltips';\r\n\r\nexport const MonitorNotes = (props) => {\r\n const [, user] = useAuthorization();\r\n const [modal, setModal] = useState(null);\r\n const { t } = useTranslation();\r\n\r\n if (!props.notes)\r\n return null;\r\n\r\n const handleEdit = (noteId) => {\r\n if (props.onEdit)\r\n props.onEdit(noteId);\r\n }\r\n\r\n const handleChangeState = (noteId, status) => {\r\n if (!props.onStatusChange)\r\n return;\r\n\r\n if (status === noteEnum.Invalid)\r\n setModal(\r\n setModal(null)}\r\n onConfirm={(confirmChangeState)}\r\n id={noteId}\r\n status={status}\r\n />\r\n );\r\n else\r\n props.onStatusChange(noteId, status);\r\n }\r\n const confirmChangeState = (id, status, response) => {\r\n setModal(null);\r\n props.onStatusChange(id, status, response);\r\n }\r\n\r\n const handleRemove = (noteId) => {\r\n if (props.onRemove)\r\n setModal(\r\n setModal(null)}\r\n onConfirm={(confirmRemove)}\r\n id={noteId}\r\n />\r\n );\r\n }\r\n const confirmRemove = (id) => {\r\n setModal(null);\r\n props.onRemove(id);\r\n }\r\n\r\n return (\r\n \r\n {modal}\r\n {\r\n props.notes.sort(function (a, b) {\r\n return new Date(b.created) - new Date(a.created);\r\n }).map((note, index) => (\r\n \r\n \r\n
    {dateTimeFormatter(note.created)}
    \r\n
    {note.createdBy}
    \r\n \r\n \r\n
    {getFullNameFromUserMention(note.note)}
    \r\n \r\n {\r\n user?.sub === note.createdById ?\r\n \r\n \r\n \r\n :\r\n \r\n \r\n \r\n \r\n }\r\n
    \r\n ))\r\n }\r\n
    \r\n );\r\n}\r\n\r\nMonitorNotes.propTypes = {\r\n notes: PropTypes.array.isRequired,\r\n documentId: PropTypes.number.isRequired,\r\n onEdit: PropTypes.func.isRequired\r\n};\r\n\r\nexport const MonitorNoteForm = ({ onCreate, onEdit, note }) => {\r\n const { t } = useTranslation();\r\n const [text, setText] = useState(\"\");\r\n\r\n useEffect(() => {\r\n if (note)\r\n setText(note.note);\r\n }, [note]);\r\n\r\n const handleChange = (_name, value) => {\r\n setText(value);\r\n }\r\n\r\n const handleCreate = () => {\r\n if (onCreate)\r\n onCreate(text);\r\n setText(\"\");\r\n }\r\n\r\n const handleEdit = () => {\r\n if (onEdit) {\r\n onEdit(note.id, text);\r\n }\r\n setText(\"\");\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {t(\"protocols.visitTracking.documentNotes\")}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n note\r\n ?\r\n \r\n :\r\n \r\n }\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nMonitorNoteForm.propTypes = {\r\n note: PropTypes.object,\r\n onCreate: PropTypes.func.isRequired,\r\n onEdit: PropTypes.func.isRequired\r\n};","import React, { useContext, useEffect, useState } from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { WithAuth } from '../../../components/Authorization/WithAuthProtocol.jsx';\r\nimport Card from '../../../components/Cards/Card.jsx';\r\nimport { Add, RemoveCircle } from '../../../components/Icons/Icons.jsx';\r\nimport { MonitorNoteForm, MonitorNotes } from '../../../components/Protocols/MonitorNotes';\r\nimport ProtocolContext from '../ProtocolContext/ProtocolContext.js';\r\nimport { useMonitorNotes } from './useMonitorNotes.js';\r\n\r\nconst MonitorNotesContainer = (props) => {\r\n const { t } = useTranslation();\r\n const { protocolId, documentId, visitId, patientId, type } = props;\r\n const context = useContext(ProtocolContext);\r\n const [isLoading, setIsLoading] = useState(true);\r\n const [, getNotes, , createNote, updateNote, deleteNote, changeStatusNote] = useMonitorNotes();\r\n const [notes, setNotes] = useState([]);\r\n const [note, setNote] = useState(null);\r\n const [collapse, setCollapse] = useState(true);\r\n\r\n useEffect(() => {\r\n let isSubscribed = true;\r\n\r\n const fetchData = async () => {\r\n setIsLoading(true);\r\n try {\r\n const resp = await getNotes(protocolId, documentId);\r\n if (isSubscribed) {\r\n setNotes(resp.data);\r\n if (resp.data.length > 0)\r\n setCollapse(false);\r\n setIsLoading(false);\r\n }\r\n }\r\n catch (error) {\r\n if (isSubscribed) {\r\n setNotes([]);\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n\r\n if (documentId && protocolId)\r\n fetchData();\r\n\r\n return () => isSubscribed = false;\r\n }, [protocolId, documentId]);\r\n\r\n const handleCreateNote = async (note) => {\r\n var createdNote = await createNote(type, documentId, protocolId, visitId, patientId, note);\r\n if (createdNote)\r\n setNotes(notes.concat(createdNote.data));\r\n }\r\n const handleEditNote = (noteId) => {\r\n var note = notes.filter(x => (x.id === noteId));\r\n if (note.length > 0)\r\n setNote(note[0]);\r\n }\r\n const handleNoteEdited = async (noteId, text) => {\r\n var updatedNote = await updateNote(protocolId, noteId, text);\r\n if (updatedNote) {\r\n let notesCopy = JSON.parse(JSON.stringify(notes));\r\n var index = notes.findIndex(x => x.id === noteId);\r\n notesCopy.splice(index, 1, updatedNote.data); //Reemplazo. \r\n\r\n setNotes(notesCopy);\r\n setNote(null);\r\n }\r\n }\r\n const handleRemoveNote = async (noteId) => {\r\n try {\r\n await deleteNote(protocolId, noteId);\r\n setNotes(notes.filter(x => (x.id !== noteId)));\r\n }\r\n catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n const handleStatusChange = async (noteId, status, response) => {\r\n try {\r\n var updatedNote = await changeStatusNote(protocolId, noteId, status, response);\r\n if (updatedNote) {\r\n setNotes(notes.filter(x => (x.id !== noteId))); // Elimino\r\n }\r\n }\r\n catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n\r\n\r\n if (isLoading)\r\n return null;\r\n\r\n return (\r\n \r\n \r\n {t(\"protocols.visitTracking.monitorNotes_Title\")}\r\n \r\n }\r\n content={\r\n <>\r\n {\r\n !collapse &&\r\n <>\r\n {\r\n !context.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\nexport default MonitorNotesContainer;","import { useState } from \"react\";\r\nimport { getMonitorNotes, getMonitorNote, createMonitorNote, updateMonitorNote, removeMonitorNote, changeStatusMonitorNote } from \"../../../api/protocol\";\r\nimport { HandleApiError } from \"../../../components/Notifications/APIErrorHandler\";\r\n\r\nexport const useMonitorNotes = (type) => {\r\n const [isLoading, setIsLoading] = useState(true);\r\n\r\n const getNotes = async (protocolId, documentId) => {\r\n try {\r\n return getMonitorNotes(protocolId, documentId);\r\n } catch (error) {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n const getNote = async (protocolId, noteId) => {\r\n try {\r\n setIsLoading(true);\r\n const note = await getMonitorNote(protocolId, noteId);\r\n setIsLoading(false);\r\n\r\n return note;\r\n\r\n } catch (error) {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n const createNote = async (type, documentId, protocolId, visitId, patientId, note) => {\r\n try {\r\n setIsLoading(true);\r\n const documentNote = await createMonitorNote(documentId, protocolId, visitId, patientId, { note: note, type: type });\r\n setIsLoading(false);\r\n\r\n return documentNote;\r\n\r\n } catch (error) {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n const updateNote = async (protocolId, noteId, note) => {\r\n try {\r\n setIsLoading(true);\r\n const documentNote = await updateMonitorNote(protocolId, noteId, { note: note });\r\n setIsLoading(false);\r\n\r\n return documentNote;\r\n\r\n } catch (error) {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n const changeStatusNote = async (protocolId, noteId, status, response) => {\r\n try {\r\n setIsLoading(true);\r\n const documentNote = await changeStatusMonitorNote(protocolId, noteId, { status: status, response: response });\r\n setIsLoading(false);\r\n\r\n return documentNote;\r\n\r\n } catch (error) {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n const deleteNote = async (protocolId, noteId) => {\r\n try {\r\n setIsLoading(true);\r\n var res = await removeMonitorNote(protocolId, noteId);\r\n setIsLoading(false);\r\n\r\n return res;\r\n\r\n } catch (error) {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n return [isLoading, getNotes, getNote, createNote, updateNote, deleteNote, changeStatusNote];\r\n}","import { Formik } from 'formik';\r\nimport React, { useContext, useEffect, useState } from 'react';\r\nimport { Col, Grid, Row } from 'react-bootstrap';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { exportVisitTrackingAPI, getVisitTrackingAttachmentFormEndpoint, getVisitTrackingExtraForms, getVisitTrackingForm, publishVisitTrackingExtraForm, removeVisitTrackingExtraAPI, saveVisitTrackingExtraForm, screenFailureVisitTracking, uploadVisitTrackingExtraAttachmentFormEndpoint } from '../../../api/protocol';\r\nimport { AuditModal, CreateAuditModal } from '../../../components/AuditTrail/AuditModal';\r\nimport { WithAuth } from '../../../components/Authorization/WithAuthProtocol';\r\nimport { useAuthProtocol } from '../../../components/Authorization/useAuthorization';\r\nimport { DocumentViewer } from '../../../components/CustomControls/DocViewer/DocumentViewer';\r\nimport { useFiles } from '../../../components/CustomControls/Files/Hooks';\r\nimport { DigitalSign } from '../../../components/DigitalSign/DigitalSign';\r\nimport { SignWithOutInfo } from '../../../components/DigitalSign/Sign';\r\nimport { DynamicForm } from '../../../components/DynamicForm/DynamicForm';\r\nimport { MedicalRecord } from '../../../components/Icons/Icons';\r\nimport { ModalConfirm } from '../../../components/Modals/ModalConfirm';\r\nimport { ModalSpinner } from '../../../components/Modals/ModalSpinner';\r\nimport { HandleApiError } from '../../../components/Notifications/APIErrorHandler';\r\nimport { Success } from '../../../components/Notifications/Notifications';\r\nimport { FormActions } from '../../../components/Protocols/ExtraVisits/Forms';\r\nimport { FormMenu, VisitStatus } from '../../../components/Protocols/Tracking/Forms';\r\nimport { ScreenFailure } from '../../../components/Protocols/Tracking/Modals';\r\nimport { Slider } from '../../../components/Slider/Slider';\r\nimport { Spinner } from '../../../components/Utils/Loaders';\r\nimport { getValidationSchema } from '../../../components/Validations/FormValidationSchema';\r\nimport { formStatus, visitStatus as visitStatusEnum } from \"../../../variables/Enums\";\r\nimport { AuditTrail } from \"../../Admin/AuditTrail\";\r\nimport { ModalDigitalSign } from '../../DigitalSign/ModalDigitalSign';\r\nimport { EntryItemsListTabs } from '../../MedicalRecords/MedicalRecordItems/EntryItemsList';\r\nimport DocumentNotesContainer from '../DocumentNotes/DocumentNotes';\r\nimport { EvolutionsContainer } from '../Evolutions/Evolutions';\r\nimport { useAudits } from '../Hooks';\r\nimport MonitorNotesContainer from '../MonitorNotes/MonitorNotes';\r\nimport ProtocolContext from '../ProtocolContext/ProtocolContext';\r\nimport { getVisitTypeTitle } from '../Tracking/Services';\r\n\r\nexport const ExtraVisitTracking = ({ protocolId, patientId, visitId }) => {\r\n let history = useHistory();\r\n const [showHistory, setShowHistory] = useState(false);\r\n const [isAuthorized] = useAuthProtocol(protocolId);\r\n const settingsStore = useSelector(state => state.settings);\r\n const context = useContext(ProtocolContext);\r\n const [isAuditLoading, , getLastVisitTrackingChange] = useAudits(\"VisitTrackingExtra\", visitId);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [fileData, getBlobAPI, postAPI] = useFiles();\r\n\r\n const [forms, setForms] = useState([]);\r\n const [signStatus, setSignStatus] = useState(null);\r\n const [visitTracking, setVisitTracking] = useState(null);\r\n const [selectedForm, setSelectedForm] = useState(null);\r\n const [modal, setModal] = useState(null);\r\n const [patientNumber, setPatientNumber] = useState(null);\r\n const { t } = useTranslation();\r\n const [evolutions, setEvolutions] = useState([]);\r\n\r\n useEffect(() => {\r\n const fetchData = () => {\r\n setIsLoading(true);\r\n\r\n getVisitTrackingExtraForms(protocolId, visitId, patientId)\r\n .then(response => {\r\n var visitTracking = response.data;\r\n\r\n if (visitTracking.forms && visitTracking.forms.length > 0) {\r\n let formAux = visitTracking.forms[0];\r\n var urlParams = new URLSearchParams(window.location.search);\r\n if (urlParams.has('formId') && visitTracking.forms.find(x => x.id == urlParams.get('formId'))) {\r\n formAux = visitTracking.forms.find(x => x.id == urlParams.get('formId'));\r\n }\r\n formAux.text = visitTracking.visit.text;\r\n setSelectedForm(formAux);\r\n }\r\n setEvolutions(visitTracking.visit.evolutions);\r\n setSignStatus(visitTracking.signStatus);\r\n setForms(visitTracking.forms);\r\n setVisitTracking(visitTracking.visit);\r\n setPatientNumber(visitTracking.patientNumber);\r\n setIsLoading(false);\r\n })\r\n .catch(error => {\r\n console.log(error);\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n })\r\n }\r\n\r\n fetchData();\r\n }, [protocolId, visitId, patientId]);\r\n\r\n const _closeModal = () => { setModal(null); }\r\n\r\n const _updateData = (visit, updatedForm) => {\r\n if (!updatedForm || !updatedForm.id) {\r\n window.location.reload(false)\r\n return;\r\n }\r\n\r\n updatedForm.text = visit.text;\r\n let formsCopy = JSON.parse(JSON.stringify(forms));\r\n var index = formsCopy.findIndex(x => x.id === updatedForm.id);\r\n formsCopy.splice(index, 1, updatedForm); //Reemplazo form.\r\n setVisitTracking(visit);\r\n setEvolutions(visit.evolutions);\r\n setForms(formsCopy);\r\n setSelectedForm(updatedForm);\r\n\r\n _closeModal();\r\n Success(\"protocolNotifications.visitTracking_FormSaved\");\r\n }\r\n\r\n const _saveVisit = async (formVisitTracking, formikProps) => {\r\n try {\r\n if (formikProps.isSubmitting)\r\n return;\r\n\r\n formikProps.setSubmitting(true);\r\n setModal();\r\n\r\n let res = await saveVisitTrackingExtraForm(protocolId, visitId, patientId, formVisitTracking);\r\n let form = res.data.form;\r\n const visit = res.data.visit;\r\n\r\n // Upload attachments if any. \r\n const fieldsWithFiles = formVisitTracking.patientForm.fields.filter(x => x._t === \"FileUploadField\" && x.value.file);\r\n const componentsWithFiles = formVisitTracking.patientForm.fields.filter(x => x._t === \"ArrayField\")\r\n .map(array => {\r\n return array.components.map(component => {\r\n return component.fields.map(field => field._t === \"FileUploadField\" && field !== null && field).flat();\r\n }).flat();\r\n }).flat().filter(x => x.value?.file); // filtro por los nuevos solamente. \r\n const files = fieldsWithFiles.concat(componentsWithFiles);\r\n\r\n if (files && files.length > 0) {\r\n try {\r\n const attachs = files.map(x => x.value);\r\n postAPI(attachs, uploadVisitTrackingExtraAttachmentFormEndpoint(protocolId, visitId, form.id, patientId))\r\n .then(() => {\r\n getVisitTrackingForm(protocolId, visitId, form.id)\r\n .then(resForm => {\r\n // Actualizo el form en FrontEnd.\r\n _updateData(visit, resForm?.data);\r\n }).catch((error) => {\r\n console.log(error)\r\n window.location.reload(false)\r\n })\r\n }).catch((error) => { console.log(error) });\r\n }\r\n catch (error) {\r\n console.log(error.response);\r\n }\r\n }\r\n else {\r\n _updateData(visit, form);\r\n }\r\n }\r\n catch (error) {\r\n _closeModal();\r\n console.log(error);\r\n HandleApiError(error);\r\n }\r\n finally {\r\n formikProps.setSubmitting(false);\r\n }\r\n }\r\n\r\n const autoSaveVisit = async (valuesToSave, formikProps) => {\r\n try {\r\n if (formikProps.isSubmitting)\r\n return;\r\n\r\n formikProps.setSubmitting(true);\r\n let formVisitTracking = { patientForm: valuesToSave };\r\n return await _saveVisit(formVisitTracking);\r\n }\r\n catch (error) {\r\n setModal(null);\r\n console.log(error);\r\n HandleApiError(error);\r\n }\r\n finally {\r\n formikProps.setSubmitting(false);\r\n }\r\n }\r\n\r\n const _publishVisit = async (digitalSign, formikProps, type) => {\r\n\r\n try {\r\n setModal();\r\n const res = await publishVisitTrackingExtraForm(protocolId, visitId, patientId, type, digitalSign);\r\n setModal(null);\r\n setSelectedForm({ text: res.data.text });\r\n setVisitTracking(res.data);\r\n formikProps.setSubmitting(false);\r\n Success(\"protocolNotifications.visitTracking_VisitPublished\");\r\n }\r\n catch (error) {\r\n setModal(null);\r\n formikProps.setSubmitting(false);\r\n console.log(error);\r\n HandleApiError(error);\r\n }\r\n }\r\n\r\n const handleSaveVisit = (formVisitTracking, formikProps) => {\r\n\r\n if (visitTracking.status !== visitStatusEnum.Started || formVisitTracking.status !== formStatus.Initial) {\r\n setModal( setModal(null)}\r\n onSave={(reason, comments) => _saveVisit({ patientForm: formVisitTracking, audit: { reason: reason, comments: comments } }, formikProps)}\r\n />)\r\n }\r\n else {\r\n _saveVisit({ patientForm: formVisitTracking }, formikProps);\r\n }\r\n }\r\n\r\n const handleSubmitFormik = (_formVisitTracking, actions) => {\r\n if (settingsStore.settings.digitalSignEnabled)\r\n setModal( { setModal(null); actions.setSubmitting(false); }}\r\n onSubmit={(pin) => _publishVisit(pin, actions, \"ExtraProtocol\")}\r\n />);\r\n else\r\n _publishVisit({ password: \"\" }, actions, \"ExtraProtocol\")\r\n }\r\n\r\n const handleSubmitForm = (evt, formikBag) => {\r\n evt.preventDefault();\r\n\r\n if (!formikBag.dirty || (formikBag.dirty && window.confirm(t(\"protocolNotifications.visitTracking_unsavedChanges\")))) {\r\n formikBag.submitForm();\r\n }\r\n }\r\n\r\n const handleAuditTrail = () => {\r\n setModal(\r\n { setModal(null); }}\r\n title={t(\"auditTrail.audit\")}\r\n >\r\n {t(\"auditTrail.field\")}:\r\n \r\n\r\n {t(\"auditTrail.evolution\")}:\r\n \r\n \r\n )\r\n }\r\n\r\n const handleViewFile = async (attachName) => {\r\n try {\r\n await getBlobAPI(attachName, getVisitTrackingAttachmentFormEndpoint(protocolId, visitId, selectedForm.id, attachName));\r\n }\r\n catch (error) {\r\n console.error(error);\r\n HandleApiError(error);\r\n }\r\n }\r\n\r\n const handleSelectForm = (formId, isDirty) => {\r\n if (!isDirty || (isDirty && window.confirm(t(\"protocolNotifications.visitTracking_unsavedChanges\")))) {\r\n let selectedForms = forms.filter(x => { return x.id === formId });\r\n let formAux = selectedForms.length > 0 ? selectedForms[0] : {};\r\n formAux.text = selectedForm.text;\r\n\r\n setSelectedForm(formAux);\r\n }\r\n }\r\n\r\n const handleScreenFailure = (formikBag) => {\r\n\r\n if (!formikBag.dirty || (formikBag.dirty && window.confirm(t(\"protocolNotifications.visitTracking_unsavedChanges\")))) {\r\n setModal( { setModal(null); formikBag.setSubmitting(false); }}\r\n onConfirm={() => confirmScreenFailure(formikBag)}\r\n />)\r\n }\r\n }\r\n\r\n const confirmScreenFailure = (formikBag) => {\r\n if (settingsStore.settings.digitalSignEnabled)\r\n setModal( { setModal(null); formikBag.setSubmitting(false); }}\r\n onSubmit={(pin) => _publishScreenFailure(pin, formikBag)}\r\n />);\r\n else\r\n _publishScreenFailure({ password: \"\" }, formikBag)\r\n }\r\n\r\n const _publishScreenFailure = async (digitalSign, formikBag) => {\r\n try {\r\n setIsLoading(true);\r\n const res = await screenFailureVisitTracking(protocolId, visitId, patientId, digitalSign);\r\n setModal(null);\r\n setSelectedForm({ text: res.data.text });\r\n setVisitTracking(res.data);\r\n formikBag.setSubmitting(false);\r\n setIsLoading(false);\r\n Success(\"protocolNotifications.visitTracking_VisitPublished\");\r\n }\r\n catch (error) {\r\n setModal(null);\r\n setIsLoading(false);\r\n formikBag.setSubmitting(false);\r\n console.log(error);\r\n HandleApiError(error);\r\n }\r\n }\r\n\r\n const handleEarlyTermination = (type, formikBag) => {\r\n\r\n if (!formikBag.dirty || (formikBag.dirty && window.confirm(t(\"protocolNotifications.visitTracking_unsavedChanges\")))) {\r\n setModal( { setModal(null); formikBag.setSubmitting(false); }}\r\n onConfirm={() => confirmEarlyTermination(type, formikBag)}\r\n title={t(`protocolNotifications.visitTracking_confirm${type}_title`)}\r\n description={t(`protocolNotifications.visitTracking_confirm${type}_description`)}\r\n />)\r\n }\r\n }\r\n\r\n const confirmEarlyTermination = (type, formikBag) => {\r\n if (settingsStore.settings.digitalSignEnabled)\r\n setModal( { setModal(null); formikBag.setSubmitting(false); }}\r\n onSubmit={(pin) => _publishVisit(pin, formikBag, type)}\r\n />);\r\n else\r\n _publishVisit({ password: \"\" }, formikBag, type)\r\n }\r\n\r\n const handleRemoveVisit = (formikBag) => {\r\n setModal( { setModal(null); formikBag.setSubmitting(false); }}\r\n onConfirm={() => _confirmRemoveVisit()}\r\n />)\r\n }\r\n\r\n const _confirmRemoveVisit = async () => {\r\n try {\r\n setIsLoading(true);\r\n await removeVisitTrackingExtraAPI(protocolId, visitId, patientId);\r\n Success(\"protocolNotifications.visitTracking_removeVisitOk\");\r\n history.push(`/admin/protocols/${protocolId}`);\r\n }\r\n catch (error) {\r\n setIsLoading(false);\r\n _closeModal();\r\n console.log(error);\r\n HandleApiError(error);\r\n }\r\n }\r\n\r\n const _export = async (pin) => {\r\n try {\r\n setModal();\r\n\r\n const response = await exportVisitTrackingAPI(protocolId, visitTracking?.id, patientId, pin?.password);\r\n //const blob = new Blob([response.data], { type: \"text/html\" });\r\n const blob = new Blob([response.data]);\r\n const url = window.URL.createObjectURL(blob);\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.target = '_blank';\r\n\r\n var fileName = \"PatientVisit.zip\";\r\n var disposition = response.headers['content-disposition'];\r\n if (disposition && disposition.indexOf('attachment') !== -1) {\r\n var filenameRegex = /filename[^;=\\n]*=((['\"]).*?\\2|[^;\\n]*)/;\r\n var matches = filenameRegex.exec(disposition);\r\n if (matches != null && matches[1]) fileName = matches[1].replace(/['\"]/g, '');\r\n }\r\n link.setAttribute('download', fileName);\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n window.URL.revokeObjectURL(url);\r\n _closeModal();\r\n }\r\n catch (error) {\r\n setIsLoading(false);\r\n _closeModal();\r\n console.log(error);\r\n HandleApiError(error);\r\n }\r\n\r\n }\r\n const handleExport = async () => {\r\n if (settingsStore.settings.digitalSignEnabled)\r\n setModal( { setModal(null); }}\r\n onSubmit={(pin) => _export(pin)}\r\n />);\r\n\r\n else\r\n _export(\"\")\r\n }\r\n\r\n if (!visitTracking || isLoading || isAuditLoading)\r\n return ;\r\n\r\n const isDisabled = !isAuthorized([\"VisitTracking.Add\"]) || context.isDisabled;\r\n\r\n return (\r\n <>\r\n {modal}\r\n \r\n \r\n {props => (\r\n
    handleSubmitForm(evt, props)}>\r\n \r\n \r\n \r\n \r\n handleSelectForm(formId, props.dirty)}\r\n selectedFormId={selectedForm?.id}\r\n formsWithErrors={[]}\r\n />\r\n \r\n \r\n \r\n \r\n { evt.preventDefault(); history.goBack(); }}\r\n onSave={() => handleSaveVisit(props.values, props)}\r\n onAuditTrail={handleAuditTrail}\r\n onScreenFailure={() => handleScreenFailure(props)}\r\n onWithoutDrugs={() => handleEarlyTermination(\"WithoutDrugs\", props)}\r\n onDiscontinuation={() => handleEarlyTermination(\"Discontinuation\", props)}\r\n onBackToMR={() => history.push(`/admin/medicalRecords/${visitTracking.patientId}`)}\r\n onRemove={() => handleRemoveVisit(props)}\r\n onExport={handleExport}\r\n isSubmitting={props.isSubmitting}\r\n />\r\n \r\n \r\n \r\n \r\n {visitTracking && }\r\n \r\n \r\n {\r\n \r\n }\r\n \r\n \r\n \r\n \r\n {/**/}\r\n \r\n {\r\n !settingsStore.settings.digitalSignEnabled && (visitTracking?.status === visitStatusEnum.Completed || visitTracking?.status === visitStatusEnum.Skipped || visitTracking?.status === visitStatusEnum.Failed) &&\r\n \r\n }\r\n {\r\n settingsStore.settings.digitalSignEnabled &&\r\n \r\n }\r\n \r\n {\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n )}\r\n \r\n \r\n );\r\n}","import React, { useEffect, useState } from 'react';\r\nimport { getApprovedVisits } from '../../api/protocol.js';\r\nimport { HandleApiError } from '../../components/Notifications/APIErrorHandler.js';\r\nimport { FormHeader } from '../../components/Protocols/Tracking/Forms.jsx';\r\n\r\nconst VisitHeaderContainer = ({ protocolId, patientId }) => {\r\n\r\n const [visits, setVisits] = useState(null);\r\n const [isLoading, setIsLoading] = useState(false);\r\n\r\n useEffect(() => {\r\n let isSubscribed = true;\r\n\r\n const fetchData = async () => {\r\n setIsLoading(true);\r\n try {\r\n const resp = await getApprovedVisits(protocolId);\r\n if (isSubscribed) {\r\n setVisits(resp.data);\r\n setIsLoading(false);\r\n }\r\n }\r\n catch (error) {\r\n if (isSubscribed) {\r\n console.log(error);\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n\r\n fetchData();\r\n }, [protocolId]);\r\n\r\n if (isLoading || !visits)\r\n return null;\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nexport default VisitHeaderContainer;","import PropTypes from 'prop-types';\r\nimport React from \"react\";\r\nimport { useTranslation } from 'react-i18next';\r\nimport { NavLink } from \"react-router-dom\";\r\n\r\nexport const ProtocolHeader = ({ protocolId }) => {\r\n const { t } = useTranslation();\r\n const getNavLinkClass = (path) => {\r\n return window.location.pathname === path ? 'active' : '';\r\n }\r\n\r\n return (\r\n
    \r\n
      \r\n
    • \r\n \r\n {t('protocols.header.description')}\r\n \r\n
    • \r\n
    • \r\n \r\n {t('protocols.header.practitioners')}\r\n \r\n
    • \r\n
    • \r\n \r\n {t('protocols.header.visits')}\r\n \r\n
    • \r\n
    • \r\n \r\n {t('protocols.header.visitTracking')}\r\n \r\n
    • \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nProtocolHeader.propTypes = {\r\n protocolId: PropTypes.string.isRequired,\r\n};","import React from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\n//import PropTypes from 'prop-types'\r\nimport { Formik } from 'formik';\r\n\r\nimport { useEffect, useRef } from \"react\";\r\nimport { createProtocol, uploadAttachmentEndpoint } from '../../../api/protocol';\r\nimport { HandleApiError } from '../../../components/Notifications/APIErrorHandler';\r\nimport { Success } from '../../../components/Notifications/Notifications';\r\nimport { BriefForm } from \"../../../components/Protocols/Brief\";\r\nimport { getProtocolBriefSchema } from \"../../../components/Validations/FormValidationSchema\";\r\nimport { useStudyRoles } from \"../../Security/Authorization/useStudyRoles\";\r\nimport { useBriefMasterData } from \"../Hooks\";\r\nimport { useFiles } from \"../../../components/CustomControls/Files/Hooks\";\r\nimport { uploadStatusEnum } from \"../../../components/CustomControls/Files/Utils\";\r\n\r\nexport const ProtocolCreateBriefContainer = () => {\r\n let history = useHistory();\r\n\r\n const [data, , postAPI] = useFiles();\r\n const masterData = useBriefMasterData();\r\n const [studyRoles] = useStudyRoles();\r\n const protocolId = useRef(null);\r\n\r\n useEffect(() => {\r\n if (data.status === uploadStatusEnum.Uploaded && protocolId.current) {\r\n Success(\"protocolNotifications.protocol_Created\");\r\n history.push(`/admin/protocols/${protocolId.current}`);\r\n }\r\n\r\n }, [data.status])\r\n\r\n const handleSubmit = async (values, formikBag) => {\r\n values.brief.studyRole.permissions = null;\r\n values.brief.currentUserStudyRole.permissions = null;\r\n\r\n try {\r\n const res = await createProtocol(values.brief);\r\n var brief = res.data;\r\n protocolId.current = brief.id;\r\n\r\n // Upload attachments if any. \r\n if (values.brief.attachments && values.brief.attachments.length > 0) {\r\n try {\r\n await postAPI(values.brief.attachments, uploadAttachmentEndpoint(brief.id));\r\n }\r\n catch (error) {\r\n console.log(\"handleSubmit\", error);\r\n }\r\n }\r\n else {\r\n formikBag.setSubmitting(false);\r\n Success(\"protocolNotifications.protocol_Created\");\r\n history.push(`/admin/protocols/${brief.id}`);\r\n }\r\n }\r\n catch (error) {\r\n console.log(error);\r\n formikBag.setSubmitting(false);\r\n HandleApiError(error);\r\n }\r\n }\r\n\r\n const handleCancel = () => {\r\n history.push(`/admin/protocols`);\r\n }\r\n\r\n return (\r\n \r\n {props => (\r\n \r\n )}\r\n \r\n );\r\n}","import React, { useState } from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport PropTypes from 'prop-types'\r\nimport { Formik, withFormik } from 'formik';\r\nimport { withTranslation } from 'react-i18next';\r\n\r\nimport { editProtocol, removeAttachment, uploadAttachmentEndpoint } from '../../../api/protocol';\r\nimport { useBriefMasterData, useProtocol } from \"../Hooks\";\r\nimport { getProtocolBriefEditSchema } from \"../../../components/Validations/FormValidationSchema\"\r\nimport { BriefForm } from \"../../../components/Protocols/Brief\"\r\nimport { HandleApiError } from '../../../components/Notifications/APIErrorHandler';\r\nimport { Success } from '../../../components/Notifications/Notifications';\r\nimport { CreateAuditModal } from \"../../../components/AuditTrail/AuditModal\";\r\nimport { Spinner } from \"../../../components/Utils/Loaders\";\r\nimport { useEffect } from \"react\";\r\nimport { useFiles } from \"../../../components/CustomControls/Files/Hooks\";\r\nimport { uploadStatusEnum } from \"../../../components/CustomControls/Files/Utils\";\r\n\r\nexport const ProtocolEditBriefContainer = ({ protocolId }) => {\r\n let history = useHistory();\r\n const [data, , postAPI] = useFiles(uploadAttachmentEndpoint(protocolId));\r\n\r\n const masterData = useBriefMasterData();\r\n const [isLoading, brief] = useProtocol(protocolId);\r\n const [modal, setModal] = useState(null);\r\n\r\n useEffect(() => {\r\n if (data.status === uploadStatusEnum.Uploaded)\r\n history.push(`/admin/protocols/${protocolId}`);\r\n }, [data.status])\r\n\r\n\r\n const handleSubmit = (values) => {\r\n\r\n setModal( setModal(null)}\r\n onSave={(reason, comments) => confirmSubmit(values.brief, reason, comments)}\r\n />)\r\n }\r\n\r\n const confirmSubmit = async (brief, reason, comments) => {\r\n\r\n brief.audit = {\r\n reason: reason,\r\n comments: comments\r\n }\r\n\r\n try {\r\n const res = await editProtocol(protocolId, brief);\r\n\r\n // Upload attachments if any.\r\n if (brief.attachments) {\r\n try {\r\n await postAPI(brief.attachments);\r\n }\r\n catch (error) {\r\n console.log(\"handleSubmit\", error);\r\n }\r\n }\r\n else {\r\n Success(\"protocolNotifications.protocol_Edited\");\r\n history.push(`/admin/protocols/${protocolId}`);\r\n }\r\n }\r\n catch (error) {\r\n console.log(error);\r\n HandleApiError(error);\r\n }\r\n }\r\n\r\n const handleCancel = () => {\r\n history.push(`/admin/protocols/${protocolId}`);\r\n }\r\n\r\n const handleRemoveAttach = (attachmentId) => {\r\n removeAttachment(protocolId, attachmentId)\r\n .then(() => {\r\n brief.attachments = brief.attachments.filter(x => { return x.id !== attachmentId });\r\n })\r\n .catch(error => {\r\n console.log(error);\r\n });\r\n }\r\n\r\n if (isLoading)\r\n return ;\r\n\r\n return (\r\n <>\r\n {modal}\r\n \r\n {props => (\r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\nProtocolEditBriefContainer.propTypes = {\r\n protocolId: PropTypes.string.isRequired,\r\n};\r\n\r\nconst ProtocolEditBriefContainerFormik = withTranslation()(withFormik({\r\n mapPropsToValues: (props) => ({ brief: props.brief }),\r\n\r\n validationSchema: getProtocolBriefEditSchema(),\r\n\r\n handleSubmit: (values, formikBag) => {\r\n formikBag.props.onSubmit(values.brief);\r\n },\r\n\r\n displayName: 'BriefForm',\r\n\r\n})(BriefForm));\r\n\r\nProtocolEditBriefContainerFormik.propTypes = {\r\n onSubmit: PropTypes.func.isRequired,\r\n onCancel: PropTypes.func.isRequired,\r\n onRemoveAttach: PropTypes.func.isRequired,\r\n brief: PropTypes.object.isRequired,\r\n protocolId: PropTypes.string.isRequired,\r\n masterData: PropTypes.object.isRequired,\r\n};","import React from \"react\";\r\n\r\nimport { ProtocolEditBriefContainer } from \"../../containers/Protocols/Brief/EditBrief\";\r\n\r\nexport const ProtocolEditView = props => {\r\n const { match: { params } } = props;\r\n\r\n return ();\r\n}","import PropTypes from 'prop-types';\r\nimport React from \"react\";\r\nimport { Col, Row } from 'react-bootstrap';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { CustomSelect } from \"../CustomControls/CustomSelect\";\r\n\r\nexport const ProtocolsFilters = (props) => {\r\n const { t } = useTranslation();\r\n const {\r\n selectedLaboratory,\r\n selectedPhase,\r\n selectedStatus,\r\n masterData,\r\n isLoading,\r\n onChangeFilter,\r\n } = props;\r\n\r\n if (masterData && masterData.Laboratories && masterData.Phases && masterData.Status) {\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 return null;\r\n}\r\n\r\nProtocolsFilters.propTypes = {\r\n selectedLaboratory: PropTypes.object,\r\n selectedPhase: PropTypes.object,\r\n selectedStatus: PropTypes.object,\r\n masterData: PropTypes.object.isRequired,\r\n onChangeFilter: PropTypes.func.isRequired,\r\n};","import React from 'react';\r\nimport BootstrapTable from 'react-bootstrap-table-next';\r\nimport 'react-bootstrap-table-next/dist/react-bootstrap-table2.min.css';\r\nimport overlayFactory from 'react-bootstrap-table2-overlay';\r\nimport paginationFactory from 'react-bootstrap-table2-paginator';\r\nimport 'react-bootstrap-table2-paginator/dist/react-bootstrap-table2-paginator.min.css';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { NavLink } from \"react-router-dom\";\r\nimport { WithAuth } from '../../components/Authorization/WithAuth';\r\nimport Card from '../../components/Cards/Card';\r\nimport { Add, ViewProtocol, VisitTracking } from '../../components/Icons/Icons';\r\nimport { ProtocolsFilters } from '../../components/Protocols/Protocols';\r\nimport { Tooltip } from \"../../components/Utils/Tooltips\";\r\nimport { useMasterData, useProtocols } from './Hooks';\r\n\r\nexport const Protocols = () => {\r\n const { t } = useTranslation();\r\n const [masterData, isLoadingMasterData] = useMasterData();\r\n const [data, query, totalSize, isLoading, handleTableChange, handleFilterChange] = useProtocols();\r\n\r\n const columns = [\r\n { dataField: 'laboratory.title', text: t(\"protocols.brief.laboratory\"), headerStyle: { width: '200px' } },\r\n { dataField: 'title', text: t(\"protocols.brief.protocol\"), sort: true, headerStyle: { width: '200px' } },\r\n { dataField: 'status.title', text: t(\"protocols.brief.status\"), headerStyle: { width: '100px' } },\r\n { dataField: 'phase.title', text: t(\"protocols.brief.phase\"), headerStyle: { width: '100px' } },\r\n {\r\n dataField: 'view',\r\n text: 'Opciones',\r\n isDummyField: true,\r\n headerClasses: 'header-protocol-actions',\r\n classes: 'row-protocol-actions',\r\n headerStyle: { width: '100px' }, headerAlign: 'center', align: 'center',\r\n formatter: function (_cell, row, rowIndex, _formatExtraData) {\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 { dataField: 'patientsObjective', text: t(\"protocols.visitTracking.patientsObjective\"), headerClasses: 'header-protocol-number' },\r\n { dataField: 'patientsGoalPercent', text: t(\"protocols.visitTracking.patientsGoalPercent\"), headerClasses: 'header-protocol-number' },\r\n { dataField: 'patientsScreening', text: t(\"protocols.visitTracking.patientsScreening\"), headerClasses: 'header-protocol-number' },\r\n { dataField: 'patientsSelection', text: t(\"protocols.visitTracking.patientsSelection\"), headerClasses: 'header-protocol-number' },\r\n { dataField: 'patientsFailed', text: t(\"protocols.visitTracking.patientsFailed\"), headerClasses: 'header-protocol-number' },\r\n { dataField: 'patientsRandom', text: t(\"protocols.visitTracking.patientsRandom\"), headerClasses: 'header-protocol-number' },\r\n { dataField: 'patientsCompleted', text: t(\"protocols.visitTracking.patientsCompleted\"), headerClasses: 'header-protocol-number' },\r\n ];\r\n\r\n return (\r\n \r\n
    \r\n \r\n \r\n {t(\"protocols.brief.addProtocol\")}\r\n \r\n \r\n
    \r\n \r\n \r\n\r\n }\r\n content={\r\n <>{t(\"commons.noData\")}}\r\n loading={isLoading}\r\n overlay={overlayFactory({ spinner: true })}\r\n />\r\n }\r\n />\r\n );\r\n}","import { Formik } from 'formik';\r\nimport React, { useContext, useEffect, useState } from 'react';\r\nimport { Col, Grid, Row } from 'react-bootstrap';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport {\r\n changeTypeVisitTrackingAPI, changeVisitTrackingTypeAPI,\r\n discontinuationVisitTracking,\r\n exportVisitTrackingAPI,\r\n getVisitTrackingAttachmentFormEndpoint,\r\n getVisitTrackingForm, getVisitTrackingForms, lostToFollowUpVisitTracking, publishVisitTracking, reSyncVisitTrackingAPI,\r\n removeVisitTrackingAPI,\r\n returnDrugsVisitTracking,\r\n saveUploadVisitTrackingAPI,\r\n saveVisitTracking, screenFailureVisitTracking, skipVisitTracking,\r\n uploadVisitTrackingAttachmentFormEndpoint,\r\n withoutDrugsVisitTracking\r\n} from '../../../api/protocol';\r\nimport { AuditModal, CreateAuditModal } from '../../../components/AuditTrail/AuditModal';\r\nimport { WithAuth } from '../../../components/Authorization/WithAuthProtocol';\r\nimport { useAuthProtocol } from '../../../components/Authorization/useAuthorization';\r\nimport { DocumentViewer } from '../../../components/CustomControls/DocViewer/DocumentViewer';\r\nimport { useFiles } from '../../../components/CustomControls/Files/Hooks';\r\nimport { DigitalSign } from '../../../components/DigitalSign/DigitalSign';\r\nimport { SignWithOutInfo } from '../../../components/DigitalSign/Sign';\r\nimport { DynamicForm } from '../../../components/DynamicForm/DynamicForm';\r\nimport { MedicalRecord, OnSite, Phone } from '../../../components/Icons/Icons';\r\nimport { ModalConfirm } from '../../../components/Modals/ModalConfirm';\r\nimport { ModalSpinner } from '../../../components/Modals/ModalSpinner';\r\nimport { HandleApiError, HandleMessageError } from '../../../components/Notifications/APIErrorHandler';\r\nimport { Success } from '../../../components/Notifications/Notifications';\r\nimport { PatientStatusInProtocol } from '../../../components/Protocols/Patients';\r\nimport { FormActions, FormMenu, VisitStatus } from '../../../components/Protocols/Tracking/Forms';\r\nimport { ChangeVisitType, ConfirmModal, LostToFollowUp, ScreenFailure, SkipVisitTracking } from '../../../components/Protocols/Tracking/Modals';\r\nimport { Slider } from '../../../components/Slider/Slider';\r\nimport { Spinner } from '../../../components/Utils/Loaders';\r\nimport { getValidationSchema } from '../../../components/Validations/FormValidationSchema';\r\nimport { formStatus, visitStatus, visitTypeEnum } from \"../../../variables/Enums\";\r\nimport { AuditTrail } from \"../../Admin/AuditTrail\";\r\nimport { ModalDigitalSign } from '../../DigitalSign/ModalDigitalSign';\r\nimport { EntryItemsListTabs } from '../../MedicalRecords/MedicalRecordItems/EntryItemsList';\r\nimport DocumentNotesContainer from '../DocumentNotes/DocumentNotes';\r\nimport { EvolutionsContainer } from '../Evolutions/Evolutions';\r\nimport { useAudits, useAuditsHelpers } from '../Hooks';\r\nimport MonitorNotesContainer from '../MonitorNotes/MonitorNotes';\r\nimport ProtocolContext from '../ProtocolContext/ProtocolContext';\r\nimport { FormRestrictionsContainer } from '../Visits/FormRestrictions';\r\nimport { ModalData } from '../../../components/Modals/ModalData';\r\n\r\nfunction search(array, condition) {\r\n if (array.length === 0) {\r\n return [];\r\n }\r\n const [head, ...tail] = array;\r\n if (condition(head)) {\r\n return [head, ...search(tail, condition)];\r\n }\r\n return search(tail, condition);\r\n}\r\n\r\nconst getVisitType = (visitType) => {\r\n switch (visitType) {\r\n case visitTypeEnum.OnSite:\r\n return \r\n case visitTypeEnum.Remote:\r\n return \r\n default:\r\n return \"\";\r\n }\r\n}\r\n\r\nexport const VisitTracking = ({ protocolId, patientId, visitId }) => {\r\n let history = useHistory();\r\n const { t } = useTranslation();\r\n const [isAuthorized, isAuthLoading, currentUser] = useAuthProtocol(protocolId);\r\n const settingsStore = useSelector(state => state.settings);\r\n const context = useContext(ProtocolContext);\r\n const [fileData, getBlobAPI, postAPI] = useFiles();\r\n\r\n const [modal, setModal] = useState(null);\r\n const [showHistory, setShowHistory] = useState(false);\r\n const [hasVisitTracking, setHasVisitTracking] = useState(false);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [forms, setForms] = useState([]);\r\n const [visitTracking, setVisitTracking] = useState(null);\r\n const [signStatus, setSignStatus] = useState(null);\r\n const [selectedForm, setSelectedForm] = useState(null);\r\n const [formsWithErrors, setFormsWithErrors] = useState([]);\r\n const [patientInfo, setPatientInfo] = useState(null);\r\n const [, , getLastChange] = useAudits(\"VisitTrackingForm\", selectedForm?.id, hasVisitTracking);\r\n const [, , getLastVisitTrackingChange] = useAudits(\"VisitTracking\", visitTracking?.id, hasVisitTracking);\r\n const [reload, setReload] = useState(false);\r\n const [evolutions, setEvolutions] = useState([]);\r\n\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n setIsLoading(true);\r\n setReload(false);\r\n try {\r\n const response = await getVisitTrackingForms(protocolId, visitId, patientId);\r\n\r\n var visitTracking = response.data;\r\n var urlParams = new URLSearchParams(window.location.search);\r\n let formAux = visitTracking.forms[0];\r\n if (urlParams.has('formId') && visitTracking.forms.find(x => x.id == urlParams.get('formId'))) {\r\n formAux = visitTracking.forms.find(x => x.id == urlParams.get('formId'));\r\n }\r\n\r\n setEvolutions(visitTracking.visit.evolutions);\r\n setSelectedForm(formAux);\r\n setForms(visitTracking.forms);\r\n setVisitTracking(visitTracking.visit);\r\n setHasVisitTracking(visitTracking.hasVisitTracking);\r\n setSignStatus(visitTracking.signStatus);\r\n setPatientInfo({\r\n patientNumber: visitTracking.patientNumber,\r\n patientInProtocolStatus: visitTracking.patientInProtocolStatus,\r\n medicalRecordNumber: visitTracking.visit.patientId\r\n });\r\n setIsLoading(false);\r\n }\r\n catch (error) {\r\n console.log(error);\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n }\r\n }\r\n\r\n fetchData();\r\n }, [visitId, reload]);\r\n\r\n //#region private Functions\r\n const handleSelectForm = (formId, isDirty) => {\r\n if (!isDirty || (isDirty && window.confirm(t(\"protocolNotifications.visitTracking_unsavedChanges\")))) {\r\n setIsLoading(true);\r\n let selectedForms = forms.filter(x => { return x.id === formId });\r\n let formAux = JSON.parse(JSON.stringify(selectedForms.length > 0 ? selectedForms[0] : {}));\r\n formAux.text = selectedForm.text;\r\n setSelectedForm(JSON.parse(JSON.stringify(formAux)));\r\n setIsLoading(false);\r\n }\r\n }\r\n\r\n const _closeModal = () => { setModal(null); }\r\n\r\n const _updateData = (visit, updatedForm) => {\r\n if (!updatedForm || !updatedForm.id) {\r\n window.location.reload(false)\r\n return;\r\n }\r\n\r\n updatedForm.text = \"\";\r\n let formsCopy = JSON.parse(JSON.stringify(forms));\r\n var index = formsCopy.findIndex(x => x.id === updatedForm.id);\r\n formsCopy.splice(index, 1, updatedForm); //Reemplazo form.\r\n setVisitTracking(visit);\r\n setEvolutions(visit.evolutions);\r\n setForms(formsCopy);\r\n setSelectedForm(updatedForm);\r\n\r\n _closeModal();\r\n Success(\"protocolNotifications.visitTracking_FormSaved\");\r\n }\r\n\r\n const _saveVisit = async (formVisitTracking, formikProps) => {\r\n try {\r\n if (formikProps.isSubmitting)\r\n return;\r\n\r\n formikProps.setSubmitting(true);\r\n setModal();\r\n\r\n const res = await saveVisitTracking(protocolId, visitId, patientId, formVisitTracking);\r\n const form = res.data.form;\r\n const visit = res.data.visit;\r\n\r\n // Upload attachments if any. \r\n const fieldsWithFiles = formVisitTracking.patientForm.fields.filter(x => x._t === \"FileUploadField\" && x.value.file);\r\n const componentsWithFiles = formVisitTracking.patientForm.fields.filter(x => x._t === \"ArrayField\")\r\n .map(array => {\r\n return array.components.map(component => {\r\n return component.fields.map(field => field._t === \"FileUploadField\" && field !== null && field).flat();\r\n }).flat();\r\n }).flat().filter(x => x.value?.file); // filtro por los nuevos solamente. \r\n const files = fieldsWithFiles.concat(componentsWithFiles);\r\n\r\n if (files && files.length > 0) {\r\n try {\r\n const attachs = files.map(x => x.value);\r\n postAPI(attachs, uploadVisitTrackingAttachmentFormEndpoint(protocolId, visitId, form.id, patientId))\r\n .then(() => {\r\n getVisitTrackingForm(protocolId, visitId, form.id)\r\n .then(resForm => {\r\n // Actualizo el form en FrontEnd.\r\n _updateData(visit, resForm?.data);\r\n }).catch((error) => {\r\n console.log(error)\r\n window.location.reload(false)\r\n })\r\n }).catch((error) => { console.log(error) });\r\n }\r\n catch (error) {\r\n console.log(error.response);\r\n }\r\n }\r\n else {\r\n _updateData(visit, form);\r\n }\r\n }\r\n catch (error) {\r\n _closeModal();\r\n console.log(error);\r\n HandleApiError(error);\r\n }\r\n finally {\r\n formikProps.setSubmitting(false);\r\n }\r\n }\r\n\r\n const _publishVisit = async (digitalSign, actions) => {\r\n try {\r\n setModal();\r\n const res = await publishVisitTracking(protocolId, visitId, patientId, digitalSign);\r\n _closeModal();\r\n setVisitTracking(res.data);\r\n actions.setSubmitting(false);\r\n Success(\"protocolNotifications.visitTracking_VisitPublished\");\r\n }\r\n catch (error) {\r\n _closeModal();\r\n actions.setSubmitting(false);\r\n console.log(error);\r\n HandleApiError(error);\r\n }\r\n }\r\n\r\n const handleSaveVisit = (formVisitTracking, formikProps) => {\r\n if (visitTracking.status !== visitStatus.Started || formVisitTracking.status !== formStatus.Initial) {\r\n setModal( _saveVisit({ patientForm: formVisitTracking, audit: { reason: reason, comments: comments } }, formikProps)}\r\n />)\r\n }\r\n else {\r\n _saveVisit({ patientForm: formVisitTracking }, formikProps);\r\n }\r\n }\r\n\r\n const _saveUploadVisit = async (formVisitTracking, formikProps) => {\r\n try {\r\n if (formikProps.isSubmitting)\r\n return;\r\n\r\n formikProps.setSubmitting(true);\r\n setModal();\r\n\r\n const res = await saveUploadVisitTrackingAPI(protocolId, visitId, patientId, formVisitTracking);\r\n const form = res.data.form;\r\n const visit = res.data.visit;\r\n\r\n // Upload attachments. \r\n const fieldsWithFiles = formVisitTracking.patientForm.fields.filter(x => x._t === \"FileUploadField\" && x.value.file);\r\n const componentsWithFiles = formVisitTracking.patientForm.fields.filter(x => x._t === \"ArrayField\")\r\n .map(array => {\r\n return array.components.map(component => {\r\n return component.fields.map(field => field._t === \"FileUploadField\" && field !== null && field).flat();\r\n }).flat();\r\n }).flat().filter(x => x.value?.file); // filtro por los nuevos solamente. \r\n const files = fieldsWithFiles.concat(componentsWithFiles);\r\n\r\n if (files && files.length > 0) {\r\n try {\r\n const attachs = files.map(x => x.value);\r\n postAPI(attachs, uploadVisitTrackingAttachmentFormEndpoint(protocolId, visitId, form.id, patientId))\r\n .then(() => {\r\n getVisitTrackingForm(protocolId, visitId, form.id)\r\n .then(resForm => {\r\n // Actualizo el form en FrontEnd.\r\n _updateData(visit, resForm?.data);\r\n }).catch((error) => {\r\n console.log(error)\r\n window.location.reload(false)\r\n })\r\n }).catch((error) => { console.log(error) });\r\n }\r\n catch (error) {\r\n console.log(error.response);\r\n }\r\n }\r\n else {\r\n _updateData(visit, form);\r\n }\r\n }\r\n catch (error) {\r\n _closeModal();\r\n console.log(error);\r\n HandleApiError(error);\r\n }\r\n finally {\r\n formikProps.setSubmitting(false);\r\n }\r\n }\r\n const handleSaveUploadVisit = (formVisitTracking, formikProps) => {\r\n if (visitTracking.status !== visitStatus.Started || formVisitTracking.status !== formStatus.Initial) {\r\n setModal( _saveUploadVisit({ patientForm: formVisitTracking, audit: { reason: reason, comments: comments } }, formikProps)}\r\n />)\r\n }\r\n else {\r\n _saveUploadVisit({ patientForm: formVisitTracking }, formikProps);\r\n }\r\n }\r\n\r\n const handleSubmitFormik = (_formVisitTracking, actions) => {\r\n if (settingsStore.settings.digitalSignEnabled)\r\n setModal( { setModal(null); actions.setSubmitting(false); }}\r\n onSubmit={(pin) => _publishVisit(pin, actions)}\r\n />);\r\n\r\n else\r\n _publishVisit({ password: \"\" }, actions)\r\n }\r\n\r\n const handleSubmitForm = (evt, formikBag) => {\r\n evt.preventDefault();\r\n if (!formikBag.dirty || (formikBag.dirty && window.confirm(t(\"protocolNotifications.visitTracking_unsavedChanges\")))) {\r\n // Valido errores en todos los formularios. \r\n let withErrors = [];\r\n let showErrorValidations = false;\r\n forms.forEach(form => {\r\n if (form.extraFormType !== 0 && !getValidationSchema().isValidSync(form)) {\r\n withErrors.push({ id: form.id, title: form.title });\r\n if (form.id === formikBag.values.id)\r\n showErrorValidations = true;\r\n }\r\n });\r\n\r\n if (withErrors.length > 0) {\r\n setFormsWithErrors(withErrors);\r\n HandleMessageError(t(\"protocolErrors.visitTracking_requiredFieldsError\", { requiredFields: withErrors.map(e => e.title).join(' - ') }));\r\n if (showErrorValidations)\r\n formikBag.submitForm();\r\n } else {\r\n formikBag.submitForm();\r\n }\r\n }\r\n }\r\n\r\n const handleSkipVisit = (formikBag) => {\r\n\r\n if (!formikBag.dirty || (formikBag.dirty && window.confirm(t(\"protocolNotifications.visitTracking_unsavedChanges\")))) {\r\n setModal( confirmSkipVisit(formikBag)}\r\n />)\r\n }\r\n }\r\n\r\n const confirmSkipVisit = (formikBag) => {\r\n if (settingsStore.settings.digitalSignEnabled)\r\n setModal( { setModal(null); formikBag.setSubmitting(false); }}\r\n onSubmit={(pin) => _publishSkipVisit(pin, formikBag)}\r\n />);\r\n\r\n else\r\n _publishSkipVisit({ password: \"\" }, formikBag)\r\n }\r\n\r\n const _publishSkipVisit = async (digitalSign, formikBag) => {\r\n try {\r\n setIsLoading(true);\r\n const res = await skipVisitTracking(protocolId, visitId, patientId, digitalSign);\r\n setIsLoading(false);\r\n _closeModal();\r\n setVisitTracking(res.data);\r\n Success(\"protocolNotifications.visitTracking_FormSaved\");\r\n formikBag.setSubmitting(false);\r\n }\r\n catch (error) {\r\n _closeModal();\r\n formikBag.setSubmitting(false);\r\n console.log(error);\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n }\r\n }\r\n\r\n const handleScreenFailure = (formikBag) => {\r\n\r\n if (!formikBag.dirty || (formikBag.dirty && window.confirm(t(\"protocolNotifications.visitTracking_unsavedChanges\")))) {\r\n setModal( { setModal(null); formikBag.setSubmitting(false); }}\r\n onConfirm={() => confirmScreenFailure(formikBag)}\r\n />)\r\n }\r\n }\r\n\r\n const confirmScreenFailure = (formikBag) => {\r\n if (settingsStore.settings.digitalSignEnabled)\r\n setModal( { setModal(null); formikBag.setSubmitting(false); }}\r\n onSubmit={(pin) => _publishScreenFailure(pin, formikBag)}\r\n />);\r\n else\r\n _publishScreenFailure({ password: \"\" }, formikBag)\r\n }\r\n\r\n const _publishScreenFailure = async (digitalSign, formikBag) => {\r\n try {\r\n setIsLoading(true);\r\n const res = await screenFailureVisitTracking(protocolId, visitId, patientId, digitalSign);\r\n _closeModal();\r\n setIsLoading(false);\r\n setVisitTracking(res.data);\r\n Success(\"protocolNotifications.visitTracking_FormSaved\");\r\n formikBag.setSubmitting(false);\r\n }\r\n catch (error) {\r\n setIsLoading(false);\r\n _closeModal();\r\n formikBag.setSubmitting(false);\r\n console.log(error);\r\n HandleApiError(error);\r\n }\r\n }\r\n\r\n const handleLostToFollowUp = (formikBag) => {\r\n\r\n if (!formikBag.dirty || (formikBag.dirty && window.confirm(t(\"protocolNotifications.visitTracking_unsavedChanges\")))) {\r\n setModal( { setModal(null); formikBag.setSubmitting(false); }}\r\n onConfirm={() => confirmLostToFollowUp(formikBag)}\r\n />)\r\n }\r\n }\r\n\r\n const confirmLostToFollowUp = (formikBag) => {\r\n if (settingsStore.settings.digitalSignEnabled)\r\n setModal( { setModal(null); formikBag.setSubmitting(false); }}\r\n onSubmit={(pin) => _publishLostToFollowUp(pin, formikBag)}\r\n />);\r\n else\r\n _publishLostToFollowUp({ password: \"\" }, formikBag)\r\n }\r\n\r\n const _publishLostToFollowUp = async (digitalSign, formikBag) => {\r\n try {\r\n setIsLoading(true);\r\n const res = await lostToFollowUpVisitTracking(protocolId, visitId, patientId, digitalSign);\r\n _closeModal();\r\n setIsLoading(false);\r\n setVisitTracking(res.data);\r\n Success(\"protocolNotifications.visitTracking_FormSaved\");\r\n formikBag.setSubmitting(false);\r\n }\r\n catch (error) {\r\n setIsLoading(false);\r\n _closeModal();\r\n formikBag.setSubmitting(false);\r\n console.log(error);\r\n HandleApiError(error);\r\n }\r\n }\r\n\r\n const handleDiscontinuation = async (formikBag) => {\r\n setModal( { setModal(null); formikBag.setSubmitting(false); }}\r\n onConfirm={() => _setDiscontinuation(formikBag)}\r\n />)\r\n }\r\n\r\n const _setDiscontinuation = async (formikBag) => {\r\n try {\r\n setIsLoading(true);\r\n // Marco visita como Discontinuación y sincronizo. \r\n const res = await discontinuationVisitTracking(protocolId, visitId, patientId, { password: \"\" });\r\n _closeModal();\r\n setIsLoading(false);\r\n setVisitTracking(res.data);\r\n Success(\"protocolNotifications.visitTracking_FormSaved\");\r\n formikBag.setSubmitting(false);\r\n\r\n //// Creo visita de Terminación Temprana.\r\n //const res = await createVisitTrackingExtra(protocolId, patientInfo.medicalRecordNumber, { type: \"EarlyCompletion\" });\r\n //history.push(`/admin/protocols/${protocolId}/visitTrackingExtra/${res.data.id}/patient/${res?.data?.numberInProtocol}`);\r\n }\r\n catch (error) {\r\n setIsLoading(false);\r\n _closeModal();\r\n formikBag.setSubmitting(false);\r\n console.log(error);\r\n HandleApiError(error);\r\n }\r\n }\r\n\r\n const handleWithoutDrugs = async (formikBag) => {\r\n setModal( { setModal(null); formikBag.setSubmitting(false); }}\r\n onConfirm={() => _setWithoutDrugs(formikBag)}\r\n />)\r\n }\r\n\r\n const _setWithoutDrugs = async (formikBag) => {\r\n try {\r\n setIsLoading(true);\r\n const res = await withoutDrugsVisitTracking(protocolId, visitId, patientId);\r\n _closeModal();\r\n setIsLoading(false);\r\n setVisitTracking(res.data);\r\n Success(\"protocolNotifications.visitTracking_FormSaved\");\r\n formikBag.setSubmitting(false);\r\n }\r\n catch (error) {\r\n setIsLoading(false);\r\n _closeModal();\r\n formikBag.setSubmitting(false);\r\n console.log(error);\r\n HandleApiError(error);\r\n }\r\n }\r\n\r\n const handleReturnDrugs = async (formikBag) => {\r\n setModal( { setModal(null); formikBag.setSubmitting(false); }}\r\n onConfirm={() => _setReturnDrugs(formikBag)}\r\n />)\r\n }\r\n\r\n const _setReturnDrugs = async (formikBag) => {\r\n try {\r\n setIsLoading(true);\r\n const res = await returnDrugsVisitTracking(protocolId, visitId, patientId);\r\n _closeModal();\r\n setReload(true);\r\n setIsLoading(false);\r\n setVisitTracking(res.data);\r\n Success(\"protocolNotifications.visitTracking_FormSaved\");\r\n formikBag.setSubmitting(false);\r\n }\r\n catch (error) {\r\n setIsLoading(false);\r\n _closeModal();\r\n formikBag.setSubmitting(false);\r\n console.log(error);\r\n HandleApiError(error);\r\n }\r\n }\r\n\r\n const handleAuditTrail = () => {\r\n setModal(\r\n \r\n {t(\"auditTrail.field\")}:\r\n \r\n\r\n {t(\"auditTrail.evolution\")}:\r\n \r\n \r\n )\r\n }\r\n\r\n const handleViewFile = async (attachName) => {\r\n try {\r\n await getBlobAPI(attachName, getVisitTrackingAttachmentFormEndpoint(protocolId, visitId, selectedForm.id, attachName));\r\n }\r\n catch (error) {\r\n console.error(error);\r\n HandleApiError(error);\r\n }\r\n }\r\n\r\n const handleReSync = () => {\r\n setModal();\r\n }\r\n\r\n const _digitalSign = () => {\r\n if (settingsStore.settings.digitalSignEnabled)\r\n setModal( confirmReSync(pin)}\r\n />);\r\n\r\n else\r\n confirmReSync({ password: \"\" })\r\n }\r\n\r\n const confirmReSync = async (digitalSign) => {\r\n try {\r\n setIsLoading(true);\r\n const res = await reSyncVisitTrackingAPI(protocolId, visitId, patientId, digitalSign);\r\n _closeModal();\r\n setIsLoading(false);\r\n Success(\"protocolNotifications.visitTracking_reSyncOk\");\r\n }\r\n catch (error) {\r\n setIsLoading(false);\r\n _closeModal();\r\n console.log(error);\r\n HandleApiError(error);\r\n }\r\n }\r\n\r\n const handleChangeVisitTrackingType = (formikBag) => {\r\n setModal( { setModal(null); formikBag.setSubmitting(false); }}\r\n onConfirm={() => _setChangeVisitTrackingType(formikBag)}\r\n />);\r\n }\r\n\r\n const _setChangeVisitTrackingType = async (formikBag) => {\r\n try {\r\n setIsLoading(true);\r\n await changeVisitTrackingTypeAPI(protocolId, visitId, patientId, visitTracking.entryId, visitTracking.id);\r\n Success(\"protocolNotifications.visitTracking_changeTypeOk\");\r\n history.push(`/admin/protocols/${protocolId}/visitTrackingExtra/${visitTracking.id}/patient/${patientId}`);\r\n }\r\n catch (error) {\r\n setIsLoading(false);\r\n _closeModal();\r\n console.log(error);\r\n HandleApiError(error);\r\n }\r\n }\r\n\r\n const handleChangeType = (formikBag) => {\r\n setModal( { setModal(null); formikBag.setSubmitting(false); }}\r\n onChange={(type) => _changeType(type, formikBag)}\r\n />)\r\n }\r\n\r\n const _changeType = async (type, formikBag) => {\r\n try {\r\n setIsLoading(true);\r\n const res = await changeTypeVisitTrackingAPI(protocolId, visitId, patientId, type);\r\n _closeModal();\r\n //setReload(true);\r\n setIsLoading(false);\r\n setVisitTracking(res.data);\r\n Success(\"protocolNotifications.visitTracking_FormSaved\");\r\n formikBag.setSubmitting(false);\r\n }\r\n catch (error) {\r\n setIsLoading(false);\r\n _closeModal();\r\n formikBag.setSubmitting(false);\r\n console.log(error);\r\n HandleApiError(error);\r\n }\r\n }\r\n\r\n const handleRemoveVisit = (formikBag) => {\r\n setModal( { setModal(null); formikBag.setSubmitting(false); }}\r\n onConfirm={() => _confirmRemoveVisit()}\r\n />)\r\n }\r\n\r\n const _confirmRemoveVisit = async () => {\r\n try {\r\n setIsLoading(true);\r\n await removeVisitTrackingAPI(protocolId, visitId, patientId);\r\n Success(\"protocolNotifications.visitTracking_removeVisitOk\");\r\n history.push(`/admin/protocols/${protocolId}`);\r\n }\r\n catch (error) {\r\n setIsLoading(false);\r\n _closeModal();\r\n console.log(error);\r\n HandleApiError(error);\r\n }\r\n }\r\n\r\n const _export = async (pin) => {\r\n try {\r\n setModal();\r\n\r\n const response = await exportVisitTrackingAPI(protocolId, visitTracking?.id, patientId, pin?.password);\r\n //const blob = new Blob([response.data], { type: \"text/html\" });\r\n const blob = new Blob([response.data]);\r\n const url = window.URL.createObjectURL(blob);\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.target = '_blank';\r\n\r\n var fileName = \"PatientVisit.zip\";\r\n var disposition = response.headers['content-disposition'];\r\n if (disposition && disposition.indexOf('attachment') !== -1) {\r\n var filenameRegex = /filename[^;=\\n]*=((['\"]).*?\\2|[^;\\n]*)/;\r\n var matches = filenameRegex.exec(disposition);\r\n if (matches != null && matches[1]) fileName = matches[1].replace(/['\"]/g, '');\r\n }\r\n link.setAttribute('download', fileName);\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n window.URL.revokeObjectURL(url);\r\n _closeModal();\r\n }\r\n catch (error) {\r\n setIsLoading(false);\r\n _closeModal();\r\n console.log(error);\r\n HandleApiError(error);\r\n }\r\n }\r\n const handleExport = async () => {\r\n if (settingsStore.settings.digitalSignEnabled)\r\n setModal( { setModal(null); }}\r\n onSubmit={(pin) => _export(pin)}\r\n />);\r\n\r\n else\r\n _export(\"\")\r\n }\r\n\r\n //#endregion\r\n\r\n if (!visitTracking || !selectedForm || !forms || isLoading || settingsStore.isLoading || isAuthLoading)\r\n return ;\r\n\r\n const isDisabled = !isAuthorized([\"VisitTracking.Add\"]) || context.isDisabled || !hasVisitTracking;\r\n const isUploadEnabled = isAuthorized([\"VisitTracking.UploadFile\"]) && !context.isDisabled && hasVisitTracking;\r\n const showStatus = ((!isAuthorized([\"VisitTracking.Add\"]) && visitTracking?.status !== visitStatus.Started) || isAuthorized([\"VisitTracking.Add\"]));\r\n\r\n return (\r\n <>\r\n {modal}\r\n \r\n \r\n {props => (\r\n
    handleSubmitForm(evt, props)}>\r\n \r\n \r\n \r\n \r\n handleSelectForm(formId, props.dirty)}\r\n selectedFormId={selectedForm?.id}\r\n formsWithErrors={formsWithErrors}\r\n />\r\n \r\n \r\n \r\n \r\n { evt.preventDefault(); history.push(`/admin/protocols/${protocolId}/section/visittracking`) }} // history.goBack();\r\n onSave={() => handleSaveVisit(props.values, props)}\r\n onSaveUpload={() => handleSaveUploadVisit(props.values, props)}\r\n onSkip={() => handleSkipVisit(props)}\r\n onExport={handleExport}\r\n onLostToFollowUp={() => handleLostToFollowUp(props)}\r\n onScreenFailure={() => handleScreenFailure(props)}\r\n onDiscontinuation={() => handleDiscontinuation(props)}\r\n onWithoutDrugs={() => handleWithoutDrugs(props)}\r\n onReturnDrugs={() => handleReturnDrugs(props)}\r\n onChangeType={() => handleChangeType(props)}\r\n onChangeVisitTrackingType={() => handleChangeVisitTrackingType(props)}\r\n onReSync={handleReSync}\r\n onAuditTrail={handleAuditTrail}\r\n onBackToMR={() => history.push(`/admin/medicalRecords/${patientInfo?.medicalRecordNumber}`)}\r\n onRemove={() => handleRemoveVisit(props)}\r\n isSubmitting={props.isSubmitting}\r\n />\r\n \r\n \r\n \r\n \r\n {showStatus && visitTracking && }\r\n \r\n {\r\n !settingsStore.settings.digitalSignEnabled && (visitTracking?.status === visitStatus.Completed || visitTracking?.status === visitStatus.Skipped || visitTracking?.status === visitStatus.Failed) &&\r\n \r\n }\r\n \r\n {\r\n hasVisitTracking &&\r\n \r\n }\r\n \r\n \r\n \r\n \r\n\r\n {getVisitType(visitTracking.visitType)} {t(\"protocols.visitTracking.patientEvolution\")}}\r\n subtitle={<> {patientInfo.patientNumber}}\r\n />\r\n {\r\n !settingsStore.settings.digitalSignEnabled && (visitTracking?.status === visitStatus.Completed || visitTracking?.status === visitStatus.Skipped || visitTracking?.status === visitStatus.Failed) &&\r\n \r\n }\r\n {\r\n settingsStore.settings.digitalSignEnabled &&\r\n \r\n }\r\n \r\n {\r\n hasVisitTracking &&\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n )}\r\n \r\n \r\n );\r\n}","import React, { useState } from 'react';\r\nimport AdminContext from './AdminContext';\r\n\r\nexport const AdminProvider = (props) => {\r\n\r\n const [selectedTenant, setSelectedTenant] = useState(null);\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n}","import { ErrorMessage, FieldArray } from 'formik';\r\nimport PropTypes from 'prop-types';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { Col, ControlLabel, FormControl, Row } from 'react-bootstrap';\r\nimport BootstrapTable from 'react-bootstrap-table-next';\r\nimport 'react-bootstrap-table-next/dist/react-bootstrap-table2.min.css';\r\nimport overlayFactory from 'react-bootstrap-table2-overlay';\r\nimport paginationFactory from 'react-bootstrap-table2-paginator';\r\nimport 'react-bootstrap-table2-paginator/dist/react-bootstrap-table2-paginator.min.css';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { getLaboratoryData } from '../../api/admin';\r\nimport { conceptType, snomedExpressions } from '../../variables/Enums';\r\nimport { CustomSelect } from '../CustomControls/CustomSelect';\r\nimport { SnomedPicker } from '../CustomControls/SnomedPicker';\r\nimport { Edit, Remove } from '../Icons/Icons';\r\nimport { FormErrorMessage } from '../Validations/FormValidationErrors';\r\n\r\nexport const ResultsTemplates = props => {\r\n\r\n const { data, query, totalSize, onTableChange, isLoading } = props;\r\n const { t } = useTranslation();\r\n\r\n const columns = [\r\n { dataField: 'name', text: t('settings.resultsTemplates.name'), sort: true },\r\n { dataField: 'speciality', text: t('settings.resultsTemplates.speciality'), sort: true },\r\n { dataField: 'type', text: t('settings.resultsTemplates.type'), sort: true },\r\n {\r\n dataField: 'view', text: t(\"commons.actions\"), isDummyField: true, headerStyle: { width: '150px' },\r\n formatter: function (_cell, row) {\r\n if (props.onEdit && props.onRemove)\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n );\r\n return null;\r\n },\r\n }\r\n ];\r\n\r\n const handleTableChange = (type, { page, sizePerPage, sortField, sortOrder }) => {\r\n onTableChange(type, { page, sizePerPage, sortField, sortOrder });\r\n }\r\n\r\n return (\r\n <>{t(\"commons.noData\")}}\r\n pagination={paginationFactory({\r\n page: query.pagination.page,\r\n sizePerPage: query.pagination.sizePerPage,\r\n totalSize: totalSize,\r\n hideSizePerPage: true,\r\n })}\r\n onTableChange={handleTableChange}\r\n loading={isLoading} //only loading is true, react-bootstrap-table will render overlay\r\n overlay={overlayFactory({ spinner: true })}\r\n />\r\n );\r\n}\r\n\r\nResultsTemplates.propTypes = {\r\n data: PropTypes.array.isRequired,\r\n query: PropTypes.object.isRequired,\r\n totalSize: PropTypes.number.isRequired,\r\n onTableChange: PropTypes.func.isRequired,\r\n};\r\n\r\nexport const ResultsTemplateForm = props => {\r\n\r\n const {\r\n values,\r\n setFieldValue,\r\n setFieldTouched,\r\n handleChange,\r\n handleBlur,\r\n handleSubmit,\r\n isSubmitting\r\n } = props;\r\n\r\n const { t } = useTranslation();\r\n const [data, setData] = useState({\r\n units: [],\r\n significances: []\r\n });\r\n\r\n useEffect(() => {\r\n const fetchData = () => {\r\n getLaboratoryData()\r\n .then(response => {\r\n setData(response.data);\r\n\r\n }).catch(error => {\r\n setData({});\r\n });\r\n }\r\n fetchData();\r\n }, []);\r\n\r\n const emptyResult = {\r\n name: null,\r\n refMin: null,\r\n refMax: null,\r\n reference: '',\r\n unit: null\r\n }\r\n\r\n if (!values.resultItems) {\r\n values.resultItems = [];\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n {t(\"settings.resultsTemplates.name\")}\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n (
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n values.resultItems && values.resultItems.length > 0 ? (\r\n values.resultItems.map((result, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n ))\r\n ) : \"\"}\r\n \r\n
    \r\n {t(\"settings.resultsTemplates.order\")}\r\n \r\n {t('medicalRecords.laboratory.laboratory')}\r\n \r\n {t('medicalRecords.laboratory.unit')}\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n !props.edit &&\r\n arrayHelper.remove(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 values.resultItems && values.resultItems.length > 0 &&\r\n \r\n }\r\n
    \r\n
    \r\n
    \r\n );\r\n}","import axios from './index';\r\n\r\nexport const getPagingAndOrderParams = (newActiveFilters, searchParams) => {\r\n\r\n if (!newActiveFilters)\r\n return;\r\n\r\n searchParams.delete('pageIndex'); // se resetea el paginado\r\n if (newActiveFilters.pagination?.page) {\r\n searchParams.append('pageIndex', newActiveFilters.pagination.page);\r\n }\r\n searchParams.delete('pageSize');\r\n if (newActiveFilters.pagination?.sizePerPage) {\r\n searchParams.append('pageSize', newActiveFilters.pagination.sizePerPage);\r\n }\r\n searchParams.delete('sortField');\r\n if (newActiveFilters.sort?.sortField) {\r\n searchParams.append('sortField', newActiveFilters.sort.sortField);\r\n }\r\n searchParams.delete('sortOrder');\r\n if (newActiveFilters.sort?.sortOrder) {\r\n searchParams.append('sortOrder', newActiveFilters.sort.sortOrder);\r\n }\r\n\r\n return searchParams;\r\n}\r\n\r\nexport const getQueryString = (query, search) => {\r\n\r\n var searchParams = new URLSearchParams(search || '');\r\n\r\n if (!query)\r\n return searchParams.toString();\r\n\r\n searchParams = getPagingAndOrderParams(query, searchParams);\r\n\r\n if (query.filters) {\r\n for (const property in query.filters) {\r\n\r\n searchParams.delete(property);\r\n if (query.filters[property] !== null && query.filters[property] !== undefined) {\r\n searchParams.append(property, query.filters[property]);\r\n }\r\n }\r\n }\r\n\r\n return searchParams.toString();\r\n}\r\n\r\nexport const getTemplates = async (filters) => {\r\n const queryString = getQueryString(filters, window.location.search);\r\n return axios.get(queryString ? `api/v1/resultsTemplates/?${queryString}` : `api/v1/resultsTemplates`);\r\n};\r\nexport const getTemplate = async (templateId) => {\r\n return axios.get(`api/v1/resultsTemplates/${templateId}`);\r\n};\r\nexport const createTemplate = async (template) => {\r\n return axios.post(`api/v1/resultsTemplates/`, template);\r\n};\r\nexport const editTemplate = async (templateId, template) => {\r\n return axios.put(`api/v1/resultsTemplates/${templateId}`, template);\r\n};\r\nexport const removeTemplate = async (templateId) => {\r\n return axios.delete(`api/v1/resultsTemplates/${templateId}`);\r\n};","import { useEffect, useState } from 'react';\r\nimport { createTemplate, editTemplate, getTemplate, getTemplates, removeTemplate } from '../../../api/resultsTemplates';\r\nimport { HandleApiError } from '../../../components/Notifications/APIErrorHandler';\r\n\r\nexport const useResultsTemplates = () => {\r\n\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [data, setData] = useState([]);\r\n const [totalSize, setTotalSize] = useState(0);\r\n const [query, setQuery] = useState({\r\n pagination: {\r\n page: 1,\r\n sizePerPage: 10,\r\n totalSize: 0\r\n }\r\n });\r\n const [reload, setReload] = useState(false);\r\n\r\n useEffect(() => {\r\n let isSubscribed = true\r\n const fetchData = async () => {\r\n try {\r\n setReload(false);\r\n setIsLoading(true);\r\n const res = await getTemplates();\r\n\r\n if (isSubscribed) {\r\n //setTotalSize(res.data);\r\n setData(res.data);\r\n setIsLoading(false);\r\n }\r\n\r\n } catch (error) {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n setTotalSize(0);\r\n setData([]);\r\n }\r\n }\r\n\r\n fetchData();\r\n\r\n return () => isSubscribed = false;\r\n }, [query, reload]);\r\n\r\n const handleTableChange = (type, { page, sizePerPage, sortField, sortOrder }) => {\r\n var newQuery = JSON.parse(JSON.stringify(query));\r\n\r\n switch (type) {\r\n case 'pagination': {\r\n newQuery.pagination.page = page;\r\n newQuery.pagination.sizePerPage = sizePerPage;\r\n setQuery(newQuery);\r\n break;\r\n }\r\n case 'sort': {\r\n newQuery.sort.sortField = sortField;\r\n newQuery.sort.sortOrder = sortOrder;\r\n setQuery(newQuery);\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return [data, query, totalSize, isLoading, handleTableChange, setReload];\r\n}\r\n\r\nexport const useResultsTemplate = (id) => {\r\n const [isLoading, setIsLoading] = useState(true);\r\n const [data, setData] = useState(null);\r\n\r\n useEffect(() => {\r\n let isSubscribed = true\r\n const fetchData = async () => {\r\n try {\r\n setIsLoading(true);\r\n const res = await getTemplate(id);\r\n\r\n if (isSubscribed) {\r\n setData(res.data);\r\n setIsLoading(false);\r\n }\r\n\r\n } catch (error) {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n setData(null);\r\n }\r\n }\r\n if (id)\r\n fetchData();\r\n\r\n return () => isSubscribed = false;\r\n }, [id]);\r\n\r\n const create = (data) => {\r\n return createTemplate(data);\r\n }\r\n\r\n const update = (id, data) => {\r\n return editTemplate(id, data);\r\n }\r\n\r\n const remove = (id) => {\r\n return removeTemplate(id);\r\n }\r\n\r\n return [data, isLoading, create, update, remove];\r\n}","import React from \"react\";\r\nimport { Modal as BootstrapModal } from 'react-bootstrap';\r\nimport ReactDOM from 'react-dom';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nexport const ModalTemplate = (props) => {\r\n const { isShowing, hide } = props;\r\n const { t } = useTranslation();\r\n\r\n return isShowing ? ReactDOM.createPortal(\r\n \r\n \r\n \r\n {t(\"settings.resultsTemplates.title\")}\r\n \r\n \r\n {props.children}\r\n \r\n \r\n , document.body\r\n ) : null;\r\n};","import PropTypes from 'prop-types'\r\nimport React from \"react\"\r\nimport SweetAlert from \"react-bootstrap-sweetalert\"\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nexport const ConfirmRemove = (props) => {\r\n const { t } = useTranslation();\r\n\r\n return (\r\n \r\n props.onConfirm(props.id)}\r\n onCancel={() => { props.onClose() }}\r\n confirmBtnBsStyle=\"success\"\r\n cancelBtnBsStyle=\"info\"\r\n confirmBtnText={t(\"buttons.yes\")}\r\n cancelBtnText={t(\"buttons.no\")}\r\n showCancel\r\n >\r\n \r\n \r\n );\r\n}\r\n\r\nConfirmRemove.propTypes = {\r\n onClose: PropTypes.func.isRequired,\r\n onConfirm: PropTypes.func.isRequired,\r\n id: PropTypes.string.isRequired\r\n};","import { withFormik } from 'formik';\r\nimport PropTypes from 'prop-types';\r\nimport React from \"react\";\r\nimport { ConfirmRemove } from '../../components/Modals/RemoveModal';\r\nimport { HandleApiError } from \"../../components/Notifications/APIErrorHandler\";\r\nimport { ResultsTemplateForm } from \"../../components/Settings/ResultsTemplates\";\r\nimport { getSettingsSchema } from '../../components/Validations/FormValidationSchema';\r\nimport { useResultsTemplate } from './Hooks/useResultsTemplates';\r\n\r\nexport const ResultsTemplateCreateContainer = (props) => {\r\n const { onSubmit } = props;\r\n const [, , create,] = useResultsTemplate();\r\n\r\n const handleSubmit = async (data) => {\r\n try {\r\n const res = await create(data);\r\n onSubmit(res);\r\n }\r\n catch (error) {\r\n console.log(error);\r\n HandleApiError(error);\r\n }\r\n }\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nexport const ResultsTemplateEditContainer = (props) => {\r\n const { id, onSubmit } = props;\r\n const [data, isLoading, , update] = useResultsTemplate(id);\r\n\r\n const handleSubmit = async (data) => {\r\n try {\r\n const res = await update(id, data);\r\n onSubmit(res);\r\n }\r\n catch (error) {\r\n console.log(error);\r\n HandleApiError(error);\r\n }\r\n }\r\n\r\n if (!data || isLoading)\r\n return null;\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nexport const ResultsTemplateRemoveContainer = (props) => {\r\n const { id, onSubmit, onCancel } = props;\r\n const [data, isLoading, , , remove] = useResultsTemplate(id);\r\n\r\n const handleSubmit = async () => {\r\n try {\r\n const res = await remove(id);\r\n onSubmit(res);\r\n }\r\n catch (error) {\r\n console.log(error);\r\n HandleApiError(error);\r\n }\r\n }\r\n\r\n if (!data || isLoading)\r\n return null;\r\n\r\n return ();\r\n}\r\n\r\nconst ResultsTemplateContainerFormik = withFormik({\r\n mapPropsToValues: (props) => (props.template),\r\n\r\n validationSchema: getSettingsSchema(),\r\n\r\n handleSubmit: (values, formikBag) => {\r\n formikBag.props.onSubmit(values);\r\n },\r\n\r\n displayName: 'ResultsTemplateForm',\r\n\r\n})(ResultsTemplateForm);\r\n\r\nResultsTemplateContainerFormik.propTypes = {\r\n onSubmit: PropTypes.func.isRequired,\r\n onCancel: PropTypes.func.isRequired,\r\n template: PropTypes.object.isRequired,\r\n};","import React, { useState } from 'react';\r\nimport { Button } from 'react-bootstrap';\r\nimport { useTranslation } from 'react-i18next';\r\nimport Card from '../../components/Cards/Card';\r\nimport { Add } from '../../components/Icons/Icons';\r\nimport { ResultsTemplates } from '../../components/Settings/ResultsTemplates';\r\nimport { useResultsTemplates } from './Hooks/useResultsTemplates';\r\nimport { ModalTemplate } from './ModalTemplate';\r\nimport { ResultsTemplateCreateContainer, ResultsTemplateEditContainer, ResultsTemplateRemoveContainer } from './ResultsTemplate';\r\n\r\nexport const ResultsTemplatesContainer = (props) => {\r\n const { t } = useTranslation();\r\n const [templates, query, totalSize, isLoading, handleTableChange, setReload] = useResultsTemplates();\r\n const [modal, setModal] = useState(null);\r\n\r\n const onModalSubmit = () => {\r\n setModal(null);\r\n setReload(true);\r\n }\r\n const handleClose = () => { setModal(null) }\r\n\r\n const handleCreate = () => {\r\n setModal(\r\n \r\n \r\n \r\n );\r\n }\r\n const handleEdit = (id) => {\r\n setModal(\r\n \r\n \r\n \r\n )\r\n }\r\n const handleRemove = (id) => {\r\n setModal(\r\n \r\n )\r\n }\r\n\r\n return (\r\n <>\r\n {modal}\r\n \r\n {t(\"settings.resultsTemplates.add\")}\r\n \r\n }\r\n content={\r\n \r\n }\r\n />\r\n \r\n );\r\n}","import axios from './index';\r\n\r\nexport const getConfiguration = () => {\r\n return axios.get(`api/settings`);\r\n};\r\n\r\nexport const uploadHeader = async (formData, type) => {\r\n return axios.post(`api/settings/prescriptionorders/${type}`, formData, {\r\n headers: {\r\n 'Content-Type': 'multipart/form-data'\r\n }\r\n })\r\n}\r\n\r\nexport const getSettings = () => {\r\n return axios.get(`api/settings/clientsettings`);\r\n};\r\n\r\nexport const setSettings = (key, value) => {\r\n return axios.put(`api/settings/clientsettings/key/${key}/value/${value}`, value);\r\n};","import { useEffect, useState } from 'react';\r\nimport { getSettings, setSettings } from '../../../api/settings';\r\nimport { HandleApiError } from '../../../components/Notifications/APIErrorHandler';\r\n\r\nexport const useSettings = () => {\r\n\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [data, setData] = useState(null);\r\n const [reload, setReload] = useState(false);\r\n\r\n useEffect(() => {\r\n let isSubscribed = true\r\n const fetchData = async () => {\r\n try {\r\n setReload(false);\r\n setIsLoading(true);\r\n const res = await getSettings();\r\n\r\n if (isSubscribed && res.data) {\r\n setData(res.data);\r\n setIsLoading(false);\r\n }\r\n\r\n } catch (error) {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n setData(null);\r\n }\r\n }\r\n\r\n fetchData();\r\n\r\n return () => isSubscribed = false;\r\n }, [reload]);\r\n\r\n const update = (key, value) => {\r\n return setSettings(key, value);\r\n }\r\n\r\n return [data, isLoading, update, setReload];\r\n}","import React, { useState } from 'react';\r\nimport { withFormik } from 'formik';\r\nimport PropTypes from 'prop-types';\r\nimport { withTranslation } from 'react-i18next';\r\n//Components\r\nimport { SettingsForm } from '../../components/Settings/Settings';\r\nimport { uploadHeader } from '../../api/settings';\r\nimport { Success } from '../../components/Notifications/Notifications';\r\nimport Card from '../../components/Cards/Card';\r\nimport { useSettings } from './Hooks/useSettings';\r\nimport { HandleApiError } from '../../components/Notifications/APIErrorHandler';\r\n\r\nexport const SettingsContainer = () => {\r\n const [modal, setModal] = useState(null);\r\n const [data, isLoading, update] = useSettings();\r\n\r\n const _isValidImageSize = (imageToCheck, width, height) => {\r\n var _URL = window.URL || window.webkitURL;\r\n var file, img, isValid = true;\r\n if ((file = imageToCheck)) {\r\n img = new Image();\r\n var objectUrl = _URL.createObjectURL(file);\r\n img.onload = function () {\r\n if (this.width != width || this.height != height) {\r\n alert(`El tamaño de la imagen debe ser de ${width}x${height}`);\r\n isValid = false;\r\n }\r\n _URL.revokeObjectURL(objectUrl);\r\n };\r\n img.src = objectUrl;\r\n }\r\n\r\n return isValid;\r\n }\r\n\r\n const handleFirstMRN = (value) => {\r\n if (!value)\r\n return;\r\n\r\n update(\"FirstMRN\", value)\r\n .then(res => {\r\n Success(\"settingsNotifications.settings_Updated\");\r\n }).catch(error => {\r\n HandleApiError(error);\r\n });\r\n }\r\n const handleAutoClose = (value) => {\r\n if (!value)\r\n return;\r\n\r\n update(\"AutoClose\", value)\r\n .then(res => {\r\n Success(\"settingsNotifications.settings_Updated\");\r\n }).catch(error => {\r\n HandleApiError(error);\r\n });\r\n }\r\n const handleHeader = async (header) => {\r\n //if (!_isValidImageSize(header.file, 1654, 245))\r\n // return;\r\n\r\n // Initial FormData\r\n const formData = new FormData();\r\n formData.append(\"file\", header.file);\r\n formData.append(\"title\", header.fileName);\r\n\r\n // Make an AJAX upload request using Axios\r\n try {\r\n const res = await uploadHeader(formData, \"header\");\r\n Success(\"settingsNotifications.settings_Uploaded\");\r\n }\r\n catch (error) {\r\n console.log(error.response);\r\n }\r\n }\r\n const handleFooter = async (footer) => {\r\n //if (!_isValidImageSize(footer.file, 1654, 90))\r\n // return;\r\n\r\n // Initial FormData\r\n const formData = new FormData();\r\n formData.append(\"file\", footer.file);\r\n formData.append(\"title\", footer.fileName);\r\n\r\n // Make an AJAX upload request using Axios\r\n try {\r\n const res = await uploadHeader(formData, \"footer\");\r\n Success(\"settingsNotifications.settings_Uploaded\");\r\n }\r\n catch (error) {\r\n console.log(error.response);\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n {modal}\r\n \r\n }\r\n />\r\n\r\n \r\n );\r\n}\r\n\r\nconst SettingsFormik = withTranslation()(withFormik({\r\n\r\n mapPropsToValues: (props) => (props),\r\n displayName: 'SettingsForm',\r\n\r\n})(SettingsForm));\r\n\r\nSettingsFormik.propTypes = {\r\n onAutoClose: PropTypes.func.isRequired,\r\n onFirstMRN: PropTypes.func.isRequired,\r\n onHeader: PropTypes.func.isRequired,\r\n onFooter: PropTypes.func.isRequired\r\n};","import React from 'react';\r\nimport { Col, FormControl, FormGroup, Grid, Row } from 'react-bootstrap';\r\nimport Card from '../Cards/Card';\r\nimport CustomImageUpload from '../CustomControls/Images/CustomImage';\r\n\r\nexport const SettingsForm = props => {\r\n const {\r\n isSubmitting,\r\n isDisabled,\r\n onAutoClose,\r\n onFirstMRN,\r\n onHeader,\r\n onFooter,\r\n values,\r\n setFieldValue,\r\n handleChange,\r\n settings,\r\n isLoading,\r\n t,\r\n } = props;\r\n\r\n var data = {\r\n mrsettings: settings && JSON.parse(settings.mrdata),\r\n dbsettings: settings && JSON.parse(settings.dbdata),\r\n prsettings: settings && JSON.parse(settings.prdata)\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n {\r\n !isLoading &&\r\n \r\n \r\n \r\n
    {t(\"settings.settings.firstMRN\")}
    \r\n \r\n \r\n x.key === \"FirstMRN\")?.value} onChange={handleChange} autoComplete=\"off\" />\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n }\r\n />\r\n }\r\n \r\n\r\n \r\n {\r\n !isLoading &&\r\n \r\n \r\n \r\n
    {t(\"settings.settings.autoClose\")}
    \r\n \r\n \r\n x.key === \"AutoClose\")?.value} onChange={handleChange} autoComplete=\"off\" />\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n }\r\n />\r\n }\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
    {t(\"settings.settings.header\")}
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n
    {t(\"settings.settings.footer\")}
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n }\r\n />\r\n \r\n
    \r\n
    \r\n );\r\n};","import React, { useContext, useState } from 'react';\r\nimport { Button, Col, Row } from 'react-bootstrap';\r\nimport SweetAlert from 'react-bootstrap-sweetalert';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { syncPatients } from '../../api/database';\r\nimport { syncUsers } from '../../api/identity';\r\nimport { syncPatientsInProtocol, syncProtocols, syncUsersInProtocol } from '../../api/protocolAdmin';\r\nimport { WithAuth } from '../../components/Authorization/WithAuth';\r\n//Components\r\nimport Card from '../../components/Cards/Card';\r\nimport { Sync } from '../../components/Icons/Icons';\r\nimport { HandleApiError } from '../../components/Notifications/APIErrorHandler';\r\nimport { Success } from '../../components/Notifications/Notifications';\r\nimport AdminContext from './AdminContext/AdminContext';\r\n\r\nconst ConfirmSync = (props) => {\r\n const { t } = useTranslation();\r\n\r\n return (\r\n \r\n props.onConfirm()}\r\n onCancel={() => { props.onClose() }}\r\n confirmBtnBsStyle=\"success\"\r\n cancelBtnBsStyle=\"info\"\r\n confirmBtnText={t(\"buttons.yes\")}\r\n cancelBtnText={t(\"buttons.no\")}\r\n showCancel\r\n >\r\n {props.subtitle}\r\n \r\n \r\n );\r\n}\r\n\r\nexport const SyncContainer = () => {\r\n const { t } = useTranslation();\r\n\r\n //const [, , isAuthorized] = useAuthorization();\r\n const { selectedTenant } = useContext(AdminContext);\r\n const [modal, setModal] = useState(null);\r\n\r\n const syncUsersClick = () => {\r\n setModal( setModal(null)}\r\n />);\r\n }\r\n\r\n const syncUsersConfirm = async () => {\r\n setModal(null);\r\n if (!selectedTenant) return;\r\n\r\n try {\r\n await syncUsers(selectedTenant.tenantId);\r\n Success(\"settings.sync.users_sync_started\");\r\n }\r\n catch (ex) {\r\n console.log(ex);\r\n HandleApiError(ex);\r\n }\r\n }\r\n\r\n const syncPatientsClick = () => {\r\n setModal( setModal(null)}\r\n />);\r\n }\r\n\r\n const syncPatientsConfirm = async () => {\r\n setModal(null);\r\n if (!selectedTenant) return;\r\n\r\n try {\r\n await syncPatients(selectedTenant.tenantId);\r\n Success(\"settings.sync.database_sync_started\");\r\n }\r\n catch (ex) {\r\n console.log(ex);\r\n HandleApiError(ex);\r\n }\r\n }\r\n\r\n const syncProtocolsClick = () => {\r\n setModal( setModal(null)}\r\n />);\r\n }\r\n\r\n const syncProtocolsConfirm = async () => {\r\n setModal(null);\r\n if (!selectedTenant) return;\r\n\r\n try {\r\n await syncProtocols(selectedTenant.tenantId);\r\n Success(\"settings.sync.database_sync_started\");\r\n }\r\n catch (ex) {\r\n console.log(ex);\r\n HandleApiError(ex);\r\n }\r\n }\r\n\r\n const syncUsersInProtocolsClick = () => {\r\n setModal( setModal(null)}\r\n />);\r\n }\r\n\r\n const syncUsersInProtocolsConfirm = async () => {\r\n setModal(null);\r\n if (!selectedTenant) return;\r\n\r\n try {\r\n await syncUsersInProtocol(selectedTenant.tenantId);\r\n Success(\"settings.sync.database_sync_started\");\r\n }\r\n catch (ex) {\r\n console.log(ex);\r\n HandleApiError(ex);\r\n }\r\n }\r\n\r\n const syncPatientsInProtocolsClick = async () => {\r\n setModal(null);\r\n if (!selectedTenant) return;\r\n\r\n try {\r\n await syncPatientsInProtocol(selectedTenant.tenantId);\r\n Success(\"settings.sync.database_sync_started\");\r\n }\r\n catch (ex) {\r\n console.log(ex);\r\n HandleApiError(ex);\r\n }\r\n }\r\n\r\n return (\r\n \r\n {\r\n selectedTenant ?\r\n
    \r\n {modal}\r\n \r\n \r\n Sincronizar\r\n }\r\n />\r\n \r\n \r\n Sincronizar\r\n }\r\n />\r\n \r\n \r\n Sincronizar\r\n }\r\n />\r\n \r\n \r\n Sincronizar\r\n }\r\n />\r\n \r\n \r\n Sincronizar\r\n }\r\n />\r\n \r\n \r\n
    :\r\n
    Seleccione Tenant
    \r\n }\r\n \r\n }\r\n />\r\n );\r\n}","/*eslint-disable*/\r\nimport React, { useState, useEffect, useRef } from \"react\";\r\nimport { Collapse } from \"react-bootstrap\";\r\nimport { NavLink } from \"react-router-dom\";\r\n\r\nimport PerfectScrollbar from \"perfect-scrollbar\";\r\nimport \"perfect-scrollbar/css/perfect-scrollbar.css\";\r\n\r\nimport AdminNavbarLinks from \"../Navbars/AdminNavbarLinks.jsx\";\r\nimport logo from \"../../assets/img/logo-blanco.png\";\r\n\r\nimport routes from \"../../routes.js\";\r\nimport { useAuthorization } from \"../Authorization/useAuthorization.js\";\r\nimport { IconSVG } from \"../Icons/Icons.jsx\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\nvar ps;\r\n\r\nexport const Sidebar = (props) => {\r\n const refSidebarWrapper = useRef(null);\r\n const [width, setWidth] = useState(window.innerWidth);\r\n const [collapseStates, setCollapseStates] = useState({});\r\n const [, , isAuthorized] = useAuthorization();\r\n const { t } = useTranslation();\r\n\r\n useEffect(() => {\r\n // add event listener for windows resize\r\n window.addEventListener(\"resize\", updateDimensions());\r\n // if you are using a Windows Machine, the scrollbars will have a Mac look\r\n if (navigator.platform.indexOf(\"Win\") > -1 && refSidebarWrapper) {\r\n ps = new PerfectScrollbar(refSidebarWrapper.current);\r\n }\r\n\r\n updateDimensions();\r\n\r\n return function cleanup() {\r\n // we need to destroy the false scrollbar when we navigate\r\n // to a page that doesn't have this component rendered\r\n if (navigator.platform.indexOf(\"Win\") > -1) {\r\n ps.destroy();\r\n }\r\n };\r\n }, [])\r\n\r\n // this creates the intial state of this component based on the collapse routes\r\n // that it gets through this.props.routes\r\n const getCollapseStates = (routes) => {\r\n let initialState = {};\r\n routes.map((prop, key) => {\r\n if (prop.collapse) {\r\n initialState = {\r\n [prop.state]: getCollapseInitialState(prop.routes),\r\n ...getCollapseStates(prop.routes),\r\n ...initialState\r\n };\r\n }\r\n return null;\r\n });\r\n return initialState;\r\n };\r\n\r\n // this verifies if any of the collapses should be default opened on a rerender of this component\r\n // for example, on the refresh of the page,\r\n // while on the src/routes/forms/RegularForms.jsx - route /admin/regular-forms\r\n const getCollapseInitialState = (routes) => {\r\n for (let i = 0; i < routes.length; i++) {\r\n if (routes[i].collapse && getCollapseInitialState(routes[i].routes)) {\r\n return true;\r\n } else if (window.location.href.indexOf(routes[i].path) !== -1) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n // this function creates the links and collapses that appear in the sidebar (left menu)\r\n const createLinks = (routes) => {\r\n return routes.map((prop, key) => {\r\n\r\n if (prop.hidden) {\r\n return null;\r\n }\r\n if (prop.redirect) {\r\n return null;\r\n }\r\n\r\n if (!isAuthorized(prop.permission))\r\n return null;\r\n\r\n if (prop.displayChilds) {\r\n var st = {};\r\n st[prop[\"state\"]] = !collapseStates[prop.state];\r\n return (\r\n
  • \r\n { e.preventDefault(); setCollapseStates(st); }} style={{ textAlign: 'center' }}>\r\n \r\n
    \r\n
    {t(prop.name)}
    \r\n \r\n
    \r\n
    \r\n \r\n
      {createLinks(prop.routes)}
    \r\n
    \r\n
  • \r\n );\r\n }\r\n\r\n return (\r\n
  • \r\n \r\n {prop.iconSVG ? (\r\n <>\r\n \r\n
    {t(prop.name)}
    \r\n \r\n ) : (\r\n <>\r\n {t(prop.name)}\r\n \r\n )}\r\n \r\n
  • \r\n );\r\n });\r\n };\r\n\r\n // verifies if routeName is the one active (in browser input)\r\n const activeRoute = (routeName) => {\r\n return props.location.pathname.indexOf(routeName) > -1 ? \"active\" : \"\";\r\n };\r\n\r\n // if the windows width changes CSS has to make some changes\r\n // this functions tell react what width is the window\r\n const updateDimensions = () => {\r\n setWidth(window.innerWidth);\r\n }\r\n\r\n return (\r\n
    \r\n \r\n\r\n
    \r\n
      \r\n {/*\r\n If we are on responsive, we want both links from navbar and sidebar\r\n to appear in sidebar, so we render here HeaderLinks\r\n */}\r\n {width <= 992 ? : null}\r\n {/*\r\n here we render the links in the sidebar if the link is simple,\r\n we make a simple link, if not, we have to create a collapsible group,\r\n with the speciffic parent button and with it's children which are the links\r\n */}\r\n {createLinks(routes)}\r\n
    \r\n
    \r\n
    \r\n );\r\n}","import React, { useContext, useEffect } from \"react\";\r\nimport { Col, Nav, NavItem, Row, Tab } from \"react-bootstrap\";\r\nimport { useAuthorization } from \"../components/Authorization/useAuthorization\";\r\nimport { WithAuth } from \"../components/Authorization/WithAuth\";\r\nimport Card from \"../components/Cards/Card\";\r\nimport { CustomSelect } from \"../components/CustomControls/CustomSelect\";\r\nimport { LaboratoriesContainer } from \"../containers/Protocols/Admin/Laboratories\";\r\nimport { StudyTasksContainer } from \"../containers/Protocols/Admin/StudyTasks\";\r\nimport { RolesContainer } from \"../containers/Security/Authorization/Roles\";\r\nimport { StudyRolesContainer } from \"../containers/Security/Authorization/StudyRoles\";\r\nimport AdminContext from \"../containers/Settings/AdminContext/AdminContext\";\r\nimport { AdminProvider } from \"../containers/Settings/AdminContext/AdminProvider\";\r\nimport { ResultsTemplatesContainer } from \"../containers/Settings/ResultsTemplates\";\r\nimport { SettingsContainer } from \"../containers/Settings/SettingsContainer\";\r\nimport { SyncContainer } from \"../containers/Settings/SyncContainer\";\r\nimport { useTenants } from \"../containers/Tenants/Hooks\";\r\nimport { TenantsContainer } from \"../containers/Tenants/Tenants\";\r\nimport { UsersContainer } from \"../containers/Users/Users\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\nconst TenantSelection = ({ isAuthorized }) => {\r\n const { selectedTenant, setSelectedTenant } = useContext(AdminContext);\r\n const [tenants, isTenantsLoading, getAll] = useTenants();\r\n\r\n useEffect(() => {\r\n try {\r\n if (isAuthorized([\"Tenant.View\"]))\r\n getAll();\r\n }\r\n catch (error) {\r\n console.log(JSON.stringify(error))\r\n }\r\n }, [])\r\n\r\n const handleSelectedTenant = (_name, value) => {\r\n setSelectedTenant(value)\r\n }\r\n\r\n return (\r\n \r\n \r\n x.tenantName}\r\n getOptionValue={(x) => x.tenantId}\r\n />\r\n \r\n \r\n {selectedTenant &&
    TenantId: {selectedTenant.tenantId}
    }\r\n \r\n \r\n }\r\n />\r\n );\r\n}\r\n\r\nconst Settings = () => {\r\n const { t } = useTranslation();\r\n const [, , isAuthorized] = useAuthorization();\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default Settings;\r\n","import { Agenda } from \"./containers/Agenda/Agenda\";\r\nimport { CreatePatientContainer } from \"./containers/Database/CreatePatient\";\r\nimport { EditPatientContainer } from \"./containers/Database/EditPatient\";\r\nimport { PatientContainer } from \"./containers/Database/Patient\";\r\nimport { ExternalNotesContainer } from \"./containers/ExternalNotes/ExternalNotes\";\r\nimport CreateEntryContainer from \"./containers/MedicalRecords/CreateEntry\";\r\nimport MedicalRecordContainer from \"./containers/MedicalRecords/MedicalRecord\";\r\nimport { ViewEntryContainer } from \"./containers/MedicalRecords/ViewEntry\";\r\nimport { CreateLaboratoryContainer } from \"./containers/Protocols/Admin/CreateLaboratory\";\r\nimport { CreateStudyTaskContainer } from \"./containers/Protocols/Admin/CreateStudyTasks\";\r\nimport { EditLaboratoryContainer } from \"./containers/Protocols/Admin/EditLaboratory\";\r\nimport { EditStudyTaskContainer } from \"./containers/Protocols/Admin/EditStudyTasks\";\r\nimport { LaboratoriesContainer } from \"./containers/Protocols/Admin/Laboratories\";\r\nimport { StudyTasksContainer } from \"./containers/Protocols/Admin/StudyTasks\";\r\nimport { ExtraForm } from \"./containers/Protocols/ExtraForms/ExtraForm\";\r\nimport ProtocolContainer from \"./containers/Protocols/Protocol\";\r\nimport { Visit } from \"./containers/Protocols/Visits/Visit\";\r\nimport { VisitForm } from \"./containers/Protocols/Visits/VisitForm\";\r\nimport { CreateRoleContainer } from \"./containers/Security/Authorization/CreateRole\";\r\nimport { CreateStudyRoleContainer } from \"./containers/Security/Authorization/CreateStudyRole\";\r\nimport { EditRoleContainer } from \"./containers/Security/Authorization/EditRole\";\r\nimport { EditStudyRoleContainer } from \"./containers/Security/Authorization/EditStudyRole\";\r\nimport { RolesContainer } from \"./containers/Security/Authorization/Roles\";\r\nimport { StudyRolesContainer } from \"./containers/Security/Authorization/StudyRoles\";\r\nimport { CreateTenantContainer } from \"./containers/Tenants/Create\";\r\nimport { EditTenantContainer } from \"./containers/Tenants/Edit\";\r\nimport { TenantsContainer } from \"./containers/Tenants/Tenants\";\r\nimport { CreateUserContainer } from \"./containers/Users/CreateUser\";\r\nimport { EditUserContainer } from \"./containers/Users/EditUser\";\r\nimport { UserContainer } from \"./containers/Users/User\";\r\nimport { UserSettingsContainer } from \"./containers/Users/UserSettings\";\r\nimport { UsersContainer } from \"./containers/Users/Users\";\r\nimport Dashboard from \"./views/Dashboard\";\r\nimport DatabaseHome from './views/Database';\r\nimport ForbiddenPage from \"./views/Errors/Forbidden\";\r\nimport NotFoundPage from \"./views/Errors/NotFound\";\r\nimport UnauthorizedPage from \"./views/Errors/Unauthorized\";\r\nimport { ExtraVisitTrackingView } from \"./views/Protocols/ExtraVisitTrackingView\";\r\nimport { PractitionersView } from \"./views/Protocols/PractitionersView\";\r\nimport { ProtocolCreateView } from \"./views/Protocols/ProtocolCreateView\";\r\nimport { ProtocolEditView } from \"./views/Protocols/ProtocolEditView\";\r\nimport { ProtocolsView } from \"./views/Protocols/ProtocolsView\";\r\nimport { VisitTrackingView } from \"./views/Protocols/VisitTrackingView\";\r\nimport Settings from \"./views/Settings\";\r\nimport UserProfile from \"./views/UserProfile\";\r\n\r\nconst routes = [\r\n {\r\n path: \"/dashboard\",\r\n name: \"routes.dashboard\",\r\n iconSVG: \"dashboard\",\r\n component: Dashboard,\r\n layout: \"/admin\"\r\n },\r\n // Agenda\r\n {\r\n path: \"/agenda\",\r\n name: \"routes.agenda\",\r\n iconSVG: \"agenda\",\r\n component: Agenda,\r\n layout: \"/admin\",\r\n permission: [\"Agenda.List\"],\r\n },\r\n // Patients\r\n {\r\n collapse: true,\r\n displayChilds: false,\r\n path: \"/database\",\r\n name: \"routes.database\",\r\n iconSVG: \"patients\",\r\n layout: \"/admin\",\r\n permission: [\"Database.List\"],\r\n component: DatabaseHome,\r\n routes: [\r\n {\r\n path: \"/database\",\r\n name: \"Pacientes\",\r\n mini: \"P\",\r\n layout: \"/admin\",\r\n component: DatabaseHome,\r\n hidden: true\r\n },\r\n {\r\n path: \"/database/create\",\r\n name: \"Nuevo Paciente\",\r\n mini: \"NP\",\r\n layout: \"/admin\",\r\n component: CreatePatientContainer,\r\n hidden: true\r\n },\r\n {\r\n path: \"/database/:medicalRecordNumber\",\r\n name: \"Ver Paciente\",\r\n mini: \"VP\",\r\n layout: \"/admin\",\r\n component: PatientContainer,\r\n hidden: true\r\n },\r\n {\r\n path: \"/database/:medicalRecordNumber/edit\",\r\n name: \"Editar Paciente\",\r\n mini: \"EP\",\r\n layout: \"/admin\",\r\n component: EditPatientContainer,\r\n hidden: true\r\n },\r\n ]\r\n },\r\n // Medical Records\r\n {\r\n collapse: true,\r\n displayChilds: false,\r\n path: \"/medicalRecords\",\r\n name: \"routes.medicalRecords\",\r\n iconSVG: \"medicalRecords\",\r\n component: MedicalRecordContainer,\r\n layout: \"/admin\",\r\n permission: [\"MedicalRecords.List\"],\r\n hidden: true,\r\n routes: [\r\n {\r\n path: \"/medicalRecords/:medicalRecordNumber\",\r\n name: \"Historia Clínica\",\r\n mini: \"HC\",\r\n layout: \"/admin\",\r\n component: MedicalRecordContainer,\r\n hidden: true\r\n },\r\n {\r\n path: \"/medicalRecords/:medicalRecordNumber/newentry/:entryId\",\r\n name: \"Nueva Entrada\",\r\n mini: \"NE\",\r\n layout: \"/admin\",\r\n component: CreateEntryContainer,\r\n hidden: true\r\n },\r\n {\r\n path: \"/medicalRecords/:medicalRecordNumber/entry/:entryId\",\r\n name: \"Entrada\",\r\n mini: \"VE\",\r\n layout: \"/admin\",\r\n component: ViewEntryContainer,\r\n hidden: true\r\n }\r\n ]\r\n },\r\n // Protocols\r\n {\r\n collapse: true,\r\n displayChilds: false,\r\n path: \"/protocols\",\r\n name: \"routes.protocols\",\r\n iconSVG: \"protocols\",\r\n layout: \"/admin\",\r\n permission: [\"Protocols.List\"],\r\n routes: [\r\n {\r\n path: \"/protocols\",\r\n name: \"Protocolos\",\r\n mini: \"P\",\r\n layout: \"/admin\",\r\n component: ProtocolsView,\r\n hidden: false\r\n },\r\n {\r\n path: \"/protocols/create\",\r\n name: \"Nuevo Protocolo\",\r\n mini: \"NP\",\r\n layout: \"/admin\",\r\n component: ProtocolCreateView,\r\n hidden: true\r\n },\r\n {\r\n path: \"/protocols/:protocolId\",\r\n name: \"Protocolo\",\r\n mini: \"P\",\r\n layout: \"/admin\",\r\n component: ProtocolContainer,\r\n hidden: true\r\n },\r\n {\r\n path: \"/protocols/:protocolId/section/:section\",\r\n mini: \"P\",\r\n layout: \"/admin\",\r\n component: ProtocolContainer,\r\n hidden: true\r\n },\r\n {\r\n path: \"/protocols/:protocolId/edit/\",\r\n name: \"Editar Protocolo\",\r\n mini: \"EP\",\r\n layout: \"/admin\",\r\n component: ProtocolEditView,\r\n hidden: true\r\n },\r\n {\r\n path: \"/protocols/:protocolId/practitioners\",\r\n name: \"Profesionales\",\r\n mini: \"AP\",\r\n layout: \"/admin\",\r\n component: PractitionersView,\r\n hidden: true\r\n },\r\n // visitTracking\r\n {\r\n path: \"/protocols/:protocolId/visitTracking/:visitId/patient/:patientId\",\r\n name: \"Visita Protocolar\",\r\n mini: \"VP\",\r\n layout: \"/admin\",\r\n component: VisitTrackingView,\r\n hidden: true\r\n },\r\n {\r\n path: \"/protocols/:protocolId/visitTrackingExtra/:visitId/patient/:patientId\",\r\n name: \"Visita Extra Protocolar\",\r\n mini: \"VEP\",\r\n layout: \"/admin\",\r\n component: ExtraVisitTrackingView,\r\n hidden: true\r\n },\r\n {\r\n path: \"/protocols/:protocolId/visitsTemplate/:visitId\",\r\n name: \"Hoja de Visita\",\r\n mini: \"VP\",\r\n layout: \"/admin\",\r\n component: Visit,\r\n hidden: true\r\n },\r\n {\r\n path: \"/protocols/:protocolId/visitsTemplate/:visitId/forms/create\",\r\n name: \"Crear formulario para hoja de visita\",\r\n mini: \"VP\",\r\n layout: \"/admin\",\r\n component: VisitForm,\r\n hidden: true\r\n },\r\n {\r\n path: \"/protocols/:protocolId/visitsTemplate/:visitId/forms/:formId\",\r\n name: \"Editar formulario para hoja de visita\",\r\n mini: \"VP\",\r\n layout: \"/admin\",\r\n component: VisitForm,\r\n hidden: true\r\n },\r\n {\r\n path: \"/protocols/:protocolId/extraforms/create/:extraformtype\",\r\n name: \"Crear formulario extra\",\r\n mini: \"EF\",\r\n layout: \"/admin\",\r\n component: ExtraForm,\r\n hidden: true\r\n },\r\n {\r\n path: \"/protocols/:protocolId/extraforms/:formId\",\r\n name: \"Editar formulario extra\",\r\n mini: \"EEF\",\r\n layout: \"/admin\",\r\n component: ExtraForm,\r\n hidden: true\r\n },\r\n ]\r\n },\r\n // External Notes\r\n {\r\n path: \"/externalnotes\",\r\n name: \"routes.externalnotes\",\r\n iconSVG: \"externalnote\",\r\n layout: \"/admin\",\r\n permission: [\"Protocols.List\"],\r\n component: ExternalNotesContainer,\r\n },\r\n // Settings\r\n {\r\n collapse: true,\r\n path: \"/settings\",\r\n name: \"routes.settings\",\r\n state: \"active\",\r\n layout: \"/admin\",\r\n iconSVG: \"settings\",\r\n permission: [\"Security.List\", \"Settings.List\"],\r\n routes: [\r\n // Tenants\r\n {\r\n path: \"/tenant\",\r\n name: \"Clientes\",\r\n mini: \"CL\",\r\n layout: \"/admin\",\r\n component: TenantsContainer,\r\n permission: [\"Tenant.List\"],\r\n hidden: true\r\n },\r\n {\r\n path: \"/tenant/create\",\r\n name: \"Crear Cliente\",\r\n mini: \"CLC\",\r\n layout: \"/admin\",\r\n component: CreateTenantContainer,\r\n hidden: true\r\n },\r\n {\r\n path: \"/tenant/:tenantId\",\r\n name: \"Editar Cliente\",\r\n mini: \"CLE\",\r\n layout: \"/admin\",\r\n component: EditTenantContainer,\r\n hidden: true\r\n },\r\n\r\n {\r\n permission: [\"Security.List\", \"Settings.List\"],\r\n path: \"/settings\",\r\n name: \"Configuración\",\r\n mini: \"C\",\r\n layout: \"/admin\",\r\n component: Settings,\r\n hidden: true\r\n },\r\n {\r\n permission: [\"Users.List\"],\r\n path: \"/users\",\r\n name: \"Usuarios\",\r\n mini: \"U\",\r\n layout: \"/admin\",\r\n component: UsersContainer,\r\n hidden: true\r\n },\r\n {\r\n permission: [\"Users.Create\"],\r\n path: \"/users/create\",\r\n name: \"Nuevo Usuario\",\r\n mini: \"NP\",\r\n layout: \"/admin\",\r\n component: CreateUserContainer,\r\n hidden: true\r\n },\r\n {\r\n permission: [\"Users.View\"],\r\n path: \"/users/:userId\",\r\n name: \"Usuario\",\r\n mini: \"VP\",\r\n layout: \"/admin\",\r\n component: UserContainer,\r\n hidden: true\r\n },\r\n {\r\n permission: [\"Users.Edit\"],\r\n path: \"/users/:userId/edit\",\r\n name: \"Editar\",\r\n mini: \"EP\",\r\n layout: \"/admin\",\r\n component: EditUserContainer,\r\n hidden: true\r\n },\r\n {\r\n permission: [\"Users.Edit\"],\r\n path: \"/users/:userId/completeProfile\",\r\n name: \"Perfíl de usuario\",\r\n mini: \"EP\",\r\n layout: \"/admin\",\r\n component: UserProfile,\r\n hidden: true\r\n },\r\n {\r\n permission: [\"Users.Edit\"],\r\n path: \"/users/:userId/config\",\r\n name: \"Configurar\",\r\n mini: \"C\",\r\n layout: \"/admin\",\r\n component: UserSettingsContainer,\r\n hidden: true\r\n },\r\n {\r\n path: \"/settings/roles\",\r\n name: \"Roles\",\r\n mini: \"R\",\r\n layout: \"/admin\",\r\n component: RolesContainer,\r\n permission: [\"Security.List\"],\r\n hidden: true\r\n },\r\n {\r\n path: \"/settings/roles/create\",\r\n name: \"Crear Rol\",\r\n mini: \"CR\",\r\n layout: \"/admin\",\r\n component: CreateRoleContainer,\r\n hidden: true\r\n },\r\n {\r\n path: \"/settings/roles/:roleId\",\r\n name: \"Editar Rol\",\r\n mini: \"ER\",\r\n layout: \"/admin\",\r\n component: EditRoleContainer,\r\n hidden: true\r\n },\r\n // StudyRoles\r\n {\r\n path: \"/settings/studyRoles\",\r\n name: \"Roles del Protocolo\",\r\n mini: \"RP\",\r\n layout: \"/admin\",\r\n component: StudyRolesContainer,\r\n permission: [\"Security.List\"],\r\n hidden: true\r\n },\r\n {\r\n path: \"/settings/studyRoles/create\",\r\n name: \"Crear Rol\",\r\n mini: \"CRP\",\r\n layout: \"/admin\",\r\n component: CreateStudyRoleContainer,\r\n hidden: true\r\n },\r\n {\r\n path: \"/settings/studyRoles/:roleId\",\r\n name: \"Editar Rol\",\r\n mini: \"ERP\",\r\n layout: \"/admin\",\r\n component: EditStudyRoleContainer,\r\n hidden: true\r\n },\r\n // StudyTasks\r\n {\r\n path: \"/settings/studyTasks\",\r\n name: \"Tareas del Protocolo\",\r\n mini: \"TP\",\r\n layout: \"/admin\",\r\n component: StudyTasksContainer,\r\n permission: [\"Settings.List\"],\r\n hidden: true\r\n },\r\n {\r\n path: \"/settings/studyTasks/create\",\r\n name: \"Crear Tarea Protocolar\",\r\n mini: \"CTP\",\r\n layout: \"/admin\",\r\n component: CreateStudyTaskContainer,\r\n hidden: true\r\n },\r\n {\r\n path: \"/settings/studyTasks/:studyTaskId\",\r\n name: \"Editar Tarea Protocolar\",\r\n mini: \"ETP\",\r\n layout: \"/admin\",\r\n component: EditStudyTaskContainer,\r\n hidden: true\r\n },\r\n\r\n // Laboratories\r\n {\r\n path: \"/settings/laboratories\",\r\n name: \"Laboratorios\",\r\n mini: \"TP\",\r\n layout: \"/admin\",\r\n component: LaboratoriesContainer,\r\n permission: [\"Settings.List\"],\r\n hidden: true\r\n },\r\n {\r\n path: \"/settings/laboratories/create\",\r\n name: \"Crear Laboratorio\",\r\n mini: \"CTP\",\r\n layout: \"/admin\",\r\n component: CreateLaboratoryContainer,\r\n hidden: true\r\n },\r\n {\r\n path: \"/settings/laboratories/:laboratoryId\",\r\n name: \"Editar Laboratorio\",\r\n mini: \"ETP\",\r\n layout: \"/admin\",\r\n component: EditLaboratoryContainer,\r\n hidden: true\r\n },\r\n ]\r\n },\r\n // Error Pages\r\n {\r\n path: \"/unauthorized\",\r\n name: \"Error\",\r\n layout: \"/admin\",\r\n component: UnauthorizedPage,\r\n hidden: true,\r\n },\r\n {\r\n path: \"/forbidden\",\r\n name: \"Error\",\r\n layout: \"/admin\",\r\n component: ForbiddenPage,\r\n hidden: true,\r\n },\r\n {\r\n path: \"/not-found\",\r\n name: \"Error\",\r\n layout: \"/admin\",\r\n component: NotFoundPage,\r\n hidden: true,\r\n }\r\n];\r\n\r\nexport default routes;\r\n","import React, { useState } from 'react';\r\nimport { Alert, Col, Row } from 'react-bootstrap';\r\nimport { useSelector } from 'react-redux';\r\nimport { NavLink } from 'react-router-dom';\r\nimport { SignWithOutInfo } from '../../components/DigitalSign/Sign.js';\r\nimport { Actions } from \"../../components/MedicalRecords/Actions.jsx\";\r\nimport { EntryNav } from \"../../components/MedicalRecords/EntryNav\";\r\nimport EntryView from '../../components/MedicalRecords/EntryView';\r\nimport { PatientInfo2 } from \"../../components/MedicalRecords/PatientInfo\";\r\nimport { HandleApiError } from '../../components/Notifications/APIErrorHandler.js';\r\nimport { Success } from '../../components/Notifications/Notifications';\r\nimport { Spinner } from '../../components/Utils/Loaders.jsx';\r\nimport { useAudits } from '../Protocols/Hooks.js';\r\nimport { DiagnosesContainer } from './CreateEntryItems/DiagnosisContainer.js';\r\nimport { ObservationsContainer } from './CreateEntryItems/ObservationContainer.js';\r\nimport { useEntries, useEntry } from './Hooks/useEntries';\r\nimport { useModalData } from './Hooks/useModalData.js';\r\nimport { usePatient } from './Hooks/usePatient';\r\nimport { EntryItemsList } from './MedicalRecordItems/EntryItemsList.jsx';\r\nimport { OrdersListContainer } from './MedicalRecordItems/OrdersListContainer.js';\r\nimport { PrescriptionsListContainer } from './MedicalRecordItems/PrescriptionsListContainer.js';\r\nimport { SummaryContainer } from './Summary/SummaryContainer';\r\nimport { getProtocolUrl } from '../../components/Utils/Commons.jsx';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { DigitalSign } from '../../components/DigitalSign/DigitalSign.jsx';\r\n\r\nexport const ViewEntryContainer = (props) => {\r\n const { match: { params } } = props;\r\n const { medicalRecordNumber, entryId } = params;\r\n const [isLoading, setIsLoading] = useState(false);\r\n const { t } = useTranslation();\r\n\r\n const [patient, isPatientLoading] = usePatient(medicalRecordNumber);\r\n const [entry, isEntryLoading, , , , , exportToPDF] = useEntry(medicalRecordNumber, entryId);\r\n const [isAuditLoading, , getLastChange] = useAudits(\"Entry\", entryId);\r\n const [isShowingDigitalSign, toggleDigitalSign] = useModalData();\r\n const settingsStore = useSelector(state => state.settings);\r\n const [entries] = useEntries(medicalRecordNumber);\r\n\r\n if (isEntryLoading || isAuditLoading)\r\n return ;\r\n\r\n if (!entry)\r\n return \"\";\r\n\r\n const handleExportAction = () => {\r\n if (settingsStore.settings.digitalSignEnabled)\r\n toggleDigitalSign();\r\n else\r\n handleExportToPDF()\r\n }\r\n\r\n const handleExportToPDF = async (pin) => {\r\n setIsLoading(true);\r\n\r\n if (settingsStore.settings.digitalSignEnabled)\r\n toggleDigitalSign();\r\n\r\n try {\r\n var response = await exportToPDF(entry, pin?.password);\r\n\r\n const blob = response.data;\r\n const url = window.URL.createObjectURL(blob);\r\n const link = document.createElement('a');\r\n link.href = url;\r\n let fileName = `${patient.fullName}-${entry.group}-${entry.created}.pdf`;\r\n link.setAttribute('download', fileName);\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n window.URL.revokeObjectURL(url);\r\n\r\n setIsLoading(false);\r\n Success(\"medicalRecordsNotifications.entry_Exported\");\r\n }\r\n catch (error) {\r\n setIsLoading(false);\r\n HandleApiError(error);\r\n console.log(error);\r\n };\r\n }\r\n\r\n console.log(entry)\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n props.history.push(`/admin/agenda?medicalRecordNumber=${patient?.medicalRecordNumber}&source=${props.location.pathname}`)}\r\n onRedirectTo={() => props.history.push(`/admin/medicalRecords/${medicalRecordNumber}`)}\r\n onEditEntry={() => { props.history.push(`/admin/medicalRecords/${medicalRecordNumber}/newentry/${entryId}`) }}\r\n onExportToPDF={handleExportAction}\r\n isLoading={isLoading}\r\n isProtocol={entry.protocolId}\r\n />\r\n \r\n \r\n {\r\n entry.protocolId &&\r\n {t(\"medicalRecords.textToProtocolarVisit\")} \r\n \r\n {t(\"medicalRecords.linkToProtocolarVisit\")}\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n !settingsStore.settings.digitalSignEnabled &&\r\n \r\n }\r\n {\r\n settingsStore.settings.digitalSignEnabled &&\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n}","import React from \"react\";\r\n\r\nimport { Protocols } from \"../../containers/Protocols/Protocols\";\r\n\r\nexport const ProtocolsView = props => {\r\n const { match: { params } } = props;\r\n\r\n return ();\r\n}","import React from \"react\";\r\n\r\nimport { ProtocolCreateBriefContainer } from \"../../containers/Protocols/Brief/CreateBrief\";\r\n\r\nexport const ProtocolCreateView = () => {\r\n return ();\r\n}","import React from \"react\";\r\n\r\nimport { ProtocolPractitionersContainer } from \"../../containers/Protocols/Practitioners/Practitioners\";\r\nimport { ProtocolHeader } from \"../../components/Protocols/Header\";\r\n\r\nexport const PractitionersView = props => {\r\n const { match: { params } } = props;\r\n\r\n if (!params.protocolId)\r\n return \"\";\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n );\r\n}","import React from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { ProtocolInfo } from \"../../components/Protocols/ProtocolInfo\";\r\nimport { ProtocolProvider } from \"../../containers/Protocols/ProtocolContext/ProtocolProvider\";\r\nimport { VisitTracking } from \"../../containers/Protocols/Tracking/VisitTracking\";\r\nimport VisitHeaderContainer from \"../../containers/Protocols/VisitHeaderContainer\";\r\n\r\nexport const VisitTrackingView = props => {\r\n const { match: { params: { protocolId, patientId, visitId } } } = props;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { ProtocolInfo } from \"../../components/Protocols/ProtocolInfo\";\r\nimport { ProtocolProvider } from \"../../containers/Protocols/ProtocolContext/ProtocolProvider\";\r\nimport { ExtraVisitTracking } from \"../../containers/Protocols/TrackingExtra/ExtraVisit\";\r\nimport VisitHeaderContainer from \"../../containers/Protocols/VisitHeaderContainer\";\r\n\r\nexport const ExtraVisitTrackingView = props => {\r\n const { match: { params: { protocolId, patientId, visitId } } } = props;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useEffect, useState } from 'react';\r\nimport { Col, Grid, Row } from 'react-bootstrap';\r\nimport { getForms, getVisit, getVisitHistory, printVisit, publishVisit, removeVisit, swapForms } from '../../../api/protocol';\r\nimport { HandleApiError } from '../../../components/Notifications/APIErrorHandler';\r\nimport { Success } from '../../../components/Notifications/Notifications';\r\nimport { Actions } from '../../../components/Protocols/Actions';\r\nimport { ProtocolInfo } from '../../../components/Protocols/ProtocolInfo';\r\nimport { VisitExtraForms, VisitForms } from '../../../components/Protocols/Visit/Forms';\r\nimport { VisitHeader } from '../../../components/Protocols/Visit/Header';\r\nimport { VisitHistory } from '../../../components/Protocols/Visit/VisitHistory';\r\nimport { useProtocolApprovedVisits } from '../Hooks';\r\nimport { ProtocolProvider } from '../ProtocolContext/ProtocolProvider';\r\nimport { EditVisitModal } from './EditVisit';\r\nimport { PublishModal, RemoveModal } from './RemoveVisit';\r\nimport { getExtraForms } from '../../../api/protocolsExtraForms';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { ModalData } from '../../../components/Modals/ModalData';\r\nimport { FormRestrictionsContainer } from './FormRestrictions';\r\n\r\nexport const Visit = (props) => {\r\n const { match: { params: { protocolId, visitId } } } = props;\r\n const [isLoading, setIsLoading] = useState(false);\r\n const visits = useProtocolApprovedVisits(protocolId);\r\n const [reload, setReload] = useState(false);\r\n const [visit, setVisit] = useState(null);\r\n const { t } = useTranslation();\r\n\r\n useEffect(() => {\r\n const fetchVisitData = () => {\r\n setIsLoading(true);\r\n getVisit(protocolId, visitId)\r\n .then(response => {\r\n var visitResponse = response.data\r\n //console.log(\"GET Visit: \", visitResponse);\r\n\r\n setVisit(visitResponse);\r\n setIsLoading(false);\r\n }).catch(error => {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n });\r\n }\r\n\r\n fetchVisitData();\r\n }, [protocolId, visitId, reload]);\r\n\r\n const [forms, setForms] = useState([]);\r\n useEffect(() => {\r\n const fetchFormsData = () => {\r\n setIsLoading(true);\r\n getForms(protocolId, visitId)\r\n .then(response => {\r\n var forms = response.data\r\n //console.log(\"GET Forms: \", forms);\r\n\r\n setForms(forms.sort((function (a, b) { return a.order - b.order; })));\r\n setIsLoading(false);\r\n }).catch(error => {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n });\r\n }\r\n\r\n fetchFormsData();\r\n }, [protocolId, visitId]);\r\n\r\n const [visitHistory, setVisitHistory] = useState([]);\r\n useEffect(() => {\r\n const fetchVisitHistory = () => {\r\n setIsLoading(true);\r\n setReload(false);\r\n getVisitHistory(protocolId, visitId)\r\n .then(response => {\r\n var history = response.data\r\n //console.log(\"GET VisitHistory: \", history);\r\n\r\n setVisitHistory(history.sort((function (a, b) { return a.order - b.order; })));\r\n setIsLoading(false);\r\n }).catch(error => {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n });\r\n }\r\n\r\n fetchVisitHistory();\r\n }, [protocolId, visitId]);\r\n\r\n const [extraForms, setExtraForms] = useState([]);\r\n useEffect(() => {\r\n let isSubscribed = true;\r\n\r\n const fetchData = async () => {\r\n try {\r\n const response = await getExtraForms(protocolId, { filters: { extraFormType: 0 } });\r\n if (isSubscribed)\r\n setExtraForms(response.data);\r\n }\r\n catch (error) {\r\n console.log(error);\r\n }\r\n }\r\n\r\n fetchData();\r\n\r\n return () => isSubscribed = false;\r\n }, [protocolId]);\r\n\r\n const handleSwapForm = (oldIndex, newIndex) => {\r\n\r\n setIsLoading(true);\r\n swapForms(protocolId, visit.crossVersionId, forms[oldIndex].id, forms[newIndex].id)\r\n .then(res => {\r\n // Hago swap en cliente. \r\n let copiedForms = JSON.parse(JSON.stringify(forms));\r\n let oldOrder = copiedForms[oldIndex].order;\r\n copiedForms[oldIndex].order = copiedForms[newIndex].order;\r\n copiedForms[newIndex].order = oldOrder;\r\n\r\n setForms(copiedForms.sort((function (a, b) { return a.order - b.order; })));\r\n setIsLoading(false);\r\n })\r\n .catch(error => {\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n const [modal, setModal] = useState(null);\r\n const handleRemoveVisit = () => {\r\n setModal( { setModal(null); }}\r\n onConfirm={handleConfirmRemove} />)\r\n }\r\n const handleConfirmRemove = (visitId) => {\r\n removeVisit(protocolId, visitId)\r\n .then(res => {\r\n Success(\"protocolNotifications.visit_Removed\");\r\n props.history.push(`/admin/protocols/${protocolId}`);\r\n }).catch(error => {\r\n console.error(error);\r\n HandleApiError(error);\r\n setModal(null);\r\n });\r\n }\r\n\r\n const handlePublishVisit = () => {\r\n setModal( { setModal(null); }} onConfirm={handleConfirmPublish} />)\r\n }\r\n const handleConfirmPublish = (comments, visitId) => {\r\n publishVisit(protocolId, visitId, comments)\r\n .then(res => {\r\n Success(\"protocolNotifications.visit_Published\");\r\n const visitResponse = res.data;\r\n const historyCopy = JSON.parse(JSON.stringify(visitHistory));\r\n let publishedVisit = historyCopy.find(x => x.crossVersionId === parseInt(visitId));\r\n publishedVisit.version = visitResponse.version;\r\n publishedVisit.versionComments = comments;\r\n setVisitHistory(historyCopy);\r\n setVisit(visitResponse);\r\n setModal(null);\r\n }).catch(error => {\r\n console.log(error);\r\n HandleApiError(error);\r\n setModal(null);\r\n });\r\n }\r\n\r\n const handleEditVisit = () => {\r\n setModal( setModal(null)}\r\n submit={() => { setModal(null); setReload(true); }}\r\n isShowing={true} />);\r\n }\r\n\r\n const handlePrintVisit = async () => {\r\n try {\r\n var response = await printVisit(protocolId, visitId);\r\n\r\n const blob = new Blob([response.data], { type: \"application/pdf\" });\r\n const url = window.URL.createObjectURL(blob);\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.target = '_blank';\r\n link.setAttribute('download', visit.title);\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n window.URL.revokeObjectURL(url);\r\n }\r\n catch (error) {\r\n HandleApiError(error);\r\n console.log(error);\r\n };\r\n }\r\n\r\n //#region FormRestrictions\r\n const handleFormRestrictions = () => {\r\n console.log(forms)\r\n setModal( setModal(null)}\r\n title={t(\"protocols.visitTracking.formRestrictions.title\")}\r\n >\r\n setModal(null)}\r\n onCancel={() => setModal(null)}\r\n />\r\n );\r\n }\r\n //#endregion\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 props.history.push(`/admin/protocols/${protocolId}/section/visitstemplate`)}\r\n onEdit={handleEditVisit}\r\n onPublish={\r\n (visit?.version % 1) !== 0 ?\r\n handlePublishVisit\r\n : null\r\n }\r\n onRemove={handleRemoveVisit}\r\n onPrint={handlePrintVisit}\r\n onFormRestrictions={handleFormRestrictions}\r\n />\r\n \r\n \r\n \r\n \r\n {modal}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useState } from 'react';\r\nimport BootstrapTable from 'react-bootstrap-table-next';\r\nimport 'react-bootstrap-table-next/dist/react-bootstrap-table2.min.css';\r\nimport overlayFactory from 'react-bootstrap-table2-overlay';\r\nimport paginationFactory from 'react-bootstrap-table2-paginator';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { NavLink } from \"react-router-dom\";\r\nimport Card from '../../components/Cards/Card';\r\nimport { CustomSelect } from '../../components/CustomControls/CustomSelect';\r\nimport { CustomSearchBox } from '../../components/CustomControls/CustomSearchBox';\r\nimport { View } from '../../components/Icons/Icons';\r\nimport { NotesEnum } from '../../components/Protocols/Visit/Enums';\r\nimport { Tooltip } from \"../../components/Utils/Tooltips\";\r\nimport { dateFormatter } from \"../../components/Utils/Formatter\";\r\nimport { useProtocols } from '../Protocols/Hooks';\r\nimport { useExternalNotes } from './useExternalNotes';\r\nimport { getFullNameFromUserMention } from '../../components/Utils/Commons';\r\n\r\nexport const ExternalNotesContainer = () => {\r\n const { t } = useTranslation();\r\n const [selectedProtocol, setSelectedProtocol] = useState(null);\r\n const [data, query, totalSize, isLoading, handleTableChange, handleFilterChange] = useExternalNotes(selectedProtocol);\r\n const [protocols, , , isLoadingProtocols] = useProtocols({\r\n pagination: {\r\n page: 1,\r\n sizePerPage: 100,\r\n totalSize: 0\r\n },\r\n sort: {\r\n sortField: \"Created\",\r\n sortOrder: \"desc\"\r\n },\r\n filters: {}\r\n });\r\n\r\n const columns = [\r\n { dataField: 'note', text: t(\"notes.externalNotes.note\"), formatter: function (cell) { return getFullNameFromUserMention(cell) } },\r\n { dataField: 'medicalRecordNumber', sort: true, text: t(\"notes.externalNotes.patientNumber\") },\r\n { dataField: 'createdBy', sort: true, text: t(\"notes.externalNotes.createdBy\") },\r\n { dataField: 'created', sort: true, text: t(\"notes.externalNotes.created\"), formatter: function (cell) { return dateFormatter(cell, \"DD/MM/YY\") }, headerClasses: 'header-date' },\r\n { dataField: 'responseBy', sort: true, text: t(\"notes.externalNotes.responseBy\") },\r\n {\r\n dataField: 'status', sort: true, text: t(\"notes.externalNotes.status\"),\r\n formatter: function (cell) {\r\n return NotesEnum().find(x => x.id === cell)?.title;\r\n }\r\n },\r\n\r\n {\r\n dataField: 'view',\r\n text: t(\"commons.actions\"),\r\n isDummyField: true,\r\n headerClasses: 'header-visit-actions',\r\n classes: 'row-visit-actions',\r\n formatter: function (_cell, row, rowIndex) {\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 const expandedContent = (row) => {\r\n if (row.response)\r\n return (
    \r\n [{dateFormatter(row.responseDate, \"DD/MM/YY\")}] - {row.response}\r\n
    );\r\n }\r\n\r\n const expandRow = {\r\n renderer: expandedContent,\r\n onlyOneExpanding: true,\r\n };\r\n\r\n return (\r\n \r\n
    \r\n setSelectedProtocol(selectedProtocol.id)}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n handleFilterChange(\"patientNumber\", value)} placeholder={t('protocols.visitTracking.searchByNumber')}>\r\n
    \r\n \r\n }\r\n content={\r\n <>{t(\"commons.noData\")}}\r\n loading={isLoading}\r\n overlay={overlayFactory({ spinner: true })}\r\n pagination={paginationFactory({\r\n page: query.pagination.page,\r\n sizePerPage: query.pagination.sizePerPage,\r\n totalSize: totalSize,\r\n hideSizePerPage: true,\r\n })}\r\n expandRow={expandRow}\r\n\r\n onTableChange={handleTableChange}\r\n />\r\n }\r\n />\r\n );\r\n}","import { useEffect, useState } from \"react\";\r\nimport { HandleApiError } from \"../../components/Notifications/APIErrorHandler\";\r\nimport { getExternalNotes } from \"../../api/protocol\";\r\n\r\nexport const useExternalNotes = (protocolId) => {\r\n const [data, setData] = useState([]);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [totalSize, setTotalSize] = useState(0);\r\n const [query, setQuery] = useState({\r\n pagination: {\r\n page: 1,\r\n sizePerPage: 10,\r\n totalSize: 0\r\n },\r\n sort: {\r\n sortField: \"Created\",\r\n sortOrder: \"desc\"\r\n },\r\n filters: {}\r\n });\r\n\r\n useEffect(() => {\r\n let isSubscribed = true\r\n\r\n const fetchData = async () => {\r\n\r\n setIsLoading(true);\r\n try {\r\n const response = await getExternalNotes(protocolId, query);\r\n if (isSubscribed) {\r\n setTotalSize(response.data.count);\r\n setData(response.data.data);\r\n setIsLoading(false);\r\n }\r\n\r\n } catch (error) {\r\n if (isSubscribed) {\r\n console.log(error);\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n setTotalSize(0);\r\n setData([]);\r\n }\r\n }\r\n }\r\n\r\n if (protocolId)\r\n fetchData();\r\n\r\n return () => isSubscribed = false;\r\n }, [protocolId, query]);\r\n\r\n\r\n const handleTableChange = (type, { page, sizePerPage, sortField, sortOrder }) => {\r\n var newQuery = JSON.parse(JSON.stringify(query));\r\n switch (type) {\r\n case 'pagination': {\r\n newQuery.pagination.page = page;\r\n newQuery.pagination.sizePerPage = sizePerPage;\r\n setQuery(newQuery);\r\n break;\r\n }\r\n case 'sort': {\r\n newQuery.sort.sortField = sortField;\r\n newQuery.sort.sortOrder = sortOrder;\r\n setQuery(newQuery);\r\n break;\r\n }\r\n default: break;\r\n }\r\n }\r\n\r\n const handleFilterChange = (filterName, selectedValue) => {\r\n if (filterName) {\r\n var newQuery = JSON.parse(JSON.stringify(query));\r\n\r\n if (filterName === \"patientNumber\")\r\n newQuery.filters[filterName] = selectedValue;\r\n else\r\n newQuery.filters[filterName] = selectedValue != null ? selectedValue.id : selectedValue;\r\n \r\n newQuery.pagination.page = 1;\r\n setQuery(newQuery);\r\n }\r\n }\r\n\r\n return [data, query, totalSize, isLoading, handleTableChange, handleFilterChange];\r\n}","import React from \"react\";\r\nimport Card from \"../components/Cards/Card\";\r\nimport { EditUserContainer } from \"../containers/Users/EditUser\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\nconst UserProfile = (props) => {\r\n const { t } = useTranslation();\r\n return (\r\n <>\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default UserProfile;","// this is used to create scrollbars on windows devices like the ones from apple devices\r\n//import PerfectScrollbar from \"perfect-scrollbar\";\r\n//import \"perfect-scrollbar/css/perfect-scrollbar.css\";\r\nimport React, { Component } from \"react\";\r\n// react component that creates notifications (like some alerts with messages)\r\nimport NotificationSystem from \"react-notification-system\";\r\nimport { Switch } from \"react-router-dom\";\r\nimport { ToastContainer } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport { CustomRoute } from \"../components/api-authorization/CustomRoute\";\r\nimport Footer from \"../components/Footer/Footer\";\r\nimport AdminNavbar from \"../components/Navbars/AdminNavbar\";\r\nimport { Sidebar } from \"../components/Sidebar/Sidebar\";\r\n// dinamically create routes\r\nimport routes from \"../routes\";\r\n// style for notifications\r\nimport { style } from \"../variables/Variables.jsx\";\r\n\r\n//var ps;\r\n\r\nclass AdminLayout extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n _notificationSystem: null,\r\n color: \"black\",\r\n hasImage: false,\r\n navbar: false,\r\n mini: false,\r\n fixedClasses: \"dropdown show-dropdown open\"\r\n };\r\n this.handleMiniClick = this.handleMiniClick.bind(this);\r\n }\r\n componentDidMount() {\r\n this.setState({ _notificationSystem: this.refs.notificationSystem });\r\n //if (navigator.platform.indexOf(\"Win\") > -1) {\r\n // ps = new PerfectScrollbar(this.refs.mainPanel);\r\n //}\r\n }\r\n componentWillUnmount() {\r\n //if (navigator.platform.indexOf(\"Win\") > -1) {\r\n // ps.destroy();\r\n //}\r\n }\r\n componentDidUpdate(e) {\r\n //if (navigator.platform.indexOf(\"Win\") > -1) {\r\n // setTimeout(() => {\r\n // ps.update();\r\n // }, 350);\r\n //}\r\n if (e.history.action === \"PUSH\") {\r\n document.documentElement.scrollTop = 0;\r\n document.scrollingElement.scrollTop = 0;\r\n this.refs.mainPanel.scrollTop = 0;\r\n }\r\n if (\r\n window.innerWidth < 993 &&\r\n e.history.action === \"PUSH\" &&\r\n document.documentElement.className.indexOf(\"nav-open\") !== -1\r\n ) {\r\n document.documentElement.classList.toggle(\"nav-open\");\r\n }\r\n }\r\n componentWillMount() {\r\n if (document.documentElement.className.indexOf(\"nav-open\") !== -1) {\r\n document.documentElement.classList.toggle(\"nav-open\");\r\n }\r\n }\r\n\r\n handleMiniClick = () => {\r\n this.setState({ mini: !this.state.mini });\r\n document.body.classList.toggle(\"sidebar-mini\");\r\n };\r\n\r\n getRoutes = routes => {\r\n return routes.map((route, i) => {\r\n\r\n if (route.collapse) {\r\n return this.getRoutes(route.routes);\r\n }\r\n if (route.layout === \"/admin\") {\r\n return (\r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n });\r\n };\r\n\r\n render() {\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 {this.getRoutes(routes)}\r\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 AdminLayout;","import { getIsDigitalSignEnabled } from '../api/digitalSign';\r\nimport { getConfiguration } from '../api/settings';\r\n\r\nconst requestConfiguration = 'CONFIGURATION_REQUEST';\r\nconst receiveConfiguration = 'CONFIGURATION_RECEIVE';\r\nconst requestDigitalSign_Enabled = 'DIGITALSIGN_ENABLED_REQUEST';\r\nconst receivetDigitalSign_Enabled = 'DIGITALSIGN_ENABLED_RECEIVE';\r\n\r\nconst initialState = { isLoading: false, settings: {} };\r\n\r\nexport const settingsActions = {\r\n\r\n requestConfiguration: () => async (dispatch) => {\r\n dispatch({ type: requestConfiguration });\r\n\r\n try {\r\n const response = await getConfiguration();\r\n const config = response.data;\r\n\r\n dispatch({ type: receiveConfiguration, config });\r\n }\r\n catch (error) {\r\n console.log(error)\r\n }\r\n },\r\n\r\n requestDigitalSignEnabled: () => async (dispatch) => {\r\n dispatch({ type: requestDigitalSign_Enabled });\r\n\r\n try {\r\n const response = await getIsDigitalSignEnabled();\r\n const isEnabled = response.data;\r\n\r\n dispatch({ type: receivetDigitalSign_Enabled, isEnabled });\r\n }\r\n catch (error) {\r\n console.log(error);\r\n dispatch({ type: receivetDigitalSign_Enabled, isEnabled: false });\r\n }\r\n },\r\n};\r\n\r\nexport const reducer = (state, action) => {\r\n state = state || initialState;\r\n\r\n if (action.type === requestConfiguration) {\r\n return {\r\n ...state,\r\n isLoading: true\r\n };\r\n }\r\n if (action.type === receiveConfiguration) {\r\n return {\r\n ...state,\r\n settings: action.config,\r\n isLoading: false\r\n };\r\n }\r\n if (action.type === requestDigitalSign_Enabled) {\r\n return {\r\n ...state,\r\n isLoading: true\r\n };\r\n }\r\n if (action.type === receivetDigitalSign_Enabled) {\r\n\r\n return {\r\n ...state,\r\n settings: { ...state.settings, digitalSignEnabled: action.isEnabled },\r\n isLoading: false\r\n };\r\n }\r\n\r\n return state;\r\n};\r\n","import React, { useEffect } from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { Redirect, Route, Switch, useHistory } from \"react-router-dom\";\r\nimport { WithAuth } from './components/Authorization/WithAuth';\r\nimport SessionTimeout from './components/SessionControls/SessionTimeout';\r\nimport { Spinner } from './components/Utils/Loaders';\r\nimport { ApplicationPaths } from './components/api-authorization/ApiAuthorizationConstants';\r\nimport ApiAuthorizationRoutes from './components/api-authorization/ApiAuthorizationRoutes';\r\nimport { AuthorizeRoute } from \"./components/api-authorization/AuthorizeRoute\";\r\nimport AdminLayout from './layouts/Admin';\r\nimport { settingsActions } from './store/Configuration';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nexport default () => {\r\n //const { store } = useContext(ReactReduxContext);\r\n const dispatch = useDispatch();\r\n const isAuthenticated = useSelector(state => state.authentication.isAuthenticated);\r\n const currentUser = useSelector(state => state.authentication.user);\r\n const settingsState = useSelector(state => state.settings);\r\n let navigation = useHistory();\r\n const { i18n } = useTranslation()\r\n\r\n //useEffect(() => {\r\n // if (isAuthenticated) {\r\n // var connection = setupSignalRConnection(store);\r\n //\r\n // return (() => { connection.stop() })\r\n // }\r\n //}, [isAuthenticated]);\r\n\r\n useEffect(() => {\r\n if (isAuthenticated) {\r\n i18n.changeLanguage(currentUser.language);\r\n\r\n dispatch(settingsActions.requestDigitalSignEnabled());\r\n\r\n //return (() => { connection.stop() })\r\n }\r\n }, [isAuthenticated]);\r\n\r\n const handleLogOut = () => {\r\n navigation.push({ pathname: `${ApplicationPaths.LogOut}`, state: { local: true } });\r\n }\r\n\r\n if (settingsState.isLoading)\r\n return ;\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}","// In production, we register a service worker to serve assets from local cache.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on the \"N+1\" visit to a page, since previously\r\n// cached resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.\r\n// This link also includes instructions on opting out of this behavior.\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport default function register() {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Lets check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl);\r\n } else {\r\n // Is not local host. Just register service worker\r\n registerValidSW(swUrl);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the old content will have been purged and\r\n // the fresh content will have been added to the cache.\r\n // It's the perfect time to display a \"New content is\r\n // available; please refresh.\" message in your web app.\r\n console.log('New content is available; please refresh.');\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n if (\r\n response.status === 404 ||\r\n response.headers.get('content-type').indexOf('javascript') === -1\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import \"bootstrap/dist/css/bootstrap.min.css\";\r\nimport 'tippy.js/dist/tippy.css'; //Styles for Tooltips\r\nimport 'tippy.js/themes/light.css';\r\nimport \"./assets/css/animate.min.css\";\r\nimport \"./assets/css/demo.css\";\r\nimport \"./assets/sass/light-bootstrap-dashboard-react.scss?v=1.3.0\";\r\n\r\nimport React from 'react';\r\nimport { createRoot } from 'react-dom/client';\r\n\r\nimport { ConnectedRouter } from 'connected-react-router';\r\nimport { Provider } from 'react-redux';\r\n\r\nimport App from './App';\r\nimport configureStore from './store/configureStore';\r\n\r\nimport './i18n';\r\nimport registerServiceWorker from './registerServiceWorker';\r\n\r\nimport history from './history';\r\nimport { settingsActions } from \"./store/Configuration\";\r\n\r\n// Get the application-wide store instance, prepopulating with state from the server where available.\r\nconst initialState = window.initialReduxState;\r\nconst store = configureStore(history, initialState);\r\nstore.dispatch(settingsActions.requestConfiguration());\r\n\r\nconst container = document.getElementById('root');\r\nconst root = createRoot(container);\r\nroot.render(\r\n \r\n \r\n \r\n);\r\n\r\nregisterServiceWorker();","import { applyMiddleware, combineReducers, compose, createStore } from 'redux';\r\nimport thunk from 'redux-thunk';\r\nimport { connectRouter, routerMiddleware } from 'connected-react-router';\r\n\r\nimport * as Configuration from './Configuration';\r\nimport * as Notifications from './Notifications';\r\nimport * as Authentication from './AuthUser';\r\nimport * as Protocol from './Protocol';\r\nimport * as Agenda from './Agenda';\r\n\r\nexport default function configureStore(history, initialState) {\r\n const reducers = {\r\n notifications: Notifications.reducer,\r\n authentication: Authentication.reducer,\r\n settings: Configuration.reducer,\r\n protocol: Protocol.reducer,\r\n agenda: Agenda.reducer\r\n };\r\n\r\n const middleware = [\r\n thunk,\r\n routerMiddleware(history)\r\n ];\r\n\r\n // In development, use the browser's Redux dev tools extension if installed\r\n const enhancers = [];\r\n const isDevelopment = process.env.NODE_ENV === 'development';\r\n if (isDevelopment && typeof window !== 'undefined' && window.devToolsExtension) {\r\n enhancers.push(window.devToolsExtension());\r\n }\r\n\r\n const rootReducer = combineReducers({\r\n ...reducers,\r\n router: connectRouter(history)\r\n });\r\n\r\n return createStore(\r\n rootReducer,\r\n initialState,\r\n compose(applyMiddleware(...middleware), ...enhancers)\r\n );\r\n}\r\n"],"sourceRoot":""}