diff --git a/src/config-schema.ts b/src/config-schema.ts index 5bd3bc1..06112d8 100644 --- a/src/config-schema.ts +++ b/src/config-schema.ts @@ -26,6 +26,12 @@ export const configSchema = { }, ], }, + showReferenceNumberField: { + _type: Type.Boolean, + _default: true, + _description: + 'Whether to display the Reference number field in the Order form. This field maps to the accesion_number property in the Order data model', + }, quantityUnits: { _type: Type.Object, _description: 'Concept to be used for fetching quantity units', @@ -53,6 +59,7 @@ export type ConfigObject = { orderTypeUuid: string; orderableConceptSets: Array; }>; + showReferenceNumberField: boolean; quantityUnits: { conceptUuid: string; map: 'answers' | 'setMembers'; diff --git a/src/medical-orders/medical-supply-order-form/medical-supply-order-form.component.tsx b/src/medical-orders/medical-supply-order-form/medical-supply-order-form.component.tsx index facc8ae..bf225e8 100644 --- a/src/medical-orders/medical-supply-order-form/medical-supply-order-form.component.tsx +++ b/src/medical-orders/medical-supply-order-form/medical-supply-order-form.component.tsx @@ -1,4 +1,4 @@ -import React, { useCallback, useEffect, useMemo, useState } from 'react'; +import React, { type ChangeEvent, useCallback, useEffect, useMemo, useState } from 'react'; import classNames from 'classnames'; import { type DefaultPatientWorkspaceProps, @@ -6,8 +6,9 @@ import { useOrderBasket, useOrderType, priorityOptions, + type OrderUrgency, } from '@openmrs/esm-patient-common-lib'; -import { translateFrom, useLayoutType, useSession, useConfig, ExtensionSlot } from '@openmrs/esm-framework'; +import { useLayoutType, useSession, useConfig, ExtensionSlot, OpenmrsDatePicker } from '@openmrs/esm-framework'; import { Button, ButtonSet, @@ -19,17 +20,19 @@ import { Layer, NumberInput, SelectSkeleton, + Select, + SelectItem, TextArea, TextInput, } from '@carbon/react'; import { useTranslation } from 'react-i18next'; -import { Controller, type FieldErrors, useForm } from 'react-hook-form'; +import { Controller, type ControllerRenderProps, type FieldErrors, useForm } from 'react-hook-form'; import { zodResolver } from '@hookform/resolvers/zod'; import { z } from 'zod'; import styles from './medical-supply-order-form.scss'; import { type Concept, ordersEqual, prepOrderPostData, useQuantityUnits } from '../resources'; -import { moduleName } from '../../constants'; import { type MedicalSupplyOrderBasketItem } from '../types'; +import { type ConfigObject } from '../../config-schema'; export interface OrderFormProps extends DefaultPatientWorkspaceProps { initialOrder: MedicalSupplyOrderBasketItem; @@ -55,37 +58,44 @@ export function OrderForm({ const [showErrorNotification, setShowErrorNotification] = useState(false); const { orderType } = useOrderType(orderTypeUuid); const { concepts, isLoadingQuantityUnits, errorFetchingQuantityUnits } = useQuantityUnits(); + const { showReferenceNumberField } = useConfig(); const OrderFormSchema = useMemo( () => - z.object({ - instructions: z.string().optional(), - urgency: z.string().refine((value) => value !== '', { - message: t('addLabOrderPriorityRequired', 'Priority is required'), + z + .object({ + instructions: z.string().nullish(), + urgency: z.string().refine((value) => value !== '', { + message: t('addLabOrderPriorityRequired', 'Priority is required'), + }), + quantity: z.number({ + required_error: t('quantityRequired', 'Quantity is required'), + invalid_type_error: t('quantityRequired', 'Quantity is required'), + }), + quantityUnits: z.object( + { + display: z.string(), + uuid: z.string(), + }, + { + required_error: t('quantityUnitsRequired', 'Quantity units is required'), + invalid_type_error: t('quantityUnitsRequired', 'Quantity units is required'), + }, + ), + accessionNumber: z.string().nullish(), + concept: z.object( + { display: z.string(), uuid: z.string() }, + { + required_error: t('addOrderableConceptRequired', 'Orderable concept is required'), + invalid_type_error: t('addOrderableConceptRequired', 'Orderable concept is required'), + }, + ), + scheduledDate: z.date().nullish(), + }) + .refine((data) => data.urgency !== 'ON_SCHEDULED_DATE' || Boolean(data.scheduledDate), { + message: t('scheduledDateRequired', 'Scheduled date is required'), + path: ['scheduledDate'], }), - quantity: z.number({ - required_error: t('quantityRequired', 'Quantity is required'), - invalid_type_error: t('quantityRequired', 'Quantity is required'), - }), - quantityUnits: z.object( - { - display: z.string(), - uuid: z.string(), - }, - { - required_error: t('quantityUnitsRequired', 'Quantity units is required'), - invalid_type_error: t('quantityUnitsRequired', 'Quantity units is required'), - }, - ), - accessionNumber: z.string().optional(), - concept: z.object( - { display: z.string(), uuid: z.string() }, - { - required_error: t('addOrderableConceptRequired', 'Orderable concept is required'), - invalid_type_error: t('addOrderableConceptRequired', 'Orderable concept is required'), - }, - ), - }), [t], ); @@ -93,6 +103,8 @@ export function OrderForm({ control, handleSubmit, formState: { errors, defaultValues, isDirty }, + setValue, + watch, } = useForm({ mode: 'all', resolver: zodResolver(OrderFormSchema), @@ -101,9 +113,7 @@ export function OrderForm({ }, }); - const filterItemsByName = useCallback((menu) => { - return menu?.item?.value?.toLowerCase().includes(menu?.inputValue?.toLowerCase()); - }, []); + const isScheduledDateRequired = watch('urgency') === 'ON_SCHEDULED_DATE'; const handleFormSubmission = useCallback( (data: MedicalSupplyOrderBasketItem) => { @@ -130,6 +140,7 @@ export function OrderForm({ closeWorkspaceWithSavedChanges({ onWorkspaceClose: () => launchPatientWorkspace('order-basket'), + closeWorkspaceGroup: false, }); }, [orders, setOrders, session?.currentProvider?.uuid, closeWorkspaceWithSavedChanges, initialOrder], @@ -139,6 +150,7 @@ export function OrderForm({ setOrders(orders.filter((order) => order.concept.uuid !== defaultValues.concept.conceptUuid)); closeWorkspace({ onWorkspaceClose: () => launchPatientWorkspace('order-basket'), + closeWorkspaceGroup: false, }); }, [closeWorkspace, orders, setOrders, defaultValues]); @@ -152,6 +164,19 @@ export function OrderForm({ promptBeforeClosing(() => isDirty); }, [isDirty, promptBeforeClosing]); + const handleUpdateUrgency = useCallback( + (fieldOnChange: ControllerRenderProps['onChange']) => { + return (e: ChangeEvent) => { + const value = e.target.value as OrderUrgency; + if (value !== 'ON_SCHEDULED_DATE') { + setValue('scheduledDate', null); + } + fieldOnChange(e); + }; + }, + [setValue], + ); + const responsiveSize = isTablet ? 'lg' : 'sm'; return ( @@ -167,31 +192,31 @@ export function OrderForm({ - - - - ( - - )} - /> - - - + {showReferenceNumberField && ( + + + + ( + + )} + /> + + + + )} @@ -266,24 +291,49 @@ export function OrderForm({ ( - onChange(selectedItem?.value || '')} - selectedItem={priorityOptions.find((option) => option.value === value) || null} - shouldFilterItem={filterItemsByName} + render={({ field, fieldState }) => ( + )} /> + + {isScheduledDateRequired && ( + + + + ( + + )} + /> + + + + )} + diff --git a/src/medical-orders/medical-supply-order-panel.scss b/src/medical-orders/medical-supply-order-panel.scss index f08157f..c5bfb2a 100644 --- a/src/medical-orders/medical-supply-order-panel.scss +++ b/src/medical-orders/medical-supply-order-panel.scss @@ -4,9 +4,9 @@ @use '@openmrs/esm-styleguide/src/vars' as *; .desktopTile { - border-left: layout.$spacing-02 solid colors.$cyan-20; + border-left: layout.$spacing-02 solid colors.$purple-70; background-color: $ui-02; - border-top: 1px solid colors.$cyan-20; + border-top: 1px solid colors.$purple-20; border-right: none; padding: 0; } diff --git a/src/medical-orders/medical-supply-orderable-concept-search/medical-supply-orderable-concept-search.workspace.tsx b/src/medical-orders/medical-supply-orderable-concept-search/medical-supply-orderable-concept-search.workspace.tsx index 96f40bb..ffa3075 100644 --- a/src/medical-orders/medical-supply-orderable-concept-search/medical-supply-orderable-concept-search.workspace.tsx +++ b/src/medical-orders/medical-supply-orderable-concept-search/medical-supply-orderable-concept-search.workspace.tsx @@ -14,7 +14,7 @@ import { useOrderType, usePatientChartStore, } from '@openmrs/esm-patient-common-lib'; -import React, { type ComponentProps, useCallback, useMemo, useRef, useState } from 'react'; +import React, { type ComponentProps, useCallback, useEffect, useMemo, useRef, useState } from 'react'; import { useTranslation } from 'react-i18next'; import styles from './medical-supply-orderable-concept-search.scss'; import { Button, Search } from '@carbon/react'; @@ -45,6 +45,7 @@ const OrderableConceptSearchWorkspace: React.FC { const { t } = useTranslation(); const isTablet = useLayoutType() === 'tablet'; @@ -53,6 +54,16 @@ const OrderableConceptSearchWorkspace: React.FC(); + useEffect(() => { + if (orderType) { + setTitle( + t('addOrderForOrderType', 'Add {{orderTypeDisplay}}', { + orderTypeDisplay: orderType.display.toLocaleLowerCase(), + }), + ); + } + }, [setTitle, orderType, t]); + const [currentOrder, setCurrentOrder] = useState(initialOrder); const orderableConceptSets = useMemo( diff --git a/src/medical-orders/resources.ts b/src/medical-orders/resources.ts index e9bb9fd..d135206 100644 --- a/src/medical-orders/resources.ts +++ b/src/medical-orders/resources.ts @@ -8,7 +8,14 @@ import { type OrderAction, } from '@openmrs/esm-patient-common-lib'; import { type MedicalSupplyOrderBasketItem } from './types'; -import { openmrsFetch, type OpenmrsResource, restBaseUrl, type FetchResponse, useConfig } from '@openmrs/esm-framework'; +import { + openmrsFetch, + type OpenmrsResource, + restBaseUrl, + type FetchResponse, + useConfig, + toOmrsIsoString, +} from '@openmrs/esm-framework'; import useSWRImmutable from 'swr/immutable'; import { useEffect, useMemo } from 'react'; import { type ConfigObject } from '../config-schema'; @@ -53,6 +60,7 @@ export function prepOrderPostData( accessionNumber: order.accessionNumber, urgency: order.urgency, orderType: order.orderType, + scheduledDate: order.scheduledDate ? toOmrsIsoString(order.scheduledDate) : null, quantity: order.quantity, quantityUnits: order.quantityUnits.uuid, }; @@ -70,6 +78,7 @@ export function prepOrderPostData( accessionNumber: order.accessionNumber, urgency: order.urgency, orderType: order.orderType, + scheduledDate: order.scheduledDate ? toOmrsIsoString(order.scheduledDate) : null, quantity: order.quantity, quantityUnits: order.quantityUnits.uuid, }; @@ -86,6 +95,7 @@ export function prepOrderPostData( accessionNumber: order.accessionNumber, urgency: order.urgency, orderType: order.orderType, + scheduledDate: order.scheduledDate ? toOmrsIsoString(order.scheduledDate) : null, }; } else { throw new Error(`Unknown order action: ${order.action}.`); @@ -138,5 +148,6 @@ export function buildMedicalSupplyOrderItem(order: Order, action: OrderAction): orderType: order.orderType.uuid, quantity: order.quantity, quantityUnits: order.quantityUnits, + scheduledDate: order.scheduledDate ? new Date(order.scheduledDate) : null, }; } diff --git a/translations/en.json b/translations/en.json index 5843c92..26e9ad0 100644 --- a/translations/en.json +++ b/translations/en.json @@ -25,13 +25,16 @@ "quantityRequired": "Quantity is required", "quantityUnit": "Quantity unit", "quantityUnitsRequired": "Quantity units is required", + "referenceFieldLabelText": "Reference number", "removeFromBasket": "Remove from basket", "returnToOrderBasket": "Return to order basket", "saveOrder": "Save order", + "scheduledDate": "Scheduled date", + "scheduledDateRequired": "Scheduled date is required", "searchAgain": "search again", + "searchMedicalSupplyOrderables": "Search medical supply orderables", "searchResultsMatchesForTerm_one": "{{count}} results for \"{{searchTerm}}\"", "searchResultsMatchesForTerm_other": "{{count}} results for \"{{searchTerm}}\"", - "testOrderReferenceNumber": "{{orderType}} reference number", "testType": "Test type", "trySearchingAgain": "Please try searching again", "tryTo": "Try to", diff --git a/translations/fr.json b/translations/fr.json index 1ad4157..35b21e0 100644 --- a/translations/fr.json +++ b/translations/fr.json @@ -25,14 +25,17 @@ "quantityRequired": "La quantité est requise", "quantityUnit": "Unité de quantité", "quantityUnitsRequired": "Les unités de quantité sont requises", + "referenceFieldLabelText": "Reference number", "removeFromBasket": "Retirer du panier", "returnToOrderBasket": "Retourner au panier de commande", "saveOrder": "Enregistrer la commande", + "scheduledDate": "Scheduled date", + "scheduledDateRequired": "Scheduled date is required", "searchAgain": "Rechercher à nouveau", + "searchMedicalSupplyOrderables": "Search medical supply orderables", "searchResultsMatchesForTerm_one": "{{count}} résultats pour \"{{searchTerm}}\"", "searchResultsMatchesForTerm_many": "{{count}} résultats pour \"{{searchTerm}}\"", "searchResultsMatchesForTerm_other": "{{count}} résultats pour \"{{searchTerm}}\"", - "testOrderReferenceNumber": "Numéro de référence {{orderType}}", "testType": "Type de test", "trySearchingAgain": "Veuillez réessayer de rechercher", "tryTo": "Essayer de", diff --git a/yarn.lock b/yarn.lock index c854684..4d676af 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3424,28 +3424,28 @@ __metadata: languageName: node linkType: hard -"@openmrs/esm-api@npm:6.0.1-pre.2575": - version: 6.0.1-pre.2575 - resolution: "@openmrs/esm-api@npm:6.0.1-pre.2575" +"@openmrs/esm-api@npm:6.0.3-pre.2647": + version: 6.0.3-pre.2647 + resolution: "@openmrs/esm-api@npm:6.0.3-pre.2647" dependencies: "@types/fhir": "npm:0.0.31" lodash-es: "npm:^4.17.21" peerDependencies: - "@openmrs/esm-config": 5.x - "@openmrs/esm-error-handling": 5.x - "@openmrs/esm-navigation": 5.x - "@openmrs/esm-offline": 5.x - checksum: 10/0d52d3db7ff9bdbe07acb336c5e99368b7b9486b06bef6846e0b9d98085a20aab6fd40d75a04db9f9b8a84f93e8335c5fc997cbe1595e9c46acd396ad9e0e594 + "@openmrs/esm-config": 6.x + "@openmrs/esm-error-handling": 6.x + "@openmrs/esm-navigation": 6.x + "@openmrs/esm-offline": 6.x + checksum: 10/70bdf012bc279ce25d770c22d48a1feaed44bbed3c46cc0e7d8ca85e7dc85f546c56cad46bb9c8ae334f59d83e54955d41d52ff0c09e55cfa9c5c67d4d4c9194 languageName: node linkType: hard -"@openmrs/esm-app-shell@npm:6.0.1-pre.2575": - version: 6.0.1-pre.2575 - resolution: "@openmrs/esm-app-shell@npm:6.0.1-pre.2575" +"@openmrs/esm-app-shell@npm:6.0.3-pre.2647": + version: 6.0.3-pre.2647 + resolution: "@openmrs/esm-app-shell@npm:6.0.3-pre.2647" dependencies: "@carbon/react": "npm:~1.37.0" - "@openmrs/esm-framework": "npm:6.0.1-pre.2575" - "@openmrs/esm-styleguide": "npm:6.0.1-pre.2575" + "@openmrs/esm-framework": "npm:6.0.3-pre.2647" + "@openmrs/esm-styleguide": "npm:6.0.3-pre.2647" dayjs: "npm:^1.10.4" dexie: "npm:^3.0.3" html-webpack-plugin: "npm:^5.5.0" @@ -3470,58 +3470,58 @@ __metadata: workbox-strategies: "npm:^6.1.5" workbox-webpack-plugin: "npm:^6.1.5" workbox-window: "npm:^6.1.5" - checksum: 10/bfd3d14aec7696dfd9ecc15e2208a7c3d15e6d8faba88ff7260211506eb12b5d125f0ae611bed957f21a0ca138ed409ed894f66e99837de78bb1fa74ac1e2a2e + checksum: 10/ab2a05ba49efc948f0f2ed7d621798c847f69f28caf9ee8181066c5cc2c740d29b19f6e78f24441e74b0244ff33f726611ef17f1051713600dac7de3d0ac9ae5 languageName: node linkType: hard -"@openmrs/esm-config@npm:6.0.1-pre.2575": - version: 6.0.1-pre.2575 - resolution: "@openmrs/esm-config@npm:6.0.1-pre.2575" +"@openmrs/esm-config@npm:6.0.3-pre.2647": + version: 6.0.3-pre.2647 + resolution: "@openmrs/esm-config@npm:6.0.3-pre.2647" dependencies: ramda: "npm:^0.26.1" peerDependencies: - "@openmrs/esm-globals": 5.x - "@openmrs/esm-state": 5.x - "@openmrs/esm-utils": 5.x - single-spa: 5.x - checksum: 10/f1e8344df30ab938908f3aefe8bf5af87c048b7df2818a635beb0b9821ae3a8a440570f02586b16efa24a2ab752ba758ed8fbdf1304d5ce37cea63bdb4ad8d58 + "@openmrs/esm-globals": 6.x + "@openmrs/esm-state": 6.x + "@openmrs/esm-utils": 6.x + single-spa: 6.x + checksum: 10/d9808def31aa536b1e9624089ec03ccab7ebfd024865e2b3912e3e562584508557c57763d54a1efed42dff129892133209520defdd243bdd9696cca34fcd93fd languageName: node linkType: hard -"@openmrs/esm-context@npm:6.0.1-pre.2575": - version: 6.0.1-pre.2575 - resolution: "@openmrs/esm-context@npm:6.0.1-pre.2575" +"@openmrs/esm-context@npm:6.0.3-pre.2647": + version: 6.0.3-pre.2647 + resolution: "@openmrs/esm-context@npm:6.0.3-pre.2647" dependencies: immer: "npm:^10.0.4" peerDependencies: - "@openmrs/esm-globals": 5.x - "@openmrs/esm-state": 5.x - checksum: 10/1a72dd0132b4597df51f1b86202cf3041314cd0ba437058872eeace01d2b30f50819bcc7986670a3caa21126a73b94eea83850ec53a07b88ea7175ed28fc0b6e + "@openmrs/esm-globals": 6.x + "@openmrs/esm-state": 6.x + checksum: 10/addbb9c55d68fc1ad95076d1267257cc32c70d53e55c86e2fb44b419bb99bc10cb83e0e0e151760f31ee1cb735dbcb791543874570479e72973d9bc9d341778c languageName: node linkType: hard -"@openmrs/esm-dynamic-loading@npm:6.0.1-pre.2575": - version: 6.0.1-pre.2575 - resolution: "@openmrs/esm-dynamic-loading@npm:6.0.1-pre.2575" +"@openmrs/esm-dynamic-loading@npm:6.0.3-pre.2647": + version: 6.0.3-pre.2647 + resolution: "@openmrs/esm-dynamic-loading@npm:6.0.3-pre.2647" peerDependencies: - "@openmrs/esm-globals": 5.x - "@openmrs/esm-translations": 5.x - checksum: 10/a5215e209a8f033a86b517ab4ca1c8ca2b53ab14c3669a745072d92c428ba503721a978fac00bf48342e7f3c85993030e00647138b2336ad33701de835b9e6f0 + "@openmrs/esm-globals": 6.x + "@openmrs/esm-translations": 6.x + checksum: 10/01e545cd3f497ca40dcb37a4aed2cf9b30cf2706c31ff0b9233f2503185c131c69ba729a8c098664d5c114da1493356516dd7c98af42ad0a5470e0ded49b09e6 languageName: node linkType: hard -"@openmrs/esm-error-handling@npm:6.0.1-pre.2575": - version: 6.0.1-pre.2575 - resolution: "@openmrs/esm-error-handling@npm:6.0.1-pre.2575" +"@openmrs/esm-error-handling@npm:6.0.3-pre.2647": + version: 6.0.3-pre.2647 + resolution: "@openmrs/esm-error-handling@npm:6.0.3-pre.2647" peerDependencies: - "@openmrs/esm-globals": 5.x - checksum: 10/15d7254e6565349e53e7a174f17f2a795cc8947bb2590035b568faad73b0773053ea80da3e81756ab0e475228e9d242c5133b0d3d6daf2952e8c46635ca6b418 + "@openmrs/esm-globals": 6.x + checksum: 10/388316181be3b78adbb8f906ba2aea498961c50688c3351d015c994b24ec239a453c6b866fc0a34666ffa8c96f43352a9234e34aad533fc4d08e380fa1ba69b5 languageName: node linkType: hard -"@openmrs/esm-expression-evaluator@npm:6.0.1-pre.2575": - version: 6.0.1-pre.2575 - resolution: "@openmrs/esm-expression-evaluator@npm:6.0.1-pre.2575" +"@openmrs/esm-expression-evaluator@npm:6.0.3-pre.2647": + version: 6.0.3-pre.2647 + resolution: "@openmrs/esm-expression-evaluator@npm:6.0.3-pre.2647" dependencies: "@jsep-plugin/arrow": "npm:^1.0.5" "@jsep-plugin/new": "npm:^1.0.3" @@ -3530,61 +3530,61 @@ __metadata: "@jsep-plugin/template": "npm:^1.0.4" "@jsep-plugin/ternary": "npm:^1.1.3" jsep: "npm:^1.3.9" - checksum: 10/922dda4716c283a424cee303056309c18e35cb09c81547cb8f33da6105f28b26d11eabd71c0c4d8897a20c76acdb2c294e610b8eac3d511b6558a441461e84ed + checksum: 10/39d60b6baa24919bd6172052dd4cfd5c6b3cf72ee2242832242adec979a576b32e6571cd196039c02ee332ab10653314d3b56b2cc0b927aadd5a3586e44124c7 languageName: node linkType: hard -"@openmrs/esm-extensions@npm:6.0.1-pre.2575": - version: 6.0.1-pre.2575 - resolution: "@openmrs/esm-extensions@npm:6.0.1-pre.2575" +"@openmrs/esm-extensions@npm:6.0.3-pre.2647": + version: 6.0.3-pre.2647 + resolution: "@openmrs/esm-extensions@npm:6.0.3-pre.2647" dependencies: lodash-es: "npm:^4.17.21" peerDependencies: - "@openmrs/esm-api": 5.x - "@openmrs/esm-config": 5.x - "@openmrs/esm-expression-evaluator": 5.x - "@openmrs/esm-feature-flags": 5.x - "@openmrs/esm-state": 5.x - "@openmrs/esm-utils": 5.x - single-spa: 5.x - checksum: 10/29373a8aafcee56c4579ec1bfd30e9fe47f435d8c601e5ad1a98526cbd4b19f22c7aaab8e7936432b2a15d14501edb82af12d38e287fa42fcf586cc7702702c8 + "@openmrs/esm-api": 6.x + "@openmrs/esm-config": 6.x + "@openmrs/esm-expression-evaluator": 6.x + "@openmrs/esm-feature-flags": 6.x + "@openmrs/esm-state": 6.x + "@openmrs/esm-utils": 6.x + single-spa: 6.x + checksum: 10/17ec0e0776bc8a96a68c65b2709d4245edaafde885226453d010daf81c85815a47e80164598584a1470574a9f171e9bfc0a63d801650f56e1c7e02cd67460d12 languageName: node linkType: hard -"@openmrs/esm-feature-flags@npm:6.0.1-pre.2575": - version: 6.0.1-pre.2575 - resolution: "@openmrs/esm-feature-flags@npm:6.0.1-pre.2575" +"@openmrs/esm-feature-flags@npm:6.0.3-pre.2647": + version: 6.0.3-pre.2647 + resolution: "@openmrs/esm-feature-flags@npm:6.0.3-pre.2647" dependencies: ramda: "npm:^0.26.1" peerDependencies: - "@openmrs/esm-globals": 5.x - "@openmrs/esm-state": 5.x - single-spa: 5.x - checksum: 10/14b624ecab373991297dd3faf4c19f0b451073dc3aa14233124ecf304abc641fb0bac12b440438b590b2ee74c6f53191fbb460ba0a1582482328b41da3190802 - languageName: node - linkType: hard - -"@openmrs/esm-framework@npm:6.0.1-pre.2575, @openmrs/esm-framework@npm:next": - version: 6.0.1-pre.2575 - resolution: "@openmrs/esm-framework@npm:6.0.1-pre.2575" - dependencies: - "@openmrs/esm-api": "npm:6.0.1-pre.2575" - "@openmrs/esm-config": "npm:6.0.1-pre.2575" - "@openmrs/esm-context": "npm:6.0.1-pre.2575" - "@openmrs/esm-dynamic-loading": "npm:6.0.1-pre.2575" - "@openmrs/esm-error-handling": "npm:6.0.1-pre.2575" - "@openmrs/esm-expression-evaluator": "npm:6.0.1-pre.2575" - "@openmrs/esm-extensions": "npm:6.0.1-pre.2575" - "@openmrs/esm-feature-flags": "npm:6.0.1-pre.2575" - "@openmrs/esm-globals": "npm:6.0.1-pre.2575" - "@openmrs/esm-navigation": "npm:6.0.1-pre.2575" - "@openmrs/esm-offline": "npm:6.0.1-pre.2575" - "@openmrs/esm-react-utils": "npm:6.0.1-pre.2575" - "@openmrs/esm-routes": "npm:6.0.1-pre.2575" - "@openmrs/esm-state": "npm:6.0.1-pre.2575" - "@openmrs/esm-styleguide": "npm:6.0.1-pre.2575" - "@openmrs/esm-translations": "npm:6.0.1-pre.2575" - "@openmrs/esm-utils": "npm:6.0.1-pre.2575" + "@openmrs/esm-globals": 6.x + "@openmrs/esm-state": 6.x + single-spa: 6.x + checksum: 10/9d8fa25075fb81adbfabda2e5e39f57b6c5eb71933bed4a8fbf2fceb15242c2c7cabed0a2c422f45b04b6fe6ca1cd56f1546b1b67e482225b0894c17bcb8e46e + languageName: node + linkType: hard + +"@openmrs/esm-framework@npm:6.0.3-pre.2647, @openmrs/esm-framework@npm:next": + version: 6.0.3-pre.2647 + resolution: "@openmrs/esm-framework@npm:6.0.3-pre.2647" + dependencies: + "@openmrs/esm-api": "npm:6.0.3-pre.2647" + "@openmrs/esm-config": "npm:6.0.3-pre.2647" + "@openmrs/esm-context": "npm:6.0.3-pre.2647" + "@openmrs/esm-dynamic-loading": "npm:6.0.3-pre.2647" + "@openmrs/esm-error-handling": "npm:6.0.3-pre.2647" + "@openmrs/esm-expression-evaluator": "npm:6.0.3-pre.2647" + "@openmrs/esm-extensions": "npm:6.0.3-pre.2647" + "@openmrs/esm-feature-flags": "npm:6.0.3-pre.2647" + "@openmrs/esm-globals": "npm:6.0.3-pre.2647" + "@openmrs/esm-navigation": "npm:6.0.3-pre.2647" + "@openmrs/esm-offline": "npm:6.0.3-pre.2647" + "@openmrs/esm-react-utils": "npm:6.0.3-pre.2647" + "@openmrs/esm-routes": "npm:6.0.3-pre.2647" + "@openmrs/esm-state": "npm:6.0.3-pre.2647" + "@openmrs/esm-styleguide": "npm:6.0.3-pre.2647" + "@openmrs/esm-translations": "npm:6.0.3-pre.2647" + "@openmrs/esm-utils": "npm:6.0.3-pre.2647" dayjs: "npm:^1.10.7" peerDependencies: dayjs: 1.x @@ -3593,54 +3593,54 @@ __metadata: react-dom: 18.x react-i18next: 11.x rxjs: 6.x - single-spa: 5.x + single-spa: 6.x swr: 2.x - checksum: 10/8babce46766832908e319135cd8620a6ff42f45f23e1051af08499d203e71f462d09bfa875abe58abd7acfcad93bcf84eeb1aece10000c4b827b90aa72dc96c1 + checksum: 10/5823b705a5cafba2684eacff3ac17bcf56c78ef269978a85c38473019ad067ccd4caf4a348a4c3bb906bfca1a9e991c717f10628954582d4ab3afecca80eafed languageName: node linkType: hard -"@openmrs/esm-globals@npm:6.0.1-pre.2575": - version: 6.0.1-pre.2575 - resolution: "@openmrs/esm-globals@npm:6.0.1-pre.2575" +"@openmrs/esm-globals@npm:6.0.3-pre.2647": + version: 6.0.3-pre.2647 + resolution: "@openmrs/esm-globals@npm:6.0.3-pre.2647" dependencies: "@types/fhir": "npm:0.0.31" peerDependencies: - single-spa: 5.x - checksum: 10/4cff4363d511bbb3c79a2729f4e36293768bd2f0be3dfdf141d811b791ed665b0a001512d8ade087e8a29cf61144c6c113f61f64b50114b5fbf6456258f560cc + single-spa: 6.x + checksum: 10/5e5e147f75b583c5fe344254f359d16707cdda00c921557d37c27aae1a60ad6eaf043f0556ba83d59c6d37f0ab5712f445c65846e6417506eabbedc6a97dd46d languageName: node linkType: hard -"@openmrs/esm-navigation@npm:6.0.1-pre.2575": - version: 6.0.1-pre.2575 - resolution: "@openmrs/esm-navigation@npm:6.0.1-pre.2575" +"@openmrs/esm-navigation@npm:6.0.3-pre.2647": + version: 6.0.3-pre.2647 + resolution: "@openmrs/esm-navigation@npm:6.0.3-pre.2647" dependencies: path-to-regexp: "npm:6.1.0" peerDependencies: - "@openmrs/esm-state": 5.x - checksum: 10/c459ec60fc5549aeefadc8bcb78f0ddd27f8a5829dd438d784bfaca96c9c54f5dc6dceee1ef91ba952ada5a93598b6c603b7af68c1b96eb85e2e2fa19aaf6892 + "@openmrs/esm-state": 6.x + checksum: 10/2601c843c913bff3f00be8f4529bbdaad28e8b21ce4f3b37c38e7825f82004466fd8cacf048834f064f3bb554641d482ca200f973341b8f03ddf77ebe112f250 languageName: node linkType: hard -"@openmrs/esm-offline@npm:6.0.1-pre.2575": - version: 6.0.1-pre.2575 - resolution: "@openmrs/esm-offline@npm:6.0.1-pre.2575" +"@openmrs/esm-offline@npm:6.0.3-pre.2647": + version: 6.0.3-pre.2647 + resolution: "@openmrs/esm-offline@npm:6.0.3-pre.2647" dependencies: dexie: "npm:^3.0.3" lodash-es: "npm:^4.17.21" uuid: "npm:^9.0.1" workbox-window: "npm:^6.1.5" peerDependencies: - "@openmrs/esm-api": 5.x - "@openmrs/esm-globals": 5.x - "@openmrs/esm-state": 5.x + "@openmrs/esm-api": 6.x + "@openmrs/esm-globals": 6.x + "@openmrs/esm-state": 6.x rxjs: 6.x - checksum: 10/8be54345e950e585f4fdb4fa6d1da98b8a55a5737f03da69facc4170b9f0546c6572c0643b57de061ed2844ee1e31427c70fee75422f0e7bd7ab41a36e105131 + checksum: 10/3266409616c8e8cbd8557e66c1476c076abb42713d622a2b621232f66bd593b0dd4e82e394eaa051f16165e64a78c2d0860cdae5fce1f6efc0083969fb17addf languageName: node linkType: hard "@openmrs/esm-patient-common-lib@npm:next": - version: 8.2.1-pre.6329 - resolution: "@openmrs/esm-patient-common-lib@npm:8.2.1-pre.6329" + version: 9.1.1-pre.6603 + resolution: "@openmrs/esm-patient-common-lib@npm:9.1.1-pre.6603" dependencies: "@carbon/react": "npm:^1.12.0" lodash-es: "npm:^4.17.21" @@ -3649,26 +3649,26 @@ __metadata: "@openmrs/esm-framework": 6.x react: 18.x single-spa: 6.x - checksum: 10/b853ff48dd18e0dae9a8e024c7fec9b904c6964ea64c1bff715c415b3a8cb5c6e90714e4499435d87d523c4438e12a0c1de35ffb478b03fbb72d3925bcb44ebc + checksum: 10/7f7f9c3535c44da4f79a2a9874f4d5a7dd8c448935b8cdb372b6fb7acdcf6710cd755a4d25cb6a12eed52b6df90a8c39d456a0e6e02f9ae5030f9e7a3e2dbbf6 languageName: node linkType: hard -"@openmrs/esm-react-utils@npm:6.0.1-pre.2575": - version: 6.0.1-pre.2575 - resolution: "@openmrs/esm-react-utils@npm:6.0.1-pre.2575" +"@openmrs/esm-react-utils@npm:6.0.3-pre.2647": + version: 6.0.3-pre.2647 + resolution: "@openmrs/esm-react-utils@npm:6.0.3-pre.2647" dependencies: lodash-es: "npm:^4.17.21" single-spa-react: "npm:^6.0.0" peerDependencies: - "@openmrs/esm-api": 5.x - "@openmrs/esm-config": 5.x - "@openmrs/esm-context": 5.x - "@openmrs/esm-error-handling": 5.x - "@openmrs/esm-extensions": 5.x - "@openmrs/esm-feature-flags": 5.x - "@openmrs/esm-globals": 5.x - "@openmrs/esm-navigation": 5.x - "@openmrs/esm-utils": 5.x + "@openmrs/esm-api": 6.x + "@openmrs/esm-config": 6.x + "@openmrs/esm-context": 6.x + "@openmrs/esm-error-handling": 6.x + "@openmrs/esm-extensions": 6.x + "@openmrs/esm-feature-flags": 6.x + "@openmrs/esm-globals": 6.x + "@openmrs/esm-navigation": 6.x + "@openmrs/esm-utils": 6.x dayjs: 1.x i18next: 21.x react: 18.x @@ -3676,40 +3676,40 @@ __metadata: react-i18next: 11.x rxjs: 6.x swr: 2.x - checksum: 10/df60919ad031cebc78886001ec1682da2a0cf5130561782cd49312c4f392beb6ed5872d32e8a1f861a65a0825bcca665ec32ce0594da89ea542fee5286f03520 + checksum: 10/28b56edf8a85e25c99f19ff7b2295c183589d1e38a4856d8d53ac1a636b69fede9ca47bff561fecb65dca5e8df44edd40e0cb87cdaea442ff444c37371fca878 languageName: node linkType: hard -"@openmrs/esm-routes@npm:6.0.1-pre.2575": - version: 6.0.1-pre.2575 - resolution: "@openmrs/esm-routes@npm:6.0.1-pre.2575" +"@openmrs/esm-routes@npm:6.0.3-pre.2647": + version: 6.0.3-pre.2647 + resolution: "@openmrs/esm-routes@npm:6.0.3-pre.2647" peerDependencies: - "@openmrs/esm-config": 5.x - "@openmrs/esm-dynamic-loading": 5.x - "@openmrs/esm-extensions": 5.x - "@openmrs/esm-feature-flags": 5.x - "@openmrs/esm-globals": 5.x - "@openmrs/esm-utils": 5.x + "@openmrs/esm-config": 6.x + "@openmrs/esm-dynamic-loading": 6.x + "@openmrs/esm-extensions": 6.x + "@openmrs/esm-feature-flags": 6.x + "@openmrs/esm-globals": 6.x + "@openmrs/esm-utils": 6.x single-spa: 6.x - checksum: 10/e0dbb00e6b8e010d1244d30fe098d4009beb1c1b3432fb9ed592272b01351db0b9866330b947335ba4291f0b0df4869208a5c72c0d369a4c2f1c1ee6e1d02cd2 + checksum: 10/02b501ec726fe8ab7cff6d0bcfd21437eecb7d6af6e40f73161f001af8d06aed2e1ec53a55b7eca82d1d48ae5ee989fc65801bf324b6a965777b053548855cae languageName: node linkType: hard -"@openmrs/esm-state@npm:6.0.1-pre.2575": - version: 6.0.1-pre.2575 - resolution: "@openmrs/esm-state@npm:6.0.1-pre.2575" +"@openmrs/esm-state@npm:6.0.3-pre.2647": + version: 6.0.3-pre.2647 + resolution: "@openmrs/esm-state@npm:6.0.3-pre.2647" dependencies: zustand: "npm:^4.5.5" peerDependencies: - "@openmrs/esm-globals": 5.x - "@openmrs/esm-utils": 5.x - checksum: 10/5620c720075e9099c646881e6434e2ac3785af3fea85e2f298731c153ec31954b21c02f3d721a02baf0e4999a2d484779cdfffdb98278ab1340b961e75ced725 + "@openmrs/esm-globals": 6.x + "@openmrs/esm-utils": 6.x + checksum: 10/ba854437a9cddaf5fca3ee69667d72687b22a7f124c0f28acbbaa82d35261af1041f7ae1445e7a50bc6d49388c791b023c83b54f73a7b070bc33bfa359e02800 languageName: node linkType: hard -"@openmrs/esm-styleguide@npm:6.0.1-pre.2575": - version: 6.0.1-pre.2575 - resolution: "@openmrs/esm-styleguide@npm:6.0.1-pre.2575" +"@openmrs/esm-styleguide@npm:6.0.3-pre.2647": + version: 6.0.3-pre.2647 + resolution: "@openmrs/esm-styleguide@npm:6.0.3-pre.2647" dependencies: "@carbon/charts": "npm:^1.12.0" "@carbon/react": "npm:~1.37.0" @@ -3721,19 +3721,19 @@ __metadata: react-aria-components: "npm:^1.3.3" react-avatar: "npm:^5.0.3" peerDependencies: - "@openmrs/esm-error-handling": 5.x - "@openmrs/esm-extensions": 5.x - "@openmrs/esm-navigation": 5.x - "@openmrs/esm-react-utils": 5.x - "@openmrs/esm-state": 5.x - "@openmrs/esm-translations": 5.x + "@openmrs/esm-error-handling": 6.x + "@openmrs/esm-extensions": 6.x + "@openmrs/esm-navigation": 6.x + "@openmrs/esm-react-utils": 6.x + "@openmrs/esm-state": 6.x + "@openmrs/esm-translations": 6.x dayjs: 1.x i18next: 21.x react: 18.x react-dom: 18.x react-i18next: 11.x rxjs: 6.x - checksum: 10/46789498d9bcf5f74b815dc99ab96385f16ce777364320debcc3b018a48a7ce8bd5d95d700650d64f7c7197daad1515aab83f38bd6f45eca32b2a0197ec8cdaf + checksum: 10/08d81b5c99e3a2b58516c65828a0ee0391aa4ad5a74172bd4bc0b6da95415748b1b001f7565763157b7780eedcd7e027ab9d0c6dda0b55b8352ee442b051351d languageName: node linkType: hard @@ -3767,36 +3767,36 @@ __metadata: languageName: node linkType: hard -"@openmrs/esm-translations@npm:6.0.1-pre.2575": - version: 6.0.1-pre.2575 - resolution: "@openmrs/esm-translations@npm:6.0.1-pre.2575" +"@openmrs/esm-translations@npm:6.0.3-pre.2647": + version: 6.0.3-pre.2647 + resolution: "@openmrs/esm-translations@npm:6.0.3-pre.2647" dependencies: i18next: "npm:21.10.0" peerDependencies: i18next: 21.x - checksum: 10/7d7c2e7b7852765392d2255c177429b50398da669af2e92b0c8d4bf4da3186e2acdf2a03c3ad9685410ed4e0c628122cd2bb55eea5a19dafffe9c05e75c1e59a + checksum: 10/b33d55b2f3c8c92e64ea40c8a8bf447c000585e412114868d9b7df6a8d5f78670c3f01960280412e153244679080b4f153f82e90ab21d27e981f3c2395b4f092 languageName: node linkType: hard -"@openmrs/esm-utils@npm:6.0.1-pre.2575": - version: 6.0.1-pre.2575 - resolution: "@openmrs/esm-utils@npm:6.0.1-pre.2575" +"@openmrs/esm-utils@npm:6.0.3-pre.2647": + version: 6.0.3-pre.2647 + resolution: "@openmrs/esm-utils@npm:6.0.3-pre.2647" dependencies: "@formatjs/intl-durationformat": "npm:^0.2.4" "@internationalized/date": "npm:^3.5.5" semver: "npm:7.3.2" peerDependencies: - "@openmrs/esm-globals": 5.x + "@openmrs/esm-globals": 6.x dayjs: 1.x i18next: 21.x rxjs: 6.x - checksum: 10/35ac162cd1cf169a3614a9ddedc7bf5da72bc2fbfa584086eb19ba85aa0a623a41e0d266e5b2b5d2a3465765dcbba6e699a27f5f059ffc0d99ee9550e5609fc1 + checksum: 10/4e81455f5b11879b71486f023529ee0a1bc25f1968f49f30c7ba2c55a981cc927baf971b44e5895228ae6061fe6ad4a5456feeab72efd100a1a0a513cd97ca3e languageName: node linkType: hard -"@openmrs/webpack-config@npm:6.0.1-pre.2575": - version: 6.0.1-pre.2575 - resolution: "@openmrs/webpack-config@npm:6.0.1-pre.2575" +"@openmrs/webpack-config@npm:6.0.3-pre.2647": + version: 6.0.3-pre.2647 + resolution: "@openmrs/webpack-config@npm:6.0.3-pre.2647" dependencies: "@swc/core": "npm:^1.3.58" clean-webpack-plugin: "npm:^4.0.0" @@ -3814,7 +3814,7 @@ __metadata: webpack-stats-plugin: "npm:^1.0.3" peerDependencies: webpack: 5.x - checksum: 10/87c0ebabffadc79779f52de58b93ce4b93101ea9043e43e17d229e1bbeb694ddc21c3a59c4c2e75c7777b5de774116b2d4c5bbffd1dd116dd9e3dfce39d8eb5e + checksum: 10/1727979fb52d739494073960cc331a6d381a41773b34fc75101fde4a71bea3e8fb14b4f8dcc57e4f8aa72641f24e36006607174088922d0b70beda0555101445 languageName: node linkType: hard @@ -15476,11 +15476,11 @@ __metadata: linkType: hard "openmrs@npm:next": - version: 6.0.1-pre.2575 - resolution: "openmrs@npm:6.0.1-pre.2575" + version: 6.0.3-pre.2647 + resolution: "openmrs@npm:6.0.3-pre.2647" dependencies: - "@openmrs/esm-app-shell": "npm:6.0.1-pre.2575" - "@openmrs/webpack-config": "npm:6.0.1-pre.2575" + "@openmrs/esm-app-shell": "npm:6.0.3-pre.2647" + "@openmrs/webpack-config": "npm:6.0.3-pre.2647" "@pnpm/npm-conf": "npm:^2.1.0" "@swc/core": "npm:^1.3.58" autoprefixer: "npm:^10.4.20" @@ -15519,7 +15519,7 @@ __metadata: yargs: "npm:^17.6.2" bin: openmrs: ./dist/cli.js - checksum: 10/9475c98aff6b7242d9f09f330f8f34979ef4f3ef1c3b4b649b3ea005028dd503ebff698b77d7f2b0d82d2bb835a89f7d19cd409ae1af713618f7bdb0d5eb5b88 + checksum: 10/6e909a84dc8afaafe28a19ae6a34b7ccd3ef74fde25aab7702998a92ceb869a6180712fee37080f147349b89ada886b7340403bacb56c002fefd46fef558c9ab languageName: node linkType: hard