O3 Framework API Reference
This page provides a reference for the APIs provided by the O3 framework. Its content is generated from comments in the source code.
Table of contents
API Functions
Breadcrumb Functions
Config Functions
Config Validation Functions
Context Functions
Date and Time Functions
Dynamic Loading Functions
Error Handling Functions
Extension Functions
Feature Flags Functions
Framework Functions
Navigation Functions
Offline Functions
Other Functions
Store Functions
Translation Functions
UI Functions
Utility Functions
Workspace Functions
API Type Aliases
CurrentPatient
Ƭ CurrentPatient: fhir.Patient
| FetchResponse
<fhir.Patient
>
Defined in
packages/framework/esm-api/src/shared-api-objects/current-patient.ts:7
LoadedSessionStore
Ƭ LoadedSessionStore: Object
Type declaration
Name | Type |
---|---|
|
|
|
|
Defined in
packages/framework/esm-api/src/shared-api-objects/current-user.ts:11
NullablePatient
Ƭ NullablePatient: fhir.Patient
| null
Defined in
packages/framework/esm-react-utils/src/usePatient.ts:6
PatientUuid
Ƭ PatientUuid: string
| null
Defined in
packages/framework/esm-api/src/shared-api-objects/current-patient.ts:20
SessionStore
Ƭ SessionStore: LoadedSessionStore
| UnloadedSessionStore
Defined in
packages/framework/esm-api/src/shared-api-objects/current-user.ts:9
UnloadedSessionStore
Ƭ UnloadedSessionStore: Object
Type declaration
Name | Type |
---|---|
|
|
|
|
Defined in
packages/framework/esm-api/src/shared-api-objects/current-user.ts:16
Context Type Aliases
ContextCallback
Ƭ ContextCallback<T
>: (state
: Readonly
<T
> | null
| undefined
) => void
Type parameters
Name | Type |
---|---|
| extends |
Type declaration
▸ (state
): void
Parameters
Name | Type |
---|---|
|
|
Returns
void
Defined in
packages/framework/esm-context/src/context.ts:90
Date and Time Type Aliases
DateInput
Ƭ DateInput: string
| number
| Date
Defined in
packages/framework/esm-utils/src/omrs-dates.ts:26
FormatDateMode
Ƭ FormatDateMode: "standard"
| "wide"
Defined in
packages/framework/esm-utils/src/omrs-dates.ts:140
FormatDateOptions
Ƭ FormatDateOptions: Object
Type declaration
Name | Type | Description |
---|---|---|
|
| The calendar to use when formatting this date. |
|
| Whether to include the day number |
|
| The locale to use when formatting this date |
|
|
|
|
| Whether to include the month number |
|
| Disables the special handling of dates that are today. If false (the default), then dates that are today will be formatted as "Today" in the locale language. If true, then dates that are today will be formatted the same as all other dates. |
|
| The unicode numbering system to use |
|
| Whether the time should be included in the output always ( |
|
| Whether to include the year |
Defined in
packages/framework/esm-utils/src/omrs-dates.ts:142
Extension Type Aliases
ExtensionProps
Ƭ ExtensionProps: { state?
: Record
<string
, any
> ; wrap?
: (slot
: ReactNode
, extension
: ExtensionData
) => null
| ReactElement
<any
, any
> } & Omit
<React.HTMLAttributes
<HTMLDivElement
>, "children"
> & { children?
: React.ReactNode
| (slot
: React.ReactNode
, extension?
: ExtensionData
) => React.ReactNode
}
Defined in
packages/framework/esm-react-utils/src/Extension.tsx:8
ExtensionSlotProps
Ƭ ExtensionSlotProps: OldExtensionSlotBaseProps
| ExtensionSlotBaseProps
& Omit
<React.HTMLAttributes
<HTMLDivElement
>, "children"
> & { children?
: React.ReactNode
| (extension
: ConnectedExtension
) => React.ReactNode
}
Defined in
packages/framework/esm-react-utils/src/ExtensionSlot.tsx:24
Navigation Type Aliases
TemplateParams
Ƭ TemplateParams: Object
Index signature
▪ [key: string
]: string
Defined in
packages/framework/esm-navigation/src/navigation/navigate.ts:10
Offline Type Aliases
KnownOmrsServiceWorkerMessages
Ƭ KnownOmrsServiceWorkerMessages: OnImportMapChangedMessage
| ClearDynamicRoutesMessage
| RegisterDynamicRouteMessage
Defined in
packages/framework/esm-offline/src/service-worker-messaging.ts:41
OfflineMode
Ƭ OfflineMode: "on"
| "off"
| "unavailable"
Defined in
packages/framework/esm-offline/src/mode.ts:34
OmrsOfflineCachingStrategy
Ƭ OmrsOfflineCachingStrategy: "network-only-or-cache-only"
| "network-first"
cache-or-network
: The default strategy, equal to the absence of this header. The SW attempts to resolve the request via the network, but falls back to the cache if required. The service worker decides the strategy to be used.network-first
: See Workbox | Chrome for Developers .
Defined in
packages/framework/esm-offline/src/service-worker-http-headers.ts:15
OmrsOfflineHttpHeaderNames
Ƭ OmrsOfflineHttpHeaderNames: keyof OmrsOfflineHttpHeaders
Defined in
packages/framework/esm-offline/src/service-worker-http-headers.ts:40
OmrsOfflineHttpHeaders
Ƭ OmrsOfflineHttpHeaders: Object
Defines the keys of the custom headers which can be appended to an HTTP request. HTTP requests with these headers are handled in a special way by the SPA's service worker.
Type declaration
Name | Type | Description |
---|---|---|
|
| Instructs the service worker to use a specific caching strategy for this request. |
|
| If the client is offline and the request cannot be read from the cache (i.e. if there is no way to receive any kind of data for this request), the service worker will return a response with the body in this header. |
| `${number}` | If the client is offline and the request cannot be read from the cache (i.e. if there is no way to receive any kind of data for this request), the service worker will return a response with the status code defined in this header. |
Defined in
packages/framework/esm-offline/src/service-worker-http-headers.ts:21
Other Type Aliases
ConfigValue
Ƭ ConfigValue: string
| number
| boolean
| void
| any
[] | object
Defined in
packages/framework/esm-config/src/types.ts:40
DateInputValue
Ƭ DateInputValue: CalendarDate
| CalendarDateTime
| ZonedDateTime
| Date
| Dayjs
| string
| number
| null
| undefined
A type for any of the acceptable date formats
Defined in
packages/framework/esm-styleguide/src/datepicker/index.tsx:58
ExtensionDefinition
Ƭ ExtensionDefinition: { featureFlag?
: string
; meta?
: { [k: string]
: unknown
; } ; name
: string
; offline?
: boolean
; online?
: boolean
; order?
: number
; privileges?
: string
| string
[] ; slot?
: string
; slots?
: string
[] } & { component
: string
} | { component?
: never
}
A definition of an extension as extracted from an app's routes.json
Defined in
packages/framework/esm-globals/src/types.ts:177
IconProps
Ƭ IconProps: Object
Type declaration
Name | Type |
---|---|
|
|
|
|
|
|
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:6
ModalDefinition
Ƭ ModalDefinition: { name
: string
} & { component
: string
} | { component?
: never
}
A definition of a modal as extracted from an app's routes.json
Defined in
packages/framework/esm-globals/src/types.ts:242
NameUse
Ƭ NameUse: "usual"
| "official"
| "temp"
| "nickname"
| "anonymous"
| "old"
| "maiden"
Defined in
packages/framework/esm-globals/src/types.ts:403
OpenmrsRoutes
Ƭ OpenmrsRoutes: Record
<string
, OpenmrsAppRoutes
>
This interfaces describes the format of the overall rotues.json loaded by the app shell. Basically, this is the same as the app routes, with each routes definition keyed by the app's name
Defined in
packages/framework/esm-globals/src/types.ts:394
PageDefinition
Ƭ PageDefinition: { component
: string
; offline?
: boolean
; online?
: boolean
; order?
: number
} & { route
: string
| boolean
; routeRegex?
: never
} | { route?
: never
; routeRegex
: string
}
A definition of a page extracted from an app's routes.json
Defined in
packages/framework/esm-globals/src/types.ts:121
PictogramProps
Ƭ PictogramProps: Object
Type declaration
Name | Type |
---|---|
|
|
|
|
Defined in
packages/framework/esm-styleguide/src/pictograms/pictograms.tsx:5
ProvidedConfig
Ƭ ProvidedConfig: Object
Type declaration
Name | Type |
---|---|
|
|
|
|
Defined in
packages/framework/esm-config/src/types.ts:62
RegisteredPageDefinition
Ƭ RegisteredPageDefinition: Omit
<PageDefinition
, "order"
> & AppComponent
& { order
: number
}
A definition of a page after the app has been registered.
Defined in
packages/framework/esm-globals/src/types.ts:172
SpaEnvironment
Ƭ SpaEnvironment: "production"
| "development"
| "test"
Defined in
packages/framework/esm-globals/src/types.ts:76
SvgIconProps
Ƭ SvgIconProps: Object
Type declaration
Name | Type |
---|---|
|
|
|
|
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:592
SvgPictogramProps
Ƭ SvgPictogramProps: Object
Type declaration
Name | Type | Description |
---|---|---|
|
| the id of the pictogram |
|
| properties when using the pictogram |
Defined in
packages/framework/esm-styleguide/src/pictograms/pictograms.tsx:10
UpdateVisitPayload
Ƭ UpdateVisitPayload: NewVisitPayload
& {}
Defined in
packages/framework/esm-api/src/types/visit-resource.ts:16
Validator
Ƭ Validator: (value
: any
) => void
| string
Type declaration
▸ (value
): void
| string
Parameters
Name | Type |
---|---|
|
|
Returns
void
| string
Defined in
packages/framework/esm-config/src/types.ts:69
ValidatorFunction
Ƭ ValidatorFunction: (value
: any
) => boolean
Type declaration
▸ (value
): boolean
Parameters
Name | Type |
---|---|
|
|
Returns
boolean
Defined in
packages/framework/esm-config/src/types.ts:67
WorkspaceDefinition
Ƭ WorkspaceDefinition: { canHide?
: boolean
; canMaximize?
: boolean
; hasOwnSidebar?
: boolean
; name
: string
; preferredWindowSize?
: WorkspaceWindowState
; sidebarFamily?
: string
; title
: string
; type
: string
; width?
: "narrow"
| "wider"
| "extra-wide"
} & { component
: string
} | { component?
: never
}
A definition of a workspace as extracted from an app's routes.json
Defined in
packages/framework/esm-globals/src/types.ts:276
WorkspaceWindowState
Ƭ WorkspaceWindowState: "maximized"
| "hidden"
| "normal"
Defined in
packages/framework/esm-globals/src/types.ts:271
Store Type Aliases
ActionFunction
Ƭ ActionFunction<T
>: (state
: T
, ...args
: any
[]) => Partial
<T
>
Type parameters
Name |
---|
|
Type declaration
▸ (state
, ...args
): Partial
<T
>
Parameters
Name | Type |
---|---|
|
|
|
|
Returns
Partial
<T
>
Defined in
packages/framework/esm-react-utils/src/useStore.ts:6
Actions
Ƭ Actions<T
>: (store
: StoreApi
<T
>) => Record
<string
, ActionFunction
<T
>> | Record
<string
, ActionFunction
<T
>>
Type parameters
Name |
---|
|
Defined in
packages/framework/esm-react-utils/src/useStore.ts:7
BoundActions
Ƭ BoundActions: Object
Index signature
▪ [key: string
]: (...args
: any
[]) => void
Defined in
packages/framework/esm-react-utils/src/useStore.ts:10
Translation Type Aliases
CoreTranslationKey
Ƭ CoreTranslationKey: keyof typeof coreTranslations
Defined in
packages/framework/esm-translations/src/index.ts:47
UI Type Aliases
ActionableNotificationType
Ƭ ActionableNotificationType: "error"
| "info"
| "info-square"
| "success"
| "warning"
| "warning-alt"
Defined in
packages/framework/esm-styleguide/src/notifications/actionable-notification.component.tsx:24
InlineNotificationType
Ƭ InlineNotificationType: "error"
| "info"
| "info-square"
| "success"
| "warning"
| "warning-alt"
Defined in
packages/framework/esm-styleguide/src/notifications/notification.component.tsx:22
LayoutType
Ƭ LayoutType: "phone"
| "tablet"
| "small-desktop"
| "large-desktop"
Defined in
packages/framework/esm-react-utils/src/useLayoutType.ts:4
SnackbarType
Ƭ SnackbarType: "error"
| "info"
| "info-square"
| "success"
| "warning"
| "warning-alt"
Defined in
packages/framework/esm-styleguide/src/snackbars/snackbar.component.tsx:29
ToastType
Ƭ ToastType: "error"
| "info"
| "info-square"
| "success"
| "warning"
| "warning-alt"
Defined in
packages/framework/esm-styleguide/src/toasts/toast.component.tsx:23
Utility Type Aliases
ArgumentsTuple
Ƭ ArgumentsTuple: [any
, ...unknown[]]
Defined in
packages/framework/esm-react-utils/src/useOpenmrsSWR.ts:8
Key
Ƭ Key: string
| ArgumentsTuple
| undefined
| null
Defined in
packages/framework/esm-react-utils/src/useOpenmrsSWR.ts:9
UseOpenmrsSWROptions
Ƭ UseOpenmrsSWROptions: Object
Type declaration
Name | Type |
---|---|
|
|
|
|
|
|
|
|
Defined in
packages/framework/esm-react-utils/src/useOpenmrsSWR.ts:10
API Variables
UserHasAccess
Const
UserHasAccess:React.FC
<UserHasAccessProps
>
Defined in
packages/framework/esm-react-utils/src/UserHasAccess.tsx:12
attachmentUrl
Const
attachmentUrl:string
Defined in
packages/framework/esm-api/src/attachments.ts:5
defaultVisitCustomRepresentation
Const
defaultVisitCustomRepresentation:string
Defined in
packages/framework/esm-api/src/shared-api-objects/visit-utils.ts:9
fhirBaseUrl
Const
fhirBaseUrl:"/ws/fhir2/R4"
Defined in
packages/framework/esm-api/src/openmrs-fetch.ts:11
getStartedVisit
Const
getStartedVisit:BehaviorSubject
<null
|VisitItem
>
deprecated
Defined in
packages/framework/esm-api/src/shared-api-objects/visit-utils.ts:103
restBaseUrl
Const
restBaseUrl:"/ws/rest/v1"
Defined in
packages/framework/esm-api/src/openmrs-fetch.ts:9
sessionEndpoint
Const
sessionEndpoint:string
Defined in
packages/framework/esm-api/src/openmrs-fetch.ts:13
Config Validation Variables
validators
Const
validators:Object
Type declaration
Name | Type |
---|---|
| ( |
|
|
| ( |
| ( |
Defined in
packages/framework/esm-config/src/validators/validators.ts:65
Extension Variables
Extension
Const
Extension:React.FC
<ExtensionProps
>
Represents the position in the DOM where each extension within an extension slot is rendered.
Renders once for each extension attached to that extension slot.
Usage of this component must have an ancestor <ExtensionSlot>
, and must only be used once within that <ExtensionSlot>
.
Defined in
packages/framework/esm-react-utils/src/Extension.tsx:25
Offline Variables
offlineUuidPrefix
Const
offlineUuidPrefix:"OFFLINE+"
Defined in
packages/framework/esm-offline/src/uuid.ts:4
omrsOfflineCachingStrategyHttpHeaderName
Const
omrsOfflineCachingStrategyHttpHeaderName:"x-omrs-offline-caching-strategy"
Defined in
packages/framework/esm-offline/src/service-worker-http-headers.ts:5
omrsOfflineResponseBodyHttpHeaderName
Const
omrsOfflineResponseBodyHttpHeaderName:"x-omrs-offline-response-body"
Defined in
packages/framework/esm-offline/src/service-worker-http-headers.ts:3
omrsOfflineResponseStatusHttpHeaderName
Const
omrsOfflineResponseStatusHttpHeaderName:"x-omrs-offline-response-status"
Defined in
packages/framework/esm-offline/src/service-worker-http-headers.ts:4
Other Variables
ActivityIcon
Const
ActivityIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:14
AddIcon
Const
AddIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:22
AllergiesIcon
Const
AllergiesIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>> =WarningIcon
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:566
ArrowDownIcon
Const
ArrowDownIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:30
ArrowLeftIcon
Const
ArrowLeftIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:38
ArrowRightIcon
Const
ArrowRightIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:46
ArrowUpIcon
Const
ArrowUpIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:54
AttachmentIcon
Const
AttachmentIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>> =DocumentAttachmentIcon
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:571
CalendarHeatMapIcon
Const
CalendarHeatMapIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:62
CalendarIcon
Const
CalendarIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:70
CaretDownIcon
Const
CaretDownIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:78
CaretLeftIcon
Const
CaretLeftIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:86
CaretRightIcon
Const
CaretRightIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:94
CaretUpIcon
Const
CaretUpIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:102
ChartAverageIcon
Const
ChartAverageIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:110
ChemistryIcon
Const
ChemistryIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:118
ChevronDownIcon
Const
ChevronDownIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:126
ChevronLeftIcon
Const
ChevronLeftIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:134
ChevronRightIcon
Const
ChevronRightIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:142
ChevronUpIcon
Const
ChevronUpIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:150
CloseFilledIcon
Const
CloseFilledIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:158
CloseIcon
Const
CloseIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:174
CloseOutlineIcon
Const
CloseOutlineIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:166
ConditionsIcon
Const
ConditionsIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>> =ListCheckedIcon
Conditions
Note this is an alias for ListCheckedIcon
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:578
DocumentAttachmentIcon
Const
DocumentAttachmentIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:182
DocumentIcon
Const
DocumentIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:190
DownloadIcon
Const
DownloadIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:198
EditIcon
Const
EditIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:206
ErrorState
Const
ErrorState:React.FC
<ErrorStateProps
>
Defined in
packages/framework/esm-styleguide/src/error-state/error-state.component.tsx:12
EventScheduleIcon
Const
EventScheduleIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:214
EventsIcon
Const
EventsIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:222
GroupAccessIcon
Const
GroupAccessIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:238
GroupIcon
Const
GroupIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:230
HospitalBedIcon
Const
HospitalBedIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:246
Icon
Const
Icon:MemoExoticComponent
<ForwardRefExoticComponent
<SvgIconProps
&RefAttributes
<SVGSVGElement
>>>
This is a utility type for custom icons that use the svg-sprite-loader to bundle custom icons
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:600
ImageMedicalIcon
Const
ImageMedicalIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:254
InventoryManagementIcon
Const
InventoryManagementIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:262
ListCheckedIcon
Const
ListCheckedIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:270
LocationIcon
Const
LocationIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:278
MaximizeIcon
Const
MaximizeIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:286
MedicationIcon
Const
MedicationIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:294
MessageQueueIcon
Const
MessageQueueIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:302
MicroscopeIcon
Const
MicroscopeIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:310
MoneyIcon
Const
MoneyIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Billing
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:319
MovementIcon
Const
MovementIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:327
OpenmrsDatePicker
Const
OpenmrsDatePicker:ForwardRefExoticComponent
<OpenmrsDatePickerProps
&RefAttributes
<HTMLDivElement
>>
A date picker component to select a single date. Based on React Aria, but styled to look like Carbon.
Defined in
packages/framework/esm-styleguide/src/datepicker/index.tsx:251
OverflowMenuHorizontalIcon
Const
OverflowMenuHorizontalIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:335
OverflowMenuVerticalIcon
Const
OverflowMenuVerticalIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:343
PasswordIcon
Const
PasswordIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:523
PedestrianFamilyIcon
Const
PedestrianFamilyIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:351
PenIcon
Const
PenIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:359
Pictogram
Const
Pictogram:MemoExoticComponent
<ForwardRefExoticComponent
<SvgPictogramProps
&RefAttributes
<SVGSVGElement
>>>
This is a utility type for custom pictograms
Defined in
packages/framework/esm-styleguide/src/pictograms/pictograms.tsx:20
PrinterIcon
Const
PrinterIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:367
RadiologyIcon
Const
RadiologyIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>> =ImageMedicalIcon
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:583
RenewIcon
Const
RenewIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:375
ResetIcon
Const
ResetIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:383
SaveIcon
Const
SaveIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:399
SearchIcon
Const
SearchIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:407
ShoppingCartAddItemIcon
Const
ShoppingCartAddItemIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>> =ShoppingCartArrowDownIcon
Used as a button to add an item to the Order basket from a search
Note this is an alias for ShoppingCartArrowDownIcon
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:590
ShoppingCartArrowDownIcon
Const
ShoppingCartArrowDownIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Used as a button to add an item to the Order basket from a search
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:433
ShoppingCartIcon
Const
ShoppingCartIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Order Basket, the UI to enter Orders for Medications, Referrals, Labs, Procedures and more
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:424
StickyNoteAddIcon
Const
StickyNoteAddIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Used as action button to open ward in-patient note workspace
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:442
SwitcherIcon
Const
SwitcherIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:415
TableIcon
Const
TableIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:459
TableOfContentsIcon
Const
TableOfContentsIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Used as a button to add an item to the Order basket from a search
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:451
TimeIcon
Const
TimeIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Lab investigations
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:468
ToolsIcon
Const
ToolsIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:476
TranslateIcon
Const
TranslateIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:391
TrashCanIcon
Const
TrashCanIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:484
TreeViewAltIcon
Const
TreeViewAltIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:492
UserAvatarIcon
Const
UserAvatarIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
User of OpenMRS e.g. My Account
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:501
UserFollowIcon
Const
UserFollowIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:509
UserIcon
Const
UserIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:531
UserXrayIcon
Const
UserXrayIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:517
ViewIcon
Const
ViewIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:547
ViewOffIcon
Const
ViewOffIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:539
WarningIcon
Const
WarningIcon:MemoExoticComponent
<ForwardRefExoticComponent
<IconProps
&RefAttributes
<SVGSVGElement
>>>
Defined in
packages/framework/esm-styleguide/src/icons/icons.tsx:555
backendDependencies
Const
backendDependencies:Object
Type declaration
Name | Type |
---|---|
|
|
|
|
Defined in
packages/framework/esm-api/src/openmrs-backend-dependencies.ts:1
UI Variables
LeftNavMenu
Const
LeftNavMenu:ForwardRefExoticComponent
<SideNavProps
&RefAttributes
<HTMLElement
>>
Defined in
packages/framework/esm-styleguide/src/left-nav/index.tsx:31
ResponsiveWrapper
Const
ResponsiveWrapper:React.FC
<ResponsiveWrapperProps
>
ResponsiveWrapper enables a responsive behavior for the component its wraps, providing a different rendering based on the current layout type. On desktop, it renders the children as is, while on a tablet, it wraps them in a Carbon Layer Carbon Components React component. This provides a light background for form inputs on tablets, in accordance with the design requirements.
Defined in
packages/framework/esm-styleguide/src/responsive-wrapper/responsive-wrapper.component.tsx:15
Workspace Variables
ActionMenuButton
Const
ActionMenuButton:React.FC
<ActionMenuButtonProps
>
Defined in
API Functions
clearCurrentUser
▸ clearCurrentUser(): void
Returns
void
Defined in
packages/framework/esm-api/src/shared-api-objects/current-user.ts:168
createAttachment
▸ createAttachment(patientUuid
, fileToUpload
): Promise
<FetchResponse
<any
>>
Parameters
Name | Type |
---|---|
|
|
|
|
Returns
Promise
<FetchResponse
<any
>>
Defined in
packages/framework/esm-api/src/attachments.ts:19
deleteAttachmentPermanently
▸ deleteAttachmentPermanently(attachmentUuid
, abortController
): Promise
<FetchResponse
<any
>>
Parameters
Name | Type |
---|---|
|
|
|
|
Returns
Promise
<FetchResponse
<any
>>
Defined in
packages/framework/esm-api/src/attachments.ts:38
fetchCurrentPatient
▸ fetchCurrentPatient(patientUuid
, fetchInit?
, includeOfflinePatients?
): Promise
<fhir.Patient
| null
>
Parameters
Name | Type | Default value |
---|---|---|
|
|
|
|
|
|
|
|
|
Returns
Promise
<fhir.Patient
| null
>
Defined in
packages/framework/esm-api/src/shared-api-objects/current-patient.ts:22
getAttachmentByUuid
▸ getAttachmentByUuid(attachmentUuid
, abortController
): Promise
<FetchResponse
<any
>>
Parameters
Name | Type |
---|---|
|
|
|
|
Returns
Promise
<FetchResponse
<any
>>
Defined in
packages/framework/esm-api/src/attachments.ts:7
getAttachments
▸ getAttachments(patientUuid
, includeEncounterless
, abortController
): Promise
<FetchResponse
<any
>>
Parameters
Name | Type |
---|---|
|
|
|
|
|
|
Returns
Promise
<FetchResponse
<any
>>
Defined in
packages/framework/esm-api/src/attachments.ts:13
getCurrentUser
▸ getCurrentUser(): Observable
<Session
>
The getCurrentUser function returns an observable that produces zero or more values, over time. It will produce zero values by default if the user is not logged in. And it will provide a first value when the logged in user is fetched from the server. Subsequent values will be produced whenever the user object is updated.
Returns
Observable
<Session
>
An Observable that produces zero or more values (as described above). The values produced will be a user object (if includeAuthStatus
is set to false
) or an object with a session and authenticated property (if includeAuthStatus
is set to true
).
Example
import { getCurrentUser } from '@openmrs/esm-api'
const subscription = getCurrentUser().subscribe(
user => console.log(user)
)
subscription.unsubscribe()
getCurrentUser({includeAuthStatus: true}).subscribe(
data => console.log(data.authenticated)
)
Be sure to unsubscribe when your component unmounts
Otherwise your code will continue getting updates to the user object even after the UI component is gone from the screen. This is a memory leak and source of bugs.
Defined in
packages/framework/esm-api/src/shared-api-objects/current-user.ts:65
▸ getCurrentUser(opts
): Observable
<Session
>
Parameters
Name | Type |
---|---|
|
|
|
|
Returns
Observable
<Session
>
Defined in
packages/framework/esm-api/src/shared-api-objects/current-user.ts:66
▸ getCurrentUser(opts
): Observable
<LoggedInUser
>
Parameters
Name | Type |
---|---|
|
|
|
|
Returns
Observable
<LoggedInUser
>
Defined in
packages/framework/esm-api/src/shared-api-objects/current-user.ts:67
getLocations
▸ getLocations(tagUuidOrName?
): Observable
<Location
[]>
Parameters
Name | Type | Default value |
---|---|---|
|
|
|
Returns
Observable
<Location
[]>
Defined in
packages/framework/esm-api/src/shared-api-objects/location.ts:14
getLoggedInUser
▸ getLoggedInUser(): Promise
<LoggedInUser
>
Returns
Promise
<LoggedInUser
>
Defined in
packages/framework/esm-api/src/shared-api-objects/current-user.ts:192
getSessionLocation
▸ getSessionLocation(): Promise
<undefined
| SessionLocation
>
Returns
Promise
<undefined
| SessionLocation
>
Defined in
packages/framework/esm-api/src/shared-api-objects/current-user.ts:210
getSessionStore
▸ getSessionStore(): StoreApi
<SessionStore
>
Returns
StoreApi
<SessionStore
>
Defined in
packages/framework/esm-api/src/shared-api-objects/current-user.ts:92
getVisitStore
▸ getVisitStore(): StoreApi
<VisitStoreState
>
Returns
StoreApi
<VisitStoreState
>
Defined in
packages/framework/esm-api/src/shared-api-objects/visit-utils.ts:30
getVisitTypes
▸ getVisitTypes(): Observable
<VisitType
[]>
Returns
Observable
<VisitType
[]>
Defined in
packages/framework/esm-api/src/shared-api-objects/visit-type.ts:15
getVisitsForPatient
▸ getVisitsForPatient(patientUuid
, abortController
, v?
): Observable
<FetchResponse
<{ results
: Visit
[] }>>
Parameters
Name | Type |
---|---|
|
|
|
|
|
|
Returns
Observable
<FetchResponse
<{ results
: Visit
[] }>>
Defined in
packages/framework/esm-api/src/shared-api-objects/visit-utils.ts:54
makeUrl
▸ makeUrl(path
): string
Append path
to the OpenMRS SPA base.
Example
makeUrl('/foo/bar');
// => '/openmrs/foo/bar'
Parameters
Name | Type |
---|---|
|
|
Returns
string
Defined in
packages/framework/esm-api/src/openmrs-fetch.ts:25
openmrsFetch
▸ openmrsFetch<T
>(path
, fetchInit?
): Promise
<FetchResponse
<T
>>
The openmrsFetch function is a wrapper around the browser's built-in fetch function, with extra handling for OpenMRS-specific API behaviors, such as request headers, authentication, authorization, and the API urls.
Type parameters
Name | Type |
---|---|
|
|
Parameters
Name | Type | Description |
---|---|---|
|
| A string url to make the request to. Note that the openmrs base url (by default |
|
| A fetch init object. Note that the |
Returns
Promise
<FetchResponse
<T
>>
A Promise that resolves with a Response object. Note that the openmrs version of the Response object has already downloaded the HTTP response body as json, and has an additional data
property with the HTTP response json as a javascript object.
Example
import { openmrsFetch } from '@openmrs/esm-api'
const abortController = new AbortController();
openmrsFetch(`${restBaseUrl}/session', {signal: abortController.signal})
.then(response => {
console.log(response.data.authenticated)
})
.catch(err => {
console.error(err.status);
})
abortController.abort();
openmrsFetch(`${restBaseUrl}/session', {
method: 'POST',
body: {
username: 'hi',
password: 'there',
}
})
Cancellation
To cancel a network request, use an AbortController. It is best practice to cancel your network requests when the user navigates away from a page while the request is pending request, to free up memory and network resources and to prevent race conditions.
Defined in
packages/framework/esm-api/src/openmrs-fetch.ts:85
openmrsObservableFetch
▸ openmrsObservableFetch<T
>(url
, fetchInit?
): Observable
<FetchResponse
<T
>>
The openmrsObservableFetch function is a wrapper around openmrsFetch that returns an Observable instead of a promise. It exists in case using an Observable is preferred or more convenient than a promise.
Type parameters
Name |
---|
|
Parameters
Name | Type | Description |
---|---|---|
|
| See openmrsFetch |
|
| See openmrsFetch |
Returns
Observable
<FetchResponse
<T
>>
An Observable that produces exactly one Response object. The response object is exactly the same as for openmrsFetch.
Example
Cancellation
To cancel the network request, simply call subscription.unsubscribe();
Defined in
packages/framework/esm-api/src/openmrs-fetch.ts:265
refetchCurrentUser
▸ refetchCurrentUser(username?
, password?
): Promise
<SessionStore
>
The refetchCurrentUser
function causes a network request to redownload the user. All subscribers to the current user will be notified of the new users once the new version of the user object is downloaded.
Parameters
Name | Type |
---|---|
|
|
|
|
Returns
Promise
<SessionStore
>
The same observable as returned by getCurrentUser.
Example
Defined in
packages/framework/esm-api/src/shared-api-objects/current-user.ts:154
saveVisit
▸ saveVisit(payload
, abortController
): Observable
<FetchResponse
<any
>>
Parameters
Name | Type |
---|---|
|
|
|
|
Returns
Observable
<FetchResponse
<any
>>
Defined in
packages/framework/esm-api/src/shared-api-objects/visit-utils.ts:76
setCurrentVisit
▸ setCurrentVisit(patientUuid
, visitUuid
): void
Parameters
Name | Type |
---|---|
|
|
|
|
Returns
void
Defined in
packages/framework/esm-api/src/shared-api-objects/visit-utils.ts:34
setSessionLocation
▸ setSessionLocation(locationUuid
, abortController
): Promise
<any
>
Parameters
Name | Type |
---|---|
|
|
|
|
Returns
Promise
<any
>
Defined in
packages/framework/esm-api/src/shared-api-objects/current-user.ts:219
setUserLanguage
▸ setUserLanguage(data
): void
Parameters
Name | Type |
---|---|
|
|
Returns
void
Defined in
packages/framework/esm-api/src/shared-api-objects/current-user.ts:115
setUserProperties
▸ setUserProperties(userUuid
, userProperties
, abortController?
): Promise
<SessionStore
>
Parameters
Name | Type |
---|---|
|
|
|
|
|
|
Returns
Promise
<SessionStore
>
Defined in
packages/framework/esm-api/src/shared-api-objects/current-user.ts:232
toLocationObject
▸ toLocationObject(openmrsRestForm
): Location
Parameters
Name | Type |
---|---|
|
|
Returns
Location
Defined in
packages/framework/esm-api/src/shared-api-objects/location.ts:7
toVisitTypeObject
▸ toVisitTypeObject(openmrsRestForm
): VisitType
Parameters
Name | Type |
---|---|
|
|
Returns
VisitType
Defined in
packages/framework/esm-api/src/shared-api-objects/visit-type.ts:7
updateVisit
▸ updateVisit(uuid
, payload
, abortController
): Observable
<any
>
Parameters
Name | Type |
---|---|
|
|
|
|
|
|
Returns
Observable
<any
>
Defined in
packages/framework/esm-api/src/shared-api-objects/visit-utils.ts:87
useAttachments
▸ useAttachments(patientUuid
, includeEncounterless
): Object
Parameters
Name | Type |
---|---|
|
|
|
|
Returns
Object
Name | Type |
---|---|
|
|
|
|
|
|
|
|
|
|
Defined in
packages/framework/esm-react-utils/src/useAttachments.ts:6
useLocations
▸ useLocations(tagUuidOrName?
): Location
[]
Parameters
Name | Type | Default value |
---|---|---|
|
|
|
Returns
Location
[]
Defined in
packages/framework/esm-react-utils/src/useLocations.tsx:6
usePatient
▸ usePatient(patientUuid?
): Object
This React hook returns a patient object. If the patientUuid
is provided as a parameter, then the patient for that UUID is returned. If the parameter is not provided, the patient UUID is obtained from the current route, and a route listener is set up to update the patient whenever the route changes.
Parameters
Name | Type |
---|---|
|
|
Returns
Object
Name | Type |
---|---|
|
|
|
|
|
|
|
|
Defined in
packages/framework/esm-react-utils/src/usePatient.ts:90
usePrimaryIdentifierCode
▸ usePrimaryIdentifierCode(): Object
Returns
Object
Name | Type |
---|---|
|
|
|
|
|
|
Defined in
packages/framework/esm-react-utils/src/usePrimaryIdentifierResource.ts:13
useSession
▸ useSession(): Session
Gets the current user session information. Returns an object with property authenticated
== false
if the user is not logged in.
Uses Suspense. This hook will always either return a Session object or throw for Suspense. It will never return null
/undefined
.
Returns
Session
Current user session information
Defined in
packages/framework/esm-react-utils/src/useSession.ts:17
useVisit
▸ useVisit(patientUuid
, representation?
): VisitReturnType
This React hook returns visit information if the patient UUID is not null. There are potentially two relevant visits at a time: "active" and "current".
The active visit is the most recent visit without an end date. The presence of an active visit generally means that the patient is in the facility.
The current visit is the active visit, unless a retrospective visit has been selected. If there is no active visit and no selected retrospective visit, then there is no current visit. If there is no active visit but there is a retrospective visit, then the retrospective visit is the current visit. currentVisitIsRetrospective
tells you whether the current visit is a retrospective visit.
The active visit and current visit require two separate API calls. error
contains the error from either one, if there is an error. isValidating
is true if either API call is in progress. mutate
refreshes the data from both API calls.
Parameters
Name | Type | Default value | Description |
---|---|---|---|
|
|
| Unique patient identifier |
|
|
| The custom representation of the visit |
Returns
VisitReturnType
Defined in
packages/framework/esm-react-utils/src/useVisit.ts:42
useVisitTypes
▸ useVisitTypes(): VisitType
[]
Returns
VisitType
[]
Defined in
packages/framework/esm-react-utils/src/useVisitTypes.ts:6
userHasAccess
▸ userHasAccess(requiredPrivilege
, user
): boolean
Parameters
Name | Type |
---|---|
|
|
|
|
|
|
|
|
Returns
boolean
Defined in
packages/framework/esm-api/src/shared-api-objects/current-user.ts:175
Breadcrumb Functions
filterBreadcrumbs
▸ filterBreadcrumbs(list
, path
): BreadcrumbRegistration
[]
Parameters
Name | Type |
---|---|
|
|
|
|
Returns
BreadcrumbRegistration
[]
Defined in
packages/framework/esm-navigation/src/breadcrumbs/filter.ts:34
getBreadcrumbs
▸ getBreadcrumbs(): BreadcrumbRegistration
[]
Returns
BreadcrumbRegistration
[]
Defined in
packages/framework/esm-navigation/src/breadcrumbs/db.ts:32
getBreadcrumbsFor
▸ getBreadcrumbsFor(path
): BreadcrumbRegistration
[]
Parameters
Name | Type |
---|---|
|
|
Returns
BreadcrumbRegistration
[]
Defined in
packages/framework/esm-navigation/src/breadcrumbs/filter.ts:54
registerBreadcrumb
▸ registerBreadcrumb(breadcrumb
): void
Parameters
Name | Type |
---|---|
|
|
Returns
void
Defined in
packages/framework/esm-navigation/src/breadcrumbs/db.ts:18
registerBreadcrumbs
▸ registerBreadcrumbs(breadcrumbs
): void
Parameters
Name | Type |
---|---|
|
|
Returns
void
Defined in
packages/framework/esm-navigation/src/breadcrumbs/db.ts:22
Config Functions
defineConfigSchema
▸ defineConfigSchema(moduleName
, schema
): void
This defines a configuration schema for a module. The schema tells the configuration system how the module can be configured. It specifies what makes configuration valid or invalid.
See Configuration System for more information about defining a config schema.
Parameters
Name | Type | Description |
---|---|---|
|
| Name of the module the schema is being defined for. Generally should be the one in which the |
|
| The config schema for the module |
Returns
void
Defined in
packages/framework/esm-config/src/module-config/module-config.ts:164
defineExtensionConfigSchema
▸ defineExtensionConfigSchema(extensionName
, schema
): void
This defines a configuration schema for an extension. When a schema is defined for an extension, that extension will receive the configuration corresponding to that schema, rather than the configuration corresponding to the module in which it is defined.
The schema tells the configuration system how the module can be configured. It specifies what makes configuration valid or invalid.
See Configuration System for more information about defining a config schema.
Parameters
Name | Type | Description |
---|---|---|
|
| Name of the extension the schema is being defined for. Should match the |
|
| The config schema for the extension |
Returns
void
Defined in
packages/framework/esm-config/src/module-config/module-config.ts:225
getConfig
▸ getConfig<T
>(moduleName
): Promise
<T
>
A promise-based way to access the config as soon as it is fully loaded. If it is already loaded, resolves the config in its present state.
This is a useful function if you need to get the config in the course of the execution of a function.
Type parameters
Name | Type |
---|---|
|
|
Parameters
Name | Type | Description |
---|---|---|
|
| The name of the module for which to look up the config |
Returns
Promise
<T
>
Defined in
packages/framework/esm-config/src/module-config/module-config.ts:257
provide
▸ provide(config
, sourceName?
): void
Parameters
Name | Type | Default value |
---|---|---|
|
|
|
|
|
|
Returns
void
Defined in
packages/framework/esm-config/src/module-config/module-config.ts:241
useConfig
▸ useConfig<T
>(options?
): T
Use this React Hook to obtain your module's configuration.
Type parameters
Name | Type |
---|---|
|
|
Parameters
Name | Type | Description |
---|---|---|
|
| Additional options that can be passed to useConfig() |
Returns
T
Defined in
packages/framework/esm-react-utils/src/useConfig.ts:139
Config Validation Functions
inRange
▸ inRange(min
, max
): Validator
Verifies that the value is between the provided minimum and maximum
Parameters
Name | Type | Description |
---|---|---|
|
| Minimum acceptable value |
|
| Maximum acceptable value |
Returns
Validator
Defined in
packages/framework/esm-config/src/validators/validators.ts:10
isUrl
▸ isUrl(value
): string
| void
Verifies that a string contains only the default URL template parameters.
category
Navigation
Parameters
Name | Type |
---|---|
|
|
Returns
string
| void
Defined in
packages/framework/esm-config/src/validators/validators.ts:52
isUrlWithTemplateParameters
▸ isUrlWithTemplateParameters(allowedTemplateParameters
): Validator
Verifies that a string contains only the default URL template parameters, plus any specified in allowedTemplateParameters
.
category
Navigation
Parameters
Name | Type | Description |
---|---|---|
|
| To be added to |
Returns
Validator
Defined in
packages/framework/esm-config/src/validators/validators.ts:21
oneOf
▸ oneOf(allowedValues
): Validator
Verifies that the value is one of the allowed options.
Parameters
Name | Type | Description |
---|---|---|
|
| The list of allowable values |
Returns
Validator
Defined in
packages/framework/esm-config/src/validators/validators.ts:58
validator
▸ validator(validationFunction
, message
): Validator
Constructs a custom validator.
Example
Parameters
Name | Type | Description |
---|---|---|
|
| Takes the configured value as input. Returns true if it is valid, false otherwise. |
|
| A string message that explains why the value is invalid. Can also be a function that takes the value as input and returns a string. |
Returns
Validator
A validator ready for use in a config schema
Defined in
packages/framework/esm-config/src/validators/validator.ts:25
Context Functions
OpenmrsAppContext
▸ OpenmrsAppContext<T
>(__namedParameters
): null
OpenmrsAppContext is a simple React component meant to function similarly to React's Context, but built on top of the OpenmrsAppContext.
example
Notes on usage: Unlike a proper React context where the value is limited to the subtree under the context component, the OpenmrsAppContext
is inherently global in scope. That means that all applications will see the values that you set for the namespace if they load the value of the namespace.
Type parameters
Name | Type |
---|---|
| extends |
Parameters
Name | Type |
---|---|
|
|
Returns
null
Defined in
packages/framework/esm-react-utils/src/OpenmrsContext.ts:24
getContext
▸ getContext<T
>(namespace
): Readonly
<T
> | null
Returns an immutable version of the state of the namespace as it is currently
Type parameters
Name | Type | Description |
---|---|---|
| extends | The type of the value stored in the namespace |
Parameters
Name | Type | Description |
---|---|---|
|
| The namespace to load properties from |
Returns
Readonly
<T
> | null
Defined in
packages/framework/esm-context/src/context.ts:55
registerContext
▸ registerContext<T
>(namespace
, initialValue?
): void
Used by callers to register a new namespace in the application context. Attempting to register an already-registered namespace will display a warning and make no modifications to the state.
Type parameters
Name | Type |
---|---|
| extends |
Parameters
Name | Type | Default value | Description |
---|---|---|---|
|
|
| the namespace to register |
|
|
| the initial value of the namespace |
Returns
void
Defined in
packages/framework/esm-context/src/context.ts:29
subscribeToContext
▸ subscribeToContext<T
>(namespace
, callback
): () => void
Subscribes to updates of a given namespace. Note that the returned object is immutable.
Type parameters
Name | Type |
---|---|
| extends |
Parameters
Name | Type | Description |
---|---|---|
|
| the namespace to subscribe to |
|
| a function invoked with the current context whenever |
Returns
fn
A function to unsubscribe from the context
▸ (): void
Returns
void
Defined in
packages/framework/esm-context/src/context.ts:99
unregisterContext
▸ unregisterContext(namespace
): void
Used by caller to unregister a namespace in the application context. Unregistering a namespace will remove the namespace and all associated data.
Parameters
Name | Type |
---|---|
|
|
Returns
void
Defined in
packages/framework/esm-context/src/context.ts:46
updateContext
▸ updateContext<T
>(namespace
, update
): void
Updates a namespace in the global context. If the namespace does not exist, it is registered.
Type parameters
Name | Type |
---|---|
| extends |
Parameters
Name | Type |
---|---|
|
|
| ( |
Returns
void
Defined in
packages/framework/esm-context/src/context.ts:79
useAppContext
▸ useAppContext<T
>(namespace
): Readonly
<T
> | undefined
This hook is used to access a namespace within the overall AppContext, so that a component can use any shared contextual values. A selector may be provided to further restrict the properties returned from the namespace.
example
example
Type parameters
Name | Type | Description |
---|---|---|
| extends | The type of the value stored in the namespace |
Parameters
Name | Type | Description |
---|---|---|
|
| The namespace to load properties from |
Returns
Readonly
<T
> | undefined
Defined in
packages/framework/esm-react-utils/src/useAppContext.ts:26
useDefineAppContext
▸ useDefineAppContext<T
>(namespace
, value?
): (update
: (state
: T
) => T
) => void
This hook is used to register a namespace in the AppContext. The component that registers the namespace is responsible for updating the value associated with the namespace. The namespace will be automatically removed when the component using this hook is unmounted.
example
example
Note that the AppContext does not allow the storing of undefined values in a namespace. Use null
instead.
Type parameters
Name | Type | Description |
---|---|---|
| extends | The type of the value of the namespace |
Parameters
Name | Type | Description |
---|---|---|
|
| The name of the namespace in the application context. Note that the namespace must be unique among currently registered namespaces in the application context. |
|
| The value to associate with this namespace. Updating the value property will update the namespace value. |
Returns
fn
A function which can be used to update the state associated with the namespace
▸ (update
): void
Parameters
Name | Type |
---|---|
| ( |
Returns
void
Defined in
packages/framework/esm-react-utils/src/useDefineAppContext.ts:37
Date and Time Functions
convertToLocaleCalendar
▸ convertToLocaleCalendar(date
, locale
): CalendarDate
| CalendarDateTime
| ZonedDateTime
Converts a calendar date to the equivalent locale calendar date.
Parameters
Name | Type |
---|---|
|
|
|
|
Returns
CalendarDate
| CalendarDateTime
| ZonedDateTime
CalendarDate
Defined in
packages/framework/esm-utils/src/omrs-dates.ts:404
formatDate
▸ formatDate(date
, options?
): string
Formats the input date according to the current locale and the given options.
Default options:
mode: "standard",
time: "for today",
day: true,
month: true,
year: true
noToday: false
If the date is today then "Today" is produced (in the locale language). This behavior can be disabled with noToday: true
.
When time is included, it is appended with a comma and a space. This agrees with the output of Date.prototype.toLocaleString
for most locales.
Parameters
Name | Type |
---|---|
|
|
|
|
Returns
string
Defined in
packages/framework/esm-utils/src/omrs-dates.ts:278
formatDatetime
▸ formatDatetime(date
, options?
): string
Formats the input into a string showing the date and time, according to the current locale. The mode
parameter is as described for formatDate
.
This is created by concatenating the results of formatDate
and formatTime
with a comma and space. This agrees with the output of Date.prototype.toLocaleString
for most locales.
Parameters
Name | Type |
---|---|
|
|
|
|
Returns
string
Defined in
packages/framework/esm-utils/src/omrs-dates.ts:381
formatTime
▸ formatTime(date
): string
Formats the input as a time, according to the current locale. 12-hour or 24-hour clock depends on locale.
Parameters
Name | Type |
---|---|
|
|
Returns
string
Defined in
packages/framework/esm-utils/src/omrs-dates.ts:365
getDefaultCalendar
▸ getDefaultCalendar(locale
): undefined
| string
Retrieves the default calendar for the specified locale if any.
Parameters
Name | Type | Description |
---|---|---|
|
| the locale to look-up |
Returns
undefined
| string
Defined in
packages/framework/esm-utils/src/omrs-dates.ts:252
getLocale
▸ getLocale(): string
Returns the current locale of the application.
Returns
string
string
Defined in
packages/framework/esm-utils/src/omrs-dates.ts:389
isOmrsDateStrict
▸ isOmrsDateStrict(omrsPayloadString
): boolean
This function checks whether a date string is the OpenMRS ISO format. The format should be YYYY-MM-DDTHH:mm:ss.SSSZZ
Parameters
Name | Type |
---|---|
|
|
Returns
boolean
Defined in
packages/framework/esm-utils/src/omrs-dates.ts:34
isOmrsDateToday
▸ isOmrsDateToday(date
): boolean
Parameters
Name | Type | Description |
---|---|---|
|
| Checks if the provided date is today. |
Returns
boolean
Defined in
packages/framework/esm-utils/src/omrs-dates.ts:63
parseDate
▸ parseDate(dateString
): Date
Utility function to parse an arbitrary string into a date. Uses dayjs(dateString)
.
Parameters
Name | Type |
---|---|
|
|
Returns
Date
Defined in
packages/framework/esm-utils/src/omrs-dates.ts:136
registerDefaultCalendar
▸ registerDefaultCalendar(locale
, calendar
): void
Provides the name of the calendar to associate, as a default, with the given base locale.
example
Parameters
Name | Type | Description |
---|---|---|
|
| the locale to register this calendar for |
|
| the calendar to use for this registration |
Returns
void
Defined in
packages/framework/esm-utils/src/omrs-dates.ts:243
toDateObjectStrict
▸ toDateObjectStrict(omrsDateString
): Date
| null
Converts the object to a date object if it is an OpenMRS ISO date time string. Otherwise returns null.
Parameters
Name | Type |
---|---|
|
|
Returns
Date
| null
Defined in
packages/framework/esm-utils/src/omrs-dates.ts:71
toOmrsDateFormat
▸ toOmrsDateFormat(date
, format?
): string
deprecated
use formatDate(date)
Formats the input as a date string. By default the format "YYYY-MMM-DD" is used.
Parameters
Name | Type | Default value |
---|---|---|
|
|
|
|
|
|
Returns
string
Defined in
packages/framework/esm-utils/src/omrs-dates.ts:128
toOmrsDayDateFormat
▸ toOmrsDayDateFormat(date
): string
deprecated
use formatDate(date, "wide")
Formats the input as a date string using the format "DD - MMM - YYYY".
Parameters
Name | Type |
---|---|
|
|
Returns
string
Defined in
packages/framework/esm-utils/src/omrs-dates.ts:112
toOmrsIsoString
▸ toOmrsIsoString(date
, toUTC?
): string
Formats the input to OpenMRS ISO format: "YYYY-MM-DDTHH:mm:ss.SSSZZ".
Parameters
Name | Type | Default value |
---|---|---|
|
|
|
|
|
|
Returns
string
Defined in
packages/framework/esm-utils/src/omrs-dates.ts:82
toOmrsTimeString
▸ toOmrsTimeString(date
): string
deprecated
use formatTime
Formats the input as a time string using the format "HH:mm A".
Parameters
Name | Type |
---|---|
|
|
Returns
string
Defined in
packages/framework/esm-utils/src/omrs-dates.ts:104
toOmrsTimeString24
▸ toOmrsTimeString24(date
): string
deprecated
use formatTime
Formats the input as a time string using the format "HH:mm".
Parameters
Name | Type |
---|---|
|
|
Returns
string
Defined in
packages/framework/esm-utils/src/omrs-dates.ts:96
toOmrsYearlessDateFormat
▸ toOmrsYearlessDateFormat(date
): string
deprecated
use formatDate(date, "no year")
Formats the input as a date string using the format "DD-MMM".
Parameters
Name | Type |
---|---|
|
|
Returns
string
Defined in
packages/framework/esm-utils/src/omrs-dates.ts:120
Dynamic Loading Functions
importDynamic
▸ importDynamic<T
>(jsPackage
, share?
, options?
): Promise
<T
>
Loads the named export from a named package. This might be used like:
Type parameters
Name | Type |
---|---|
|
|
Parameters
Name | Type | Default value | Description |
---|---|---|---|
|
|
| The package to load the export from. |
|
|
| Indicates the name of the shared module; this is an advanced feature if the package you are loading doesn't use the default OpenMRS shared module name "./start". |
|
|
| Additional options to control loading this script. |
|
|
|
|
|
|
|
|
Returns
Promise
<T
>
Defined in
packages/framework/esm-dynamic-loading/src/dynamic-loading.ts:37
Error Handling Functions
createErrorHandler
▸ createErrorHandler(): (incomingErr
: any
) => void
Returns
fn
▸ (incomingErr
): void
Parameters
Name | Type |
---|---|
|
|
Returns
void
Defined in
packages/framework/esm-error-handling/src/index.ts:30
reportError
▸ reportError(err
): void
Parameters
Name | Type |
---|---|
|
|
Returns
void
Defined in
packages/framework/esm-error-handling/src/index.ts:23
Extension Functions
ExtensionSlot
▸ ExtensionSlot(__namedParameters
): Element
An extension slot. A place with a name. Extensions that get connected to that name will be rendered into this.
example
Passing a react node as children
example
Passing a function as children
Parameters
Name | Type |
---|---|
|
|
Returns
Element
Defined in
packages/framework/esm-react-utils/src/ExtensionSlot.tsx:81
attach
▸ attach(slotName
, extensionId
): void
Attach an extension to an extension slot.
This will cause the extension to be rendered into the specified extension slot, unless it is removed by configuration. Using attach
is an alternative to specifying the slot
or slots
in the extension declaration.
It is particularly useful when creating a slot into which you want to render an existing extension. This enables you to do so without modifying the extension's declaration, which may be impractical or inappropriate, for example if you are writing a module for a specific implementation.
Parameters
Name | Type | Description |
---|---|---|
|
| a name uniquely identifying the slot |
|
| an extension name, with an optional #-suffix to distinguish it from other instances of the same extension attached to the same slot. |
Returns
void
Defined in
packages/framework/esm-extensions/src/extensions.ts:143
detach
▸ detach(extensionSlotName
, extensionId
): void
deprecated
Avoid using this. Extension attachments should be considered declarative.
Parameters
Name | Type |
---|---|
|
|
|
|
Returns
void
Defined in
packages/framework/esm-extensions/src/extensions.ts:176
detachAll
▸ detachAll(extensionSlotName
): void
deprecated
Avoid using this. Extension attachments should be considered declarative.
Parameters
Name | Type |
---|---|
|
|
Returns
void
Defined in
packages/framework/esm-extensions/src/extensions.ts:200
getAssignedExtensions
▸ getAssignedExtensions(slotName
): AssignedExtension
[]
Gets the list of extensions assigned to a given slot
Parameters
Name | Type | Description |
---|---|---|
|
| The slot to load the assigned extensions for |
Returns
AssignedExtension
[]
An array of extensions assigned to the named slot
Defined in
packages/framework/esm-extensions/src/extensions.ts:335
getConnectedExtensions
▸ getConnectedExtensions(assignedExtensions
, online?
, enabledFeatureFlags?
): ConnectedExtension
[]
Filters a list of extensions according to whether they support the current connectivity status.
Parameters
Name | Type | Default value | Description |
---|---|---|---|
|
|
| The list of extensions to filter. |
|
|
| Whether the app is currently online. If |
|
|
| The names of all enabled feature flags. If |
Returns
ConnectedExtension
[]
A list of extensions that should be rendered
Defined in
packages/framework/esm-extensions/src/extensions.ts:260
getExtensionNameFromId
▸ getExtensionNameFromId(extensionId
): string
Given an extension ID, which is a string uniquely identifying an instance of an extension within an extension slot, this returns the extension name.
example
Parameters
Name | Type |
---|---|
|
|
Returns
string
Defined in
packages/framework/esm-extensions/src/extensions.ts:91
getExtensionStore
▸ getExtensionStore(): StoreApi
<ExtensionStore
>
This returns a store that modules can use to get information about the state of the extension system.
Returns
StoreApi
<ExtensionStore
>
Defined in
packages/framework/esm-extensions/src/store.ts:124
renderExtension
▸ renderExtension(domElement
, extensionSlotName
, extensionSlotModuleName
, extensionId
, renderFunction?
, additionalProps?
): Promise
<Parcel
| null
>
Mounts into a DOM node (representing an extension slot) a lazy-loaded component from any frontend module that registered an extension component for this slot.
Parameters
Name | Type |
---|---|
|
|
|
|
|
|
|
|
| ( |
|
|
Returns
Promise
<Parcel
| null
>
Defined in
packages/framework/esm-extensions/src/render.ts:18
useAssignedExtensionIds
▸ useAssignedExtensionIds(slotName
): string
[]
Gets the assigned extension ids for a given extension slot name. Does not consider if offline or online.
deprecated
Use useAssignedExtensions
Parameters
Name | Type | Description |
---|---|---|
|
| The name of the slot to get the assigned IDs for. |
Returns
string
[]
Defined in
packages/framework/esm-react-utils/src/useAssignedExtensionIds.ts:13
useAssignedExtensions
▸ useAssignedExtensions(slotName
): AssignedExtension
[]
Gets the assigned extensions for a given extension slot name. Does not consider if offline or online.
Parameters
Name | Type | Description |
---|---|---|
|
| The name of the slot to get the assigned extensions for. |
Returns
AssignedExtension
[]
Defined in
packages/framework/esm-react-utils/src/useAssignedExtensions.ts:10
useConnectedExtensions
▸ useConnectedExtensions(slotName
): ConnectedExtension
[]
Gets the assigned extension for a given extension slot name. Considers if offline or online, and what feature flags are enabled.
Parameters
Name | Type | Description |
---|---|---|
|
| The name of the slot to get the assigned extensions for. |
Returns
ConnectedExtension
[]
Defined in
packages/framework/esm-react-utils/src/useConnectedExtensions.ts:15
useExtensionSlotMeta
▸ useExtensionSlotMeta<T
>(extensionSlotName
): Object
Extract meta data from all extension for a given extension slot.
Type parameters
Name | Type |
---|---|
|
|
Parameters
Name | Type |
---|---|
|
|
Returns
Object
Defined in
packages/framework/esm-react-utils/src/useExtensionSlotMeta.ts:10
useExtensionStore
▸ useExtensionStore(): T
Returns
T
Defined in
packages/framework/esm-react-utils/src/useExtensionStore.ts:6
▸ useExtensionStore(actions
): T
& BoundActions
Parameters
Name | Type |
---|---|
|
|
Returns
T
& BoundActions
Defined in
packages/framework/esm-react-utils/src/useExtensionStore.ts:6
▸ useExtensionStore(actions?
): T
& BoundActions
Parameters
Name | Type |
---|---|
|
|
Returns
T
& BoundActions
Defined in
packages/framework/esm-react-utils/src/useExtensionStore.ts:6
useRenderableExtensions
▸ useRenderableExtensions(name
): React.FC
<Pick
<ExtensionProps
, "state"
>>[]
This is an advanced hook for use-cases where its useful to use the extension system, but not the ExtensionSlot
component's rendering of extensions. Use of this hook should be avoided if possible.
Functionally, this hook is very similar to the ExtensionSlot
component, but whereas an ExtensionSlot
renders a DOM tree of extensions bound to the slot, this hook simply returns the extensions as an array of React components that can be wired into a component however makes sense.
example
Parameters
Name | Type | Description |
---|---|---|
|
| The name of the extension slot |
Returns
React.FC
<Pick
<ExtensionProps
, "state"
>>[]
Defined in
packages/framework/esm-react-utils/src/useRenderableExtensions.tsx:31
Feature Flags Functions
getFeatureFlag
▸ getFeatureFlag(flagName
): boolean
Use this function to access the current value of the feature flag
If you are using React, use useFeatureFlag
instead.
Parameters
Name | Type |
---|---|
|
|
Returns
boolean
Defined in
packages/framework/esm-feature-flags/src/feature-flags.ts:71
registerFeatureFlag
▸ registerFeatureFlag(flagName
, label
, description
): void
This function creates a feature flag. Call it in top-level code anywhere. It will not reset whether the flag is enabled or not, so it's safe to call it multiple times. Once a feature flag is created, it will appear with a toggle in the Implementer Tools. It can then be used to turn on or off features in the code.
Parameters
Name | Type | Description |
---|---|---|
|
| A code-friendly name for the flag, which will be used to reference it in code |
|
| A human-friendly name which will be displayed in the Implementer Tools |
|
| An explanation of what the flag does, which will be displayed in the Implementer Tools |
Returns
void
Defined in
packages/framework/esm-feature-flags/src/feature-flags.ts:54
useFeatureFlag
▸ useFeatureFlag(flagName
): boolean
Use this function to tell whether a feature flag is toggled on or off.
Example:
Parameters
Name | Type |
---|---|
|
|
Returns
boolean
Defined in
packages/framework/esm-react-utils/src/useFeatureFlag.ts:19
Framework Functions
getAsyncExtensionLifecycle
▸ getAsyncExtensionLifecycle<T
>(lazy
, options
): () => Promise
<any
>
deprecated
Use getAsyncLifecycle instead.
Type parameters
Name |
---|
|
Parameters
Name | Type |
---|---|
| () => |
|
|
Returns
fn
▸ (): Promise
<any
>
Returns
Promise
<any
>
Defined in
packages/framework/esm-react-utils/src/getLifecycle.ts:32
getAsyncLifecycle
▸ getAsyncLifecycle<T
>(lazy
, options
): () => Promise
<any
>
Type parameters
Name |
---|
|
Parameters
Name | Type |
---|---|
| () => |
|
|
Returns
fn
▸ (): Promise
<any
>
Returns
Promise
<any
>
Defined in
packages/framework/esm-react-utils/src/getLifecycle.ts:18
getLifecycle
▸ getLifecycle<T
>(Component
, options
): any
Type parameters
Name |
---|
|
Parameters
Name | Type |
---|---|
|
|
|
|
Returns
any
Defined in
packages/framework/esm-react-utils/src/getLifecycle.ts:10
getSyncLifecycle
▸ getSyncLifecycle<T
>(Component
, options
): () => Promise
<any
>
Type parameters
Name |
---|
|
Parameters
Name | Type |
---|---|
|
|
|
|
Returns
fn
▸ (): Promise
<any
>
Returns
Promise
<any
>
Defined in
packages/framework/esm-react-utils/src/getLifecycle.ts:25
Navigation Functions
ConfigurableLink
▸ ConfigurableLink(__namedParameters
): Element
A React link component which calls navigate when clicked
Parameters
Name | Type |
---|---|
|
|
Returns
Element
Defined in
packages/framework/esm-react-utils/src/ConfigurableLink.tsx:53
getHistory
▸ getHistory(): string
[]
Returns a list of URLs representing the history of the current window session.
Returns
string
[]
Defined in
packages/framework/esm-navigation/src/history/history.ts:47
goBackInHistory
▸ goBackInHistory(toUrl:
): void
Rolls back the history to the specified point and navigates to that URL.
Parameters
Name | Type | Description |
---|---|---|
|
| The URL in the history to navigate to. History after that index will be deleted. If the URL is not found in the history, an error will be thrown. |
|
|
|
Returns
void
Defined in
packages/framework/esm-navigation/src/history/history.ts:58
interpolateString
▸ interpolateString(template
, params
): string
Interpolates values of params
into the template
string.
Example usage:
Parameters
Name | Type | Description |
---|---|---|
|
| With optional params wrapped in |
|
| Values to interpolate into the string template |
Returns
string
Defined in
packages/framework/esm-navigation/src/navigation/interpolate-string.ts:60
interpolateUrl
▸ interpolateUrl(template
, additionalParams?
): string
Interpolates a string with openmrsBase and openmrsSpaBase.
Useful for accepting ${openmrsBase}
or ${openmrsSpaBase}
plus additional template parameters in configurable URLs.
Example usage:
This can be used in conjunction with the navigate
function like so
Parameters
Name | Type | Description |
---|---|---|
|
| A string to interpolate |
|
| Additional values to interpolate into the string template |
Returns
string
Defined in
packages/framework/esm-navigation/src/navigation/interpolate-string.ts:36
navigate
▸ navigate(to
): void
Calls location.assign
for non-SPA paths and navigateToUrl for SPA paths
Example usage:
Example behavior::
Parameters
Name | Type | Description |
---|---|---|
|
| The target path or URL. Supports templating with 'openmrsBase', 'openmrsSpaBase', and any additional template parameters defined in |
Returns
void
Defined in
packages/framework/esm-navigation/src/navigation/navigate.ts:49
Offline Functions
beginEditSynchronizationItem
▸ beginEditSynchronizationItem(id
): Promise
<void
>
Triggers an edit flow for the given synchronization item. If this is not possible, throws an error.
Parameters
Name | Type | Description |
---|---|---|
|
| The ID of the synchronization item to be edited. |
Returns
Promise
<void
>
Defined in
packages/framework/esm-offline/src/sync.ts:330
canBeginEditSynchronizationItemsOfType
▸ canBeginEditSynchronizationItemsOfType(type
): boolean
Returns whether editing synchronization items of the given type is supported by the currently registered synchronization handlers.
Parameters
Name | Type | Description |
---|---|---|
|
| The identifying type of the synchronization item which should be edited. |
Returns
boolean
Defined in
packages/framework/esm-offline/src/sync.ts:320
deleteSynchronizationItem
▸ deleteSynchronizationItem(id
): Promise
<void
>
Deletes a queued up sync item with the given ID.
Parameters
Name | Type | Description |
---|---|---|
|
| The ID of the synchronization item to be deleted. |
Returns
Promise
<void
>
Defined in
packages/framework/esm-offline/src/sync.ts:350
generateOfflineUuid
▸ generateOfflineUuid(): string
Generates a UUID-like string which is used for uniquely identifying objects while offline.
Returns
string
Defined in
packages/framework/esm-offline/src/uuid.ts:7
getCurrentOfflineMode
▸ getCurrentOfflineMode(): OfflineModeResult
Returns
OfflineModeResult
Defined in
packages/framework/esm-offline/src/mode.ts:45
getDynamicOfflineDataEntries
▸ getDynamicOfflineDataEntries<T
>(type?
): Promise
<T
[]>
Returns all DynamicOfflineData entries which registered for the currently logged in user. Optionally returns only entries of a given type.
Type parameters
Name | Type |
---|---|
| extends |
Parameters
Name | Type | Description |
---|---|---|
|
| The type of the entries to be returned. If |
Returns
Promise
<T
[]>
Defined in
packages/framework/esm-offline/src/dynamic-offline-data.ts:128
getDynamicOfflineDataEntriesFor
▸ getDynamicOfflineDataEntriesFor<T
>(userId
, type?
): Promise
<T
[]>
Returns all DynamicOfflineData entries which registered for the given user. Optionally returns only entries of a given type.
Type parameters
Name | Type |
---|---|
| extends |
Parameters
Name | Type | Description |
---|---|---|
|
| The ID of the user whose entries are to be retrieved. |
|
| The type of the entries to be returned. If |
Returns
Promise
<T
[]>
Defined in
packages/framework/esm-offline/src/dynamic-offline-data.ts:139
getDynamicOfflineDataHandlers
▸ getDynamicOfflineDataHandlers(): DynamicOfflineDataHandler
[]
Returns all handlers which have been setup using the setupDynamicOfflineDataHandler function.
Returns
DynamicOfflineDataHandler
[]
Defined in
packages/framework/esm-offline/src/dynamic-offline-data.ts:104
getFullSynchronizationItems
▸ getFullSynchronizationItems<T
>(type?
): Promise
<SyncItem
<T
>[]>
Returns all currently queued up sync items of the currently signed in user.
Type parameters
Name |
---|
|
Parameters
Name | Type | Description |
---|---|---|
|
| The identifying type of the synchronization items to be returned. |
Returns
Promise
<SyncItem
<T
>[]>
Defined in
packages/framework/esm-offline/src/sync.ts:302
getFullSynchronizationItemsFor
▸ getFullSynchronizationItemsFor<T
>(userId
, type?
): Promise
<SyncItem
<T
>[]>
Returns all currently queued up sync items of a given user.
Type parameters
Name |
---|
|
Parameters
Name | Type | Description |
---|---|---|
|
| The ID of the user whose synchronization items should be returned. |
|
| The identifying type of the synchronization items to be returned.. |
Returns
Promise
<SyncItem
<T
>[]>
Defined in
packages/framework/esm-offline/src/sync.ts:281
getOfflinePatientDataStore
▸ getOfflinePatientDataStore(): StoreApi
<OfflinePatientDataSyncStore
>
deprecated
Will be removed once all modules have been migrated to the new dynamic offline data API.
Returns
StoreApi
<OfflinePatientDataSyncStore
>
Defined in
packages/framework/esm-offline/src/offline-patient-data.ts:39
getSynchronizationItem
▸ getSynchronizationItem<T
>(id
): Promise
<SyncItem
<T
> | undefined
>
Returns a queued sync item with the given ID or undefined
if no such item exists.
Type parameters
Name | Type |
---|---|
|
|
Parameters
Name | Type | Description |
---|---|---|
|
| The ID of the requested sync item. |
Returns
Promise
<SyncItem
<T
> | undefined
>
Defined in
packages/framework/esm-offline/src/sync.ts:311
getSynchronizationItems
▸ getSynchronizationItems<T
>(type?
): Promise
<T
[]>
Returns the content of all currently queued up sync items of the currently signed in user.
Type parameters
Name |
---|
|
Parameters
Name | Type | Description |
---|---|---|
|
| The identifying type of the synchronization items to be returned. |
Returns
Promise
<T
[]>
Defined in
packages/framework/esm-offline/src/sync.ts:293
isOfflineUuid
▸ isOfflineUuid(uuid
): boolean
Checks whether the given string has the format of an offline UUID generated by generateOfflineUuid
Parameters
Name | Type |
---|---|
|
|
Returns
boolean
Defined in
packages/framework/esm-offline/src/uuid.ts:12
messageOmrsServiceWorker
▸ messageOmrsServiceWorker(message
): Promise
<MessageServiceWorkerResult
<any
>>
Sends the specified message to the application's service worker.
Parameters
Name | Type | Description |
---|---|---|
|
| The message to be sent. |
Returns
Promise
<MessageServiceWorkerResult
<any
>>
A promise which completes when the message has been successfully processed by the Service Worker.
Defined in
packages/framework/esm-offline/src/service-worker-messaging.ts:11
putDynamicOfflineData
▸ putDynamicOfflineData(type
, identifier
): Promise
<void
>
Declares that dynamic offline data of the given type with the given identifier should be made available offline for the currently logged in user.
Parameters
Name | Type | Description |
---|---|---|
|
| The type of the offline data. See DynamicOfflineData for details. |
|
| The identifier of the offline data. See DynamicOfflineData for details. |
Returns
Promise
<void
>
Defined in
packages/framework/esm-offline/src/dynamic-offline-data.ts:157
putDynamicOfflineDataFor
▸ putDynamicOfflineDataFor(userId
, type
, identifier
): Promise
<void
>
Declares that dynamic offline data of the given type with the given identifier should be made available offline for the user with the given ID.
Parameters
Name | Type | Description |
---|---|---|
|
| The ID of the user for whom the dynamic offline data should be made available. |
|
| The type of the offline data. See DynamicOfflineData for details. |
|
| The identifier of the offline data. See DynamicOfflineData for details. |
Returns
Promise
<void
>
Defined in
packages/framework/esm-offline/src/dynamic-offline-data.ts:169
queueSynchronizationItem
▸ queueSynchronizationItem<T
>(type
, content
, descriptor?
): Promise
<number
>
Enqueues a new item in the sync queue and associates the item with the currently signed in user.
Type parameters
Name |
---|
|
Parameters
Name | Type | Description |
---|---|---|
|
| The identifying type of the synchronization item. |
|
| The actual data to be synchronized. |
|
| An optional descriptor providing additional metadata about the sync item. |
Returns
Promise
<number
>
Defined in
packages/framework/esm-offline/src/sync.ts:261
registerOfflinePatientHandler
▸ registerOfflinePatientHandler(identifier
, handler
): void
deprecated
Will be removed once all modules have been migrated to the new dynamic offline data API.
Parameters
Name | Type |
---|---|
|
|
|
|
Returns
void
Defined in
packages/framework/esm-offline/src/offline-patient-data.ts:45
removeDynamicOfflineData
▸ removeDynamicOfflineData(type
, identifier
): Promise
<void
>
Declares that dynamic offline data of the given type with the given identifier no longer needs to be available offline for the currently logged in user.
Parameters
Name | Type | Description |
---|---|---|
|
| The type of the offline data. See DynamicOfflineData for details. |
|
| The identifier of the offline data. See DynamicOfflineData for details. |
Returns
Promise
<void
>
Defined in
packages/framework/esm-offline/src/dynamic-offline-data.ts:201
removeDynamicOfflineDataFor
▸ removeDynamicOfflineDataFor(userId
, type
, identifier
): Promise
<void
>
Declares that dynamic offline data of the given type with the given identifier no longer needs to be available offline for the user with the given ID.
Parameters
Name | Type | Description |
---|---|---|
|
| The ID of the user who doesn't require the specified offline data. |
|
| The type of the offline data. See DynamicOfflineData for details. |
|
| The identifier of the offline data. See DynamicOfflineData for details. |
Returns
Promise
<void
>
Defined in
packages/framework/esm-offline/src/dynamic-offline-data.ts:213
setupDynamicOfflineDataHandler
▸ setupDynamicOfflineDataHandler(handler
): void
Sets up a handler for synchronizing dynamic offline data. See DynamicOfflineDataHandler for details.
Parameters
Name | Type | Description |
---|---|---|
|
| The handler to be setup. |
Returns
void
Defined in
packages/framework/esm-offline/src/dynamic-offline-data.ts:113
setupOfflineSync
▸ setupOfflineSync<T
>(type
, dependsOn
, process
, options?
): void
Registers a new synchronization handler which is able to synchronize data of a specific type.
Type parameters
Name |
---|
|
Parameters
Name | Type | Description |
---|---|---|
|
| The identifying type of the synchronization items which can be handled by this handler. |
|
| An array of other sync item types which must be synchronized before this handler can synchronize its own data. Items of these types are effectively dependencies of the data synchronized by this handler. |
|
| A function which, when invoked, performs the actual client-server synchronization of the given |
|
| Additional options which can optionally be provided when setting up a synchronization callback for a specific synchronization item type. |
Returns
void
Defined in
packages/framework/esm-offline/src/sync.ts:365
subscribeConnectivity
▸ subscribeConnectivity(cb
): () => void
Parameters
Name | Type |
---|---|
| ( |
Returns
fn
▸ (): void
Returns
void
Defined in
packages/framework/esm-globals/src/events.ts:23
subscribeConnectivityChanged
▸ subscribeConnectivityChanged(cb
): () => void
Parameters
Name | Type |
---|---|
| ( |
Returns
fn
▸ (): void
Returns
void
Defined in
packages/framework/esm-globals/src/events.ts:12
subscribePrecacheStaticDependencies
▸ subscribePrecacheStaticDependencies(cb
): () => void
Parameters
Name | Type |
---|---|
| ( |
Returns
fn
▸ (): void
Returns
void
Defined in
packages/framework/esm-globals/src/events.ts:37
syncAllDynamicOfflineData
▸ syncAllDynamicOfflineData(type
, abortSignal?
): Promise
<void
>
Synchronizes all offline data entries of the given type for the currently logged in user.
Parameters
Name | Type | Description |
---|---|---|
|
| The type of the offline data. See DynamicOfflineData for details. |
|
| An {@link AbortSignal} which can be used to cancel the operation. |
Returns
Promise
<void
>
Defined in
packages/framework/esm-offline/src/dynamic-offline-data.ts:241
syncDynamicOfflineData
▸ syncDynamicOfflineData(type
, identifier
, abortSignal?
): Promise
<void
>
Synchronizes a single offline data entry of the given type for the currently logged in user.
Parameters
Name | Type | Description |
---|---|---|
|
| The type of the offline data. See DynamicOfflineData for details. |
|
| The identifier of the offline data. See DynamicOfflineData for details. |
|
| An {@link AbortSignal} which can be used to cancel the operation. |
Returns
Promise
<void
>
Defined in
packages/framework/esm-offline/src/dynamic-offline-data.ts:254
syncOfflinePatientData
▸ syncOfflinePatientData(patientUuid
): Promise
<void
>
deprecated
Will be removed once all modules have been migrated to the new dynamic offline data API.
Parameters
Name | Type |
---|---|
|
|
Returns
Promise
<void
>
Defined in
packages/framework/esm-offline/src/offline-patient-data.ts:62
useConnectivity
▸ useConnectivity(): boolean
Returns
boolean
Defined in
packages/framework/esm-react-utils/src/useConnectivity.ts:6
Other Functions
WorkspaceContainer
▸ WorkspaceContainer(__namedParameters
): Element
Use this component to render the workspace window in an app such as the patient chart, or a workspace overlay in an app such as the clinic dashboard. This allows workspaces to be opened on the page where this component is mounted. This component must not be mounted multiple times on the same page. If there are multiple apps on a page, only one of those apps should use this component—it "hosts" the workspaces.
Workspaces may be opened with the launchWorkspace function from @openmrs/esm-framework
(among other options).
The overlay
prop determines whether the workspace is rendered as an overlay or a window. When a workspace window is opened, the other content on the screen will be pushed to the left. When an overlay is opened, it will cover other content on the screen.
The context key is a string that appears in the URL, which defines the pages on which workspaces are valid. If the URL changes in a way such that it no longer contains the context key, then all workspaces will be closed. This ensures that, for example, workspaces on the home page do not stay open when the user transitions to the patient dashboard; and also that workspaces do not stay open when the user navigates to a different patient. The context key must be a valid sub-path of the URL, with no initial or trailing slash. So if the URL is https://example.com/patient/123/foo
, then patient
and patient/123
and 123/foo
are valid context keys, but patient/12
and pati
are not.
An extension slot is provided in the workspace header. Its name is derived from the featureName
of the top-level component in which it is defined (feature names are generally provided in the lifecycle functions in an app's index.ts
file). The slot is named workspace-header-${featureName}-slot
. For the patient chart, this is workspace-header-patient-chart-slot
.
This component also provides the Siderail and Bottom Nav. To use this, pass the showSiderailAndBottomNav
prop. The Siderail is rendered on the right side of the screen on desktop, and the Bottom Nav is rendered at the bottom of the screen on tablet or mobile. The sidebar/bottom-nav menu provides an extension slot, to which buttons are attached as extensions. The slot derives its name from the featureName
of the top-level component in which this WorkspaceContainer
appears (feature names are generally provided in the lifecycle functions in an app's index.ts
file). The slot is named action-menu-${featureName}-items-slot
. For the patient chart, this is action-menu-patient-chart-items-slot
.
This component also provides everything needed for workspace notifications to be rendered.
Parameters
Name | Type |
---|---|
|
|
Returns
Element
Defined in
packages/framework/esm-styleguide/src/workspaces/container/workspace-container.component.tsx:67
isOnline
▸ isOnline(online?
): boolean
Parameters
Name | Type |
---|---|
|
|
Returns
boolean
Defined in
packages/framework/esm-utils/src/is-online.ts:3
Store Functions
createGlobalStore
▸ createGlobalStore<T
>(name
, initialState
): StoreApi
<T
>
Creates a Zustand store.
Type parameters
Name |
---|
|
Parameters
Name | Type | Description |
---|---|---|
|
| A name by which the store can be looked up later. Must be unique across the entire application. |
|
| An object which will be the initial state of the store. |
Returns
StoreApi
<T
>
The newly created store.
Defined in
packages/framework/esm-state/src/state.ts:29
createUseStore
▸ createUseStore<T
>(store
): () => T
(actions
: Actions
<T
>) => T
& BoundActions
(actions?
: Actions
<T
>) => T
& BoundActions
Whenever possible, use useStore(yourStore)
instead. This function is for creating a custom hook for a specific store.
Type parameters
Name |
---|
|
Parameters
Name | Type |
---|---|
|
|
Returns
fn
▸ (): T
Returns
T
▸ (actions
): T
& BoundActions
Parameters
Name | Type |
---|---|
|
|
Returns
T
& BoundActions
▸ (actions?
): T
& BoundActions
Parameters
Name | Type |
---|---|
|
|
Returns
T
& BoundActions
Defined in
packages/framework/esm-react-utils/src/useStore.ts:60
getGlobalStore
▸ getGlobalStore<T
>(name
, fallbackState?
): StoreApi
<T
>
Returns the existing store named name
, or creates a new store named name
if none exists.
Type parameters
Name |
---|
|
Parameters
Name | Type | Description |
---|---|---|
|
| The name of the store to look up. |
|
| The initial value of the new store if no store named |
Returns
StoreApi
<T
>
The found or newly created store.
Defined in
packages/framework/esm-state/src/state.ts:91
subscribeTo
▸ subscribeTo<T
, U
>(store
, select
, handle
): () => void
Type parameters
Name |
---|
|
|
Parameters
Name | Type |
---|---|
|
|
| ( |
| ( |
Returns
fn
▸ (): void
Returns
void
Defined in
packages/framework/esm-state/src/state.ts:106
useStore
▸ useStore<T
, U
>(store
): T
Type parameters
Name |
---|
|
|
Parameters
Name | Type |
---|---|
|
|
Returns
T
Defined in
packages/framework/esm-react-utils/src/useStore.ts:33
▸ useStore<T
, U
>(store
, select
): U
Type parameters
Name |
---|
|
|
Parameters
Name | Type |
---|---|
|
|
| ( |
Returns
U
Defined in
packages/framework/esm-react-utils/src/useStore.ts:34
▸ useStore<T
, U
>(store
, select
, actions
): T
& BoundActions
Type parameters
Name |
---|
|
|
Parameters
Name | Type |
---|---|
|
|
|
|
|
|
Returns
T
& BoundActions
Defined in
packages/framework/esm-react-utils/src/useStore.ts:35
▸ useStore<T
, U
>(store
, select
, actions
): U
& BoundActions
Type parameters
Name |
---|
|
|
Parameters
Name | Type |
---|---|
|
|
| ( |
|
|
Returns
U
& BoundActions
Defined in
packages/framework/esm-react-utils/src/useStore.ts:36
useStoreWithActions
▸ useStoreWithActions<T
>(store
, actions
): T
& BoundActions
Type parameters
Name |
---|
|
Parameters
Name | Type | Description |
---|---|---|
|
| A zustand store |
|
|
|
Returns
T
& BoundActions
Defined in
packages/framework/esm-react-utils/src/useStore.ts:52
Translation Functions
getCoreTranslation
▸ getCoreTranslation(key
, defaultText?
, options?
): string
Use this function to obtain a translation from the core translations. This is a way to avoid having to define common translations in your app, and to ensure that translations are consistent across different apps. This function is also used to obtain translations in the framework and app shell.
The complete set of core translations is available on the CoreTranslationKey
type. Providing an invalid key to this function will result in a type error.
Parameters
Name | Type | Description |
---|---|---|
|
| - |
|
| - |
|
| Object passed to the i18next |
Returns
string
Defined in
packages/framework/esm-translations/src/index.ts:60
translateFrom
▸ translateFrom(moduleName
, key
, fallback?
, options?
): string
This function is for getting a translation from a specific module. Use this only if the translation is neither in the app making the call, nor in the core translations. This function is useful, for example, in libraries that are used by multiple apps, since libraries can't define their own translations.
Translations within the current app should be accessed with the i18next API, using useTranslation
and t
as usual. Core translations should be accessed with the getCoreTranslation function.
IMPORTANT: This function creates a hidden dependency on the module. Worse yet, it creates a dependency specifically on that module's translation keys, which are often regarded as "implementation details" and therefore may be volatile. This function should therefore be avoided when possible.
Parameters
Name | Type | Description |
---|---|---|
|
| The module to get the translation from, e.g. '@openmrs/esm-login-app' |
|
| The i18next translation key |
|
| Fallback text for if the lookup fails |
|
| Options object passed to the i18next |
Returns
string
The translated text as a string
Defined in
packages/framework/esm-translations/src/index.ts:39
UI Functions
CustomOverflowMenu
▸ CustomOverflowMenu(__namedParameters
): Element
Parameters
Name | Type |
---|---|
|
|
Returns
Element
Defined in
packages/framework/esm-styleguide/src/custom-overflow-menu/custom-overflow-menu.component.tsx:13
PatientBannerActionsMenu
▸ PatientBannerActionsMenu(__namedParameters
): Element
Parameters
Name | Type |
---|---|
|
|
Returns
Element
Defined in
PatientBannerContactDetails
▸ PatientBannerContactDetails(__namedParameters
): Element
Parameters
Name | Type |
---|---|
|
|
Returns
Element
Defined in
PatientBannerPatientInfo
▸ PatientBannerPatientInfo(__namedParameters
): Element
Parameters
Name | Type |
---|---|
|
|
Returns
Element
Defined in
PatientBannerToggleContactDetailsButton
▸ PatientBannerToggleContactDetailsButton(__namedParameters
): Element
Parameters
Name | Type |
---|---|
|
|
Returns
Element
Defined in
PatientPhoto
▸ PatientPhoto(__namedParameters
): Element
A component which displays the patient photo. If there is no photo, it will display a generated avatar. The default size is 80px. Set the size prop to 'small' to display a 48px avatar.
Parameters
Name | Type |
---|---|
|
|
Returns
Element
Defined in
packages/framework/esm-styleguide/src/patient-photo/patient-photo.component.tsx:18
isDesktop
▸ isDesktop(layout
): boolean
Parameters
Name | Type |
---|---|
|
|
Returns
boolean
Defined in
packages/framework/esm-react-utils/src/useLayoutType.ts:40
setLeftNav
▸ setLeftNav(__namedParameters
): void
Parameters
Name | Type |
---|---|
|
|
Returns
void
Defined in
packages/framework/esm-styleguide/src/left-nav/index.tsx:19
showActionableNotification
▸ showActionableNotification(notification
): void
Displays an actionable notification in the UI.
Parameters
Name | Type | Description |
---|---|---|
|
| The description of the notification to display. |
Returns
void
Defined in
packages/framework/esm-styleguide/src/notifications/index.tsx:85
showModal
▸ showModal(modalName
, props?
, onClose?
): () => void
Shows a modal dialog.
The modal must have been registered by name. This should be done in the routes.json
file of the app that defines the modal. Note that both the <ModalHeader>
and <ModalBody>
should be at the top level of the modal component (wrapped in a React.Fragment), or else the content of the modal body might not vertical-scroll properly.
Parameters
Name | Type | Description |
---|---|---|
|
| The name of the modal to show. |
|
| The optional props to provide to the modal. |
| () => | The optional callback to call when the modal is closed. |
Returns
fn
The dispose function to force closing the modal dialog.
▸ (): void
Returns
void
Defined in
packages/framework/esm-styleguide/src/modals/index.tsx:208
showNotification
▸ showNotification(notification
): void
Displays an inline notification in the UI.
Parameters
Name | Type | Description |
---|---|---|
|
| The description of the notification to display. |
Returns
void
Defined in
packages/framework/esm-styleguide/src/notifications/index.tsx:43
showSnackbar
▸ showSnackbar(snackbar
): void
Displays a snack bar notification in the UI.
Parameters
Name | Type | Description |
---|---|---|
|
| The description of the snack bar to display. |
Returns
void
Defined in
packages/framework/esm-styleguide/src/snackbars/index.tsx:32
showToast
▸ showToast(toast
): void
Displays a toast notification in the UI.
Parameters
Name | Type | Description |
---|---|---|
|
| The description of the toast to display. |
Returns
void
Defined in
packages/framework/esm-styleguide/src/toasts/index.tsx:36
subscribeActionableNotificationShown
▸ subscribeActionableNotificationShown(cb
): () => void
Parameters
Name | Type |
---|---|
| ( |
Returns
fn
▸ (): void
Returns
void
Defined in
packages/framework/esm-globals/src/events.ts:111
subscribeNotificationShown
▸ subscribeNotificationShown(cb
): () => void
Parameters
Name | Type |
---|---|
| ( |
Returns
fn
▸ (): void
Returns
void
Defined in
packages/framework/esm-globals/src/events.ts:104
subscribeSnackbarShown
▸ subscribeSnackbarShown(cb
): () => void
Parameters
Name | Type |
---|---|
| ( |
Returns
fn
▸ (): void
Returns
void
Defined in
packages/framework/esm-globals/src/events.ts:125
subscribeToastShown
▸ subscribeToastShown(cb
): () => void
Parameters
Name | Type |
---|---|
| ( |
Returns
fn
▸ (): void
Returns
void
Defined in
packages/framework/esm-globals/src/events.ts:118
unsetLeftNav
▸ unsetLeftNav(name
): void
Parameters
Name | Type |
---|---|
|
|
Returns
void
Defined in
packages/framework/esm-styleguide/src/left-nav/index.tsx:23
useBodyScrollLock
▸ useBodyScrollLock(active
): void
Parameters
Name | Type |
---|---|
|
|
Returns
void
Defined in
packages/framework/esm-react-utils/src/useBodyScrollLock.ts:4
useLayoutType
▸ useLayoutType(): LayoutType
Returns
LayoutType
Defined in
packages/framework/esm-react-utils/src/useLayoutType.ts:26
useOnClickOutside
▸ useOnClickOutside<T
>(handler
, active?
): RefObject
<T
>
Type parameters
Name | Type |
---|---|
| extends |
Parameters
Name | Type | Default value |
---|---|---|
| ( |
|
|
|
|
Returns
RefObject
<T
>
Defined in
packages/framework/esm-react-utils/src/useOnClickOutside.ts:4
usePagination
▸ usePagination<T
>(data?
, resultsPerPage?
): Object
Type parameters
Name |
---|
|
Parameters
Name | Type | Default value |
---|---|---|
|
|
|
|
|
|
Returns
Object
Name | Type |
---|---|
|
|
| ( |
| () => |
| () => |
|
|
|
|
|
|
|
|
|
|
Defined in
packages/framework/esm-react-utils/src/usePagination.ts:6
usePatientPhoto
▸ usePatientPhoto(patientUuid
): UsePatientPhotoResult
Parameters
Name | Type |
---|---|
|
|
Returns
UsePatientPhotoResult
Defined in
packages/framework/esm-styleguide/src/patient-photo/usePatientPhoto.ts:30
Utility Functions
age
▸ age(dateString
): string
Gets a human readable and locale supported age represention of the provided date string.
Parameters
Name | Type | Description |
---|---|---|
|
| The stringified date. |
Returns
string
A human-readable string version of the age.
Defined in
packages/framework/esm-utils/src/age-helpers.ts:36
canAccessStorage
▸ canAccessStorage(storage?
): boolean
Simple utility function to determine if an object implementing the WebStorage API is actually available. Useful for testing the availability of localStorage
or sessionStorage
.
Parameters
Name | Type | Default value | Description |
---|---|---|---|
|
|
| The WebStorage API object to check. Defaults to |
Returns
boolean
True if the WebStorage API object is able to be accessed, false otherwise
Defined in
packages/framework/esm-utils/src/storage.ts:11
daysIntoYear
▸ daysIntoYear(date
): number
Gets the number of days in the year of the given date.
Parameters
Name | Type | Description |
---|---|---|
|
| The date to compute the days within the year. |
Returns
number
The number of days.
Defined in
packages/framework/esm-utils/src/age-helpers.ts:9
displayName
▸ displayName(patient
): string
deprecated
Use getPatientName
Parameters
Name | Type |
---|---|
|
|
Returns
string
Defined in
packages/framework/esm-utils/src/patient-helpers.ts:20
formatPatientName
▸ formatPatientName(name
): string
Get a formatted display string for an FHIR name.
Parameters
Name | Type | Description |
---|---|---|
|
| The name to be formatted. |
Returns
string
The formatted display name or an empty string if name is undefined.
Defined in
packages/framework/esm-utils/src/patient-helpers.ts:29
formattedName
▸ formattedName(name
): string
deprecated
Use formatPatientName
Parameters
Name | Type |
---|---|
|
|
Returns
string
Defined in
packages/framework/esm-utils/src/patient-helpers.ts:35
getDefaultsFromConfigSchema
▸ getDefaultsFromConfigSchema<T
>(schema
): T
Given a config schema, this returns an object like is returned by useConfig
with all default values.
This should be used in tests and not in production code.
If all you need is the default values in your tests, these are returned by default from the useConfig
/getConfig
mock. This function is useful if you need to override some of the default values.
Type parameters
Name | Type |
---|---|
|
|
Parameters
Name | Type |
---|---|
|
|
Returns
T
Defined in
packages/framework/esm-utils/src/test-helpers.ts:13
getPatientName
▸ getPatientName(patient
): string
Gets the formatted display name for a patient.
The display name will be taken from the patient's 'usual' name, or may fall back to the patient's 'official' name.
Parameters
Name | Type | Description |
---|---|---|
|
| The patient details in FHIR format. |
Returns
string
The patient's display name or an empty string if name is not present.
Defined in
packages/framework/esm-utils/src/patient-helpers.ts:14
isSameDay
▸ isSameDay(firstDate
, secondDate
): boolean
Checks if two dates are representing the same day.
Parameters
Name | Type | Description |
---|---|---|
|
| The first date. |
|
| The second date. |
Returns
boolean
True if both are located on the same day.
Defined in
packages/framework/esm-utils/src/age-helpers.ts:25
isVersionSatisfied
▸ isVersionSatisfied(requiredVersion
, installedVersion
): boolean
Parameters
Name | Type |
---|---|
|
|
|
|
Returns
boolean
Defined in
packages/framework/esm-utils/src/version.ts:22
retry
▸ retry<T
>(fn
, options?
): Promise
<T
>
Executes the specified function and retries executing on failure with a custom backoff strategy defined by the options.
If not configured otherwise, this function uses the following default options:
Retries 5 times beyond the initial attempt.
Uses an exponential backoff starting with an initial delay of 1000ms.
throws
Rethrows the final error of running fn
when the function stops retrying.
Type parameters
Name |
---|
|
Parameters
Name | Type | Description |
---|---|---|
| () => | The function to be executed and retried on failure. |
|
| Additional options which configure the retry behavior. |
Returns
Promise
<T
>
The result of successfully executing fn
.
Defined in
packages/framework/esm-utils/src/retry.ts:40
selectPreferredName
▸ selectPreferredName(patient
, ...preferredNames
): fhir.HumanName
| undefined
Select the preferred name from the collection of names associated with a patient.
Names may be specified with a usage such as 'usual', 'official', 'nickname', 'maiden', etc. A name with no usage specified is treated as the 'usual' name.
The chosen name will be selected according to the priority order of preferredNames
,
example
// normal use case; prefer usual name, fallback to official name displayNameByUsage(patient, 'usual', 'official')
example
// prefer usual name over nickname, fallback to official name displayNameByUsage(patient, 'usual', 'nickname', 'official')
Parameters
Name | Type | Description |
---|---|---|
|
| The patient from whom a name will be selected. |
|
| Optional ordered sequence of preferred name usages; defaults to 'usual' if not specified. |
Returns
fhir.HumanName
| undefined
the preferred name for the patient, or undefined if no acceptable name could be found.
Defined in
packages/framework/esm-utils/src/patient-helpers.ts:57
shallowEqual
▸ shallowEqual(a
, b
): boolean
Checks whether two objects are equal, using a shallow comparison, similar to React.
In essence, shallowEquals ensures two objects have the same own properties and that the values of these are equal (===) to each other.
Parameters
Name | Type | Description |
---|---|---|
|
| The first value to compare |
|
| The second value to compare |
Returns
boolean
true if the objects are shallowly equal to each other
Defined in
packages/framework/esm-utils/src/shallowEqual.ts:13
useAbortController
▸ useAbortController(): AbortController
beta
This hook creates an AbortController that lasts either until the previous AbortController is aborted or until the component unmounts. This can be used to ensure that all fetch requests are cancelled when a component is unmounted.
example
Returns
AbortController
Defined in
packages/framework/esm-react-utils/src/useAbortController.ts:25
useDebounce
▸ useDebounce<T
>(value
, delay?
): T
This hook debounces a state variable. That state variable can then be used as the value of a controlled input, while the return value of this hook is used for making a request.
example
Type parameters
Name |
---|
|
Parameters
Name | Type | Default value | Description |
---|---|---|---|
|
|
| The value that will be used to set |
|
|
| The number of milliseconds to wait before updating |
Returns
T
The debounced value
Defined in
packages/framework/esm-react-utils/src/useDebounce.ts:32
useOpenmrsSWR
▸ useOpenmrsSWR<DataType
, ErrorType
>(key
, options?
): SWRResponse
<FetchResponse
<DataType
>, ErrorType
, undefined
| Partial
<PublicConfiguration
<FetchResponse
<DataType
>, ErrorType
, BareFetcher
<FetchResponse
<DataType
>>>>>
beta
This hook is intended to simplify using openmrsFetch in useSWR, while also ensuring that all useSWR usages properly use an abort controller, so that fetch requests are cancelled if the React component unmounts.
example
Note that if you are using a complex SWR key you must provide a url function to the options parameter, which translates the key into a URL to be sent to openmrsFetch()
example
Type parameters
Name | Type |
---|---|
|
|
|
|
Parameters
Name | Type | Description |
---|---|---|
|
| The SWR key to use |
|
| An object of optional parameters to provide, including a FetchConfig object to pass to openmrsFetch or options to pass to SWR |
Returns
SWRResponse
<FetchResponse
<DataType
>, ErrorType
, undefined
| Partial
<PublicConfiguration
<FetchResponse
<DataType
>, ErrorType
, BareFetcher
<FetchResponse
<DataType
>>>>>
Defined in
packages/framework/esm-react-utils/src/useOpenmrsSWR.ts:70
Workspace Functions
closeWorkspace
▸ closeWorkspace(name
, options?
): boolean
Function to close an opened workspace
Parameters
Name | Type | Description |
---|---|---|
|
| Workspace registration name |
|
| Options to close workspace |
Returns
boolean
Defined in
packages/framework/esm-styleguide/src/workspaces/workspaces.ts:327
launchWorkspace
▸ launchWorkspace<T
>(name
, additionalProps?
): void
This launches a workspace by its name. The workspace must have been registered. Workspaces should be registered in the routes.json
file.
For the workspace to appear, there must be either a <WorkspaceOverlay />
or a <WorkspaceWindow />
component rendered.
The behavior of this function is as follows:
If no workspaces are open, or if no other workspaces with the same type are open, it will be opened and focused.
If a workspace with the same name is already open, it will be displayed/focused, if it was not already.
If a workspace is launched and a workspace which cannot be hidden is already open, a confirmation modal will pop up warning about closing the currently open workspace.
If another workspace with the same type is open, the workspace will be brought to the front and then a confirmation modal will pop up warning about closing the opened workspace
Note that this function just manipulates the workspace store. The UI logic is handled by the components that display workspaces.
Additional props can be passed to the workspace component being launched. Passing a prop named workspaceTitle
will override the title of the workspace.
Type parameters
Name | Type |
---|---|
| extends |
Parameters
Name | Type | Description |
---|---|---|
|
| The name of the workspace to launch |
|
| Props to pass to the workspace component being launched. Passing a prop named |
Returns
void
Defined in
packages/framework/esm-styleguide/src/workspaces/workspaces.ts:210
navigateAndLaunchWorkspace
▸ navigateAndLaunchWorkspace(__namedParameters
): void
Use this function to navigate to a new page and launch a workspace on that page.
Parameters
Name | Type |
---|---|
|
|
|
|
|
|
|
|
|
|
Returns
void
Defined in
packages/framework/esm-styleguide/src/workspaces/workspaces.ts:290
useWorkspaces
▸ useWorkspaces(): WorkspacesInfo
Returns
WorkspacesInfo
Defined in
packages/framework/esm-styleguide/src/workspaces/workspaces.ts:429