@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/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":"consulationLeftPanelLink","name":"consulation-dashboard-link","slot":"express-workflow-left-panel-slot","order":3,"meta":{"name":"consulation","slot":"consulation-dashboard-slot","title":"Consulation"}},{"component":"consulationDashboard","name":"consulation-dashboard","slot":"consulation-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.2423"}
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kenyaemr/esm-express-workflow-app",
3
- "version": "5.4.2-pre.2423",
3
+ "version": "5.4.2-pre.2425",
4
4
  "description": "Express workflow app for OpenMRS 3",
5
5
  "browser": "dist/kenyaemr-esm-express-workflow-app.js",
6
6
  "main": "src/index.ts",
@@ -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,11 @@
1
+ @use '@carbon/colors';
2
+ @use '@carbon/type';
3
+
4
+ .pageHeader {
5
+ border-bottom: 1px solid colors.$gray-20;
6
+ }
7
+
8
+ .cards {
9
+ display: flex;
10
+ flex-direction: row;
11
+ }
@@ -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 consulationDashboard = getSyncLifecycle(Consulation, options);
13
- export const consulationLeftPanelLink = getSyncLifecycle(
12
+ export const consultationDashboard = getSyncLifecycle(ConsultationDashboard, options);
13
+ export const consultationLeftPanelLink = getSyncLifecycle(
14
14
  createDashboardLink({
15
- title: 'Consulation',
16
- path: 'consulation',
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/consulation';
20
+ export * from './components/consultation';
21
21
  export * from './components/admissions';
22
22
  export * from './components/lab';
23
23
  export * from './components/mch';
@@ -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": "consulationLeftPanelLink",
48
- "name": "consulation-dashboard-link",
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": "consulation",
53
- "slot": "consulation-dashboard-slot",
54
- "title": "Consulation"
52
+ "name": "consultation",
53
+ "slot": "consultation-dashboard-slot",
54
+ "title": "Consultation"
55
55
  }
56
56
  },
57
57
  {
58
- "component": "consulationDashboard",
59
- "name": "consulation-dashboard",
60
- "slot": "consulation-dashboard-slot"
58
+ "component": "consultationDashboard",
59
+ "name": "consultation-dashboard",
60
+ "slot": "consultation-dashboard-slot"
61
61
  },
62
62
  {
63
63
  "component": "facilityLeftPanelLink",
@@ -1,16 +1,11 @@
1
1
  {
2
2
  "age": "Age",
3
- "chooseIdentifierType": "Choose identifier type",
4
- "clearAll": "Clear All",
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
- "identifierNumber": "Identifier number*",
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
- "registration": "Registration",
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
  }
@@ -1,16 +1,11 @@
1
1
  {
2
2
  "age": "Age",
3
- "chooseIdentifierType": "Choose identifier type",
4
- "clearAll": "Clear All",
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
- "identifierNumber": "Identifier number*",
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
- "registration": "Registration",
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
  }
@@ -1,16 +1,11 @@
1
1
  {
2
2
  "age": "Age",
3
- "chooseIdentifierType": "Choose identifier type",
4
- "clearAll": "Clear All",
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
- "identifierNumber": "Identifier number*",
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
- "registration": "Registration",
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
  }