@kenyaemr/esm-billing-app 5.4.2-pre.2269 → 5.4.2-pre.2272
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 +3 -3
- package/dist/115.js +1 -0
- package/dist/115.js.map +1 -0
- package/dist/300.js +1 -1
- package/dist/kenyaemr-esm-billing-app.js +1 -1
- package/dist/kenyaemr-esm-billing-app.js.buildmanifest.json +31 -31
- package/dist/kenyaemr-esm-billing-app.js.map +1 -1
- package/dist/main.js +2 -2
- package/dist/main.js.map +1 -1
- package/dist/routes.json +1 -1
- package/package.json +1 -1
- package/src/invoice/invoice.component.tsx +70 -12
- package/src/invoice/invoice.scss +16 -0
- package/translations/en.json +2 -0
- package/dist/611.js +0 -1
- package/dist/611.js.map +0 -1
- package/src/invoice/print-bill-receipt/receipt-print-button.component.tsx +0 -57
package/dist/routes.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"kenyaemr":"^19.0.0"},"pages":[{"component":"billableServicesHome","route":"billable-services"},{"component":"requirePaymentModal","routeRegex":"^patient/.+/chart","online":true,"offline":false}],"extensions":[{"component":"benefitsPackageDashboardLink","name":"benefits-package-dashboard-link","slot":"patient-chart-dashboard-slot","meta":{"name":"benefits-package","slot":"patient-chart-benefits-dashboard-slot","path":"insurance-benefits","columns":1,"columnSpan":1},"featureFlag":"healthInformationExchange"},{"component":"benefitsPackage","name":"benefits-package","slot":"patient-chart-benefits-dashboard-slot"},{"component":"root","name":"billing-dashboard-root","slot":"billing-dashboard-slot"},{"component":"benefitsEligibilyRequestForm","name":"benefits-eligibility-request-form"},{"component":"benefitsPreAuthForm","name":"benefits-pre-auth-form"},{"name":"billing-patient-summary","component":"billingPatientSummary","slot":"patient-chart-billing-dashboard-slot","order":10,"meta":{"columnSpan":4}},{"name":"billing-summary-dashboard-link","component":"billingSummaryDashboardLink","slot":"patient-chart-dashboard-slot","order":11,"meta":{"columns":1,"columnSpan":1,"slot":"patient-chart-billing-dashboard-slot","path":"Billing","layoutMode":"anchored"}},{"name":"billing-check-in-form","slot":"extra-visit-attribute-slot","component":"billingCheckInForm"},{"name":"require-billing-modal","component":"requirePaymentModal"},{"name":"patient-banner-billing-tags","component":"visitAttributeTags","slot":"patient-banner-tags-slot","order":2},{"name":"initiate-payment-modal","component":"initiatePaymentDialog"},{"name":"delete-billableservice-modal","component":"deleteBillableServiceModal"},{"name":"refund-bill-modal","component":"refundBillModal"},{"name":"delete-bill-modal","component":"deleteBillModal"},{"name":"lab-order-billable-item","component":"labOrder","slot":"top-of-lab-order-form-slot"},{"name":"procedure-order-billable-item","component":"procedureOrder","slot":"top-of-procedure-order-form-slot"},{"name":"imaging-order-billable-item","component":"imagingOrder","slot":"top-of-imaging-order-form-slot"},{"name":"price-info-order","component":"priceInfoOrder"},{"name":"drug-order-billable-item","component":"drugOrder","slot":"medication-info-slot"},{"name":"order-action-button","component":"orderActionButton","slots":["prescription-action-button-slot","imaging-orders-action","procedure-orders-action","tests-ordered-actions-slot"],"order":0},{"component":"billingOverviewLink","name":"billing-overview-link","order":0,"slot":"billing-dashboard-group-nav-slot"},{"component":"billDepositDashboardLink","name":"bill-deposit-dashboard-link","slot":"billing-dashboard-group-nav-slot"},{"component":"paymentHistoryLink","name":"payment-history-link","slot":"billing-dashboard-group-nav-slot"},{"component":"paymentPointsLink","name":"payment-points-link","slot":"billing-dashboard-group-nav-slot"},{"component":"paymentModesLink","name":"payment-modes-link","slot":"billing-dashboard-group-nav-slot"},{"component":"billManagerLink","name":"bill-manager-link","slot":"billing-dashboard-group-nav-slot"},{"component":"chargeableItemsLink","name":"chargeable-items-link","slot":"billing-dashboard-group-nav-slot"},{"component":"billableExemptionsLink","name":"billable-exemptions-link","slot":"billing-dashboard-group-nav-slot"},{"component":"claimsManagementOverviewDashboardLink","name":"claims-management-overview-link","order":0,"slot":"claims-management-dashboard-link-slot"},{"component":"preAuthRequestsDashboardLink","name":"preauthrequest-overview-link","slot":"claims-management-dashboard-link-slot"},{"component":"claimsOverview","name":"claims-overview-dashboard-link","slot":"claims-management-overview-slot"},{"component":"waiveBillActionButton","name":"waive-bill-action-button","slot":"bill-actions-slot"},{"component":"deleteBillActionButton","name":"delete-bill-action-button","slot":"bill-actions-slot"},{"component":"refundLineItem","name":"refund-line-item","slot":"bill-actions-overflow-menu-slot"},{"name":"edit-line-item","component":"editLineItem","slot":"bill-actions-overflow-menu-slot"},{"name":"cancel-line-item","component":"cancelLineItem","slot":"bill-actions-overflow-menu-slot"}],"workspaces":[{"name":"create-bill-workspace","component":"createBillWorkspace","title":"Create Bill Workspace","type":"other-form"},{"name":"waive-bill-form","component":"waiveBillForm","title":"Waive Bill Form","type":"other-form"},{"name":"edit-bill-form","component":"editBillForm","title":"Edit Bill Form","type":"other-form"},{"name":"billable-service-form","component":"addServiceForm","title":"Create Charge Item Form","type":"other-form"},{"name":"commodity-form","component":"addCommodityForm","title":"Create Charge Item Form","type":"other-form"},{"name":"billing-form","component":"billingForm","title":"Billing Form","type":"other-form","width":"extra-wide"},{"name":"payment-mode-workspace","component":"paymentModeWorkspace","title":"Payment Mode Workspace","type":"other-form"},{"name":"cancel-bill-workspace","component":"cancelBillWorkspace","title":"Cancel Bill Workspace","type":"other-form"},{"name":"add-deposit-workspace","component":"addDepositWorkspace","title":"Add Deposit","type":"other-form"},{"name":"deposit-transaction-workspace","component":"depositTransactionWorkspace","title":"Deposit Transaction","type":"other-form"}],"modals":[{"name":"create-payment-point","component":"createPaymentPoint"},{"name":"clock-out-modal","component":"clockOut"},{"name":"bulk-import-billable-services-modal","component":"bulkImportBillableServicesModal"},{"name":"delete-payment-mode-modal","component":"deletePaymentModeModal"},{"name":"manage-claim-request-modal","component":"manageClaimRequestModal"},{"name":"clock-in-modal","component":"clockIn"},{"name":"create-bill-item-modal","component":"createBillItemModal"},{"name":"delete-deposit-modal","component":"deleteDepositModal"},{"name":"reverse-transaction-modal","component":"reverseTransactionModal"},{"name":"print-preview-modal","component":"printPreviewModal"},{"name":"bill-action-modal","component":"billActionModal"}],"version":"5.4.2-pre.
|
|
1
|
+
{"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"kenyaemr":"^19.0.0"},"pages":[{"component":"billableServicesHome","route":"billable-services"},{"component":"requirePaymentModal","routeRegex":"^patient/.+/chart","online":true,"offline":false}],"extensions":[{"component":"benefitsPackageDashboardLink","name":"benefits-package-dashboard-link","slot":"patient-chart-dashboard-slot","meta":{"name":"benefits-package","slot":"patient-chart-benefits-dashboard-slot","path":"insurance-benefits","columns":1,"columnSpan":1},"featureFlag":"healthInformationExchange"},{"component":"benefitsPackage","name":"benefits-package","slot":"patient-chart-benefits-dashboard-slot"},{"component":"root","name":"billing-dashboard-root","slot":"billing-dashboard-slot"},{"component":"benefitsEligibilyRequestForm","name":"benefits-eligibility-request-form"},{"component":"benefitsPreAuthForm","name":"benefits-pre-auth-form"},{"name":"billing-patient-summary","component":"billingPatientSummary","slot":"patient-chart-billing-dashboard-slot","order":10,"meta":{"columnSpan":4}},{"name":"billing-summary-dashboard-link","component":"billingSummaryDashboardLink","slot":"patient-chart-dashboard-slot","order":11,"meta":{"columns":1,"columnSpan":1,"slot":"patient-chart-billing-dashboard-slot","path":"Billing","layoutMode":"anchored"}},{"name":"billing-check-in-form","slot":"extra-visit-attribute-slot","component":"billingCheckInForm"},{"name":"require-billing-modal","component":"requirePaymentModal"},{"name":"patient-banner-billing-tags","component":"visitAttributeTags","slot":"patient-banner-tags-slot","order":2},{"name":"initiate-payment-modal","component":"initiatePaymentDialog"},{"name":"delete-billableservice-modal","component":"deleteBillableServiceModal"},{"name":"refund-bill-modal","component":"refundBillModal"},{"name":"delete-bill-modal","component":"deleteBillModal"},{"name":"lab-order-billable-item","component":"labOrder","slot":"top-of-lab-order-form-slot"},{"name":"procedure-order-billable-item","component":"procedureOrder","slot":"top-of-procedure-order-form-slot"},{"name":"imaging-order-billable-item","component":"imagingOrder","slot":"top-of-imaging-order-form-slot"},{"name":"price-info-order","component":"priceInfoOrder"},{"name":"drug-order-billable-item","component":"drugOrder","slot":"medication-info-slot"},{"name":"order-action-button","component":"orderActionButton","slots":["prescription-action-button-slot","imaging-orders-action","procedure-orders-action","tests-ordered-actions-slot"],"order":0},{"component":"billingOverviewLink","name":"billing-overview-link","order":0,"slot":"billing-dashboard-group-nav-slot"},{"component":"billDepositDashboardLink","name":"bill-deposit-dashboard-link","slot":"billing-dashboard-group-nav-slot"},{"component":"paymentHistoryLink","name":"payment-history-link","slot":"billing-dashboard-group-nav-slot"},{"component":"paymentPointsLink","name":"payment-points-link","slot":"billing-dashboard-group-nav-slot"},{"component":"paymentModesLink","name":"payment-modes-link","slot":"billing-dashboard-group-nav-slot"},{"component":"billManagerLink","name":"bill-manager-link","slot":"billing-dashboard-group-nav-slot"},{"component":"chargeableItemsLink","name":"chargeable-items-link","slot":"billing-dashboard-group-nav-slot"},{"component":"billableExemptionsLink","name":"billable-exemptions-link","slot":"billing-dashboard-group-nav-slot"},{"component":"claimsManagementOverviewDashboardLink","name":"claims-management-overview-link","order":0,"slot":"claims-management-dashboard-link-slot"},{"component":"preAuthRequestsDashboardLink","name":"preauthrequest-overview-link","slot":"claims-management-dashboard-link-slot"},{"component":"claimsOverview","name":"claims-overview-dashboard-link","slot":"claims-management-overview-slot"},{"component":"waiveBillActionButton","name":"waive-bill-action-button","slot":"bill-actions-slot"},{"component":"deleteBillActionButton","name":"delete-bill-action-button","slot":"bill-actions-slot"},{"component":"refundLineItem","name":"refund-line-item","slot":"bill-actions-overflow-menu-slot"},{"name":"edit-line-item","component":"editLineItem","slot":"bill-actions-overflow-menu-slot"},{"name":"cancel-line-item","component":"cancelLineItem","slot":"bill-actions-overflow-menu-slot"}],"workspaces":[{"name":"create-bill-workspace","component":"createBillWorkspace","title":"Create Bill Workspace","type":"other-form"},{"name":"waive-bill-form","component":"waiveBillForm","title":"Waive Bill Form","type":"other-form"},{"name":"edit-bill-form","component":"editBillForm","title":"Edit Bill Form","type":"other-form"},{"name":"billable-service-form","component":"addServiceForm","title":"Create Charge Item Form","type":"other-form"},{"name":"commodity-form","component":"addCommodityForm","title":"Create Charge Item Form","type":"other-form"},{"name":"billing-form","component":"billingForm","title":"Billing Form","type":"other-form","width":"extra-wide"},{"name":"payment-mode-workspace","component":"paymentModeWorkspace","title":"Payment Mode Workspace","type":"other-form"},{"name":"cancel-bill-workspace","component":"cancelBillWorkspace","title":"Cancel Bill Workspace","type":"other-form"},{"name":"add-deposit-workspace","component":"addDepositWorkspace","title":"Add Deposit","type":"other-form"},{"name":"deposit-transaction-workspace","component":"depositTransactionWorkspace","title":"Deposit Transaction","type":"other-form"}],"modals":[{"name":"create-payment-point","component":"createPaymentPoint"},{"name":"clock-out-modal","component":"clockOut"},{"name":"bulk-import-billable-services-modal","component":"bulkImportBillableServicesModal"},{"name":"delete-payment-mode-modal","component":"deletePaymentModeModal"},{"name":"manage-claim-request-modal","component":"manageClaimRequestModal"},{"name":"clock-in-modal","component":"clockIn"},{"name":"create-bill-item-modal","component":"createBillItemModal"},{"name":"delete-deposit-modal","component":"deleteDepositModal"},{"name":"reverse-transaction-modal","component":"reverseTransactionModal"},{"name":"print-preview-modal","component":"printPreviewModal"},{"name":"bill-action-modal","component":"billActionModal"}],"version":"5.4.2-pre.2272"}
|
package/package.json
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Button, InlineLoading } from '@carbon/react';
|
|
1
|
+
import { Button, InlineLoading, Popover, PopoverContent } from '@carbon/react';
|
|
2
2
|
import { BaggageClaim, Close, Printer, Wallet, FolderOpen } from '@carbon/react/icons';
|
|
3
3
|
import {
|
|
4
4
|
defaultVisitCustomRepresentation,
|
|
@@ -30,7 +30,6 @@ import InvoiceTable from './invoice-table.component';
|
|
|
30
30
|
import { useShaFacilityStatus } from './invoice.resource';
|
|
31
31
|
import styles from './invoice.scss';
|
|
32
32
|
import Payments from './payments/payments.component';
|
|
33
|
-
import ReceiptPrintButton from './print-bill-receipt/receipt-print-button.component';
|
|
34
33
|
import capitalize from 'lodash-es/capitalize';
|
|
35
34
|
import { mutate } from 'swr';
|
|
36
35
|
import startCase from 'lodash-es/startCase';
|
|
@@ -171,16 +170,6 @@ const Invoice: React.FC = () => {
|
|
|
171
170
|
{patient && patientUuid && <ExtensionSlot name="patient-header-slot" state={{ patient, patientUuid }} />}
|
|
172
171
|
<InvoiceSummary bill={bill} />
|
|
173
172
|
<div className={styles.actionArea}>
|
|
174
|
-
<ReceiptPrintButton bill={bill} />
|
|
175
|
-
<Button
|
|
176
|
-
onClick={handlePrint}
|
|
177
|
-
kind="tertiary"
|
|
178
|
-
size="sm"
|
|
179
|
-
renderIcon={Printer}
|
|
180
|
-
iconDescription="Add"
|
|
181
|
-
tooltipPosition="right">
|
|
182
|
-
{t('printInvoice', 'Print invoice')}
|
|
183
|
-
</Button>
|
|
184
173
|
<Button
|
|
185
174
|
onClick={handleBillPayment}
|
|
186
175
|
disabled={bill?.status === 'PAID'}
|
|
@@ -222,12 +211,81 @@ export function InvoiceSummary({ bill }: { readonly bill: MappedBill }) {
|
|
|
222
211
|
};
|
|
223
212
|
|
|
224
213
|
const shouldCloseBill = bill.balance === 0 && !bill.closed;
|
|
214
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
215
|
+
|
|
216
|
+
const handlePrint = (documentType: string, documentTitle: string) => {
|
|
217
|
+
const dispose = showModal('print-preview-modal', {
|
|
218
|
+
onClose: () => dispose(),
|
|
219
|
+
title: documentTitle,
|
|
220
|
+
documentUrl: `/openmrs${restBaseUrl}/cashier/print?documentType=${documentType}&billId=${bill?.id}`,
|
|
221
|
+
});
|
|
222
|
+
};
|
|
225
223
|
|
|
226
224
|
return (
|
|
227
225
|
<>
|
|
228
226
|
<div className={styles.invoiceSummary}>
|
|
229
227
|
<span className={styles.invoiceSummaryTitle}>{t('invoiceSummary', 'Invoice Summary')}</span>
|
|
230
228
|
<div className="invoiceSummaryActions">
|
|
229
|
+
<Popover
|
|
230
|
+
isTabTip
|
|
231
|
+
align="bottom-right"
|
|
232
|
+
onKeyDown={() => {}}
|
|
233
|
+
onRequestClose={() => setIsOpen(false)}
|
|
234
|
+
open={isOpen}>
|
|
235
|
+
<button
|
|
236
|
+
className={styles.printButton}
|
|
237
|
+
aria-expanded
|
|
238
|
+
aria-label="Settings"
|
|
239
|
+
onClick={() => setIsOpen(!isOpen)}
|
|
240
|
+
type="button">
|
|
241
|
+
<Printer />
|
|
242
|
+
</button>
|
|
243
|
+
<PopoverContent>
|
|
244
|
+
<div className={styles.popoverContent}>
|
|
245
|
+
<Button
|
|
246
|
+
kind="ghost"
|
|
247
|
+
size="sm"
|
|
248
|
+
onClick={() =>
|
|
249
|
+
handlePrint(
|
|
250
|
+
'invoice',
|
|
251
|
+
`${t('invoice', 'Invoice')} ${bill?.receiptNumber} - ${startCase(bill?.patientName)}`,
|
|
252
|
+
)
|
|
253
|
+
}
|
|
254
|
+
renderIcon={Printer}>
|
|
255
|
+
{t('printInvoice', 'Print Invoice')}
|
|
256
|
+
</Button>
|
|
257
|
+
{bill.balance === 0 && (
|
|
258
|
+
<Button
|
|
259
|
+
kind="ghost"
|
|
260
|
+
size="sm"
|
|
261
|
+
onClick={() => {
|
|
262
|
+
const dispose = showModal('print-preview-modal', {
|
|
263
|
+
onClose: () => dispose(),
|
|
264
|
+
title: `${t('receipt', 'Receipt')} ${bill?.receiptNumber} - ${startCase(bill?.patientName)}`,
|
|
265
|
+
documentUrl: `/openmrs${restBaseUrl}/cashier/receipt?billId=${bill.id}`,
|
|
266
|
+
});
|
|
267
|
+
}}
|
|
268
|
+
renderIcon={Printer}>
|
|
269
|
+
{t('printReceipt', 'Print Receipt')}
|
|
270
|
+
</Button>
|
|
271
|
+
)}
|
|
272
|
+
<Button
|
|
273
|
+
kind="ghost"
|
|
274
|
+
size="sm"
|
|
275
|
+
onClick={() =>
|
|
276
|
+
handlePrint(
|
|
277
|
+
'billstatement',
|
|
278
|
+
`${t('billStatement', 'Bill Statement')} ${bill?.receiptNumber} - ${startCase(
|
|
279
|
+
bill?.patientName,
|
|
280
|
+
)}`,
|
|
281
|
+
)
|
|
282
|
+
}
|
|
283
|
+
renderIcon={Printer}>
|
|
284
|
+
{t('printBillStatement', 'Print Bill Statement')}
|
|
285
|
+
</Button>
|
|
286
|
+
</div>
|
|
287
|
+
</PopoverContent>
|
|
288
|
+
</Popover>
|
|
231
289
|
{shouldCloseBill && (
|
|
232
290
|
<UserHasAccess privilege="Close Cashier Bills">
|
|
233
291
|
<Button
|
package/src/invoice/invoice.scss
CHANGED
|
@@ -148,3 +148,19 @@
|
|
|
148
148
|
color: colors.$gray-70;
|
|
149
149
|
}
|
|
150
150
|
}
|
|
151
|
+
|
|
152
|
+
.popoverContent {
|
|
153
|
+
display: flex;
|
|
154
|
+
flex-direction: column;
|
|
155
|
+
gap: layout.$spacing-01;
|
|
156
|
+
|
|
157
|
+
& > button {
|
|
158
|
+
width: 100%;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
.printButton {
|
|
163
|
+
svg {
|
|
164
|
+
fill: colors.$blue-60;
|
|
165
|
+
}
|
|
166
|
+
}
|
package/translations/en.json
CHANGED
|
@@ -46,6 +46,7 @@
|
|
|
46
46
|
"billPayment": "Bill payment",
|
|
47
47
|
"billPaymentRequiredMessage": "The current patient has pending bill. Advice patient to settle bill.",
|
|
48
48
|
"billsList": "Bill list",
|
|
49
|
+
"billStatement": "Bill Statement",
|
|
49
50
|
"billTotal": "Bill total",
|
|
50
51
|
"bulkUpload": "Bulk Upload",
|
|
51
52
|
"cancel": "Cancel",
|
|
@@ -231,6 +232,7 @@
|
|
|
231
232
|
"previousPage": "Previous page",
|
|
232
233
|
"price": "Price",
|
|
233
234
|
"prices": "Prices",
|
|
235
|
+
"printBillStatement": "Print Bill Statement",
|
|
234
236
|
"printInvoice": "Print invoice",
|
|
235
237
|
"printReceipt": "Print receipt",
|
|
236
238
|
"proceedToCare": "Proceed to care",
|