@openmrs/esm-billing-app 1.0.2-pre.966 → 1.0.2-pre.976

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.
Files changed (89) hide show
  1. package/dist/1119.js +1 -1
  2. package/dist/1197.js +1 -1
  3. package/dist/2146.js +1 -1
  4. package/dist/2690.js +1 -1
  5. package/dist/3099.js +1 -1
  6. package/dist/3584.js +1 -1
  7. package/dist/4055.js +1 -1
  8. package/dist/4132.js +1 -1
  9. package/dist/4300.js +1 -1
  10. package/dist/4335.js +1 -1
  11. package/dist/4618.js +1 -1
  12. package/dist/4652.js +1 -1
  13. package/dist/4944.js +1 -1
  14. package/dist/5173.js +1 -1
  15. package/dist/5241.js +1 -1
  16. package/dist/5442.js +1 -1
  17. package/dist/5661.js +1 -1
  18. package/dist/6022.js +1 -1
  19. package/dist/6468.js +1 -1
  20. package/dist/6679.js +1 -1
  21. package/dist/6840.js +1 -1
  22. package/dist/6859.js +1 -1
  23. package/dist/7097.js +1 -1
  24. package/dist/7159.js +1 -1
  25. package/dist/723.js +1 -1
  26. package/dist/7617.js +1 -1
  27. package/dist/795.js +1 -1
  28. package/dist/8163.js +1 -1
  29. package/dist/8349.js +1 -1
  30. package/dist/8572.js +1 -1
  31. package/dist/8572.js.map +1 -1
  32. package/dist/8618.js +1 -1
  33. package/dist/890.js +1 -1
  34. package/dist/9214.js +1 -1
  35. package/dist/9538.js +1 -1
  36. package/dist/9569.js +1 -1
  37. package/dist/986.js +1 -1
  38. package/dist/9879.js +1 -1
  39. package/dist/9895.js +1 -1
  40. package/dist/9900.js +1 -1
  41. package/dist/9913.js +1 -1
  42. package/dist/main.js +1 -1
  43. package/dist/main.js.map +1 -1
  44. package/dist/openmrs-esm-billing-app.js.buildmanifest.json +123 -123
  45. package/dist/routes.json +1 -1
  46. package/package.json +1 -1
  47. package/src/invoice/printable-invoice/printable-invoice-header.component.tsx +9 -1
  48. package/src/invoice/printable-invoice/printable-invoice-header.test.tsx +79 -2
  49. package/src/invoice/printable-invoice/printable-invoice.component.tsx +2 -2
  50. package/src/types/index.ts +1 -1
  51. package/translations/am.json +2 -0
  52. package/translations/ar.json +2 -0
  53. package/translations/ar_SY.json +2 -0
  54. package/translations/bn.json +2 -0
  55. package/translations/de.json +2 -0
  56. package/translations/en.json +2 -0
  57. package/translations/en_US.json +2 -0
  58. package/translations/es.json +2 -0
  59. package/translations/es_MX.json +2 -0
  60. package/translations/fr.json +2 -0
  61. package/translations/he.json +2 -0
  62. package/translations/hi.json +2 -0
  63. package/translations/hi_IN.json +2 -0
  64. package/translations/id.json +2 -0
  65. package/translations/it.json +2 -0
  66. package/translations/ka.json +2 -0
  67. package/translations/km.json +2 -0
  68. package/translations/ku.json +2 -0
  69. package/translations/ky.json +2 -0
  70. package/translations/lg.json +2 -0
  71. package/translations/ne.json +2 -0
  72. package/translations/pl.json +2 -0
  73. package/translations/pt.json +2 -0
  74. package/translations/pt_BR.json +2 -0
  75. package/translations/qu.json +2 -0
  76. package/translations/ro_RO.json +2 -0
  77. package/translations/ru_RU.json +2 -0
  78. package/translations/si.json +2 -0
  79. package/translations/sw.json +2 -0
  80. package/translations/sw_KE.json +2 -0
  81. package/translations/tr.json +2 -0
  82. package/translations/tr_TR.json +2 -0
  83. package/translations/uk.json +2 -0
  84. package/translations/uz.json +2 -0
  85. package/translations/uz@Latn.json +2 -0
  86. package/translations/uz_UZ.json +2 -0
  87. package/translations/vi.json +2 -0
  88. package/translations/zh.json +2 -0
  89. package/translations/zh_CN.json +2 -0
package/dist/routes.json CHANGED
@@ -1 +1 @@
1
- {"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"webservices.rest":">=2.24.0","fhir2":">=1.2"},"pages":[{"component":"billableServicesHome","route":"billable-services"}],"extensions":[{"component":"billingDashboardLink","name":"billing-dashboard-link","slot":"homepage-dashboard-slot","meta":{"name":"billing","title":"billing","slot":"billing-dashboard-slot"}},{"component":"root","name":"billing-dashboard-root","slot":"billing-dashboard-slot"},{"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 history"}},{"name":"billable-services-app-menu-item","component":"billableServicesAppMenuItem","slot":"app-menu-item-slot","meta":{"name":"Billable Services"}},{"name":"billing-checkin-form","slot":"extra-visit-attribute-slot","component":"billingCheckInForm"},{"slot":"system-admin-page-card-link-slot","component":"billableServicesCardLink","name":"billable-services-admin-card-link"},{"name":"patient-banner-billing-tags","component":"visitAttributeTags","slot":"patient-banner-tags-slot","order":2},{"name":"billable-services-left-panel-link","component":"billableServicesLeftPanelLink","slot":"billable-services-left-panel-slot","order":0},{"name":"bill-waiver-left-panel-link","component":"billWaiverLeftPanelLink","slot":"billable-services-left-panel-slot","order":1},{"name":"billing-settings-left-panel-menu","component":"billingSettingsLeftPanelMenu","slot":"billable-services-left-panel-slot","order":2}],"modals":[{"name":"add-cash-point-modal","component":"addCashPointModal"},{"name":"payment-mode-form-modal","component":"paymentModeFormModal"},{"name":"delete-payment-mode-modal","component":"deletePaymentModeModal"},{"name":"edit-bill-item-modal","component":"editBillLineItemModal"},{"name":"edit-bill-line-item-modal","component":"editBillLineItemModal"},{"name":"require-billing-modal","component":"requirePaymentModal"}],"workspaces":[{"name":"billing-form-workspace","title":"billingForm","component":"billingFormWorkspace","type":"form"},{"name":"billable-service-form","title":"billableServiceForm","component":"billableServiceFormWorkspace","type":"form","width":"wider"}],"version":"1.0.2-pre.966"}
1
+ {"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"webservices.rest":">=2.24.0","fhir2":">=1.2"},"pages":[{"component":"billableServicesHome","route":"billable-services"}],"extensions":[{"component":"billingDashboardLink","name":"billing-dashboard-link","slot":"homepage-dashboard-slot","meta":{"name":"billing","title":"billing","slot":"billing-dashboard-slot"}},{"component":"root","name":"billing-dashboard-root","slot":"billing-dashboard-slot"},{"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 history"}},{"name":"billable-services-app-menu-item","component":"billableServicesAppMenuItem","slot":"app-menu-item-slot","meta":{"name":"Billable Services"}},{"name":"billing-checkin-form","slot":"extra-visit-attribute-slot","component":"billingCheckInForm"},{"slot":"system-admin-page-card-link-slot","component":"billableServicesCardLink","name":"billable-services-admin-card-link"},{"name":"patient-banner-billing-tags","component":"visitAttributeTags","slot":"patient-banner-tags-slot","order":2},{"name":"billable-services-left-panel-link","component":"billableServicesLeftPanelLink","slot":"billable-services-left-panel-slot","order":0},{"name":"bill-waiver-left-panel-link","component":"billWaiverLeftPanelLink","slot":"billable-services-left-panel-slot","order":1},{"name":"billing-settings-left-panel-menu","component":"billingSettingsLeftPanelMenu","slot":"billable-services-left-panel-slot","order":2}],"modals":[{"name":"add-cash-point-modal","component":"addCashPointModal"},{"name":"payment-mode-form-modal","component":"paymentModeFormModal"},{"name":"delete-payment-mode-modal","component":"deletePaymentModeModal"},{"name":"edit-bill-item-modal","component":"editBillLineItemModal"},{"name":"edit-bill-line-item-modal","component":"editBillLineItemModal"},{"name":"require-billing-modal","component":"requirePaymentModal"}],"workspaces":[{"name":"billing-form-workspace","title":"billingForm","component":"billingFormWorkspace","type":"form"},{"name":"billable-service-form","title":"billableServiceForm","component":"billableServiceFormWorkspace","type":"form","width":"wider"}],"version":"1.0.2-pre.976"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openmrs/esm-billing-app",
3
- "version": "1.0.2-pre.966",
3
+ "version": "1.0.2-pre.976",
4
4
  "description": "O3 frontend module for handling billing concerns in healthcare settings",
5
5
  "browser": "dist/openmrs-esm-billing-app.js",
6
6
  "main": "src/index.ts",
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { type PatientDetails } from '../../types';
3
- import { type SessionLocation, useConfig, interpolateUrl } from '@openmrs/esm-framework';
3
+ import { type SessionLocation, useConfig, interpolateUrl, formatDate, parseDate } from '@openmrs/esm-framework';
4
4
  import { useTranslation } from 'react-i18next';
5
5
  import type { BillingConfig } from '../../config-schema';
6
6
  import styles from './printable-invoice-header.scss';
@@ -45,6 +45,14 @@ const PrintableInvoiceHeader: React.FC<PrintableInvoiceHeaderProps> = ({ patient
45
45
  <div className={styles.billDetails}>
46
46
  <p className={styles.itemHeading}>{t('billedTo', 'Billed to')}</p>
47
47
  <p className={styles.itemLabel}>{patientDetails?.name}</p>
48
+ {patientDetails?.gender && (
49
+ <p className={styles.itemLabel}>{`${t('gender', 'Gender')}: ${patientDetails.gender}`}</p>
50
+ )}
51
+ {patientDetails?.birthDate && (
52
+ <p className={styles.itemLabel}>
53
+ {`${t('birthDate', 'Date of birth')}: ${formatDate(parseDate(patientDetails.birthDate), { time: false })}`}
54
+ </p>
55
+ )}
48
56
  <p className={styles.itemLabel}>{patientDetails?.county}</p>
49
57
  <p className={styles.itemLabel}>
50
58
  {patientDetails?.subCounty}
@@ -18,7 +18,7 @@ const testProps = {
18
18
  county: 'Nairobi',
19
19
  subCounty: 'Westlands',
20
20
  city: 'Nairobi',
21
- age: '45',
21
+ birthDate: '1980-05-15',
22
22
  gender: 'Male',
23
23
  },
24
24
  };
@@ -44,6 +44,8 @@ describe('PrintableInvoiceHeader', () => {
44
44
  expect(screen.getByText('Westlands, Nairobi')).toBeInTheDocument();
45
45
  expect(screen.getByText('MTRH')).toBeInTheDocument();
46
46
  expect(screen.getByText('Kenya')).toBeInTheDocument();
47
+ expect(screen.getByText('Gender: Male')).toBeInTheDocument();
48
+ expect(screen.getByText('Date of birth: 15-May-1980')).toBeInTheDocument();
47
49
  });
48
50
 
49
51
  test('should display the logo when logo is provided', () => {
@@ -52,9 +54,84 @@ describe('PrintableInvoiceHeader', () => {
52
54
  expect(logo).toBeInTheDocument();
53
55
  });
54
56
 
55
- test('should display the default logo when logo is not provided', () => {
57
+ test('should display the default OpenMRS SVG logo when logo src is not provided', () => {
58
+ mockUseConfig.mockReturnValue({
59
+ logo: { src: '', alt: '' },
60
+ country: 'Kenya',
61
+ } as unknown as BillingConfig);
62
+
56
63
  render(<PrintableInvoiceHeader {...testProps} defaultFacility={defaultFacility} />);
57
64
  const logo = screen.getByRole('img');
58
65
  expect(logo).toBeInTheDocument();
66
+ expect(logo.tagName).toBe('svg');
67
+ });
68
+
69
+ test('should display logo alt text when src is empty but alt is provided', () => {
70
+ mockUseConfig.mockReturnValue({
71
+ logo: { src: '', alt: 'Test Facility Logo' },
72
+ country: 'Kenya',
73
+ } as unknown as BillingConfig);
74
+
75
+ render(<PrintableInvoiceHeader {...testProps} defaultFacility={defaultFacility} />);
76
+ expect(screen.getByText('Test Facility Logo')).toBeInTheDocument();
77
+ });
78
+
79
+ test('should format birthDate correctly', () => {
80
+ const propsWithDifferentDate = {
81
+ patientDetails: {
82
+ name: 'Jane Doe',
83
+ county: 'Mombasa',
84
+ subCounty: 'Nyali',
85
+ city: 'Mombasa',
86
+ birthDate: '1995-12-25',
87
+ gender: 'Female',
88
+ },
89
+ };
90
+ render(<PrintableInvoiceHeader {...propsWithDifferentDate} defaultFacility={defaultFacility} />);
91
+ expect(screen.getByText('Date of birth: 25-Dec-1995')).toBeInTheDocument();
92
+ });
93
+
94
+ test('should not render birthDate and gender when not provided', () => {
95
+ const propsWithoutBirthDateAndGender = {
96
+ patientDetails: {
97
+ name: 'Jane Doe',
98
+ county: 'Mombasa',
99
+ subCounty: 'Nyali',
100
+ city: 'Mombasa',
101
+ birthDate: '',
102
+ gender: '',
103
+ },
104
+ };
105
+ render(<PrintableInvoiceHeader {...propsWithoutBirthDateAndGender} defaultFacility={defaultFacility} />);
106
+
107
+ expect(screen.queryByText(/Date of birth:/i)).not.toBeInTheDocument();
108
+ expect(screen.queryByText(/Gender:/i)).not.toBeInTheDocument();
109
+ });
110
+
111
+ test('should render city with comma when provided', () => {
112
+ render(<PrintableInvoiceHeader {...testProps} defaultFacility={defaultFacility} />);
113
+ expect(screen.getByText('Westlands, Nairobi')).toBeInTheDocument();
114
+ });
115
+
116
+ test('should render subCounty without comma when city is not provided', () => {
117
+ const propsWithoutCity = {
118
+ patientDetails: {
119
+ name: 'Jane Doe',
120
+ county: 'Mombasa',
121
+ subCounty: 'Nyali',
122
+ city: '',
123
+ birthDate: '1990-01-01',
124
+ gender: 'Female',
125
+ },
126
+ };
127
+ render(<PrintableInvoiceHeader {...propsWithoutCity} defaultFacility={defaultFacility} />);
128
+ expect(screen.getByText('Nyali')).toBeInTheDocument();
129
+ expect(screen.queryByText(/Nyali,/)).not.toBeInTheDocument();
130
+ });
131
+
132
+ test('should handle null defaultFacility gracefully', () => {
133
+ render(<PrintableInvoiceHeader {...testProps} defaultFacility={null} />);
134
+ expect(screen.getByText('Invoice')).toBeInTheDocument();
135
+ expect(screen.getByText('John Doe')).toBeInTheDocument();
59
136
  });
60
137
  });
@@ -9,7 +9,7 @@ import {
9
9
  TableHeader,
10
10
  TableCell,
11
11
  } from '@carbon/react';
12
- import { age, isDesktop, type SessionLocation, useLayoutType } from '@openmrs/esm-framework';
12
+ import { isDesktop, type SessionLocation, useLayoutType } from '@openmrs/esm-framework';
13
13
  import { getGender } from '../../helpers';
14
14
  import { type MappedBill } from '../../types';
15
15
  import { useTranslation } from 'react-i18next';
@@ -56,7 +56,7 @@ const PrintableInvoice: React.FC<PrintableInvoiceProps> = ({ bill, patient, comp
56
56
  const patientDetails = useMemo(() => {
57
57
  return {
58
58
  name: `${patient?.name?.[0]?.given?.join(' ')} ${patient?.name?.[0].family}`,
59
- age: age(patient?.birthDate),
59
+ birthDate: patient?.birthDate,
60
60
  gender: getGender(patient?.gender, t),
61
61
  city: patient?.address?.[0].city,
62
62
  county: patient?.address?.[0].district,
@@ -153,7 +153,7 @@ export interface PatientInvoice {
153
153
 
154
154
  export interface PatientDetails {
155
155
  name: string;
156
- age: string;
156
+ birthDate: string;
157
157
  gender: string;
158
158
  city: string;
159
159
  county: string;
@@ -55,6 +55,7 @@
55
55
  "billWaiver": "Bill waiver",
56
56
  "billWaiverError": "Bill waiver failed {{error}}",
57
57
  "billWaiverSuccess": "Bill waiver successful",
58
+ "birthDate": "Date of birth",
58
59
  "cashPointConfig": "Cash point configuration",
59
60
  "cashPointHistory": "Cash point history",
60
61
  "cashPointLocation": "Cash point location",
@@ -100,6 +101,7 @@
100
101
  "errorSavingPaymentMode": "An error occurred while saving the payment mode.",
101
102
  "filterBy": "Filter by:",
102
103
  "filterTable": "Filter table",
104
+ "gender": "Gender",
103
105
  "grandTotal": "Grand total",
104
106
  "home": "Home",
105
107
  "identifier": "Identifier",
@@ -55,6 +55,7 @@
55
55
  "billWaiver": "Bill waiver",
56
56
  "billWaiverError": "Bill waiver failed {{error}}",
57
57
  "billWaiverSuccess": "Bill waiver successful",
58
+ "birthDate": "Date of birth",
58
59
  "cashPointConfig": "Cash point configuration",
59
60
  "cashPointHistory": "Cash point history",
60
61
  "cashPointLocation": "Cash point location",
@@ -100,6 +101,7 @@
100
101
  "errorSavingPaymentMode": "An error occurred while saving the payment mode.",
101
102
  "filterBy": "Filter by:",
102
103
  "filterTable": "Filter table",
104
+ "gender": "Gender",
103
105
  "grandTotal": "Grand total",
104
106
  "home": "Home",
105
107
  "identifier": "Identifier",
@@ -55,6 +55,7 @@
55
55
  "billWaiver": "Bill waiver",
56
56
  "billWaiverError": "Bill waiver failed {{error}}",
57
57
  "billWaiverSuccess": "Bill waiver successful",
58
+ "birthDate": "Date of birth",
58
59
  "cashPointConfig": "Cash point configuration",
59
60
  "cashPointHistory": "Cash point history",
60
61
  "cashPointLocation": "Cash point location",
@@ -100,6 +101,7 @@
100
101
  "errorSavingPaymentMode": "An error occurred while saving the payment mode.",
101
102
  "filterBy": "Filter by:",
102
103
  "filterTable": "Filter table",
104
+ "gender": "Gender",
103
105
  "grandTotal": "Grand total",
104
106
  "home": "Home",
105
107
  "identifier": "Identifier",
@@ -55,6 +55,7 @@
55
55
  "billWaiver": "Bill waiver",
56
56
  "billWaiverError": "Bill waiver failed {{error}}",
57
57
  "billWaiverSuccess": "Bill waiver successful",
58
+ "birthDate": "Date of birth",
58
59
  "cashPointConfig": "Cash point configuration",
59
60
  "cashPointHistory": "Cash point history",
60
61
  "cashPointLocation": "Cash point location",
@@ -100,6 +101,7 @@
100
101
  "errorSavingPaymentMode": "An error occurred while saving the payment mode.",
101
102
  "filterBy": "Filter by:",
102
103
  "filterTable": "Filter table",
104
+ "gender": "Gender",
103
105
  "grandTotal": "Grand total",
104
106
  "home": "Home",
105
107
  "identifier": "Identifier",
@@ -55,6 +55,7 @@
55
55
  "billWaiver": "Bill waiver",
56
56
  "billWaiverError": "Bill waiver failed {{error}}",
57
57
  "billWaiverSuccess": "Bill waiver successful",
58
+ "birthDate": "Date of birth",
58
59
  "cashPointConfig": "Cash point configuration",
59
60
  "cashPointHistory": "Cash point history",
60
61
  "cashPointLocation": "Cash point location",
@@ -100,6 +101,7 @@
100
101
  "errorSavingPaymentMode": "An error occurred while saving the payment mode.",
101
102
  "filterBy": "Filter by:",
102
103
  "filterTable": "Filter table",
104
+ "gender": "Gender",
103
105
  "grandTotal": "Grand total",
104
106
  "home": "Home",
105
107
  "identifier": "Identifier",
@@ -55,6 +55,7 @@
55
55
  "billWaiver": "Bill waiver",
56
56
  "billWaiverError": "Bill waiver failed {{error}}",
57
57
  "billWaiverSuccess": "Bill waiver successful",
58
+ "birthDate": "Date of birth",
58
59
  "cashPointConfig": "Cash point configuration",
59
60
  "cashPointHistory": "Cash point history",
60
61
  "cashPointLocation": "Cash point location",
@@ -100,6 +101,7 @@
100
101
  "errorSavingPaymentMode": "An error occurred while saving the payment mode.",
101
102
  "filterBy": "Filter by:",
102
103
  "filterTable": "Filter table",
104
+ "gender": "Gender",
103
105
  "grandTotal": "Grand total",
104
106
  "home": "Home",
105
107
  "identifier": "Identifier",
@@ -55,6 +55,7 @@
55
55
  "billWaiver": "Bill waiver",
56
56
  "billWaiverError": "Bill waiver failed {{error}}",
57
57
  "billWaiverSuccess": "Bill waiver successful",
58
+ "birthDate": "Date of birth",
58
59
  "cashPointConfig": "Cash point configuration",
59
60
  "cashPointHistory": "Cash point history",
60
61
  "cashPointLocation": "Cash point location",
@@ -100,6 +101,7 @@
100
101
  "errorSavingPaymentMode": "An error occurred while saving the payment mode.",
101
102
  "filterBy": "Filter by:",
102
103
  "filterTable": "Filter table",
104
+ "gender": "Gender",
103
105
  "grandTotal": "Grand total",
104
106
  "home": "Home",
105
107
  "identifier": "Identifier",
@@ -55,6 +55,7 @@
55
55
  "billWaiver": "Bill waiver",
56
56
  "billWaiverError": "Bill waiver failed {{error}}",
57
57
  "billWaiverSuccess": "Bill waiver successful",
58
+ "birthDate": "Date of birth",
58
59
  "cashPointConfig": "Cash point configuration",
59
60
  "cashPointHistory": "Cash point history",
60
61
  "cashPointLocation": "Cash point location",
@@ -100,6 +101,7 @@
100
101
  "errorSavingPaymentMode": "An error occurred while saving the payment mode.",
101
102
  "filterBy": "Filter by:",
102
103
  "filterTable": "Filter table",
104
+ "gender": "Gender",
103
105
  "grandTotal": "Grand total",
104
106
  "home": "Home",
105
107
  "identifier": "Identifier",
@@ -55,6 +55,7 @@
55
55
  "billWaiver": "Bill waiver",
56
56
  "billWaiverError": "Bill waiver failed {{error}}",
57
57
  "billWaiverSuccess": "Bill waiver successful",
58
+ "birthDate": "Date of birth",
58
59
  "cashPointConfig": "Cash point configuration",
59
60
  "cashPointHistory": "Cash point history",
60
61
  "cashPointLocation": "Cash point location",
@@ -100,6 +101,7 @@
100
101
  "errorSavingPaymentMode": "An error occurred while saving the payment mode.",
101
102
  "filterBy": "Filter by:",
102
103
  "filterTable": "Filter table",
104
+ "gender": "Gender",
103
105
  "grandTotal": "Grand total",
104
106
  "home": "Home",
105
107
  "identifier": "Identifier",
@@ -55,6 +55,7 @@
55
55
  "billWaiver": "Bill waiver",
56
56
  "billWaiverError": "Bill waiver failed {{error}}",
57
57
  "billWaiverSuccess": "Bill waiver successful",
58
+ "birthDate": "Date of birth",
58
59
  "cashPointConfig": "Cash point configuration",
59
60
  "cashPointHistory": "Cash point history",
60
61
  "cashPointLocation": "Cash point location",
@@ -100,6 +101,7 @@
100
101
  "errorSavingPaymentMode": "An error occurred while saving the payment mode.",
101
102
  "filterBy": "Filter by:",
102
103
  "filterTable": "Filter table",
104
+ "gender": "Gender",
103
105
  "grandTotal": "Grand total",
104
106
  "home": "Home",
105
107
  "identifier": "Identifier",
@@ -55,6 +55,7 @@
55
55
  "billWaiver": "Bill waiver",
56
56
  "billWaiverError": "Bill waiver failed {{error}}",
57
57
  "billWaiverSuccess": "Bill waiver successful",
58
+ "birthDate": "Date of birth",
58
59
  "cashPointConfig": "Cash point configuration",
59
60
  "cashPointHistory": "Cash point history",
60
61
  "cashPointLocation": "Cash point location",
@@ -100,6 +101,7 @@
100
101
  "errorSavingPaymentMode": "An error occurred while saving the payment mode.",
101
102
  "filterBy": "Filter by:",
102
103
  "filterTable": "Filter table",
104
+ "gender": "Gender",
103
105
  "grandTotal": "Grand total",
104
106
  "home": "Home",
105
107
  "identifier": "Identifier",
@@ -55,6 +55,7 @@
55
55
  "billWaiver": "Bill waiver",
56
56
  "billWaiverError": "Bill waiver failed {{error}}",
57
57
  "billWaiverSuccess": "Bill waiver successful",
58
+ "birthDate": "Date of birth",
58
59
  "cashPointConfig": "Cash point configuration",
59
60
  "cashPointHistory": "Cash point history",
60
61
  "cashPointLocation": "Cash point location",
@@ -100,6 +101,7 @@
100
101
  "errorSavingPaymentMode": "An error occurred while saving the payment mode.",
101
102
  "filterBy": "Filter by:",
102
103
  "filterTable": "Filter table",
104
+ "gender": "Gender",
103
105
  "grandTotal": "Grand total",
104
106
  "home": "Home",
105
107
  "identifier": "Identifier",
@@ -55,6 +55,7 @@
55
55
  "billWaiver": "Bill waiver",
56
56
  "billWaiverError": "Bill waiver failed {{error}}",
57
57
  "billWaiverSuccess": "Bill waiver successful",
58
+ "birthDate": "Date of birth",
58
59
  "cashPointConfig": "Cash point configuration",
59
60
  "cashPointHistory": "Cash point history",
60
61
  "cashPointLocation": "Cash point location",
@@ -100,6 +101,7 @@
100
101
  "errorSavingPaymentMode": "An error occurred while saving the payment mode.",
101
102
  "filterBy": "Filter by:",
102
103
  "filterTable": "Filter table",
104
+ "gender": "Gender",
103
105
  "grandTotal": "Grand total",
104
106
  "home": "Home",
105
107
  "identifier": "Identifier",
@@ -55,6 +55,7 @@
55
55
  "billWaiver": "Pembebasan tagihan",
56
56
  "billWaiverError": "Gagal membebaskan tagihan {{error}}",
57
57
  "billWaiverSuccess": "Pembebasan tagihan berhasil",
58
+ "birthDate": "Date of birth",
58
59
  "cashPointConfig": "Cash point configuration",
59
60
  "cashPointHistory": "Cash point history",
60
61
  "cashPointLocation": "Cash point location",
@@ -100,6 +101,7 @@
100
101
  "errorSavingPaymentMode": "Terjadi kesalahan saat menyimpan metode pembayaran.",
101
102
  "filterBy": "Filter by:",
102
103
  "filterTable": "Filter tabel",
104
+ "gender": "Gender",
103
105
  "grandTotal": "Total keseluruhan",
104
106
  "home": "Beranda",
105
107
  "identifier": "Identifikasi",
@@ -55,6 +55,7 @@
55
55
  "billWaiver": "Bill waiver",
56
56
  "billWaiverError": "Bill waiver failed {{error}}",
57
57
  "billWaiverSuccess": "Bill waiver successful",
58
+ "birthDate": "Date of birth",
58
59
  "cashPointConfig": "Cash point configuration",
59
60
  "cashPointHistory": "Cash point history",
60
61
  "cashPointLocation": "Cash point location",
@@ -100,6 +101,7 @@
100
101
  "errorSavingPaymentMode": "Si è verificato un errore durante il salvataggio del metodo di pagamento.",
101
102
  "filterBy": "Filter by:",
102
103
  "filterTable": "Filtra tabella",
104
+ "gender": "Gender",
103
105
  "grandTotal": "Grand total",
104
106
  "home": "Pagina principale",
105
107
  "identifier": "Identificativo",
@@ -55,6 +55,7 @@
55
55
  "billWaiver": "Bill waiver",
56
56
  "billWaiverError": "Bill waiver failed {{error}}",
57
57
  "billWaiverSuccess": "Bill waiver successful",
58
+ "birthDate": "Date of birth",
58
59
  "cashPointConfig": "Cash point configuration",
59
60
  "cashPointHistory": "Cash point history",
60
61
  "cashPointLocation": "Cash point location",
@@ -100,6 +101,7 @@
100
101
  "errorSavingPaymentMode": "An error occurred while saving the payment mode.",
101
102
  "filterBy": "Filter by:",
102
103
  "filterTable": "ცხრილის გაფილტვრა",
104
+ "gender": "Gender",
103
105
  "grandTotal": "მთლიანი ჯამი",
104
106
  "home": "საწყისი",
105
107
  "identifier": "იდენტიფიკატორი",
@@ -55,6 +55,7 @@
55
55
  "billWaiver": "Bill waiver",
56
56
  "billWaiverError": "Bill waiver failed {{error}}",
57
57
  "billWaiverSuccess": "Bill waiver successful",
58
+ "birthDate": "Date of birth",
58
59
  "cashPointConfig": "Cash point configuration",
59
60
  "cashPointHistory": "Cash point history",
60
61
  "cashPointLocation": "Cash point location",
@@ -100,6 +101,7 @@
100
101
  "errorSavingPaymentMode": "An error occurred while saving the payment mode.",
101
102
  "filterBy": "Filter by:",
102
103
  "filterTable": "Filter table",
104
+ "gender": "Gender",
103
105
  "grandTotal": "Grand total",
104
106
  "home": "Home",
105
107
  "identifier": "Identifier",
@@ -55,6 +55,7 @@
55
55
  "billWaiver": "Bill waiver",
56
56
  "billWaiverError": "Bill waiver failed {{error}}",
57
57
  "billWaiverSuccess": "Bill waiver successful",
58
+ "birthDate": "Date of birth",
58
59
  "cashPointConfig": "Cash point configuration",
59
60
  "cashPointHistory": "Cash point history",
60
61
  "cashPointLocation": "Cash point location",
@@ -100,6 +101,7 @@
100
101
  "errorSavingPaymentMode": "An error occurred while saving the payment mode.",
101
102
  "filterBy": "Filter by:",
102
103
  "filterTable": "Filter table",
104
+ "gender": "Gender",
103
105
  "grandTotal": "Grand total",
104
106
  "home": "Home",
105
107
  "identifier": "Identifier",
@@ -55,6 +55,7 @@
55
55
  "billWaiver": "Bill waiver",
56
56
  "billWaiverError": "Bill waiver failed {{error}}",
57
57
  "billWaiverSuccess": "Bill waiver successful",
58
+ "birthDate": "Date of birth",
58
59
  "cashPointConfig": "Cash point configuration",
59
60
  "cashPointHistory": "Cash point history",
60
61
  "cashPointLocation": "Cash point location",
@@ -100,6 +101,7 @@
100
101
  "errorSavingPaymentMode": "An error occurred while saving the payment mode.",
101
102
  "filterBy": "Filter by:",
102
103
  "filterTable": "Filter table",
104
+ "gender": "Gender",
103
105
  "grandTotal": "Grand total",
104
106
  "home": "Home",
105
107
  "identifier": "Identifier",
@@ -55,6 +55,7 @@
55
55
  "billWaiver": "Bill waiver",
56
56
  "billWaiverError": "Bill waiver failed {{error}}",
57
57
  "billWaiverSuccess": "Bill waiver successful",
58
+ "birthDate": "Date of birth",
58
59
  "cashPointConfig": "Cash point configuration",
59
60
  "cashPointHistory": "Cash point history",
60
61
  "cashPointLocation": "Cash point location",
@@ -100,6 +101,7 @@
100
101
  "errorSavingPaymentMode": "An error occurred while saving the payment mode.",
101
102
  "filterBy": "Filter by:",
102
103
  "filterTable": "Filter table",
104
+ "gender": "Gender",
103
105
  "grandTotal": "Grand total",
104
106
  "home": "Home",
105
107
  "identifier": "Identifier",
@@ -55,6 +55,7 @@
55
55
  "billWaiver": "Bill waiver",
56
56
  "billWaiverError": "Bill waiver failed {{error}}",
57
57
  "billWaiverSuccess": "Bill waiver successful",
58
+ "birthDate": "Date of birth",
58
59
  "cashPointConfig": "Cash point configuration",
59
60
  "cashPointHistory": "Cash point history",
60
61
  "cashPointLocation": "Cash point location",
@@ -100,6 +101,7 @@
100
101
  "errorSavingPaymentMode": "An error occurred while saving the payment mode.",
101
102
  "filterBy": "Filter by:",
102
103
  "filterTable": "Filter table",
104
+ "gender": "Gender",
103
105
  "grandTotal": "Grand total",
104
106
  "home": "Home",
105
107
  "identifier": "Identifier",
@@ -55,6 +55,7 @@
55
55
  "billWaiver": "Bill waiver",
56
56
  "billWaiverError": "Bill waiver failed {{error}}",
57
57
  "billWaiverSuccess": "Bill waiver successful",
58
+ "birthDate": "Date of birth",
58
59
  "cashPointConfig": "Cash point configuration",
59
60
  "cashPointHistory": "Cash point history",
60
61
  "cashPointLocation": "Cash point location",
@@ -100,6 +101,7 @@
100
101
  "errorSavingPaymentMode": "An error occurred while saving the payment mode.",
101
102
  "filterBy": "Filter by:",
102
103
  "filterTable": "Filter table",
104
+ "gender": "Gender",
103
105
  "grandTotal": "Grand total",
104
106
  "home": "Home",
105
107
  "identifier": "Identifier",
@@ -55,6 +55,7 @@
55
55
  "billWaiver": "Bill waiver",
56
56
  "billWaiverError": "Bill waiver failed {{error}}",
57
57
  "billWaiverSuccess": "Bill waiver successful",
58
+ "birthDate": "Date of birth",
58
59
  "cashPointConfig": "Cash point configuration",
59
60
  "cashPointHistory": "Cash point history",
60
61
  "cashPointLocation": "Cash point location",
@@ -100,6 +101,7 @@
100
101
  "errorSavingPaymentMode": "An error occurred while saving the payment mode.",
101
102
  "filterBy": "Filter by:",
102
103
  "filterTable": "Filter table",
104
+ "gender": "Gender",
103
105
  "grandTotal": "Grand total",
104
106
  "home": "Home",
105
107
  "identifier": "Identifier",
@@ -55,6 +55,7 @@
55
55
  "billWaiver": "Bill waiver",
56
56
  "billWaiverError": "Bill waiver failed {{error}}",
57
57
  "billWaiverSuccess": "Bill waiver successful",
58
+ "birthDate": "Date of birth",
58
59
  "cashPointConfig": "Cash point configuration",
59
60
  "cashPointHistory": "Cash point history",
60
61
  "cashPointLocation": "Cash point location",
@@ -100,6 +101,7 @@
100
101
  "errorSavingPaymentMode": "An error occurred while saving the payment mode.",
101
102
  "filterBy": "Filter by:",
102
103
  "filterTable": "Filter table",
104
+ "gender": "Gender",
103
105
  "grandTotal": "Grand total",
104
106
  "home": "Home",
105
107
  "identifier": "Identifier",
@@ -55,6 +55,7 @@
55
55
  "billWaiver": "Bill waiver",
56
56
  "billWaiverError": "Bill waiver failed {{error}}",
57
57
  "billWaiverSuccess": "Bill waiver successful",
58
+ "birthDate": "Date of birth",
58
59
  "cashPointConfig": "Cash point configuration",
59
60
  "cashPointHistory": "Cash point history",
60
61
  "cashPointLocation": "Cash point location",
@@ -100,6 +101,7 @@
100
101
  "errorSavingPaymentMode": "An error occurred while saving the payment mode.",
101
102
  "filterBy": "Filter by:",
102
103
  "filterTable": "Filter table",
104
+ "gender": "Gender",
103
105
  "grandTotal": "Grand total",
104
106
  "home": "Home",
105
107
  "identifier": "Identifier",
@@ -55,6 +55,7 @@
55
55
  "billWaiver": "Scutire factura",
56
56
  "billWaiverError": "Scutirea a esuat {{error}}",
57
57
  "billWaiverSuccess": "Scutire efectuata cu succes",
58
+ "birthDate": "Date of birth",
58
59
  "cashPointConfig": "Cash point configuration",
59
60
  "cashPointHistory": "Cash point history",
60
61
  "cashPointLocation": "Cash point location",
@@ -100,6 +101,7 @@
100
101
  "errorSavingPaymentMode": "Eroare la salvarea metodei de plata.",
101
102
  "filterBy": "Filter by:",
102
103
  "filterTable": "Filtreaza tabelul",
104
+ "gender": "Gender",
103
105
  "grandTotal": "Total general",
104
106
  "home": "Acasa",
105
107
  "identifier": "Identificator",
@@ -55,6 +55,7 @@
55
55
  "billWaiver": "Bill waiver",
56
56
  "billWaiverError": "Bill waiver failed {{error}}",
57
57
  "billWaiverSuccess": "Bill waiver successful",
58
+ "birthDate": "Date of birth",
58
59
  "cashPointConfig": "Cash point configuration",
59
60
  "cashPointHistory": "Cash point history",
60
61
  "cashPointLocation": "Cash point location",
@@ -100,6 +101,7 @@
100
101
  "errorSavingPaymentMode": "An error occurred while saving the payment mode.",
101
102
  "filterBy": "Filter by:",
102
103
  "filterTable": "Filter table",
104
+ "gender": "Gender",
103
105
  "grandTotal": "Grand total",
104
106
  "home": "Home",
105
107
  "identifier": "Identifier",