@openmrs/esm-billing-app 1.0.2-pre.834 → 1.0.2-pre.838
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/4300.js +1 -1
- package/dist/4344.js +1 -1
- package/dist/4344.js.map +1 -1
- package/dist/4739.js +1 -1
- package/dist/4739.js.map +1 -1
- package/dist/main.js +1 -1
- package/dist/main.js.map +1 -1
- package/dist/openmrs-esm-billing-app.js.buildmanifest.json +12 -12
- package/dist/routes.json +1 -1
- package/package.json +1 -1
- package/src/bill-history/bill-history.component.tsx +3 -3
- package/src/bill-item-actions/edit-bill-item.modal.tsx +1 -1
- package/src/bill-item-actions/edit-bill-item.test.tsx +7 -7
- package/src/billable-services/bill-waiver/bill-selection.component.tsx +1 -1
- package/src/billable-services/bill-waiver/bill-waiver-form.component.tsx +2 -2
- package/src/billable-services/bill-waiver/patient-bills.component.tsx +6 -6
- package/src/billable-services/billable-services-home.component.tsx +3 -3
- package/src/billable-services/billable-services.component.tsx +10 -6
- package/src/billable-services/billable-services.test.tsx +4 -4
- package/src/billable-services/cash-point/add-cash-point.modal.tsx +1 -1
- package/src/billable-services/cash-point/cash-point-configuration.component.tsx +2 -2
- package/src/billable-services/create-edit/add-billable-service.component.tsx +8 -10
- package/src/billable-services/create-edit/add-billable-service.test.tsx +4 -4
- package/src/billable-services/create-edit/edit-billable-service.modal.tsx +1 -1
- package/src/billable-services/dashboard/service-metrics.component.tsx +6 -1
- package/src/billable-services/payment-modes/add-payment-mode.modal.tsx +3 -3
- package/src/billable-services/payment-modes/payment-modes-config.component.tsx +2 -2
- package/src/billing-form/billing-checkin-form.component.tsx +1 -1
- package/src/billing-form/billing-checkin-form.test.tsx +2 -2
- package/src/billing-form/billing-form.component.tsx +8 -8
- package/src/billing-form/visit-attributes/visit-attributes-form.component.tsx +1 -1
- package/src/bills-table/bills-table.component.tsx +3 -3
- package/src/invoice/invoice-table.component.tsx +2 -2
- package/src/invoice/invoice-table.test.tsx +1 -1
- package/src/invoice/invoice.component.tsx +7 -9
- package/src/invoice/payments/payments.component.tsx +3 -3
- package/src/invoice/payments/payments.test.tsx +5 -5
- package/src/invoice/printable-invoice/printable-invoice.component.tsx +4 -4
- package/src/metrics-cards/metrics-cards.component.tsx +6 -1
- package/src/modal/require-payment.modal.tsx +1 -1
- package/translations/en.json +73 -72
|
@@ -149,7 +149,7 @@ const BillsTable = () => {
|
|
|
149
149
|
return (
|
|
150
150
|
<div className={styles.errorContainer}>
|
|
151
151
|
<Layer>
|
|
152
|
-
<ErrorState error={error} headerTitle={t('
|
|
152
|
+
<ErrorState error={error} headerTitle={t('billList', 'Bill list')} />
|
|
153
153
|
</Layer>
|
|
154
154
|
</div>
|
|
155
155
|
);
|
|
@@ -168,7 +168,7 @@ const BillsTable = () => {
|
|
|
168
168
|
label=""
|
|
169
169
|
onChange={handleFilterChange}
|
|
170
170
|
size={responsiveSize}
|
|
171
|
-
titleText={t('filterBy', 'Filter by')
|
|
171
|
+
titleText={t('filterBy', 'Filter by:')}
|
|
172
172
|
type="inline"
|
|
173
173
|
/>
|
|
174
174
|
</div>
|
|
@@ -190,7 +190,7 @@ const BillsTable = () => {
|
|
|
190
190
|
useZebraStyles={rowData?.length > 1 ? true : false}>
|
|
191
191
|
{({ rows, headers, getRowProps, getTableProps }) => (
|
|
192
192
|
<TableContainer>
|
|
193
|
-
<Table {...getTableProps()} aria-label=
|
|
193
|
+
<Table {...getTableProps()} aria-label={t('billList', 'Bill list')}>
|
|
194
194
|
<TableHead>
|
|
195
195
|
<TableRow>
|
|
196
196
|
{headers.map((header) => (
|
|
@@ -61,7 +61,7 @@ const InvoiceTable: React.FC<InvoiceTableProps> = ({ bill, isLoadingBill }) => {
|
|
|
61
61
|
}, [debouncedSearchTerm, lineItems]);
|
|
62
62
|
|
|
63
63
|
const tableHeaders = [
|
|
64
|
-
{ header: t('number', '
|
|
64
|
+
{ header: t('number', 'Number'), key: 'no', width: 7 }, // Width as a percentage
|
|
65
65
|
{ header: t('billItem', 'Bill item'), key: 'billItem', width: 25 },
|
|
66
66
|
{ header: t('billCode', 'Bill code'), key: 'billCode', width: 20 },
|
|
67
67
|
{ header: t('status', 'Status'), key: 'status', width: 25 },
|
|
@@ -147,7 +147,7 @@ const InvoiceTable: React.FC<InvoiceTableProps> = ({ bill, isLoadingBill }) => {
|
|
|
147
147
|
/>
|
|
148
148
|
<Table
|
|
149
149
|
{...getTableProps()}
|
|
150
|
-
aria-label=
|
|
150
|
+
aria-label={t('invoiceLineItems', 'Invoice line items')}
|
|
151
151
|
className={`${styles.invoiceTable} billingTable`}>
|
|
152
152
|
<TableHead>
|
|
153
153
|
<TableRow>
|
|
@@ -81,7 +81,7 @@ describe('InvoiceTable', () => {
|
|
|
81
81
|
|
|
82
82
|
expect(screen.getByText(/line items/i)).toBeInTheDocument();
|
|
83
83
|
expect(screen.getByText(/items to be billed/i)).toBeInTheDocument();
|
|
84
|
-
expect(screen.getByRole('columnheader', { name: /
|
|
84
|
+
expect(screen.getByRole('columnheader', { name: /number/i })).toBeInTheDocument();
|
|
85
85
|
expect(screen.getByRole('columnheader', { name: /bill item/i })).toBeInTheDocument();
|
|
86
86
|
expect(screen.getByRole('columnheader', { name: /bill code/i })).toBeInTheDocument();
|
|
87
87
|
expect(screen.getByRole('columnheader', { name: /status/i })).toBeInTheDocument();
|
|
@@ -67,11 +67,11 @@ const Invoice: React.FC = () => {
|
|
|
67
67
|
|
|
68
68
|
// Do not remove this comment. Adds the translation keys for the invoice details
|
|
69
69
|
/**
|
|
70
|
-
* t('totalAmount', 'Total
|
|
71
|
-
* t('amountTendered', 'Amount
|
|
72
|
-
* t('invoiceNumber', 'Invoice
|
|
73
|
-
* t('dateAndTime', 'Date
|
|
74
|
-
* t('invoiceStatus', 'Invoice
|
|
70
|
+
* t('totalAmount', 'Total amount')
|
|
71
|
+
* t('amountTendered', 'Amount tendered')
|
|
72
|
+
* t('invoiceNumber', 'Invoice #')
|
|
73
|
+
* t('dateAndTime', 'Date and time')
|
|
74
|
+
* t('invoiceStatus', 'Invoice status')
|
|
75
75
|
*/
|
|
76
76
|
const invoiceDetails = {
|
|
77
77
|
'Total Amount': convertToCurrency(bill?.totalAmount, defaultCurrency),
|
|
@@ -86,9 +86,7 @@ const Invoice: React.FC = () => {
|
|
|
86
86
|
<div className={styles.invoiceContainer}>
|
|
87
87
|
<InlineLoading
|
|
88
88
|
className={styles.loader}
|
|
89
|
-
|
|
90
|
-
iconDescription="Loading"
|
|
91
|
-
description={t('loadingBillInfo', 'Loading bill information...')}
|
|
89
|
+
description={`${t('loadingBillInfo', 'Loading bill information')}...`}
|
|
92
90
|
/>
|
|
93
91
|
</div>
|
|
94
92
|
);
|
|
@@ -116,7 +114,7 @@ const Invoice: React.FC = () => {
|
|
|
116
114
|
disabled={isPrinting || isLoadingPatient || isLoadingBill}
|
|
117
115
|
onClick={handlePrint}
|
|
118
116
|
renderIcon={(props) => <Printer size={24} {...props} />}
|
|
119
|
-
iconDescription=
|
|
117
|
+
iconDescription={t('printBill', 'Print bill')}
|
|
120
118
|
size="md">
|
|
121
119
|
{t('printBill', 'Print bill')}
|
|
122
120
|
</Button>
|
|
@@ -114,17 +114,17 @@ const Payments: React.FC<PaymentProps> = ({ bill, mutate }) => {
|
|
|
114
114
|
<div className={styles.divider} />
|
|
115
115
|
<div className={styles.paymentTotals}>
|
|
116
116
|
<InvoiceBreakDown
|
|
117
|
-
label={t('totalAmount', 'Total
|
|
117
|
+
label={t('totalAmount', 'Total amount')}
|
|
118
118
|
value={convertToCurrency(bill.totalAmount, defaultCurrency)}
|
|
119
119
|
/>
|
|
120
120
|
<InvoiceBreakDown
|
|
121
|
-
label={t('totalTendered', 'Total
|
|
121
|
+
label={t('totalTendered', 'Total tendered')}
|
|
122
122
|
value={convertToCurrency(bill.tenderedAmount, defaultCurrency)}
|
|
123
123
|
/>
|
|
124
124
|
<InvoiceBreakDown label={t('discount', 'Discount')} value={'--'} />
|
|
125
125
|
<InvoiceBreakDown
|
|
126
126
|
hasBalance={amountDue < 0}
|
|
127
|
-
label={t('amountDue', 'Amount
|
|
127
|
+
label={t('amountDue', 'Amount due')}
|
|
128
128
|
value={convertToCurrency(amountDue < 0 ? -amountDue : amountDue, defaultCurrency)}
|
|
129
129
|
/>
|
|
130
130
|
<div className={styles.processPayments}>
|
|
@@ -134,9 +134,9 @@ describe('Payments', () => {
|
|
|
134
134
|
|
|
135
135
|
it('renders payment form and history', () => {
|
|
136
136
|
render(<Payments bill={mockBill} mutate={mockMutate} />);
|
|
137
|
-
expect(screen.getByText(
|
|
138
|
-
expect(screen.getByText(
|
|
139
|
-
expect(screen.getByText(
|
|
137
|
+
expect(screen.getByText(/payments/i)).toBeInTheDocument();
|
|
138
|
+
expect(screen.getByText(/total amount:/i)).toBeInTheDocument();
|
|
139
|
+
expect(screen.getByText(/total tendered:/i)).toBeInTheDocument();
|
|
140
140
|
});
|
|
141
141
|
|
|
142
142
|
it('displays formatted currency amounts', () => {
|
|
@@ -191,7 +191,7 @@ describe('Payments', () => {
|
|
|
191
191
|
|
|
192
192
|
render(<Payments bill={billWithBalance} mutate={mockMutate} />);
|
|
193
193
|
|
|
194
|
-
expect(screen.getByText(
|
|
194
|
+
expect(screen.getByText(/amount due:/i)).toBeInTheDocument();
|
|
195
195
|
// The amount due section should be visible for bills with remaining balance
|
|
196
196
|
const formattedAmounts = screen.getAllByText('$1000.00');
|
|
197
197
|
expect(formattedAmounts.length).toBeGreaterThan(0);
|
|
@@ -207,7 +207,7 @@ describe('Payments', () => {
|
|
|
207
207
|
render(<Payments bill={billWithOverpayment} mutate={mockMutate} />);
|
|
208
208
|
|
|
209
209
|
// Even with negative amount due (overpayment), the display should show positive value
|
|
210
|
-
expect(screen.getByText(
|
|
210
|
+
expect(screen.getByText(/amount due:/i)).toBeInTheDocument();
|
|
211
211
|
const formattedAmounts = screen.getAllByText('$1000.00');
|
|
212
212
|
expect(formattedAmounts.length).toBeGreaterThan(0);
|
|
213
213
|
});
|
|
@@ -47,9 +47,9 @@ const PrintableInvoice: React.FC<PrintableInvoiceProps> = ({ bill, patient, comp
|
|
|
47
47
|
}) ?? [];
|
|
48
48
|
|
|
49
49
|
const invoiceTotal = {
|
|
50
|
-
[t('totalAmount', 'Total
|
|
51
|
-
[t('amountTendered', 'Amount
|
|
52
|
-
[t('discountAmount', 'Discount
|
|
50
|
+
[t('totalAmount', 'Total amount')]: bill?.totalAmount,
|
|
51
|
+
[t('amountTendered', 'Amount tendered')]: bill?.tenderedAmount,
|
|
52
|
+
[t('discountAmount', 'Discount amount')]: 0,
|
|
53
53
|
[t('amountDue', 'Amount due')]: bill?.totalAmount - bill?.tenderedAmount,
|
|
54
54
|
};
|
|
55
55
|
|
|
@@ -88,7 +88,7 @@ const PrintableInvoice: React.FC<PrintableInvoiceProps> = ({ bill, patient, comp
|
|
|
88
88
|
<DataTable rows={rowData} headers={headerData} size={responsiveSize} useZebraStyles={false}>
|
|
89
89
|
{({ rows, headers, getRowProps, getTableProps }) => (
|
|
90
90
|
<TableContainer>
|
|
91
|
-
<Table {...getTableProps()} aria-label=
|
|
91
|
+
<Table {...getTableProps()} aria-label={t('invoiceLineItems', 'Invoice line items')}>
|
|
92
92
|
<TableHead>
|
|
93
93
|
<TableRow>
|
|
94
94
|
{headers.map((header) => (
|
|
@@ -2,6 +2,7 @@ import React, { useMemo } from 'react';
|
|
|
2
2
|
import { InlineLoading } from '@carbon/react';
|
|
3
3
|
import { useTranslation } from 'react-i18next';
|
|
4
4
|
import { ErrorState } from '@openmrs/esm-patient-common-lib';
|
|
5
|
+
import { getCoreTranslation } from '@openmrs/esm-framework';
|
|
5
6
|
import { useBills } from '../billing.resource';
|
|
6
7
|
import { useBillMetrics } from './metrics.resource';
|
|
7
8
|
import Card from './card.component';
|
|
@@ -24,7 +25,11 @@ export default function MetricsCards() {
|
|
|
24
25
|
if (isLoading) {
|
|
25
26
|
return (
|
|
26
27
|
<section className={styles.container}>
|
|
27
|
-
<InlineLoading
|
|
28
|
+
<InlineLoading
|
|
29
|
+
status="active"
|
|
30
|
+
iconDescription={getCoreTranslation('loading')}
|
|
31
|
+
description={t('loadingBillMetrics', 'Loading bill metrics') + '...'}
|
|
32
|
+
/>
|
|
28
33
|
</section>
|
|
29
34
|
);
|
|
30
35
|
}
|
|
@@ -41,7 +41,7 @@ const RequirePaymentModal: React.FC<RequirePaymentModalProps> = ({ closeModal, p
|
|
|
41
41
|
{isLoading && (
|
|
42
42
|
<InlineLoading
|
|
43
43
|
status="active"
|
|
44
|
-
iconDescription=
|
|
44
|
+
iconDescription={getCoreTranslation('loading')}
|
|
45
45
|
description={t('loadingBillItems', 'Loading bill items') + '...'}
|
|
46
46
|
/>
|
|
47
47
|
)}
|
package/translations/en.json
CHANGED
|
@@ -1,84 +1,82 @@
|
|
|
1
1
|
{
|
|
2
2
|
"add": "Add",
|
|
3
|
-
"addBill": "Add bill
|
|
4
|
-
"
|
|
5
|
-
"addCashPoint": "Add
|
|
3
|
+
"addBill": "Add bill items",
|
|
4
|
+
"addBillableService": "Add billable service",
|
|
5
|
+
"addCashPoint": "Add cash point",
|
|
6
6
|
"addNewBillableService": "Add new billable service",
|
|
7
|
-
"addNewCashPoint": "Add
|
|
8
|
-
"addNewPaymentMode": "Add
|
|
7
|
+
"addNewCashPoint": "Add new cash point",
|
|
8
|
+
"addNewPaymentMode": "Add new payment mode",
|
|
9
9
|
"addNewService": "Add new service",
|
|
10
10
|
"addPaymentMethod": "Add payment method",
|
|
11
|
-
"addPaymentMode": "Add
|
|
11
|
+
"addPaymentMode": "Add payment mode",
|
|
12
12
|
"addPaymentOption": "Add payment option",
|
|
13
13
|
"amount": "Amount",
|
|
14
|
-
"amountDue": "Amount
|
|
14
|
+
"amountDue": "Amount due",
|
|
15
15
|
"amountMustBePositive": "Amount must be greater than 0",
|
|
16
16
|
"amountRequired": "Amount is required",
|
|
17
|
-
"amountTendered": "Amount
|
|
17
|
+
"amountTendered": "Amount tendered",
|
|
18
18
|
"amountToWaiveAriaLabel": "Enter amount to waive",
|
|
19
19
|
"amountToWaiveHelper": "Specify the amount to be deducted from the bill",
|
|
20
|
-
"amountToWaiveLabel": "Amount to
|
|
20
|
+
"amountToWaiveLabel": "Amount to waive",
|
|
21
21
|
"associatedConcept": "Associated concept",
|
|
22
22
|
"billableService": "Billable service",
|
|
23
|
-
"billableServices": "Billable
|
|
23
|
+
"billableServices": "Billable services",
|
|
24
24
|
"billableServices__lower": "billable services",
|
|
25
25
|
"billAmount": "Bill amount",
|
|
26
26
|
"billCode": "Bill code",
|
|
27
27
|
"billCreatedSuccessfully": "Bill created successfully",
|
|
28
28
|
"billCreationError": "Bill creation error",
|
|
29
|
-
"billedItems": "Billed
|
|
29
|
+
"billedItems": "Billed items",
|
|
30
30
|
"billedTo": "Billed to",
|
|
31
|
-
"billErrorService": "
|
|
31
|
+
"billErrorService": "Billing service error",
|
|
32
32
|
"billing": "Billing",
|
|
33
33
|
"billingForm": "Billing form",
|
|
34
|
-
"billingHistory": "Billing
|
|
35
|
-
"billingSettings": "Billing
|
|
34
|
+
"billingHistory": "Billing history",
|
|
35
|
+
"billingSettings": "Billing settings",
|
|
36
36
|
"billItem": "Bill item",
|
|
37
|
-
"billItems": "Bill
|
|
37
|
+
"billItems": "Bill items",
|
|
38
38
|
"billLineItemEmpty": "This bill has no line items",
|
|
39
39
|
"billList": "Bill list",
|
|
40
40
|
"billMetrics": "Bill metrics",
|
|
41
|
-
"billName": "
|
|
41
|
+
"billName": "{{billName}}",
|
|
42
42
|
"billPayment": "Bill payment",
|
|
43
43
|
"billPaymentError": "Bill payment error",
|
|
44
44
|
"billPaymentRequiredMessage": "The current patient has a pending bill. Advise the patient to settle the bill before receiving services",
|
|
45
|
+
"billProcessedSuccessfully": "Bill processed successfully",
|
|
45
46
|
"billProcessingError": "Bill processing error",
|
|
46
|
-
"billProcessingSuccess": "Bill processing has been successful",
|
|
47
47
|
"billServicesManagement": "Bill services management",
|
|
48
|
-
"
|
|
48
|
+
"billsTable": "Bills table",
|
|
49
49
|
"billTotal": "Bill total",
|
|
50
50
|
"billWaiver": "Bill waiver",
|
|
51
51
|
"billWaiverError": "Bill waiver failed {{error}}",
|
|
52
52
|
"billWaiverSuccess": "Bill waiver successful",
|
|
53
|
-
"cashPointConfig": "Cash
|
|
54
|
-
"cashPointHistory": "Cash
|
|
55
|
-
"cashPointLocation": "Cash
|
|
56
|
-
"cashPointName": "Cash
|
|
57
|
-
"cashPointNamePlaceholder": "
|
|
58
|
-
"cashPointNameRequired": "Cash
|
|
53
|
+
"cashPointConfig": "Cash point configuration",
|
|
54
|
+
"cashPointHistory": "Cash point history",
|
|
55
|
+
"cashPointLocation": "Cash point location",
|
|
56
|
+
"cashPointName": "Cash point name",
|
|
57
|
+
"cashPointNamePlaceholder": "For example, Pharmacy Cash Point",
|
|
58
|
+
"cashPointNameRequired": "Cash point name is required",
|
|
59
59
|
"cashPointSaved": "Cash point was successfully saved.",
|
|
60
|
-
"cashPointUuid": "Cash
|
|
60
|
+
"cashPointUuid": "Cash point UUID",
|
|
61
61
|
"cashPointUuidPlaceholder": "Enter UUID",
|
|
62
62
|
"checkFilters": "Check the filters above",
|
|
63
63
|
"confirmDeleteMessage": "Are you sure you want to delete this payment mode? Proceed cautiously.",
|
|
64
64
|
"createdSuccessfully": "Billable service created successfully",
|
|
65
65
|
"currentPrice": "Current price",
|
|
66
66
|
"date": "Date",
|
|
67
|
-
"dateAndTime": "Date
|
|
67
|
+
"dateAndTime": "Date and time",
|
|
68
68
|
"dateOfPayment": "Date of payment",
|
|
69
|
-
"deletePaymentMode": "Delete
|
|
69
|
+
"deletePaymentMode": "Delete payment mode",
|
|
70
70
|
"deleting": "Deleting",
|
|
71
71
|
"description": "Description",
|
|
72
|
-
"descriptionPlaceholder": "
|
|
72
|
+
"descriptionPlaceholder": "For example, Used for all cash transactions",
|
|
73
73
|
"discard": "Discard",
|
|
74
74
|
"discount": "Discount",
|
|
75
|
-
"discountAmount": "Discount
|
|
75
|
+
"discountAmount": "Discount amount",
|
|
76
76
|
"editBillableService": "Edit billable service",
|
|
77
|
-
"editBillableServices": "Edit Billable Services",
|
|
78
77
|
"editBillLineItem": "Edit bill line item",
|
|
79
78
|
"editThisBillItem": "Edit this bill item",
|
|
80
79
|
"enterAmount": "Enter amount",
|
|
81
|
-
"enterConcept": "Associated concept",
|
|
82
80
|
"enterReferenceNumber": "Enter reference number",
|
|
83
81
|
"enterSellingPrice": "Enter selling price",
|
|
84
82
|
"enterServiceName": "Enter service name",
|
|
@@ -88,13 +86,14 @@
|
|
|
88
86
|
"errorFetchingCashPoints": "An error occurred while fetching cash points.",
|
|
89
87
|
"errorFetchingLocations": "An error occurred while fetching locations.",
|
|
90
88
|
"errorFetchingPaymentModes": "An error occurred while fetching payment modes.",
|
|
89
|
+
"errorLoadingBillableServices": "Error loading billable services",
|
|
91
90
|
"errorLoadingBillServices": "Error loading bill services",
|
|
92
91
|
"errorLoadingPaymentModes": "Payment modes error",
|
|
93
92
|
"errorPrintingInvoice": "Error printing invoice",
|
|
94
93
|
"errorProcessingPayment": "Error processing payment",
|
|
95
94
|
"errorSavingCashPoint": "An error occurred while saving the cash point.",
|
|
96
95
|
"errorSavingPaymentMode": "An error occurred while saving the payment mode.",
|
|
97
|
-
"filterBy": "Filter by",
|
|
96
|
+
"filterBy": "Filter by:",
|
|
98
97
|
"filterTable": "Filter table",
|
|
99
98
|
"grandTotal": "Grand total",
|
|
100
99
|
"home": "Home",
|
|
@@ -106,8 +105,9 @@
|
|
|
106
105
|
"invoice": "Invoice",
|
|
107
106
|
"invoiceDate": "Invoice date",
|
|
108
107
|
"invoiceError": "Invoice error",
|
|
108
|
+
"invoiceLineItems": "Invoice line items",
|
|
109
109
|
"invoiceNumber": "Invoice #",
|
|
110
|
-
"invoiceStatus": "Invoice
|
|
110
|
+
"invoiceStatus": "Invoice status",
|
|
111
111
|
"item": "Item",
|
|
112
112
|
"itemsToBeBilled": "Items to be billed",
|
|
113
113
|
"launchBillForm": "Launch bill form",
|
|
@@ -116,57 +116,59 @@
|
|
|
116
116
|
"lineItemUpdateErrorDefault": "Unable to update the bill line item. Please try again.",
|
|
117
117
|
"lineItemUpdateFailed": "Failed to update line item",
|
|
118
118
|
"lineItemUpdateSuccess": "The bill line item has been updated successfully",
|
|
119
|
-
"loading": "Loading data
|
|
120
|
-
"loadingBillInfo": "Loading bill information
|
|
121
|
-
"loadingBillingServices": "Loading billing services
|
|
119
|
+
"loading": "Loading data",
|
|
120
|
+
"loadingBillInfo": "Loading bill information",
|
|
121
|
+
"loadingBillingServices": "Loading billing services",
|
|
122
122
|
"loadingBillItems": "Loading bill items",
|
|
123
|
-
"
|
|
123
|
+
"loadingBillMetrics": "Loading bill metrics",
|
|
124
124
|
"loadingDescription": "Loading",
|
|
125
|
-
"
|
|
125
|
+
"loadingServiceMetrics": "Loading service metrics",
|
|
126
|
+
"location": "Location",
|
|
126
127
|
"locationRequired": "Location is required",
|
|
127
128
|
"manageBillableServices": "Manage billable services",
|
|
128
129
|
"name": "Name",
|
|
129
130
|
"nextPage": "Next page",
|
|
130
|
-
"
|
|
131
|
+
"noBillToDisplay": "There are no bills to display for this patient",
|
|
131
132
|
"noMatchingBillsToDisplay": "No matching bills to display",
|
|
132
133
|
"noMatchingItemsToDisplay": "No matching items to display",
|
|
133
134
|
"noMatchingServicesToDisplay": "No matching services to display",
|
|
134
|
-
"noResultsFor": "No results for",
|
|
135
|
-
"number": "
|
|
135
|
+
"noResultsFor": "No results for {searchTerm}",
|
|
136
|
+
"number": "Number",
|
|
136
137
|
"ok": "OK",
|
|
137
138
|
"patientBill": "Patient bill",
|
|
138
|
-
"patientBillingAlert": "Patient
|
|
139
|
-
"patientBills": "Patient
|
|
139
|
+
"patientBillingAlert": "Patient billing alert",
|
|
140
|
+
"patientBills": "Patient bills",
|
|
140
141
|
"patientBillsDescription": "List of patient bills",
|
|
141
142
|
"patientCategory": "Patient category",
|
|
142
143
|
"paymentAmountCannotExceedAmountDue": "Payment amount cannot exceed amount due",
|
|
143
|
-
"paymentDetails": "Payment
|
|
144
|
+
"paymentDetails": "Payment details",
|
|
144
145
|
"paymentMethod": "Payment method",
|
|
146
|
+
"paymentMethodRequired": "Payment method is required for all items",
|
|
145
147
|
"paymentMethods": "Payment methods",
|
|
146
|
-
"paymentMode": "Payment
|
|
148
|
+
"paymentMode": "Payment mode",
|
|
147
149
|
"paymentModeDeleted": "Payment mode was successfully deleted.",
|
|
148
|
-
"paymentModeHistory": "Payment
|
|
149
|
-
"paymentModeName": "Payment
|
|
150
|
-
"
|
|
151
|
-
"
|
|
150
|
+
"paymentModeHistory": "Payment mode history",
|
|
151
|
+
"paymentModeName": "Payment mode name: {{paymentModeName}}",
|
|
152
|
+
"paymentModeNameLabel": "Payment mode name",
|
|
153
|
+
"paymentModeNamePlaceholder": "For example, Cash, Credit Card",
|
|
154
|
+
"paymentModeNameRequired": "Payment mode name is required",
|
|
152
155
|
"paymentModeRequired": "Payment mode is required",
|
|
153
156
|
"paymentModeSaved": "Payment mode was successfully saved.",
|
|
154
|
-
"paymentModesConfig": "Payment
|
|
157
|
+
"paymentModesConfig": "Payment modes configuration",
|
|
155
158
|
"paymentOptionRequired": "At least one payment option is required",
|
|
156
159
|
"paymentProcessedSuccessfully": "Payment processed successfully",
|
|
157
160
|
"payments": "Payments",
|
|
158
161
|
"policyNumber": "Policy number",
|
|
159
162
|
"postWaiver": "Post waiver",
|
|
160
163
|
"previousPage": "Previous page",
|
|
161
|
-
"price": "
|
|
164
|
+
"price": "Price",
|
|
162
165
|
"priceIsRequired": "Price is required",
|
|
163
|
-
"priceMustBeGreaterThanZero": "Price must be greater than 0",
|
|
164
166
|
"priceMustBeNumber": "Price must be a valid number",
|
|
165
167
|
"priceMustBePositive": "Price must be greater than 0",
|
|
166
168
|
"prices": "Prices",
|
|
167
169
|
"printBill": "Print bill",
|
|
168
170
|
"printReceipt": "Print receipt",
|
|
169
|
-
"processPayment": "Process
|
|
171
|
+
"processPayment": "Process payment",
|
|
170
172
|
"quantity": "Quantity",
|
|
171
173
|
"quantityCannotExceed100": "Quantity cannot exceed 100",
|
|
172
174
|
"quantityMustBeAtLeastOne": "Quantity must be at least 1",
|
|
@@ -177,44 +179,43 @@
|
|
|
177
179
|
"remove": "Remove",
|
|
178
180
|
"removePaymentMethod": "Remove payment method",
|
|
179
181
|
"saveAndClose": "Save and close",
|
|
180
|
-
"saveBill": "Save
|
|
182
|
+
"saveBill": "Save bill",
|
|
181
183
|
"saving": "Saving",
|
|
182
184
|
"searchConcepts": "Search associated concept",
|
|
183
185
|
"searching": "Searching",
|
|
184
186
|
"searchItems": "Search items and services",
|
|
185
187
|
"searchThisTable": "Search this table",
|
|
186
188
|
"selectBillableService": "Select a billable service",
|
|
187
|
-
"selectedItems": "Selected
|
|
188
|
-
"selectLocation": "Select
|
|
189
|
+
"selectedItems": "Selected items",
|
|
190
|
+
"selectLocation": "Select location",
|
|
189
191
|
"selectPatientCategory": "Select patient category",
|
|
190
192
|
"selectPaymentMethod": "Select payment method",
|
|
191
|
-
"selectPaymentMethodRequired": "Please select a payment method for all items",
|
|
192
193
|
"selectPaymentMode": "Select payment mode",
|
|
193
194
|
"selectServiceType": "Select service type",
|
|
194
|
-
"sellingPrice": "Selling
|
|
195
|
-
"
|
|
196
|
-
"
|
|
197
|
-
"
|
|
195
|
+
"sellingPrice": "Selling price",
|
|
196
|
+
"serviceList": "Service list",
|
|
197
|
+
"serviceMetrics": "Service metrics",
|
|
198
|
+
"serviceName": "Service name",
|
|
199
|
+
"serviceNameExceedsLimit": "Service name exceeds the character limit of {{MAX_NAME_LENGTH}}.",
|
|
198
200
|
"serviceNameRequired": "Service name is required",
|
|
199
|
-
"serviceShortName": "Short Name",
|
|
200
201
|
"servicesList": "Services list",
|
|
201
|
-
"serviceStatus": "Service
|
|
202
|
-
"serviceType": "Service
|
|
202
|
+
"serviceStatus": "Service status",
|
|
203
|
+
"serviceType": "Service type",
|
|
203
204
|
"serviceTypeRequired": "Service type is required",
|
|
204
|
-
"shortName": "Short
|
|
205
|
-
"shortNameExceedsLimit": "Short
|
|
206
|
-
"status": "Service
|
|
207
|
-
"submitting": "Submitting
|
|
205
|
+
"shortName": "Short name",
|
|
206
|
+
"shortNameExceedsLimit": "Short name exceeds the character limit of {{MAX_NAME_LENGTH}}.",
|
|
207
|
+
"status": "Service status",
|
|
208
|
+
"submitting": "Submitting",
|
|
208
209
|
"success": "Success",
|
|
209
210
|
"total": "Total",
|
|
210
|
-
"totalAmount": "Total
|
|
211
|
-
"totalTendered": "Total
|
|
211
|
+
"totalAmount": "Total amount",
|
|
212
|
+
"totalTendered": "Total tendered",
|
|
212
213
|
"unitPrice": "Unit price",
|
|
213
|
-
"unitPriceHelperText": "This is the unit price for this item
|
|
214
|
+
"unitPriceHelperText": "This is the unit price for this item",
|
|
214
215
|
"updatedSuccessfully": "Billable service updated successfully",
|
|
215
216
|
"uuid": "UUID",
|
|
216
217
|
"uuidRequired": "UUID is required",
|
|
217
|
-
"validationError": "Validation
|
|
218
|
+
"validationError": "Validation error",
|
|
218
219
|
"visitTime": "Visit time",
|
|
219
220
|
"waiverForm": "Waiver form"
|
|
220
221
|
}
|