@kenyaemr/esm-patient-clinical-view-app 5.4.1 → 5.4.2-pre.2120
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 +74 -74
- package/dist/164.js +1 -1
- package/dist/164.js.map +1 -1
- package/dist/551.js +1 -1
- package/dist/551.js.map +1 -1
- package/dist/kenyaemr-esm-patient-clinical-view-app.js.buildmanifest.json +7 -7
- package/dist/main.js +1 -1
- package/dist/main.js.map +1 -1
- package/dist/routes.json +1 -1
- package/package.json +3 -2
- package/src/config-schema.ts +2 -43
- package/src/in-patient/in-patient.component.tsx +21 -5
package/dist/routes.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"kenyaemr":"^19.0.0"},"pages":[],"extensions":[{"name":"clinical-view-section","component":"clinicalViewPatientDashboard","slot":"patient-chart-dashboard-slot"},{"name":"family-history","slot":"patient-chart-family-history-slot","component":"familyHistory","order":0,"online":true,"offline":false},{"name":"other-relationships","slot":"patient-chart-family-history-slot","component":"otherRelationships","order":0,"online":true,"offline":false},{"name":"relationships-link","component":"relationshipsLink","slot":"patient-chart-dashboard-slot","order":14,"meta":{"columns":1,"columnSpan":1,"slot":"patient-chart-relationships-slot","path":"relationships","layoutMode":"anchored"}},{"name":"relationships","slot":"patient-chart-relationships-slot","component":"relationships","order":0,"online":true,"offline":false},{"name":"contact-list-form","component":"contactListForm"},{"name":"maternal-and-child-health-dashboard-group-link","slot":"clinical-view-section","component":"maternalAndChildHealthSideNavGroup"},{"name":"antenatal-care-dashboard-link","component":"antenatalCareLink","slot":"maternal-and-child-health-slot","meta":{"columns":1,"columnSpan":1,"slot":"patient-chart-antenatal-care-dashboard-slot","path":"antenatal-care-dashboard","layoutMode":"anchored"}},{"name":"antenatal-care-dashboard","slot":"patient-chart-antenatal-care-dashboard-slot","component":"antenatalCare"},{"name":"postnatal-care-dashboard-link","component":"postnatalCareLink","slot":"maternal-and-child-health-slot","meta":{"columns":1,"columnSpan":1,"slot":"patient-chart-postnatal-care-dashboard-slot","path":"postnatal-care-dashboard","layoutMode":"anchored"}},{"name":"postnatal-care-dashboard","slot":"patient-chart-postnatal-care-dashboard-slot","component":"postnatalCare"},{"name":"labour-and-delivery-dashboard-link","component":"labourAndDeliveryLink","slot":"maternal-and-child-health-slot","meta":{"fullWidth":true,"slot":"patient-chart-labour-and-delivery-dashboard-slot","path":"labour-and-delivery-dashboard","layoutMode":"anchored"}},{"name":"labour-and-delivery-dashboard","slot":"patient-chart-labour-and-delivery-dashboard-slot","component":"labourAndDelivery","meta":{"fullWidth":true}},{"name":"hiv-care-and-treatment-dashboard-group-link","slot":"special-clinics-slot","component":"hivCareAndTreatMentSideNavGroup"},{"name":"genericNavLinks","slot":"special-clinics-slot","component":"genericNavLinks","meta":{"columns":1,"columnSpan":1,"slot":"patient-chart-special-clinic-dashboard-slot","path":"special-clinics-dashboard","layoutMode":"anchored"}},{"name":"patient-chart-special-clinic-dashboard-slot","slot":"patient-chart-special-clinic-dashboard-slot","component":"genericDashboard"},{"name":"hts-dashboard-link","component":"htsDashboardLink","slot":"hiv-care-and-treatment-slot","meta":{"columns":1,"columnSpan":1,"slot":"patient-chart-hts-dashboard-slot","path":"hts-dashboard","layoutMode":"anchored"}},{"name":"hts-clinical-view","slot":"patient-chart-hts-dashboard-slot","component":"htsClinicalView","order":2,"online":true,"offline":false},{"name":"defaulter-tracing-dashboard-link","component":"defaulterTracingLink","slot":"hiv-care-and-treatment-slot","meta":{"columns":1,"columnSpan":1,"slot":"patient-chart-defaulter-tracing-dashboard-slot","path":"defaulter-tracing-dashboard","layoutMode":"anchored"}},{"name":"defaulter-tracing-dashboard","slot":"patient-chart-defaulter-tracing-dashboard-slot","component":"defaulterTracing","order":3,"online":true,"offline":false},{"name":"special-clinics-dashboard-group-link","slot":"clinical-view-section","component":"specialClinicsSideNavGroup"},{"name":"clinical-encounter-link","component":"inPatientClinicalEncounterLink","slot":"clinical-view-section","order":40,"meta":{"columns":1,"columnSpan":1,"slot":"patient-chart-clinical-encounter-slot","path":"clinical-encounter","layoutMode":"anchored"}},{"name":"clinical-encounter","slot":"patient-chart-clinical-encounter-slot","component":"inPatientClinicalEncounter","order":0,"online":true,"offline":false},{"component":"caseManagementDashboardLink","name":"case-management-dashboard-link","slot":"homepage-dashboard-slot","meta":{"name":"case-management","title":"Case Management","slot":"case-management-dashboard-slot","path":"/case-management"}},{"name":"in-patient-dashboard-link","component":"inPatientChartLink","slot":"patient-chart-dashboard-slot","order":7,"meta":{"slot":"patient-chart-in-patient-dashboard-slot","path":"in-patient","layoutMode":"anchored","columns":1,"columnSpan":1}},{"name":"in-patient-dashboard","slot":"patient-chart-in-patient-dashboard-slot","component":"inPatientChartDashboard","meta":{"fullWidth":false}},{"name":"wrap-component-view","slot":"case-management-dashboard-slot","component":"wrapComponent","order":2,"online":true,"offline":false},{"name":"case-encounter-link","component":"caseEncounterDashboardLink","slot":"patient-chart-dashboard-slot","order":14,"meta":{"columns":1,"columnSpan":1,"slot":"patient-chart-case-encounter-slot","path":"case-management-encounters","layoutMode":"anchored"}},{"name":"case-encounter-table","slot":"patient-chart-case-encounter-slot","component":"caseEncounterTable","order":0,"online":true,"offline":false},{"component":"peerCalendarDashboardLink","name":"peer-calendar-dashboard-link","slot":"homepage-dashboard-slot","meta":{"name":"peer-calendar","title":"Peer Calendar","slot":"peer-calendar-dashboard-slot","path":"peer-management"}},{"name":"peer-calendar","slot":"peer-calendar-dashboard-slot","component":"peerCalendar","order":0,"online":true,"offline":false},{"name":"deceased-panel-dashboard-link","component":"deceasedPanelDashboardLink","slot":"patient-chart-dashboard-slot","order":15,"meta":{"columns":1,"columnSpan":1,"slot":"patient-chart-deceased-panel-slot","path":"deceased-panel","layoutMode":"anchored"}},{"name":"deceased-details-tabs","slot":"patient-chart-deceased-panel-slot","component":"deceasedDetailsTabs","order":0,"online":true,"offline":false},{"name":"parto-graph-chart","slot":"patient-chart-labour-and-delivery-dashboard-slot","component":"partograph","meta":{"fullWidth":true}}],"modals":[{"name":"birth-date-calculator","component":"birthDateCalculator"},{"name":"relationship-delete-confirm-dialog","component":"relationshipDeleteConfirmialog"},{"name":"end-relationship-dialog","component":"endRelationshipModal"}],"workspaces":[{"name":"case-management-form","component":"caseManagementForm","title":"Case Management Form","type":"form"},{"name":"family-relationship-form","component":"familyRelationshipForm","title":"Family Relationship Form","type":"form"},{"name":"other-relationship-form","component":"otherRelationshipsForm","title":"Other Relationships Form","type":"form"},{"name":"peers-form","component":"peersForm","title":"Add New Peer","type":"form"},{"name":"kenyaemr-cusom-form-entry-workspace","component":"peerCalendarFormEntry","title":"KVP Peer Educator Outreach Calendar","type":"form","width":"extra-wide","canMaximize":true,"canHide":true},{"name":"relationship-update-form","component":"relationshipUpdateForm","title":"Relationship Update Form","type":"form"},{"name":"other-relationship-form","component":"otherRelationshipsForm","title":"Other Relationships Form","type":"form"},{"name":"end-relationship-form","component":"endRelationshipWorkspace","title":"Discontinue relationship form","type":"form"}],"version":"5.4.
|
|
1
|
+
{"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"kenyaemr":"^19.0.0"},"pages":[],"extensions":[{"name":"clinical-view-section","component":"clinicalViewPatientDashboard","slot":"patient-chart-dashboard-slot"},{"name":"family-history","slot":"patient-chart-family-history-slot","component":"familyHistory","order":0,"online":true,"offline":false},{"name":"other-relationships","slot":"patient-chart-family-history-slot","component":"otherRelationships","order":0,"online":true,"offline":false},{"name":"relationships-link","component":"relationshipsLink","slot":"patient-chart-dashboard-slot","order":14,"meta":{"columns":1,"columnSpan":1,"slot":"patient-chart-relationships-slot","path":"relationships","layoutMode":"anchored"}},{"name":"relationships","slot":"patient-chart-relationships-slot","component":"relationships","order":0,"online":true,"offline":false},{"name":"contact-list-form","component":"contactListForm"},{"name":"maternal-and-child-health-dashboard-group-link","slot":"clinical-view-section","component":"maternalAndChildHealthSideNavGroup"},{"name":"antenatal-care-dashboard-link","component":"antenatalCareLink","slot":"maternal-and-child-health-slot","meta":{"columns":1,"columnSpan":1,"slot":"patient-chart-antenatal-care-dashboard-slot","path":"antenatal-care-dashboard","layoutMode":"anchored"}},{"name":"antenatal-care-dashboard","slot":"patient-chart-antenatal-care-dashboard-slot","component":"antenatalCare"},{"name":"postnatal-care-dashboard-link","component":"postnatalCareLink","slot":"maternal-and-child-health-slot","meta":{"columns":1,"columnSpan":1,"slot":"patient-chart-postnatal-care-dashboard-slot","path":"postnatal-care-dashboard","layoutMode":"anchored"}},{"name":"postnatal-care-dashboard","slot":"patient-chart-postnatal-care-dashboard-slot","component":"postnatalCare"},{"name":"labour-and-delivery-dashboard-link","component":"labourAndDeliveryLink","slot":"maternal-and-child-health-slot","meta":{"fullWidth":true,"slot":"patient-chart-labour-and-delivery-dashboard-slot","path":"labour-and-delivery-dashboard","layoutMode":"anchored"}},{"name":"labour-and-delivery-dashboard","slot":"patient-chart-labour-and-delivery-dashboard-slot","component":"labourAndDelivery","meta":{"fullWidth":true}},{"name":"hiv-care-and-treatment-dashboard-group-link","slot":"special-clinics-slot","component":"hivCareAndTreatMentSideNavGroup"},{"name":"genericNavLinks","slot":"special-clinics-slot","component":"genericNavLinks","meta":{"columns":1,"columnSpan":1,"slot":"patient-chart-special-clinic-dashboard-slot","path":"special-clinics-dashboard","layoutMode":"anchored"}},{"name":"patient-chart-special-clinic-dashboard-slot","slot":"patient-chart-special-clinic-dashboard-slot","component":"genericDashboard"},{"name":"hts-dashboard-link","component":"htsDashboardLink","slot":"hiv-care-and-treatment-slot","meta":{"columns":1,"columnSpan":1,"slot":"patient-chart-hts-dashboard-slot","path":"hts-dashboard","layoutMode":"anchored"}},{"name":"hts-clinical-view","slot":"patient-chart-hts-dashboard-slot","component":"htsClinicalView","order":2,"online":true,"offline":false},{"name":"defaulter-tracing-dashboard-link","component":"defaulterTracingLink","slot":"hiv-care-and-treatment-slot","meta":{"columns":1,"columnSpan":1,"slot":"patient-chart-defaulter-tracing-dashboard-slot","path":"defaulter-tracing-dashboard","layoutMode":"anchored"}},{"name":"defaulter-tracing-dashboard","slot":"patient-chart-defaulter-tracing-dashboard-slot","component":"defaulterTracing","order":3,"online":true,"offline":false},{"name":"special-clinics-dashboard-group-link","slot":"clinical-view-section","component":"specialClinicsSideNavGroup"},{"name":"clinical-encounter-link","component":"inPatientClinicalEncounterLink","slot":"clinical-view-section","order":40,"meta":{"columns":1,"columnSpan":1,"slot":"patient-chart-clinical-encounter-slot","path":"clinical-encounter","layoutMode":"anchored"}},{"name":"clinical-encounter","slot":"patient-chart-clinical-encounter-slot","component":"inPatientClinicalEncounter","order":0,"online":true,"offline":false},{"component":"caseManagementDashboardLink","name":"case-management-dashboard-link","slot":"homepage-dashboard-slot","meta":{"name":"case-management","title":"Case Management","slot":"case-management-dashboard-slot","path":"/case-management"}},{"name":"in-patient-dashboard-link","component":"inPatientChartLink","slot":"patient-chart-dashboard-slot","order":7,"meta":{"slot":"patient-chart-in-patient-dashboard-slot","path":"in-patient","layoutMode":"anchored","columns":1,"columnSpan":1}},{"name":"in-patient-dashboard","slot":"patient-chart-in-patient-dashboard-slot","component":"inPatientChartDashboard","meta":{"fullWidth":false}},{"name":"wrap-component-view","slot":"case-management-dashboard-slot","component":"wrapComponent","order":2,"online":true,"offline":false},{"name":"case-encounter-link","component":"caseEncounterDashboardLink","slot":"patient-chart-dashboard-slot","order":14,"meta":{"columns":1,"columnSpan":1,"slot":"patient-chart-case-encounter-slot","path":"case-management-encounters","layoutMode":"anchored"}},{"name":"case-encounter-table","slot":"patient-chart-case-encounter-slot","component":"caseEncounterTable","order":0,"online":true,"offline":false},{"component":"peerCalendarDashboardLink","name":"peer-calendar-dashboard-link","slot":"homepage-dashboard-slot","meta":{"name":"peer-calendar","title":"Peer Calendar","slot":"peer-calendar-dashboard-slot","path":"peer-management"}},{"name":"peer-calendar","slot":"peer-calendar-dashboard-slot","component":"peerCalendar","order":0,"online":true,"offline":false},{"name":"deceased-panel-dashboard-link","component":"deceasedPanelDashboardLink","slot":"patient-chart-dashboard-slot","order":15,"meta":{"columns":1,"columnSpan":1,"slot":"patient-chart-deceased-panel-slot","path":"deceased-panel","layoutMode":"anchored"}},{"name":"deceased-details-tabs","slot":"patient-chart-deceased-panel-slot","component":"deceasedDetailsTabs","order":0,"online":true,"offline":false},{"name":"parto-graph-chart","slot":"patient-chart-labour-and-delivery-dashboard-slot","component":"partograph","meta":{"fullWidth":true}}],"modals":[{"name":"birth-date-calculator","component":"birthDateCalculator"},{"name":"relationship-delete-confirm-dialog","component":"relationshipDeleteConfirmialog"},{"name":"end-relationship-dialog","component":"endRelationshipModal"}],"workspaces":[{"name":"case-management-form","component":"caseManagementForm","title":"Case Management Form","type":"form"},{"name":"family-relationship-form","component":"familyRelationshipForm","title":"Family Relationship Form","type":"form"},{"name":"other-relationship-form","component":"otherRelationshipsForm","title":"Other Relationships Form","type":"form"},{"name":"peers-form","component":"peersForm","title":"Add New Peer","type":"form"},{"name":"kenyaemr-cusom-form-entry-workspace","component":"peerCalendarFormEntry","title":"KVP Peer Educator Outreach Calendar","type":"form","width":"extra-wide","canMaximize":true,"canHide":true},{"name":"relationship-update-form","component":"relationshipUpdateForm","title":"Relationship Update Form","type":"form"},{"name":"other-relationship-form","component":"otherRelationshipsForm","title":"Other Relationships Form","type":"form"},{"name":"end-relationship-form","component":"endRelationshipWorkspace","title":"Discontinue relationship form","type":"form"}],"version":"5.4.2-pre.2120"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kenyaemr/esm-patient-clinical-view-app",
|
|
3
|
-
"version": "5.4.
|
|
3
|
+
"version": "5.4.2-pre.2120",
|
|
4
4
|
"description": "Patient clinical view microfrontend for the OpenMRS SPA",
|
|
5
5
|
"browser": "dist/kenyaemr-esm-patient-clinical-view-app.js",
|
|
6
6
|
"main": "src/index.ts",
|
|
@@ -47,5 +47,6 @@
|
|
|
47
47
|
"react": "^18.1.0",
|
|
48
48
|
"react-i18next": "11.x",
|
|
49
49
|
"react-router-dom": "6.x"
|
|
50
|
-
}
|
|
50
|
+
},
|
|
51
|
+
"stableVersion": "5.4.1"
|
|
51
52
|
}
|
package/src/config-schema.ts
CHANGED
|
@@ -274,6 +274,7 @@ export const configSchema = {
|
|
|
274
274
|
{
|
|
275
275
|
label: 'Partograph Form',
|
|
276
276
|
uuid: '3791e5b7-2cdc-44fc-982b-a81135367c96',
|
|
277
|
+
hideExpression: 'age >= 10 && gender === "female"',
|
|
277
278
|
},
|
|
278
279
|
],
|
|
279
280
|
},
|
|
@@ -339,48 +340,6 @@ export interface ConfigObject {
|
|
|
339
340
|
display: string;
|
|
340
341
|
category: Array<'sexual' | 'pns' | 'family' | 'other'>;
|
|
341
342
|
}>;
|
|
342
|
-
admissionLocationTagUuid: {
|
|
343
|
-
_type: Type.UUID;
|
|
344
|
-
_description: 'UUID for the location tag of the `Admission Location`. Patients may only be admitted to inpatient care in a location with this tag';
|
|
345
|
-
_default: '233de33e-2778-4f9a-a398-fa09da9daa14';
|
|
346
|
-
};
|
|
347
|
-
inpatientVisitUuid: {
|
|
348
|
-
_type: Type.UUID;
|
|
349
|
-
_description: 'UUID for the inpatient visit';
|
|
350
|
-
_default: 'a73e2ac6-263b-47fc-99fc-e0f2c09fc914';
|
|
351
|
-
};
|
|
352
|
-
restrictWardAdministrationToLoginLocation: {
|
|
353
|
-
_type: Type.Boolean;
|
|
354
|
-
_description: 'UUID for the inpatient visit';
|
|
355
|
-
_default: false;
|
|
356
|
-
};
|
|
357
|
-
patientListForAdmissionUrl: {
|
|
358
|
-
_type: Type.String;
|
|
359
|
-
_description: 'Endpoint for fetching list of patients eligible for ward admission';
|
|
360
|
-
_default: '';
|
|
361
|
-
};
|
|
362
|
-
inPatientForms: {
|
|
363
|
-
_type: Type.Array;
|
|
364
|
-
_description: 'List of forms that can be filled out for in-patients';
|
|
365
|
-
_default: [
|
|
366
|
-
{
|
|
367
|
-
label: 'Cardex Nursing Plan';
|
|
368
|
-
uuid: '1f81d5e2-3569-40cf-bbb9-361a53ba409b';
|
|
369
|
-
},
|
|
370
|
-
{
|
|
371
|
-
label: 'IPD Procedure Form';
|
|
372
|
-
uuid: '2b9c2b94-0b03-416a-b312-eef49b42f72c';
|
|
373
|
-
},
|
|
374
|
-
{
|
|
375
|
-
label: 'Newborn Unit Admission ';
|
|
376
|
-
uuid: '5b0a08f5-87c1-40cc-8c09-09c33b44523d';
|
|
377
|
-
},
|
|
378
|
-
{
|
|
379
|
-
label: 'Partograph Form';
|
|
380
|
-
uuid: '3791e5b7-2cdc-44fc-982b-a81135367c96';
|
|
381
|
-
},
|
|
382
|
-
];
|
|
383
|
-
};
|
|
384
343
|
}
|
|
385
344
|
|
|
386
345
|
export interface PartograpyComponents {
|
|
@@ -405,5 +364,5 @@ export type BedManagementConfig = {
|
|
|
405
364
|
inpatientVisitUuid: string;
|
|
406
365
|
restrictWardAdministrationToLoginLocation: boolean;
|
|
407
366
|
patientListForAdmissionUrl: string;
|
|
408
|
-
inPatientForms: Array<{ label: string; uuid: string }>;
|
|
367
|
+
inPatientForms: Array<{ label: string; uuid: string; hideExpression: string }>;
|
|
409
368
|
};
|
|
@@ -1,24 +1,40 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { useTranslation } from 'react-i18next';
|
|
3
3
|
import { ComboButton, MenuItem, DataTableSkeleton } from '@carbon/react';
|
|
4
|
-
import {
|
|
5
|
-
|
|
4
|
+
import {
|
|
5
|
+
CardHeader,
|
|
6
|
+
EmptyState,
|
|
7
|
+
launchPatientWorkspace,
|
|
8
|
+
useVisitOrOfflineVisit,
|
|
9
|
+
} from '@openmrs/esm-patient-common-lib';
|
|
10
|
+
import { useConfig, useVisit, evaluateAsBoolean } from '@openmrs/esm-framework';
|
|
11
|
+
import dayjs from 'dayjs';
|
|
6
12
|
import { BedManagementConfig } from '../config-schema';
|
|
7
13
|
import { usePatientEncounters } from './in-patient.resource';
|
|
8
14
|
import InPatientTable from './in-patient-table/in-patient-table.component';
|
|
9
15
|
|
|
10
16
|
type InPatientProps = {
|
|
11
17
|
patientUuid: string;
|
|
18
|
+
patient: fhir.Patient;
|
|
12
19
|
};
|
|
13
20
|
|
|
14
|
-
const InPatient: React.FC<InPatientProps> = ({ patientUuid }) => {
|
|
21
|
+
const InPatient: React.FC<InPatientProps> = ({ patientUuid, patient }) => {
|
|
15
22
|
const { t } = useTranslation();
|
|
16
23
|
const { inpatientVisitUuid } = useConfig<BedManagementConfig>();
|
|
17
|
-
const { currentVisit } =
|
|
24
|
+
const { currentVisit } = useVisitOrOfflineVisit(patientUuid);
|
|
18
25
|
const { inPatientForms } = useConfig<BedManagementConfig>();
|
|
19
26
|
const { encounters, isLoading, mutate } = usePatientEncounters(patientUuid);
|
|
20
27
|
|
|
21
28
|
const hasInPatientVisit = currentVisit?.visitType.uuid === inpatientVisitUuid;
|
|
29
|
+
const filteredForms = inPatientForms.filter((form) => {
|
|
30
|
+
if (!form.hideExpression) {
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
const age = dayjs().diff(dayjs(patient.birthDate), 'year');
|
|
34
|
+
const gender = patient.gender;
|
|
35
|
+
const hide = form.hideExpression ? evaluateAsBoolean(form.hideExpression, { age, gender }) : false;
|
|
36
|
+
return hide;
|
|
37
|
+
});
|
|
22
38
|
|
|
23
39
|
const handleLaunchForm = (form: { label: string; uuid: string }) => {
|
|
24
40
|
launchPatientWorkspace('patient-form-entry-workspace', {
|
|
@@ -47,7 +63,7 @@ const InPatient: React.FC<InPatientProps> = ({ patientUuid }) => {
|
|
|
47
63
|
<div>
|
|
48
64
|
<CardHeader title={t('inPatient', 'In Patient')}>
|
|
49
65
|
<ComboButton size="sm" label={t('inPatientForms', 'In-Patient Forms')}>
|
|
50
|
-
{
|
|
66
|
+
{filteredForms.map((form) => (
|
|
51
67
|
<MenuItem key={form.uuid} onClick={() => handleLaunchForm(form)} label={form.label} />
|
|
52
68
|
))}
|
|
53
69
|
</ComboButton>
|