@kenyaemr/esm-express-workflow-app 5.4.2-pre.2423 → 5.4.2-pre.2425
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 -7
- package/dist/197.js +1 -1
- package/dist/294.js +1 -1
- package/dist/300.js +1 -1
- package/dist/716.js +1 -0
- package/dist/716.js.map +1 -0
- package/dist/737.js +1 -1
- package/dist/737.js.map +1 -1
- package/dist/kenyaemr-esm-express-workflow-app.js +1 -1
- package/dist/kenyaemr-esm-express-workflow-app.js.buildmanifest.json +39 -39
- package/dist/main.js +1 -1
- package/dist/main.js.map +1 -1
- package/dist/routes.json +1 -1
- package/package.json +1 -1
- package/src/components/consultation/consultation.component.tsx +38 -0
- package/src/components/consultation/consultation.scss +11 -0
- package/src/components/consultation/dashboard.component.tsx +22 -0
- package/src/components/{consulation → consultation}/index.ts +5 -5
- package/src/index.ts +1 -1
- package/src/root.component.tsx +1 -0
- package/src/routes.json +8 -8
- package/translations/am.json +4 -15
- package/translations/en.json +4 -15
- package/translations/sw.json +4 -15
- package/dist/398.js +0 -1
- package/dist/398.js.map +0 -1
- package/src/components/consulation/consulation.component.tsx +0 -7
package/dist/routes.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"fhir2":">=1.2","webservices.rest":"^2.24.0"},"pages":[{"component":"root","route":"express-workflow"}],"extensions":[{"component":"accountingLeftPanelLink","name":"accounting-dashboard-link","slot":"express-workflow-left-panel-slot","order":10,"meta":{"name":"accounting","slot":"accounting-dashboard-slot","title":"Accounting"}},{"component":"accountingDashboard","name":"accounting-dashboard","slot":"accounting-dashboard-slot"},{"component":"admissionsLeftPanelLink","name":"admissions-dashboard-link","slot":"express-workflow-left-panel-slot","order":9,"meta":{"name":"admissions","slot":"admissions-dashboard-slot","title":"Admissions"}},{"component":"admissionsDashboard","name":"admissions-dashboard","slot":"admissions-dashboard-slot"},{"component":"
|
|
1
|
+
{"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"fhir2":">=1.2","webservices.rest":"^2.24.0"},"pages":[{"component":"root","route":"express-workflow"}],"extensions":[{"component":"accountingLeftPanelLink","name":"accounting-dashboard-link","slot":"express-workflow-left-panel-slot","order":10,"meta":{"name":"accounting","slot":"accounting-dashboard-slot","title":"Accounting"}},{"component":"accountingDashboard","name":"accounting-dashboard","slot":"accounting-dashboard-slot"},{"component":"admissionsLeftPanelLink","name":"admissions-dashboard-link","slot":"express-workflow-left-panel-slot","order":9,"meta":{"name":"admissions","slot":"admissions-dashboard-slot","title":"Admissions"}},{"component":"admissionsDashboard","name":"admissions-dashboard","slot":"admissions-dashboard-slot"},{"component":"consultationLeftPanelLink","name":"consultation-dashboard-link","slot":"express-workflow-left-panel-slot","order":3,"meta":{"name":"consultation","slot":"consultation-dashboard-slot","title":"Consultation"}},{"component":"consultationDashboard","name":"consultation-dashboard","slot":"consultation-dashboard-slot"},{"component":"facilityLeftPanelLink","name":"facility-dashboard-link","slot":"express-workflow-left-panel-slot","order":0,"meta":{"name":"dashboard","slot":"facility-dashboard-slot","title":"Dashboard"}},{"component":"facilityDashboard","name":"facility-dashboard","slot":"facility-dashboard-slot"},{"component":"laboratoryLeftPanelLink","name":"lab-dashboard-link","slot":"express-workflow-left-panel-slot","order":5,"meta":{"name":"lab","slot":"lab-dashboard-slot","title":"Lab"}},{"component":"labDashboard","name":"lab-dashboard","slot":"lab-dashboard-slot"},{"component":"mchLeftPanelLink","name":"mch-dashboard-link","slot":"express-workflow-left-panel-slot","order":4,"meta":{"name":"mch","slot":"mch-dashboard-slot","title":"MCH"}},{"component":"mchDashboard","name":"mch-dashboard","slot":"mch-dashboard-slot"},{"component":"pharmacyLeftPanelLink","name":"pharmacy-dashboard-link","slot":"express-workflow-left-panel-slot","order":7,"meta":{"name":"pharmacy","slot":"pharmacy-dashboard-slot","title":"Pharmacy"}},{"component":"pharmacyDashboard","name":"pharmacy-dashboard","slot":"pharmacy-dashboard-slot"},{"component":"proceduresLeftPanelLink","name":"procedures-dashboard-link","slot":"express-workflow-left-panel-slot","order":8,"meta":{"name":"procedures","slot":"procedures-dashboard-slot","title":"Procedures"}},{"component":"proceduresDashboard","name":"procedures-dashboard","slot":"procedures-dashboard-slot"},{"component":"radiologyLeftPanelLink","name":"radiology-dashboard-link","slot":"express-workflow-left-panel-slot","order":6,"meta":{"name":"radiology","slot":"radiology-dashboard-slot","title":"Radiology"}},{"component":"radiologyDashboard","name":"radiology-dashboard","slot":"radiology-dashboard-slot"},{"component":"registrationLeftPanelLink","name":"registration-dashboard-link","slot":"express-workflow-left-panel-slot","order":1,"meta":{"name":"registration","slot":"registration-dashboard-slot","title":"Registration"}},{"component":"registrationDashboard","name":"registration-dashboard","slot":"registration-dashboard-slot"},{"component":"reportsLeftPanelLink","name":"reports-dashboard-link","slot":"express-workflow-left-panel-slot","order":11,"meta":{"name":"reports","slot":"reports-dashboard-slot","title":"Reports"}},{"component":"reportsDashboard","name":"reports-dashboard","slot":"reports-dashboard-slot"},{"component":"triageLeftPanelLink","name":"triage-dashboard-link","slot":"express-workflow-left-panel-slot","order":2,"meta":{"name":"triage","slot":"triage-dashboard-slot","title":"Triage"}},{"component":"triageDashboard","name":"triage-dashboard","slot":"triage-dashboard-slot"},{"component":"visitFormBanner","name":"visit-form-banner","slot":"visit-form-header-slot","order":0}],"workspaces":[{"name":"express-workflow-workspace","component":"expressWorkflowWorkspace","title":"Express Workflow Workspace","type":"workspace","canMaximize":true,"canHide":true}],"modals":[],"workspaceGroups":[{"name":"express-workflow","members":["add-drug-order","order-basket","add-lab-order","express-workflow-workspace"]}],"version":"5.4.2-pre.2425"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useTranslation } from 'react-i18next';
|
|
3
|
+
import { useQueues } from '../../hooks/useServiceQueues';
|
|
4
|
+
import { InlineLoading } from '@carbon/react';
|
|
5
|
+
import { HomePictogram, PageHeader } from '@openmrs/esm-framework';
|
|
6
|
+
import styles from './consultation.scss';
|
|
7
|
+
import Card from '../../shared/cards/card.component';
|
|
8
|
+
import capitalize from 'lodash-es/capitalize';
|
|
9
|
+
import QueueTab from '../../shared/queue/queue-tab.component';
|
|
10
|
+
type ConsultationProps = {
|
|
11
|
+
dashboardTitle: string;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
const Consultation: React.FC<ConsultationProps> = ({ dashboardTitle }) => {
|
|
15
|
+
const { t } = useTranslation();
|
|
16
|
+
const { queues, isLoading, error } = useQueues();
|
|
17
|
+
const consultationQueues = queues.filter((queue) => queue.name.toLowerCase().includes('consultation'));
|
|
18
|
+
|
|
19
|
+
if (isLoading) {
|
|
20
|
+
return <InlineLoading description={t('loadingQueues', 'Loading queues...')} />;
|
|
21
|
+
}
|
|
22
|
+
return (
|
|
23
|
+
<div>
|
|
24
|
+
<PageHeader className={styles.pageHeader} title={capitalize(dashboardTitle)} illustration={<HomePictogram />} />
|
|
25
|
+
<div>
|
|
26
|
+
<div className={styles.cards}>
|
|
27
|
+
<Card title={t('awaitingConsultation', 'Awaiting consultation')} value={'20'} />
|
|
28
|
+
<Card title={t('awaitingInvestigation', 'Awaiting Investigation')} value={'5'} />
|
|
29
|
+
<Card title={t('investigationComplete', 'Investigation complete')} value={'7'} />
|
|
30
|
+
<Card title={t('visitComplete', 'Visit complete')} value={'4'} />
|
|
31
|
+
</div>
|
|
32
|
+
<QueueTab queues={consultationQueues} />
|
|
33
|
+
</div>
|
|
34
|
+
</div>
|
|
35
|
+
);
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
export default Consultation;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { BrowserRouter, Routes, Route } from 'react-router-dom';
|
|
3
|
+
import { spaBasePath } from '../../constants';
|
|
4
|
+
import PatientChart from '../../shared/patient-chart/patient-chart.component';
|
|
5
|
+
import Consultation from './consultation.component';
|
|
6
|
+
|
|
7
|
+
type ConsultationDashboardProps = {
|
|
8
|
+
dashboardTitle: string;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
const ConsultationDashboard: React.FC<ConsultationDashboardProps> = ({ dashboardTitle }) => {
|
|
12
|
+
return (
|
|
13
|
+
<BrowserRouter basename={`${spaBasePath}/consultation`}>
|
|
14
|
+
<Routes>
|
|
15
|
+
<Route path="/" element={<Consultation dashboardTitle={dashboardTitle} />} />
|
|
16
|
+
<Route path="/:patientUuid" element={<PatientChart />} />
|
|
17
|
+
</Routes>
|
|
18
|
+
</BrowserRouter>
|
|
19
|
+
);
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export default ConsultationDashboard;
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { getSyncLifecycle } from '@openmrs/esm-framework';
|
|
2
2
|
|
|
3
3
|
import { moduleName } from '../../constants';
|
|
4
|
-
import Consulation from './consulation.component';
|
|
5
4
|
import { createDashboardLink } from '@openmrs/esm-patient-common-lib';
|
|
5
|
+
import ConsultationDashboard from './dashboard.component';
|
|
6
6
|
|
|
7
7
|
const options = {
|
|
8
8
|
featureName: 'express-workflow',
|
|
9
9
|
moduleName,
|
|
10
10
|
};
|
|
11
11
|
|
|
12
|
-
export const
|
|
13
|
-
export const
|
|
12
|
+
export const consultationDashboard = getSyncLifecycle(ConsultationDashboard, options);
|
|
13
|
+
export const consultationLeftPanelLink = getSyncLifecycle(
|
|
14
14
|
createDashboardLink({
|
|
15
|
-
title: '
|
|
16
|
-
path: '
|
|
15
|
+
title: 'Consultation',
|
|
16
|
+
path: 'consultation',
|
|
17
17
|
icon: 'omrs-icon-user-avatar',
|
|
18
18
|
}),
|
|
19
19
|
options,
|
package/src/index.ts
CHANGED
|
@@ -17,7 +17,7 @@ export * from './components/facility-dashboard';
|
|
|
17
17
|
export * from './components/registration';
|
|
18
18
|
export * from './components/triage';
|
|
19
19
|
export * from './components/accounting';
|
|
20
|
-
export * from './components/
|
|
20
|
+
export * from './components/consultation';
|
|
21
21
|
export * from './components/admissions';
|
|
22
22
|
export * from './components/lab';
|
|
23
23
|
export * from './components/mch';
|
package/src/root.component.tsx
CHANGED
|
@@ -14,6 +14,7 @@ const Root: React.FC = () => {
|
|
|
14
14
|
<Routes>
|
|
15
15
|
<Route path="/:dashboard/*" element={<DashboardContainer />} />
|
|
16
16
|
</Routes>
|
|
17
|
+
<WorkspaceContainer contextKey="express-workflow" />
|
|
17
18
|
</main>
|
|
18
19
|
<WorkspaceContainer contextKey="express-workflow" />
|
|
19
20
|
</BrowserRouter>
|
package/src/routes.json
CHANGED
|
@@ -44,20 +44,20 @@
|
|
|
44
44
|
"slot": "admissions-dashboard-slot"
|
|
45
45
|
},
|
|
46
46
|
{
|
|
47
|
-
"component": "
|
|
48
|
-
"name": "
|
|
47
|
+
"component": "consultationLeftPanelLink",
|
|
48
|
+
"name": "consultation-dashboard-link",
|
|
49
49
|
"slot": "express-workflow-left-panel-slot",
|
|
50
50
|
"order": 3,
|
|
51
51
|
"meta": {
|
|
52
|
-
"name": "
|
|
53
|
-
"slot": "
|
|
54
|
-
"title": "
|
|
52
|
+
"name": "consultation",
|
|
53
|
+
"slot": "consultation-dashboard-slot",
|
|
54
|
+
"title": "Consultation"
|
|
55
55
|
}
|
|
56
56
|
},
|
|
57
57
|
{
|
|
58
|
-
"component": "
|
|
59
|
-
"name": "
|
|
60
|
-
"slot": "
|
|
58
|
+
"component": "consultationDashboard",
|
|
59
|
+
"name": "consultation-dashboard",
|
|
60
|
+
"slot": "consultation-dashboard-slot"
|
|
61
61
|
},
|
|
62
62
|
{
|
|
63
63
|
"component": "facilityLeftPanelLink",
|
package/translations/am.json
CHANGED
|
@@ -1,16 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"age": "Age",
|
|
3
|
-
"
|
|
4
|
-
"
|
|
5
|
-
"clientRegistry": "Client registry verification",
|
|
6
|
-
"emergencyRegistration": "Emergency registration",
|
|
7
|
-
"enterIdentifierNumber": "Enter identifier number",
|
|
8
|
-
"error": "Error",
|
|
3
|
+
"awaitingConsultation": "Awaiting consultation",
|
|
4
|
+
"awaitingInvestigation": "Awaiting Investigation",
|
|
9
5
|
"errorLoadingPatient": "Error loading patient",
|
|
10
6
|
"gender": "Gender",
|
|
11
|
-
"identificationType": "Identification Type",
|
|
12
7
|
"identifier": "Identifier",
|
|
13
|
-
"
|
|
8
|
+
"investigationComplete": "Investigation complete",
|
|
14
9
|
"loadingPatient": "Loading patient...",
|
|
15
10
|
"loadingQueues": "Loading queues...",
|
|
16
11
|
"name": "Name",
|
|
@@ -21,14 +16,8 @@
|
|
|
21
16
|
"previousPage": "Previous page",
|
|
22
17
|
"priority": "Priority",
|
|
23
18
|
"programManagement": "Program Management",
|
|
24
|
-
"pullFromHIE": "Pulling from registry...",
|
|
25
19
|
"queueEntries": "Queue Entries",
|
|
26
|
-
"
|
|
27
|
-
"searchFailed": "Failed to search for patient. Please try again.",
|
|
28
|
-
"searchPatients": "Search for Patient(s)",
|
|
29
|
-
"selectIdentifierAndNumber": "Please select an identifier type and enter an identifier number",
|
|
30
|
-
"validationError": "Validation Error",
|
|
31
|
-
"visitFormBanner": "Visit Form Banner",
|
|
20
|
+
"visitComplete": "Visit complete",
|
|
32
21
|
"visitTime": "Visit Time",
|
|
33
22
|
"vitalsAndAnthropometrics": "Vitals and Anthropometrics"
|
|
34
23
|
}
|
package/translations/en.json
CHANGED
|
@@ -1,16 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"age": "Age",
|
|
3
|
-
"
|
|
4
|
-
"
|
|
5
|
-
"clientRegistry": "Client registry verification",
|
|
6
|
-
"emergencyRegistration": "Emergency registration",
|
|
7
|
-
"enterIdentifierNumber": "Enter identifier number",
|
|
8
|
-
"error": "Error",
|
|
3
|
+
"awaitingConsultation": "Awaiting consultation",
|
|
4
|
+
"awaitingInvestigation": "Awaiting Investigation",
|
|
9
5
|
"errorLoadingPatient": "Error loading patient",
|
|
10
6
|
"gender": "Gender",
|
|
11
|
-
"identificationType": "Identification Type",
|
|
12
7
|
"identifier": "Identifier",
|
|
13
|
-
"
|
|
8
|
+
"investigationComplete": "Investigation complete",
|
|
14
9
|
"loadingPatient": "Loading patient...",
|
|
15
10
|
"loadingQueues": "Loading queues...",
|
|
16
11
|
"name": "Name",
|
|
@@ -21,14 +16,8 @@
|
|
|
21
16
|
"previousPage": "Previous page",
|
|
22
17
|
"priority": "Priority",
|
|
23
18
|
"programManagement": "Program Management",
|
|
24
|
-
"pullFromHIE": "Pulling from registry...",
|
|
25
19
|
"queueEntries": "Queue Entries",
|
|
26
|
-
"
|
|
27
|
-
"searchFailed": "Failed to search for patient. Please try again.",
|
|
28
|
-
"searchPatients": "Search for Patient(s)",
|
|
29
|
-
"selectIdentifierAndNumber": "Please select an identifier type and enter an identifier number",
|
|
30
|
-
"validationError": "Validation Error",
|
|
31
|
-
"visitFormBanner": "Visit Form Banner",
|
|
20
|
+
"visitComplete": "Visit complete",
|
|
32
21
|
"visitTime": "Visit Time",
|
|
33
22
|
"vitalsAndAnthropometrics": "Vitals and Anthropometrics"
|
|
34
23
|
}
|
package/translations/sw.json
CHANGED
|
@@ -1,16 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"age": "Age",
|
|
3
|
-
"
|
|
4
|
-
"
|
|
5
|
-
"clientRegistry": "Client registry verification",
|
|
6
|
-
"emergencyRegistration": "Emergency registration",
|
|
7
|
-
"enterIdentifierNumber": "Enter identifier number",
|
|
8
|
-
"error": "Error",
|
|
3
|
+
"awaitingConsultation": "Awaiting consultation",
|
|
4
|
+
"awaitingInvestigation": "Awaiting Investigation",
|
|
9
5
|
"errorLoadingPatient": "Error loading patient",
|
|
10
6
|
"gender": "Gender",
|
|
11
|
-
"identificationType": "Identification Type",
|
|
12
7
|
"identifier": "Identifier",
|
|
13
|
-
"
|
|
8
|
+
"investigationComplete": "Investigation complete",
|
|
14
9
|
"loadingPatient": "Loading patient...",
|
|
15
10
|
"loadingQueues": "Loading queues...",
|
|
16
11
|
"name": "Name",
|
|
@@ -21,14 +16,8 @@
|
|
|
21
16
|
"previousPage": "Previous page",
|
|
22
17
|
"priority": "Priority",
|
|
23
18
|
"programManagement": "Program Management",
|
|
24
|
-
"pullFromHIE": "Pulling from registry...",
|
|
25
19
|
"queueEntries": "Queue Entries",
|
|
26
|
-
"
|
|
27
|
-
"searchFailed": "Failed to search for patient. Please try again.",
|
|
28
|
-
"searchPatients": "Search for Patient(s)",
|
|
29
|
-
"selectIdentifierAndNumber": "Please select an identifier type and enter an identifier number",
|
|
30
|
-
"validationError": "Validation Error",
|
|
31
|
-
"visitFormBanner": "Visit Form Banner",
|
|
20
|
+
"visitComplete": "Visit complete",
|
|
32
21
|
"visitTime": "Visit Time",
|
|
33
22
|
"vitalsAndAnthropometrics": "Vitals and Anthropometrics"
|
|
34
23
|
}
|