@digihmis/esm-billing-app 1.0.0

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 (115) hide show
  1. package/README.md +4 -0
  2. package/dist/117.js +1 -0
  3. package/dist/117.js.map +1 -0
  4. package/dist/132.js +1 -0
  5. package/dist/132.js.map +1 -0
  6. package/dist/152.js +1 -0
  7. package/dist/152.js.map +1 -0
  8. package/dist/16.js +1 -0
  9. package/dist/16.js.map +1 -0
  10. package/dist/209.js +1 -0
  11. package/dist/209.js.map +1 -0
  12. package/dist/317.js +1 -0
  13. package/dist/317.js.map +1 -0
  14. package/dist/349.js +1 -0
  15. package/dist/349.js.map +1 -0
  16. package/dist/358.js +1 -0
  17. package/dist/358.js.map +1 -0
  18. package/dist/371.js +1 -0
  19. package/dist/371.js.map +1 -0
  20. package/dist/378.js +1 -0
  21. package/dist/378.js.map +1 -0
  22. package/dist/442.js +1 -0
  23. package/dist/442.js.map +1 -0
  24. package/dist/45.js +1 -0
  25. package/dist/45.js.map +1 -0
  26. package/dist/466.js +1 -0
  27. package/dist/466.js.map +1 -0
  28. package/dist/496.js +12 -0
  29. package/dist/496.js.map +1 -0
  30. package/dist/508.js +1 -0
  31. package/dist/508.js.map +1 -0
  32. package/dist/61.js +1 -0
  33. package/dist/61.js.map +1 -0
  34. package/dist/640.js +1 -0
  35. package/dist/640.js.map +1 -0
  36. package/dist/689.js +1 -0
  37. package/dist/689.js.map +1 -0
  38. package/dist/709.js +1 -0
  39. package/dist/709.js.map +1 -0
  40. package/dist/712.js +1 -0
  41. package/dist/712.js.map +1 -0
  42. package/dist/720.js +1 -0
  43. package/dist/720.js.map +1 -0
  44. package/dist/742.js +1 -0
  45. package/dist/742.js.map +1 -0
  46. package/dist/771.js +1 -0
  47. package/dist/771.js.map +1 -0
  48. package/dist/806.js +1 -0
  49. package/dist/806.js.map +1 -0
  50. package/dist/839.js +1 -0
  51. package/dist/839.js.map +1 -0
  52. package/dist/912.js +1 -0
  53. package/dist/912.js.map +1 -0
  54. package/dist/913.js +1 -0
  55. package/dist/913.js.map +1 -0
  56. package/dist/940.js +1 -0
  57. package/dist/940.js.map +1 -0
  58. package/dist/965.js +15 -0
  59. package/dist/965.js.map +1 -0
  60. package/dist/digihmis-esm-billing-app.js +6 -0
  61. package/dist/digihmis-esm-billing-app.js.buildmanifest.json +827 -0
  62. package/dist/digihmis-esm-billing-app.js.map +1 -0
  63. package/dist/main.js +17 -0
  64. package/dist/main.js.map +1 -0
  65. package/dist/routes.json +1 -0
  66. package/jest.config.js +26 -0
  67. package/package.json +51 -0
  68. package/rspack.config.js +1 -0
  69. package/src/billing-checkin-form/billing-checkin-form-schema/index.ts +11 -0
  70. package/src/billing-checkin-form/billing-checkin-form.extension.tsx +179 -0
  71. package/src/billing-checkin-form/billing-checkin-form.resource.ts +42 -0
  72. package/src/billing-checkin-form/billing-checkin-form.scss +82 -0
  73. package/src/billing-checkin-form/billing-patient-type-tag/billing-patient-type-tag.component.tsx +39 -0
  74. package/src/billing-checkin-form/billing-patient-type-tag/billing-patient-type-tag.resource.ts +57 -0
  75. package/src/billing-checkin-form/billing-patient-type-tag/billing-patient-type-tag.scss +4 -0
  76. package/src/billing-checkin-form/helper/index.ts +2 -0
  77. package/src/billing-checkin-form/type/index.ts +42 -0
  78. package/src/billing-checkin-form/visit-attributes/visit-attributes-form.component.tsx +244 -0
  79. package/src/billing-checkin-form/visit-attributes/visit-attributes-form.resource.ts +23 -0
  80. package/src/billing-checkin-form/visit-attributes/visit-attributes-form.scss +186 -0
  81. package/src/billing-dashboard/billing-dashboard.component.tsx +224 -0
  82. package/src/billing-dashboard/billing-dashboard.resource.ts +101 -0
  83. package/src/billing-dashboard/billing-dashboard.scss +166 -0
  84. package/src/billing-dashboard/metrics/metrics.resource.ts +142 -0
  85. package/src/billing-dashboard/type/index.ts +176 -0
  86. package/src/billing-header/page-header/page-header.component.tsx +35 -0
  87. package/src/billing-header/page-header/page-header.scss +76 -0
  88. package/src/billing-header/page-header/page-icon/icon-wrapper.extension.tsx +17 -0
  89. package/src/billing-timesheet-modal/billing-timesheet-modal.scss +56 -0
  90. package/src/billing-timesheet-modal/billing-timesheet-modal.tsx +281 -0
  91. package/src/billing-timesheet-modal/billing-timesheet-resource-modal.ts +37 -0
  92. package/src/bills-table/bills-table.component.tsx +323 -0
  93. package/src/bills-table/bills-table.scss +252 -0
  94. package/src/config-schema.ts +148 -0
  95. package/src/constants/index.ts +2 -0
  96. package/src/dashboard.meta.ts +16 -0
  97. package/src/declarations.d.ts +6 -0
  98. package/src/index.ts +37 -0
  99. package/src/leftpanel/left-panel.component.tsx +98 -0
  100. package/src/leftpanel/left-panel.scss +13 -0
  101. package/src/routes.json +58 -0
  102. package/src/setup-tests.ts +1 -0
  103. package/src/utils/index.ts +270 -0
  104. package/translations/am.json +18 -0
  105. package/translations/ar.json +18 -0
  106. package/translations/en.json +18 -0
  107. package/translations/es.json +18 -0
  108. package/translations/fr.json +18 -0
  109. package/translations/he.json +18 -0
  110. package/translations/km.json +18 -0
  111. package/translations/pt.json +18 -0
  112. package/translations/sw.json +18 -0
  113. package/translations/vi.json +18 -0
  114. package/translations/zh.json +18 -0
  115. package/tsconfig.json +5 -0
@@ -0,0 +1,270 @@
1
+ import { useConfig } from '@openmrs/esm-framework';
2
+ import { BillingConfig } from '../config-schema';
3
+
4
+ export const DEFAULT_LOCALE_CURRENCY_MAP: Record<string, string> = {
5
+ en: 'KES', // English - Kenyan Shilling
6
+ sw: 'KES', // Swahili - Kenyan Shilling
7
+ am: 'ETB', // Amharic - Ethiopian Birr
8
+ ar: 'SAR', // Arabic - Saudi Riyal
9
+ es: 'EUR', // Spanish - Euro
10
+ fr: 'EUR', // French - Euro
11
+ he: 'ILS', // Hebrew - Israeli Shekel
12
+ km: 'KHR', // Khmer - Cambodian Riel
13
+ pt: 'EUR', // Portuguese - Euro
14
+ vi: 'VND', // Vietnamese - Vietnamese Dong
15
+ zh: 'CNY', // Chinese - Chinese Yuan
16
+ 'en-KE': 'KES', // English Kenya
17
+ 'sw-KE': 'KES', // Swahili Kenya
18
+ 'am-ET': 'ETB', // Amharic Ethiopia
19
+ };
20
+
21
+ /**
22
+ * Custom currency symbols that override the default Intl display
23
+ * Use this to force "KES" instead of "KSH" in Swahili
24
+ */
25
+ const CUSTOM_CURRENCY_SYMBOLS: Record<string, string> = {
26
+ KES: 'KES',
27
+ ETB: 'ETB',
28
+ // Add more custom symbols as needed
29
+ };
30
+
31
+ /**
32
+ * Gets the currency code for the current locale
33
+ * @returns The currency code (e.g., 'KES', 'ETB', 'USD')
34
+ */
35
+ export const getCurrencyForLocale = (): string => {
36
+ const currentLocale = localStorage.getItem('i18nextLng') ?? 'en';
37
+
38
+ // Try exact match first
39
+ if (DEFAULT_LOCALE_CURRENCY_MAP[currentLocale]) {
40
+ return DEFAULT_LOCALE_CURRENCY_MAP[currentLocale];
41
+ }
42
+
43
+ // Try base language (e.g., 'en-US' → 'en')
44
+ const baseLanguage = currentLocale.split('-')[0];
45
+ if (DEFAULT_LOCALE_CURRENCY_MAP[baseLanguage]) {
46
+ return DEFAULT_LOCALE_CURRENCY_MAP[baseLanguage];
47
+ }
48
+
49
+ // Final fallback
50
+ return 'USD';
51
+ };
52
+
53
+ /**
54
+ * Gets the currency code for the current locale with config support
55
+ * @param config - The billing configuration object
56
+ * @returns The currency code (e.g., 'KES', 'ETB', 'USD')
57
+ */
58
+ export const getCurrencyForLocaleWithConfig = (config?: BillingConfig): string => {
59
+ const currentLocale = localStorage.getItem('i18nextLng') ?? 'en';
60
+
61
+ // Use config mapping if available, otherwise fall back to default
62
+ const currencyMap = config?.localeCurrencyMapping || DEFAULT_LOCALE_CURRENCY_MAP;
63
+
64
+ // Try exact match first
65
+ if (currencyMap[currentLocale]) {
66
+ return currencyMap[currentLocale];
67
+ }
68
+
69
+ // Try base language (e.g., 'en-US' → 'en')
70
+ const baseLanguage = currentLocale.split('-')[0];
71
+ if (currencyMap[baseLanguage]) {
72
+ return currencyMap[baseLanguage];
73
+ }
74
+
75
+ // Final fallback
76
+ return 'USD';
77
+ };
78
+
79
+ /**
80
+ * Gets the current locale from localStorage
81
+ * @returns The current locale (e.g., 'en', 'sw', 'am')
82
+ */
83
+ export const getCurrentLocale = (): string => {
84
+ return localStorage.getItem('i18nextLng') ?? 'en';
85
+ };
86
+
87
+ /**
88
+ * Formats currency with custom symbol override to force "KES" instead of "KSH"
89
+ * @param amount - The amount to format
90
+ * @param currency - The currency code
91
+ * @param locale - The locale to use for formatting
92
+ * @returns Formatted currency string with custom symbol
93
+ */
94
+ const formatWithCustomSymbol = (amount: number, currency: string, locale: string): string => {
95
+ const customSymbol = CUSTOM_CURRENCY_SYMBOLS[currency];
96
+
97
+ if (customSymbol) {
98
+ // Format without currency symbol, then add custom symbol
99
+ const formatter = new Intl.NumberFormat(locale, {
100
+ style: 'decimal',
101
+ minimumFractionDigits: 2,
102
+ maximumFractionDigits: 2,
103
+ });
104
+
105
+ const formattedNumber = formatter.format(Math.abs(amount));
106
+ const prefix = amount < 0 ? '- ' : '';
107
+
108
+ return `${prefix}${customSymbol} ${formattedNumber}`;
109
+ }
110
+
111
+ // Fallback to standard formatting
112
+ const formatter = new Intl.NumberFormat(locale, {
113
+ style: 'currency',
114
+ currency: currency,
115
+ minimumFractionDigits: 2,
116
+ });
117
+
118
+ return formatter.format(amount);
119
+ };
120
+
121
+ /**
122
+ * Formats a number as currency based on the current locale
123
+ * Forces "KES" display instead of "KSH" for Kenyan Shilling
124
+ * @param amount - The amount to format
125
+ * @param options - Additional Intl.NumberFormat options
126
+ * @returns Formatted currency string
127
+ */
128
+ export const formatCurrency = (amount: number, options: Intl.NumberFormatOptions = {}): string => {
129
+ const currentLocale = getCurrentLocale();
130
+ const currency = getCurrencyForLocale();
131
+
132
+ // Use custom formatting for currencies with custom symbols
133
+ if (CUSTOM_CURRENCY_SYMBOLS[currency]) {
134
+ return formatWithCustomSymbol(amount, currency, currentLocale);
135
+ }
136
+
137
+ const formatter = new Intl.NumberFormat(currentLocale, {
138
+ style: 'currency',
139
+ currency: currency,
140
+ minimumFractionDigits: 2,
141
+ ...options,
142
+ });
143
+
144
+ let formattedAmount = formatter.format(Math.abs(amount));
145
+
146
+ if (amount < 0) {
147
+ formattedAmount = `- ${formattedAmount}`;
148
+ }
149
+
150
+ return formattedAmount;
151
+ };
152
+
153
+ /**
154
+ * Formats a number as currency without negative sign handling
155
+ * Forces "KES" display instead of "KSH" for Kenyan Shilling
156
+ * @param amount - The amount to format
157
+ * @param options - Additional Intl.NumberFormat options
158
+ * @returns Formatted currency string
159
+ */
160
+ export const formatCurrencySimple = (amount: number, options: Intl.NumberFormatOptions = {}): string => {
161
+ const currentLocale = getCurrentLocale();
162
+ const currency = getCurrencyForLocale();
163
+
164
+ // Use custom formatting for currencies with custom symbols
165
+ if (CUSTOM_CURRENCY_SYMBOLS[currency]) {
166
+ const formatter = new Intl.NumberFormat(currentLocale, {
167
+ style: 'decimal',
168
+ minimumFractionDigits: 2,
169
+ maximumFractionDigits: 2,
170
+ });
171
+
172
+ const formattedNumber = formatter.format(amount);
173
+ return `${CUSTOM_CURRENCY_SYMBOLS[currency]} ${formattedNumber}`;
174
+ }
175
+
176
+ const formatter = new Intl.NumberFormat(currentLocale, {
177
+ style: 'currency',
178
+ currency: currency,
179
+ ...options,
180
+ });
181
+
182
+ return formatter.format(amount);
183
+ };
184
+
185
+ /**
186
+ * Hook to get currency formatting with config support
187
+ * Forces "KES" display instead of "KSH" for Kenyan Shilling
188
+ * @returns Object with currency formatting functions
189
+ */
190
+ export const useCurrencyFormatting = () => {
191
+ const config = useConfig<BillingConfig>();
192
+
193
+ const getCurrency = () => getCurrencyForLocaleWithConfig(config);
194
+
195
+ const getLocale = () => getCurrentLocale();
196
+
197
+ const format = (amount: number, options: Intl.NumberFormatOptions = {}) => {
198
+ const currentLocale = getLocale();
199
+ const currency = getCurrency();
200
+
201
+ // Use custom formatting for currencies with custom symbols
202
+ if (CUSTOM_CURRENCY_SYMBOLS[currency]) {
203
+ return formatWithCustomSymbol(amount, currency, currentLocale);
204
+ }
205
+
206
+ const formatter = new Intl.NumberFormat(currentLocale, {
207
+ style: 'currency',
208
+ currency: currency,
209
+ minimumFractionDigits: 2,
210
+ ...options,
211
+ });
212
+
213
+ let formattedAmount = formatter.format(Math.abs(amount));
214
+
215
+ if (amount < 0) {
216
+ formattedAmount = `- ${formattedAmount}`;
217
+ }
218
+
219
+ return formattedAmount;
220
+ };
221
+
222
+ const formatSimple = (amount: number, options: Intl.NumberFormatOptions = {}) => {
223
+ const currentLocale = getLocale();
224
+ const currency = getCurrency();
225
+
226
+ // Use custom formatting for currencies with custom symbols
227
+ if (CUSTOM_CURRENCY_SYMBOLS[currency]) {
228
+ const formatter = new Intl.NumberFormat(currentLocale, {
229
+ style: 'decimal',
230
+ minimumFractionDigits: 2,
231
+ maximumFractionDigits: 2,
232
+ });
233
+
234
+ const formattedNumber = formatter.format(amount);
235
+ return `${CUSTOM_CURRENCY_SYMBOLS[currency]} ${formattedNumber}`;
236
+ }
237
+
238
+ const formatter = new Intl.NumberFormat(currentLocale, {
239
+ style: 'currency',
240
+ currency: currency,
241
+ ...options,
242
+ });
243
+
244
+ return formatter.format(amount);
245
+ };
246
+
247
+ return {
248
+ getCurrency,
249
+ getLocale,
250
+ format,
251
+ formatSimple,
252
+ };
253
+ };
254
+
255
+ /**
256
+ * Extracts and returns the substring after the first colon (:) in the input string.
257
+ * If there's no colon or the input is invalid, returns the original string.
258
+ * The input string is typically in the format "uuid:string".
259
+ *
260
+ * @param {string} input - The input string from which the substring is to be extracted.
261
+ * @returns {string} The substring found after the first colon, or the original string if no colon is present.
262
+ */
263
+ export function extractString(input: string): string {
264
+ if (!input || typeof input !== 'string') {
265
+ return '';
266
+ }
267
+
268
+ const parts = input.split(':');
269
+ return parts.length > 1 ? parts[1] : input;
270
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "cash": "Cash",
3
+ "enterPolicyNumber": "Enter policy number",
4
+ "exemptionCategory": "Exemption category",
5
+ "insurance": "Insurance",
6
+ "insuranceScheme": "Insurance scheme",
7
+ "isPatientExemptedLegend": "Will the patient pay for services?",
8
+ "loading": "Loading data...",
9
+ "loadingDescription": "Loading",
10
+ "nonPayingPatient": "No, non-paying patient (exempt)",
11
+ "patientCategory": "Payment Category",
12
+ "payingPatient": "Yes, paying patient",
13
+ "paymentMethodsTitle": "Payment method",
14
+ "policyNumber": "Policy number",
15
+ "selectExemptionCategory": "Select exemption category",
16
+ "selectInsuranceScheme": "Select insurance scheme",
17
+ "selectPaymentMethod": "Select payment method"
18
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "cash": "Cash",
3
+ "enterPolicyNumber": "Enter policy number",
4
+ "exemptionCategory": "Exemption category",
5
+ "insurance": "Insurance",
6
+ "insuranceScheme": "Insurance scheme",
7
+ "isPatientExemptedLegend": "Will the patient pay for services?",
8
+ "loading": "Loading data...",
9
+ "loadingDescription": "Loading",
10
+ "nonPayingPatient": "No, non-paying patient (exempt)",
11
+ "patientCategory": "Payment Category",
12
+ "payingPatient": "Yes, paying patient",
13
+ "paymentMethodsTitle": "Payment method",
14
+ "policyNumber": "Policy number",
15
+ "selectExemptionCategory": "Select exemption category",
16
+ "selectInsuranceScheme": "Select insurance scheme",
17
+ "selectPaymentMethod": "Select payment method"
18
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "cash": "Cash",
3
+ "enterPolicyNumber": "Enter policy number",
4
+ "exemptionCategory": "Exemption category",
5
+ "insurance": "Insurance",
6
+ "insuranceScheme": "Insurance scheme",
7
+ "isPatientExemptedLegend": "Will the patient pay for services?",
8
+ "loading": "Loading data...",
9
+ "loadingDescription": "Loading",
10
+ "nonPayingPatient": "No, non-paying patient (exempt)",
11
+ "patientCategory": "Payment Category",
12
+ "payingPatient": "Yes, paying patient",
13
+ "paymentMethodsTitle": "Payment method",
14
+ "policyNumber": "Policy number",
15
+ "selectExemptionCategory": "Select exemption category",
16
+ "selectInsuranceScheme": "Select insurance scheme",
17
+ "selectPaymentMethod": "Select payment method"
18
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "cash": "Cash",
3
+ "enterPolicyNumber": "Enter policy number",
4
+ "exemptionCategory": "Exemption category",
5
+ "insurance": "Insurance",
6
+ "insuranceScheme": "Insurance scheme",
7
+ "isPatientExemptedLegend": "Will the patient pay for services?",
8
+ "loading": "Loading data...",
9
+ "loadingDescription": "Loading",
10
+ "nonPayingPatient": "No, non-paying patient (exempt)",
11
+ "patientCategory": "Payment Category",
12
+ "payingPatient": "Yes, paying patient",
13
+ "paymentMethodsTitle": "Payment method",
14
+ "policyNumber": "Policy number",
15
+ "selectExemptionCategory": "Select exemption category",
16
+ "selectInsuranceScheme": "Select insurance scheme",
17
+ "selectPaymentMethod": "Select payment method"
18
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "cash": "Cash",
3
+ "enterPolicyNumber": "Enter policy number",
4
+ "exemptionCategory": "Exemption category",
5
+ "insurance": "Insurance",
6
+ "insuranceScheme": "Insurance scheme",
7
+ "isPatientExemptedLegend": "Will the patient pay for services?",
8
+ "loading": "Loading data...",
9
+ "loadingDescription": "Loading",
10
+ "nonPayingPatient": "No, non-paying patient (exempt)",
11
+ "patientCategory": "Payment Category",
12
+ "payingPatient": "Yes, paying patient",
13
+ "paymentMethodsTitle": "Payment method",
14
+ "policyNumber": "Policy number",
15
+ "selectExemptionCategory": "Select exemption category",
16
+ "selectInsuranceScheme": "Select insurance scheme",
17
+ "selectPaymentMethod": "Select payment method"
18
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "cash": "Cash",
3
+ "enterPolicyNumber": "Enter policy number",
4
+ "exemptionCategory": "Exemption category",
5
+ "insurance": "Insurance",
6
+ "insuranceScheme": "Insurance scheme",
7
+ "isPatientExemptedLegend": "Will the patient pay for services?",
8
+ "loading": "Loading data...",
9
+ "loadingDescription": "Loading",
10
+ "nonPayingPatient": "No, non-paying patient (exempt)",
11
+ "patientCategory": "Payment Category",
12
+ "payingPatient": "Yes, paying patient",
13
+ "paymentMethodsTitle": "Payment method",
14
+ "policyNumber": "Policy number",
15
+ "selectExemptionCategory": "Select exemption category",
16
+ "selectInsuranceScheme": "Select insurance scheme",
17
+ "selectPaymentMethod": "Select payment method"
18
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "cash": "Cash",
3
+ "enterPolicyNumber": "Enter policy number",
4
+ "exemptionCategory": "Exemption category",
5
+ "insurance": "Insurance",
6
+ "insuranceScheme": "Insurance scheme",
7
+ "isPatientExemptedLegend": "Will the patient pay for services?",
8
+ "loading": "Loading data...",
9
+ "loadingDescription": "Loading",
10
+ "nonPayingPatient": "No, non-paying patient (exempt)",
11
+ "patientCategory": "Payment Category",
12
+ "payingPatient": "Yes, paying patient",
13
+ "paymentMethodsTitle": "Payment method",
14
+ "policyNumber": "Policy number",
15
+ "selectExemptionCategory": "Select exemption category",
16
+ "selectInsuranceScheme": "Select insurance scheme",
17
+ "selectPaymentMethod": "Select payment method"
18
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "cash": "Cash",
3
+ "enterPolicyNumber": "Enter policy number",
4
+ "exemptionCategory": "Exemption category",
5
+ "insurance": "Insurance",
6
+ "insuranceScheme": "Insurance scheme",
7
+ "isPatientExemptedLegend": "Will the patient pay for services?",
8
+ "loading": "Loading data...",
9
+ "loadingDescription": "Loading",
10
+ "nonPayingPatient": "No, non-paying patient (exempt)",
11
+ "patientCategory": "Payment Category",
12
+ "payingPatient": "Yes, paying patient",
13
+ "paymentMethodsTitle": "Payment method",
14
+ "policyNumber": "Policy number",
15
+ "selectExemptionCategory": "Select exemption category",
16
+ "selectInsuranceScheme": "Select insurance scheme",
17
+ "selectPaymentMethod": "Select payment method"
18
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "cash": "Cash",
3
+ "enterPolicyNumber": "Enter policy number",
4
+ "exemptionCategory": "Exemption category",
5
+ "insurance": "Insurance",
6
+ "insuranceScheme": "Insurance scheme",
7
+ "isPatientExemptedLegend": "Will the patient pay for services?",
8
+ "loading": "Loading data...",
9
+ "loadingDescription": "Loading",
10
+ "nonPayingPatient": "No, non-paying patient (exempt)",
11
+ "patientCategory": "Payment Category",
12
+ "payingPatient": "Yes, paying patient",
13
+ "paymentMethodsTitle": "Payment method",
14
+ "policyNumber": "Policy number",
15
+ "selectExemptionCategory": "Select exemption category",
16
+ "selectInsuranceScheme": "Select insurance scheme",
17
+ "selectPaymentMethod": "Select payment method"
18
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "cash": "Cash",
3
+ "enterPolicyNumber": "Enter policy number",
4
+ "exemptionCategory": "Exemption category",
5
+ "insurance": "Insurance",
6
+ "insuranceScheme": "Insurance scheme",
7
+ "isPatientExemptedLegend": "Will the patient pay for services?",
8
+ "loading": "Loading data...",
9
+ "loadingDescription": "Loading",
10
+ "nonPayingPatient": "No, non-paying patient (exempt)",
11
+ "patientCategory": "Payment Category",
12
+ "payingPatient": "Yes, paying patient",
13
+ "paymentMethodsTitle": "Payment method",
14
+ "policyNumber": "Policy number",
15
+ "selectExemptionCategory": "Select exemption category",
16
+ "selectInsuranceScheme": "Select insurance scheme",
17
+ "selectPaymentMethod": "Select payment method"
18
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "cash": "Cash",
3
+ "enterPolicyNumber": "Enter policy number",
4
+ "exemptionCategory": "Exemption category",
5
+ "insurance": "Insurance",
6
+ "insuranceScheme": "Insurance scheme",
7
+ "isPatientExemptedLegend": "Will the patient pay for services?",
8
+ "loading": "Loading data...",
9
+ "loadingDescription": "Loading",
10
+ "nonPayingPatient": "No, non-paying patient (exempt)",
11
+ "patientCategory": "Payment Category",
12
+ "payingPatient": "Yes, paying patient",
13
+ "paymentMethodsTitle": "Payment method",
14
+ "policyNumber": "Policy number",
15
+ "selectExemptionCategory": "Select exemption category",
16
+ "selectInsuranceScheme": "Select insurance scheme",
17
+ "selectPaymentMethod": "Select payment method"
18
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,5 @@
1
+ {
2
+ "extends": "../../tsconfig.json",
3
+ "include": ["src/**/*"],
4
+ "exclude": ["src/**/*.test.tsx"]
5
+ }