Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

(feat) O3-3502 - ward app - add REST calls and datatypes for inpatient endpoints in EMR API #1219

Merged
merged 4 commits into from
Jun 28, 2024

Conversation

chibongho
Copy link
Contributor

Requirements

  • This PR has a title that briefly describes the work done including the ticket number. If there is a ticket, make sure your PR title includes a conventional commit label. See existing PR titles for inspiration.
  • My work conforms to the OpenMRS 3.0 Styleguide and design documentation.
  • My work includes tests or is validated by existing tests.

Summary

No real functional changes. This PR adds calls to endpoints that are now available in EMR API to retrieve admitted patients and admission requests in a ward location.

Screenshots

Related Issue

Other

Copy link
Contributor

github-actions bot commented Jun 27, 2024

Size Change: -9.09 kB (-0.26%)

Total Size: 3.49 MB

ℹ️ View Unchanged
Filename Size Change
packages/esm-active-visits-app/dist/130.js 178 kB 0 B
packages/esm-active-visits-app/dist/255.js 2.5 kB 0 B
packages/esm-active-visits-app/dist/271.js 783 B 0 B
packages/esm-active-visits-app/dist/316.js 42.9 kB 0 B
packages/esm-active-visits-app/dist/319.js 685 B 0 B
packages/esm-active-visits-app/dist/382.js 1.22 kB 0 B
packages/esm-active-visits-app/dist/443.js 6.98 kB 0 B
packages/esm-active-visits-app/dist/460.js 794 B 0 B
packages/esm-active-visits-app/dist/574.js 592 B 0 B
packages/esm-active-visits-app/dist/635.js 1.22 kB 0 B
packages/esm-active-visits-app/dist/644.js 783 B 0 B
packages/esm-active-visits-app/dist/729.js 3.08 kB 0 B
packages/esm-active-visits-app/dist/757.js 700 B 0 B
packages/esm-active-visits-app/dist/784.js 2.63 kB 0 B
packages/esm-active-visits-app/dist/788.js 590 B 0 B
packages/esm-active-visits-app/dist/807.js 935 B 0 B
packages/esm-active-visits-app/dist/833.js 742 B 0 B
packages/esm-active-visits-app/dist/835.js 14.2 kB 0 B
packages/esm-active-visits-app/dist/875.js 50.5 kB 0 B
packages/esm-active-visits-app/dist/879.js 3.02 kB 0 B
packages/esm-active-visits-app/dist/main.js 69.5 kB 0 B
packages/esm-active-visits-app/dist/openmrs-esm-active-visits-app.js 3.33 kB 0 B
packages/esm-appointments-app/dist/130.js 178 kB 0 B
packages/esm-appointments-app/dist/152.js 259 B 0 B
packages/esm-appointments-app/dist/224.js 41.9 kB 0 B
packages/esm-appointments-app/dist/255.js 2.51 kB 0 B
packages/esm-appointments-app/dist/265.js 1.79 kB 0 B
packages/esm-appointments-app/dist/271.js 2.3 kB 0 B
packages/esm-appointments-app/dist/303.js 259 B 0 B
packages/esm-appointments-app/dist/319.js 2.13 kB 0 B
packages/esm-appointments-app/dist/445.js 249 kB 0 B
packages/esm-appointments-app/dist/460.js 2.36 kB 0 B
packages/esm-appointments-app/dist/501.js 7.02 kB 0 B
packages/esm-appointments-app/dist/574.js 1.93 kB 0 B
packages/esm-appointments-app/dist/591.js 16.8 kB 0 B
packages/esm-appointments-app/dist/644.js 2.3 kB 0 B
packages/esm-appointments-app/dist/729.js 3.08 kB 0 B
packages/esm-appointments-app/dist/757.js 2.18 kB 0 B
packages/esm-appointments-app/dist/784.js 2.62 kB 0 B
packages/esm-appointments-app/dist/788.js 1.93 kB 0 B
packages/esm-appointments-app/dist/807.js 2.54 kB 0 B
packages/esm-appointments-app/dist/833.js 2.28 kB 0 B
packages/esm-appointments-app/dist/857.js 14.2 kB 0 B
packages/esm-appointments-app/dist/903.js 878 B 0 B
packages/esm-appointments-app/dist/904.js 20.7 kB 0 B
packages/esm-appointments-app/dist/main.js 307 kB 0 B
packages/esm-appointments-app/dist/openmrs-esm-appointments-app.js 3.39 kB 0 B
packages/esm-patient-list-management-app/dist/130.js 178 kB 0 B
packages/esm-patient-list-management-app/dist/139.js 22.4 kB 0 B
packages/esm-patient-list-management-app/dist/255.js 2.51 kB 0 B
packages/esm-patient-list-management-app/dist/271.js 1.58 kB 0 B
packages/esm-patient-list-management-app/dist/319.js 1.51 kB 0 B
packages/esm-patient-list-management-app/dist/382.js 1.23 kB 0 B
packages/esm-patient-list-management-app/dist/443.js 6.98 kB 0 B
packages/esm-patient-list-management-app/dist/460.js 1.72 kB 0 B
packages/esm-patient-list-management-app/dist/548.js 4.79 kB 0 B
packages/esm-patient-list-management-app/dist/574.js 1.34 kB 0 B
packages/esm-patient-list-management-app/dist/591.js 16.9 kB 0 B
packages/esm-patient-list-management-app/dist/635.js 1.23 kB 0 B
packages/esm-patient-list-management-app/dist/644.js 1.58 kB 0 B
packages/esm-patient-list-management-app/dist/729.js 3.08 kB 0 B
packages/esm-patient-list-management-app/dist/757.js 1.5 kB 0 B
packages/esm-patient-list-management-app/dist/784.js 2.63 kB 0 B
packages/esm-patient-list-management-app/dist/788.js 1.34 kB 0 B
packages/esm-patient-list-management-app/dist/807.js 1.85 kB 0 B
packages/esm-patient-list-management-app/dist/833.js 1.59 kB 0 B
packages/esm-patient-list-management-app/dist/930.js 98.3 kB 0 B
packages/esm-patient-list-management-app/dist/main.js 125 kB 0 B
packages/esm-patient-list-management-app/dist/openmrs-esm-patient-list-management-app.js 3.31 kB 0 B
packages/esm-patient-registration-app/dist/130.js 178 kB 0 B
packages/esm-patient-registration-app/dist/152.js 264 B 0 B
packages/esm-patient-registration-app/dist/169.js 6.71 kB 0 B
packages/esm-patient-registration-app/dist/255.js 2.5 kB 0 B
packages/esm-patient-registration-app/dist/271.js 2.05 kB 0 B
packages/esm-patient-registration-app/dist/303.js 264 B 0 B
packages/esm-patient-registration-app/dist/319.js 1.98 kB 0 B
packages/esm-patient-registration-app/dist/371.js 547 B 0 B
packages/esm-patient-registration-app/dist/460.js 2.14 kB 0 B
packages/esm-patient-registration-app/dist/501.js 7.03 kB 0 B
packages/esm-patient-registration-app/dist/574.js 1.78 kB 0 B
packages/esm-patient-registration-app/dist/591.js 16.8 kB 0 B
packages/esm-patient-registration-app/dist/60.js 61.3 kB 0 B
packages/esm-patient-registration-app/dist/644.js 2.05 kB 0 B
packages/esm-patient-registration-app/dist/677.js 37.1 kB 0 B
packages/esm-patient-registration-app/dist/729.js 3.08 kB 0 B
packages/esm-patient-registration-app/dist/735.js 465 B 0 B
packages/esm-patient-registration-app/dist/757.js 2.08 kB 0 B
packages/esm-patient-registration-app/dist/784.js 2.63 kB 0 B
packages/esm-patient-registration-app/dist/788.js 1.71 kB 0 B
packages/esm-patient-registration-app/dist/807.js 2.44 kB 0 B
packages/esm-patient-registration-app/dist/833.js 1.98 kB 0 B
packages/esm-patient-registration-app/dist/879.js 3.03 kB 0 B
packages/esm-patient-registration-app/dist/975.js 2.5 kB 0 B
packages/esm-patient-registration-app/dist/main.js 101 kB 0 B
packages/esm-patient-registration-app/dist/openmrs-esm-patient-registration-app.js 3.35 kB 0 B
packages/esm-patient-search-app/dist/130.js 178 kB 0 B
packages/esm-patient-search-app/dist/255.js 2.5 kB 0 B
packages/esm-patient-search-app/dist/271.js 920 B 0 B
packages/esm-patient-search-app/dist/299.js 23.2 kB 0 B
packages/esm-patient-search-app/dist/319.js 861 B 0 B
packages/esm-patient-search-app/dist/354.js 22 kB 0 B
packages/esm-patient-search-app/dist/382.js 1.23 kB 0 B
packages/esm-patient-search-app/dist/443.js 6.98 kB 0 B
packages/esm-patient-search-app/dist/460.js 939 B 0 B
packages/esm-patient-search-app/dist/574.js 742 B 0 B
packages/esm-patient-search-app/dist/591.js 16.8 kB 0 B
packages/esm-patient-search-app/dist/635.js 1.23 kB 0 B
packages/esm-patient-search-app/dist/644.js 920 B 0 B
packages/esm-patient-search-app/dist/729.js 3.08 kB 0 B
packages/esm-patient-search-app/dist/757.js 871 B 0 B
packages/esm-patient-search-app/dist/784.js 2.63 kB 0 B
packages/esm-patient-search-app/dist/788.js 736 B 0 B
packages/esm-patient-search-app/dist/807.js 1.04 kB 0 B
packages/esm-patient-search-app/dist/833.js 877 B 0 B
packages/esm-patient-search-app/dist/main.js 48.7 kB 0 B
packages/esm-patient-search-app/dist/openmrs-esm-patient-search-app.js 3.3 kB 0 B
packages/esm-service-queues-app/dist/130.js 178 kB 0 B
packages/esm-service-queues-app/dist/152.js 261 B 0 B
packages/esm-service-queues-app/dist/169.js 6.98 kB 0 B
packages/esm-service-queues-app/dist/199.js 1.35 kB 0 B
packages/esm-service-queues-app/dist/255.js 2.51 kB 0 B
packages/esm-service-queues-app/dist/271.js 4.51 kB 0 B
packages/esm-service-queues-app/dist/276.js 1.85 kB 0 B
packages/esm-service-queues-app/dist/303.js 261 B 0 B
packages/esm-service-queues-app/dist/319.js 3.82 kB 0 B
packages/esm-service-queues-app/dist/401.js 3.06 kB 0 B
packages/esm-service-queues-app/dist/430.js 3.17 kB 0 B
packages/esm-service-queues-app/dist/460.js 4.74 kB 0 B
packages/esm-service-queues-app/dist/490.js 156 kB 0 B
packages/esm-service-queues-app/dist/501.js 7.03 kB 0 B
packages/esm-service-queues-app/dist/574.js 3.81 kB 0 B
packages/esm-service-queues-app/dist/591.js 16.8 kB 0 B
packages/esm-service-queues-app/dist/6.js 1.75 kB 0 B
packages/esm-service-queues-app/dist/60.js 4.17 kB 0 B
packages/esm-service-queues-app/dist/600.js 50.4 kB 0 B
packages/esm-service-queues-app/dist/644.js 4.52 kB 0 B
packages/esm-service-queues-app/dist/647.js 1.83 kB 0 B
packages/esm-service-queues-app/dist/650.js 3.29 kB 0 B
packages/esm-service-queues-app/dist/669.js 3.25 kB 0 B
packages/esm-service-queues-app/dist/729.js 3.08 kB 0 B
packages/esm-service-queues-app/dist/752.js 1.62 kB 0 B
packages/esm-service-queues-app/dist/757.js 3.82 kB 0 B
packages/esm-service-queues-app/dist/764.js 2.61 kB 0 B
packages/esm-service-queues-app/dist/784.js 2.63 kB 0 B
packages/esm-service-queues-app/dist/788.js 3.82 kB 0 B
packages/esm-service-queues-app/dist/800.js 1.68 kB 0 B
packages/esm-service-queues-app/dist/807.js 5.1 kB 0 B
packages/esm-service-queues-app/dist/828.js 1.39 kB 0 B
packages/esm-service-queues-app/dist/833.js 4.43 kB 0 B
packages/esm-service-queues-app/dist/877.js 2.98 kB 0 B
packages/esm-service-queues-app/dist/917.js 2.78 kB 0 B
packages/esm-service-queues-app/dist/940.js 21.4 kB 0 B
packages/esm-service-queues-app/dist/main.js 209 kB 0 B
packages/esm-service-queues-app/dist/openmrs-esm-service-queues-app.js 3.31 kB 0 B
packages/esm-ward-app/dist/130.js 178 kB 0 B
packages/esm-ward-app/dist/152.js 255 B 0 B
packages/esm-ward-app/dist/255.js 2.5 kB 0 B
packages/esm-ward-app/dist/303.js 255 B 0 B
packages/esm-ward-app/dist/369.js 0 B -9.42 kB (removed) 🏆
packages/esm-ward-app/dist/443.js 6.97 kB 0 B
packages/esm-ward-app/dist/574.js 332 B -9 B (-2.64%)
packages/esm-ward-app/dist/589.js 9.74 kB 0 B
packages/esm-ward-app/dist/591.js 16.8 kB 0 B
packages/esm-ward-app/dist/695.js 13.4 kB 0 B
packages/esm-ward-app/dist/729.js 3.07 kB 0 B
packages/esm-ward-app/dist/784.js 2.62 kB 0 B
packages/esm-ward-app/dist/main.js 26.6 kB +344 B (+1.31%)
packages/esm-ward-app/dist/openmrs-esm-ward-app.js 3.29 kB 0 B

compressed-size-action

Copy link
Member

@mseaton mseaton left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, made a few comments.

export function useInpatientRequest(locationUuid: string) {
const apiUrl = `${restBaseUrl}/emrapi/inpatient/admissionRequests?admissionLocation=${locationUuid}`;
const apiUrl = `/ws/rest/emrapi/inpatient/admissionRequests?admissionLocation=${locationUuid}`;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this imply that we have a bug in emrapi endpoint that it is not using the appropriate base url prefix? If so, we should fix it there and put this back.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes. Just filed https://openmrs.atlassian.net/browse/EA-194. Most (all?) emrapi endpoints have the same problem so this could be relatively disruptive to fix.

import OccupiedBed from '../beds/occupied-bed.component';
export interface WardBedProps {
patientInfos: Array<{ patient: Patient; visit: Visit }>;
patientInfos: Array<WardPatient>;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder if we can rename this from patientInfos -> wardPatients

const patientInfos = patients.map((patient) => ({ patient, visit: null }));
if (admittedPatient) {
// ideally, we can just use the patient object within admittedPatient
// and not need the one from bedLayouts, however, the emr api
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This has been fixed and committed in bedmanagement 6.0.0-SNAPSHOT, so you should be able to use admittedPatient now with an appropriate REST call.

const bedLayouts = filterBeds(admissionLocation);

return (
<>
{bedLayouts.map((bedLayout, i) => {
const { patients } = bedLayout;
const bed = bedLayoutToBed(bedLayout);
const patientInfos: WardPatient[] = patients.map((patient) => {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not a blocker but it would be much more idiomatic to put all this (from bedLayouts.map( to return <WardBed) into a useMemo block and just render the result of that in this return block. This keeps computation logic and rendering logic separate, which makes for more idiomatic and readable React code.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can't easily do useMemo as this is in an if statement, but I can store this in a variable instead of inlining it in the JSX.

kind="error"
lowContrast={true}
title={t('errorLoadingWardLocation', 'Error loading admitted patients')}
subtitle={errorLoadingPatients?.message}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
subtitle={errorLoadingPatients?.message}
subtitle={errorLoadingPatients.message}

If errorLoadingPatients is falsy at this point then we are in trouble.

chibongho and others added 2 commits June 28, 2024 10:15
@chibongho chibongho merged commit 4d9bf46 into main Jun 28, 2024
6 checks passed
@chibongho chibongho deleted the O3-3502 branch June 28, 2024 17:26
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants