@kenyaemr/esm-express-workflow-app 5.4.3 → 5.4.4-pre.100
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +7 -12
- package/dist/1074.js +1 -0
- package/dist/1074.js.map +1 -0
- package/dist/12.js +17 -0
- package/dist/12.js.map +1 -0
- package/dist/1311.js +1 -0
- package/dist/1311.js.map +1 -0
- package/dist/1323.js +1 -0
- package/dist/1323.js.map +1 -0
- package/dist/1469.js +1 -0
- package/dist/1469.js.map +1 -0
- package/dist/1506.js +13 -0
- package/dist/1506.js.map +1 -0
- package/dist/1562.js +1 -0
- package/dist/1562.js.map +1 -0
- package/dist/1760.js +1 -0
- package/dist/1760.js.map +1 -0
- package/dist/1780.js +1 -0
- package/dist/1780.js.map +1 -0
- package/dist/1804.js +1 -0
- package/dist/1804.js.map +1 -0
- package/dist/1884.js +1 -0
- package/dist/1884.js.map +1 -0
- package/dist/1972.js +1 -0
- package/dist/1972.js.map +1 -0
- package/dist/1990.js +1 -0
- package/dist/1990.js.map +1 -0
- package/dist/2016.js +1 -0
- package/dist/2016.js.map +1 -0
- package/dist/2024.js +1 -0
- package/dist/2024.js.map +1 -0
- package/dist/2153.js +1 -0
- package/dist/2153.js.map +1 -0
- package/dist/216.js +1 -0
- package/dist/216.js.map +1 -0
- package/dist/2225.js +1 -0
- package/dist/2225.js.map +1 -0
- package/dist/2294.js +1 -0
- package/dist/2294.js.map +1 -0
- package/dist/2345.js +1 -0
- package/dist/2345.js.map +1 -0
- package/dist/2499.js +1 -0
- package/dist/2499.js.map +1 -0
- package/dist/2500.js +1 -0
- package/dist/2500.js.map +1 -0
- package/dist/2586.js +1 -0
- package/dist/2586.js.map +1 -0
- package/dist/2625.js +1 -0
- package/dist/2625.js.map +1 -0
- package/dist/2685.js +1 -0
- package/dist/2685.js.map +1 -0
- package/dist/2809.js +1 -0
- package/dist/2809.js.map +1 -0
- package/dist/2851.js +1 -0
- package/dist/2851.js.map +1 -0
- package/dist/2881.js +1 -0
- package/dist/2881.js.map +1 -0
- package/dist/2948.js +1 -0
- package/dist/2948.js.map +1 -0
- package/dist/2968.js +1 -0
- package/dist/2968.js.map +1 -0
- package/dist/2978.js +1 -0
- package/dist/2978.js.map +1 -0
- package/dist/2998.js +1 -0
- package/dist/2998.js.map +1 -0
- package/dist/3089.js +1 -0
- package/dist/3089.js.map +1 -0
- package/dist/3548.js +1 -0
- package/dist/3548.js.map +1 -0
- package/dist/3567.js +1 -0
- package/dist/3567.js.map +1 -0
- package/dist/3569.js +1 -0
- package/dist/3569.js.map +1 -0
- package/dist/3571.js +1 -0
- package/dist/3571.js.map +1 -0
- package/dist/3691.js +1 -0
- package/dist/3691.js.map +1 -0
- package/dist/3730.js +1 -0
- package/dist/3730.js.map +1 -0
- package/dist/3923.js +1 -0
- package/dist/3923.js.map +1 -0
- package/dist/3963.js +1 -0
- package/dist/3963.js.map +1 -0
- package/dist/4024.js +1 -0
- package/dist/4024.js.map +1 -0
- package/dist/405.js +1 -0
- package/dist/405.js.map +1 -0
- package/dist/4071.js +1 -0
- package/dist/4071.js.map +1 -0
- package/dist/4271.js +1 -0
- package/dist/4271.js.map +1 -0
- package/dist/4296.js +1 -0
- package/dist/4296.js.map +1 -0
- package/dist/4337.js +1 -0
- package/dist/4337.js.map +1 -0
- package/dist/4432.js +1 -0
- package/dist/4432.js.map +1 -0
- package/dist/4581.js +1 -0
- package/dist/4581.js.map +1 -0
- package/dist/4637.js +11 -0
- package/dist/4637.js.map +1 -0
- package/dist/4666.js +1 -0
- package/dist/4666.js.map +1 -0
- package/dist/4680.js +1 -0
- package/dist/4680.js.map +1 -0
- package/dist/4735.js +1 -0
- package/dist/4735.js.map +1 -0
- package/dist/4737.js +1 -0
- package/dist/4737.js.map +1 -0
- package/dist/4744.js +1 -0
- package/dist/4744.js.map +1 -0
- package/dist/4795.js +1 -0
- package/dist/4795.js.map +1 -0
- package/dist/4813.js +2 -0
- package/dist/4813.js.map +1 -0
- package/dist/4818.js +1 -0
- package/dist/4818.js.map +1 -0
- package/dist/4858.js +1 -0
- package/dist/4858.js.map +1 -0
- package/dist/487.js +1 -0
- package/dist/487.js.map +1 -0
- package/dist/4970.js +1 -0
- package/dist/4970.js.map +1 -0
- package/dist/5038.js +1 -0
- package/dist/5038.js.map +1 -0
- package/dist/5202.js +1 -0
- package/dist/5202.js.map +1 -0
- package/dist/5491.js +1 -0
- package/dist/5491.js.map +1 -0
- package/dist/5592.js +1 -0
- package/dist/5592.js.map +1 -0
- package/dist/5669.js +1 -0
- package/dist/5669.js.map +1 -0
- package/dist/586.js +1 -0
- package/dist/586.js.map +1 -0
- package/dist/5932.js +1 -0
- package/dist/5932.js.map +1 -0
- package/dist/5995.js +1 -0
- package/dist/5995.js.map +1 -0
- package/dist/6258.js +1 -0
- package/dist/6258.js.map +1 -0
- package/dist/629.js +1 -0
- package/dist/629.js.map +1 -0
- package/dist/6328.js +1 -0
- package/dist/6328.js.map +1 -0
- package/dist/6355.js +1 -0
- package/dist/6355.js.map +1 -0
- package/dist/6419.js +1 -0
- package/dist/6419.js.map +1 -0
- package/dist/644.js +1 -0
- package/dist/644.js.map +1 -0
- package/dist/6456.js +1 -0
- package/dist/6466.js +3 -0
- package/dist/6466.js.map +1 -0
- package/dist/655.js +1 -0
- package/dist/655.js.map +1 -0
- package/dist/6798.js +66 -0
- package/dist/6798.js.map +1 -0
- package/dist/6910.js +1 -0
- package/dist/6910.js.map +1 -0
- package/dist/6925.js +1 -0
- package/dist/6925.js.map +1 -0
- package/dist/70.js +1 -0
- package/dist/70.js.map +1 -0
- package/dist/7201.js +1 -0
- package/dist/7201.js.map +1 -0
- package/dist/7234.js +1 -0
- package/dist/7234.js.map +1 -0
- package/dist/7261.js +1 -0
- package/dist/7261.js.map +1 -0
- package/dist/7326.js +1 -0
- package/dist/7359.js +1 -0
- package/dist/7487.js +1 -0
- package/dist/7487.js.map +1 -0
- package/dist/7591.js +1 -0
- package/dist/7591.js.map +1 -0
- package/dist/7607.js +1 -0
- package/dist/7701.js +1 -0
- package/dist/7701.js.map +1 -0
- package/dist/7717.js +1 -0
- package/dist/7717.js.map +1 -0
- package/dist/7739.js +1 -0
- package/dist/7739.js.map +1 -0
- package/dist/7788.js +1 -0
- package/dist/7788.js.map +1 -0
- package/dist/7819.js +1 -0
- package/dist/7819.js.map +1 -0
- package/dist/7971.js +1 -0
- package/dist/7971.js.map +1 -0
- package/dist/7983.js +1 -0
- package/dist/7983.js.map +1 -0
- package/dist/807.js +1 -0
- package/dist/807.js.map +1 -0
- package/dist/8159.js +7 -0
- package/dist/8159.js.map +1 -0
- package/dist/8338.js +1 -0
- package/dist/8338.js.map +1 -0
- package/dist/845.js +1 -0
- package/dist/845.js.map +1 -0
- package/dist/8570.js +1 -0
- package/dist/8570.js.map +1 -0
- package/dist/8661.js +1 -0
- package/dist/8661.js.map +1 -0
- package/dist/87.js +1 -0
- package/dist/87.js.map +1 -0
- package/dist/8727.js +1 -0
- package/dist/8766.js +1 -0
- package/dist/8766.js.map +1 -0
- package/dist/8828.js +1 -0
- package/dist/8828.js.map +1 -0
- package/dist/8860.js +1 -0
- package/dist/8860.js.map +1 -0
- package/dist/8911.js +1 -0
- package/dist/8911.js.map +1 -0
- package/dist/8930.js +1 -0
- package/dist/8930.js.map +1 -0
- package/dist/8971.js +1 -0
- package/dist/8971.js.map +1 -0
- package/dist/9124.js +1 -0
- package/dist/9124.js.map +1 -0
- package/dist/9157.js +1 -0
- package/dist/9157.js.map +1 -0
- package/dist/9182.js +1 -0
- package/dist/921.js +1 -0
- package/dist/921.js.map +1 -0
- package/dist/9212.js +1 -0
- package/dist/9212.js.map +1 -0
- package/dist/9255.js +1 -0
- package/dist/9255.js.map +1 -0
- package/dist/9257.js +1 -0
- package/dist/9257.js.map +1 -0
- package/dist/9316.js +1 -0
- package/dist/9316.js.map +1 -0
- package/dist/9333.js +1 -0
- package/dist/9333.js.map +1 -0
- package/dist/9404.js +1 -0
- package/dist/9404.js.map +1 -0
- package/dist/9446.js +1 -0
- package/dist/9446.js.map +1 -0
- package/dist/9447.js +1 -0
- package/dist/9447.js.map +1 -0
- package/dist/9449.js +1 -0
- package/dist/9449.js.map +1 -0
- package/dist/9535.js +1 -0
- package/dist/9535.js.map +1 -0
- package/dist/9606.js +1 -0
- package/dist/9606.js.map +1 -0
- package/dist/973.js +1 -0
- package/dist/973.js.map +1 -0
- package/dist/9845.js +1 -0
- package/dist/9845.js.map +1 -0
- package/dist/kenyaemr-esm-express-workflow-app.js +5 -5
- package/dist/kenyaemr-esm-express-workflow-app.js.buildmanifest.json +3004 -175
- package/dist/kenyaemr-esm-express-workflow-app.js.map +1 -1
- package/dist/main.js +5 -114
- package/dist/main.js.map +1 -1
- package/dist/routes.json +1 -1
- package/package.json +6 -7
- package/rspack.config.js +1 -1
- package/src/components/accounting/index.tsx +11 -10
- package/src/components/admissions/index.tsx +11 -10
- package/src/components/appointments/index.ts +10 -8
- package/src/components/consultation/clinical-encounter/encounter-details.component.tsx +9 -9
- package/src/components/consultation/clinical-encounter/encounter-details.test.tsx +19 -18
- package/src/components/consultation/consultation-context.tsx +19 -0
- package/src/components/consultation/consultation-summary-cards.component.tsx +124 -0
- package/src/components/consultation/consultation.component.tsx +41 -268
- package/src/components/consultation/consultation.resource.ts +67 -24
- package/src/components/consultation/consultation.scss +5 -0
- package/src/components/consultation/consultation.utils.tsx +222 -0
- package/src/components/consultation/dashboard.component.tsx +0 -2
- package/src/components/consultation/index.ts +27 -20
- package/src/components/facility-dashboard/index.tsx +10 -9
- package/src/components/laboratory/index.ts +11 -10
- package/src/components/laboratory/lab-table.component.tsx +22 -8
- package/src/components/laboratory/laboratory-tabs.component.tsx +2 -2
- package/src/components/mch/dashboard.component.tsx +0 -2
- package/src/components/mch/index.tsx +10 -9
- package/src/components/mch/mch.consultation.component.tsx +27 -15
- package/src/components/mch/mch.triage.component.tsx +42 -33
- package/src/components/pharmacy/index.ts +20 -18
- package/src/components/pharmacy/orders/pharmacy-orders.component.tsx +35 -13
- package/src/components/pharmacy/orders/pharmacy-orders.test.tsx +8 -7
- package/src/components/procedures/index.ts +11 -10
- package/src/components/procedures/procedures-table.component.tsx +44 -13
- package/src/components/procedures/procedures-tabs.component.tsx +2 -2
- package/src/components/radiology-and-imaging/index.ts +14 -10
- package/src/components/radiology-and-imaging/radiology-and-imaging-table.component.tsx +35 -15
- package/src/components/radiology-and-imaging/radiology-and-imaging.component.tsx +2 -2
- package/src/components/registration/card/HIE-card/hie-card.component.tsx +32 -44
- package/src/components/registration/card/Local-card/local-card.component.tsx +22 -24
- package/src/components/registration/dependants/dependants.component.tsx +32 -60
- package/src/components/registration/dependants/dependants.resource.ts +79 -50
- package/src/components/registration/helper/index.ts +4 -0
- package/src/components/registration/index.ts +10 -9
- package/src/components/registration/search-bar/search-bar.resource.ts +32 -93
- package/src/components/registration/start-visit-form/hooks/useDefaultFacilityLocation.tsx +15 -0
- package/src/components/registration/start-visit-form/hooks/useDefaultVisitLocation.tsx +24 -0
- package/src/components/registration/start-visit-form/hooks/useOfflineVisitType.tsx +18 -0
- package/src/components/registration/start-visit-form/hooks/useRecommendedVisitTypes.tsx +36 -0
- package/src/components/registration/start-visit-form/hooks/useVisitAttributeType.tsx +102 -0
- package/src/components/registration/start-visit-form/overflow-menu-extension/overflow-menu-item.extension.tsx +55 -0
- package/src/components/registration/start-visit-form/overflow-menu-extension/overflow-menu-item.scss +3 -0
- package/src/components/registration/start-visit-form/start-visit-workspace/base-visit-type.component.tsx +126 -0
- package/src/components/registration/start-visit-form/start-visit-workspace/base-visit-type.scss +75 -0
- package/src/components/registration/start-visit-form/start-visit-workspace/exported-visit-form.workspace.tsx +743 -0
- package/src/components/registration/start-visit-form/start-visit-workspace/location-selector.component.tsx +86 -0
- package/src/components/registration/start-visit-form/start-visit-workspace/recommended-visit-type.component.tsx +32 -0
- package/src/components/registration/start-visit-form/start-visit-workspace/visit-attribute-type.component.tsx +257 -0
- package/src/components/registration/start-visit-form/start-visit-workspace/visit-attribute-type.scss +5 -0
- package/src/components/registration/start-visit-form/start-visit-workspace/visit-date-time.component.tsx +193 -0
- package/src/components/registration/start-visit-form/start-visit-workspace/visit-form.resource.ts +383 -0
- package/src/components/registration/start-visit-form/start-visit-workspace/visit-form.scss +166 -0
- package/src/components/registration/start-visit-form/visit-form-workspace/visit-form.workspace.tsx +55 -0
- package/src/components/reports/index.ts +10 -9
- package/src/components/triage/dashboard.component.tsx +0 -2
- package/src/components/triage/index.ts +10 -9
- package/src/components/triage/triage.component.tsx +92 -42
- package/src/components/triage/triage.resource.ts +56 -50
- package/src/components/triage/triage.scss +6 -0
- package/src/config-schema.ts +91 -0
- package/src/hooks/useServiceQueues.tsx +95 -25
- package/src/index.ts +32 -13
- package/src/routes.json +53 -254
- package/src/shared/orders/OrdersTabs.tsx +8 -3
- package/src/shared/patient-chart/patient-chart.resources.ts +8 -12
- package/src/shared/patient-chart/patient-summary-dashboard/patient-summary-dashboard.component.tsx +1 -2
- package/src/shared/pin-put/pinput.component.test.tsx +7 -6
- package/src/shared/queue/queue-entry/queue-entry-table.component.tsx +99 -88
- package/src/shared/queue/queue-entry/queue-entry-table.scss +4 -0
- package/src/shared/queue/queue-summary-cards.component.tsx +32 -0
- package/src/shared/queue/queue-tab.component.tsx +182 -70
- package/src/shared/queue/queue-tab.scss +1 -0
- package/src/shared/queue/queue-workflow-context.tsx +90 -0
- package/src/shared/tabs/extension-tabs.component.tsx +9 -6
- package/src/shared/utils/index.ts +1 -2
- package/src/types/index.ts +17 -2
- package/translations/am.json +64 -13
- package/translations/en.json +59 -8
- package/translations/sw.json +58 -7
- package/dist/127.js +0 -1
- package/dist/200.js +0 -1
- package/dist/200.js.map +0 -1
- package/dist/24.js +0 -1
- package/dist/24.js.map +0 -1
- package/dist/267.js +0 -1
- package/dist/267.js.map +0 -1
- package/dist/285.js +0 -1
- package/dist/285.js.map +0 -1
- package/dist/329.js +0 -1
- package/dist/329.js.map +0 -1
- package/dist/40.js +0 -1
- package/dist/466.js +0 -1
- package/dist/466.js.map +0 -1
- package/dist/472.js +0 -66
- package/dist/472.js.map +0 -1
- package/dist/490.js +0 -1
- package/dist/490.js.map +0 -1
- package/dist/54.js +0 -1
- package/dist/54.js.map +0 -1
- package/dist/689.js +0 -1
- package/dist/689.js.map +0 -1
- package/dist/697.js +0 -1
- package/dist/697.js.map +0 -1
- package/dist/704.js +0 -1
- package/dist/704.js.map +0 -1
- package/dist/710.js +0 -1
- package/dist/710.js.map +0 -1
- package/dist/729.js +0 -17
- package/dist/729.js.map +0 -1
- package/dist/805.js +0 -37
- package/dist/805.js.map +0 -1
- package/dist/847.js +0 -1
- package/dist/847.js.map +0 -1
- package/dist/85.js +0 -1
- package/dist/85.js.map +0 -1
- package/dist/882.js +0 -1
- package/dist/91.js +0 -1
- package/dist/91.js.map +0 -1
- package/dist/916.js +0 -1
- package/dist/994.js +0 -1
- package/dist/994.js.map +0 -1
- package/dist/998.js +0 -1
- package/dist/998.js.map +0 -1
- package/jest.config.js +0 -3
- package/src/shared/patient-chart/patient-chart.component.tsx +0 -61
- package/src/shared/patient-chart/patient-chart.scss +0 -15
- package/src/shared/patient-chart/useInitialize.ts +0 -24
package/src/routes.json
CHANGED
|
@@ -2,341 +2,140 @@
|
|
|
2
2
|
"$schema": "https://json.openmrs.org/routes.schema.json",
|
|
3
3
|
"backendDependencies": {
|
|
4
4
|
"fhir2": ">=1.2",
|
|
5
|
-
|
|
5
|
+
"webservices.rest": ">=2.24.0"
|
|
6
6
|
},
|
|
7
7
|
"pages": [
|
|
8
|
-
{
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
},
|
|
12
|
-
{
|
|
13
|
-
"component": "queuesAdminHome",
|
|
14
|
-
"route": "queues-admin"
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
"component": "appointmentsDashboard",
|
|
18
|
-
"route": "appointments"
|
|
19
|
-
}
|
|
8
|
+
{ "component": "root", "route": "express-workflow" },
|
|
9
|
+
{ "component": "queuesAdminHome", "route": "queues-admin" },
|
|
10
|
+
{ "component": "@kenyaemr/esm-appointments-app#appointmentsDashboard", "route": "appointments" }
|
|
20
11
|
],
|
|
21
12
|
"extensions": [
|
|
22
13
|
{
|
|
23
14
|
"component": "appointmentsDashboardLink",
|
|
24
15
|
"name": "appointments-dashboard-link",
|
|
25
16
|
"slot": "appointments-left-panel-slot",
|
|
26
|
-
"meta": {
|
|
27
|
-
"name": "appointments",
|
|
28
|
-
"slot": "appointments-dashboard-slot",
|
|
29
|
-
"title": "Appointments"
|
|
30
|
-
}
|
|
17
|
+
"meta": { "name": "appointments", "slot": "appointments-dashboard-slot", "title": "Appointments" }
|
|
31
18
|
},
|
|
32
19
|
{
|
|
33
20
|
"component": "admissionsLeftPanelLink",
|
|
34
21
|
"name": "admissions-dashboard-link",
|
|
35
22
|
"slot": "express-workflow-left-panel-slot",
|
|
36
23
|
"order": 9,
|
|
37
|
-
"meta": {
|
|
38
|
-
"name": "admissions",
|
|
39
|
-
"slot": "admissions-dashboard-slot",
|
|
40
|
-
"title": "Admissions"
|
|
41
|
-
}
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
"component": "admissionsDashboard",
|
|
45
|
-
"name": "admissions-dashboard",
|
|
46
|
-
"slot": "admissions-dashboard-slot"
|
|
24
|
+
"meta": { "name": "admissions", "slot": "admissions-dashboard-slot", "title": "Admissions" }
|
|
47
25
|
},
|
|
26
|
+
{ "component": "admissionsDashboard", "name": "admissions-dashboard", "slot": "admissions-dashboard-slot" },
|
|
48
27
|
{
|
|
49
28
|
"component": "consultationLeftPanelLink",
|
|
50
29
|
"name": "consultation-dashboard-link",
|
|
51
30
|
"slot": "homepage-dashboard-slot",
|
|
52
31
|
"order": 3,
|
|
53
|
-
"meta": {
|
|
54
|
-
"name": "consultation",
|
|
55
|
-
"slot": "consultation-dashboard-slot",
|
|
56
|
-
"title": "Consultation"
|
|
57
|
-
}
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
"component": "consultationDashboard",
|
|
61
|
-
"name": "consultation-dashboard",
|
|
62
|
-
"slot": "consultation-dashboard-slot"
|
|
32
|
+
"meta": { "name": "consultation", "slot": "consultation-dashboard-slot", "title": "Consultation" }
|
|
63
33
|
},
|
|
34
|
+
{ "component": "consultationDashboard", "name": "consultation-dashboard", "slot": "consultation-dashboard-slot" },
|
|
64
35
|
{
|
|
65
36
|
"component": "facilityLeftPanelLink",
|
|
66
37
|
"name": "facility-dashboard-link",
|
|
67
38
|
"slot": "homepage-dashboard-slot",
|
|
68
39
|
"order": 0,
|
|
69
|
-
"meta": {
|
|
70
|
-
"name": "dashboard",
|
|
71
|
-
"slot": "facility-dashboard-slot",
|
|
72
|
-
"title": "Dashboard"
|
|
73
|
-
}
|
|
74
|
-
},
|
|
75
|
-
{
|
|
76
|
-
"component": "facilityDashboard",
|
|
77
|
-
"name": "facility-dashboard",
|
|
78
|
-
"slot": "facility-dashboard-slot"
|
|
40
|
+
"meta": { "name": "dashboard", "slot": "facility-dashboard-slot", "title": "Dashboard" }
|
|
79
41
|
},
|
|
42
|
+
{ "component": "facilityDashboard", "name": "facility-dashboard", "slot": "facility-dashboard-slot" },
|
|
80
43
|
{
|
|
81
44
|
"component": "mchLeftPanelLink",
|
|
82
45
|
"name": "mch-dashboard-link",
|
|
83
46
|
"slot": "homepage-dashboard-slot",
|
|
84
|
-
"meta": {
|
|
85
|
-
"name": "mch",
|
|
86
|
-
"slot": "mch-dashboard-slot",
|
|
87
|
-
"title": "MCH"
|
|
88
|
-
}
|
|
89
|
-
},
|
|
90
|
-
{
|
|
91
|
-
"component": "mchDashboard",
|
|
92
|
-
"name": "mch-dashboard",
|
|
93
|
-
"slot": "mch-dashboard-slot"
|
|
47
|
+
"meta": { "name": "mch", "slot": "mch-dashboard-slot", "title": "MCH" }
|
|
94
48
|
},
|
|
49
|
+
{ "component": "mchDashboard", "name": "mch-dashboard", "slot": "mch-dashboard-slot" },
|
|
95
50
|
{
|
|
96
51
|
"component": "registrationLeftPanelLink",
|
|
97
52
|
"name": "registration-dashboard-link",
|
|
98
53
|
"slot": "homepage-dashboard-slot",
|
|
99
|
-
"meta": {
|
|
100
|
-
"name": "registration",
|
|
101
|
-
"slot": "registration-dashboard-slot",
|
|
102
|
-
"title": "Registration"
|
|
103
|
-
}
|
|
104
|
-
},
|
|
105
|
-
{
|
|
106
|
-
"component": "registrationDashboard",
|
|
107
|
-
"name": "registration-dashboard",
|
|
108
|
-
"slot": "registration-dashboard-slot"
|
|
54
|
+
"meta": { "name": "registration", "slot": "registration-dashboard-slot", "title": "Registration" }
|
|
109
55
|
},
|
|
56
|
+
{ "component": "registrationDashboard", "name": "registration-dashboard", "slot": "registration-dashboard-slot" },
|
|
110
57
|
{
|
|
111
58
|
"component": "triageLeftPanelLink",
|
|
112
59
|
"name": "triage-dashboard-link",
|
|
113
60
|
"slot": "homepage-dashboard-slot",
|
|
114
|
-
"meta": {
|
|
115
|
-
"name": "triage",
|
|
116
|
-
"slot": "triage-dashboard-slot",
|
|
117
|
-
"title": "Triage"
|
|
118
|
-
}
|
|
119
|
-
},
|
|
120
|
-
{
|
|
121
|
-
"component": "triageDashboard",
|
|
122
|
-
"name": "triage-dashboard",
|
|
123
|
-
"slot": "triage-dashboard-slot"
|
|
124
|
-
},
|
|
125
|
-
{
|
|
126
|
-
"name": "custom-visit-form-queue-fields",
|
|
127
|
-
"component": "checkinFormExtraExtension",
|
|
128
|
-
"slot":"visit-form-bottom-slot",
|
|
129
|
-
"order": 0
|
|
61
|
+
"meta": { "name": "triage", "slot": "triage-dashboard-slot", "title": "Triage" }
|
|
130
62
|
},
|
|
63
|
+
{ "component": "triageDashboard", "name": "triage-dashboard", "slot": "triage-dashboard-slot" },
|
|
64
|
+
{ "name": "custom-visit-form-queue-fields", "component": "checkinFormExtraExtension", "slot": "visit-form-bottom-slot", "order": 0 },
|
|
131
65
|
{
|
|
132
66
|
"component": "reportsDashboardLink",
|
|
133
67
|
"name": "reports-homepage-dashboard-link",
|
|
134
68
|
"slot": "homepage-dashboard-slot",
|
|
135
|
-
"meta": {
|
|
136
|
-
"name": "reports",
|
|
137
|
-
"slot": "reports-homepage-dashboard-slot",
|
|
138
|
-
"title": "Reports"
|
|
139
|
-
}
|
|
140
|
-
},
|
|
141
|
-
{
|
|
142
|
-
"component": "reportsDashboard",
|
|
143
|
-
"name": "reports-dashboard",
|
|
144
|
-
"slot": "reports-homepage-dashboard-slot"
|
|
69
|
+
"meta": { "name": "reports", "slot": "reports-homepage-dashboard-slot", "title": "Reports" }
|
|
145
70
|
},
|
|
71
|
+
{ "component": "reportsDashboard", "name": "reports-dashboard", "slot": "reports-homepage-dashboard-slot" },
|
|
146
72
|
{
|
|
147
73
|
"name": "pharmacy-homepage-dashboard-link",
|
|
148
74
|
"component": "pharmacyLink",
|
|
149
75
|
"slot": "homepage-dashboard-slot",
|
|
150
|
-
"meta": {
|
|
151
|
-
"name": "pharmacy",
|
|
152
|
-
"title": "Pharmacy",
|
|
153
|
-
"path": "pharmacy",
|
|
154
|
-
"slot": "pharmacy-homepage-dashboard-slot"
|
|
155
|
-
}
|
|
156
|
-
},
|
|
157
|
-
{
|
|
158
|
-
"name": "pharmacy-homepage-dashboard",
|
|
159
|
-
"component": "pharmacy",
|
|
160
|
-
"slot": "pharmacy-homepage-dashboard-slot",
|
|
161
|
-
"online": true,
|
|
162
|
-
"offline": false
|
|
163
|
-
},
|
|
164
|
-
{
|
|
165
|
-
"name": "ewf-pharmacy-orders-dashboard",
|
|
166
|
-
"component": "pharmacyOrders",
|
|
167
|
-
"slot": "ewf-orders-slot",
|
|
168
|
-
"online": true,
|
|
169
|
-
"offline": false
|
|
170
|
-
},
|
|
171
|
-
{
|
|
172
|
-
"name": "patient-summary-dashboard",
|
|
173
|
-
"component": "patientSummaryDashboard",
|
|
174
|
-
"slot": "patient-chart-summary-dashboard-slot"
|
|
76
|
+
"meta": { "name": "pharmacy", "title": "Pharmacy", "path": "pharmacy", "slot": "pharmacy-homepage-dashboard-slot" }
|
|
175
77
|
},
|
|
78
|
+
{ "name": "pharmacy-homepage-dashboard", "component": "pharmacy", "slot": "pharmacy-homepage-dashboard-slot", "online": true, "offline": false },
|
|
79
|
+
{ "name": "ewf-pharmacy-orders-dashboard", "component": "pharmacyOrders", "slot": "ewf-orders-slot", "online": true, "offline": false },
|
|
80
|
+
{ "name": "patient-summary-dashboard", "component": "patientSummaryDashboard", "slot": "patient-chart-summary-dashboard-slot" },
|
|
176
81
|
{
|
|
177
82
|
"name": "ewf-clinical-encounter-link",
|
|
178
83
|
"component": "clinicalEncounterLink",
|
|
179
84
|
"slot": "patient-chart-dashboard-slot",
|
|
180
|
-
"meta": {
|
|
181
|
-
"name": "ewf-clinical-encounter",
|
|
182
|
-
"title": "Clinical Encounter",
|
|
183
|
-
"slot": "ewf-patient-chart-clinical-encounter-slot",
|
|
184
|
-
"path": "clinical-encounter",
|
|
185
|
-
"layoutMode": "anchored",
|
|
186
|
-
"hideDashboardTitle": true
|
|
187
|
-
}
|
|
85
|
+
"meta": { "name": "ewf-clinical-encounter", "title": "Clinical Encounter", "slot": "ewf-patient-chart-clinical-encounter-slot", "path": "clinical-encounter", "layoutMode": "anchored", "hideDashboardTitle": true }
|
|
188
86
|
},
|
|
87
|
+
{ "name": "ewf-clinical-encounter-dashboard", "component": "clinicalEncounter", "slot": "ewf-patient-chart-clinical-encounter-slot", "online": true, "offline": false },
|
|
189
88
|
{
|
|
190
|
-
"name": "ewf-clinical-encounter-dashboard",
|
|
191
|
-
"component": "clinicalEncounter",
|
|
192
|
-
"slot": "ewf-patient-chart-clinical-encounter-slot",
|
|
193
|
-
"online": true,
|
|
194
|
-
"offline": false
|
|
195
|
-
},
|
|
196
|
-
{
|
|
197
89
|
"name": "ewf-laboratory-dashboard-link",
|
|
198
90
|
"component": "laboratoryLeftPanelLink",
|
|
199
91
|
"slot": "patient-chart-dashboard-slot",
|
|
200
|
-
"meta": {
|
|
201
|
-
"name": "ewf-laboratory",
|
|
202
|
-
"title": "Lab Orders",
|
|
203
|
-
"path": "laboratory",
|
|
204
|
-
"slot": "ewf-patient-chart-laboratory-dashboard-slot",
|
|
205
|
-
"layoutMode": "anchored",
|
|
206
|
-
"hideDashboardTitle": true
|
|
207
|
-
}
|
|
208
|
-
},
|
|
209
|
-
{
|
|
210
|
-
"name": "ewf-laboratory-dashboard",
|
|
211
|
-
"component": "laboratoryDashboard",
|
|
212
|
-
"slot": "ewf-patient-chart-laboratory-dashboard-slot",
|
|
213
|
-
"online": true,
|
|
214
|
-
"offline": false
|
|
92
|
+
"meta": { "name": "ewf-laboratory", "title": "Lab Orders", "path": "laboratory", "slot": "ewf-patient-chart-laboratory-dashboard-slot", "layoutMode": "anchored", "hideDashboardTitle": true }
|
|
215
93
|
},
|
|
94
|
+
{ "name": "ewf-laboratory-dashboard", "component": "laboratoryDashboard", "slot": "ewf-patient-chart-laboratory-dashboard-slot", "online": true, "offline": false },
|
|
216
95
|
{
|
|
217
96
|
"name": "ewf-radiology-and-imaging-dashboard-link",
|
|
218
97
|
"component": "radiologyAndImagingLeftPanelLink",
|
|
219
98
|
"slot": "patient-chart-dashboard-slot",
|
|
220
|
-
"meta": {
|
|
221
|
-
"name": "ewf-radiology-and-imaging",
|
|
222
|
-
"title": "Radiology and Imaging",
|
|
223
|
-
"path": "radiology-and-imaging",
|
|
224
|
-
"slot": "ewf-patient-chart-radiology-and-imaging-dashboard-slot",
|
|
225
|
-
"layoutMode": "anchored",
|
|
226
|
-
"hideDashboardTitle": true
|
|
227
|
-
}
|
|
228
|
-
},
|
|
229
|
-
{
|
|
230
|
-
"name": "ewf-radiology-and-imaging-dashboard",
|
|
231
|
-
"component": "radiologyAndImagingDashboard",
|
|
232
|
-
"slot": "ewf-patient-chart-radiology-and-imaging-dashboard-slot",
|
|
233
|
-
"online": true,
|
|
234
|
-
"offline": false
|
|
99
|
+
"meta": { "name": "ewf-radiology-and-imaging", "title": "Radiology and Imaging", "path": "radiology-and-imaging", "slot": "ewf-patient-chart-radiology-and-imaging-dashboard-slot", "layoutMode": "anchored", "hideDashboardTitle": true }
|
|
235
100
|
},
|
|
101
|
+
{ "name": "ewf-radiology-and-imaging-dashboard", "component": "radiologyAndImagingDashboard", "slot": "ewf-patient-chart-radiology-and-imaging-dashboard-slot", "online": true, "offline": false },
|
|
236
102
|
{
|
|
237
103
|
"name": "ewf-procedures-dashboard-link",
|
|
238
104
|
"component": "proceduresLeftPanelLink",
|
|
239
105
|
"slot": "patient-chart-dashboard-slot",
|
|
240
|
-
"meta": {
|
|
241
|
-
"name": "ewf-procedures",
|
|
242
|
-
"title": "Procedures",
|
|
243
|
-
"path": "procedures",
|
|
244
|
-
"slot": "ewf-patient-chart-procedures-dashboard-slot",
|
|
245
|
-
"layoutMode": "anchored",
|
|
246
|
-
"hideDashboardTitle": true
|
|
247
|
-
}
|
|
248
|
-
},
|
|
249
|
-
{
|
|
250
|
-
"name": "ewf-procedures-dashboard",
|
|
251
|
-
"component": "proceduresDashboard",
|
|
252
|
-
"slot": "ewf-patient-chart-procedures-dashboard-slot",
|
|
253
|
-
"online": true,
|
|
254
|
-
"offline": false
|
|
106
|
+
"meta": { "name": "ewf-procedures", "title": "Procedures", "path": "procedures", "slot": "ewf-patient-chart-procedures-dashboard-slot", "layoutMode": "anchored", "hideDashboardTitle": true }
|
|
255
107
|
},
|
|
108
|
+
{ "name": "ewf-procedures-dashboard", "component": "proceduresDashboard", "slot": "ewf-patient-chart-procedures-dashboard-slot", "online": true, "offline": false },
|
|
256
109
|
{
|
|
257
110
|
"name": "ewf-pharmacy-dashboard-link",
|
|
258
111
|
"component": "pharmacyPatientChartDashboardLink",
|
|
259
112
|
"slot": "patient-chart-dashboard-slot",
|
|
260
|
-
"meta": {
|
|
261
|
-
"name": "ewf-pharmacy",
|
|
262
|
-
"title": "Prescription",
|
|
263
|
-
"path": "pharmacy",
|
|
264
|
-
"slot": "ewf-patient-chart-pharmacy-dashboard-slot",
|
|
265
|
-
"layoutMode": "anchored",
|
|
266
|
-
"hideDashboardTitle": true
|
|
267
|
-
}
|
|
268
|
-
},
|
|
269
|
-
|
|
270
|
-
{
|
|
271
|
-
"name": "ewf-pharmacy-dashboard",
|
|
272
|
-
"component": "pharmacyTabs",
|
|
273
|
-
"slot": "ewf-patient-chart-pharmacy-dashboard-slot",
|
|
274
|
-
"online": true,
|
|
275
|
-
"offline": false
|
|
276
|
-
},
|
|
277
|
-
{"name": "ewf-admissions-dashboard-link",
|
|
278
|
-
"component": "admissionsDashboardLink",
|
|
279
|
-
"slot": "patient-chart-dashboard-slot",
|
|
280
|
-
"meta": {
|
|
281
|
-
"name": "ewf-admissions",
|
|
282
|
-
"title": "In-patient",
|
|
283
|
-
"path": "admissions",
|
|
284
|
-
"slot": "ewf-patient-chart-admissions-dashboard-slot",
|
|
285
|
-
"layoutMode": "anchored",
|
|
286
|
-
"hideDashboardTitle": true
|
|
287
|
-
}
|
|
288
|
-
},
|
|
289
|
-
{
|
|
290
|
-
"name": "ewf-admissions-dashboard",
|
|
291
|
-
"component": "admissionsDashboard",
|
|
292
|
-
"slot": "ewf-patient-chart-admissions-dashboard-slot",
|
|
293
|
-
"online": true,
|
|
294
|
-
"offline": false
|
|
113
|
+
"meta": { "name": "ewf-pharmacy", "title": "Prescription", "path": "pharmacy", "slot": "ewf-patient-chart-pharmacy-dashboard-slot", "layoutMode": "anchored", "hideDashboardTitle": true }
|
|
295
114
|
},
|
|
115
|
+
{ "name": "ewf-pharmacy-dashboard", "component": "pharmacyTabs", "slot": "ewf-patient-chart-pharmacy-dashboard-slot", "online": true, "offline": false },
|
|
296
116
|
{
|
|
297
|
-
"name": "ewf-
|
|
298
|
-
"component": "
|
|
117
|
+
"name": "ewf-admissions-dashboard-link",
|
|
118
|
+
"component": "admissionsDashboardLink",
|
|
299
119
|
"slot": "patient-chart-dashboard-slot",
|
|
300
|
-
"
|
|
120
|
+
"meta": { "name": "ewf-admissions", "title": "In-patient", "path": "admissions", "slot": "ewf-patient-chart-admissions-dashboard-slot", "layoutMode": "anchored", "hideDashboardTitle": true }
|
|
301
121
|
},
|
|
302
|
-
{
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
"online": true,
|
|
307
|
-
"offline": false
|
|
308
|
-
}
|
|
122
|
+
{ "name": "ewf-admissions-dashboard", "component": "admissionsDashboard", "slot": "ewf-patient-chart-admissions-dashboard-slot", "online": true, "offline": false },
|
|
123
|
+
{ "name": "ewf-homepage-dashboard-link", "component": "homepageDashboardLink", "slot": "patient-chart-dashboard-slot", "order": 0 },
|
|
124
|
+
{ "name": "ewf-encounter-details-dashboard", "component": "encounterDetails", "slot": "ewf-clinical-encounter-slot", "online": true, "offline": false },
|
|
125
|
+
{ "name": "custom-start-visit-overflow-menu-item", "slot": "patient-actions-slot", "component": "customStartVisitOverflowMenuItem", "online": true, "offline": true }
|
|
309
126
|
],
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
{
|
|
313
|
-
"name": "express-workflow-workspace",
|
|
314
|
-
"component": "expressWorkflowWorkspace",
|
|
315
|
-
"title": "Express Workflow Workspace",
|
|
316
|
-
"type": "workspace",
|
|
317
|
-
"canMaximize": true,
|
|
318
|
-
"canHide": true
|
|
319
|
-
}
|
|
127
|
+
"workspaces2": [
|
|
128
|
+
{ "name": "custom-start-visit-workspace-form", "component": "visitFormWorkspace", "window": "ewf-start-visit" }
|
|
320
129
|
],
|
|
321
|
-
"
|
|
322
|
-
{
|
|
323
|
-
|
|
324
|
-
"name": "otp-verification-modal"
|
|
325
|
-
}, {
|
|
326
|
-
"component": "facilityDashboardAuthorizationModal",
|
|
327
|
-
"name": "facility-dashboard-authorization-form-modal"
|
|
328
|
-
}
|
|
130
|
+
"workspaceWindows2": [
|
|
131
|
+
{ "name": "ewf-start-visit", "group": "ewf-patient-chart", "width": "wider"
|
|
132
|
+
}
|
|
329
133
|
],
|
|
330
|
-
"
|
|
331
|
-
{
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
"add-lab-order",
|
|
337
|
-
"express-workflow-workspace",
|
|
338
|
-
"start-visit-workspace-form"
|
|
339
|
-
]
|
|
340
|
-
}
|
|
134
|
+
"workspaceGroups2": [
|
|
135
|
+
{ "name": "ewf-patient-chart", "scopePattern": "/patient/([^/]+)/chart" }
|
|
136
|
+
],
|
|
137
|
+
"modals": [
|
|
138
|
+
{ "component": "otpVerificationModal", "name": "otp-verification-modal" },
|
|
139
|
+
{ "component": "facilityDashboardAuthorizationModal", "name": "facility-dashboard-authorization-form-modal" }
|
|
341
140
|
]
|
|
342
|
-
}
|
|
141
|
+
}
|
|
@@ -13,7 +13,7 @@ type OrdersTabsProps = {
|
|
|
13
13
|
resultsSlotName: string;
|
|
14
14
|
orderTypeUuid: string;
|
|
15
15
|
filter?: (o: Order) => boolean;
|
|
16
|
-
Table: React.ComponentType<{ orders: Order[] }>;
|
|
16
|
+
Table: React.ComponentType<{ orders: Order[]; mutateOrders: () => void }>;
|
|
17
17
|
};
|
|
18
18
|
|
|
19
19
|
export const OrdersTabs: React.FC<OrdersTabsProps> = ({
|
|
@@ -27,7 +27,12 @@ export const OrdersTabs: React.FC<OrdersTabsProps> = ({
|
|
|
27
27
|
}) => {
|
|
28
28
|
const { t } = useTranslation();
|
|
29
29
|
const state = useMemo(() => ({ patientUuid, patient, basePath }), [patientUuid, patient, basePath]);
|
|
30
|
-
const {
|
|
30
|
+
const {
|
|
31
|
+
data: orders,
|
|
32
|
+
isLoading,
|
|
33
|
+
error,
|
|
34
|
+
mutate: mutateOrders,
|
|
35
|
+
} = usePatientOrders(patientUuid, 'any', orderTypeUuid, undefined, undefined);
|
|
31
36
|
|
|
32
37
|
const filteredOrders = useMemo(() => (filter ? orders?.filter(filter) ?? [] : orders ?? []), [filter, orders]);
|
|
33
38
|
|
|
@@ -44,7 +49,7 @@ export const OrdersTabs: React.FC<OrdersTabsProps> = ({
|
|
|
44
49
|
</TabList>
|
|
45
50
|
<TabPanels>
|
|
46
51
|
<TabPanel>
|
|
47
|
-
<Table orders={filteredOrders} />
|
|
52
|
+
<Table orders={filteredOrders} mutateOrders={mutateOrders} />
|
|
48
53
|
</TabPanel>
|
|
49
54
|
<TabPanel>
|
|
50
55
|
<ExtensionSlot state={state} name={resultsSlotName} />
|
|
@@ -3,17 +3,15 @@ import { useTranslation } from 'react-i18next';
|
|
|
3
3
|
import {
|
|
4
4
|
AssignedExtension,
|
|
5
5
|
FetchResponse,
|
|
6
|
-
type Location,
|
|
7
6
|
openmrsFetch,
|
|
8
7
|
restBaseUrl,
|
|
9
8
|
useAssignedExtensions,
|
|
10
9
|
useConfig,
|
|
11
10
|
useEmrConfiguration,
|
|
12
|
-
usePatient,
|
|
13
11
|
useVisit,
|
|
14
12
|
} from '@openmrs/esm-framework';
|
|
15
13
|
import { ExpressWorkflowConfig } from '../../config-schema';
|
|
16
|
-
import
|
|
14
|
+
import useSWRImmutable from 'swr/immutable';
|
|
17
15
|
|
|
18
16
|
export const usePatientChartTabs = (navigationPath: string, patientUuid: string, patient?: fhir.Patient) => {
|
|
19
17
|
const { t } = useTranslation();
|
|
@@ -99,11 +97,10 @@ export const usePatientChartTabs = (navigationPath: string, patientUuid: string,
|
|
|
99
97
|
* }
|
|
100
98
|
*/
|
|
101
99
|
export const useCurrentPatientAdmissionEncounter = (patientUuid: string) => {
|
|
100
|
+
// TODO: use visit context store instead of useVisit. This is happening on every mount of the patient chart dashboard. Which is not efficient.
|
|
102
101
|
const { currentVisit, error: visitError, isLoading: isLoadingVisit, mutate: mutateVisit } = useVisit(patientUuid);
|
|
103
102
|
const { emrConfiguration, isLoadingEmrConfiguration, errorFetchingEmrConfiguration } = useEmrConfiguration();
|
|
104
|
-
const { inPatientVisitTypeUuid } = useConfig<
|
|
105
|
-
externalModuleName: '@kenyaemr/esm-ward-app',
|
|
106
|
-
});
|
|
103
|
+
const { inPatientVisitTypeUuid } = useConfig<ExpressWorkflowConfig>();
|
|
107
104
|
// Admission or Tranfer encounter depending on wether patient was transfered or admitted directly
|
|
108
105
|
const latestAdmisionEncounter = useMemo(() => {
|
|
109
106
|
return currentVisit?.encounters?.find(
|
|
@@ -138,8 +135,7 @@ export const useCurrentPatientAdmissionEncounter = (patientUuid: string) => {
|
|
|
138
135
|
* Show partography component when patient is a female patient, admitted to labour ward
|
|
139
136
|
* @param patientUuid string
|
|
140
137
|
*/
|
|
141
|
-
export const useShowPatography = (
|
|
142
|
-
const { patient, isLoading: isLoadingPatient, error: patientError } = usePatient(patientUuid);
|
|
138
|
+
export const useShowPatography = (patient: fhir.Patient) => {
|
|
143
139
|
const isFemale = patient?.gender?.toLowerCase() === 'female';
|
|
144
140
|
|
|
145
141
|
const {
|
|
@@ -147,7 +143,7 @@ export const useShowPatography = (patientUuid: string) => {
|
|
|
147
143
|
error: admissionError,
|
|
148
144
|
isLoading: isloadingAdmission,
|
|
149
145
|
isPatientAdmitted,
|
|
150
|
-
} = useCurrentPatientAdmissionEncounter(
|
|
146
|
+
} = useCurrentPatientAdmissionEncounter(patient?.id);
|
|
151
147
|
const {
|
|
152
148
|
error: tagsError,
|
|
153
149
|
isLoading: isloadingTags,
|
|
@@ -160,8 +156,8 @@ export const useShowPatography = (patientUuid: string) => {
|
|
|
160
156
|
);
|
|
161
157
|
|
|
162
158
|
return {
|
|
163
|
-
isLoading:
|
|
164
|
-
error:
|
|
159
|
+
isLoading: isloadingAdmission || isloadingTags,
|
|
160
|
+
error: admissionError ?? tagsError,
|
|
165
161
|
showPartography: isFemale && isPatientAdmitted && admissionLocationIsLabourWard,
|
|
166
162
|
};
|
|
167
163
|
};
|
|
@@ -171,7 +167,7 @@ type Tag = { uuid: string; display: string; name: string; description: string };
|
|
|
171
167
|
const useAdmissionLocationTags = (locationUuid?: string) => {
|
|
172
168
|
const rep = 'custom:(tags:(uuid,display,name,description))';
|
|
173
169
|
const url = `${restBaseUrl}/location/${locationUuid}?v=${rep}`;
|
|
174
|
-
const { data, error, isLoading, mutate } =
|
|
170
|
+
const { data, error, isLoading, mutate } = useSWRImmutable<FetchResponse<{ tags: Array<Tag> }>>(
|
|
175
171
|
locationUuid ? url : null,
|
|
176
172
|
openmrsFetch,
|
|
177
173
|
);
|
package/src/shared/patient-chart/patient-summary-dashboard/patient-summary-dashboard.component.tsx
CHANGED
|
@@ -13,7 +13,6 @@ import {
|
|
|
13
13
|
import { useTranslation } from 'react-i18next';
|
|
14
14
|
import styles from './patient-summary-dashboard.scss';
|
|
15
15
|
import ExtensionTabs, { ExtensionTabItem } from '../../tabs/extension-tabs.component';
|
|
16
|
-
import { useSearchParams } from 'react-router-dom';
|
|
17
16
|
import { useShowPatography } from '../patient-chart.resources';
|
|
18
17
|
|
|
19
18
|
type PatientSummaryDashboardProps = {
|
|
@@ -24,7 +23,7 @@ type PatientSummaryDashboardProps = {
|
|
|
24
23
|
const PatientSummaryDashboard: React.FC<PatientSummaryDashboardProps> = ({ patientUuid, patient }) => {
|
|
25
24
|
const { t } = useTranslation();
|
|
26
25
|
const state = useMemo(() => ({ patientUuid, patient }), [patientUuid, patient]);
|
|
27
|
-
const { showPartography } = useShowPatography(
|
|
26
|
+
const { showPartography } = useShowPatography(patient);
|
|
28
27
|
const items: Array<ExtensionTabItem> = [
|
|
29
28
|
{
|
|
30
29
|
label: t('patientSummary', 'Patient Summary'),
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { render, screen } from '@testing-library/react';
|
|
3
3
|
import userEvent from '@testing-library/user-event';
|
|
4
|
+
import { vi } from 'vitest';
|
|
4
5
|
import PinPut from './pinput.component';
|
|
5
6
|
|
|
6
7
|
describe('PinPut Component', () => {
|
|
7
8
|
const defaultProps = {
|
|
8
9
|
value: '',
|
|
9
|
-
onChange:
|
|
10
|
+
onChange: vi.fn(),
|
|
10
11
|
numInputs: 5,
|
|
11
12
|
};
|
|
12
13
|
|
|
13
14
|
beforeEach(() => {
|
|
14
|
-
|
|
15
|
+
vi.clearAllMocks();
|
|
15
16
|
});
|
|
16
17
|
|
|
17
18
|
it('renders with default props', () => {
|
|
@@ -37,7 +38,7 @@ describe('PinPut Component', () => {
|
|
|
37
38
|
});
|
|
38
39
|
|
|
39
40
|
it('calls onChange when input value changes', async () => {
|
|
40
|
-
const onChange =
|
|
41
|
+
const onChange = vi.fn();
|
|
41
42
|
const user = userEvent.setup();
|
|
42
43
|
|
|
43
44
|
render(<PinPut {...defaultProps} onChange={onChange} />);
|
|
@@ -109,7 +110,7 @@ describe('PinPut Component', () => {
|
|
|
109
110
|
});
|
|
110
111
|
|
|
111
112
|
it('calls onComplete when all inputs are filled', async () => {
|
|
112
|
-
const onComplete =
|
|
113
|
+
const onComplete = vi.fn();
|
|
113
114
|
|
|
114
115
|
// Test with a pre-filled value that matches the number of inputs
|
|
115
116
|
render(<PinPut {...defaultProps} numInputs={3} onComplete={onComplete} value="123" />);
|
|
@@ -119,7 +120,7 @@ describe('PinPut Component', () => {
|
|
|
119
120
|
});
|
|
120
121
|
|
|
121
122
|
it('calls onFocus when input gains focus', async () => {
|
|
122
|
-
const onFocus =
|
|
123
|
+
const onFocus = vi.fn();
|
|
123
124
|
const user = userEvent.setup();
|
|
124
125
|
|
|
125
126
|
render(<PinPut {...defaultProps} onFocus={onFocus} />);
|
|
@@ -131,7 +132,7 @@ describe('PinPut Component', () => {
|
|
|
131
132
|
});
|
|
132
133
|
|
|
133
134
|
it('calls onBlur when input loses focus', async () => {
|
|
134
|
-
const onBlur =
|
|
135
|
+
const onBlur = vi.fn();
|
|
135
136
|
const user = userEvent.setup();
|
|
136
137
|
|
|
137
138
|
render(<PinPut {...defaultProps} onBlur={onBlur} />);
|