Skip to content

Commit

Permalink
Merge pull request #91 from its-kios09/itskios-newQueue
Browse files Browse the repository at this point in the history
[KHP3-6545 ] Implement ability to move patient from radiology to new queue
  • Loading branch information
makombe authored Oct 1, 2024
2 parents f7de99a + d7e7a06 commit 4c329bb
Show file tree
Hide file tree
Showing 3 changed files with 76 additions and 4 deletions.
30 changes: 26 additions & 4 deletions src/radiology-tabs/common/groupedOrdersTable.component.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import {
TableToolbarSearch,
} from "@carbon/react";
import ListOrderDetails from "./listOrderDetails.component";
import TransitionLatestQueueEntryButton from "../test-ordered/transition-patient-new-queue/transition-latest-queue-entry-button.component";

// render Grouped by patient Orders in radiology module
const GroupedOrdersTable: React.FC<GroupedOrdersTableProps> = (props) => {
Expand Down Expand Up @@ -68,13 +69,34 @@ const GroupedOrdersTable: React.FC<GroupedOrdersTableProps> = (props) => {
patientname: patient.orders[0].patient?.display?.split("-")[1],
orders: patient.orders,
totalorders: patient.orders?.length,
fulfillerStatus: patient.orders[0].fulfillerStatus,
action:
patient.orders[0].fulfillerStatus === "COMPLETED" ? (
<TransitionLatestQueueEntryButton patientUuid={patient.patientId} />
) : null,
}));
}, [paginatedResults]);

const tableColumns = [
{ id: 0, header: t("patient", "Patient"), key: "patientname" },
{ id: 1, header: t("totalorders", "Total Orders"), key: "totalorders" },
];
const tableColumns = useMemo(() => {
const showActionColumn = workListEntries.some(
(order) => order.fulfillerStatus === "COMPLETED"
);

const columns = [
{ id: 0, header: t("patientName", "Patient Name"), key: "patientname" },
{ id: 1, header: t("totalorders", "Total Orders"), key: "totalorders" },
];

if (showActionColumn) {
columns.push({
id: 2,
header: t("action", "Action"),
key: "action",
});
}

return columns;
}, [workListEntries, t]);
return (
<div>
<DataTable
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
import React from "react";
import { useTranslation } from "react-i18next";
import styles from "./transition-latest-queue-entry-button.scss";
import { showModal } from "@openmrs/esm-framework";
import { Button } from "@carbon/react";
import { AirlineManageGates } from "@carbon/react/icons";

interface TransitionLatestQueueEntryButtonProps {
patientUuid: string;
}

const TransitionLatestQueueEntryButton: React.FC<
TransitionLatestQueueEntryButtonProps
> = ({ patientUuid }) => {
const { t } = useTranslation();

const launchModal = () => {
const dispose = showModal("transition-patient-to-latest-queue-modal", {
closeModal: () => dispose(),
patientUuid,
});
};

return (
<Button
kind="tertiary"
className={styles.addPatientToQueue}
onClick={launchModal}
size="sm"
renderIcon={() => <AirlineManageGates size={18} />}
>
{t("transition", "Transition")}
</Button>
);
};

export default TransitionLatestQueueEntryButton;
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
@use '@carbon/layout';
@use '@carbon/styles/scss/type';

.addPatientToQueue {
--cds-layout-size-height-context: var(--cds-layout-size-height-sm, 2rem);
--cds-layout-size-height: var(--cds-layout-size-height-context);
display: flex;
align-items: center;
justify-content: center;
text-align: center;
padding: 0 layout.$spacing-04;
gap: layout.$spacing-05;
}

0 comments on commit 4c329bb

Please sign in to comment.