{"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","services/signalRService.js","components/Notifications/APIErrorHandler.js","api/settings.js","containers/Settings/AdminNotifications/useAdminNotifications.js","containers/Settings/AdminNotifications/SystemNotification.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_Telemetry.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","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","i18n.js","variables/Enums.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/CustomControls/ExpandableContent.jsx","components/Person/AddressDataForm.jsx","components/Person/ContactData.jsx","components/Person/ContactDataForm.jsx","components/Person/MedicalData.jsx","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","api/Freezer/Entities/Utils.js","api/Freezer/Entities/IotDevice.js","api/Freezer/Entities/Freezer.js","containers/Freezers/FreezerComponents/FreezerForm.jsx","api/Freezer/Util.js","api/Freezer/FreezerService.js","containers/Freezers/FreezerComponents/CreateFreezerContainer.jsx","components/Common/useLoading.js","containers/Freezers/FreezerComponents/EditFreezerContainer.jsx","containers/Freezers/useFreezers.js","containers/Freezers/FreezerComponents/Freezers.jsx","containers/Freezers/FreezerComponents/DeleteFreezerModal.jsx","components/Modals/useModalContext.js","components/Common/Loader.jsx","components/DigitalSign/Sign.js","components/CustomControls/DocViewer/DocumentViewer.js","api/Freezer/DeviceService.js","containers/Freezers/FreezerComponents/FreezersContainer.jsx","containers/Freezers/IotDevicesComponents/CreateDeviceContainer.jsx","containers/Freezers/IotDevicesComponents/DeviceForm.jsx","components/Common/Field/Field.jsx","containers/Freezers/IotDevicesComponents/DeviceDetails.jsx","containers/Freezers/useIotDevices.js","containers/Freezers/IotDevicesComponents/IotDevices.jsx","containers/Freezers/IotDevicesComponents/DeleteDeviceModal.jsx","containers/Freezers/IotDevicesComponents/IotDevicesContainer.jsx","components/CustomControls/TextBoxUsersMentions.jsx","components/AuditTrail/AuditModal.jsx","components/DigitalSign/DigitalSign.jsx","components/MedicalRecords/Actions.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","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/CustomControls/CustomSwitch.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/MedicalRecords/EntryNav.jsx","components/Utils/Diff.jsx","components/CustomControls/AuditTooltip.jsx","components/MedicalRecords/EntryView.jsx","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/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","components/AuditTrail/AuditUserRole.js","containers/Protocols/Audit/AuditUserRole.js","containers/Protocols/Audit/hooks.js","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/useVisits.js","components/Protocols/Visit/CopyVisits.js","containers/Protocols/Visits/CopyVisits.js","containers/Protocols/Visits/Visits.jsx","containers/Protocols/ExtraForms/NewExtraForm.js","containers/Protocols/ExtraForms/ExtraForms.js","containers/Protocols/ExtraForms/useExtraForms.js","api/Freezer/Entities/ProtocolFreezerConfiguration.js","api/Freezer/FreezerProtocolServices.js","containers/Protocols/Freezers/ConfigureProtocolFreezerContainer.jsx","containers/Protocols/Freezers/useProtocolFreezer.js","containers/Protocols/Freezers/FreezerTabContainer.jsx","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/CopyForms.js","containers/Protocols/Visits/useForms.js","components/Protocols/Visit/SaveAsTemplate.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","components/AuditTrail/AuditRolePermissions.js","containers/Security/Audit/AuditRolePermissions.js","containers/Security/Audit/hooks.js","containers/Security/Authorization/Roles.jsx","containers/Protocols/Audit/AuditRolePermissions.js","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/Audit/hooks.js","containers/Users/Audit/AuditUserRole.js","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","containers/Settings/Hooks/useSettings.js","containers/Settings/SettingsContainer.js","components/Settings/Settings.js","containers/Settings/SyncContainer.jsx","components/CustomControls/Button.js","components/AdminNotifications/AdminNotification.js","components/AdminNotifications/AdminNotifications.js","containers/Settings/AdminNotifications/AdminNotificationsContainer.js","views/Settings.jsx","api/Freezer/Entities/IotMessages.js","api/Freezer/Entities/FreezerTelemetryResume.js","api/Freezer/IotMessagesServices.js","containers/Freezers/TelemetryComponents/Utils.js","containers/Freezers/useIotMessages.js","containers/Freezers/TelemetryComponents/Components/DateRange.jsx","containers/Freezers/TelemetryComponents/Components/SearchHeader.jsx","containers/Freezers/TelemetryComponents/Components/TelemetryCharts.jsx","containers/Freezers/TelemetryComponents/FreezerTelemetryContainer.jsx","containers/Freezers/TelemetryComponents/hooks/useLaboratoryProtocol.js","containers/Freezers/TelemetryComponents/ProtocolTelemetry.jsx","containers/Freezers/TelemetryComponents/Components/Alert.jsx","containers/Freezers/TelemetryComponents/Components/Dot.jsx","containers/Freezers/TelemetryComponents/Components/FreezerTogglePanel.jsx","containers/Freezers/TelemetryComponents/TelemetryGeneralView.jsx","containers/Freezers/TelemetryComponents/hooks/useFreezerResume.js","containers/Freezers/TelemetryComponents/hooks/useProtocolResume.js","views/TelemetryPage.jsx","views/UserProfile.jsx","components/Sidebar/Sidebar.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","containers/Freezers/useFreezer.js","containers/Freezers/useIotDevice.js","components/Utils/Breadcrumbs.jsx","components/api-authorization/CustomRoute.js","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","transformRequestOptions","params","options","ids","forEach","id","getRoles","filters","queryString","query","search","searchParams","URLSearchParams","toString","newActiveFilters","delete","pagination","page","append","sizePerPage","sort","sortField","sortOrder","getPagingAndOrderParams","property","onlyDoctor","getQueryString","location","get","getAuditRolePermissionsAPI","roleId","getCurrentUserRole","protocolId","getAuditStudyRolePermissionsAPI","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","useProtocolPageAuth","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","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","SignalRContext","createContext","useSignalR","useContext","SignalRProvider","groupName","connection","setConnection","logMessageContent","LogLevel","accessTokenFactory","access","newConnection","HubConnectionBuilder","withUrl","notificationsApi","withAutomaticReconnect","configureLogging","build","start","then","invoke","catch","_connectionState","HubConnectionState","Connected","stop","Provider","value","ErrorMsg","ErrorMsgWithInfo","ErrorMsgWithArrayInfo","arrayInfo","item","i18n","hashCode","content","hash","charCodeAt","getErrorMessage","errorMessage","StatusCode","statusCode","responseType","Blob","toLowerCase","indexOf","reader","FileReader","onload","errorContent","parse","toast","POSITION","TOP_RIGHT","toastId","readAsText","HandleApiError","HandleError","HandleMessageError","errorInfo","HandleMessagesError","errorsInfo","uploadHeader","formData","post","getAdminNotificationsAPI","getLastActiveAdminNotificationAPI","getAdminNotificationAPI","notificationId","createAdminNotificationAPI","notification","updateAdminNotificationAPI","put","removeAdminNotificationAPI","setIsReadOnlyAPI","readonly","useAdminNotification","setIsLoading","note","documentNote","res","SystemNotification","getLastActiveNotification","showNotification","containerId","on","isSubscribed","notif","fetchData","autoClose","newestOnTop","closeOnClick","pauseOnFocusLoss","draggable","theme","enableMultiContainer","Grid","fluid","Date","getFullYear","_extends","Object","assign","target","arguments","source","key","prototype","hasOwnProperty","call","apply","createElement","d","SvgBloodFactor","_ref","svgRef","title","enableBackground","viewBox","ref","ForwardRef","forwardRef","SvgBloodType","cx","cy","r","SvgDashboardAddAppointment","rx","ry","SvgDashboardAddPatient","SvgIconAFamiliares","fill","stroke","SvgIconAdverseEvent","SvgIconAgenda","SvgIconAttach","SvgIconBmi","SvgIconBloodPressure","x","y","xmlSpace","filterUnits","input","stdDeviation","floodOpacity","operator","in2","in","SvgIconDropdown","SvgIconDrugs","SvgIconEspecialidad","SvgIconHabitos","SvgIconHistoriasClinicas","SvgIconLogout","SvgIconNotification","SvgIconPacientes","SvgIconProcedimientos","SvgIconProtocolo","SvgIconSettings","SvgIconTelemetry","SvgIconTipo","SvgIconUpload","SvgIconVerTodos","SvgIconProtocolos","SvgIconGrupo","SvgWaitingRoom","BackgroundComponent","IconSVG","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","Chart","Table","ChartBar","ChartLine","Comments","Tooltip","tooltip","placement","Children","React","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","fullNameRegex","matches","exec","capitalize","s","onlyFirst","split","charAt","toUpperCase","slice","words","word","join","getRemovedElement","arrayPasado","arrayActual","arrayMoveImmutable","fromIndex","toIndex","newArray","startIndex","endIndex","arrayMoveMutable","AdminNavbarNotificationsContainer","connect","notifications","payload","MenuItem","eventKey","notifCountContainer","unreaded","NavDropdown","noCaret","bsClass","AdminNavbarUser","src","avatar","alt","family_name","given_name","divider","HeaderLinks","settingsState","Nav","pullRight","AdminNavbarNotifications","AdminNavbar","Navbar","collapseOnSelect","navbar","innerWidth","Collapse","AdminNavbarLinks","currentDate","view","projects","project","protocols","practitioners","practitioner","deleted","medicalRecord","present","getQueryString2","getEvents","getEventsByPatient","medicalRecordNumber","getEventAPI","createEvent","event","updateEventAttendance","eventId","setPresent","getPatient","getPractitionersByProtocol","exportToExcel","getMedicalServiceAPI","getMedicalServicePriceAPI","medicalServiceId","medicalInsuranceId","medicalPlanId","getPractitionersAPI","getAvailabilityAPI","userId","isFirstTime","isOverShift","getGlobalAvailabilityAPI","createScheduleLockAPI","scheduleLock","deleteScheduleLockAPI","EventPatient","attended","textDecoration","confirmed","patient","fullName","visitType","moment","format","EventScheduleLock","end","Event","code","EventMonthPatient","EventMonthScheduleLock","EventMonth","EventAgendaPatient","EventAgendaScheduleLock","EventAgenda","getDrugsData","getLaboratoryData","getAuditTrail","entity","entityId","parentKey","getAuditProtocolUserRoleAPI","patientId","actual","includePersonalHistory","entryId","category","getEntries","getEntry","createEntry","entry","getAdverseEvents","getAdverseEvent","putAdverseEvent","removeAdverseEventAPI","reason","comments","getAllConditions","deleteCondition","postCondition","getConditions","getAttachments","getAttachment","getDrugs","getDrug","putDrug","removeDrugAPI","getPrescriptions","getPrescription","removePrescriptionAPI","getOrders","getOrder","removeOrderAPI","getProcedures","getProcedure","putProcedure","removeProcedureAPI","getAnthropometrics","getAnthropometric","putAnthropometric","removeAnthropometricAPI","getFamilyHistories","getFamilyHistory","putFamilyHistory","removeFamilyHistoryAPI","getPersonalHistories","getPersonalHistory","putPersonalHistory","getPersonalHabits","getPersonalHabit","putPersonalHabit","removePersonalHabitAPI","getLaboratories","putLaboratoryResult","getLaboratoryResult","removeLaboratoryAPI","removeLaboratoryResultAPI","getLastVitals","getVitals","getVital","putVital","removeVitalAPI","getMasterData","items","itemsParams","getProtocols","getProtocol","createProtocol","editProtocol","closeProtocolApi","removeProtocolApi","uploadAttachmentEndpoint","getAttachmentEndpoint","uploadPractitionerAttachment","practitionerId","getPractitionerAttachmentsEndpoint","getPractitioners","getPractitioner","practitionerUserId","addPractitioners","editPractitioner","removePractitioner","comment","addPatients","patients","changePatientNumber","removePatient","numberInProtocol","getAllVisits","getApprovedVisits","getVisits","getVisit","visitId","createVisit","visit","copyVisit","copyVisitsAPI","fromProtocolId","selectedVisitIds","paramsSerializer","editVisit","removeVisit","swapVisits","visitToSwapId","getVisitHistory","publishVisit","printVisit","getForms","createForm","form","copyFormsAPI","fromVisitId","formsToCopyIds","editForm","formId","sortForms","sortedForms","getVisitsTracking","getVisitTrackingForms","getVisitTrackingForm","createVisitTracking","saveVisitTracking","saveUploadVisitTrackingAPI","publishVisitTracking","digitalSign","skipVisitTracking","screenFailureVisitTracking","lostToFollowUpVisitTracking","discontinuationVisitTracking","earlyTerminationWillBeCreated","withoutDrugsVisitTracking","returnDrugsVisitTracking","reSyncVisitTrackingAPI","changeTypeVisitTrackingAPI","changeVisitTrackingTypeAPI","visitTrackingId","removeVisitTrackingAPI","endPatientInProtocolVisitTrackingAPI","rollbackVisitStatusAPI","audit","uploadVisitTrackingAttachmentFormEndpoint","getVisitTrackingAttachmentFormEndpoint","getVisitTrackingExtraForms","createVisitTrackingExtra","vm","saveVisitTrackingExtraForm","publishVisitTrackingExtraForm","discontinuationVisitTrackingExtraAPI","screenFailureVisitTrackingExtra","endPatientInProtocolVisitTrackingExtraAPI","rollbackVisitStatusExtraAPI","lostToFollowUpVisitTrackingExtraAPI","withoutDrugsVisitTrackingExtraAPI","returnDrugsVisitTrackingExtraAPI","removeVisitTrackingExtraAPI","uploadVisitTrackingExtraAttachmentFormEndpoint","getVisitTrackingAdverseEvents","exportVisitTrackingAPI","pin","btoa","saveEvolutionAPI","evolution","updateEvolutionAPI","evolutionId","saveEvolutionExtraAPI","updateEvolutionExtraAPI","updateFormRestrictionsAPI","restrictions","getDocumentNotes","documentId","getDocumentNote","noteId","createDocumentNote","updateDocumentNote","getExternalNotes","getMonitorNotes","getMonitorNote","createMonitorNote","updateMonitorNote","changeStatusMonitorNote","removeMonitorNote","useBriefMasterData","laboratories","phases","studyTasks","setData","useStudyTasks","getStudyTasks","useProtocolVisits","visits","setVisits","useProtocols","queryParams","totalSize","setTotalSize","setQuery","paginatedResult","count","newQuery","filterName","selectedValue","useProtocol","brief","setBrief","useAudits","hasVisitTracking","audits","setAudits","resp","field","fieldName","find","oldValues","old","current","newValues","useMasterData","CustomSelect","classNamePrefix","placeholder","onChange","onBlur","getOptionLabel","option","getOptionValue","isClearable","CustomSelectAsync","masterData","AdverseEventsAsync","patientNumber","groups","label","conceptId","description","promise1","promise2","promise3","responses","concat","adverseEvents","personalHistory","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","formatDateForInput","date","dateFormat","isMoment","momentDate","isValid","CustomDateTime","rest","inputProps","disabled","timeFormat","initialValue","CustomTime","minuteFormat","CustomDate","CustomFormControl","innerValue","setInnerValue","debouncedHandleOnChange","useCallback","handleOnChange","newValue","CustomRadio","number","checked","htmlFor","includeDisabled","getUsers","getUsersByIdAPI","users","uploadSign","getAuditUserRoleAPI","PractitionerPicker","setOptions","typeahead","renderMenuItemChildren","text","speciality","registrationNumber","labelKey","filterBy","clearButton","highlightOnlyResult","allowNew","onSearch","showSearchIcon","InputGroup","Addon","multiple","minLength","ModalConfirm","timer","confirmStyle","cancelStyle","customButtons","confirmText","cancelText","counter","setCounter","confirmDisabled","setConfirmDisabled","interval","prevCounter","confirmTxt","cancelTxt","ModalData","size","bsSize","dialogClassName","initReactI18next","init","resources","en","translation","require","es","pt","lng","fallbackLng","interpolation","escapeValue","debug","getLocalizedEnum","montoto","bloodGroup","bloodFactor","language","typeOptions","visitTypesEnum","snomedExpressions","hcVisitStatus","visitStatus","formStatus","visitTypes","patientInProtocolStatus","visitStage","visitTypeEnum","noteEnum","formTypes","formTypeFields","fields","fieldType","conditions","conceptType","interopSystemEnum","nullableDateFormatter","day","month","year","parseInt","toLocaleDateFormatter","withIcon","icon","utcOffset","localeDate","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","hour","minute","actionButtons","editButton","cancelButton","presentButton","telemedicineButton","telemedicineToken","telemedicineUrl","bsStyle","Modal","desc","readOnly","q","professionals","professional","getPatients","withProfileImage","getPatientByMedicalRecord","getPatientAvatarByMedicalRecord","createPatient","searchPatients","PatientPicker","useUsers","setUsers","usePractitioners","useUser","setUser","usePersonMasterData","setMasterData","PractitionerSelect","ProtocolPicker","specialty","protocolNumber","Msg","closeToast","MsgWithInfo","messageKey","ErrorMessage","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","closeOnSelect","selectedDate","availableDate","availableDates","available","availableTimesAux","availableAppointments","times","startTime","startTimeEnd","add","endTime","isBefore","timeStops","appointmentInit","appointmentEnd","getAvailableTimes","isValidDate","_selected","practitionerAvailability","availableWeekDays","validateAvailabilityDate","onNavigate","selectedView","selectedTime","_controlName","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","default","drugs","routeOfAdministration","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","endOfTask","getProtocolVisitHeaderSchema","stage","offsetType","offset","windowNeg","windowPos","getValidationSchema","renderable","_t","notRequired","getValidationAuditTrailModal","getRoleSchema","claims","getStudyRoleSchema","getCodeableConceptSchema","studyTask","getLaboratoriesSchema","getFreezerSchema","freezer","Description","Location","Type","State","AddAppointmentContainer","AddAppointmentFormik","withFormik","validationSchema","formikBag","displayName","func","isRequired","EditAppointmentContainer","getEvent","appointment","setAppointment","fetchAppointment","EditAppointmentFormik","mapPropsToValues","ScheduleLockContainer","ScheduleLockFormik","selectedvalue","centerOrParticular","handleTimeChange","md","dayOrRange","from","week","dow","doy","localizer","momentLocalizer","AddressData","postalCode","floor","department","between","ExpandableContent","expandedAll","expanded","setExpanded","AddressDataForm","handleChange","handleBlur","apiKey","onPlaceSelected","place","latValue","geometry","lat","lngValue","formatted_address","addressArray","long_name","getPostalCode","address_components","defaultValue","lg","ContactData","instagram","facebook","twitter","ContactDataForm","MedicalData","familyDoctor","internalPractitioner","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","paddingTop","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","EnumValue","Value","Name","IotDevice","createAt","freezerId","certificatePath","Id","CreateAt","FreezerId","DeviceStates","TryParseState","CertificatePath","Active","Asociated","InRepair","Deleted","ToArray","arr","Array","Freezer","device","deviceId","Device","DeviceId","FreezerStates","FreezerTypes","HasDevice","Ambient","Fridge","UltraFreezer","Inactive","FreezerForm","isEdition","smOffset","Url","basePath","BasePath","ResponseResult","succeeded","Succeeded","Errors","PaginationResult","pageSize","totalPages","totalCount","pageNumber","hasNext","hasPrevious","sortColumn","Values","TotalPages","PageSize","TotalCount","PageNumber","HasNext","HasPrevious","SortColumn","SortOrder","ToPage","PaginationRequest","tenantId","tenant","GetBlobData","blob","contentDisposition","fileName","fileNameMatch","match","GetUrl","Find","Create","Update","Delete","GetById","GetAvailableDevices","withDevices","freezerIds","f","CreateFreezerContainerFormik","FreezerService","onLoad","useLoading","setLoading","reload","setReload","useLoad","errCallback","doReaload","EditFreezerContainerFormik","propsTemplate","useFreezers","pagedFreezers","setPagedFreezers","Navigation","Reload","Freezers","onEdit","onRemove","onOpenCertificate","headerStyle","loading","DeleteFreezerModal","onEvent","withLoad","onDelete","ModalStateReducer","useModalContext","handleEvent","useReducer","onOpen","Loader","loadingText","flexDirection","Sign","sign","created","maxWidth","SignWithOutInfo","signedBy","useUserInfoSignData","userInfo","DocumentViewer","file","inModal","setIsShowing","rigthClickBlock","addEventListener","removeEventListener","urlBlob","URL","createObjectURL","viewer","documents","uri","pluginRenderers","DocViewerRenderers","disableFileName","revokeObjectURL","AssignFreezer","UploadCertificate","GetCertificate","isNaN","FormData","FreezersContainer","certificate","setCertificate","modalContext","openDeleteModal","handleOpenCertificate","DeviceService","Field","UploadCertificateModal","files","IotDevices","pagedDevices","onDetail","DeleteDeviceModal","IotDevicesContainers","setPagedDevices","useIotDevices","handleDetail","TextBoxUsersMentions","maxLength","isInternalNotes","isExternalNotes","debouncedHandleOnSearch","isInternalNote","isExternalNote","defaultStyle","trigger","defaultMentionStyle","font","isProtocol","control","highlighter","overflow","minHeight","suggestions","list","AuditModal","CreateAuditModal","setReason","setComments","valid","setErrors","validateSync","onSave","CreateAudit","DigitalSign","signStatus","signedDate","useUserInfo","getDigitalSignStatus","onCreateEntry","onEditEntry","onDeleteEntry","onAuditTrail","saveEntry","onSaveEntry","publishEntry","onPublishEntry","editEntry","deleteEntry","showNewEntry","RichTextControl","toolbar","modules","statusFormatter","customDateTimeFormatterString","Entry","onEntryChange","groupCode","group","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","isArray","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","paginatedItems","Conditions","hasAudit","originalId","HighLight","Italic","_getLocaleSuffix","_uncapitalize","_uncapitalizeAll","_","g1","g2","_getValueFormatted","yesNoNotApplyFormatter","boolFormatter","propertyName","elementValue","localeSuffix","Fields","childIdx","Closed","ToDay","ToMonth","ToYear","attachmentFormatter","Label","visitStatusFormatter","patientVisitStatusFormatter","_getFieldTypeFromName","_getFieldName","entityName","Reason","Visit","_getFieldVisitTrackingFormMetadata","indexes","matchAll","lastIndexOf","componentField","componentsType","_getFieldNameType","auditItem","before","Panel","Heading","toggle","actionCode","_getActionName","auditAction","collapsible","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","onConfirmChangeDiagnosis","elementoEliminado","at","DiagnosisContainerFormik","handleEdit","onConfirmEdit","renderToken","DiagnosisModalEditContainer","EntryItemsTable","rowClasses","withCard","Math","random","customActions","onHistory","expandRow","parentClassName","renderer","expandContent","showExpandColumn","onlyOneExpanding","expandAll","expandHeaderColumnRenderer","isAnyExpands","expandColumnRenderer","hidePageListOnlyOnePage","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","inProtocol","bmiColor","showWarning","bmi","others","useAnthropometrics","useAnthropometric","postAnthropometric","useAnthropometricsHistory","getAnthropometricsHistory","ChartJS","register","CategoryScale","LinearScale","BarElement","PointElement","LineElement","TimeSeriesScale","TimeScale","ChartDataLabels","Legend","Decimation","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","confirmRemoveItem","_removeItemAudited","AnthropometricCreateContainer","AnthropometricContainerFormik","anthropometric","AnthropometricEditContainer","getBlob","endpoint","postFile","getIconClassName","baseStyle","flex","borderWidth","borderStyle","activeStyle","uploadStatusEnum","useFiles","apiEndpoint","setRes","_handleResponse","infoMessage","HandleApiErrorWithInfo","SuccessWithInfo","attachmentId","prevState","encodedFileName","attachments","queue","resolve","attachment","lastResponse","Files","showRemove","extensionProp","nameProp","idProp","downloadBlob","viewFile","fileId","FilesForm","onDownload","accept","setFiles","useDropzone","onDrop","acceptedFiles","attach","maxSize","getRootProps","getInputProps","isDragActive","useMemo","handleView","Attachments","onDownloadFile","useAttachments","blobData","setBlobData","link","setAttribute","appendChild","click","metadata","AttachmentsContainer","viewAttachment","createdBy","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","onRemoveResult","_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","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","CustomSwitch","wrapperClass","onText","offText","Prescriptions","prescription","hasExternalPrescription","externalPrescriptionURL","onRecreateExternal","columnsPrescriptions","genericUnit","usePrescriptions","usePrescription","postPrescription","putPrescription","exportPrescription","prescriptionId","recreatePrescriptionAPI","PrescriptionsContainer","recreate","handleRecreateExternal","PrescriptionsCreateContainer","isLoadingMasterData","isLoadingDrugs","PrescriptionContainerFormik","interopSystem","PrescriptionCopyContainer","PrescriptionEditContainer","getFormattedData","justification","diagnosis","setDiagnosis","longTerm","observeBrand","prescriptionsCopy","useEntries","entries","setEntries","exportEntries","useEntry","setEntry","entryRes","exportEntry","useModalData","ModalAdverseEventHistory","AdverseEventsListContainer","_itemId","_mrn","AnthropometricsListContainer","AttachmentsListContainer","ModalDrugsHistory","DrugsListContainer","_drugId","getAction","viewProtocol","visitUrl","typeId","renderEvolutions","evolutions","modified","fontStyle","modifiedBy","renderToStaticMarkup","Entries","whiteSpace","wordBreak","EntriesScrollable","getMore","onFilterChange","setItems","hasMore","setHasMore","isPractitionerLoading","montotos","currentPage","handleOnChangeFilter","filterValue","_renderCondition","Map","dataLength","next","loader","endMessage","practitionerFullName","practitionerSpeciality","summary","_renderObservations","_renderDiagnoses","EntriesScrollableSmall","isPractitionersLoading","EntriesContainer","entriesTotalSize","isEntriesLoading","handleFilterChange","FamilyHistoryListContainer","LaboratoryListContainer","PersonalHabitsListContainer","PersonalHistory","PersonalHistoryListContainer","ModalProcedureHistory","ProceduresListContainer","PrescriptionsListContainer","VitalsListContainer","OrdersListContainer","ConditionsListContainer","_title","EntryItemsList","EntryItemsListTabs","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","onItemSubmit","hasCondition","getTime","handleAutoSave","handleDelete","handleRouteChange","saveAndContinue","onConfirmRouteChange","danger","resize","LastVitals","lastVitals","useLastVitals","excludePermission","Popover","popover","cssClass","Content","LazyTippy","animateFill","interactive","popperOptions","strategy","setMounted","lazyPlugin","fn","onMount","onHidden","computedProps","getVisitTypeTitle","getVisitsTrackingColumns","redirectFunction","translateFunction","cols","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","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","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","RejectExternalNote","inputType","validationMsg","Laboratories","showModal","LaboratoryForm","CreateLaboratoryContainerFormik","StudyTasks","StudyTaskForm","CreateStudyTaskContainerFormik","studytask","getLaboratory","EditLaboratoryContainerFormik","useStudyTask","studyTaskId","getStudyTask","EditStudyTaskContainerFormik","StudyTasksContainer","removeStudyTask","getFormTemplates","createFormTemplate","isCrossProtocol","template","removeFormTemplate","getExtraForms","getExtraForm","createExtraForm","extraformtype","editExtraForm","removeExtraForm","ProtocolContext","ProtocolProvider","isProtocolLoading","closeProtocol","removeProtocol","RemoveModal","ConfirmSaveModal","templateId","DynamicFormComponents","onRemoveTemplate","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","DynamicOptionsFormik","fieldOptions","conditional","allFieldsProps","Feedback","dynamicOptions","DynamicFormCreator","initialForm","formTemplates","setForm","setFormType","setFields","fieldConfig","setFieldConfig","fieldSettings","setFieldSettings","_configField","textposition","_getSnomed","handleConfirmRemove","handleSaveAsTemplate","formCopy","_Fields","handleRemoveTemplate","formHeader","fieldsCopy","uuidv4","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","EditPractitionerModal","ProtocolEditPractitionerContainer","setPractitioner","ProtocolEditPractitionerFormik","newattachments","AuditProtocolUserRole","AuditUserRoleContainer","actionBy","usersResponse","actionByUser","rolesResponse","useAuditsUserRole","getAudits","ProtocolPractitionersContainer","paginatedData","handleEditedPractitioner","confirmEdited","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","useVisits","CopyVisits","onSelectedProtocol","onCopyVisits","selectedVisits","setSelectedVisits","selectRow","mode","isSelect","onSelectAll","CopyVisitsContainer","useCopyVisits","copyVisits","isLoadingCopyVisits","handleCopyVisits","originProtocolId","ProtocolVisitsContainer","useAllVisits","_formatExtraData","handleSwapVisit","handleEditVisit","handleCopyVisit","handleRemoveVisit","copiedVisits","copiedData","obj","NewExtraForm","ExtraFormsContainer","useExtraForms","extraFormType","ProtocolFreezerConfiguration","minTemperature","maxTemperature","assignedFreezers","MinTemperature","MaxTemperature","AssignedFreezers","IsTemperatureValid","Configure","GetConfigById","GetUnassignedFreezers","GetProtocolConfigs","freezers","p","ConfigurationFreezerFormik","mapPropsToStatus","configuration","schema","optional","FreezerProtocolServices","ErrorNotification","selecteableFreezers","setSelecteableFreezers","currentFreezers","setCurrentFreezers","selectedFreezers","setSelectedFreezers","unassignedFreezers","Set","v","useProtocolFreezer","setProtocol","FreezerTabContainer","protocolContext","protocolConfiguration","openConfigModal","ProtocolConfigModal","protocolConfig","ProtocolContainer","section","selectedTab","setSelectedTab","Container","activeKey","NavItem","animation","Pane","onPublish","onBack","onFormRestrictions","save","back","publish","formRestrictions","VisitForms","subTitleComponent","onCopyForms","orderedForms","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","CopyFormsContainer","onSubmitted","isVisitLoading","useForms","setForms","isFormsLoading","useCopyForms","copyForms","selectedProtocolId","setSelectedProtocolId","selectedVisitId","setSelectedVisitId","selectedForms","setSelectedForms","handleCopyForms","SaveAsTemplate","setIsCrossProtocol","handleCrossProtocolChange","VisitForm","getForm","confirmSaveAsTemplate","formTemplate","removeForm","useRoleMasterData","ConfirmRemoveRole","Permissions","selectedClaims","setSelectedClaims","claim","claimsCopy","yes","no","c","Roles","RoleForm","tenants","getTenant","useTenants","setTenants","editTenant","removeTenant","CreateRoleContainerFormik","createRole","StudyPermissions","splitted","permissionsCopy","indexToRemove","StudyRoles","StudyRoleForm","CreateStudyRoleContainerFormik","createStudyRole","EditRoleContainerFormik","editRole","EditStudyRoleContainerFormik","editStudyRole","AdminContext","AuditRolePermissions","AuditRolePermissionsContainer","useAuditRolePermissions","RolesContainer","useRoles","reloadRoles","selectedTenant","mdOffset","removeRole","useAuditStudyRolePermissions","StudyRolesContainer","removeStudyRole","TenantForm","CreateTenantFormik","EditTenantFormik","Tenants","TenantsContainer","getAll","Users","CreateUserFormik","userName","workEmail","createUser","ProfessionalData","ProfessionalDataForm","jurisdiction","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","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","AppointmentWidget","DateTimeWidget","auth","PatientWidget","SearchWidget","selectedPatient","WelcomeWidget","getAllNotifications","getUnreadNotifications","markAsReadedNotification","messageId","unreadNotifications","actionCreators","requestAllNotifications","requestUnreadNotifications","requestMarkAsReadedNotification","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","toFixed","hideFieldId","handleYesNoConditionalChange","multicheckOptions","checkboxArray","pop","uploadedBy","validatedBy","now","montotoFields","heightFloat","parseFloat","weightFloat","getLastChange","DynamicForm","sortedFields","getTableArrayFieldComponent","controlId","FormActions","onScreenFailure","onLostToFollowUp","onWithoutDrugs","onReturnDrugs","onDiscontinuation","onExport","onEndPatientInProtocol","onRollbackVisitStatus","onBackToMR","FormMenu","showAdditionals","setShowAdditionals","additionals","selectedFormId","formsWithErrors","onSaveUpload","onSkip","onReSync","onChangeType","onChangeVisitTrackingType","FormHeader","VisitStatus","DocumentNotes","createdById","DocumentNoteForm","onCreate","setText","DocumentNotesContainer","useDocumentNotes","getNotes","createNote","updateNote","setNotes","setNote","collapse","setCollapse","handleCreateNote","createdNote","handleNoteEdited","updatedNote","notesCopy","EvolutionForm","onUpdate","Evolutions","EvolutionsContainer","visitTrackingStatus","updateEvolution","pepepe","evolutionRes","useEvolutions","saveEvolution","setEvolutions","handleEvolutionEdited","_updateEvolution","_saveEvolution","evolutionText","savedEvolutionRes","savedEvolution","updatedEvolution","evolutionsCopy","evolutionEdit","MonitorNotes","handleChangeState","onStatusChange","confirmChangeState","MonitorNoteForm","MonitorNotesContainer","getNote","changeStatusNote","useMonitorNotes","deleteNote","handleRemoveNote","handleStatusChange","ExtraVisitTracking","isAuditLoading","getLastVisitTrackingChange","getBlobAPI","setSignStatus","setVisitTracking","selectedForm","setSelectedForm","patientInfo","setPatientInfo","formAux","_closeModal","_updateData","updatedForm","formsCopy","_saveVisit","formVisitTracking","formikProps","fieldsWithFiles","patientForm","componentsWithFiles","flat","attachs","resForm","handleAuditTrail","handleViewFile","attachName","validated","auditScreenFailure","confirmScreenFailure","auditTrail","_publishScreenFailure","creationEarlyTerminationVisit","auditDiscontinuation","confirmDiscontinuation","_publishDiscontinuation","_confirmRemoveVisit","auditEndPatientInProtocol","confirmEndPatientInProtocol","_publishEndPatientInProtocol","confirmRollbackVisitStatus","_publishRollbackVisitStatus","confirmLostToFollowUp","_publishLostToFollowUp","handleWithoutDrugs","_setWithoutDrugs","handleReturnDrugs","_setReturnDrugs","_export","handleExport","_formVisitTracking","actions","validateOnBlur","dirty","confirm","submitForm","handleSubmitForm","isDirty","handleSelectForm","visitStatusEnum","VisitHeaderContainer","ProtocolHeader","ProtocolCreateBriefContainer","ProtocolEditBriefContainer","confirmSubmit","handleRemoveAttach","removeAttachment","ProtocolsFilters","selectedLaboratory","selectedPhase","Protocols","getVisitType","isAuthLoading","setHasVisitTracking","setFormsWithErrors","manageConditionalFieldsInForm","conditionalField","fieldWithCondition","addHidePropertyToFields","_digitalSign","confirmReSync","_saveUploadVisit","confirmSkipVisit","_publishSkipVisit","handleReSync","_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","useSettings","setSettings","SettingsContainer","handleHeader","handleFooter","SettingsFormik","onAutoClose","onFirstMRN","onHeader","onFooter","mrsettings","mrdata","dbsettings","dbdata","prsettings","prdata","firstMRN","autoclose","ConfirmSync","SyncContainer","syncUsersConfirm","syncPatientsConfirm","syncProtocolsConfirm","syncUsersInProtocolsConfirm","syncPatientsInProtocolsClick","xs","Button","AdminNotification","AdminNotifications","handleCreate","handleSetReadOnly","handlePreEdit","handlePreCreate","AdminNotificationsContainer","useAdminNotifications","itemId","TenantSelection","isTenantsLoading","Settings","WeatherMessage","humidity","temperature","measureDate","uploadDate","Humidity","Temperature","MeasureDate","UploadDate","DoorMessage","ProtocolFullData","freezerDaysResume","Protocol","Configuration","FreezerDaysResume","FreezerTelemetryResume","days","Days","TemperatureDayResume","HasAnyInvalidTemperature","HasInvalidTemperature","Day","GetWeatherTelemetry","GetWeatherResume","GetDoorTelemetry","responseResult","m","withFreezers","MapAsDataSet","pointRadius","tension","commonOptions","parsing","interaction","axis","intersect","decimation","enabled","algorithm","commonPlugins","commonScale","autoSkip","stacked","displayFormats","tooltipFormat","ticks","useIotTelemetry","door","telemetry","setTelemetry","load","IotMessagesServices","weatherResult","doorResult","w","stepped","DateRangeComponent","endDate","SearchContext","SearchDispatchContext","SearchHeaderContext","searchReducer","SearchHeader","Prepend","selectedOption","setSelectedOption","dateRange","setDateRange","TemperatureChart","hasNotData","HasNotData","scales","grid","tick","suggestedMin","suggestedMax","includeBounds","grace","HumidityChart","DoorChart","stackWeight","reduce","FreezerTelemetryContainer","FreezerTelemetry","isFreezersLoading","isTelemetryLoading","searchObject","ProtocolTelemetryState","isFirstLoading","protocolsConfig","isFirstloading","StartLoading","EndLoading","ContainsProtocolConfig","GetConfig","useLaboratoryProtocol","useProtocolAuthFilter","canViewProtocol","set","protocolConfigurations","l","LoadLaboratories","HandleSelectedLaboratoryAsync","filteredProtocols","ProtocolTelemetryContainer","ProtocolTelemetry","protocolState","handleLaboratoryChange","setSelectedLaboratory","selectedFreezer","telemetryContext","setTelemetryContext","firstFreezer","SelecteableFreezers","handleSelectedFreezer","colSpan","Dot","FreezerTogglePanel","daysResume","setIsOpen","formatTemperature","formattedValue","onToggle","Toggle","TelemetryGeneralViewContainer","TelemetryGeneralView","searchContext","setContext","headerOptions","SelectedView","FreezerPanelView","ProtocolPanelView","resumes","findResume","freezerIdMap","keys","resumeData","useFreezerResume","resume","HeaderData","mapped","protocolConfigurationsList","uniqueFreezers","uniqueFreezerIds","resumeDataByFreezerId","flatMap","useProtocolResume","TelemetryPage","class","ps","routes","iconSVG","layout","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","reloadForms","setReloadForms","fetchVisitData","fetchFormsData","setVisitHistory","fetchVisitHistory","extraForms","setExtraForms","handlePublishVisit","handleConfirmPublish","visitResponse","historyCopy","publishedVisit","handlePrintVisit","useExternalNotes","responseDate","isLoadingTenants","isRoleLoading","handleConfirmNewPassword","changePasswordUser","updateUserInRole","resendCreatedUserEmail","enableUser","disableUser","setRole","setFrezeer","useFreezer","setDevice","doReload","useIotDevice","openModal","handleCertificate","Sidebar","refSidebarWrapper","setWidth","collapseStates","setCollapseStates","updateDimensions","platform","PerfectScrollbar","destroy","activeRoute","routeName","logo","createLinks","prop","st","Breadcrumbs","crumbs","unshift","CustomRoute","route","param","AdminLayout","hideProgressBar","pauseOnHover","getRoutes","exact","settingsActions","isEnabled","changeLanguage","Admin","isLocalhost","Boolean","hostname","registerValidSW","swUrl","serviceWorker","registration","onupdatefound","installingWorker","installing","onstatechange","controller","initialReduxState","store","reducers","Notifications","Authentication","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.3f68373c.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\nconst transformRequestOptions = (params) => {\r\n let options = '';\r\n params.ids.forEach((id) => {\r\n options += `ids=${id}&`;\r\n });\r\n return options;\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\nexport const getAuditRolePermissionsAPI = (roleId) => {\r\n return axios.get(`api/v1/authorization/auditrolepermissions/${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 getStudyRolesByIdAPI = (roles) => {\r\n return axios.get(`api/v1/protocols/studyRolesById`, {\r\n params: { ids: roles },\r\n paramsSerializer: transformRequestOptions,\r\n });\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};\r\nexport const getAuditStudyRolePermissionsAPI = (roleId) => {\r\n return axios.get(`api/v1/admin/auditrolepermissions/protocols/${roleId}`);\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}\r\n\r\nexport function useProtocolAuthFilter() {\r\n const currentUserRoleData = useSelector(state => state.protocol);\r\n const canViewProtocol = (protocolId) => {\r\n if (currentUserRoleData.isLoading)\r\n return false;\r\n\r\n return currentUserRoleData.protocolId != protocolId\r\n }\r\n return [canViewProtocol, currentUserRoleData.isLoading]\r\n}\r\n\r\nexport function useProtocolPageAuth() {\r\n const currentUserRoleData = useSelector(state => state.protocol);\r\n const user = useSelector(state => state.authentication.user);\r\n\r\n const isAuthorized = (includePermissions, excludePermissions) => {\r\n if (currentUserRoleData.isLoading)\r\n return false;\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 return [isAuthorized, currentUserRoleData.isLoading, user];\r\n}\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 (!requiredPermission || 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 } 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 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 { HubConnectionBuilder, HubConnectionState, LogLevel } from '@microsoft/signalr';\r\nimport React, { createContext, useContext, useEffect, useState } from 'react';\r\nimport authService from '../components/api-authorization/AuthorizeService';\r\n\r\nconst SignalRContext = createContext();\r\n\r\nexport const useSignalR = () => useContext(SignalRContext);\r\n\r\nconst SignalRProvider = ({ groupName, settings, children }) => {\r\n const [connection, setConnection] = useState(null);\r\n\r\n useEffect(() => {\r\n const options = {\r\n logMessageContent: true,\r\n logger: LogLevel.Error,//isDev ? LogLevel.Warning : LogLevel.Error,\r\n accessTokenFactory: async () => {\r\n var access = await authService.getAccessToken();\r\n return access;\r\n }\r\n };\r\n\r\n const newConnection = new HubConnectionBuilder()\r\n .withUrl(`${settings.notificationsApi}/notificationhub`, options)\r\n .withAutomaticReconnect()\r\n .configureLogging(LogLevel.Error)\r\n .build();\r\n\r\n setConnection(newConnection);\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (connection) {\r\n connection.start().then(() => {\r\n console.log(\"Connected to SignalR\");\r\n connection.invoke(\"JoinGroup\", groupName).catch(err => console.log(err));\r\n }).catch(err => console.log(err));\r\n }\r\n\r\n return () => {\r\n if (connection) {\r\n if (connection.connection._connectionState === HubConnectionState.Connected) {\r\n console.log(groupName)\r\n connection.invoke('LeaveGroup', \"SystemNotifications\").catch(err => console.log(err));\r\n connection.invoke('LeaveGroup', groupName).catch(err => console.log(err));\r\n }\r\n connection.stop().then(() => { console.log(\"Connection stoped\") }).catch(err => console.log(err));\r\n }\r\n };\r\n }, [connection]);\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport default SignalRProvider;\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 axios from './index';\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 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\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};\r\n\r\nexport const getAdminNotificationsAPI = async (filters) => {\r\n const queryString = getQueryString(filters, window.location.search);\r\n return axios.get(queryString ? `api/v1/adminNotifications/?${queryString}` : `api/v1/adminNotifications`);\r\n};\r\nexport const getLastActiveAdminNotificationAPI = async () => {\r\n return axios.get(\"api/v1/adminNotifications/lastActive\");\r\n};\r\nexport const getAdminNotificationAPI = async (notificationId) => {\r\n return axios.get(`api/v1/adminNotifications/${notificationId}`);\r\n};\r\nexport const createAdminNotificationAPI = async (notification) => {\r\n return axios.post(`api/v1/adminNotifications`, notification);\r\n};\r\nexport const updateAdminNotificationAPI = async (notification) => {\r\n return axios.put(`api/v1/adminNotifications`, notification);\r\n};\r\nexport const removeAdminNotificationAPI = async (notificationId) => {\r\n return axios.delete(`api/v1/adminNotifications/${notificationId}`);\r\n};\r\nexport const setIsReadOnlyAPI = async (readonly) => {\r\n return axios.put(`api/settings/systemsettings/isReadOnly/${readonly}`, null);\r\n};\r\n","import { useEffect, useState } from \"react\";\r\nimport { HandleApiError } from \"../../../components/Notifications/APIErrorHandler\";\r\nimport { createAdminNotificationAPI, getAdminNotificationAPI, getAdminNotificationsAPI, getLastActiveAdminNotificationAPI, removeAdminNotificationAPI, updateAdminNotificationAPI } from \"../../../api/settings\";\r\n\r\nexport const useAdminNotifications = () => {\r\n const [data, setData] = useState([]);\r\n const [isLoading, setIsLoading] = useState(false);\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: 10,\r\n totalSize: 0\r\n },\r\n sort: {\r\n sortField: \"Created\",\r\n sortOrder: \"desc\"\r\n }\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 setReload(false);\r\n try {\r\n const paginatedItems = await getAdminNotificationsAPI(query);\r\n if (isSubscribed) {\r\n setTotalSize(paginatedItems.data.count);\r\n setData(paginatedItems.data.data);\r\n //setData([{ created: \"2024-06-26 10:20\", message: \"Mensaje1\", from: \"2024-06-25 10:20\", to: \"2024-06-27 10:20\", active: true },\r\n //{ created: \"2024-06-26 10:20\", message: \"Mensaje2\", from: \"2024-06-25 10:20\", to: \"2024-06-27 10:20\", active: true },\r\n //{ created: \"2024-06-26 10:20\", message: \"Mensaje3\", from: \"2024-06-25 10:20\", to: \"2024-06-27 10:20\", active: true }]);\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 fetchData();\r\n\r\n return () => isSubscribed = false;\r\n }, [query, reload]);\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 return [data, query, totalSize, isLoading, handleTableChange, setReload];\r\n}\r\n\r\nexport const useAdminNotification = () => {\r\n const [isLoading, setIsLoading] = useState(true);\r\n\r\n const getLastActiveNotification = async () => {\r\n try {\r\n setIsLoading(true);\r\n const note = await getLastActiveAdminNotificationAPI();\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 getNotification = async (notificationId) => {\r\n try {\r\n setIsLoading(true);\r\n const note = await getAdminNotificationAPI(notificationId);\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 createNotification = async (notification) => {\r\n try {\r\n setIsLoading(true);\r\n const documentNote = await createAdminNotificationAPI(notification);\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 updateNotification = async (notification) => {\r\n try {\r\n setIsLoading(true);\r\n const documentNote = await updateAdminNotificationAPI(notification);\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 deleteNotification = async (notificationId) => {\r\n try {\r\n setIsLoading(true);\r\n var res = await removeAdminNotificationAPI(notificationId);\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 [getLastActiveNotification, getNotification, createNotification, updateNotification, deleteNotification, isLoading];\r\n}","import React, { useEffect } from 'react';\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport { useSignalR } from '../../../services/signalRService';\r\nimport { useAdminNotification } from './useAdminNotifications';\r\n\r\nexport function SystemNotification() {\r\n const { connection } = useSignalR();\r\n const [getLastActiveNotification] = useAdminNotification();\r\n\r\n useEffect(() => {\r\n if (connection) {\r\n connection.on('AdminNotification', res => {\r\n showNotification(res);\r\n });\r\n\r\n return () => {\r\n // Leave group when component unmounts\r\n if (connection.connection._connectionState === \"Connected\")\r\n connection.invoke('LeaveGroup', \"SystemNotifications\");\r\n };\r\n }\r\n }, [connection]);\r\n\r\n useEffect(() => {\r\n let isSubscribed = true\r\n\r\n const fetchData = async () => {\r\n try {\r\n const notif = await getLastActiveNotification();\r\n if (notif && isSubscribed) {\r\n showNotification(notif.data);\r\n }\r\n } catch (error) {\r\n if (isSubscribed) {\r\n console.log(error);\r\n }\r\n }\r\n }\r\n\r\n fetchData();\r\n\r\n return () => isSubscribed = false;\r\n }, []);\r\n\r\n function showNotification(notification) {\r\n if (notification)\r\n toast.info(notification.message, { containerId: \"system-notifications\" });\r\n }\r\n\r\n return (\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(\"path\", {\n d: \"M1 11a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1zm5-4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1zm5-5a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1z\"\n});\n\nconst SvgIconTelemetry = (_ref) => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n fill: \"currentColor\",\n className: \"bi bi-bar-chart-fill\",\n viewBox: \"0 0 16 16\",\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(SvgIconTelemetry, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/Icon_Telemetry.dcfd1a1c.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 Telemetry } from '../../assets/img/icons/Icon_Telemetry.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 \"telemetry\": 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 while (matches != null && matches[1]) {\r\n mention = mention.replace(matches[0], `'${matches[1]}'`);\r\n matches = fullNameRegex.exec(mention);\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}\r\n\r\nexport function arrayMoveMutable(array, fromIndex, toIndex) {\r\n const startIndex = fromIndex < 0 ? array.length + fromIndex : fromIndex;\r\n\r\n if (startIndex >= 0 && startIndex < array.length) {\r\n const endIndex = toIndex < 0 ? array.length + toIndex : toIndex;\r\n\r\n const [item] = array.splice(fromIndex, 1);\r\n array.splice(endIndex, 0, item);\r\n }\r\n}\r\n\r\nexport function arrayMoveImmutable(array, fromIndex, toIndex) {\r\n const newArray = [...array];\r\n arrayMoveMutable(newArray, fromIndex, toIndex);\r\n return newArray;\r\n}","import React, { useEffect } from 'react';\r\nimport { NavLink } from 'react-router-dom';\r\nimport { connect, useDispatch } 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\nimport { useSignalR } from '../../services/signalRService';\r\nimport { HubConnectionState } from '@microsoft/signalr';\r\n\r\nconst TestNotifications = (props) => {\r\n const { t } = useTranslation()\r\n const { connection } = useSignalR();\r\n const dispatch = useDispatch();\r\n\r\n useEffect(() => {\r\n if (connection) {\r\n connection.on('TestNotification', res => {\r\n dispatch({\r\n type: 'NOTIFICATION_RECEIVED',\r\n payload: {\r\n ...res\r\n }\r\n });\r\n });\r\n\r\n return () => {\r\n // Leave group when component unmounts\r\n if (connection.connection._connectionState === HubConnectionState.Connected)\r\n connection.invoke('LeaveGroup', \"SystemNotifications\");\r\n };\r\n }\r\n }, [connection]);\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 { useSelector } from 'react-redux';\r\nimport SignalRProvider from \"../../services/signalRService\";\r\nimport { LoginMenu } from \"../api-authorization/LoginMenu\";\r\nimport AdminNavbarNotificationsContainer from \"./AdminNavbarNotifications\";\r\nimport { AdminNavbarUser } from \"./AdminNavbarUser\";\r\nimport { WithAuth } from \"../Authorization/WithAuth\";\r\n\r\nconst HeaderLinks = () => {\r\n const user = useSelector(state => state.authentication.user);\r\n const settingsState = useSelector(state => state.settings);\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, parentKey = 0) => {\r\n return axios.get(`api/v1/admin/audits/${entity}/${entityId}/${parentKey}`);\r\n}\r\n\r\nexport const getLastAuditTrail = (entity, entityId) => {\r\n return axios.get(`api/v1/admin/audits/last/${entity}/${entityId}`);\r\n}\r\n\r\nexport const getAuditProtocolUserRoleAPI = (protocolId, userId) => {\r\n return axios.get(`api/v1/admin/auditsuserrole/protocols/${protocolId}/users/${userId}`);\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\n//#region Entries\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//#endregion\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\n//#region AdverseEvents\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, category) => {\r\n return axios.get(`api/v1/medicalRecords/${medicalRecordNumber}/adverseEvents/${conceptId}/condition/${category}/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\nexport const removeAdverseEventAPI = (entryId, id, reason, comments) => {\r\n return axios.delete(`api/v1/medicalRecords/entry/${entryId}/adverseEvents/${id}/audit/${reason}/${comments}`);\r\n};\r\n//#endregion\r\n\r\n//#region Conditions\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, reason, comments) => {\r\n return axios.delete(`api/v1/medicalRecords/entry/${entryId}/adverseEvents/${id}/audit/${reason}/${comments}`);\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//#endregion\r\n\r\n//#region attachments\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\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\nexport const uploadAttachmentEndpoint = (entryId) => {\r\n return `api/v1/medicalRecords/uploadAttachment/entry/${entryId}`;\r\n}\r\n//#endregion\r\n\r\n//#region drugs\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\nexport const removeDrugAPI = (entryId, id, reason, comments) => {\r\n return axios.delete(`api/v1/medicalRecords/entry/${entryId}/drugs/${id}/audit/${reason}/${comments}`);\r\n};\r\n//#endregion\r\n\r\n//#region prescriptions\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 = (medicalRecordNumber, entryId, data) => {\r\n return axios.post(`api/v1/medicalRecords/${medicalRecordNumber}/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 removePrescriptionAPI = (entryId, id, reason, comments) => {\r\n return axios.delete(`api/v1/medicalRecords/entry/${entryId}/prescriptions/${id}/audit/${reason}/${comments}`);\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\nexport const recreatePrescriptionAPI = (medicalRecordNumber, entryId, prescriptionId) => {\r\n return axios.post(`api/v1/medicalRecords/${medicalRecordNumber}/entry/${entryId}/prescriptions/${prescriptionId}`, null);\r\n};\r\n//#endregion\r\n\r\n//#region orders\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 removeOrderAPI = (entryId, id, reason, comments) => {\r\n return axios.delete(`api/v1/medicalRecords/entry/${entryId}/orders/${id}/audit/${reason}/${comments}`);\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//#endregion\r\n\r\n\r\n//#region procedures\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\nexport const removeProcedureAPI = (entryId, id, reason, comments) => {\r\n return axios.delete(`api/v1/medicalRecords/entry/${entryId}/procedures/${id}/audit/${reason}/${comments}`);\r\n};\r\n//#endregion\r\n\r\n\r\n//#region anthropometrics\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\nexport const removeAnthropometricAPI = (entryId, id, reason, comments) => {\r\n return axios.delete(`api/v1/medicalRecords/entry/${entryId}/anthropometrics/${id}/audit/${reason}/${comments}`);\r\n};\r\n//#endregion\r\n\r\n\r\n//#region familyhistories\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\nexport const removeFamilyHistoryAPI = (entryId, id, reason, comments) => {\r\n return axios.delete(`api/v1/medicalRecords/entry/${entryId}/familyhistories/${id}/audit/${reason}/${comments}`);\r\n};\r\n//#endregion\r\n\r\n\r\n//#region personalHistory\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\nexport const removePersonalHistoryAPI = (entryId, id, reason, comments) => {\r\n return axios.delete(`api/v1/medicalRecords/entry/${entryId}/personalHistory/${id}/audit/${reason}/${comments}`);\r\n};\r\n//#endregion\r\n\r\n\r\n//#region personalhabits\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\nexport const removePersonalHabitAPI = (entryId, id, reason, comments) => {\r\n return axios.delete(`api/v1/medicalRecords/entry/${entryId}/personalHabits/${id}/audit/${reason}/${comments}`);\r\n};\r\n//#endregion\r\n\r\n\r\n//#region laboratories\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\nexport const removeLaboratoryAPI = (entryId, id, reason, comments) => {\r\n return axios.delete(`api/v1/medicalRecords/entry/${entryId}/laboratories/${id}/audit/${reason}/${comments}`);\r\n};\r\nexport const removeLaboratoryResultAPI = (entryId, id, reason, comments) => {\r\n return axios.delete(`api/v1/medicalRecords/entry/${entryId}/laboratoryResult/${id}/audit/${reason}/${comments}`);\r\n};\r\n//#endregion\r\n\r\n\r\n//#region vitals\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\nexport const removeVitalAPI = (entryId, id, reason, comments) => {\r\n return axios.delete(`api/v1/medicalRecords/entry/${entryId}/vitals/${id}/audit/${reason}/${comments}`);\r\n};\r\n//#endregion\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 searchParams.delete('q');\r\n if (query.query) {\r\n searchParams.append('q', query.query);\r\n }\r\n\r\n return searchParams.toString();\r\n}\r\n\r\nconst transformRequestOptions = (params) => {\r\n let options = '';\r\n params.ids.forEach((id) => {\r\n options += `ids=${id}&`;\r\n });\r\n return options;\r\n};\r\n\r\n//#region 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//#endregion\r\n\r\n\r\n//#region 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 getPractitionersByProtocol = (protocolId, q, isInternalNote = false, isExternalNote = false) => {\r\n //const queryString = getQueryString(filters, window.location.search);\r\n return axios.get(`api/v1/protocols/${protocolId}/practitioners/simple?q=${q}&onlyDoctor=false&sortField=FullName&sortOrder=desc&pageSize=50&isInternalNote=${isInternalNote}&isExternalNote=${isExternalNote}`);\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, reason, comment) => {\r\n return axios.delete(`api/v1/protocols/${protocolId}/practitioners/${practitionerId}/audit/${reason}/${comment}`);\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//#endregion\r\n\r\n//#region 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 copyVisitsAPI = async (protocolId, fromProtocolId, selectedVisitIds) => {\r\n return axios.post(`api/v1/protocols/${protocolId}/visitsTemplates/copyFrom/${fromProtocolId}`, null, {\r\n params: { ids: selectedVisitIds },\r\n paramsSerializer: transformRequestOptions,\r\n });\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//#endregion\r\n\r\n//#region 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 copyFormsAPI = (protocolId, visitId, fromProtocolId, fromVisitId, formsToCopyIds) => {\r\n return axios.post(`api/v1/protocols/${protocolId}/visitsTemplates/${visitId}/forms/copyFrom/${fromProtocolId}/${fromVisitId}`, null, {\r\n params: { ids: formsToCopyIds },\r\n paramsSerializer: transformRequestOptions,\r\n });\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 sortForms = async (protocolId, visitId, sortedForms) => {\r\n return axios.put(`api/v1/protocols/${protocolId}/visitsTemplates/${visitId}/forms/sort`, sortedForms);\r\n}\r\n//#endregion\r\n\r\n//#region 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, medicalRecordNumber, form) => {\r\n return axios.put(`api/v1/visitTracking/${protocolId}/visitTracking/${visitId}/patient/${patientId}/${medicalRecordNumber}`, form);\r\n};\r\nexport const saveUploadVisitTrackingAPI = async (protocolId, visitId, patientId, medicalRecordNumber, form) => {\r\n return axios.put(`api/v1/visitTracking/${protocolId}/visitTracking/${visitId}/patient/${patientId}/${medicalRecordNumber}/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, earlyTerminationWillBeCreated, digitalSign) => {\r\n return axios.put(`api/v1/visitTracking/${protocolId}/visitTracking/${visitId}/patient/${patientId}/discontinuation/earlyTermination/${earlyTerminationWillBeCreated}`, 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\nexport const endPatientInProtocolVisitTrackingAPI = async (protocolId, visitId, patientId, data) => {\r\n return axios.put(`api/v1/visitTracking/${protocolId}/visitTracking/${visitId}/patient/${patientId}/endProtocol`, data);\r\n};\r\nexport const rollbackVisitStatusAPI = async (protocolId, visitId, patientId, audit) => {\r\n return axios.put(`api/v1/visitTracking/${protocolId}/visitTracking/${visitId}/patient/${patientId}/rollbackStatus`, audit);\r\n};\r\nexport const uploadVisitTrackingAttachmentFormEndpoint = (protocolId, visitId, formId, patientId, medicalRecordNumber) => `api/v1/visitTracking/${protocolId}/visitTracking/${visitId}/patient/${patientId}/${medicalRecordNumber}/attachments/${formId}`;\r\n\r\nexport const getVisitTrackingAttachmentFormEndpoint = (protocolId, visitId, formId) => `api/v1/visitTracking/${protocolId}/visitTracking/${visitId}/attachments/${formId}/fileName`;\r\n//#endregion\r\n\r\n//#region ExtraVisitTracking\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, form) => {\r\n return axios.put(`api/v1/visitTracking/${protocolId}/visitTrackingExtra/${visitId}/patient/${patientId}/publish`, form);\r\n};\r\nexport const discontinuationVisitTrackingExtraAPI = async (protocolId, visitId, patientId, earlyTerminationWillBeCreated, digitalSign) => {\r\n return axios.put(`api/v1/visitTracking/${protocolId}/visitTrackingExtra/${visitId}/patient/${patientId}/discontinuation/earlyTermination/${earlyTerminationWillBeCreated}`, digitalSign);\r\n}\r\nexport const screenFailureVisitTrackingExtra = async (protocolId, visitId, patientId, digitalSign) => {\r\n return axios.put(`api/v1/visitTracking/${protocolId}/visitTrackingExtra/${visitId}/patient/${patientId}/screenFailure`, digitalSign);\r\n};\r\nexport const endPatientInProtocolVisitTrackingExtraAPI = async (protocolId, visitId, patientId, data) => {\r\n return axios.put(`api/v1/visitTracking/${protocolId}/visitTrackingExtra/${visitId}/patient/${patientId}/endProtocol`, data);\r\n};\r\nexport const rollbackVisitStatusExtraAPI = async (protocolId, visitId, patientId, audit) => {\r\n return axios.put(`api/v1/visitTracking/${protocolId}/visitTrackingExtra/${visitId}/patient/${patientId}/rollbackStatus`, audit);\r\n};\r\nexport const lostToFollowUpVisitTrackingExtraAPI = async (protocolId, visitId, patientId, digitalSign) => {\r\n return axios.put(`api/v1/visitTracking/${protocolId}/visitTrackingExtra/${visitId}/patient/${patientId}/lostToFollowUp`, digitalSign);\r\n};\r\nexport const withoutDrugsVisitTrackingExtraAPI = async (protocolId, visitId, patientId) => {\r\n return axios.put(`api/v1/visitTracking/${protocolId}/visitTrackingExtra/${visitId}/patient/${patientId}/withoutDrugs`, null);\r\n};\r\nexport const returnDrugsVisitTrackingExtraAPI = async (protocolId, visitId, patientId) => {\r\n return axios.put(`api/v1/visitTracking/${protocolId}/visitTrackingExtra/${visitId}/patient/${patientId}/returnDrugs`, null);\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//#endregion\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 saveEvolutionAPI = async (protocolId, visitId, patientId, medicalRecordNumber, evolution) => {\r\n return axios.post(`api/v1/visitTracking/${protocolId}/visitTracking/${visitId}/patient/${patientId}/${medicalRecordNumber}/evolution`, evolution);\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 saveEvolutionExtraAPI = async (protocolId, visitId, patientId, medicalRecordNumber, evolution) => {\r\n return axios.post(`api/v1/visitTracking/${protocolId}/visitTrackingExtra/${visitId}/patient/${patientId}/${medicalRecordNumber}/evolution`, evolution);\r\n};\r\nexport const updateEvolutionExtraAPI = async (protocolId, visitId, patientId, evolutionId, evolution) => {\r\n return axios.put(`api/v1/visitTracking/${protocolId}/visitTrackingExtra/${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//#region 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//#endregion\r\n\r\n//#region 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};\r\n//#endregion","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.adverseEvents);\r\n groups[1].options = groups[1].options.concat(responses[0].data.personalHistory);\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 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 moment from 'moment';\r\nimport PropTypes from 'prop-types';\r\nimport React from \"react\";\r\nimport DateTime from 'react-datetime';\r\n\r\nfunction formatDateForInput(date, dateFormat) {\r\n if (date) {\r\n if (!moment.isMoment(date)) {\r\n let momentDate = moment(date);\r\n if (momentDate.isValid())\r\n return momentDate.format(dateFormat);\r\n else\r\n return date;\r\n }\r\n else\r\n return date.format(dateFormat);\r\n }\r\n\r\n return ''\r\n}\r\n\r\nexport const CustomDateTime = (props) => {\r\n const { value, dateFormat, onChange, onBlur, ...rest } = props;\r\n\r\n const handleChange = value => {\r\n if (!onChange) return;\r\n var date = moment(value, dateFormat, true);\r\n if (date.isValid())\r\n onChange(props.name, date);\r\n else\r\n onChange(props.name, value);\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\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, onChange, ...rest } = props;\r\n\r\n const handleChange = value => {\r\n if (!onChange) return;\r\n var date = moment(value, \"HH:mm\", true);\r\n if (date.isValid())\r\n onChange(props.name, date);\r\n else\r\n 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\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 const { value, onChange, onBlur, dateFormat, ...rest } = props;\r\n\r\n const handleChange = value => {\r\n if (!onChange) return;\r\n\r\n var date = moment(value, dateFormat, true);\r\n if (date.isValid())\r\n onChange(props.name, date);\r\n else\r\n onChange(props.name, value);\r\n }\r\n\r\n const handleBlur = () => {\r\n if (onBlur)\r\n onBlur(props.name, true);\r\n };\r\n\r\n return (\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 !== null && value !== undefined) {\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 if (query.includeDisabled != null && query.includeDisabled != undefined) {\r\n searchParams.delete(\"includeDisabled\");\r\n searchParams.append(\"includeDisabled\", query.includeDisabled);\r\n }\r\n\r\n return searchParams.toString();\r\n}\r\n\r\nconst transformRequestOptions = (params) => {\r\n let options = '';\r\n params.ids.forEach((id) => {\r\n options += `ids=${id}&`;\r\n });\r\n return options;\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 getRolesById = (roles) => {\r\n return axios.get(`api/v1/authorization/rolesbyid`, {\r\n params: { ids: roles },\r\n paramsSerializer: transformRequestOptions,\r\n });\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 getUsersByIdAPI = async users => {\r\n return axios.get(`api/v1/users/usersbyid`, {\r\n params: { ids: users },\r\n paramsSerializer: transformRequestOptions,\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/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}\r\n\r\nexport const getAuditUserRoleAPI = (userId) => {\r\n return axios.get(`api/v1/users/auditsuserrole/users/${userId}`);\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 includeDisabled: props.includeDisabled,\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 includeDisabled: 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 includeDisabled: 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, confirmStyle, cancelStyle, customButtons, confirmText, cancelText }) => {\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 const confirmTxt = confirmText || t(\"buttons.yes\");\r\n const cancelTxt = cancelText || t(\"buttons.no\");\r\n\r\n return (\r\n 0 ? `${confirmTxt} (${counter})` : confirmTxt}\r\n cancelBtnText={cancelTxt}\r\n showCancel\r\n disabled={confirmDisabled} // Deshabilita el botón de confirmación según el estado del contador\r\n customButtons={customButtons}\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 confirmText: PropTypes.string,\r\n cancelText: PropTypes.string\r\n};\r\n\r\nModalConfirm.defaultProps = {\r\n timer: 3,\r\n confirmStyle: \"success\",\r\n cancelStyle: \"info\",\r\n customButtons: null,\r\n confirmText: null,\r\n cancelText: null\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, footer, 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 footer &&\r\n \r\n {footer}\r\n \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 footer: PropTypes.element\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 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 EndParticipationInProtocol: 8\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 adverseEvent: \"adverse-event\",\r\n personalHistory: \"personal-history\"\r\n}\r\n\r\nexport const conceptType = {\r\n drugs: \"Drugs\",\r\n procedures: \"Procedures\",\r\n events: \"Events\",\r\n prescriptions: \"Prescriptions\",\r\n orders: \"Orders\"\r\n}\r\n\r\nexport const interopSystemEnum = {\r\n SnomedCT: 0,\r\n LOINC: 10,\r\n ICD10: 20,\r\n ICD11: 21,\r\n BR_CMED: 30,\r\n BR_CBHPM: 31,\r\n VADEMECUM: 41\r\n}\r\n","import React from 'react';\r\nimport { Label } from 'react-bootstrap'\r\nimport moment from 'moment';\r\nimport { IconSVG } from '../Icons/Icons';\r\nimport { patientInProtocolStatus, visitStatus } from '../../variables/Enums';\r\nimport i18n from '../../i18n';\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 console.log(date, format, moment(date).utcOffset())\r\n try {\r\n // moment(date).utcOffset() == 0 entonces es UTC. \r\n // date.length > 30 entonces ya tiene el locale del UI.\r\n //var localeDate = date.endsWith(\"Z\") || date.length > 30 ? new Date(date) : new Date(date + \"Z\");\r\n var localeDate = date.length > 31 ? new Date(date) : new Date(date + \"Z\");\r\n\r\n //var localeDate = moment(date).utcOffset() != 0 ? 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 function toLocaleDateTimeFormatter(dateTime, format = 'DD/MM/YYYY HH:mm') {\r\n if (!dateTime)\r\n return ( );\r\n\r\n try {\r\n //var date = moment(dateTime).utcOffset() != 0 ? new Date(dateTime) : new Date(dateTime + \"Z\");\r\n var localeDate = dateTime.length > 31 ? new Date(dateTime) : new Date(dateTime + \"Z\");\r\n return ( {moment(localeDate).format(format)});\r\n }\r\n catch (error) {\r\n console.log(error, dateTime)\r\n return ( {moment(dateTime).format(format)} UTC);\r\n }\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}\r\n\r\nexport const visitStatusFormatter = (status) => {\r\n if (status === null || status === undefined)\r\n return \"\";\r\n\r\n switch (status) {\r\n case visitStatus.Started:\r\n return ();\r\n case visitStatus.Completed:\r\n return ();\r\n case visitStatus.Skipped:\r\n return ();\r\n case visitStatus.Failed:\r\n return ();\r\n case visitStatus.Changed:\r\n return ();\r\n case visitStatus.AutoCompleted:\r\n return ();\r\n default:\r\n return \"\";\r\n }\r\n}\r\n\r\nexport const patientVisitStatusFormatter = (status) => {\r\n if (status === null || status === undefined)\r\n return \"\";\r\n\r\n switch (status) {\r\n case patientInProtocolStatus.Screening:\r\n return ();\r\n case patientInProtocolStatus.Random:\r\n return ();\r\n case patientInProtocolStatus.Treatment:\r\n return ();\r\n case patientInProtocolStatus.FollowUp:\r\n return ();\r\n case patientInProtocolStatus.Failed:\r\n return ();\r\n case patientInProtocolStatus.LostToFollowUp:\r\n return ();\r\n case patientInProtocolStatus.WithoutDrugs:\r\n return ();\r\n case patientInProtocolStatus.Discontinuation:\r\n return ();\r\n case patientInProtocolStatus.EndParticipationInProtocol:\r\n return ();\r\n default:\r\n return \"\";\r\n }\r\n}","import { ErrorMessage } from 'formik';\r\nimport moment from 'moment';\r\nimport PropTypes from 'prop-types';\r\nimport React, { 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\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(\"from\", selectedValue);\r\n setFieldValue(\"lockFrom\", selectedValue.format(\"HH:mm\"));\r\n }\r\n\r\n\r\n if (controlName === \"to\") {\r\n setFieldValue(\"to\", selectedValue);\r\n setFieldValue(\"lockTo\", selectedValue.format(\"HH:mm\"));\r\n }\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 if (!event.medicalServiceId)\r\n return;\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 if (event.medicalServiceId) 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 Warning(messageKey) {\r\n\r\n let message = i18n.t(messageKey);\r\n\r\n toast.warning();\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 ErrorMessage(messageKey) {\r\n\r\n const message = i18n.t(messageKey);\r\n\r\n toast.error();\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\nimport { CustomDate } from '../CustomControls/CustomDateTime';\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 /**\r\n * Obtengo Profesionales del Protocolo.\r\n * @param {*} protocolId \r\n */\r\n const _getProtocolPractitioners = async (protocolId) => {\r\n try {\r\n setIsLoading(true);\r\n const response = await getPractitionersByProtocol(protocolId);\r\n setPractitioners(response.data.data?.filter(x => x.speciality));\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 /**\r\n * Obtiene todos los protocolos. \r\n * @returns PaginatedProtocols\r\n */\r\n const _getAllProtocols = async () => {\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 /**\r\n * Obtengo Médicos que atiendan al Servicio Médico.\r\n */\r\n const _getMedicalServices = async () => {\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 /**\r\n * Obtengo datos (precio) del servicio médico\r\n * @param {*} medicalServiceId \r\n * @param {*} medicalInsuranceId \r\n * @param {*} medicalInsurancePlanId \r\n * @returns \r\n */\r\n const _getMedicalServicesData = async (medicalServiceId, medicalInsuranceId, medicalInsurancePlanId) => {\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 /**\r\n * Obtengo Médicos que atiendan al Servicio Médico.\r\n * @param {*} practitionerId \r\n * @param {*} medicalInsuranceId \r\n * @returns \r\n */\r\n const _getPractitionersForMedicalService = async (practitionerId, medicalInsuranceId) => {\r\n // \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 /**\r\n * Obtengo disponibilidad del médico en dicho servicio\r\n * @param {*} userId \r\n * @param {*} medicalServiceId \r\n * @param {*} medicalInsuranceId \r\n * @param {*} medicalInsurancePlanId \r\n * @param {*} isFirstTime \r\n * @param {*} isOverShift \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 setAvailability([]);\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 setFieldValue(\"selectedDate\", null);\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 = (name, date) => {\r\n if (!moment.isMoment(date))\r\n return;\r\n\r\n setFieldValue(name, 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 {\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().min(0).max(20).nullable(),\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(),\r\n streetName: Yup.string(),\r\n streetNumber: Yup.string().matches(/^[0-9]*$/)\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 endOfTask: Yup.date().nullable(),\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.hide !== true && 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({\r\n value: Yup.string().nullable().matches(/^(?<=\\s|^)\\d+(?=\\s|$)/,\r\n {\r\n message: 'Solo se adminten números enteros',\r\n }).required()\r\n });\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 }).required()\r\n });\r\n case \"TimeField\":\r\n return Yup.object().shape({ value: Yup.date().nullable().required() });\r\n case \"DateField\":\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 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().nullable();\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 getFreezerSchema = () => {\r\n return Yup.object().shape({\r\n freezer: Yup.object().shape({\r\n Description: Yup.string().nullable().required(),\r\n Location: Yup.string().nullable(),\r\n Type: Yup.object().nullable().required(),\r\n State: Yup.object().nullable().required(),\r\n })\r\n })\r\n}\r\n\r\nexport const getDeviceSchema = () => {\r\n return Yup.object().shape({\r\n device: Yup.object().shape({\r\n Name: Yup.string().nullable().required(),\r\n State: Yup.object().nullable().required()\r\n })\r\n })\r\n}\r\n\r\nexport const getAssignDeviceSchema = () => {\r\n return Yup.object().shape({\r\n freezer: Yup.object().shape({\r\n FreezerId: Yup.string().nullable().required(),\r\n Id: Yup.number().min(1).nullable().required(),\r\n })\r\n })\r\n}\r\n\r\nexport const getFreezerConfigurationSchema = () => {\r\n return Yup.object().shape({\r\n configuration: Yup.object().shape({\r\n MinTemperature: Yup.number().required(),\r\n MaxTemperature: Yup.number().required().when([\"MinTemperature\"], (MinTemperature, schema) => {\r\n return schema.min(MinTemperature);\r\n }),\r\n AssignedFreezers: Yup.array().of(Yup.string()).optional()\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 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(props.expanded);\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 {expanded && children}\r\n
    \r\n
    \r\n )\r\n}\r\n\r\nExpandableContent.defaultProps = {\r\n expandedAll: false,\r\n expanded: true\r\n}\r\n\r\nExpandableContent.propTypes = {\r\n expandedAll: PropTypes.bool,\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 { FormErrorMessage } from '../Validations/FormValidationErrors';\r\nimport { googleAPIKey } from '../../variables/Constants';\r\nimport { ExpandableContent } from '../CustomControls/ExpandableContent';\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 \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\nimport { Facebook, Instagram, Twitter } from '../Icons/Icons';\r\nimport { ExpandableContent } from '../CustomControls/ExpandableContent';\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 \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 { 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\nimport { ExpandableContent } from \"../CustomControls/ExpandableContent\";\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\n\r\n return (\r\n \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};","export function EnumValue(value, name) {\r\n this.Value = value;\r\n this.Name = name;\r\n}","import { EnumValue } from \"./Utils\";\r\n\r\nexport function IotDevice({ id, name, createAt, freezerId, state, certificatePath } = {}) {\r\n this.Id = id ?? 0;\r\n this.Name = name ?? null;\r\n this.CreateAt = createAt ?? null;\r\n this.FreezerId = freezerId\r\n this.State = DeviceStates.TryParseState(state)\r\n this.CertificatePath = certificatePath;\r\n}\r\n\r\nexport const DeviceStates = {\r\n Active: new EnumValue(1, \"active\"),\r\n Asociated: new EnumValue(2, \"asociated\"),\r\n InRepair: new EnumValue(3, \"in repair\"),\r\n Deleted: new EnumValue(4, \"deleted\"),\r\n\r\n TryParseState: (state) => {\r\n switch (state?.toLowerCase()) {\r\n default:\r\n case \"active\": return DeviceStates.Active\r\n case \"asociated\": return DeviceStates.Asociated\r\n case \"in repair\": return DeviceStates.InRepair\r\n case \"deleted\": return DeviceStates.Deleted\r\n }\r\n },\r\n\r\n ToArray: () => {\r\n const arr = new Array();\r\n arr.push(DeviceStates.Active)\r\n arr.push(DeviceStates.InRepair)\r\n arr.push(DeviceStates.Asociated)\r\n return arr;\r\n }\r\n}","import { IotDevice } from \"./IotDevice\";\r\nimport { EnumValue } from \"./Utils\";\r\n\r\nexport function Freezer({ id, description, device, createAt, deviceId, location, type, state } = {}) {\r\n this.Id = id ?? null;\r\n this.Description = description ?? null;\r\n this.Device = device != null ? new IotDevice(device) : null;\r\n this.DeviceId = deviceId ?? 0;\r\n this.CreateAt = createAt ?? null;\r\n this.Location = location ?? null;\r\n this.State = FreezerStates.TryParseState(state)\r\n this.Type = FreezerTypes.TryParseState(type)\r\n this.HasDevice = function () { return this.Device != null || this.DeviceId > 0; }\r\n}\r\n\r\n\r\n\r\nexport const FreezerTypes = {\r\n Ambient: new EnumValue(1, \"ambient\"),\r\n Fridge: new EnumValue(2, \"fridge\"),\r\n Freezer: new EnumValue(3, \"freezer\"),\r\n UltraFreezer: new EnumValue(4, \"ultra freezer\"),\r\n\r\n TryParseState: (state) => {\r\n switch (state?.toLowerCase()) {\r\n default:\r\n case \"ambient\": return FreezerTypes.Ambient\r\n case \"fridge\": return FreezerTypes.Fridge\r\n case \"freezer\": return FreezerTypes.Freezer\r\n case \"ultra freezer\": return FreezerTypes.UltraFreezer\r\n }\r\n },\r\n\r\n ToArray: () => {\r\n const arr = new Array();\r\n arr.push(FreezerTypes.Ambient)\r\n arr.push(FreezerTypes.Fridge)\r\n arr.push(FreezerTypes.Freezer)\r\n arr.push(FreezerTypes.UltraFreezer)\r\n return arr;\r\n }\r\n}\r\n\r\nexport const FreezerStates = {\r\n Active: new EnumValue(1, \"active\"),\r\n InRepair: new EnumValue(2, \"in repair\"),\r\n Inactive: new EnumValue(3, \"inactive\"),\r\n Deleted: new EnumValue(4, \"deleted\"),\r\n\r\n TryParseState: (state) => {\r\n switch (state?.toLowerCase()) {\r\n default:\r\n case \"active\": return FreezerStates.Active\r\n case \"in repair\": return FreezerStates.InRepair\r\n case \"inactive\": return FreezerStates.Inactive\r\n case \"deleted\": return FreezerStates.Deleted\r\n }\r\n },\r\n\r\n ToArray: () => {\r\n const arr = new Array();\r\n arr.push(FreezerStates.Active)\r\n arr.push(FreezerStates.InRepair)\r\n arr.push(FreezerStates.Inactive)\r\n return arr;\r\n }\r\n}\r\n\r\n","import React from \"react\";\r\nimport { ErrorMessage } from 'formik';\r\nimport { Grid, Row, Col, FormGroup, ControlLabel, FormControl } from 'react-bootstrap'\r\nimport { FreezerStates, FreezerTypes, Freezer } from \"../../../api/Freezer/Entities/Freezer\";\r\nimport { CustomSelect } from \"../../../components/CustomControls/CustomSelect\";\r\nimport Card from \"../../../components/Cards/Card\";\r\nimport { FormErrorMessage } from \"../../../components/Validations/FormValidationErrors\";\r\n\r\nexport function FreezerForm({ values, handleSubmit, handleChange, handleBlur, t, onCancel, isSubmitting, setFieldValue, setFieldTouched }) {\r\n if (!values.freezer) {\r\n values.freezer = new Freezer()\r\n }\r\n const { freezer } = values;\r\n\r\n const isEdition = (freezer.Id !== null && freezer.Id !== \"\")\r\n return (\r\n \r\n \r\n {t(\"commons.description\")}\r\n \r\n \r\n \r\n\r\n \r\n {t(\"commons.location\")}\r\n \r\n \r\n \r\n\r\n \r\n {t(\"commons.type\")}\r\n t(`settings.freezer.types.${option.Name}`)}\r\n getOptionValue={(option) => option.Value}\r\n />\r\n \r\n\r\n {isEdition && \r\n {t(\"commons.status\")}\r\n t(`settings.freezer.states.${option.Name}`)}\r\n getOptionValue={(option) => option.Value}\r\n />\r\n }\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n />\r\n )\r\n}","export function Url(basePath) {\r\n const BasePath = basePath;\r\n return (path) => `${BasePath}${path ?? \"\"}`\r\n}\r\nexport function ResponseResult({ succeeded, errors, value = null }) {\r\n this.Succeeded = succeeded ?? false;\r\n this.Value = value ?? null\r\n this.Errors = errors ?? [];\r\n}\r\n\r\nexport function PaginationResult({ values = [], pageSize = 10, totalPages = 1, totalCount = 0, pageNumber = 1, hasNext = false, hasPrevious = false, search = '', sortColumn = null, sortOrder = null } = {}) {\r\n this.Values = values;\r\n this.TotalPages = totalPages;\r\n this.PageSize = pageSize;\r\n this.TotalCount = totalCount;\r\n this.PageNumber = pageNumber;\r\n this.HasNext = hasNext;\r\n this.HasPrevious = hasPrevious;\r\n this.Search = search;\r\n this.SortColumn = sortColumn;\r\n this.SortOrder = sortOrder;\r\n\r\n this.ToPage = function (page) {\r\n if (page <= 0) return null\r\n if (page > this.TotalPages) return null\r\n\r\n return new PaginationRequest({ pageNumber: page, pageSize: this.PageSize, search: this.Search, sortColumn: this.SortColumn, sortOrder: this.SortOrder })\r\n }\r\n}\r\n\r\nexport function PaginationRequest({ search = '', pageNumber = 1, pageSize = 10, sortColumn = null, sortOrder = null, tenantId } = {}) {\r\n this.search = search;\r\n this.pageNumber = pageNumber;\r\n this.pageSize = pageSize;\r\n this.sortColumn = sortColumn;\r\n this.sortOrder = sortOrder;\r\n this.tenant = tenantId\r\n}\r\n\r\nexport function GetBlobData({ data, headers }) {\r\n const blob = new Blob([data], { type: data.type })\r\n const contentDisposition = headers['content-disposition']\r\n let fileName = 'unknown'\r\n\r\n if (contentDisposition) {\r\n const fileNameMatch = contentDisposition.match(/filename[^;=\\n]*=((['\"]).*?\\2|[^;\\n]*)/)\r\n if (fileNameMatch.length > 1)\r\n fileName = fileNameMatch[1].replace(/['\"]+/g, '');\r\n }\r\n\r\n return { blob, fileName }\r\n}","import axios from \"axios\";\r\nimport { PaginationRequest, PaginationResult, ResponseResult, Url } from \"./Util\";\r\nimport { Freezer } from \"./Entities/Freezer\";\r\nimport { IotDevice } from \"./Entities/IotDevice\";\r\n\r\nconst GetUrl = Url(\"api/v1/Freezer\");\r\n\r\nexport default {\r\n Find,\r\n Create,\r\n Update,\r\n Delete,\r\n GetById,\r\n GetAvailableDevices\r\n}\r\n\r\nasync function Find({ search, pageNumber, sortOrder, pageSize, withDevices = false, freezerIds = [] } = {}){\r\n const response = await axios.post(GetUrl('/Find'), { search, pageNumber, sortOrder, pageSize, withDevices, freezerIds });\r\n const data = new PaginationResult(response.data);\r\n data.Values = data.Values.map(f => new Freezer(f))\r\n return data;\r\n}\r\n\r\nasync function Create(freezer) {\r\n const response = await axios.post(GetUrl(), { ...freezer, State: freezer.State.Name, Type: freezer.Type.Name });\r\n return new ResponseResult({ ...response.data, value: new Freezer(response.data.value) });\r\n}\r\nasync function Update(freezer) {\r\n const response = await axios.put(GetUrl(), { ...freezer, State: freezer.State.Name, Type: freezer.Type.Name });\r\n return new ResponseResult({ ...response.data, value: new Freezer(response.data.value) });\r\n}\r\nasync function Delete(freezerId) {\r\n const response = await axios.delete(GetUrl(`/${freezerId}`));\r\n return new ResponseResult({ ...response.data })\r\n}\r\n\r\nasync function GetById(id) {\r\n if (id == null || id == '') throw new Error('The ID can not be empty')\r\n const response = await axios.get(GetUrl(`/${id}`))\r\n return new Freezer(response.data.value);\r\n}\r\n\r\n\r\nasync function GetAvailableDevices() {\r\n const response = await axios.get(GetUrl(\"/AvailableDevices\"))\r\n const result = new ResponseResult(response.data);\r\n result.Value.map(d => new IotDevice(d))\r\n return result\r\n}\r\n\r\n","import React from \"react\";\r\nimport { withTranslation } from \"react-i18next\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { withFormik } from 'formik';\r\nimport { FreezerForm } from \"./FreezerForm\";\r\nimport FreezerService from \"../../../api/Freezer/FreezerService\";\r\nimport { getFreezerSchema } from \"../../../components/Validations/FormValidationSchema\";\r\nimport { ErrorMessage, Success } from \"../../../components/Notifications/Notifications\";\r\n\r\nexport default function CreateFreezerContainer() {\r\n let history = useHistory();\r\n\r\n const handleSubmit = () => {\r\n history.push(`/admin/settings/freezers`);\r\n }\r\n const handleCancel = () => {\r\n history.push(`/admin/settings/freezers`);\r\n }\r\n\r\n return (\r\n \r\n )\r\n}\r\n\r\nconst CreateFreezerContainerFormik = withTranslation()(withFormik({\r\n mapPropsToValues: (props) => ({}),\r\n validationSchema: getFreezerSchema(),\r\n handleSubmit: async (values, formikBag) => {\r\n try {\r\n const result = await FreezerService.Create(values.freezer)\r\n if (result.Succeeded) {\r\n Success(\"commons.successSave\")\r\n formikBag.props.onSubmit();\r\n } else {\r\n formikBag.props.onSubmit(false);\r\n ErrorMessage(\"errors.serverError\")\r\n }\r\n } catch (err) {\r\n ErrorMessage(\"errors.serverError\")\r\n } finally {\r\n formikBag.setSubmitting(false);\r\n }\r\n },\r\n displayName: 'FreezerForm',\r\n})(FreezerForm))","import { useEffect, useState } from \"react\"\r\nconst props = {\r\n onLoad: async () => { },\r\n onError: async (err) => err,\r\n}\r\n\r\nexport default function useLoading({ onLoad, onError } = props) {\r\n const [isLoading, setLoading] = useState(false)\r\n const [reload, setReload] = useState(false)\r\n\r\n useEffect(() => {\r\n if (!onLoad) return;\r\n\r\n async function fetchData() {\r\n setLoading(true);\r\n setReload(false);\r\n try {\r\n await onLoad();\r\n } catch (err) {\r\n if (onError)\r\n onError(err)\r\n } finally {\r\n setLoading(false);\r\n }\r\n }\r\n\r\n fetchData()\r\n }, [reload])\r\n\r\n const useLoad = async (callback, errCallback = null) => {\r\n setLoading(true);\r\n try {\r\n await callback();\r\n } catch (err) {\r\n if (errCallback) errCallback(err)\r\n } finally {\r\n setLoading(false);\r\n }\r\n }\r\n const doReaload = () => setReload(true)\r\n\r\n return [isLoading, useLoad, doReaload]\r\n}","import { withFormik } from \"formik\";\r\nimport React from \"react\";\r\nimport { withTranslation } from \"react-i18next\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { FreezerForm } from \"./FreezerForm\";\r\nimport useFreezer from \"../useFreezer\";\r\nimport PropTypes from 'prop-types'\r\nimport FreezerService from \"../../../api/Freezer/FreezerService\";\r\nimport { getFreezerSchema } from \"../../../components/Validations/FormValidationSchema\";\r\nimport { ErrorMessage, Success } from \"../../../components/Notifications/Notifications\";\r\n\r\nexport default function EditFreezerContainer({ match: { params } }) {\r\n let history = useHistory();\r\n const [freezer, isLoading] = useFreezer(params.freezerId ?? \"\")\r\n\r\n const handleSubmit = () => {\r\n history.push(`/admin/settings/freezers`);\r\n }\r\n const handleCancel = () => {\r\n history.push(`/admin/settings/freezers`);\r\n }\r\n\r\n if (!freezer.Id)\r\n return null;\r\n\r\n return (\r\n \r\n )\r\n}\r\n\r\nconst EditFreezerContainerFormik = withTranslation()(withFormik({\r\n mapPropsToValues: ({ freezer }) => ({ freezer }),\r\n validationSchema: getFreezerSchema(),\r\n handleSubmit: async (values, formikBag) => {\r\n try {\r\n const result = await FreezerService.Update(values.freezer)\r\n if (result.Succeeded)\r\n Success(\"commons.successSave\")\r\n else\r\n ErrorMessage(\"errors.serverError\")\r\n } catch (err) {\r\n ErrorMessage(\"errors.serverError\")\r\n } finally {\r\n formikBag.setSubmitting(false);\r\n }\r\n },\r\n displayName: 'FreezerForm'\r\n})(FreezerForm))\r\n\r\nEditFreezerContainerFormik.propTypes = {\r\n onSubmit: PropTypes.func.isRequired,\r\n onCancel: PropTypes.func.isRequired,\r\n}\r\n\r\n","import { useState } from \"react\"\r\nimport useLoading from \"../../components/Common/useLoading\"\r\nimport { PaginationRequest, PaginationResult } from \"../../api/Freezer/Util\"\r\nimport FreezerService from \"../../api/Freezer/FreezerService\"\r\n\r\nconst propsTemplate = { ...new PaginationRequest(), withDevices: true }\r\n\r\nexport default function useFreezers(props = propsTemplate) {\r\n const [pagedFreezers, setPagedFreezers] = useState(new PaginationResult())\r\n const [isLoading, useLoad, reload] = useLoading({\r\n onLoad: async () => {\r\n const result = await FreezerService.Find(props)\r\n setPagedFreezers(result)\r\n },\r\n onError: () => {\r\n setPagedFreezers(new PaginationResult())\r\n }\r\n })\r\n\r\n const Navigation = {\r\n ToPage: async ({ page }) => useLoad(async () => {\r\n const request = pagedFreezers.ToPage(page);\r\n\r\n if (request == null) return\r\n\r\n const result = await FreezerService.Find({ ...request, withDevices: true })\r\n setPagedFreezers(result)\r\n }),\r\n Reload: reload\r\n }\r\n\r\n return [pagedFreezers, isLoading, Navigation]\r\n}","import React from \"react\";\r\nimport { useTranslation } from 'react-i18next'\r\nimport BootstrapTable from 'react-bootstrap-table-next';\r\nimport paginationFactory from 'react-bootstrap-table2-paginator';\r\nimport { Edit, Remove, Attach } from \"../../../components/Icons/Icons\";\r\nimport { Tooltip } from \"../../../components/Utils/Tooltips\";\r\nimport { WithAuth } from \"../../../components/Authorization/WithAuth\";\r\n\r\nexport function Freezers({ pagedFreezers, isLoading, onEdit, onRemove, onTableChange, onOpenCertificate }) {\r\n const { t } = useTranslation();\r\n\r\n const columns = [\r\n { dataField: 'Description', text: t(\"commons.description\"), headerStyle: { width: '15.625rem' } },\r\n { dataField: 'Location', text: t(\"commons.location\"), headerStyle: { width: '12.5rem' } },\r\n { dataField: 'State', text: t(\"commons.status\"), headerStyle: { width: '8rem' }, formatter: function (_cell, freezer, rowIndex) { return freezer.State !== null ? t(`settings.freezer.states.${freezer.State.Name}`) : \"-\" } },\r\n { dataField: 'Type', text: t(\"commons.type\"), headerStyle: { width: '8rem' }, formatter: function (_cell, freezer, rowIndex) { return freezer.Type !== null ? t(`settings.freezer.types.${freezer.Type.Name}`) : \"-\" } },\r\n {\r\n text: t(\"settings.freezer.device\"), headerStyle: { width: '4rem' }\r\n , formatter: function (_cell, freezer, rowIndex) {\r\n return freezer.HasDevice() ? freezer.Device.Name : \" - \"\r\n }\r\n },\r\n {\r\n dataField: 'view',\r\n text: \"\",\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 {row.Device?.CertificatePath != null && }\r\n \r\n
    \r\n )\r\n }\r\n }\r\n ]\r\n\r\n return (\r\n <>\r\n <>{t(\"commons.noData\")}}\r\n />\r\n \r\n )\r\n}","import React from \"react\";\r\nimport { Modal, Button } from 'react-bootstrap'\r\nimport { useTranslation } from 'react-i18next'\r\nimport FreezerService from \"../../../api/Freezer/FreezerService\";\r\nimport { ErrorMessage, Success } from \"../../../components/Notifications/Notifications\";\r\nimport useLoading from \"../../../components/Common/useLoading\";\r\n\r\nexport function DeleteFreezerModal({ state: { show, value, onClose, onEvent } }) {\r\n const { t } = useTranslation();\r\n const [isLoading, withLoad] = useLoading()\r\n\r\n\r\n const onDelete = async () => {\r\n await withLoad(async () => {\r\n try {\r\n const result = await FreezerService.Delete(value.Id)\r\n if (result.Succeeded)\r\n Success(t('commons.deleteSuccess'))\r\n else\r\n ErrorMessage(t('commons.deleteError'))\r\n } finally {\r\n onClose()\r\n onEvent(\"reload\")\r\n }\r\n })\r\n }\r\n\r\n if (!show) return null\r\n\r\n return (\r\n \r\n \r\n {t(\"commons.deleteTitle\")} - {value?.Description}\r\n \r\n \r\n {t('commons.confirmRemove')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}","import { useReducer } from \"react\"\r\n\r\nfunction ModalStateReducer(state, action) {\r\n switch (action.type?.toLowerCase()) {\r\n case 'open': return { value: action.value, show: true }\r\n case 'close':\r\n default: return { value: undefined, show: false }\r\n }\r\n}\r\n\r\nexport function useModalContext({ handleEvent } = {}) {\r\n const [state, dispatch] = useReducer(ModalStateReducer, {\r\n show: false,\r\n value: undefined\r\n })\r\n\r\n const onClose = () => dispatch({ type: 'close' })\r\n const onOpen = (value) => dispatch({ type: 'open', value: value })\r\n const onEvent = (e) => { if (handleEvent !== null) handleEvent(e) }\r\n\r\n return [{ ...state, onClose, onEvent }, onOpen]\r\n}","import React from \"react\";\r\nimport { Spinner } from \"../Utils/Loaders\";\r\n\r\nexport default function Loader({ children, isLoading, loadingText }) {\r\n if (!isLoading)\r\n return children;\r\n return (\r\n
    \r\n \r\n {loadingText && {loadingText}}\r\n
    )\r\n}","import React from \"react\";\r\nimport { useTranslation } from 'react-i18next';\r\nimport { useUserInfoSignData } from \"../../containers/Users/Hooks\";\r\nimport Card from \"../Cards/Card\";\r\nimport { dateTimeFormatter, toLocaleDateTimeFormatter } from '../Utils/Formatter'\r\n\r\nconst Sign = ({ fullName, speciality, registrationNumber, sign, created, locale }) => {\r\n const { t } = useTranslation();\r\n\r\n if (!fullName)\r\n return null;\r\n\r\n return (\r\n \r\n
    {t(\"sign.signedBy\")}: {fullName}
    \r\n
    {t(\"sign.specialty\")}: {`${speciality} ${registrationNumber || \"\"}`}
    \r\n
    {t(\"sign.signed\")}:\r\n \r\n {locale ? toLocaleDateTimeFormatter(created) : dateTimeFormatter(created)}\r\n \r\n
    \r\n {\r\n sign && \r\n }\r\n \r\n }\r\n />\r\n );\r\n}\r\n\r\nexport const SignWithOutInfo = ({ signedBy, created, locale }) => {\r\n\r\n const [isLoading, userInfo] = useUserInfoSignData(signedBy);\r\n\r\n if (!signedBy || isLoading)\r\n return null;\r\n\r\n return \r\n}\r\n\r\nSignWithOutInfo.defaultProps = {\r\n locale: false\r\n}","import DocViewer, { DocViewerRenderers } from \"@cyntler/react-doc-viewer\";\r\nimport PropTypes from 'prop-types';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { useTranslation } from \"react-i18next\";\r\nimport \"../../../assets/sass/lbd/_documentViewer.scss\";\r\nimport { SignWithOutInfo } from \"../../DigitalSign/Sign\";\r\nimport { ModalData } from \"../../Modals/ModalData\";\r\nimport { Spinner } from \"../../Utils/Loaders\";\r\n\r\nexport const DocumentViewer = ({ file, fileName, inModal, isLoading, date, userId }) => {\r\n const { t } = useTranslation();\r\n const [isShowing, setIsShowing] = useState(true);\r\n\r\n const rigthClickBlock = (event) => {\r\n event.preventDefault()\r\n }\r\n useEffect(() => {\r\n if (file) {\r\n document.addEventListener('contextmenu', rigthClickBlock);\r\n setIsShowing(true);\r\n }\r\n else {\r\n document.removeEventListener('contextmenu', rigthClickBlock);\r\n setIsShowing(false);\r\n }\r\n\r\n return () => {\r\n document.removeEventListener('contextmenu', rigthClickBlock);\r\n };\r\n }, [file]);\r\n\r\n const toggleModal = () => {\r\n try { window.URL.revokeObjectURL(urlBlob); }\r\n catch (error) { console.error(error) }\r\n setIsShowing(!isShowing);\r\n };\r\n\r\n if (!file)\r\n return null;\r\n\r\n let urlBlob = window.URL.createObjectURL(file);\r\n\r\n const viewer = (\r\n \r\n );\r\n\r\n if (inModal)\r\n return (\r\n }>\r\n <>\r\n {isLoading ?? }\r\n {viewer}\r\n \r\n \r\n )\r\n\r\n return viewer;\r\n /* \r\n return ();*/\r\n}\r\n\r\nDocumentViewer.defaultProps = {\r\n inModal: true\r\n};\r\n\r\nDocumentViewer.propTypes = {\r\n fileName: PropTypes.string,\r\n file: PropTypes.object,\r\n inModal: PropTypes.bool,\r\n userId: PropTypes.string,\r\n date: PropTypes.string\r\n};","import axios from \"axios\";\r\nimport { GetBlobData, PaginationRequest, PaginationResult, ResponseResult, Url } from \"./Util\";\r\nimport { IotDevice } from \"./Entities/IotDevice\";\r\n\r\nconst GetUrl = Url(\"api/v1/IotDevice\");\r\n\r\nexport default {\r\n Find,\r\n AssignFreezer,\r\n GetById,\r\n Create,\r\n Delete,\r\n UploadCertificate,\r\n GetCertificate\r\n}\r\n\r\nasync function Find(request = {}) {\r\n const { search, pageNumber, sortOrder, pageSize } = request\r\n\r\n const response = await axios.get(GetUrl('/Find'), { params: new PaginationRequest({ sortColumn: 'name', search, pageNumber, sortOrder, pageSize }) });\r\n const data = new PaginationResult(response.data)\r\n data.Values = data.Values.map(f => new IotDevice(f))\r\n return data;\r\n\r\n}\r\n\r\nasync function AssignFreezer({ freezerId, deviceId }) {\r\n if (freezerId == null || freezerId == '') throw new Error('FreezerId: The ID can not be empty')\r\n if (isNaN(deviceId)) throw new Error('DeviceId: Numeric ID is required');\r\n\r\n const response = await axios.post(GetUrl('AssignFreezer'), { Id: deviceId, FreezerId: freezerId });\r\n return response.data.Succeeded;\r\n}\r\nasync function GetById(id) {\r\n if (isNaN(id)) throw new Error('Numeric ID is required')\r\n\r\n const response = await axios.get(GetUrl(`/${id}`))\r\n return new IotDevice(response.data.value);\r\n}\r\n\r\nasync function Create(device) {\r\n const response = await axios.post(GetUrl(), { ...device });\r\n return new ResponseResult({ ...response.data, value: new IotDevice(response.data.value) });\r\n}\r\n\r\nasync function Delete(deviceId) {\r\n if (isNaN(deviceId)) throw new Error('Numeric ID is required')\r\n\r\n const response = await axios.delete(GetUrl(`/${deviceId}`));\r\n return new ResponseResult({ ...response.data })\r\n}\r\n\r\nasync function UploadCertificate(deviceId, file) {\r\n const formData = new FormData();\r\n formData.append('certificate', file);\r\n const response = await axios.post(GetUrl(`/UploadCertificate/${deviceId}`), formData, {\r\n headers: {\r\n 'Content-Type': 'application/pdf'\r\n }\r\n });\r\n return new ResponseResult(response.data)\r\n}\r\n\r\nasync function GetCertificate(path) {\r\n const response = await axios.get(path, { responseType: 'blob' })\r\n const blob = GetBlobData(response)\r\n return blob\r\n}","import React, { useContext, useState } from \"react\";\r\nimport { useTranslation } from 'react-i18next'\r\nimport { NavLink, useHistory } from \"react-router-dom\"\r\nimport useFreezers from '../useFreezers';\r\nimport { Freezers } from \"./Freezers\";\r\nimport Card from \"../../../components/Cards/Card\";\r\nimport { Add } from \"../../../components/Icons/Icons\";\r\nimport { DeleteFreezerModal } from \"./DeleteFreezerModal.jsx\";\r\nimport FreezerService from \"../../../api/Freezer/FreezerService\";\r\nimport { useModalContext } from \"../../../components/Modals/useModalContext\";\r\nimport Loader from \"../../../components/Common/Loader\";\r\nimport { WithAuth } from \"../../../components/Authorization/WithAuth\";\r\nimport { DocumentViewer } from \"../../../components/CustomControls/DocViewer/DocumentViewer\";\r\nimport DeviceService from \"../../../api/Freezer/DeviceService\";\r\n\r\nexport default function FreezersContainer({ }) {\r\n const { t } = useTranslation()\r\n let history = useHistory();\r\n const [pagedFreezers, isLoading, navigation] = useFreezers()\r\n const [certificate, setCertificate] = useState(null)\r\n const [modalContext, openDeleteModal] = useModalContext({\r\n handleEvent: (e) => navigation.Reload()\r\n })\r\n\r\n\r\n const handleEdit = (freezerId) => {\r\n history.push(`/admin/settings/freezers/${freezerId}`);\r\n }\r\n const handleRemove = async (freezerId) => {\r\n if (freezerId) {\r\n const freezer = await FreezerService.GetById(freezerId)\r\n openDeleteModal(freezer)\r\n }\r\n }\r\n\r\n const handleTableChange = (type, { page, sizePerPage, sortField, sortOrder }) => {\r\n navigation.ToPage({ page })\r\n }\r\n\r\n const handleOpenCertificate = async (path) => {\r\n const result = await DeviceService.GetCertificate(path)\r\n setCertificate(result)\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n {t(\"settings.freezer.add\")}\r\n \r\n \r\n \r\n }\r\n content={\r\n \r\n \r\n }\r\n />\r\n \r\n \r\n \r\n )\r\n}\r\n\r\n\r\n\r\n","import React from \"react\";\r\nimport { withTranslation } from \"react-i18next\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { withFormik } from 'formik';\r\nimport { getDeviceSchema } from \"../../../components/Validations/FormValidationSchema\";\r\nimport { ErrorMessage, Success } from \"../../../components/Notifications/Notifications\";\r\nimport DeviceService from \"../../../api/Freezer/DeviceService\";\r\nimport { DeviceForm } from \"./DeviceForm\";\r\n\r\nexport default function CreateIotDeviceContainer() {\r\n let history = useHistory();\r\n\r\n const handleSubmit = () => {\r\n history.push(`/admin/settings/devices`);\r\n }\r\n const handleCancel = () => {\r\n history.push(`/admin/settings/devices`);\r\n }\r\n\r\n return (\r\n \r\n )\r\n}\r\n\r\nconst CreateFreezerContainerFormik = withTranslation()(withFormik({\r\n mapPropsToValues: (props) => ({}),\r\n validationSchema: getDeviceSchema(),\r\n handleSubmit: async (values, formikBag) => {\r\n try {\r\n const result = await DeviceService.Create(values.device)\r\n if (result.Succeeded) {\r\n Success(\"commons.successSave\")\r\n formikBag.props.onSubmit();\r\n } else {\r\n formikBag.props.onSubmit(false);\r\n ErrorMessage(\"errors.serverError\")\r\n }\r\n } catch (err) {\r\n ErrorMessage(\"errors.serverError\")\r\n } finally {\r\n formikBag.setSubmitting(false);\r\n\r\n }\r\n },\r\n displayName: 'DeviceForm',\r\n})(DeviceForm))","import React from \"react\";\r\nimport { ErrorMessage } from 'formik';\r\nimport { Grid, Row, Col, FormGroup, ControlLabel, FormControl } from 'react-bootstrap'\r\nimport { CustomSelect } from \"../../../components/CustomControls/CustomSelect\";\r\nimport Card from \"../../../components/Cards/Card\";\r\nimport { FormErrorMessage } from \"../../../components/Validations/FormValidationErrors\";\r\nimport { DeviceStates, IotDevice } from \"../../../api/Freezer/Entities/IotDevice\";\r\n\r\nexport function DeviceForm({ values, handleSubmit, handleChange, handleBlur, t, onCancel, isSubmitting, setFieldValue, setFieldTouched }) {\r\n if (!values.device) {\r\n values.device = new IotDevice()\r\n }\r\n const { device } = values;\r\n const isEdition = (device.Id !== null && device.Id > 0)\r\n return (\r\n \r\n \r\n {t(\"commons.name\")}\r\n \r\n \r\n \r\n\r\n {isEdition && \r\n {t(\"settings.device.detail.state\")}\r\n t(`settings.device.states.${option.Name}`)}\r\n getOptionValue={(option) => option.Value}\r\n />\r\n }\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n />\r\n )\r\n}","import React from \"react\"\r\nimport './Field.css'\r\n\r\nexport const Field = ({ title, value }) => {\r\n return (
    \r\n
    \r\n {title}: \r\n
    \r\n
    \r\n {value}\r\n
    \r\n
    )\r\n}","import React, { useState } from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport Card from \"../../../components/Cards/Card\";\r\nimport { Col, Row, Grid, Modal, Button } from 'react-bootstrap';\r\nimport useIotDevice from \"../useIotDevice\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport Loader from \"../../../components/Common/Loader\";\r\nimport moment from \"moment\";\r\nimport { DocumentViewer } from \"../../../components/CustomControls/DocViewer/DocumentViewer\";\r\nimport useLoading from \"../../../components/Common/useLoading\";\r\nimport { useModalContext } from \"../../../components/Modals/useModalContext\";\r\nimport DeviceService from \"../../../api/Freezer/DeviceService\";\r\nimport { ErrorMessage, Success } from \"../../../components/Notifications/Notifications\";\r\nimport { Field } from \"../../../components/Common/Field/Field\";\r\n\r\nexport default function DeviceDetails({ match: { params } }) {\r\n const history = useHistory();\r\n const { t } = useTranslation();\r\n const [device, isLoading, reload, getCertificate] = useIotDevice(params.deviceId ?? 0)\r\n\r\n const [certificate, setCertificate] = useState(null)\r\n const [modalContext, openModal] = useModalContext({\r\n handleEvent: (e) => {\r\n reload()\r\n }\r\n })\r\n\r\n const handleCancel = () => {\r\n history.push(`/admin/settings/devices`);\r\n }\r\n\r\n const handleCertificate = async () => {\r\n openModal(device.Id)\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\nfunction UploadCertificateModal({ state: { show, value, onClose, onEvent } }) {\r\n const [certificate, setCertificate] = useState(null)\r\n const [isLoading, withLoad] = useLoading()\r\n const { t } = useTranslation();\r\n const onHandleUpload = (e) => withLoad(async () => {\r\n try {\r\n const file = certificate.files[0]\r\n const result = await DeviceService.UploadCertificate(value, file)\r\n if (result.Succeeded)\r\n Success(t('commons.fileUploaded'))\r\n else\r\n ErrorMessage(t('errors.serverError'))\r\n } catch (err) {\r\n ErrorMessage(t('errors.serverError'))\r\n } finally {\r\n onEvent(\"reload\")\r\n onClose()\r\n }\r\n });\r\n\r\n const setFile = (e) => {\r\n console.log(e)\r\n setCertificate(e.target)\r\n }\r\n\r\n if (!show) return null\r\n\r\n return (<>\r\n \r\n \r\n {t('commons.certificate')}\r\n \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 } from \"react\"\r\nimport useLoading from \"../../components/Common/useLoading\"\r\nimport DeviceService from \"../../api/Freezer/DeviceService\"\r\nimport { PaginationRequest, PaginationResult } from \"../../api/Freezer/Util\"\r\nimport { ErrorMessage } from \"../../components/Notifications/Notifications\"\r\n\r\nconst propsTemplate = { ...new PaginationRequest() }\r\nexport default function useIotDevices(props = propsTemplate) {\r\n const [pagedDevices, setPagedDevices] = useState(new PaginationResult())\r\n const [isLoading, useLoad, reload] = useLoading({\r\n onLoad: async () => {\r\n const result = await DeviceService.Find({ ...propsTemplate })\r\n setPagedDevices(result)\r\n },\r\n onError: () => {\r\n setPagedDevices(new PaginationResult())\r\n }\r\n })\r\n\r\n const Navigation = {\r\n ToPage: async ({ page }) => useLoad(async () => {\r\n const request = pagedDevices.ToPage(page);\r\n\r\n if (request == null) return\r\n\r\n const result = await DeviceService.Find(request)\r\n setPagedDevices(result)\r\n }),\r\n Reload: reload\r\n }\r\n\r\n return [pagedDevices, isLoading, Navigation]\r\n}","import React from \"react\";\r\nimport { useTranslation } from 'react-i18next'\r\nimport BootstrapTable from 'react-bootstrap-table-next';\r\nimport paginationFactory from 'react-bootstrap-table2-paginator';\r\nimport { Tooltip } from \"../../../components/Utils/Tooltips\";\r\nimport { Edit, Remove, Attach } from \"../../../components/Icons/Icons\";\r\nimport { WithAuth } from \"../../../components/Authorization/WithAuth\";\r\n\r\nexport default function IotDevices({ pagedDevices, isLoading, onTableChange, onRemove, onDetail }) {\r\n const { t } = useTranslation();\r\n const columns = [\r\n { dataField: 'Id', text: 'ID', headerStyle: { width: '3rem' } },\r\n { dataField: 'Name', text: t(\"commons.name\"), headerStyle: { width: '15.625rem' } },\r\n { dataField: 'State', text: t(\"commons.state\"), headerStyle: { width: '10rem' }, formatter: function (_cell, device, rowIndex) { return device.State !== null ? t(`settings.device.states.${device.State.Name}`) : \"-\" } },\r\n {\r\n dataField: 'view',\r\n text: t(\"\"),\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 return (\r\n <>\r\n <>{t(\"commons.noData\")}}\r\n />\r\n \r\n )\r\n}","import React from \"react\";\r\nimport { Modal, Button } from 'react-bootstrap'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { ErrorMessage, Success } from \"../../../components/Notifications/Notifications\";\r\nimport useLoading from \"../../../components/Common/useLoading\";\r\nimport DeviceService from \"../../../api/Freezer/DeviceService\";\r\n\r\nexport function DeleteDeviceModal({ state: { show, value, onClose, onEvent } }) {\r\n const { t } = useTranslation();\r\n const [isLoading, withLoad] = useLoading()\r\n\r\n const onDelete = async () => {\r\n await withLoad(async () => {\r\n try {\r\n const result = await DeviceService.Delete(value.Id)\r\n if (result.Succeeded)\r\n Success(t('commons.deleteSuccess'))\r\n else\r\n ErrorMessage(t('commons.deleteError'))\r\n } finally {\r\n onClose()\r\n onEvent(\"reload\")\r\n }\r\n })\r\n }\r\n\r\n if (!show) return null\r\n\r\n return (\r\n \r\n \r\n {t(\"commons.deleteTitle\")} - {value?.Name}\r\n \r\n \r\n {t('commons.confirmRemove')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}","import React from \"react\";\r\nimport { useTranslation } from 'react-i18next'\r\nimport useIotDevices from \"../useIotDevices\";\r\nimport IotDevices from \"./IotDevices\";\r\nimport Card from \"../../../components/Cards/Card\";\r\nimport Loader from \"../../../components/Common/Loader\";\r\nimport { DeleteDeviceModal } from \"./DeleteDeviceModal\";\r\nimport { useModalContext } from \"../../../components/Modals/useModalContext\";\r\nimport DeviceService from \"../../../api/Freezer/DeviceService\";\r\nimport { NavLink, useHistory } from \"react-router-dom\"\r\nimport { WithAuth } from \"../../../components/Authorization/WithAuth\";\r\nimport { Add } from \"../../../components/Icons/Icons\";\r\n\r\nexport default function IotDevicesContainers({ }) {\r\n const { t } = useTranslation();\r\n let history = useHistory();\r\n const [pagedDevices, isLoading, navigation] = useIotDevices()\r\n const [modalContext, openDeleteModal] = useModalContext({\r\n handleEvent: (e) => navigation.Reload()\r\n })\r\n\r\n const handleTableChange = (type, { page, sizePerPage, sortField, sortOrder }) => {\r\n navigation.ToPage({ page })\r\n }\r\n\r\n const handleRemove = async (deviceId) => {\r\n if (deviceId) {\r\n const device = await DeviceService.GetById(deviceId)\r\n openDeleteModal(device)\r\n }\r\n }\r\n\r\n const handleDetail = async (deviceId) => {\r\n history.push(`/admin/settings/devices/detail/${deviceId}`);\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n {t(\"settings.device.add\")}\r\n \r\n \r\n \r\n }\r\n content={\r\n \r\n \r\n }\r\n />\r\n \r\n \r\n )\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\nimport { getPractitionersByProtocol } from \"../../api/protocol\";\r\n\r\nexport const TextBoxUsersMentions = (props) => {\r\n const { name, value, disabled, onChange, onBlur, maxLength, isInternalNotes, isExternalNotes, protocolId } = 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 debouncedHandleOnSearch = useCallback(\r\n debounce((query, callback) => {\r\n if (protocolId)\r\n getPractitionersByProtocol(protocolId, query, isInternalNotes, isExternalNotes)\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 else\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 }, INPUT_DELAY),\r\n []\r\n );\r\n\r\n const handleSearch = useCallback((query, callback) => {\r\n if (!query) return;\r\n\r\n debouncedHandleOnSearch(query, callback);\r\n }, [debouncedHandleOnSearch]);\r\n\r\n //const onSearch = (query, callback) => {\r\n // if (!query) return;\r\n // if (isProtocol)\r\n // getPractitionersByProtocol(protocolId, 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 // else\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 isProtocol: false\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 isProtocol: 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 protocolId: 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(null);\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 { Audit, 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, onAuditTrail, 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 {\r\n onAuditTrail &&\r\n \r\n {t('protocols.visitTracking.auditTrail')}\r\n \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 debounce from \"lodash.debounce\";\r\nimport PropTypes from 'prop-types';\r\nimport React, { useCallback, useEffect, useState } from \"react\";\r\nimport ReactQuill from \"react-quill\";\r\nimport 'react-quill/dist/quill.snow.css';\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 const INPUT_DELAY = 300;\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 /*const toolbarOptions = [\r\n ['bold', 'italic', 'underline', 'strike'], // toggled buttons\r\n ['blockquote', 'code-block'],\r\n ['link', 'image', 'video', 'formula'],\r\n\r\n [{ 'header': 1 }, { 'header': 2 }], // custom button values\r\n [{ 'list': 'ordered' }, { 'list': 'bullet' }, { 'list': 'check' }],\r\n [{ 'script': 'sub' }, { 'script': 'super' }], // superscript/subscript\r\n [{ 'indent': '-1' }, { 'indent': '+1' }], // outdent/indent\r\n [{ 'direction': 'rtl' }], // text direction\r\n\r\n [{ 'size': ['small', false, 'large', 'huge'] }], // custom dropdown\r\n [{ 'header': [1, 2, 3, 4, 5, 6, false] }],\r\n\r\n [{ 'color': [] }, { 'background': [] }], // dropdown with defaults from theme\r\n [{ 'font': [] }],\r\n [{ 'align': [] }],\r\n\r\n ['clean'] // remove formatting button\r\n ];\r\n */\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nRichTextControl.defaultProps = {\r\n autoFocus: false,\r\n isDisabled: false,\r\n toolbar: [\r\n ['bold', 'italic', 'underline', 'strike'],\r\n [{ 'color': [] }],\r\n [{ 'indent': '-1' }, { 'indent': '+1' }],\r\n [{ 'align': [] }],\r\n ['clean']\r\n ],\r\n height: 400\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};\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 if (!dateTime)\r\n return \"\";\r\n\r\n return (<>{moment(dateTime).format('DD/MM/YYYY HH:mm')} );\r\n}\r\n\r\nexport const customDateTimeFormatterString = (dateTime) => {\r\n if (!dateTime)\r\n return \"\";\r\n\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 = async (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 setOptions(response.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 return true}\r\n options={Array.isArray(options) ? options : []}\r\n isLoading={isLoading}\r\n onSearch={onSearch}\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, reason, comments) => {\r\n return deleteCondition(entryId, id, reason, comments);\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}","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, patientVisitStatusFormatter, timeFormatter, visitStatusFormatter, yesNoFormatter, yesNoNotApplyFormatter } from '../../components/Utils/Formatter';\r\nimport { HighLight } from '../CustomControls/CustomTextStyle';\r\nimport isequal from \"lodash.isequal\";\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 case \"All\":\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 if (item._t) {\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 !== null && value !== undefined) {\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 if (item.propertyName) {\r\n switch (item.propertyName) {\r\n case \"Status\":\r\n return visitStatusFormatter(value);\r\n case \"PatientStatus\":\r\n return patientVisitStatusFormatter(value);\r\n default: {\r\n if (value !== null && value !== undefined) {\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\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 // Si se borró un item, el \"for\" lo hago desde oldValues. \r\n const values = isequal(item.newValues, {}) ? item.oldValues : item.newValues;\r\n for (var propertyName in values) {\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 case \"visittrackingextraform\":\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 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, parentKey, 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, parentKey)\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,\r\n entityId: PropTypes.oneOfType([\r\n PropTypes.string,\r\n PropTypes.number\r\n ]).isRequired,\r\n parentKey: PropTypes.oneOfType([\r\n PropTypes.string,\r\n PropTypes.number\r\n ]),\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, condition) => {\r\n try {\r\n return getAdverseEventHistoryAPI(medicalRecordNumber, conceptId, condition);\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 console.log(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 if (entryStatus === \"Published\" || entryStatus === \"AutoPublished\") {\r\n setContent( setContent(null)}\r\n onSave={(reason, comments) => onConfirmChangeDiagnosis(value, reason, comments)}\r\n />)\r\n }\r\n else {\r\n onConfirmChangeDiagnosis(value);\r\n }\r\n }\r\n const onConfirmChangeDiagnosis = async (value, reason, comments) => {\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, reason?.code, comments);\r\n setContent(null);\r\n }\r\n catch (error) {\r\n HandleApiError(error);\r\n setContent(null);\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 HandleApiError(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, Remove, 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 props.onRemove && 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, removeAdverseEventAPI } 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\nimport { Success } from '../../../components/Notifications/Notifications';\r\nimport { ModalConfirm } from '../../../components/Modals/ModalConfirm';\r\nimport { HandleApiError } from '../../../components/Notifications/APIErrorHandler';\r\nimport { ModalSpinner } from '../../../components/Utils/Loaders';\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 //#region Delete item with audit\r\n const handleRemove = (id) => {\r\n setContent(\r\n confirmRemoveItem(id)}\r\n onCancel={() => setContent(null)}\r\n title={t(\"medicalRecordsNotifications.item_delete_title\")}\r\n description={t(\"medicalRecordsNotifications.item_delete_description\")}\r\n confirmStyle=\"danger\"\r\n />);\r\n }\r\n const confirmRemoveItem = (id) => {\r\n if (entryStatus === \"Published\" || entryStatus === \"AutoPublished\") {\r\n setContent( setContent(null)}\r\n onSave={(reason, comments) => _removeItemAudited(id, reason, comments)}\r\n />)\r\n }\r\n else {\r\n _removeItemAudited(id, null, null);\r\n }\r\n }\r\n const _removeItemAudited = async (id, reason, comments) => {\r\n try {\r\n setContent();\r\n await removeAdverseEventAPI(entryId, id, reason?.code, comments);\r\n setReload(true);\r\n setContent(null);\r\n Success(\"medicalRecordsNotifications.item_DeletedSuccessfully\");\r\n }\r\n catch (error) {\r\n setContent(null);\r\n console.log(error);\r\n HandleApiError(error);\r\n }\r\n }\r\n //#endregion\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, toLocaleDateTimeFormatter } 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 {\r\n dataField: 'created', text: t('commons.date'), formatter: function (cell) {\r\n return props.inProtocol ? toLocaleDateTimeFormatter(cell, \"DD/MM/YY\") : dateFormatter(cell, \"DD/MM/YY\")\r\n }, headerClasses: 'header-date'\r\n },\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, TimeSeriesScale, Title, Tooltip, Decimation, TimeScale } from 'chart.js';\r\nimport ChartDataLabels from 'chartjs-plugin-datalabels';\r\nimport React from 'react';\r\nimport { Bar, Line } from 'react-chartjs-2';\r\nimport 'chartjs-adapter-moment';\r\n\r\nChartJS.register(\r\n CategoryScale,\r\n LinearScale,\r\n BarElement,\r\n PointElement,\r\n LineElement,\r\n TimeSeriesScale,\r\n TimeScale,\r\n ChartDataLabels,\r\n Title,\r\n Tooltip,\r\n Legend,\r\n Decimation,\r\n);\r\n\r\nexport const Chart = ({ data, type, options }) => {\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, Remove, 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 props.onRemoveResult && row.entryId == props.entryId &&\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\"),\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\")}\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\")}\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 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 { useTranslation } from 'react-i18next'\r\nimport { dateFormatter, dateTimeFormatter } from '../Utils/Formatter'\r\n\r\nexport const AuditProtocolUserRole = (props) => {\r\n const { data, isLoading } = props;\r\n const { t } = useTranslation();\r\n\r\n const columns = [\r\n { dataField: 'actionDateTime', text: t('protocols.auditUserRole.dateTime'), formatter: dateTimeFormatter },\r\n { dataField: 'actionByUser.fullName', text: t('protocols.auditUserRole.actionBy') },\r\n { dataField: 'role.name', text: t('protocols.auditUserRole.role') },\r\n { dataField: 'start', text: t('protocols.auditUserRole.start'), formatter: function (cell) { return dateFormatter(cell, \"DD/MM/YYYY\") } },\r\n { dataField: 'end', text: t('protocols.auditUserRole.end'), formatter: function (cell) { return dateFormatter(cell, \"DD/MM/YYYY\") } }\r\n ];\r\n\r\n return (\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\nAuditProtocolUserRole.propTypes = {\r\n};","import React, { useState } from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\n//Components\r\nimport { Col, Row } from 'react-bootstrap';\r\nimport { AuditProtocolUserRole } from '../../../components/AuditTrail/AuditUserRole';\r\nimport { PractitionerPicker } from '../../../components/CustomControls/PractitionerPicker';\r\nimport { useAuditsUserRole } from './hooks';\r\n\r\nexport const AuditUserRoleContainer = ({ protocolId }) => {\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\r\n const [getAudits, audits, isLoading] = useAuditsUserRole(protocolId);\r\n\r\n const handleSearch = (_name, value) => {\r\n if (value)\r\n getAudits(value.userId);\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 \r\n \r\n \r\n \r\n \r\n );\r\n}","import { useState } from \"react\";\r\nimport { getAuditProtocolUserRoleAPI } from \"../../../api/admin\";\r\nimport { getUsersByIdAPI } from \"../../../api/identity\";\r\nimport { getStudyRolesByIdAPI } from \"../../../api/security\";\r\nimport { HandleApiError } from \"../../../components/Notifications/APIErrorHandler\";\r\n\r\nexport const useAuditsUserRole = (protocolId) => {\r\n const [audits, setAudits] = useState([]);\r\n const [isLoading, setIsLoading] = useState(false);\r\n\r\n const fetchData = async (userId) => {\r\n setIsLoading(true);\r\n try {\r\n setIsLoading(true);\r\n var response = await getAuditProtocolUserRoleAPI(protocolId, userId);\r\n if (!response.data)\r\n return null;\r\n \r\n // Obtengo datos del usuario q realizó la acción\r\n var usersResponse = await getUsersByIdAPI(response.data.map(x => { return x.actionBy }))\r\n if (usersResponse.data) {\r\n response.data.forEach(item => {\r\n item.actionByUser = usersResponse.data.find(x => x.userId == item.actionBy)\r\n });\r\n }\r\n\r\n // Obtengo datos del Rol\r\n var rolesResponse = await getStudyRolesByIdAPI(response.data.map(x => { return x.roleId }))\r\n if (rolesResponse.data) {\r\n response.data.forEach(item => {\r\n item.role = rolesResponse.data.find(x => x.id == item.roleId)\r\n });\r\n }\r\n console.log(response.data)\r\n\r\n setAudits(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 return [fetchData, audits, isLoading];\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 { AuditModal, CreateAuditModal } from \"../../../components/AuditTrail/AuditModal\";\r\nimport { WithAuth } from \"../../../components/Authorization/WithAuthProtocol\";\r\nimport Card from \"../../../components/Cards/Card\";\r\nimport { Add, Audit } 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\nimport { ModalSpinner } from \"../../../components/Utils/Loaders\";\r\nimport { AuditTrail } from \"../../Admin/AuditTrail\";\r\nimport { AuditUserRoleContainer } from \"../Audit/AuditUserRole\";\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 //#region Delete item with audit\r\n const handleDeletePractitioner = (practitioner) => {\r\n setModal( setModal(null)}\r\n onConfirm={() => { confirmRemoveItem(practitioner) }}\r\n />);\r\n }\r\n const confirmRemoveItem = (practitioner) => {\r\n setModal( setModal(null)}\r\n onSave={(reason, comments) => _removeItemAudited(practitioner.userId, reason, comments)}\r\n />)\r\n }\r\n const _removeItemAudited = async (practitionerId, reason, comments) => {\r\n try {\r\n setModal();\r\n await removePractitioner(protocolId, practitionerId, reason?.code, comments);\r\n setReload(true);\r\n setModal(null);\r\n Success(\"protocolNotifications.practitioners_Deleted\");\r\n }\r\n catch (error) {\r\n setModal(null);\r\n console.log(error);\r\n HandleApiError(error);\r\n }\r\n }\r\n //#endregion\r\n\r\n //#region Audit\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 const handleAuditProtocolUserRole = () => {\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 //#endregion\r\n\r\n return (\r\n \r\n \r\n \r\n {modal}\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 { 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 case patientInProtocolStatus.EndParticipationInProtocol:\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 { useEffect, useState } from \"react\";\r\nimport { copyVisitsAPI, getAllVisits, getVisits } 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 [reload, setReload] = 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 setReload(false);\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, reload]);\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, setReload];\r\n}\r\n\r\nexport const useVisits = () => {\r\n const [data, setData] = useState([]);\r\n const [isLoading, setIsLoading] = useState(false);\r\n\r\n const fetchData = async (protocolId) => {\r\n setIsLoading(true);\r\n try {\r\n const response = await getVisits(protocolId);\r\n setData(response.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 return [fetchData, data, setData, isLoading];\r\n}\r\n\r\nexport const useCopyVisits = () => {\r\n const [isLoading, setIsLoading] = useState(false);\r\n\r\n const copyVisits = async (protocolId, fromProtocolId, selectedVisitIds) => {\r\n try {\r\n setIsLoading(true);\r\n const response = await copyVisitsAPI(protocolId, fromProtocolId, selectedVisitIds);\r\n setIsLoading(false);\r\n\r\n return response;\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 [copyVisits, isLoading];\r\n}","import React, { useState } from 'react';\r\n\r\nimport { ControlLabel, Col, 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 { ProtocolPicker } from '../../CustomControls/ProtocolPicker';\r\nimport { Copy } from '../../Icons/Icons';\r\nimport { OffsetTypes, VisitStages } from './Enums';\r\n\r\nexport const CopyVisits = ({ visits, isLoading, onSelectedProtocol, onCopyVisits, onCancel }) => {\r\n const { t } = useTranslation();\r\n const [selectedProtocol, setSelectedProtocol] = useState(null);\r\n const [selectedVisits, setSelectedVisits] = useState([]);\r\n\r\n const handleProtocolSelected = (_name, selected) => {\r\n if (onSelectedProtocol && selected && selected.length > 0) {\r\n setSelectedProtocol(selected[0].id);\r\n onSelectedProtocol(selected[0].id);\r\n }\r\n else {\r\n setSelectedProtocol(null);\r\n onSelectedProtocol(null);\r\n }\r\n }\r\n\r\n const handleCopyVisits = () => {\r\n if (selectedProtocol && selectedVisits.length > 0)\r\n onCopyVisits(selectedProtocol, selectedVisits);\r\n }\r\n\r\n const columns = [\r\n { dataField: 'title', text: t(\"protocols.visit.visitName\") },\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\r\n const selectRow = {\r\n mode: 'checkbox',\r\n onSelect: (row, isSelect) => {\r\n if (isSelect)\r\n setSelectedVisits(selectedVisits.concat(row.id));\r\n else\r\n setSelectedVisits(selectedVisits.filter((id) => id !== row.id));\r\n },\r\n onSelectAll: (isSelect, rows) => {\r\n if (isSelect) {\r\n setSelectedVisits(rows.map(r => r.id));\r\n }\r\n else {\r\n setSelectedVisits([]);\r\n }\r\n },\r\n };\r\n\r\n return (<>\r\n \r\n \r\n \r\n {t(\"protocols.visit.copyVisits_selectProtocol\")}\r\n \r\n \r\n\r\n \r\n \r\n {\r\n visits && visits.length > 0 &&\r\n \r\n \r\n \r\n {t(\"protocols.visit.copyVisits_protocolVisits\")}\r\n <>{t(\"commons.noData\")}}\r\n loading={isLoading}\r\n overlay={overlayFactory({ spinner: true })}\r\n selectRow={selectRow}\r\n />\r\n \r\n \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 { CopyVisits } from '../../../components/Protocols/Visit/CopyVisits';\r\nimport { useCopyVisits, useVisits } from './useVisits';\r\n\r\nexport const CopyVisitsContainer = ({ protocolId, onClose }) => {\r\n\r\n const [getVisits, data, setData, isLoading] = useVisits();\r\n const [copyVisits, isLoadingCopyVisits] = useCopyVisits();\r\n\r\n const handleSelectedProtocol = (id) => {\r\n if (id)\r\n getVisits(id);\r\n else\r\n setData([])\r\n }\r\n\r\n const handleCopyVisits = async (originProtocolId, selectedVisitIds) => {\r\n if (!originProtocolId || !selectedVisitIds || selectedVisitIds.length === 0)\r\n return;\r\n\r\n // Llamo al backend para copiar visitas. \r\n var res = await copyVisits(protocolId, originProtocolId, selectedVisitIds);\r\n onClose();\r\n }\r\n\r\n return \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\nimport { CopyVisitsContainer } from './CopyVisits';\r\nimport { ModalData } from '../../../components/Modals/ModalData';\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, setReload] = 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 //#region CopyVisits\r\n const handleCopyVisits = () => {\r\n setModal( setModal(null)}\r\n >\r\n { setReload(true); setModal(null) }} />\r\n \r\n );\r\n }\r\n\r\n //#endregion\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 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 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 { Freezer } from \"./Freezer\";\r\n\r\nexport function ProtocolFreezerConfiguration({ id, minTemperature, maxTemperature, assignedFreezers } = {}) {\r\n this.Id = id ?? null;\r\n this.MinTemperature = minTemperature ?? 0;\r\n this.MaxTemperature = maxTemperature ?? 0;\r\n this.AssignedFreezers = assignedFreezers?.map(a => new Freezer(a)) ?? [];\r\n\r\n this.IsTemperatureValid = function (value) {\r\n return (value >= this.MinTemperature) && (value <= this.MaxTemperature) \r\n }\r\n}","import axios from \"axios\";\r\nimport { ResponseResult, Url } from \"./Util\";\r\nimport { Freezer } from \"./Entities/Freezer\";\r\nimport { ProtocolFreezerConfiguration } from \"./Entities/ProtocolFreezerConfiguration\";\r\n\r\nconst GetUrl = Url(\"api/v1/Freezer/Protocol\");\r\n\r\nexport default {\r\n Configure,\r\n GetConfigById,\r\n GetUnassignedFreezers,\r\n GetProtocolConfigs\r\n}\r\n\r\nasync function Configure(protocol) {\r\n const obj = { ...protocol, protocolId: protocol.Id };\r\n const response = await axios.post(GetUrl('/Configure')\r\n , { ...protocol, protocolId: protocol.Id })\r\n\r\n return new ResponseResult(response.data);\r\n}\r\n\r\nasync function GetConfigById(protocolId) {\r\n const response = await axios.get(GetUrl(`/${protocolId}`))\r\n return new ResponseResult({ ...response.data, value: new ProtocolFreezerConfiguration({ ...response.data.value }) })\r\n}\r\n\r\nasync function GetUnassignedFreezers(protocolId) {\r\n const response = await axios.get(GetUrl(`/${protocolId}/Unassigned`))\r\n var freezers = response.data.value.map(f => new Freezer(f));\r\n return new ResponseResult({ ...response.data, value: [...freezers] })\r\n}\r\n\r\nasync function GetProtocolConfigs() {\r\n const response = await axios.get(GetUrl(`/Find`))\r\n const protocols = response.data.value.map(p => new ProtocolFreezerConfiguration(p));\r\n return new ResponseResult({ ...response.data, value: protocols })\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Grid, Row, Col, FormGroup, ControlLabel, FormControl } from 'react-bootstrap'\r\nimport FreezerProtocolServices from \"../../../api/Freezer/FreezerProtocolServices\";\r\nimport { withTranslation } from \"react-i18next\";\r\nimport { withFormik } from \"formik\";\r\nimport { getFreezerConfigurationSchema } from \"../../../components/Validations/FormValidationSchema\";\r\nimport { FormErrorMessage } from \"../../../components/Validations/FormValidationErrors\";\r\nimport { ErrorMessage as ErrorNotification, Success } from \"../../../components/Notifications/Notifications\";\r\nimport { ErrorMessage } from 'formik';\r\nimport { CustomSelect } from \"../../../components/CustomControls/CustomSelect\";\r\nimport { EnumValue } from \"../../../api/Freezer/Entities/Utils\";\r\nimport Loader from \"../../../components/Common/Loader\";\r\nimport useLoading from \"../../../components/Common/useLoading\";\r\n\r\nexport const ConfigurationFreezerFormik = withTranslation()(withFormik({\r\n mapPropsToStatus: ({ configuration, protocolId }) => ({ configuration, protocolId }),\r\n validationSchema: getFreezerConfigurationSchema(),\r\n handleSubmit: async (values, formikBag) => {\r\n try {\r\n formikBag.setSubmitting(true);\r\n const result = await FreezerProtocolServices.Configure({ ...values.configuration, AssignedFreezers: values.configuration.AssignedFreezers })\r\n if (result.Succeeded) {\r\n Success(\"commons.successSave\")\r\n formikBag.props.onSubmit();\r\n }\r\n else {\r\n ErrorNotification(\"errors.serverError\")\r\n formikBag.props.onSubmit(false);\r\n }\r\n } catch (err) {\r\n ErrorNotification(\"errors.serverError\")\r\n formikBag.props.onSubmit(false);\r\n } finally {\r\n formikBag.setSubmitting(false);\r\n }\r\n },\r\n displayName: 'ConfigureFreezerForm'\r\n})(ConfigureFreezerForm))\r\n\r\nfunction ConfigureFreezerForm({ values, t, handleSubmit, handleChange, handleBlur, onCancel, isSubmitting, setFieldValue, setFieldTouched }) {\r\n const [selecteableFreezers, setSelecteableFreezers] = useState([]);\r\n const [currentFreezers, setCurrentFreezers] = useState([]);\r\n const [selectedFreezers, setSelectedFreezers] = useState([])\r\n const [isLoading, reload] = useLoading({\r\n onLoad: async () => {\r\n const unassignedFreezers = await FreezerProtocolServices.GetUnassignedFreezers(values.protocolId)\r\n setSelecteableFreezers(unassignedFreezers.Value?.map(f => new EnumValue(f.Id, f.Description)) ?? [])\r\n }\r\n })\r\n\r\n useEffect(() => {\r\n setCurrentFreezers([...(values.configuration?.AssignedFreezers?.map(f => f.Id) ?? [])])\r\n values.configuration = {\r\n ...values.configuration\r\n , AssignedFreezers: [...(values.configuration?.AssignedFreezers?.map(f => f.Id) ?? [])]\r\n , Id: values.protocolId\r\n };\r\n }, [])\r\n\r\n useEffect(() => {\r\n configuration.AssignedFreezers = [...new Set([...currentFreezers, ...selectedFreezers])];\r\n }, [JSON.stringify(selectedFreezers)])\r\n const { configuration } = values;\r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n {t('protocols.freezer.minTemperature')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {t('protocols.freezer.maxTemperature')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {t('protocols.freezer.freezers')}\r\n {selecteableFreezers && selecteableFreezers.length > 0 &&\r\n {\r\n setSelectedFreezers(v?.map(v => v.Value) ?? [])\r\n }}\r\n onBlur={(e, v) => { }}\r\n name={\"configuration.AssignedFreezers\"}\r\n options={selecteableFreezers}\r\n getOptionLabel={(option) => option.Name}\r\n getOptionValue={(option) => option.Value}\r\n />\r\n ||
    {t('protocols.freezer.noAssignibleFreezers')}
    }\r\n
    \r\n \r\n
    \r\n\r\n \r\n \r\n \r\n \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 } from \"react\";\r\nimport useLoading from \"../../../components/Common/useLoading\";\r\nimport FreezerProtocolServices from \"../../../api/Freezer/FreezerProtocolServices\";\r\n\r\nexport default function useProtocolFreezer(protocolId, defaultValue) {\r\n const [protocol, setProtocol] = useState(defaultValue)\r\n const [isLoading, useLoad, reload] = useLoading({\r\n onLoad: async () => {\r\n if (isNaN(protocolId)) return;\r\n const result = await FreezerProtocolServices.GetConfigById(protocolId);\r\n if (result.Succeeded) {\r\n setProtocol(result.Value)\r\n }\r\n }\r\n })\r\n return [protocol, isLoading, reload]\r\n}","import React, { useContext, useEffect } from 'react';\r\nimport { Col, Row } from 'react-bootstrap';\r\nimport { useTranslation } from 'react-i18next';\r\nimport ProtocolContext from '../ProtocolContext/ProtocolContext';\r\nimport BootstrapTable from 'react-bootstrap-table-next';\r\nimport Card from '../../../components/Cards/Card';\r\nimport { Modal, Button } from 'react-bootstrap'\r\nimport { useModalContext } from '../../../components/Modals/useModalContext';\r\nimport { ConfigurationFreezerFormik } from './ConfigureProtocolFreezerContainer';\r\nimport Loader from '../../../components/Common/Loader';\r\nimport useProtocolFreezer from './useProtocolFreezer';\r\nimport { ProtocolFreezerConfiguration } from '../../../api/Freezer/Entities/ProtocolFreezerConfiguration';\r\nimport { Field } from '../../../components/Common/Field/Field';\r\nimport { WithAuth } from '../../../components/Authorization/WithAuthProtocol';\r\n\r\nexport default function FreezerTabContainer() {\r\n const { t } = useTranslation();\r\n const protocolContext = useContext(ProtocolContext);\r\n const [protocolConfiguration, isLoading, reload] = useProtocolFreezer(protocolContext.protocolId, null);\r\n const [modalContext, openConfigModal] = useModalContext({\r\n handleEvent: (e) => { reload() }\r\n })\r\n const onHandleConfig = () => {\r\n openConfigModal({ protocolId: protocolContext.protocolId })\r\n }\r\n\r\n const columns = [\r\n { dataField: 'Description', text: t(\"commons.description\"), headerStyle: { width: '15.625rem' } },\r\n { dataField: 'Location', text: t(\"commons.location\"), headerStyle: { width: '12.5rem' } },\r\n ]\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n }\r\n content={\r\n <>\r\n \r\n {protocolConfiguration && \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n {protocolConfiguration.AssignedFreezers?.length > 0\r\n &&\r\n
    \r\n
    {t('protocols.freezer.assignedFreezers')}
    \r\n
    \r\n <>{t(\"commons.noData\")}}\r\n />\r\n
    \r\n
    \r\n ||
    {t('protocols.freezer.emptyAssignations')}
    }\r\n
    \r\n \r\n
    \r\n ||
    \r\n \r\n {t('protocols.freezer.notConfigured')}\r\n \r\n
    }\r\n
    \r\n }\r\n />\r\n {!isNaN(protocolContext.protocolId) && }\r\n )\r\n}\r\n\r\n\r\n\r\n\r\nfunction ProtocolConfigModal({ state: { show, value, onClose, onEvent } }) {\r\n const { t } = useTranslation();\r\n const { protocolId } = value ?? {};\r\n const [protocolConfig, loading, reload] = useProtocolFreezer(protocolId, new ProtocolFreezerConfiguration({ id: protocolId }))\r\n\r\n useEffect(() => {\r\n reload()\r\n }, [protocolId])\r\n\r\n if (!show && isNaN(protocolId)) return null\r\n return (\r\n <>\r\n \r\n \r\n {t('protocols.freezer.formTitle')}\r\n \r\n \r\n \r\n {\r\n onClose()\r\n onEvent(\"reload\")\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, 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\nimport FreezerTabContainer from './Freezers/FreezerTabContainer.jsx';\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\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 PropTypes from 'prop-types'\r\nimport React, { useContext } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { NavLink } from \"react-router-dom\"\r\nimport { sortableContainer, sortableElement, sortableHandle } from 'react-sortable-hoc'\r\nimport { WithAuth } from '../../../components/Authorization/WithAuthProtocol'\r\nimport { Spinner } from '../../../components/Utils/Loaders'\r\nimport ProtocolContext from '../../../containers/Protocols/ProtocolContext/ProtocolContext'\r\nimport Card from '../../Cards/Card'\r\nimport { Add, Config, Copy } from '../../Icons/Icons'\r\nimport { arrayMoveImmutable } from '../../Utils/Commons'\r\n\r\nexport const VisitForms = props => {\r\n const { t } = useTranslation();\r\n const context = useContext(ProtocolContext);\r\n\r\n if (props.isLoading || !props.visitId)\r\n return }\r\n />\r\n\r\n //#region Sort\r\n function handleSortEnd({ oldIndex, newIndex }) {\r\n if (oldIndex == newIndex)\r\n return;\r\n const orderedForms = arrayMoveImmutable(props.forms, oldIndex, newIndex);\r\n orderedForms.forEach((form, index) => {\r\n form.order = index + 1;\r\n });\r\n\r\n if (props.onSortEnd)\r\n props.onSortEnd(orderedForms);\r\n }\r\n\r\n const DragHandle = sortableHandle(() =>
    );\r\n const SortableItem = sortableElement(({ form }) => (\r\n
  • \r\n \r\n {form}\r\n
  • \r\n ));\r\n const SortableContainer = sortableContainer(({ children }) => {\r\n return
      {children}
    ;\r\n });\r\n //#endregion\r\n\r\n const subTitleComponent = !context.isDisabled && (\r\n \r\n \r\n {t(\"protocols.visit.addVisitForm\")}\r\n \r\n {t('protocols.visit.copyForms')}\r\n \r\n );\r\n\r\n const content = (\r\n {props.forms.map((form, index) => (\r\n \r\n {form.title}\r\n }\r\n />\r\n ))}\r\n );\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nVisitForms.propTypes = {\r\n onSortEnd: 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, toLocaleDateTimeFormatter } 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: (cell) => toLocaleDateTimeFormatter(cell) },\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 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 { useTranslation } from 'react-i18next';\r\nimport { CustomSelect } from '../../../components/CustomControls/CustomSelect';\r\nimport { ProtocolPicker } from '../../../components/CustomControls/ProtocolPicker';\r\nimport { useCopyForms, useForms } from './useForms';\r\nimport { useVisits } from './useVisits';\r\nimport { Copy } from '../../../components/Icons/Icons';\r\nimport { Spinner } from '../../../components/Utils/Loaders';\r\n\r\nexport const CopyFormsContainer = ({ protocolId, visitId, crossVersionId, onCancel, onSubmitted }) => {\r\n const { t } = useTranslation();\r\n const [getVisits, data, setVisits, isVisitLoading] = useVisits();\r\n const [getForms, forms, setForms, isFormsLoading] = useForms();\r\n const [copyForms, isLoading] = useCopyForms(protocolId, visitId);\r\n const [selectedProtocolId, setSelectedProtocolId] = useState(null);\r\n const [selectedVisitId, setSelectedVisitId] = useState(null);\r\n const [selectedForms, setSelectedForms] = useState([]);\r\n\r\n const handleProtocolSelected = (_name, selected) => {\r\n setSelectedVisitId(null);\r\n if (selected && selected.length > 0) {\r\n getVisits(selected[0].id);\r\n setSelectedProtocolId(selected[0].id)\r\n }\r\n else {\r\n setSelectedProtocolId(null);\r\n setVisits([]);\r\n setForms([]);\r\n }\r\n }\r\n\r\n const handleVisitSelected = (_name, selected) => {\r\n if (selected) {\r\n getForms(selectedProtocolId, selected.crossVersionId);\r\n setSelectedVisitId(selected.crossVersionId);\r\n }\r\n else {\r\n setSelectedVisitId(null);\r\n setVisits([]);\r\n setForms([]);\r\n }\r\n }\r\n\r\n const handleCopyForms = async () => {\r\n if (selectedForms && selectedForms.length > 0) {\r\n const res = await copyForms(selectedProtocolId, selectedVisitId, selectedForms);\r\n onSubmitted()\r\n }\r\n }\r\n\r\n const columns = [\r\n { dataField: 'title', text: t(\"protocols.visit.formTitle\") },\r\n ];\r\n\r\n const selectRow = {\r\n mode: 'checkbox',\r\n onSelect: (row, isSelect) => {\r\n if (isSelect)\r\n setSelectedForms(selectedForms.concat(row.id));\r\n else\r\n setSelectedForms(selectedForms.filter((id) => id !== row.id));\r\n },\r\n onSelectAll: (isSelect, rows) => {\r\n if (isSelect) {\r\n setSelectedForms(rows.map(r => r.id));\r\n }\r\n else {\r\n setSelectedForms([]);\r\n }\r\n },\r\n };\r\n\r\n if (isLoading)\r\n return ;\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n {t(\"protocols.visit.copyVisits_selectProtocol\")}\r\n \r\n \r\n {\r\n data && data.length > 0 &&\r\n \r\n {t(\"protocols.visit.copyForms_selectVisit\")}\r\n option.title}\r\n getOptionValue={(option) => option.id}\r\n onChange={handleVisitSelected}\r\n />\r\n \r\n }\r\n \r\n \r\n {\r\n forms && forms.length > 0 &&\r\n \r\n \r\n \r\n {t(\"protocols.visit.copyForms_forms\")}\r\n <>{t(\"commons.noData\")}}\r\n loading={isFormsLoading}\r\n overlay={overlayFactory({ spinner: true })}\r\n selectRow={selectRow}\r\n />\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nCopyFormsContainer.propTypes = {\r\n protocolId: PropTypes.number.isRequired,\r\n crossVersionId: PropTypes.oneOfType([\r\n PropTypes.string,\r\n PropTypes.number\r\n ]),\r\n visitId: PropTypes.oneOfType([\r\n PropTypes.string,\r\n PropTypes.number\r\n ])\r\n};","import { useState } from \"react\";\r\nimport { copyFormsAPI, getForms } from \"../../../api/protocol\";\r\nimport { HandleApiError } from \"../../../components/Notifications/APIErrorHandler\";\r\n\r\nexport const useForms = () => {\r\n const [data, setData] = useState([]);\r\n const [isLoading, setIsLoading] = useState(false);\r\n\r\n const fetchData = async (protocolId, visitId) => {\r\n try {\r\n setIsLoading(true);\r\n const response = await getForms(protocolId, visitId);\r\n setData(response.data.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 return [fetchData, data, setData, isLoading];\r\n}\r\n\r\nexport const useCopyForms = (protocolId, visitId) => {\r\n const [isLoading, setIsLoading] = useState(false);\r\n\r\n const copyForms = async (fromProtocolId, fromVisitId, formsToCopyIds) => {\r\n try {\r\n setIsLoading(true);\r\n const response = await copyFormsAPI(protocolId, visitId, fromProtocolId, fromVisitId, formsToCopyIds);\r\n setIsLoading(false);\r\n\r\n return response;\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 [copyForms, isLoading];\r\n}","import React, { useState } from 'react';\r\n\r\nimport { Col, Grid, Row } from 'react-bootstrap';\r\nimport 'react-bootstrap-table-next/dist/react-bootstrap-table2.min.css';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { CustomRadio } from '../../CustomControls/CustomRadio';\r\nimport { Spinner } from '../../Utils/Loaders';\r\n\r\nexport const SaveAsTemplate = ({ isLoading, onCancel, onSaveAsTemplate }) => {\r\n const { t } = useTranslation();\r\n const [isCrossProtocol, setIsCrossProtocol] = useState(null);\r\n\r\n const handleCrossProtocolChange = (_controlName, selectedvalue) => {\r\n if (selectedvalue)\r\n setIsCrossProtocol(selectedvalue === \"0\" ? true : false);\r\n }\r\n\r\n if (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 \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useEffect, useState } from 'react';\r\nimport { Col, ControlLabel, Grid, Row } from 'react-bootstrap';\r\nimport { useTranslation } from 'react-i18next';\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 { DynamicFormCreator } from '../../../components/DynamicForm/DynamicFormCreator';\r\nimport { ModalData } from '../../../components/Modals/ModalData';\r\nimport { HandleApiError } from '../../../components/Notifications/APIErrorHandler';\r\nimport { Success } from '../../../components/Notifications/Notifications';\r\nimport { CustomRadio } from '../../../components/CustomControls/CustomRadio';\r\nimport { SaveAsTemplate } from '../../../components/Protocols/Visit/SaveAsTemplate';\r\n\r\nexport const VisitForm = (props) => {\r\n const { match: { params: { protocolId, formId, visitId } } } = props;\r\n let history = useHistory();\r\n const { t } = useTranslation();\r\n const [isAuthorized] = useAuthProtocol(protocolId);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [form, setForm] = useState(null);\r\n const [modal, setModal] = 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 //#region Templates\r\n const handleSaveAsTemplate = async (form) => {\r\n setModal( setModal(null)}\r\n >\r\n setModal(null)}\r\n onSaveAsTemplate={(isCrossProtocol) => confirmSaveAsTemplate(form, isCrossProtocol)}\r\n />\r\n )\r\n }\r\n\r\n const confirmSaveAsTemplate = async (form, isCrossProtocol) => {\r\n try {\r\n setIsLoading(true);\r\n const formTemplate = await createFormTemplate(protocolId, isCrossProtocol, form);\r\n Success(\"protocolNotifications.formTemplate_Created\");\r\n setIsLoading(false);\r\n setFormTemplates([...formTemplates, formTemplate.data]);\r\n setModal(null)\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 //#endregion\r\n\r\n const isDisabled = !isAuthorized([\"Visits.Add\"]);\r\n\r\n return (\r\n <>\r\n {modal}\r\n \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 { id: 8, code: \"Freezers\", title: t(\"protocolStudyRoles.modules.freezers\") },\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 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 { useTranslation } from 'react-i18next'\r\nimport { dateFormatter, dateTimeFormatter } from '../Utils/Formatter'\r\n\r\nexport const AuditRolePermissions = (props) => {\r\n const { data, isLoading } = props;\r\n const { t } = useTranslation();\r\n\r\n const columns = [\r\n { dataField: 'actionDateTime', text: t('protocols.auditUserRole.dateTime'), formatter: dateTimeFormatter },\r\n { dataField: 'actionByUser.fullName', text: t('auditTrail.user') },\r\n { dataField: 'permissions', text: t('security.roles.permissions') },\r\n { dataField: 'start', text: t('protocols.auditUserRole.start'), formatter: function (cell) { return dateFormatter(cell, \"DD/MM/YYYY\") } },\r\n { dataField: 'end', text: t('protocols.auditUserRole.end'), formatter: function (cell) { return dateFormatter(cell, \"DD/MM/YYYY\") } }\r\n ];\r\n\r\n return (\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\nAuditRolePermissions.propTypes = {\r\n};","import React from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\n//Components\r\nimport { Col, Row } from 'react-bootstrap';\r\nimport { AuditRolePermissions } from '../../../components/AuditTrail/AuditRolePermissions';\r\nimport { CustomSelect } from '../../../components/CustomControls/CustomSelect';\r\nimport { useRoleMasterData } from '../Authorization/useRoles';\r\nimport { useAuditRolePermissions } from './hooks';\r\n\r\nexport const AuditRolePermissionsContainer = () => {\r\n const { t } = useTranslation();\r\n const [, roles] = useRoleMasterData();\r\n const [getAudits, audits, isLoading] = useAuditRolePermissions();\r\n\r\n const handleSearch = (_name, value) => {\r\n if (value)\r\n getAudits(value.id);\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n x.name}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import { useState } from \"react\";\r\nimport { HandleApiError } from \"../../../components/Notifications/APIErrorHandler\";\r\nimport { getUsersByIdAPI } from \"../../../api/identity\";\r\nimport { getAuditRolePermissionsAPI, getAuditStudyRolePermissionsAPI } from \"../../../api/security\";\r\n\r\nexport const useAuditRolePermissions = () => {\r\n const [audits, setAudits] = useState([]);\r\n const [isLoading, setIsLoading] = useState(false);\r\n\r\n const fetchData = async (roleId) => {\r\n setIsLoading(true);\r\n try {\r\n setIsLoading(true);\r\n var response = await getAuditRolePermissionsAPI(roleId);\r\n if (!response.data)\r\n return null;\r\n\r\n // Obtengo datos del usuario q realizó la acción\r\n var usersResponse = await getUsersByIdAPI(response.data.filter(x => x.actionBy).map(x => { return x.actionBy }))\r\n if (usersResponse.data) {\r\n response.data.forEach(item => {\r\n item.actionByUser = usersResponse.data.find(x => x.userId == item.actionBy)\r\n });\r\n }\r\n\r\n setAudits(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 return [fetchData, audits, isLoading];\r\n}\r\n\r\n\r\nexport const useAuditStudyRolePermissions = () => {\r\n const [audits, setAudits] = useState([]);\r\n const [isLoading, setIsLoading] = useState(false);\r\n\r\n const fetchData = async (roleId) => {\r\n setIsLoading(true);\r\n try {\r\n setIsLoading(true);\r\n var response = await getAuditStudyRolePermissionsAPI(roleId);\r\n if (!response.data)\r\n return null;\r\n\r\n // Obtengo datos del usuario q realizó la acción\r\n var usersResponse = await getUsersByIdAPI(response.data.filter(x => x.actionBy).map(x => { return x.actionBy }))\r\n if (usersResponse.data) {\r\n response.data.forEach(item => {\r\n item.actionByUser = usersResponse.data.find(x => x.userId == item.actionBy)\r\n });\r\n }\r\n\r\n setAudits(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 return [fetchData, audits, isLoading];\r\n}","import React, { useContext, useEffect, useState } from \"react\";\r\nimport { Col, Row } from 'react-bootstrap';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { NavLink, useHistory } from \"react-router-dom\";\r\nimport { removeRole } from \"../../../api/security\";\r\nimport { AuditModal } from \"../../../components/AuditTrail/AuditModal\";\r\nimport { Roles } from \"../../../components/Authorization/Roles\";\r\nimport { WithAuth } from \"../../../components/Authorization/WithAuth\";\r\nimport Card from \"../../../components/Cards/Card\";\r\nimport { Add, Audit } 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\nimport { AuditRolePermissionsContainer } from \"../Audit/AuditRolePermissions\";\r\n\r\nexport const RolesContainer = () => {\r\n let history = useHistory();\r\n const { t } = useTranslation();\r\n const [modal, setModal] = useState(null);\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 //#region Audit\r\n const handleAuditUserRole = () => {\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 //#endregion\r\n\r\n return (\r\n <>\r\n {modal}\r\n \r\n \r\n \r\n \r\n {t(\"security.roles.add\")}\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 );\r\n}","import React from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\n//Components\r\nimport { Col, Row } from 'react-bootstrap';\r\nimport { AuditRolePermissions } from '../../../components/AuditTrail/AuditRolePermissions';\r\nimport { CustomSelect } from '../../../components/CustomControls/CustomSelect';\r\nimport { useAuditStudyRolePermissions } from '../../Security/Audit/hooks';\r\nimport { useStudyRoles } from '../../Security/Authorization/useStudyRoles';\r\n\r\nexport const AuditRolePermissionsContainer = () => {\r\n const { t } = useTranslation();\r\n const [studyRoles] = useStudyRoles();\r\n const [getAudits, audits, isLoading] = useAuditStudyRolePermissions();\r\n\r\n const handleSearch = (_name, value) => {\r\n if (value)\r\n getAudits(value.id);\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n x.name}\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 { useTranslation } from 'react-i18next';\r\nimport { NavLink, useHistory } from \"react-router-dom\";\r\n\r\nimport { removeStudyRole } from \"../../../api/security\";\r\nimport { AuditModal } from \"../../../components/AuditTrail/AuditModal\";\r\nimport { StudyRoles } from \"../../../components/Authorization/StudyRoles\";\r\nimport { WithAuth } from \"../../../components/Authorization/WithAuth\";\r\nimport Card from \"../../../components/Cards/Card\";\r\nimport { Add, Audit } from \"../../../components/Icons/Icons\";\r\nimport { HandleApiError } from \"../../../components/Notifications/APIErrorHandler\";\r\nimport { Success } from \"../../../components/Notifications/Notifications\";\r\nimport { AuditRolePermissionsContainer } from \"../../Protocols/Audit/AuditRolePermissions\";\r\nimport { useStudyRoles } from \"./useStudyRoles\";\r\n\r\nexport const StudyRolesContainer = (props) => {\r\n let history = useHistory();\r\n const { t } = useTranslation();\r\n const [modal, setModal] = useState(null);\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 //#region Audit\r\n const handleAuditUserRole = () => {\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 //#endregion\r\n\r\n return (\r\n <>\r\n {modal}\r\n \r\n \r\n \r\n \r\n {t(\"security.studyRoles.add\")}\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 );\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\nimport { ExpandableContent } from '../CustomControls/ExpandableContent';\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 \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 {t(\"person.jurisdiction\")}\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\nimport { ExpandableContent } from '../CustomControls/ExpandableContent';\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 \r\n \r\n \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};","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 { useState } from \"react\";\r\nimport { HandleApiError } from \"../../../components/Notifications/APIErrorHandler\";\r\nimport { getAuditUserRoleAPI, getRolesById, getUsersByIdAPI } from \"../../../api/identity\";\r\n\r\nexport const useAuditsUserRole = () => {\r\n const [audits, setAudits] = useState([]);\r\n const [isLoading, setIsLoading] = useState(false);\r\n\r\n const fetchData = async (userId) => {\r\n setIsLoading(true);\r\n try {\r\n setIsLoading(true);\r\n var response = await getAuditUserRoleAPI(userId);\r\n if (!response.data)\r\n return null;\r\n\r\n // Obtengo datos del usuario q realizó la acción\r\n var usersResponse = await getUsersByIdAPI(response.data.filter(x => x.actionBy).map(x => { return x.actionBy }))\r\n if (usersResponse.data) {\r\n response.data.forEach(item => {\r\n item.actionByUser = usersResponse.data.find(x => x.userId == item.actionBy)\r\n });\r\n }\r\n\r\n // Obtengo datos del Rol\r\n var rolesResponse = await getRolesById(response.data.map(x => { return x.roleId }))\r\n if (rolesResponse.data) {\r\n response.data.forEach(item => {\r\n let role = rolesResponse.data.find(x => x.id == item.roleId);\r\n if (role) {\r\n role.name = role.name.replace(`${role.tenantId}_`, \"\");\r\n item.role = role;\r\n }\r\n });\r\n }\r\n\r\n setAudits(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 return [fetchData, audits, isLoading];\r\n}","import React, { useState } from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\n//Components\r\nimport { Col, Row } from 'react-bootstrap';\r\nimport { AuditProtocolUserRole } from '../../../components/AuditTrail/AuditUserRole';\r\nimport { PractitionerPicker } from '../../../components/CustomControls/PractitionerPicker';\r\nimport { useAuditsUserRole } from './hooks';\r\n\r\nexport const AuditUserRoleContainer = () => {\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\r\n const [getAudits, audits, isLoading] = useAuditsUserRole();\r\n\r\n const handleSearch = (_name, value) => {\r\n if (value)\r\n getAudits(value.userId);\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 \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, Audit } from '../../components/Icons/Icons';\r\nimport { Users } from '../../components/Users/Users';\r\nimport AdminContext from '../Settings/AdminContext/AdminContext';\r\nimport { useUsers } from './Hooks';\r\nimport { AuditModal } from '../../components/AuditTrail/AuditModal';\r\nimport { AuditUserRoleContainer } from './Audit/AuditUserRole';\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 [modal, setModal] = useState(null);\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 //#region Audit\r\n const handleAuditUserRole = () => {\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 //#endregion\r\n\r\n return (\r\n <>\r\n {modal}\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 \r\n }\r\n content={\r\n \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 const indexToRemove = state.notifications.findIndex((item) => item.id === action.messageId);\r\n return {\r\n ...state,\r\n notifications: [...state.notifications.slice(0, indexToRemove), ...state.notifications.slice(indexToRemove + 1)], //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 //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 { HubConnectionState } from '@microsoft/signalr';\r\nimport React, { useEffect, 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 { useSignalR } from '../../services/signalRService';\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 const { connection } = useSignalR();\r\n\r\n useEffect(() => {\r\n if (connection) {\r\n connection.on('Agenda', res => {\r\n dispatch({\r\n type: 'NOTIFICATION_RECEIVED',\r\n payload: {\r\n ...res\r\n }\r\n });\r\n dispatch(agendaActionCreators.requestWaitingList());\r\n });\r\n\r\n return () => {\r\n // Leave group when component unmounts\r\n if (connection.connection._connectionState === HubConnectionState.Connected)\r\n connection.invoke('LeaveGroup', \"SystemNotifications\");\r\n };\r\n }\r\n }, [connection]);\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 <>\r\n {modal}\r\n \r\n \r\n );\r\n\r\n}\r\n\r\nexport default WaitingListWidgetContainer;\r\n","import React 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 WaitingListWidgetContainer from \"../containers/Agenda/WaitingListWidgetContainer.jsx\";\r\nimport SignalRProvider from \"../services/signalRService\";\r\nimport { useSelector } from 'react-redux';\r\n\r\nexport const Dashboard = () => {\r\n\r\n const user = useSelector(state => state.authentication.user);\r\n const settingsState = 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 \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\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: false },\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\nfunction handleYesNoConditionalChange(name, value, field, props) {\r\n props.setFieldValue(name, value);\r\n\r\n if (field.conditional) {\r\n field.conditional.forEach(hideFieldId => {\r\n props.values.fields.forEach((x, index) => {\r\n if (x.id === hideFieldId) {\r\n let name = `fields[${index}]`;\r\n switch (value) {\r\n case false:\r\n props.setFieldValue(`${name}.hide`, true); break;\r\n case true:\r\n props.setFieldValue(`${name}.hide`, false); break;\r\n default:\r\n break;\r\n }\r\n }\r\n });\r\n });\r\n }\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.value && field._t === \"DecimalField\" && typeof field.value === \"number\")\r\n field.value = field.value.toFixed(2);\r\n\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 = ( handleYesNoConditionalChange(name, value, field, props)}\r\n name={`${name}.value`}\r\n isClearable={!field.required} />);\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 {\r\n if (value) { setFieldValue(controlName, props.currentUser); setFieldValue(`${name}.value.validated`, Date.now()); }\r\n else { setFieldValue(controlName, null); setFieldValue(`${name}.value.validated`, null); }\r\n }\r\n } />\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 if (field.hide === true) return null;\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, { useContext } from \"react\";\r\nimport { useTranslation } from 'react-i18next';\r\nimport ProtocolContext from '../../../containers/Protocols/ProtocolContext/ProtocolContext';\r\nimport { patientInProtocolStatus, visitStage, 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\nexport const FormActions = (props) => {\r\n const {\r\n onBack,\r\n onSave,\r\n onAuditTrail,\r\n onScreenFailure,\r\n onLostToFollowUp,\r\n onWithoutDrugs,\r\n onReturnDrugs,\r\n onDiscontinuation,\r\n onRemove,\r\n onExport,\r\n visit,\r\n onEndPatientInProtocol,\r\n onRollbackVisitStatus,\r\n protocolId,\r\n isSubmitting\r\n } = props;\r\n\r\n const { t } = useTranslation();\r\n const context = useContext(ProtocolContext);\r\n\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 (\r\n (visit.status === visitStatus.Started || visit.status === visitStatus.AutoCompleted)\r\n ) &&\r\n onRemove()}\r\n disabled={isSubmitting || context.isDisabled}\r\n >\r\n {t('protocols.visitTracking.remove')}\r\n \r\n }\r\n {\r\n // Terminar participación del paciente en el protocolo\r\n (\r\n (\r\n props.patientInProtocolStatus === patientInProtocolStatus.Random ||\r\n props.patientInProtocolStatus === patientInProtocolStatus.Treatment ||\r\n props.patientInProtocolStatus === patientInProtocolStatus.FollowUp ||\r\n props.patientInProtocolStatus === patientInProtocolStatus.WithoutDrugs\r\n ) &&\r\n (visit.status === visitStatus.Completed || visit.status === visitStatus.Changed)\r\n ) &&\r\n \r\n {t('protocols.visitTracking.endPatientInProtocol')}\r\n \r\n }\r\n {\r\n // Sin Medicacion\r\n (\r\n (visit.status === visitStatus.Started || visit.status === visitStatus.AutoCompleted) &&\r\n (\r\n props.patientInProtocolStatus === patientInProtocolStatus.Random ||\r\n props.patientInProtocolStatus === patientInProtocolStatus.Treatment\r\n )\r\n &&\r\n (\r\n props.patientInProtocolStatus !== patientInProtocolStatus.WithoutDrugs\r\n )\r\n ) &&\r\n \r\n {t('protocols.visitTracking.withoutDrugs')}\r\n \r\n }\r\n { // Retornar Medicacion\r\n (\r\n (visit.status === visitStatus.Started || visit.status === visitStatus.AutoCompleted) &&\r\n (\r\n //props.patientInProtocolStatus === patientInProtocolStatus.Random ||\r\n //props.patientInProtocolStatus === patientInProtocolStatus.Treatment ||\r\n props.patientInProtocolStatus === patientInProtocolStatus.WithoutDrugs\r\n )\r\n ) &&\r\n \r\n {t('protocols.visitTracking.returnDrugs')}\r\n \r\n }\r\n { // Rollback Visit Status\r\n (visit.status === visitStatus.Skipped ||\r\n (\r\n props.patientInProtocolStatus === patientInProtocolStatus.Failed ||\r\n props.patientInProtocolStatus === patientInProtocolStatus.LostToFollowUp ||\r\n props.patientInProtocolStatus === patientInProtocolStatus.Discontinuation ||\r\n props.patientInProtocolStatus === patientInProtocolStatus.EndParticipationInProtocol\r\n )) &&\r\n \r\n {t('protocols.visitTracking.rollbackStatus')}\r\n \r\n }\r\n { // Discontinuacion\r\n (visit.status !== visitStatus.Failed && visit.status !== visitStatus.Skipped && props.patientInProtocolStatus >= patientInProtocolStatus.Random) &&\r\n \r\n {t('protocols.visitTracking.discontinuation')}\r\n \r\n }\r\n { // Falla Seguimiento (Random, Treatment, FollowUp)\r\n (\r\n (\r\n (props.patientInProtocolStatus == patientInProtocolStatus.Random) ||\r\n (props.patientInProtocolStatus == patientInProtocolStatus.Treatment) ||\r\n (props.patientInProtocolStatus == patientInProtocolStatus.FollowUp) ||\r\n (props.patientInProtocolStatus === patientInProtocolStatus.WithoutDrugs)\r\n )\r\n &&\r\n (visit.status === visitStatus.Started || visit.status === visitStatus.AutoCompleted)\r\n ) &&\r\n \r\n {t('protocols.visitTracking.lostToFollowUp')}\r\n \r\n }\r\n { // Falla de Screening.\r\n (props.patientInProtocolStatus < patientInProtocolStatus.Random) &&\r\n visit.type !== visitTypes.EarlyCompletion &&\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 PropTypes from 'prop-types';\r\nimport React, { Fragment, useContext, useState } from \"react\";\r\nimport { Alert } from 'react-bootstrap';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { NavLink } from \"react-router-dom\";\r\n\r\nimport ScrollMenu from 'react-horizontal-scrolling-menu';\r\nimport ProtocolContext from \"../../../containers/Protocols/ProtocolContext/ProtocolContext\";\r\nimport { formStatus, patientInProtocolStatus, visitStage, visitStatus } from \"../../../variables/Enums\";\r\nimport { WithAuth } from \"../../Authorization/WithAuthProtocol\";\r\nimport Card from \"../../Cards/Card\";\r\nimport { Italic } from \"../../CustomControls/CustomTextStyle\";\r\nimport { Audit, Back, Cancel, Change, Contract, Drug, Expand, Export, Next, Phone, Publish, Remove, Save, Swap, Sync, Warning } from \"../../Icons/Icons\";\r\nimport { toLocaleDateTimeFormatter } from \"../../Utils/Formatter\";\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 onRollbackVisitStatus,\r\n onRemove,\r\n onExport,\r\n onEndPatientInProtocol,\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 &&\r\n \r\n {t('protocols.visitTracking.saveUploadChanges')}\r\n \r\n }\r\n \r\n \r\n { // Guardar Visita. \r\n hasVisitTracking &&\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 (\r\n (visit.status === visitStatus.Started || visit.status === visitStatus.AutoCompleted) &&\r\n forms.filter(x => x.status > formStatus.Initial).length === 0\r\n ) &&\r\n onRemove()}\r\n disabled={isSubmitting || context.isDisabled}\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 { // Terminar participación del paciente en el protocolo\r\n (\r\n (visit.stage === visitStage.FollowUp) && (visit.status === visitStatus.Completed || visit.status === visitStatus.Changed) &&\r\n props.patientInProtocolStatus !== patientInProtocolStatus.EndParticipationInProtocol\r\n ) &&\r\n \r\n {t('protocols.visitTracking.endPatientInProtocol')}\r\n \r\n }\r\n { // Saltear\r\n (visit.status === visitStatus.Started || visit.status === visitStatus.AutoCompleted) &&\r\n \r\n {t('protocols.visitTracking.skipVisitTracking')}\r\n \r\n }\r\n { // Falla Screening (En visita Screening (siempre muestro) y Random si esta ultima nunca fue guardada (el paciente sigue en screening si nunca se completó))\r\n (\r\n props.patientInProtocolStatus !== patientInProtocolStatus.Failed &&\r\n (visit.stage === visitStage.Screening) || // En screening, siempre muestro\r\n (visit.stage === visitStage.Random && (visit.status === visitStatus.Started || visit.status === visitStatus.AutoCompleted))\r\n ) &&\r\n \r\n {t('protocols.visitTracking.screenFailure')}\r\n \r\n }\r\n { // Falla Seguimiento (Random, Treatment, FollowUp)\r\n (\r\n (\r\n (props.patientInProtocolStatus == patientInProtocolStatus.Random) ||\r\n (props.patientInProtocolStatus == patientInProtocolStatus.Treatment) ||\r\n (props.patientInProtocolStatus == patientInProtocolStatus.FollowUp) ||\r\n props.patientInProtocolStatus === patientInProtocolStatus.WithoutDrugs\r\n )\r\n &&\r\n (visit.status === visitStatus.Started || visit.status === visitStatus.AutoCompleted)\r\n ) &&\r\n \r\n {t('protocols.visitTracking.lostToFollowUp')}\r\n \r\n }\r\n { // Discontinuacion (Visible siempre, en cualquier estado de visita)\r\n (visit.status !== visitStatus.Failed && visit.status !== visitStatus.Skipped && visit.stage >= visitStage.Treatment) &&\r\n \r\n {t('protocols.visitTracking.discontinuation')}\r\n \r\n }\r\n { // Rollback Visit Status\r\n (visit.status === visitStatus.Skipped ||\r\n (\r\n props.patientInProtocolStatus === patientInProtocolStatus.Failed ||\r\n props.patientInProtocolStatus === patientInProtocolStatus.LostToFollowUp ||\r\n props.patientInProtocolStatus === patientInProtocolStatus.Discontinuation ||\r\n props.patientInProtocolStatus === patientInProtocolStatus.EndParticipationInProtocol\r\n )) &&\r\n \r\n {t('protocols.visitTracking.rollbackStatus')}\r\n \r\n }\r\n { // Sin Medicacion\r\n (\r\n (visit.stage === visitStage.Treatment) &&\r\n (visit.status === visitStatus.Started || visit.status === visitStatus.AutoCompleted) &&\r\n (props.patientInProtocolStatus !== patientInProtocolStatus.WithoutDrugs)\r\n ) &&\r\n \r\n {t('protocols.visitTracking.withoutDrugs')}\r\n \r\n }\r\n { // Retornar Medicacion\r\n (\r\n (visit.stage == visitStage.Treatment) &&\r\n (visit.status === visitStatus.Started || visit.status === visitStatus.AutoCompleted) &&\r\n (props.patientInProtocolStatus === patientInProtocolStatus.WithoutDrugs)\r\n ) &&\r\n \r\n {t('protocols.visitTracking.returnDrugs')}\r\n \r\n }\r\n { // Cambiar tipo (Protocolar/ExtraProtocolar) Solo permito cambio si nunca fue guardada (Status Started)\r\n ((visit.stage > visitStage.Screening) && (visit.status === visitStatus.Started || visit.status === visitStatus.AutoCompleted)) &&\r\n \r\n {t('protocols.visitTracking.changeVisitTrackingType')}\r\n \r\n }\r\n { // Cambiar tipo (Presencial/Telefónica)\r\n ((visit.stage > visitStage.Random) && (visit.status === visitStatus.Started || visit.status === visitStatus.AutoCompleted)) &&\r\n \r\n {t('buttons.changeType')}\r\n \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} {visit.type === 1 && }\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 ([{toLocaleDateTimeFormatter(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, protocolId }) => {\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 protocolId: PropTypes.number.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 PropTypes from 'prop-types';\r\nimport React, { useEffect, 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 { toLocaleDateFormatter } from '../../Utils/Formatter';\r\nimport { Spinner } from '../../Utils/Loaders';\r\nimport { Popover } from '../../Utils/Popover';\r\nimport { WithAuth } from '../../Authorization/WithAuthProtocol';\r\n\r\nexport const EvolutionForm = (props) => {\r\n const {\r\n evolution,\r\n visitStatus,\r\n onSave,\r\n onUpdate,\r\n onCancel,\r\n isDisabled,\r\n isLoading\r\n } = props;\r\n\r\n const { t } = useTranslation();\r\n const [collapse, setCollapse] = useState(visitStatus === 1 ? true : false);\r\n const [data, setData] = useState(null);\r\n\r\n useEffect(() => {\r\n if (evolution) {\r\n setData(evolution.text)\r\n setCollapse(false)\r\n }\r\n else {\r\n setData(null)\r\n }\r\n\r\n }, [evolution])\r\n\r\n\r\n const handleSave = () => { if (onSave && data) { onSave(data); setData(null); } }\r\n const handleEdit = () => { if (onUpdate && evolution && data) onUpdate(evolution?.id, data); }\r\n const handleCancel = () => { setData(null); setCollapse(true); if (onCancel) onCancel(); }\r\n\r\n if (isLoading)\r\n return \r\n\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n !collapse &&\r\n
    \r\n setData(value)}\r\n onBlur={() => { }}\r\n toolbar={\r\n [\r\n ['clean']\r\n ]\r\n }\r\n />\r\n\r\n \r\n \r\n \r\n {\r\n evolution && evolution.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\nEvolutionForm.defaultProps = {\r\n height: 300\r\n}\r\nEvolutionForm.propTypes = {\r\n height: PropTypes.number,\r\n visitStatus: PropTypes.number,\r\n evolution: PropTypes.object,\r\n isDisabled: PropTypes.bool,\r\n isLoading: PropTypes.bool,\r\n onSave: PropTypes.func.isRequired,\r\n onUpdate: PropTypes.func.isRequired,\r\n onCancel: PropTypes.func.isRequired\r\n};\r\n\r\nexport const Evolutions = (props) => {\r\n const { protocolId, 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 \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 { CreateAuditModal } from '../../../components/AuditTrail/AuditModal';\r\nimport Card from '../../../components/Cards/Card';\r\nimport { AuditTooltip } from '../../../components/CustomControls/AuditTooltip';\r\nimport { HandleApiError, HandleMessageError } from '../../../components/Notifications/APIErrorHandler';\r\nimport { Success } from '../../../components/Notifications/Notifications';\r\nimport { EvolutionForm, Evolutions } from '../../../components/Protocols/Tracking/Entry';\r\nimport { visitStatus } from '../../../variables/Enums';\r\nimport { useEvolutions } from './useEvolutions';\r\nimport { WithAuth } from '../../../components/Authorization/WithAuthProtocol';\r\n\r\nexport const EvolutionsContainer = (props) => {\r\n const { data, audit, title, subtitle, isDisabled, visitTrackingStatus, protocolId, medicalRecordNumber, visitType } = props;\r\n const [isLoading, saveEvolution, updateEvolution] = useEvolutions(visitType);\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) => _updateEvolution(evolutionId, text, { reason: reason, comments: comments })}\r\n />)\r\n }\r\n else {\r\n _updateEvolution(evolutionId, text);\r\n }\r\n }\r\n\r\n const handleSaveEvolution = (data) => {\r\n if (visitTrackingStatus !== visitStatus.Started) {\r\n setModal( setModal(null)}\r\n onSave={(reason, comments) => _saveEvolution(data, { reason: reason, comments: comments })}\r\n />)\r\n }\r\n else {\r\n _saveEvolution(data);\r\n }\r\n }\r\n\r\n function handleCancel() {\r\n setEvolution(null);\r\n }\r\n\r\n const _saveEvolution = async (evolutionText, audit) => {\r\n try {\r\n var savedEvolutionRes = await saveEvolution(props.protocolId, props.visitId, props.patientId, medicalRecordNumber, evolutionText, audit);\r\n if (savedEvolutionRes && savedEvolutionRes.data) {\r\n let savedEvolution = savedEvolutionRes.data;\r\n setEvolutions([...evolutions, savedEvolution]);\r\n setEvolution(null);\r\n Success(\"protocolNotifications.visitTracking_evolutionSaved\");\r\n }\r\n }\r\n catch (error) {\r\n setEvolution({ text: evolutionText }); // Por Si no pudo guardar por algún error, populo de vuelta el editor con el contenido sin guardar. \r\n HandleApiError(error);\r\n console.log(error);\r\n }\r\n finally {\r\n setModal(null);\r\n }\r\n }\r\n const _updateEvolution = async (evolutionId, text, audit) => {\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 Success(\"protocolNotifications.visitTracking_evolutionUpdated\");\r\n }\r\n }\r\n catch (error) {\r\n console.error(error);\r\n HandleApiError(error);\r\n }\r\n finally {\r\n setModal(null);\r\n }\r\n }\r\n\r\n return (\r\n \r\n {audit && }\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\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 { saveEvolutionAPI, saveEvolutionExtraAPI, updateEvolutionAPI, updateEvolutionExtraAPI } from \"../../../api/protocol\";\r\nimport { HandleApiError } from \"../../../components/Notifications/APIErrorHandler\";\r\n\r\nexport const useEvolutions = (visitType) => {\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 let evolutionRes = null;\r\n if (visitType === \"VisitTrackingExtra\")\r\n evolutionRes = await updateEvolutionExtraAPI(protocolId, visitId, patientId, evolutionId, pepepe);\r\n else\r\n 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 const saveEvolution = async (protocolId, visitId, patientId, medicalRecordNumber, evolution, audit) => {\r\n\r\n try {\r\n var pepepe = {\r\n evolution: evolution,\r\n audit: audit\r\n }\r\n setIsLoading(true);\r\n let evolutionRes = null;\r\n if (visitType === \"VisitTrackingExtra\")\r\n evolutionRes = await saveEvolutionExtraAPI(protocolId, visitId, patientId, medicalRecordNumber, pepepe);\r\n else\r\n evolutionRes = await saveEvolutionAPI(protocolId, visitId, patientId, medicalRecordNumber, pepepe);\r\n setIsLoading(false);\r\n\r\n return evolutionRes;\r\n\r\n } catch (error) {\r\n console.log(error)\r\n HandleApiError(error);\r\n setIsLoading(false);\r\n\r\n throw error;\r\n }\r\n }\r\n\r\n return [isLoading, saveEvolution, 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, protocolId }) => {\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 protocolId: PropTypes.number.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 { discontinuationVisitTrackingExtraAPI, endPatientInProtocolVisitTrackingExtraAPI, exportVisitTrackingAPI, getVisitTrackingAttachmentFormEndpoint, getVisitTrackingExtraForms, getVisitTrackingForm, lostToFollowUpVisitTrackingExtraAPI, publishVisitTrackingExtraForm, removeVisitTrackingExtraAPI, returnDrugsVisitTrackingExtraAPI, rollbackVisitStatusExtraAPI, saveVisitTrackingExtraForm, screenFailureVisitTrackingExtra, uploadVisitTrackingExtraAttachmentFormEndpoint, withoutDrugsVisitTrackingExtraAPI } 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 { PatientStatusInProtocol } from '../../../components/Protocols/Patients';\r\nimport { FormMenu, VisitStatus } from '../../../components/Protocols/Tracking/Forms';\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, 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 [reload, setReload] = useState(false);\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 [patientInfo, setPatientInfo] = 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 setReload(false);\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 setPatientInfo({\r\n patientNumber: visitTracking.patientNumber,\r\n patientInProtocolStatus: visitTracking.patientInProtocolStatus,\r\n medicalRecordNumber: visitTracking.medicalRecordNumber\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 }, [protocolId, visitId, patientId, reload]);\r\n\r\n const _closeModal = (formikBag) => {\r\n if (formikBag) formikBag.setSubmitting(false);\r\n setModal(null);\r\n }\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 //#region SaveVisit\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 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 //#endregion\r\n\r\n //#region Publish Visit\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, 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 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 else\r\n _publishVisit({ password: \"\" }, actions)\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 //#endregion\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, field) => {\r\n try {\r\n var res = await getBlobAPI(attachName, getVisitTrackingAttachmentFormEndpoint(protocolId, visitId, selectedForm.id, attachName));\r\n if (!res) return;\r\n setModal();\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 //#region SceenFailure\r\n const handleScreenFailure = (formikBag) => {\r\n if (!formikBag.dirty || (formikBag.dirty && window.confirm(t(\"protocolNotifications.visitTracking_unsavedChanges\")))) {\r\n setModal( _closeModal(formikBag)}\r\n onConfirm={() => auditScreenFailure(formikBag)}\r\n title={t(`protocolNotifications.visitTracking_screenFailure_title`)}\r\n description={t(`protocolNotifications.visitTracking_screenFailure_description`)}\r\n />)\r\n }\r\n }\r\n const auditScreenFailure = (formikBag) => {\r\n if (visitTracking.status === visitStatus.Completed || visitTracking.status === visitStatus.Changed)\r\n setModal( _closeModal(formikBag)}\r\n onSave={(reason, comments) => confirmScreenFailure(formikBag, { reason: reason, comments: comments })}\r\n />)\r\n else\r\n confirmScreenFailure(formikBag, null, { password: \"\" })\r\n }\r\n const confirmScreenFailure = (formikBag, auditTrail) => {\r\n if (settingsStore.settings.digitalSignEnabled)\r\n setModal( _closeModal(formikBag)}\r\n onSubmit={(pin) => _publishScreenFailure(formikBag, auditTrail, pin)}\r\n />);\r\n else\r\n _publishScreenFailure(formikBag, auditTrail, { password: \"\" })\r\n }\r\n const _publishScreenFailure = async (formikBag, auditTrail, digitalSign) => {\r\n try {\r\n setIsLoading(true);\r\n await screenFailureVisitTrackingExtra(protocolId, visitId, patientId, { auditTrail, digitalSign });\r\n Success(\"protocolNotifications.visitTracking_VisitPublished\");\r\n setReload(true);\r\n }\r\n catch (error) {\r\n console.log(error);\r\n HandleApiError(error);\r\n } finally {\r\n _closeModal(formikBag);\r\n setIsLoading(false);\r\n }\r\n }\r\n //#endregion\r\n\r\n //#region Discontinuation / EarlyTermination\r\n const handleDiscontinuation = (formikBag) => {\r\n if (!formikBag.dirty || (formikBag.dirty && window.confirm(t(\"protocolNotifications.visitTracking_unsavedChanges\")))) {\r\n setModal( _closeModal(formikBag)}\r\n onConfirm={() => creationEarlyTerminationVisit(formikBag)}\r\n title={t(`protocolNotifications.visitTracking_discontinuation_title`)}\r\n description={t(`protocolNotifications.visitTracking_discontinuation_description`)}\r\n />)\r\n }\r\n }\r\n const creationEarlyTerminationVisit = (formikBag) => {\r\n setModal(\r\n \r\n \r\n \r\n }\r\n title={t(`protocolNotifications.visitTracking_earlyTermination_title`)}\r\n description={t(`protocolNotifications.visitTracking_earlyTermination_description`)}\r\n />)\r\n }\r\n const auditDiscontinuation = (formikBag, earlyTerminationWillBeCreated) => {\r\n if (visitTracking.status === visitStatus.Completed || visitTracking.status === visitStatus.Changed)\r\n setModal( _closeModal(formikBag)}\r\n onSave={(reason, comments) => confirmDiscontinuation(formikBag, earlyTerminationWillBeCreated, { reason: reason, comments: comments })}\r\n />)\r\n else\r\n confirmDiscontinuation(formikBag, earlyTerminationWillBeCreated, null);\r\n }\r\n const confirmDiscontinuation = (formikBag, earlyTerminationWillBeCreated, auditTrail) => {\r\n if (settingsStore.settings.digitalSignEnabled)\r\n setModal( _closeModal(formikBag)}\r\n onSubmit={(pin) => _publishDiscontinuation(formikBag, earlyTerminationWillBeCreated, auditTrail, pin)}\r\n />);\r\n else\r\n _publishDiscontinuation(formikBag, earlyTerminationWillBeCreated, auditTrail, { password: \"\" });\r\n }\r\n const _publishDiscontinuation = async (formikBag, earlyTerminationWillBeCreated, auditTrail, digitalSign) => {\r\n try {\r\n setIsLoading(true);\r\n await discontinuationVisitTrackingExtraAPI(protocolId, visitId, patientId, earlyTerminationWillBeCreated, { auditTrail, digitalSign });\r\n Success(\"protocolNotifications.visitTracking_VisitPublished\");\r\n setReload(true);\r\n }\r\n catch (error) {\r\n console.log(error);\r\n HandleApiError(error);\r\n }\r\n finally {\r\n _closeModal(formikBag);\r\n setIsLoading(false);\r\n }\r\n }\r\n //#endregion\r\n\r\n //#region Remove Visit\r\n const handleRemoveVisit = (formikBag) => {\r\n setModal( _closeModal(formikBag)}\r\n onConfirm={() => _confirmRemoveVisit()}\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 //#endregion\r\n\r\n //#region EndPatient \r\n const handleEndPatientInProtocol = (formikBag) => {\r\n if (!formikBag.dirty || (formikBag.dirty && window.confirm(t(\"protocolNotifications.visitTracking_unsavedChanges\")))) {\r\n setModal( _closeModal(formikBag)}\r\n onConfirm={() => auditEndPatientInProtocol(formikBag)}\r\n title={t(\"protocolNotifications.visitTracking_endPatientInProtocol_title\")}\r\n description={t(\"protocolNotifications.visitTracking_endPatientInProtocol_description\")}\r\n />);\r\n }\r\n }\r\n const auditEndPatientInProtocol = (formikBag,) => {\r\n if (visitTracking.status === visitStatus.Completed || visitTracking.status === visitStatus.Changed)\r\n setModal( _closeModal(formikBag)}\r\n onSave={(reason, comments) => confirmEndPatientInProtocol(formikBag, { reason: reason, comments: comments })}\r\n />)\r\n else\r\n confirmScreenFailure(formikBag, null, { password: \"\" })\r\n }\r\n const confirmEndPatientInProtocol = (formikBag, auditTrail) => {\r\n if (settingsStore.settings.digitalSignEnabled)\r\n setModal( _closeModal(formikBag)}\r\n onSubmit={(pin) => _publishEndPatientInProtocol(formikBag, auditTrail, pin)}\r\n />);\r\n else\r\n _publishEndPatientInProtocol(formikBag, auditTrail, { password: \"\" })\r\n }\r\n const _publishEndPatientInProtocol = async (formikBag, auditTrail, digitalSign) => {\r\n try {\r\n setIsLoading(true);\r\n await endPatientInProtocolVisitTrackingExtraAPI(protocolId, visitId, patientId, { auditTrail, digitalSign });\r\n Success(\"protocolNotifications.visitTracking_FormSaved\");\r\n setReload(true);\r\n }\r\n catch (error) {\r\n console.log(error);\r\n HandleApiError(error);\r\n }\r\n finally {\r\n _closeModal(formikBag);\r\n setIsLoading(false);\r\n }\r\n }\r\n //#endregion\r\n\r\n //#region RollBack\r\n const handleRollbackVisitStatus = (formikBag) => {\r\n if (!formikBag.dirty || (formikBag.dirty && window.confirm(t(\"protocolNotifications.visitTracking_unsavedChanges\")))) {\r\n setModal(\r\n confirmRollbackVisitStatus(formikBag)}\r\n onCancel={() => _closeModal(formikBag)}\r\n title={t(\"protocolNotifications.visitTracking_rollbackVisitStatus_title\")}\r\n description={t(\"protocolNotifications.visitTracking_rollbackVisitStatus_description\")}\r\n />);\r\n }\r\n }\r\n const confirmRollbackVisitStatus = (formikBag) => {\r\n setModal( _publishRollbackVisitStatus({ audit: { reason: reason, comments: comments } }, formikBag)}\r\n />)\r\n }\r\n const _publishRollbackVisitStatus = async (audit, formikBag) => {\r\n try {\r\n setIsLoading(true);\r\n await rollbackVisitStatusExtraAPI(protocolId, visitId, patientId, audit);\r\n Success(\"protocolNotifications.visitTracking_rollbackDone\");\r\n setReload(true);\r\n }\r\n catch (error) {\r\n console.log(error);\r\n HandleApiError(error);\r\n }\r\n finally {\r\n _closeModal(formikBag);\r\n setIsLoading(false);\r\n }\r\n }\r\n //#endregion\r\n\r\n //#region LostToFollowUp\r\n const handleLostToFollowUp = (formikBag) => {\r\n if (!formikBag.dirty || (formikBag.dirty && window.confirm(t(\"protocolNotifications.visitTracking_unsavedChanges\")))) {\r\n setModal( _closeModal(formikBag)}\r\n onConfirm={() => confirmLostToFollowUp(formikBag)}\r\n title={t(`protocolNotifications.visitTracking_lostToFollowUp_title`)}\r\n description={t(`protocolNotifications.visitTracking_lostToFollowUp_description`)}\r\n />)\r\n }\r\n }\r\n const confirmLostToFollowUp = (formikBag) => {\r\n if (settingsStore.settings.digitalSignEnabled)\r\n setModal( _closeModal(formikBag)}\r\n onSubmit={(pin) => _publishLostToFollowUp(pin, formikBag)}\r\n />);\r\n else\r\n _publishLostToFollowUp({ password: \"\" }, formikBag)\r\n }\r\n const _publishLostToFollowUp = async (digitalSign, formikBag) => {\r\n try {\r\n setIsLoading(true);\r\n await lostToFollowUpVisitTrackingExtraAPI(protocolId, visitId, patientId, digitalSign);\r\n Success(\"protocolNotifications.visitTracking_FormSaved\");\r\n setReload(true);\r\n }\r\n catch (error) {\r\n console.log(error);\r\n HandleApiError(error);\r\n }\r\n finally {\r\n _closeModal(formikBag);\r\n setIsLoading(false);\r\n }\r\n }\r\n //#endregion\r\n\r\n //#region WithoutDrugs\r\n const handleWithoutDrugs = async (formikBag) => {\r\n setModal( _closeModal(formikBag)}\r\n onConfirm={() => _setWithoutDrugs(formikBag)}\r\n />)\r\n }\r\n const _setWithoutDrugs = async (formikBag) => {\r\n try {\r\n setIsLoading(true);\r\n await withoutDrugsVisitTrackingExtraAPI(protocolId, visitId, patientId);\r\n Success(\"protocolNotifications.visitTracking_FormSaved\");\r\n setReload(true);\r\n }\r\n catch (error) {\r\n console.log(error);\r\n HandleApiError(error);\r\n } finally {\r\n _closeModal(formikBag);\r\n setIsLoading(false);\r\n }\r\n }\r\n //#endregion\r\n\r\n //#region ReturnDrugs\r\n const handleReturnDrugs = async (formikBag) => {\r\n setModal( _closeModal(formikBag)}\r\n onConfirm={() => _setReturnDrugs(formikBag)}\r\n />)\r\n }\r\n const _setReturnDrugs = async (formikBag) => {\r\n try {\r\n setIsLoading(true);\r\n await returnDrugsVisitTrackingExtraAPI(protocolId, visitId, patientId);\r\n Success(\"protocolNotifications.visitTracking_FormSaved\");\r\n setReload(true);\r\n }\r\n catch (error) {\r\n console.log(error);\r\n HandleApiError(error);\r\n } finally {\r\n _closeModal(formikBag);\r\n setIsLoading(false);\r\n }\r\n }\r\n //#endregion\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( _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 {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 onLostToFollowUp={() => handleLostToFollowUp(props)}\r\n onDiscontinuation={() => handleDiscontinuation(props)}\r\n onEndPatientInProtocol={() => handleEndPatientInProtocol(props)}\r\n onRollbackVisitStatus={() => handleRollbackVisitStatus(props)}\r\n onWithoutDrugs={() => handleWithoutDrugs(props)}\r\n onReturnDrugs={() => handleReturnDrugs(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 {patientInfo?.patientNumber} }\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 endPatientInProtocolVisitTrackingAPI,\r\n exportVisitTrackingAPI,\r\n getVisitTrackingAttachmentFormEndpoint,\r\n getVisitTrackingForm, getVisitTrackingForms, lostToFollowUpVisitTracking, publishVisitTracking, reSyncVisitTrackingAPI,\r\n removeVisitTrackingAPI,\r\n returnDrugsVisitTracking,\r\n rollbackVisitStatusAPI,\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, HandleMessagesError } 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 } 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 } from '../Hooks';\r\nimport MonitorNotesContainer from '../MonitorNotes/MonitorNotes';\r\nimport ProtocolContext from '../ProtocolContext/ProtocolContext';\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 [, 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 if (!visitTracking)\r\n HandleMessagesError(\"protocolErrors.visitTracking_NotFound\");\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 setEvolutions(visitTracking.visit.evolutions);\r\n addHidePropertyToFields(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.medicalRecordNumber\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\r\n //#region ConditionalFields\r\n /**\r\n * Setea visibilidad de campos del formulario, teniendo en cuenta los Si/No Condicionales (booleanFields)\r\n * @param {PatientForm} form \r\n */\r\n function manageConditionalFieldsInForm(form) {\r\n let formAux = JSON.parse(JSON.stringify(form));\r\n let fields = formAux.fields.map(x => {\r\n if (typeof x.hide === \"undefined\")\r\n return Object.assign({}, x, { hide: false });\r\n return x;\r\n });\r\n\r\n // Resuelvo conditionals.\r\n var conditionalFields = fields.filter(x => (x._t === \"BooleanField\" || x._t === \"PayableField\") && x.conditional);\r\n conditionalFields.forEach(conditionalField => {\r\n fields.filter(field => conditionalField.conditional.includes(field.id))\r\n .forEach((fieldWithCondition) => {\r\n if (conditionalField.value === false)\r\n fieldWithCondition.hide = true;\r\n if (conditionalField.value === true)\r\n fieldWithCondition.hide = false;\r\n });\r\n });\r\n\r\n formAux.fields = fields;\r\n\r\n return formAux;\r\n }\r\n\r\n function addHidePropertyToFields(form) {\r\n setSelectedForm(manageConditionalFieldsInForm(form));\r\n }\r\n\r\n //#endregion\r\n\r\n //#region Commons\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 addHidePropertyToFields(formAux)\r\n //setSelectedForm(JSON.parse(JSON.stringify(formAux)));\r\n setIsLoading(false);\r\n }\r\n }\r\n const _closeModal = (formikBag) => {\r\n setModal(null);\r\n if (formikBag && formikBag.setSubmitting) formikBag.setSubmitting(false);\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 addHidePropertyToFields(updatedForm)\r\n\r\n _closeModal();\r\n Success(\"protocolNotifications.visitTracking_FormSaved\");\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 const handleViewFile = async (attachName, field) => {\r\n\r\n try {\r\n var res = await getBlobAPI(attachName, getVisitTrackingAttachmentFormEndpoint(protocolId, visitId, selectedForm.id, attachName));\r\n if (!res) return;\r\n setModal()\r\n }\r\n catch (error) {\r\n console.error(error);\r\n HandleApiError(error);\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 //#endregion\r\n\r\n //#region SaveVisit\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, patientInfo.medicalRecordNumber, 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, patientInfo.medicalRecordNumber))\r\n .then(() => {\r\n if (visit.numberInProtocol !== patientId) {\r\n history.push(`/admin/protocols/${protocolId}/visitTracking/${visitId}/patient/${visit?.numberInProtocol}`);\r\n }\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 if (visit.numberInProtocol !== patientId) {\r\n history.push(`/admin/protocols/${protocolId}/visitTracking/${visitId}/patient/${visit?.numberInProtocol}`);\r\n }\r\n _updateData(visit, form);\r\n }\r\n }\r\n catch (error) {\r\n console.log(error);\r\n HandleApiError(error);\r\n }\r\n finally {\r\n _closeModal();\r\n formikProps.setSubmitting(false);\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 //#endregion\r\n\r\n //#region SaveUpload\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, patientInfo.medicalRecordNumber, 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, patientInfo.medicalRecordNumber))\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 console.log(error);\r\n HandleApiError(error);\r\n }\r\n finally {\r\n _closeModal();\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 //#endregion\r\n\r\n //#region SubmitForm\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(actions);\r\n setVisitTracking(res.data);\r\n Success(\"protocolNotifications.visitTracking_VisitPublished\");\r\n }\r\n catch (error) {\r\n _closeModal(actions);\r\n console.log(error);\r\n HandleApiError(error);\r\n }\r\n }\r\n const handleSubmitFormik = (_formVisitTracking, actions) => {\r\n if (settingsStore.settings.digitalSignEnabled)\r\n setModal( _closeModal(actions)}\r\n onSubmit={(pin) => _publishVisit(pin, actions)}\r\n />);\r\n\r\n else\r\n _publishVisit({ password: \"\" }, actions)\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(manageConditionalFieldsInForm(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 //#endregion\r\n\r\n //#region SkipVisit\r\n const handleSkipVisit = (formikBag) => {\r\n if (!formikBag.dirty || (formikBag.dirty && window.confirm(t(\"protocolNotifications.visitTracking_unsavedChanges\")))) {\r\n setModal( _closeModal(formikBag)}\r\n onConfirm={() => confirmSkipVisit(formikBag)}\r\n title={t(`protocolNotifications.visitTracking_confirmSkip_title`)}\r\n description={t(`protocolNotifications.visitTracking_confirmSkip_description`)}\r\n />)\r\n }\r\n }\r\n const confirmSkipVisit = (formikBag) => {\r\n if (settingsStore.settings.digitalSignEnabled)\r\n setModal( _closeModal(formikBag)}\r\n onSubmit={(pin) => _publishSkipVisit(pin, formikBag)}\r\n />);\r\n\r\n else\r\n _publishSkipVisit({ password: \"\" }, formikBag)\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 setReload(true);\r\n Success(\"protocolNotifications.visitTracking_FormSaved\");\r\n }\r\n catch (error) {\r\n console.log(error);\r\n HandleApiError(error);\r\n } finally {\r\n _closeModal(formikBag);\r\n setIsLoading(false);\r\n }\r\n }\r\n //#endregion\r\n\r\n //#region ScreenFailure\r\n const handleScreenFailure = (formikBag) => {\r\n if (!formikBag.dirty || (formikBag.dirty && window.confirm(t(\"protocolNotifications.visitTracking_unsavedChanges\")))) {\r\n setModal( _closeModal(formikBag)}\r\n onConfirm={() => auditScreenFailure(formikBag)}\r\n title={t(`protocolNotifications.visitTracking_screenFailure_title`)}\r\n description={t(`protocolNotifications.visitTracking_screenFailure_description`)}\r\n />)\r\n }\r\n }\r\n const auditScreenFailure = (formikBag) => {\r\n if (visitTracking.status === visitStatus.Completed || visitTracking.status === visitStatus.Changed)\r\n setModal( _closeModal(formikBag)}\r\n onSave={(reason, comments) => confirmScreenFailure(formikBag, { reason: reason, comments: comments })}\r\n />)\r\n else\r\n confirmScreenFailure(formikBag, null, { password: \"\" })\r\n }\r\n const confirmScreenFailure = (formikBag, auditTrail) => {\r\n if (settingsStore.settings.digitalSignEnabled)\r\n setModal( _closeModal(formikBag)}\r\n onSubmit={(pin) => _publishScreenFailure(formikBag, auditTrail, pin)}\r\n />);\r\n else\r\n _publishScreenFailure(formikBag, auditTrail, { password: \"\" })\r\n }\r\n const _publishScreenFailure = async (formikBag, auditTrail, digitalSign) => {\r\n try {\r\n setIsLoading(true);\r\n await screenFailureVisitTracking(protocolId, visitId, patientId, { auditTrail, digitalSign });\r\n Success(\"protocolNotifications.visitTracking_FormSaved\");\r\n setReload(true);\r\n }\r\n catch (error) {\r\n console.log(error);\r\n HandleApiError(error);\r\n } finally {\r\n _closeModal(formikBag);\r\n setIsLoading(false);\r\n }\r\n }\r\n //#endregion\r\n\r\n //#region LostToFollowUp\r\n const handleLostToFollowUp = (formikBag) => {\r\n if (!formikBag.dirty || (formikBag.dirty && window.confirm(t(\"protocolNotifications.visitTracking_unsavedChanges\")))) {\r\n setModal( _closeModal(formikBag)}\r\n onConfirm={() => confirmLostToFollowUp(formikBag)}\r\n title={t(`protocolNotifications.visitTracking_lostToFollowUp_title`)}\r\n description={t(`protocolNotifications.visitTracking_lostToFollowUp_description`)}\r\n />)\r\n }\r\n }\r\n const confirmLostToFollowUp = (formikBag) => {\r\n if (settingsStore.settings.digitalSignEnabled)\r\n setModal( _closeModal(formikBag)}\r\n onSubmit={(pin) => _publishLostToFollowUp(pin, formikBag)}\r\n />);\r\n else\r\n _publishLostToFollowUp({ password: \"\" }, formikBag)\r\n }\r\n const _publishLostToFollowUp = async (digitalSign, formikBag) => {\r\n try {\r\n setIsLoading(true);\r\n await lostToFollowUpVisitTracking(protocolId, visitId, patientId, digitalSign);\r\n Success(\"protocolNotifications.visitTracking_FormSaved\");\r\n setReload(true);\r\n }\r\n catch (error) {\r\n console.log(error);\r\n HandleApiError(error);\r\n }\r\n finally {\r\n _closeModal(formikBag);\r\n setIsLoading(false);\r\n }\r\n }\r\n //#endregion\r\n\r\n //#region Discontinuation\r\n const handleDiscontinuation = (formikBag) => {\r\n if (!formikBag.dirty || (formikBag.dirty && window.confirm(t(\"protocolNotifications.visitTracking_unsavedChanges\")))) {\r\n setModal( _closeModal(formikBag)}\r\n onConfirm={() => creationEarlyTerminationVisit(formikBag)}\r\n title={t(`protocolNotifications.visitTracking_discontinuation_title`)}\r\n description={t(`protocolNotifications.visitTracking_discontinuation_description`)}\r\n />)\r\n }\r\n }\r\n const creationEarlyTerminationVisit = (formikBag) => {\r\n setModal(\r\n \r\n \r\n \r\n }\r\n title={t(`protocolNotifications.visitTracking_earlyTermination_title`)}\r\n description={t(`protocolNotifications.visitTracking_earlyTermination_description`)}\r\n />)\r\n }\r\n const auditDiscontinuation = (formikBag, earlyTerminationWillBeCreated) => {\r\n if (visitTracking.status === visitStatus.Completed || visitTracking.status === visitStatus.Changed)\r\n setModal( _closeModal(formikBag)}\r\n onSave={(reason, comments) => confirmDiscontinuation(formikBag, earlyTerminationWillBeCreated, { reason: reason, comments: comments })}\r\n />)\r\n else\r\n confirmDiscontinuation(formikBag, earlyTerminationWillBeCreated, null);\r\n }\r\n const confirmDiscontinuation = (formikBag, earlyTerminationWillBeCreated, auditTrail) => {\r\n if (settingsStore.settings.digitalSignEnabled)\r\n setModal( _closeModal(formikBag)}\r\n onSubmit={(pin) => _publishDiscontinuation(formikBag, earlyTerminationWillBeCreated, auditTrail, pin)}\r\n />);\r\n else\r\n _publishDiscontinuation(formikBag, earlyTerminationWillBeCreated, auditTrail, { password: \"\" });\r\n }\r\n const _publishDiscontinuation = async (formikBag, earlyTerminationWillBeCreated, auditTrail, digitalSign) => {\r\n try {\r\n setIsLoading(true);\r\n await discontinuationVisitTracking(protocolId, visitId, patientId, earlyTerminationWillBeCreated, { auditTrail, digitalSign });\r\n Success(\"protocolNotifications.visitTracking_VisitPublished\");\r\n setReload(true);\r\n }\r\n catch (error) {\r\n console.log(error);\r\n HandleApiError(error);\r\n }\r\n finally {\r\n _closeModal(formikBag);\r\n setIsLoading(false);\r\n }\r\n }\r\n //#endregion\r\n\r\n //#region WithoutDrugs\r\n const handleWithoutDrugs = async (formikBag) => {\r\n setModal( _closeModal()}\r\n onConfirm={() => _setWithoutDrugs(formikBag)}\r\n />)\r\n }\r\n const _setWithoutDrugs = async (formikBag) => {\r\n try {\r\n setIsLoading(true);\r\n await withoutDrugsVisitTracking(protocolId, visitId, patientId);\r\n Success(\"protocolNotifications.visitTracking_FormSaved\");\r\n setReload(true);\r\n }\r\n catch (error) {\r\n console.log(error);\r\n HandleApiError(error);\r\n } finally {\r\n _closeModal(formikBag);\r\n setIsLoading(false);\r\n }\r\n }\r\n //#endregion\r\n\r\n //#region ReturnDrugs\r\n const handleReturnDrugs = async (formikBag) => {\r\n setModal( _closeModal(formikBag)}\r\n onConfirm={() => _setReturnDrugs(formikBag)}\r\n />)\r\n }\r\n const _setReturnDrugs = async (formikBag) => {\r\n try {\r\n setIsLoading(true);\r\n await returnDrugsVisitTracking(protocolId, visitId, patientId);\r\n Success(\"protocolNotifications.visitTracking_FormSaved\");\r\n setReload(true);\r\n }\r\n catch (error) {\r\n console.log(error);\r\n HandleApiError(error);\r\n }\r\n finally {\r\n _closeModal(formikBag);\r\n setIsLoading(false);\r\n }\r\n }\r\n //#endregion\r\n\r\n //#region EndProtocol\r\n const handleEndPatientInProtocol = (formikBag) => {\r\n if (!formikBag.dirty || (formikBag.dirty && window.confirm(t(\"protocolNotifications.visitTracking_unsavedChanges\")))) {\r\n setModal( _closeModal(formikBag)}\r\n onConfirm={() => auditEndPatientInProtocol(formikBag)}\r\n title={t(\"protocolNotifications.visitTracking_endPatientInProtocol_title\")}\r\n description={t(\"protocolNotifications.visitTracking_endPatientInProtocol_description\")}\r\n />);\r\n }\r\n }\r\n const auditEndPatientInProtocol = (formikBag,) => {\r\n if (visitTracking.status === visitStatus.Completed || visitTracking.status === visitStatus.Changed)\r\n setModal( _closeModal(formikBag)}\r\n onSave={(reason, comments) => confirmEndPatientInProtocol(formikBag, { reason: reason, comments: comments })}\r\n />)\r\n else\r\n confirmScreenFailure(formikBag, null, { password: \"\" })\r\n }\r\n const confirmEndPatientInProtocol = (formikBag, auditTrail) => {\r\n if (settingsStore.settings.digitalSignEnabled)\r\n setModal( { setModal(null); formikBag.setSubmitting(false); }}\r\n onSubmit={(pin) => _publishEndPatientInProtocol(formikBag, auditTrail, pin)}\r\n />);\r\n else\r\n _publishEndPatientInProtocol(formikBag, auditTrail, { password: \"\" })\r\n }\r\n const _publishEndPatientInProtocol = async (formikBag, auditTrail, digitalSign) => {\r\n try {\r\n setIsLoading(true);\r\n await endPatientInProtocolVisitTrackingAPI(protocolId, visitId, patientId, { auditTrail, digitalSign });\r\n Success(\"protocolNotifications.visitTracking_FormSaved\");\r\n setReload(true);\r\n }\r\n catch (error) {\r\n console.log(error);\r\n HandleApiError(error);\r\n }\r\n finally {\r\n _closeModal(formikBag);\r\n setIsLoading(false);\r\n }\r\n }\r\n //#endregion\r\n\r\n //#region RollbackVisitStatus\r\n const handleRollbackVisitStatus = (formikBag) => {\r\n if (!formikBag.dirty || (formikBag.dirty && window.confirm(t(\"protocolNotifications.visitTracking_unsavedChanges\")))) {\r\n setModal(\r\n _closeModal(formikBag)}\r\n onConfirm={() => confirmRollbackVisitStatus(formikBag)}\r\n title={t(\"protocolNotifications.visitTracking_rollbackVisitStatus_title\")}\r\n description={t(\"protocolNotifications.visitTracking_rollbackVisitStatus_description\")}\r\n />);\r\n }\r\n }\r\n const confirmRollbackVisitStatus = (formikBag) => {\r\n setModal( _publishRollbackVisitStatus({ audit: { reason: reason, comments: comments } }, formikBag)}\r\n />)\r\n }\r\n const _publishRollbackVisitStatus = async (audit, formikBag) => {\r\n try {\r\n setIsLoading(true);\r\n await rollbackVisitStatusAPI(protocolId, visitId, patientId, audit);\r\n Success(\"protocolNotifications.visitTracking_rollbackDone\");\r\n setReload(true);\r\n }\r\n catch (error) {\r\n console.log(error);\r\n HandleApiError(error);\r\n }\r\n finally {\r\n _closeModal(formikBag);\r\n setIsLoading(false);\r\n }\r\n }\r\n //#endregion \r\n\r\n //#region Resync\r\n const handleReSync = () => {\r\n setModal();\r\n }\r\n const confirmReSync = async (digitalSign) => {\r\n try {\r\n setIsLoading(true);\r\n await reSyncVisitTrackingAPI(protocolId, visitId, patientId, digitalSign);\r\n Success(\"protocolNotifications.visitTracking_reSyncOk\");\r\n }\r\n catch (error) {\r\n console.log(error);\r\n HandleApiError(error);\r\n } finally {\r\n _closeModal();\r\n setIsLoading(false);\r\n }\r\n }\r\n //#endregion\r\n\r\n //#region ChangeVisitType\r\n const handleChangeVisitTrackingType = (formikBag) => {\r\n setModal( _closeModal(formikBag)}\r\n onConfirm={() => _setChangeVisitTrackingType(formikBag)}\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 console.log(error);\r\n HandleApiError(error);\r\n } finally {\r\n _closeModal(formikBag);\r\n setIsLoading(false);\r\n }\r\n }\r\n //#endregion\r\n\r\n //#region ChangeType\r\n const handleChangeType = (formikBag) => {\r\n setModal( _closeModal(formikBag)}\r\n onChange={(type) => _changeType(type, formikBag)}\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 setVisitTracking(res.data);\r\n Success(\"protocolNotifications.visitTracking_FormSaved\");\r\n }\r\n catch (error) {\r\n console.log(error);\r\n HandleApiError(error);\r\n }\r\n finally {\r\n _closeModal(formikBag);\r\n setIsLoading(false);\r\n }\r\n }\r\n //#endregion\r\n\r\n //#region RemoveVisit\r\n const handleRemoveVisit = (formikBag) => {\r\n setModal( _closeModal(formikBag)}\r\n onConfirm={() => _confirmRemoveVisit()}\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 _closeModal();\r\n console.log(error);\r\n HandleApiError(error);\r\n }\r\n }\r\n //#endregion\r\n\r\n //#region Export\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 //#endregion\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 {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 onEndPatientInProtocol={() => handleEndPatientInProtocol(props)}\r\n onRollbackVisitStatus={() => handleRollbackVisitStatus(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 { 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}","import PropTypes from 'prop-types';\r\nimport React from \"react\";\r\nimport { Button as BootstrapButton } from \"react-bootstrap\";\r\n\r\nexport const Button = (props) => {\r\n\r\n return (\r\n <>\r\n \r\n {props.children}\r\n \r\n \r\n );\r\n}\r\nButton.propTypes = {\r\n children: PropTypes.object.isRequired,\r\n};\r\nButton.defaultProps = {\r\n};","import { Formik, ErrorMessage } from 'formik';\r\nimport React from 'react';\r\nimport { FormGroup, ControlLabel, FormControl, Col, Grid, Row } from 'react-bootstrap';\r\nimport 'react-bootstrap-table-next/dist/react-bootstrap-table2.min.css';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { Save } from '../Icons/Icons';\r\nimport { FormErrorMessage } from '../Validations/FormValidationErrors';\r\nimport { CustomDateTime } from '../CustomControls/CustomDateTime';\r\nimport { CustomSwitch } from '../CustomControls/CustomSwitch';\r\nimport { Button } from '../CustomControls/Button';\r\n\r\nexport const AdminNotification = props => {\r\n\r\n const {\r\n values,\r\n onCancel\r\n } = props;\r\n\r\n const { t } = useTranslation();\r\n\r\n return (\r\n {\r\n if (props.onSubmit)\r\n props.onSubmit(values);\r\n }}\r\n >\r\n {props => (\r\n
    \r\n \r\n \r\n \r\n \r\n {t(\"settings.adminNotifications.message\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {t(\"settings.adminNotifications.from\")}\r\n \r\n \r\n \r\n \r\n {t(\"settings.adminNotifications.to\")}\r\n \r\n \r\n \r\n \r\n {t(\"settings.adminNotifications.active\")}\r\n \r\n \r\n \r\n \r\n \r\n \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 Card from '../Cards/Card';\r\nimport { Edit, Remove } from '../Icons/Icons';\r\nimport { ModalData } from '../Modals/ModalData';\r\nimport { dateTimeFormatter, dateTimeUTCFormatter } from '../Utils/Formatter';\r\nimport { Tooltip } from '../Utils/Tooltips';\r\nimport { AdminNotification } from './AdminNotification';\r\nimport { Button } from '../CustomControls/Button';\r\n\r\nexport const AdminNotifications = (props) => {\r\n const { data, query, totalSize, isLoading, handleTableChange, handleEdit, handleRemove, handleCreate, handleSetReadOnly } = props;\r\n const [modal, setModal] = useState(null);\r\n const { t } = useTranslation();\r\n\r\n const columns = [\r\n { dataField: 'created', sort: true, text: t(\"settings.adminNotifications.created\"), formatter: function (cell) { return dateTimeFormatter(cell) }, headerClasses: 'header-date' },\r\n { dataField: 'message', sort: true, text: t(\"settings.adminNotifications.message\") },\r\n { dataField: 'from', sort: true, text: t(\"settings.adminNotifications.from\"), formatter: function (cell) { return dateTimeFormatter(cell) }, headerClasses: 'header-date' },\r\n { dataField: 'to', sort: true, text: t(\"settings.adminNotifications.to\"), formatter: function (cell) { return dateTimeFormatter(cell) }, headerClasses: 'header-date' },\r\n { dataField: 'active', sort: true, text: t(\"settings.adminNotifications.active\") },\r\n {\r\n dataField: 'view',\r\n text: t(\"settings.adminNotifications.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 function handlePreCreate(notification) {\r\n setModal(null);\r\n handleCreate(notification);\r\n }\r\n function onCreate() {\r\n setModal( setModal(null)}\r\n >\r\n setModal(null)}\r\n />\r\n );\r\n }\r\n function handlePreEdit(notification) {\r\n setModal(null);\r\n handleEdit(notification);\r\n }\r\n function onEdit(item) {\r\n setModal( setModal(null)}\r\n >\r\n setModal(null)}\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 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 onTableChange={handleTableChange}\r\n />\r\n }\r\n />\r\n \r\n );\r\n} ","import React from 'react';\r\nimport 'react-bootstrap-table-next/dist/react-bootstrap-table2.min.css';\r\nimport { setIsReadOnlyAPI } from '../../../api/settings';\r\nimport { AdminNotifications } from '../../../components/AdminNotifications/AdminNotifications';\r\nimport { HandleApiError } from '../../../components/Notifications/APIErrorHandler';\r\nimport { Warning } from '../../../components/Notifications/Notifications';\r\nimport { useAdminNotification, useAdminNotifications } from './useAdminNotifications';\r\n\r\nconst AdminNotificationsContainer = (props) => {\r\n const [data, query, totalSize, isLoading, handleTableChange, setReload] = useAdminNotifications();\r\n const [, , create, update, remove, isNotifLoading] = useAdminNotification();\r\n\r\n async function handleCreate(item) {\r\n var notification = await create(item);\r\n if (notification)\r\n setReload(true);\r\n }\r\n async function handleEdit(item) {\r\n var notification = await update(item);\r\n if (notification)\r\n setReload(true);\r\n }\r\n async function handleRemove(itemId) {\r\n await remove(itemId);\r\n setReload(true);\r\n }\r\n async function handleSetReadOnly(readonly) {\r\n try {\r\n await setIsReadOnlyAPI(readonly);\r\n if (readonly)\r\n Warning(\"service_isReadOnlyEnabled\")\r\n else\r\n Warning(\"service_isReadOnlyDisabled\")\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\nexport default AdminNotificationsContainer;","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\nimport AdminNotificationsContainer from \"../containers/Settings/AdminNotifications/AdminNotificationsContainer\";\r\nimport FreezersContainer from \"../containers/Freezers/FreezerComponents/FreezersContainer\";\r\nimport IotDevicesContainers from \"../containers/Freezers/IotDevicesComponents/IotDevicesContainer\";\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\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default Settings;\r\n","export function WeatherMessage({ deviceId, freezerId, humidity, temperature, measureDate, uploadDate }) {\r\n this.DeviceId = deviceId;\r\n this.FreezerId = freezerId;\r\n this.Humidity = Number.parseFloat(humidity);\r\n this.Temperature = Number.parseFloat(temperature);\r\n this.MeasureDate = new Date(measureDate);\r\n this.UploadDate = new Date(uploadDate);\r\n}\r\n\r\nexport function DoorMessage({ deviceId, freezerId, measureDate, state, uploadDate }) {\r\n this.DeviceId = deviceId;\r\n this.FreezerId = freezerId;\r\n this.State = state;\r\n this.MeasureDate = new Date(measureDate);\r\n this.UploadDate = new Date(uploadDate);\r\n}\r\n","import { Freezer } from \"./Freezer\";\r\n\r\nexport function ProtocolFullData({ protocol, configuration, freezerDaysResume, freezer }) {\r\n this.Protocol = protocol;\r\n this.Configuration = configuration;\r\n this.FreezerDaysResume = freezerDaysResume;\r\n this.Freezer = freezer;\r\n}\r\n\r\nexport function FreezerTelemetryResume({ freezerId, days, freezer, protocol }) {\r\n this.FreezerId = freezerId;\r\n this.Freezer = freezer ?? new Freezer({ description: \"Empty\", type: \"ultra freezer\" });\r\n this.Days = days?.map(d => new TemperatureDayResume(d)) ?? []\r\n this.Protocol = protocol ?? null;\r\n\r\n this.HasAnyInvalidTemperature = function (protocolConfiguration) {\r\n return this.Days.some(d => d.HasInvalidTemperature(protocolConfiguration))\r\n }\r\n}\r\n\r\nexport function TemperatureDayResume({ day, minTemperature, maxTemperature }) {\r\n this.Day = day;\r\n this.MinTemperature = minTemperature;\r\n this.MaxTemperature = maxTemperature;\r\n\r\n this.HasInvalidTemperature = function (protocolConfiguration) {\r\n return protocolConfiguration.IsTemperatureValid(this.MinTemperature)\r\n && protocolConfiguration.IsTemperatureValid(this.MaxTemperature)\r\n }\r\n}","import axios from \"axios\";\r\nimport { ResponseResult, Url } from \"./Util\";\r\nimport { DoorMessage, WeatherMessage } from \"./Entities/IotMessages\";\r\nimport moment from \"moment\";\r\nimport { FreezerTelemetryResume } from \"./Entities/FreezerTelemetryResume\";\r\n\r\nconst GetUrl = Url(\"api/v1/IotMessage/\");\r\n\r\nexport default {\r\n GetWeatherTelemetry,\r\n GetWeatherResume,\r\n GetDoorTelemetry,\r\n}\r\n\r\nconst format = (date) => moment(date).format('MM-DD-YYYY')\r\n\r\nasync function GetWeatherTelemetry({ freezerId, from, to }) {\r\n if (from == null) throw new Error(\"From: Type 'Date' is required\")\r\n if (to == null) throw new Error(\"To: Type 'Date' is required\")\r\n if (freezerId == null) throw new Error(\"FreezerId: can not be empty\")\r\n const response = await axios.get(GetUrl('Weather'), {\r\n params: {\r\n freezerId: freezerId,\r\n from: format(from),\r\n to: format(to)\r\n }\r\n });\r\n\r\n const responseResult = new ResponseResult(response.data);\r\n return responseResult.Value?.map(m => new WeatherMessage(m)) ?? [];\r\n}\r\n\r\nasync function GetWeatherResume({ freezerIds, from, to, withFreezers }) {\r\n if (from == null) throw new Error(\"From: Type 'Date' is required\")\r\n if (to == null) throw new Error(\"To: Type 'Date' is required\")\r\n if (freezerIds == null) throw new Error(\"FreezerIds: can not be empty\")\r\n\r\n const response = await axios.post(GetUrl('Weather/Resume'), { freezerIds, from, to })\r\n const responseResult = new ResponseResult(response.data);\r\n return responseResult.Value?.map(m => new FreezerTelemetryResume(m)) ?? [];\r\n}\r\n\r\nasync function GetDoorTelemetry({ freezerId, from, to }) {\r\n if (from == null) throw new Error(\"From: Type 'Date' is required\")\r\n if (to == null) throw new Error(\"To: Type 'Date' is required\")\r\n if (freezerId == null) throw new Error(\"FreezerId: can not be empty\")\r\n\r\n const response = await axios.get(GetUrl('Door'), {\r\n params: {\r\n freezerId: freezerId,\r\n from: from,\r\n to: to\r\n }\r\n });\r\n\r\n const responseResult = new ResponseResult(response.data);\r\n return responseResult.Value?.map(m => new DoorMessage(m)) ?? [];\r\n}","import moment from \"moment\"\r\n\r\nexport function MapAsDataSet(data, label) {\r\n return {\r\n label,\r\n fill: false,\r\n data: data,\r\n pointRadius: 0,\r\n tension: 0,\r\n borderColor: 'rgb(53, 162, 235)',\r\n backgroundColor: 'rgba(53, 162, 235, 0.5)',\r\n borderWidth: 3\r\n }\r\n}\r\n\r\nexport const commonOptions = {\r\n animation: false,\r\n parsing: true,\r\n responsive: true,\r\n interaction: {\r\n mode: \"nearest\",\r\n axis: \"x\",\r\n intersect: false\r\n },\r\n plugins: {\r\n decimation: {\r\n enabled: true,\r\n algorithm: \"min-max\",\r\n },\r\n datalabels: {\r\n display: false,\r\n }\r\n },\r\n}\r\n\r\nexport const commonPlugins = {\r\n decimation: {\r\n enabled: true,\r\n algorithm: \"min-max\",\r\n },\r\n datalabels: {\r\n display: false,\r\n }\r\n}\r\n\r\nexport const commonScale = {\r\n x:\r\n {\r\n type: 'time',\r\n autoSkip: false,\r\n stacked: false,\r\n time: {\r\n unit: 'hour',\r\n displayFormats: {\r\n hour: 'HH:mm'\r\n },\r\n tooltipFormat: 'DD/MM/yyyy HH:mm'\r\n },\r\n ticks: {\r\n callback: function (value, index, values) {\r\n if (index % 24 === 0) {\r\n const format = moment(values[index].value).format(\"DD/MM\")\r\n return format\r\n }\r\n\r\n return value\r\n }\r\n }\r\n }\r\n}","import { useState } from \"react\"\r\nimport useLoading from \"../../components/Common/useLoading\"\r\n\r\nimport IotMessagesServices from \"../../api/Freezer/IotMessagesServices\"\r\nimport { useTranslation } from \"react-i18next\"\r\nimport { MapAsDataSet } from \"./TelemetryComponents/Utils\"\r\n\r\nexport default function useIotMessages() {\r\n const [iotMessages, setIotMessages] = useState({\r\n weather: [],\r\n door: []\r\n })\r\n const [isLoading, load, reload] = useLoading()\r\n\r\n const search = ({ from, to, freezerId } = {}) => load(async () => {\r\n const weatherResult = await IotMessagesServices.GetWeatherTelemetry({ from, to, freezerId })\r\n const doorResult = await IotMessagesServices.GetDoorTelemetry({ from, to, freezerId })\r\n setIotMessages({\r\n weather: weatherResult,\r\n door: doorResult\r\n })\r\n })\r\n\r\n return [iotMessages.weather, iotMessages.door, isLoading, search]\r\n}\r\n\r\nexport function useIotTelemetry() {\r\n const { t } = useTranslation()\r\n const [telemetry, setTelemetry] = useState({\r\n temperature: { datasets: [] },\r\n humidity: { datasets: [] },\r\n door: { datasets: [] },\r\n })\r\n const [isLoading, load, reload] = useLoading()\r\n\r\n const search = ({ from, to, freezerId } = {}) => load(async () => {\r\n const weatherResult = await IotMessagesServices.GetWeatherTelemetry({ from, to, freezerId })\r\n const doorResult = await IotMessagesServices.GetDoorTelemetry({ from, to, freezerId })\r\n setTelemetry({\r\n temperature: {\r\n datasets: [MapAsDataSet(weatherResult.map(w => { return { y: w.Temperature, x: w.MeasureDate.getTime() } }), t('settings.freezer.temperature'))]\r\n },\r\n humidity: {\r\n datasets: [MapAsDataSet(weatherResult.map(w => { return { y: w.Humidity, x: w.MeasureDate.getTime() } }), t('settings.freezer.humidity'))]\r\n },\r\n door: {\r\n datasets: [{\r\n ...MapAsDataSet(doorResult.map(d => { return { y: d.State ? t('settings.freezer.open') : t('settings.freezer.close'), x: d.MeasureDate.getTime() } }), t('settings.freezer.door'))\r\n , stepped: true\r\n }]\r\n }\r\n })\r\n })\r\n\r\n return [telemetry, isLoading, search]\r\n}","import React from \"react\"\r\nimport { Col, Row } from 'react-bootstrap';\r\nimport { CustomDate } from \"../../../../components/CustomControls/CustomDateTime\";\r\nimport { ErrorMessage } from \"../../../../components/Notifications/Notifications\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\nexport function DateRangeComponent({ startDate, endDate, handleChange, name, disabled }) {\r\n const { t } = useTranslation()\r\n\r\n const onHandleFromChange = (e, v) => {\r\n const date = v.toDate();\r\n if (date > endDate) {\r\n ErrorMessage(t('settings.freezer.validDate'))\r\n return\r\n }\r\n handleChange({ to: endDate, from: date })\r\n }\r\n\r\n const onHandleToChange = (e, v) => {\r\n const date = v.toDate();\r\n if (date < startDate) {\r\n ErrorMessage(t('settings.freezer.validDate'))\r\n return\r\n }\r\n handleChange({ from: startDate, to: date })\r\n }\r\n\r\n return (\r\n \r\n \r\n { }}\r\n value={startDate}\r\n dateFormat=\"DD/MM/YYYY\"\r\n disabled={disabled}\r\n inputProps={{ placeholder: \"DD/MM/YYYY\" }}\r\n />\r\n \r\n \r\n { }}\r\n value={endDate}\r\n dateFormat=\"DD/MM/YYYY\"\r\n disabled={disabled}\r\n inputProps={{ placeholder: \"DD/MM/YYYY\" }} />\r\n \r\n )\r\n}","import React, { useContext, useState, createContext, useReducer, useEffect } from \"react\"\r\nimport { Col, Row } from 'react-bootstrap';\r\nimport { CustomSelect } from \"../../../../components/CustomControls/CustomSelect\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { DateRangeComponent } from \"./DateRange\";\r\n\r\nconst initialState = {\r\n from: new Date(Date.now()),\r\n to: new Date(Date.now()),\r\n selected: null\r\n}\r\n\r\nexport const SearchContext = createContext(null);\r\nexport const SearchDispatchContext = createContext(null);\r\n\r\nexport function SearchHeaderContext({ children }) {\r\n const [state, dispatch] = useReducer(searchReducer, initialState)\r\n\r\n return (\r\n \r\n \r\n {children}\r\n \r\n )\r\n}\r\nfunction searchReducer(state, action) {\r\n switch (action.type) {\r\n case 'search':\r\n return {\r\n from: action.from,\r\n to: action.to,\r\n selected: action.selected\r\n }\r\n case 'selectedChange':\r\n return {\r\n from: state.from,\r\n to: state.to,\r\n selected: action.selected\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport function SearchHeader({ name, options, handleSearch, Prepend, disabled = false }) {\r\n const dispatch = useContext(SearchDispatchContext)\r\n const { t } = useTranslation()\r\n const [selectedOption, setSelectedOption] = useState(null)\r\n const [dateRange, setDateRange] = useState({\r\n from: new Date(Date.now()),\r\n to: new Date(Date.now())\r\n })\r\n\r\n const handleSearchCallback = () => {\r\n if (handleSearch != null)\r\n handleSearch({\r\n selected: selectedOption,\r\n from: dateRange.from,\r\n to: dateRange.to\r\n })\r\n dispatch({\r\n type: 'search',\r\n selected: selectedOption,\r\n from: dateRange.from,\r\n to: dateRange.to\r\n })\r\n }\r\n\r\n useEffect(() => {\r\n setSelectedOption(null)\r\n }, [JSON.stringify(options)])\r\n\r\n return (\r\n
    \r\n \r\n {Prepend}\r\n \r\n { setSelectedOption(v) }}\r\n options={options}\r\n getOptionLabel={(option) => option?.Name}\r\n getOptionValue={(option) => option?.Value}\r\n isDisabled={disabled}\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 { commonOptions, commonScale, commonPlugins } from \"../Utils\";\r\nimport { Chart } from \"react-chartjs-2\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\nexport function TemperatureChart({ data, min, max }) {\r\n const { t } = useTranslation()\r\n const hasNotData = HasNotData(data)\r\n return (\r\n \r\n )\r\n}\r\n\r\nexport function HumidityChart({ data }) {\r\n const { t } = useTranslation()\r\n const hasNotData = HasNotData(data)\r\n return (\r\n \r\n )\r\n}\r\n\r\nexport function DoorChart({ data }) {\r\n const { t } = useTranslation()\r\n const hasNotData = HasNotData(data)\r\n\r\n return (\r\n \r\n )\r\n}\r\n\r\nconst HasNotData = (data) => {\r\n return !(data.datasets?.reduce((has, value) => {\r\n return has = value.data.length > 0\r\n }, false) ?? false)\r\n}\r\n","import React from 'react';\r\nimport useFreezers from '../useFreezers';\r\nimport { EnumValue } from '../../../api/Freezer/Entities/Utils';\r\nimport Card from '../../../components/Cards/Card';\r\nimport Loader from '../../../components/Common/Loader';\r\nimport { Col, Row } from 'react-bootstrap';\r\nimport { useIotTelemetry } from '../useIotMessages';\r\nimport { SearchHeader } from './Components/SearchHeader';\r\nimport { DoorChart, HumidityChart, TemperatureChart } from './Components/TelemetryCharts';\r\nimport { SearchHeaderContext } from './Components/SearchHeader';\r\n\r\nexport function FreezerTelemetryContainer() {\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport function FreezerTelemetry() {\r\n const [freezers, isFreezersLoading] = useFreezers({ pageSize: 50 })\r\n const [telemetry, isTelemetryLoading, search] = useIotTelemetry()\r\n\r\n const handleSearch = (searchObject) => {\r\n if (!searchObject || !searchObject.selected) return\r\n search({ from: searchObject.from, to: searchObject.to, freezerId: searchObject.selected.Value })\r\n }\r\n const freezerOptions = () => freezers.Values.map(f => new EnumValue(f.Id, f.Description))\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\n \r\n \r\n } />\r\n \r\n \r\n } />\r\n \r\n \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 FreezerProtocolServices from \"../../../../api/Freezer/FreezerProtocolServices\";\r\nimport { getMasterData, getProtocols } from \"../../../../api/protocol\";\r\nimport { EnumValue } from \"../../../../api/Freezer/Entities/Utils\";\r\nimport { useProtocolAuthFilter } from \"../../../../components/Authorization/useAuthorization\";\r\n\r\nfunction ProtocolTelemetryState({ isFirstLoading, isLoading, laboratories, protocols, protocolsConfig } = {}) {\r\n this.isFirstloading = isFirstLoading ?? false;\r\n this.isLoading = isLoading ?? false;\r\n this.laboratories = laboratories ?? [];\r\n this.protocols = protocols ?? [];\r\n this.protocolsConfig = protocolsConfig ?? []\r\n\r\n this.StartLoading = function () {\r\n return new ProtocolTelemetryState({ ...this, isLoading: true, isFirstLoading: false})\r\n }\r\n this.EndLoading = function ({ protocols } = {}) {\r\n return new ProtocolTelemetryState({ ...this, isLoading: false, protocols , isFirstLoading: false})\r\n }\r\n this.ContainsProtocolConfig = function (protocolId) {\r\n const config = this.protocolsConfig.get(protocolId)\r\n return config !== null && config?.AssignedFreezers?.length > 0;\r\n }\r\n\r\n this.GetConfig = function (protocolId) {\r\n return this.protocolsConfig.get(protocolId)\r\n }\r\n}\r\n\r\nexport function useLaboratoryProtocol() {\r\n const [state, setState] = useState(new ProtocolTelemetryState());\r\n const [canViewProtocol, isAuthLoading] = useProtocolAuthFilter()\r\n useEffect(() => {\r\n async function LoadLaboratories() {\r\n const masterData = await getMasterData([\"Laboratories\"]);\r\n const protocolConfigurations = (await FreezerProtocolServices\r\n .GetProtocolConfigs()).Value.reduce((m, v) => m.set(v.Id, v), new Map())\r\n ?? [];\r\n setState(new ProtocolTelemetryState({\r\n isFirstLoading: false,\r\n laboratories: masterData.data?.Laboratories.map(l => new EnumValue(l.id, l.title)) ?? [],\r\n protocolsConfig: protocolConfigurations\r\n }))\r\n }\r\n LoadLaboratories();\r\n }, [isAuthLoading])\r\n\r\n const HandleSelectedLaboratoryAsync = async (laboratoryId) => {\r\n setState(state.StartLoading())\r\n\r\n const protocols = (await getProtocols({\r\n pagination: { page: 1, sizePerPage: 1000, totalSize: 0 },\r\n sort: { sortField: \"Created\", sortOrder: \"desc\" },\r\n filters: { laboratoryId: laboratoryId }\r\n })).data.data\r\n\r\n var filteredProtocols = protocols\r\n ?.filter(p => canViewProtocol(p.id))\r\n ?.filter(p => state.ContainsProtocolConfig(p.id))\r\n ?.map(p => new EnumValue(p.id, p.title)) ?? []\r\n\r\n setState(state.EndLoading({ protocols: filteredProtocols }))\r\n }\r\n\r\n return [state, HandleSelectedLaboratoryAsync]\r\n}","import React, { useContext, useEffect, useState } from \"react\";\r\nimport Card from \"../../../components/Cards/Card\";\r\nimport Loader from \"../../../components/Common/Loader\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useIotTelemetry } from \"../useIotMessages\";\r\nimport { Col, Row } from 'react-bootstrap';\r\nimport { CustomSelect } from \"../../../components/CustomControls/CustomSelect\";\r\nimport { useLaboratoryProtocol } from \"./hooks/useLaboratoryProtocol\";\r\nimport { ErrorMessage } from \"../../../components/Notifications/Notifications\";\r\nimport { ProtocolFreezerConfiguration } from \"../../../api/Freezer/Entities/ProtocolFreezerConfiguration\";\r\nimport './telemetry.css'\r\nimport { SearchHeader, SearchHeaderContext, SearchContext } from \"./Components/SearchHeader\";\r\nimport { DoorChart, HumidityChart, TemperatureChart } from \"./Components/TelemetryCharts\";\r\n\r\nexport function ProtocolTelemetryContainer() {\r\n return (\r\n \r\n \r\n )\r\n}\r\n\r\nexport function ProtocolTelemetry() {\r\n const { t } = useTranslation()\r\n const context = useContext(SearchContext)\r\n const [protocolState, handleLaboratoryChange] = useLaboratoryProtocol();\r\n const [selectedLaboratory, setSelectedLaboratory] = useState(null)\r\n const [telemetry, isTelemetryLoading, search] = useIotTelemetry()\r\n const [telemetryContext, setTelemetryContext] = useState({\r\n protocolConfig: new ProtocolFreezerConfiguration(),\r\n selectedFreezer: null,\r\n })\r\n\r\n useEffect(() => {\r\n if (selectedLaboratory === null) return\r\n handleLaboratoryChange(selectedLaboratory.Value)\r\n }, [selectedLaboratory])\r\n useEffect(() => {\r\n if (selectedLaboratory !== null\r\n && !protocolState.isLoading\r\n && protocolState.protocols.length <= 0) {\r\n ErrorMessage(t(\"telemetry.notProtocolConfigured\"))\r\n }\r\n\r\n }, [protocolState.isLoading])\r\n useEffect(() => {\r\n if (context?.selected == null) return\r\n const config = protocolState.GetConfig(context.selected.Value);\r\n const firstFreezer = config.AssignedFreezers[0];\r\n setTelemetryContext({\r\n protocolConfig: config,\r\n selectedFreezer: firstFreezer.Id\r\n })\r\n search({ from: context.from, to: context.to, freezerId: firstFreezer.Id })\r\n }, [context])\r\n\r\n const handleFreezerChange = (freezerId) => {\r\n setTelemetryContext({\r\n ...telemetryContext,\r\n selectedFreezer: freezerId\r\n })\r\n\r\n search({ from: context.from, to: context.to, freezerId: freezerId })\r\n }\r\n\r\n return (\r\n \r\n \r\n
    \r\n \r\n { setSelectedLaboratory(v) }}\r\n options={protocolState.laboratories}\r\n getOptionLabel={(option) => option?.Name}\r\n getOptionValue={(option) => option?.Value}\r\n />\r\n \r\n }\r\n disabled={(selectedLaboratory === null || !(protocolState.protocols.length > 0))}\r\n options={protocolState.protocols}\r\n />\r\n
    \r\n \r\n }\r\n\r\n content={\r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n } />\r\n \r\n \r\n } />\r\n \r\n \r\n } />\r\n \r\n \r\n \r\n } />\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n }\r\n />\r\n
    \r\n )\r\n}\r\n\r\nfunction SelecteableFreezers({ freezers, handleSelectedFreezer, selectedFreezer }) {\r\n const { t } = useTranslation()\r\n const handleSelected = (freezer) => {\r\n handleSelectedFreezer(freezer.Id)\r\n }\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {freezers?.length > 0 && freezers.map(f => (\r\n handleSelected(f)} className={f.Id == selectedFreezer ? \"selected pointer\" : \"pointer \"}>\r\n \r\n \r\n )) || }\r\n \r\n
    {t(\"commons.description\")}{t(\"commons.location\")}
    {f.Description}{f.Location}
    {t(\"commons.noData\")}
    \r\n )\r\n}","import React from \"react\"\r\nexport default function Alert({ message }) {\r\n return (\r\n
    \r\n {message}\r\n
    \r\n )\r\n}","import React from \"react\";\r\nexport default function Dot({ color }) {\r\n return (\r\n \r\n );\r\n};","import React from \"react\";\r\nimport BootstrapTable from 'react-bootstrap-table-next';\r\nimport { Panel } from \"react-bootstrap\";\r\nimport moment from 'moment';\r\nimport { useTranslation } from 'react-i18next';\r\nimport Alert from './Alert';\r\nimport Dot from './Dot';\r\nimport '../telemetry.css';\r\n\r\nexport default function FreezerTogglePanel({ header, daysResume, protocolConfig }) {\r\n const { t } = useTranslation()\r\n const [isOpen, setIsOpen] = React.useState(false);\r\n const columns = [\r\n {\r\n dataField: 'Day',\r\n text: t('commons.day'),\r\n formatter: (_, row) => {\r\n const date = moment(row.Day);\r\n const formattedDate = date.format('DD/MM/YYYY');\r\n return formattedDate;\r\n }\r\n },\r\n {\r\n dataField: 'MinTemperature',\r\n text: t('telemetry.minTemp'),\r\n formatter: (_, row) => formatTemperature(row.MinTemperature)\r\n },\r\n {\r\n dataField: 'MaxTemperature',\r\n text: t('telemetry.maxTemp'),\r\n formatter: (_, row) => formatTemperature(row.MaxTemperature)\r\n }\r\n ];\r\n\r\n if (protocolConfig) {\r\n columns.push({\r\n dataField: 'state',\r\n text: t('commons.state'),\r\n formatter: (_, row) => {\r\n return ;\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n function formatTemperature(value) {\r\n const formattedValue = value.toFixed(2);\r\n return `${formattedValue}°`;\r\n }\r\n\r\n return (\r\n setIsOpen(!isOpen)}>\r\n \r\n
    \r\n {header}\r\n
    \r\n {t('commons.show')}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {daysResume?.length > 0 && || }\r\n \r\n \r\n
    \r\n )\r\n}","import React, { useEffect, useState } from 'react';\r\nimport Card from \"../../../components/Cards/Card\";\r\nimport { SearchHeader, SearchHeaderContext } from './Components/SearchHeader';\r\nimport { EnumValue } from '../../../api/Freezer/Entities/Utils';\r\nimport './telemetry.css';\r\nimport Loader from \"../../../components/Common/Loader\";\r\nimport useFreezerResume from './hooks/useFreezerResume';\r\nimport { useTranslation } from 'react-i18next';\r\nimport useProtocolResume from './hooks/useProtocolResume';\r\nimport Alert from './Components/Alert';\r\nimport FreezerTogglePanel from './Components/FreezerTogglePanel';\r\nimport { useProtocolPageAuth } from '../../../components/Authorization/useAuthorization';\r\n\r\n\r\nexport function TelemetryGeneralViewContainer() {\r\n return \r\n \r\n \r\n}\r\n\r\nfunction TelemetryGeneralView() {\r\n const [isAuthorized, ,] = useProtocolPageAuth();\r\n const [searchContext, setContext] = useState(null)\r\n const headerOptions = [new EnumValue(2, \"Vista por Heladeras\")]\r\n\r\n if (isAuthorized([\"Freezers.View\"])) {\r\n headerOptions.push(new EnumValue(1, \"Vista por Protocolos\"))\r\n }\r\n const SelectedView = ({ searchContext }) => {\r\n switch (searchContext?.selected.Value) {\r\n case 2:\r\n return ()\r\n case 1:\r\n return ()\r\n default:\r\n return
    \r\n }\r\n }\r\n\r\n const handleSearch = (search) => {\r\n setContext(search)\r\n }\r\n\r\n return (\r\n \r\n \r\n }\r\n content={}\r\n />\r\n )\r\n}\r\n\r\nfunction FreezerPanelView({ from, to }) {\r\n const { t } = useTranslation()\r\n const [resumes, isLoading, reload] = useFreezerResume(from, to)\r\n\r\n useEffect(() => {\r\n reload()\r\n }, [from, to])\r\n\r\n const Header = ({ resume }) => {\r\n return (
    \r\n \r\n \r\n
    )\r\n }\r\n\r\n const mapped = resumes.map(r => }\r\n daysResume={r.Days} />)\r\n\r\n return (\r\n {resumes.length > 1 ? mapped : }\r\n )\r\n}\r\n\r\nfunction ProtocolPanelView({ from, to }) {\r\n const { t } = useTranslation()\r\n const [resumes, isLoading, reload] = useProtocolResume(from, to)\r\n console.log(isLoading)\r\n useEffect(() => {\r\n reload()\r\n }, [from, to])\r\n\r\n const Header = ({ resume }) => (\r\n
    \r\n \r\n \r\n \r\n
    \r\n )\r\n\r\n const mapped = resumes.map(r => }\r\n daysResume={r.FreezerDaysResume}\r\n protocolConfig={r.Configuration} />)\r\n\r\n return (\r\n {resumes.length > 1 ? mapped : }\r\n )\r\n}\r\n\r\nfunction HeaderData({ title, value }) {\r\n return (\r\n \r\n {title}:{' '}{value}\r\n \r\n )\r\n}\r\n\r\n\r\n\r\n\r\n\r\n","import { useState } from 'react';\r\nimport IotMessagesServices from '../../../../api/Freezer/IotMessagesServices';\r\nimport FreezerService from '../../../../api/Freezer/FreezerService';\r\n\r\nexport default function useFreezerResume(from, to) {\r\n const [state, setState] = useState({\r\n resumes: [],\r\n isLoading: false\r\n })\r\n\r\n const findResume = async () => {\r\n const freezers = await FreezerService.Find({ pageSize: 100, withDevices: false });\r\n const freezerIdMap = freezers.Values.reduce((map, freezer) => map.set(freezer.Id, freezer), new Map())\r\n const resumeData = await IotMessagesServices.GetWeatherResume({ from, to, freezerIds: Array.from(freezerIdMap.keys()) });\r\n resumeData.forEach(r => r.Freezer = freezerIdMap.get(r.FreezerId))\r\n return resumeData;\r\n };\r\n\r\n const load = async () => {\r\n setState({ resumes: [], isLoading: true })\r\n const resumes = await findResume();\r\n setState({ resumes: resumes, isLoading: false })\r\n }\r\n return [state.resumes, state.isLoading, load];\r\n}","import { useEffect, useState } from \"react\";\r\nimport FreezerProtocolServices from \"../../../../api/Freezer/FreezerProtocolServices\";\r\nimport IotMessagesServices from \"../../../../api/Freezer/IotMessagesServices\";\r\nimport { getProtocols } from \"../../../../api/protocol\";\r\nimport { ProtocolFullData } from \"../../../../api/Freezer/Entities/FreezerTelemetryResume\";\r\n\r\nexport default function useProtocolResume(from, to) {\r\n const [state, setState] = useState({\r\n resumes: [],\r\n isLoading: false\r\n });\r\n\r\n useEffect(() => {\r\n load();\r\n }, [])\r\n\r\n const findResume = async ({ from, to }) => {\r\n const protocolConfigurationsList = (await FreezerProtocolServices\r\n .GetProtocolConfigs())\r\n .Value;\r\n const uniqueFreezers = protocolConfigurationsList.reduce((map, value) => {\r\n value.AssignedFreezers.forEach(f => map.set(f.Id, f))\r\n return map;\r\n }, new Map());\r\n\r\n const uniqueFreezerIds = uniqueFreezers.keys();\r\n const resumeDataByFreezerId = (await IotMessagesServices\r\n .GetWeatherResume({ from, to, freezerIds: Array.from(uniqueFreezerIds) }))\r\n .reduce((map, r) => map.set(r.FreezerId, [...(map.get(r.FreezerId) ?? []), ...r.Days]), new Map());\r\n\r\n const protocols = (await getProtocols({\r\n pagination: { page: 1, sizePerPage: 1000, totalSize: 0 },\r\n sort: { sortField: \"Created\", sortOrder: \"desc\" },\r\n })).data.data\r\n .reduce((map, p) => map.set(p.id, p), new Map())\r\n\r\n const data = protocolConfigurationsList\r\n .flatMap(p => p.AssignedFreezers.map(f => ({ Config: p, Freezer: f })))\r\n .map(p => new ProtocolFullData({\r\n protocol: protocols.get(p.Config.Id)\r\n , configuration: p.Config\r\n , freezerDaysResume: resumeDataByFreezerId.get(p.Freezer.Id)\r\n , freezer: p.Freezer\r\n }))\r\n\r\n return data;\r\n }\r\n\r\n const load = async () => {\r\n setState({ resumes: [], isLoading: true })\r\n const data = await findResume({ from, to })\r\n setState({ resumes: data, isLoading: false })\r\n }\r\n\r\n\r\n return [state.resumes, state.isLoading, load];\r\n}","import React from 'react';\r\nimport { FreezerTelemetryContainer } from '../containers/Freezers/TelemetryComponents/FreezerTelemetryContainer';\r\nimport { Col, Nav, NavItem, Row, Tab } from \"react-bootstrap\";\r\nimport { useProtocolPageAuth } from '../components/Authorization/useAuthorization';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { ProtocolTelemetryContainer } from '../containers/Freezers/TelemetryComponents/ProtocolTelemetry';\r\nimport { TelemetryGeneralViewContainer } from '../containers/Freezers/TelemetryComponents/TelemetryGeneralView';\r\n\r\nexport function TelemetryPage() {\r\n const { t } = useTranslation();\r\n const [isAuthorized, ,] = useProtocolPageAuth();\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","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;","/*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 { 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 CreateFreezerContainer from \"./containers/Freezers/FreezerComponents/CreateFreezerContainer\";\r\nimport EditFreezerContainer from \"./containers/Freezers/FreezerComponents/EditFreezerContainer\";\r\nimport FreezersContainer from \"./containers/Freezers/FreezerComponents/FreezersContainer\";\r\nimport CreateIotDeviceContainer from \"./containers/Freezers/IotDevicesComponents/CreateDeviceContainer\";\r\nimport DeviceDetails from \"./containers/Freezers/IotDevicesComponents/DeviceDetails\";\r\nimport IotDevicesContainers from \"./containers/Freezers/IotDevicesComponents/IotDevicesContainer\";\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 { TelemetryPage } from \"./views/TelemetryPage\";\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 No Programada\",\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 // Freezers\r\n {\r\n path: \"/settings/freezers\",\r\n name: \"Heladeras\",\r\n mini: \"TP\",\r\n layout: \"/admin\",\r\n component: FreezersContainer,\r\n permission: [\"Freezers.List\"],\r\n hidden: true\r\n },\r\n {\r\n path: \"/settings/freezers/create\",\r\n name: \"Crear Heladera\",\r\n mini: \"CTP\",\r\n layout: \"/admin\",\r\n component: CreateFreezerContainer,\r\n permission: [\"Freezers.Create\"],\r\n hidden: true\r\n },\r\n {\r\n path: \"/settings/freezers/:freezerId\",\r\n name: \"Editar Heladera\",\r\n mini: \"ETP\",\r\n layout: \"/admin\",\r\n component: EditFreezerContainer,\r\n permission: [\"Freezers.Edit\"],\r\n hidden: true\r\n },\r\n //Devices\r\n {\r\n path: \"/settings/devices\",\r\n name: \"Dispositivos\",\r\n mini: \"TP\",\r\n layout: \"/admin\",\r\n component: IotDevicesContainers,\r\n permission: [\"Devices.List\"],\r\n hidden: true\r\n },\r\n {\r\n path: \"/settings/devices/create\",\r\n name: \"Crear Dispositivo\",\r\n mini: \"CTP\",\r\n layout: \"/admin\",\r\n component: CreateIotDeviceContainer,\r\n permission: [\"Devices.Create\"],\r\n hidden: true\r\n },\r\n {\r\n path: \"/settings/devices/detail/:deviceId\",\r\n name: \"Editar Dispositivo\",\r\n mini: \"ETP\",\r\n layout: \"/admin\",\r\n component: DeviceDetails,\r\n permission: [\"Devices.Edit\"],\r\n hidden: true\r\n },\r\n //Telemetry\r\n {\r\n path: \"/devicetelemetry\",\r\n name: \"Telemetria\",\r\n mini: \"T\",\r\n layout: \"/admin\",\r\n component: TelemetryPage,\r\n permission: [\"Telemetry.View\", \"Freezers.View\"],\r\n hidden: true\r\n }\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 //Telemetry\r\n {\r\n path: \"/devicetelemetry\",\r\n name: \"routes.telemetry\",\r\n layout: \"/admin\",\r\n iconSVG: \"telemetry\",\r\n permission: [\"Telemetry.View\"],\r\n component: TelemetryPage\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 { useTranslation } from 'react-i18next';\r\nimport { useSelector } from 'react-redux';\r\nimport { NavLink } from 'react-router-dom';\r\nimport { DigitalSign } from '../../components/DigitalSign/DigitalSign.jsx';\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 { getProtocolUrl } from '../../components/Utils/Commons.jsx';\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 { AuditModal } from '../../components/AuditTrail/AuditModal.jsx';\r\nimport { AuditTrail } from '../Admin/AuditTrail.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 const [modal, setModal] = useState(null);\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 //#region AuditTrail\r\n // Si envío \"Entity\" == \"ALL\", trae por parentKey solamente. Por ejemplo, busco todas las auditorias de una Visita particular. \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 //#endregion\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 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 onAuditTrail={handleAuditTrail}\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 !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 { useTranslation } from 'react-i18next';\r\nimport { getForms, getVisit, getVisitHistory, printVisit, publishVisit, removeVisit, sortForms } from '../../../api/protocol';\r\nimport { getExtraForms } from '../../../api/protocolsExtraForms';\r\nimport { ModalData } from '../../../components/Modals/ModalData';\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 { FormRestrictionsContainer } from './FormRestrictions';\r\nimport { PublishModal, RemoveModal } from './RemoveVisit';\r\nimport { CopyFormsContainer } from './CopyForms';\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 [reloadForms, setReloadForms] = useState(false);\r\n const [visit, setVisit] = useState(null);\r\n const { t } = useTranslation();\r\n\r\n //#region Effects\r\n useEffect(() => {\r\n let isSubscribed = true;\r\n const fetchVisitData = async () => {\r\n try {\r\n setIsLoading(true);\r\n const response = await getVisit(protocolId, visitId);\r\n if (isSubscribed)\r\n setVisit(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 fetchVisitData();\r\n return () => isSubscribed = false;\r\n }, [protocolId, visitId, reload]);\r\n\r\n const [forms, setForms] = useState([]);\r\n useEffect(() => {\r\n let isSubscribed = true;\r\n const fetchFormsData = async () => {\r\n try {\r\n setIsLoading(true);\r\n setReloadForms(false);\r\n const response = await getForms(protocolId, visitId);\r\n if (isSubscribed)\r\n setForms(response.data.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 fetchFormsData();\r\n return () => isSubscribed = false;\r\n }, [protocolId, visitId, reloadForms]);\r\n\r\n const [visitHistory, setVisitHistory] = useState([]);\r\n useEffect(() => {\r\n let isSubscribed = true;\r\n const fetchVisitHistory = async () => {\r\n try {\r\n setIsLoading(true);\r\n setReload(false);\r\n const response = await getVisitHistory(protocolId, visitId);\r\n if (isSubscribed)\r\n setVisitHistory(response.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 fetchVisitHistory();\r\n return () => isSubscribed = false;\r\n }, [protocolId, visitId]);\r\n\r\n const [extraForms, setExtraForms] = useState([]);\r\n useEffect(() => {\r\n let isSubscribed = true;\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 //#endregion\r\n\r\n //#region Handlers\r\n const handleSortEnd = (sortedForms) => {\r\n\r\n setIsLoading(true);\r\n sortForms(protocolId, visit.crossVersionId, sortedForms)\r\n .then(() => {\r\n setForms(sortedForms);\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 //#endregion\r\n\r\n //#region FormRestrictions\r\n const handleFormRestrictions = () => {\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 //#region CopyForms\r\n const handleCopyForms = () => {\r\n setModal( { setReloadForms(true); setModal(null) }}\r\n title={t(\"protocols.visit.copyForms_title\")}\r\n >\r\n { setReloadForms(true); setModal(null) }}\r\n onCancel={() => setModal(null)}\r\n />\r\n );\r\n }\r\n //#endregion\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 { CustomSearchBox } from '../../components/CustomControls/CustomSearchBox';\r\nimport { CustomSelect } from '../../components/CustomControls/CustomSelect';\r\nimport { ProtocolPicker } from '../../components/CustomControls/ProtocolPicker';\r\nimport { View } from '../../components/Icons/Icons';\r\nimport { NotesEnum } from '../../components/Protocols/Visit/Enums';\r\nimport { getFullNameFromUserMention } from '../../components/Utils/Commons';\r\nimport { dateFormatter } from \"../../components/Utils/Formatter\";\r\nimport { Tooltip } from \"../../components/Utils/Tooltips\";\r\nimport { useExternalNotes } from './useExternalNotes';\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, setData] = useExternalNotes(selectedProtocol);\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 function handleProtocol(_name, selectedProtocol) {\r\n setData([]);\r\n if (selectedProtocol && selectedProtocol.length > 0)\r\n setSelectedProtocol(selectedProtocol[0]?.id);\r\n else\r\n {\r\n setSelectedProtocol(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 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, setData];\r\n}","import { useState } from \"react\";\r\nimport useLoading from \"../../components/Common/useLoading\";\r\nimport FreezerService from \"../../api/Freezer/FreezerService\";\r\nimport { Freezer } from \"../../api/Freezer/Entities/Freezer\";\r\n\r\n\r\nexport default function useFreezer(freezerId) {\r\n const [freezer, setFrezeer] = useState(new Freezer())\r\n const [isLoading, reload] = useLoading({\r\n onLoad: async () => {\r\n if (freezerId == \"\") return;\r\n const result = await FreezerService.GetById(freezerId)\r\n setFrezeer(result)\r\n },\r\n onError: () => {\r\n setFrezeer(new Freezer())\r\n }\r\n })\r\n\r\n return [freezer, isLoading, reload]\r\n}","import { useState } from \"react\";\r\nimport useLoading from \"../../components/Common/useLoading\";\r\nimport { IotDevice } from \"../../api/Freezer/Entities/IotDevice\";\r\nimport DeviceService from \"../../api/Freezer/DeviceService\";\r\n\r\nexport default function useIotDevice(deviceId) {\r\n const [device, setDevice] = useState(new IotDevice())\r\n const [isLoading, useLoad, doReload] = useLoading({\r\n onLoad: async () => {\r\n if (!deviceId || deviceId <= 0) return;\r\n const result = await DeviceService.GetById(deviceId)\r\n setDevice(result)\r\n },\r\n onError: () => {\r\n setDevice(new IotDevice())\r\n }\r\n })\r\n\r\n const getCertificate = async () => {\r\n return await DeviceService.GetCertificate(device.CertificatePath)\r\n }\r\n\r\n return [device, isLoading, doReload, getCertificate]\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}","// 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 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 Footer from \"../components/Footer/Footer\";\r\nimport AdminNavbar from \"../components/Navbars/AdminNavbar\";\r\nimport { Sidebar } from \"../components/Sidebar/Sidebar\";\r\nimport { CustomRoute } from \"../components/api-authorization/CustomRoute\";\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\r\nconst AdminLayout = (props) => {\r\n\r\n const getRoutes = routes => {\r\n return routes.map((route, i) => {\r\n\r\n if (route.collapse) {\r\n return 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 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 {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\nexport default AdminLayout;\r\n\r\n/*\r\nclass AdminLayout2 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 AdminLayout2;*/","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 { useTranslation } from 'react-i18next';\r\nimport { useDispatch, useSelector } 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 { SystemNotification } from './containers/Settings/AdminNotifications/SystemNotification';\r\nimport AdminLayout from './layouts/Admin';\r\nimport SignalRProvider from './services/signalRService';\r\nimport { settingsActions } from './store/Configuration';\r\n\r\nexport default () => {\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 i18n.changeLanguage(currentUser.language);\r\n\r\n dispatch(settingsActions.requestDigitalSignEnabled());\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 \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":""}