# O3 Framework

## API

- [makeUrl](functions/makeUrl.md)
- [openmrsFetch](functions/openmrsFetch.md)
- [openmrsObservableFetch](functions/openmrsObservableFetch.md)
- [OpenmrsFetchError](classes/OpenmrsFetchError.md)
- [FetchConfig](interfaces/FetchConfig.md)
- [FetchHeaders](interfaces/FetchHeaders.md)
- [FetchResponseJson](interfaces/FetchResponseJson.md)
- [FetchError](interfaces/FetchError.md)
- [getAttachmentByUuid](functions/getAttachmentByUuid.md)
- [getAttachments](functions/getAttachments.md)
- [createAttachment](functions/createAttachment.md)
- [deleteAttachmentPermanently](functions/deleteAttachmentPermanently.md)
- [fetchCurrentPatient](functions/fetchCurrentPatient.md)
- [CurrentPatientOptions](interfaces/CurrentPatientOptions.md)
- [PatientWithFullResponse](interfaces/PatientWithFullResponse.md)
- [OnlyThePatient](interfaces/OnlyThePatient.md)
- [getVisitStore](functions/getVisitStore.md)
- [~~setCurrentVisit~~](functions/setCurrentVisit.md)
- [saveVisit](functions/saveVisit.md)
- [updateVisit](functions/updateVisit.md)
- [~~getVisitsForPatient~~](functions/getVisitsForPatient.md)
- [VisitItem](interfaces/VisitItem.md)
- [VisitStoreState](interfaces/VisitStoreState.md)
- [toVisitTypeObject](functions/toVisitTypeObject.md)
- [getVisitTypes](functions/getVisitTypes.md)
- [toLocationObject](functions/toLocationObject.md)
- [getLocations](functions/getLocations.md)
- [useAttachments](functions/useAttachments.md)
- [useEmrConfiguration](functions/useEmrConfiguration.md)
- [EmrApiConfigurationResponse](interfaces/EmrApiConfigurationResponse.md)
- [useLocations](functions/useLocations.md)
- [usePatient](functions/usePatient.md)
- [usePrimaryIdentifierCode](functions/usePrimaryIdentifierCode.md)
- [PrimaryIdentifier](interfaces/PrimaryIdentifier.md)
- [useVisit](functions/useVisit.md)
- [VisitReturnType](interfaces/VisitReturnType.md)
- [useVisitTypes](functions/useVisitTypes.md)
- [UserHasAccessProps](interfaces/UserHasAccessProps.md)
- [clearCurrentUser](functions/clearCurrentUser.md)
- [getCurrentUser](functions/getCurrentUser.md)
- [getLoggedInUser](functions/getLoggedInUser.md)
- [getSessionStore](functions/getSessionStore.md)
- [getSessionLocation](functions/getSessionLocation.md)
- [refetchCurrentUser](functions/refetchCurrentUser.md)
- [setSessionLocation](functions/setSessionLocation.md)
- [setUserLanguage](functions/setUserLanguage.md)
- [setUserProperties](functions/setUserProperties.md)
- [userHasAccess](functions/userHasAccess.md)
- [useSession](functions/useSession.md)

## Config Validation

- [validator](functions/validator.md)
- [inRange](functions/inRange.md)
- [isUrlWithTemplateParameters](functions/isUrlWithTemplateParameters.md)
- [oneOf](functions/oneOf.md)

## Context

- [registerContext](functions/registerContext.md)
- [unregisterContext](functions/unregisterContext.md)
- [getContext](functions/getContext.md)
- [updateContext](functions/updateContext.md)
- [subscribeToContext](functions/subscribeToContext.md)
- [OpenmrsAppContext](functions/OpenmrsAppContext.md)
- [OpenmrsAppContextProps](interfaces/OpenmrsAppContextProps.md)
- [useAppContext](functions/useAppContext.md)
- [useDefineAppContext](functions/useDefineAppContext.md)

## Error Handling

- [reportError](functions/reportError.md)
- [createErrorHandler](functions/createErrorHandler.md)

## Breadcrumb

- [registerBreadcrumb](functions/registerBreadcrumb.md)
- [registerBreadcrumbs](functions/registerBreadcrumbs.md)
- [getBreadcrumbs](functions/getBreadcrumbs.md)
- [filterBreadcrumbs](functions/filterBreadcrumbs.md)
- [getBreadcrumbsFor](functions/getBreadcrumbsFor.md)
- [BreadcrumbSettings](interfaces/BreadcrumbSettings.md)
- [BreadcrumbRegistration](interfaces/BreadcrumbRegistration.md)

## Navigation

- [interpolateUrl](functions/interpolateUrl.md)
- [interpolateString](functions/interpolateString.md)
- [navigate](functions/navigate.md)
- [NavigateOptions](interfaces/NavigateOptions.md)
- [ConfigurableLink](functions/ConfigurableLink.md)
- [ConfigurableLinkProps](interfaces/ConfigurableLinkProps.md)
- [getHistory](functions/getHistory.md)
- [goBackInHistory](functions/goBackInHistory.md)

## Offline

- [~~getOfflinePatientDataStore~~](functions/getOfflinePatientDataStore.md)
- [~~registerOfflinePatientHandler~~](functions/registerOfflinePatientHandler.md)
- [~~syncOfflinePatientData~~](functions/syncOfflinePatientData.md)
- [~~OfflinePatientDataSyncStore~~](interfaces/OfflinePatientDataSyncStore.md)
- [~~OfflinePatientDataSyncState~~](interfaces/OfflinePatientDataSyncState.md)
- [~~OfflinePatientDataSyncHandler~~](interfaces/OfflinePatientDataSyncHandler.md)
- [~~OfflinePatientArgs~~](interfaces/OfflinePatientArgs.md)
- [messageOmrsServiceWorker](functions/messageOmrsServiceWorker.md)
- [OmrsServiceWorkerMessage](interfaces/OmrsServiceWorkerMessage.md)
- [OnImportMapChangedMessage](interfaces/OnImportMapChangedMessage.md)
- [ClearDynamicRoutesMessage](interfaces/ClearDynamicRoutesMessage.md)
- [RegisterDynamicRouteMessage](interfaces/RegisterDynamicRouteMessage.md)
- [MessageServiceWorkerResult](interfaces/MessageServiceWorkerResult.md)
- [generateOfflineUuid](functions/generateOfflineUuid.md)
- [isOfflineUuid](functions/isOfflineUuid.md)
- [getDynamicOfflineDataHandlers](functions/getDynamicOfflineDataHandlers.md)
- [setupDynamicOfflineDataHandler](functions/setupDynamicOfflineDataHandler.md)
- [getDynamicOfflineDataEntries](functions/getDynamicOfflineDataEntries.md)
- [getDynamicOfflineDataEntriesFor](functions/getDynamicOfflineDataEntriesFor.md)
- [putDynamicOfflineData](functions/putDynamicOfflineData.md)
- [putDynamicOfflineDataFor](functions/putDynamicOfflineDataFor.md)
- [removeDynamicOfflineData](functions/removeDynamicOfflineData.md)
- [removeDynamicOfflineDataFor](functions/removeDynamicOfflineDataFor.md)
- [syncAllDynamicOfflineData](functions/syncAllDynamicOfflineData.md)
- [syncDynamicOfflineData](functions/syncDynamicOfflineData.md)
- [DynamicOfflineDataHandler](interfaces/DynamicOfflineDataHandler.md)
- [DynamicOfflineData](interfaces/DynamicOfflineData.md)
- [DynamicOfflineDataSyncState](interfaces/DynamicOfflineDataSyncState.md)
- [useConnectivity](functions/useConnectivity.md)
- [OfflineModeResult](interfaces/OfflineModeResult.md)
- [getCurrentOfflineMode](functions/getCurrentOfflineMode.md)
- [QueueItemDescriptor](interfaces/QueueItemDescriptor.md)
- [SyncItem](interfaces/SyncItem.md)
- [SyncProcessOptions](interfaces/SyncProcessOptions.md)
- [queueSynchronizationItem](functions/queueSynchronizationItem.md)
- [getSynchronizationItem](functions/getSynchronizationItem.md)
- [getSynchronizationItems](functions/getSynchronizationItems.md)
- [getFullSynchronizationItems](functions/getFullSynchronizationItems.md)
- [getFullSynchronizationItemsFor](functions/getFullSynchronizationItemsFor.md)
- [canBeginEditSynchronizationItemsOfType](functions/canBeginEditSynchronizationItemsOfType.md)
- [beginEditSynchronizationItem](functions/beginEditSynchronizationItem.md)
- [deleteSynchronizationItem](functions/deleteSynchronizationItem.md)
- [setupOfflineSync](functions/setupOfflineSync.md)

## Extension

- [ExtensionSlot](functions/ExtensionSlot.md)
- [ExtensionSlotBaseProps](interfaces/ExtensionSlotBaseProps.md)
- [ExtensionSlotProps](interfaces/ExtensionSlotProps.md)
- [~~useAssignedExtensionIds~~](functions/useAssignedExtensionIds.md)
- [useAssignedExtensions](functions/useAssignedExtensions.md)
- [useExtensionSlotMeta](functions/useExtensionSlotMeta.md)
- [useExtensionSlotStore](functions/useExtensionSlotStore.md)
- [useRenderableExtensions](functions/useRenderableExtensions.md)
- [getExtensionNameFromId](functions/getExtensionNameFromId.md)
- [attach](functions/attach.md)
- [~~detach~~](functions/detach.md)
- [~~detachAll~~](functions/detachAll.md)
- [getAssignedExtensions](functions/getAssignedExtensions.md)
- [CancelLoading](interfaces/CancelLoading.md)
- [renderExtension](functions/renderExtension.md)
- [ExtensionMeta](interfaces/ExtensionMeta.md)
- [ExtensionRegistration](interfaces/ExtensionRegistration.md)
- [ExtensionStore](interfaces/ExtensionStore.md)
- [AssignedExtension](interfaces/AssignedExtension.md)
- [~~ConnectedExtension~~](interfaces/ConnectedExtension.md)
- [ExtensionSlotState](interfaces/ExtensionSlotState.md)
- [getExtensionStore](functions/getExtensionStore.md)

## Framework

- [getLifecycle](functions/getLifecycle.md)
- [getAsyncLifecycle](functions/getAsyncLifecycle.md)
- [getSyncLifecycle](functions/getSyncLifecycle.md)

## Utility

- [useAbortController](functions/useAbortController.md)
- [useDebounce](functions/useDebounce.md)
- [useOpenmrsSWR](functions/useOpenmrsSWR.md)
- [ageAsDuration](functions/ageAsDuration.md)
- [age](functions/age.md)
- [getPatientName](functions/getPatientName.md)
- [~~displayName~~](functions/displayName.md)
- [formatPatientName](functions/formatPatientName.md)
- [~~formattedName~~](functions/formattedName.md)
- [selectPreferredName](functions/selectPreferredName.md)
- [shallowEqual](functions/shallowEqual.md)
- [canAccessStorage](functions/canAccessStorage.md)
- [getDefaultsFromConfigSchema](functions/getDefaultsFromConfigSchema.md)
- [isVersionSatisfied](functions/isVersionSatisfied.md)
- [retry](functions/retry.md)
- [RetryOptions](interfaces/RetryOptions.md)

## UI

- [useBodyScrollLock](functions/useBodyScrollLock.md)
- [useFhirPagination](functions/useFhirPagination.md)
- [getFhirServerPaginationHandlers](functions/getFhirServerPaginationHandlers.md)
- [useLayoutType](functions/useLayoutType.md)
- [isDesktop](functions/isDesktop.md)
- [useLeftNav](functions/useLeftNav.md)
- [useLeftNavStore](functions/useLeftNavStore.md)
- [useOnClickOutside](functions/useOnClickOutside.md)
- [useOnVisible](functions/useOnVisible.md)
- [usePagination](functions/usePagination.md)
- [useCustomOverflowMenu](functions/useCustomOverflowMenu.md)
- [CustomOverflowMenu](functions/CustomOverflowMenu.md)
- [CustomOverflowMenuItem](functions/CustomOverflowMenuItem.md)
- [PageHeaderContentProps](interfaces/PageHeaderContentProps.md)
- [PageHeaderWrapperProps](interfaces/PageHeaderWrapperProps.md)
- [PatientBannerPatientInfo](functions/PatientBannerPatientInfo.md)
- [PatientBannerPatientIdentifiers](functions/PatientBannerPatientIdentifiers.md)
- [PatientBannerActionsMenu](functions/PatientBannerActionsMenu.md)
- [PatientBannerActionsMenuProps](interfaces/PatientBannerActionsMenuProps.md)
- [PatientBannerToggleContactDetailsButton](functions/PatientBannerToggleContactDetailsButton.md)
- [PatientBannerToggleContactDetailsButtonProps](interfaces/PatientBannerToggleContactDetailsButtonProps.md)
- [PatientBannerContactDetails](functions/PatientBannerContactDetails.md)
- [PatientPhoto](functions/PatientPhoto.md)
- [PatientPhotoProps](interfaces/PatientPhotoProps.md)
- [usePatientPhoto](functions/usePatientPhoto.md)
- [UsePatientPhotoResult](interfaces/UsePatientPhotoResult.md)
- [ResponsiveWrapperProps](interfaces/ResponsiveWrapperProps.md)
- [useOpenmrsFetchAll](functions/useOpenmrsFetchAll.md)
- [UseServerFetchAllOptions](interfaces/UseServerFetchAllOptions.md)
- [useOpenmrsInfinite](functions/useOpenmrsInfinite.md)
- [UseServerInfiniteOptions](interfaces/UseServerInfiniteOptions.md)
- [useOpenmrsPagination](functions/useOpenmrsPagination.md)
- [UseServerPaginationOptions](interfaces/UseServerPaginationOptions.md)
- [showModal](functions/showModal.md)
- [showNotification](functions/showNotification.md)
- [showActionableNotification](functions/showActionableNotification.md)
- [showSnackbar](functions/showSnackbar.md)
- [SnackbarDescriptor](interfaces/SnackbarDescriptor.md)
- [SnackbarMeta](interfaces/SnackbarMeta.md)
- [showToast](functions/showToast.md)
- [ToastDescriptor](interfaces/ToastDescriptor.md)
- [ToastNotificationMeta](interfaces/ToastNotificationMeta.md)
- [NumericObservationProps](interfaces/NumericObservationProps.md)
- [useConceptReferenceRange](functions/useConceptReferenceRange.md)
- [UseConceptReferenceRangeResult](interfaces/UseConceptReferenceRangeResult.md)

## Config

- [useConfig](functions/useConfig.md)
- [UseConfigOptions](interfaces/UseConfigOptions.md)
- [defineConfigSchema](functions/defineConfigSchema.md)
- [defineExtensionConfigSchema](functions/defineExtensionConfigSchema.md)
- [provide](functions/provide.md)
- [getConfig](functions/getConfig.md)

## Feature Flags

- [useFeatureFlag](functions/useFeatureFlag.md)
- [registerFeatureFlag](functions/registerFeatureFlag.md)
- [getFeatureFlag](functions/getFeatureFlag.md)

## Workspace

- [ActionMenuButtonProps](interfaces/ActionMenuButtonProps.md)
- [~~closeWorkspace~~](functions/closeWorkspace.md)
- [~~launchWorkspace~~](functions/launchWorkspace.md)
- [~~navigateAndLaunchWorkspace~~](functions/navigateAndLaunchWorkspace.md)
- [~~useWorkspaces~~](functions/useWorkspaces.md)
- [~~launchWorkspaceGroup~~](functions/launchWorkspaceGroup.md)
- [DefaultWorkspaceProps](interfaces/DefaultWorkspaceProps.md)
- [CloseWorkspaceOptions](interfaces/CloseWorkspaceOptions.md)
- [OpenWorkspace](interfaces/OpenWorkspace.md)
- [WorkspacesInfo](interfaces/WorkspacesInfo.md)
- [Prompt](interfaces/Prompt.md)

## Date and Time

- [isOmrsDateStrict](functions/isOmrsDateStrict.md)
- [isOmrsDateToday](functions/isOmrsDateToday.md)
- [toDateObjectStrict](functions/toDateObjectStrict.md)
- [toOmrsIsoString](functions/toOmrsIsoString.md)
- [parseDate](functions/parseDate.md)
- [registerDefaultCalendar](functions/registerDefaultCalendar.md)
- [getDefaultCalendar](functions/getDefaultCalendar.md)
- [formatPartialDate](functions/formatPartialDate.md)
- [formatDate](functions/formatDate.md)
- [formatTime](functions/formatTime.md)
- [formatDatetime](functions/formatDatetime.md)
- [convertToLocaleCalendar](functions/convertToLocaleCalendar.md)
- [formatDuration](functions/formatDuration.md)
- [parseDateInput](functions/parseDateInput.md)
- [duration](functions/duration.md)
- [formatDurationBetween](functions/formatDurationBetween.md)
- [DurationOptions](interfaces/DurationOptions.md)
- [DurationOptionsWithFormat](interfaces/DurationOptionsWithFormat.md)

## Dynamic Loading

- [importDynamic](functions/importDynamic.md)

## Store

- [createUseStore](functions/createUseStore.md)
- [useStore](functions/useStore.md)
- [useStoreWithActions](functions/useStoreWithActions.md)
- [createGlobalStore](functions/createGlobalStore.md)
- [getGlobalStore](functions/getGlobalStore.md)
- [subscribeTo](functions/subscribeTo.md)

## Translation

- [getCoreTranslation](functions/getCoreTranslation.md)
- [translateFrom](functions/translateFrom.md)
