@ampath/esm-reports-app 1.0.0-next.5 → 1.0.0-next.50

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 (209) hide show
  1. package/dist/197.js +1 -1
  2. package/dist/282.js +1 -1
  3. package/dist/282.js.map +1 -1
  4. package/dist/295.css +1 -0
  5. package/dist/295.css.map +1 -0
  6. package/dist/295.js +1 -0
  7. package/dist/295.js.map +1 -0
  8. package/dist/300.js +1 -1
  9. package/dist/311.js +1 -1
  10. package/dist/311.js.map +1 -1
  11. package/dist/335.js +1 -1
  12. package/dist/353.js +1 -1
  13. package/dist/353.js.map +1 -1
  14. package/dist/410.js +1 -0
  15. package/dist/410.js.map +1 -0
  16. package/dist/427.js +2 -0
  17. package/dist/427.js.LICENSE.txt +35 -0
  18. package/dist/427.js.map +1 -0
  19. package/dist/441.js +1 -0
  20. package/dist/441.js.map +1 -0
  21. package/dist/478.js +1 -1
  22. package/dist/478.js.map +1 -1
  23. package/dist/540.js +1 -1
  24. package/dist/540.js.map +1 -1
  25. package/dist/55.js +1 -1
  26. package/dist/652.js +1 -1
  27. package/dist/907.css +1 -0
  28. package/dist/907.css.map +1 -0
  29. package/dist/907.js +1 -0
  30. package/dist/907.js.map +1 -0
  31. package/dist/961.js +1 -1
  32. package/dist/961.js.map +1 -1
  33. package/dist/99.js +1 -1
  34. package/dist/ampath-esm-reports-app.js +1 -1
  35. package/dist/ampath-esm-reports-app.js.map +1 -1
  36. package/dist/routes.json +1 -1
  37. package/package.json +2 -2
  38. package/src/common/report-error/index.ts +1 -0
  39. package/src/common/report-error/show-report-error.ts +25 -0
  40. package/src/common/report-filters/date-range.ts +137 -0
  41. package/src/common/report-filters/index.ts +4 -0
  42. package/src/common/report-filters/report-filters.component.tsx +291 -100
  43. package/src/common/report-filters/report-filters.scss +199 -32
  44. package/src/common/report-filters/types.ts +66 -0
  45. package/src/common/report-filters/use-restore-period.ts +43 -0
  46. package/src/common/report-header/index.ts +1 -0
  47. package/src/common/report-header/use-location-details.ts +58 -0
  48. package/src/common/report-page/index.ts +2 -0
  49. package/src/common/report-page/report-page.component.tsx +32 -0
  50. package/src/common/report-page/report-page.scss +45 -0
  51. package/src/common/report-page/use-page-scale.ts +50 -0
  52. package/src/common/report-placeholder/has-report-data.ts +15 -0
  53. package/src/common/report-placeholder/index.ts +2 -0
  54. package/src/common/report-placeholder/report-placeholder.component.tsx +56 -0
  55. package/src/common/report-placeholder/report-placeholder.scss +46 -0
  56. package/src/common/report-register/index.ts +5 -0
  57. package/src/common/report-register/register-columns.ts +46 -0
  58. package/src/common/report-register/register-layout.component.tsx +243 -0
  59. package/src/common/report-register/register-layout.scss +140 -0
  60. package/src/common/report-register/register-table.scss +71 -0
  61. package/src/common/report-register/report-parents.ts +27 -0
  62. package/src/common/report-register/rows-to-csv.ts +89 -0
  63. package/src/common/report-register/use-patient-list.ts +92 -0
  64. package/src/common/report-skeleton/index.ts +1 -0
  65. package/src/common/report-skeleton/report-skeleton.component.tsx +46 -0
  66. package/src/common/report-skeleton/report-skeleton.scss +29 -0
  67. package/src/config-schema.ts +9 -1
  68. package/src/dashboard/report-catalog.ts +173 -0
  69. package/src/dashboard/reports-dasboard.tsx +101 -17
  70. package/src/dashboard/reports-dashboard.module.scss +269 -11
  71. package/src/index.ts +13 -1
  72. package/src/reports/datatable-wrapper/datatable-wrapper.component.tsx +69 -0
  73. package/src/reports/moh-240/moh-240-header.component.tsx +62 -0
  74. package/src/reports/moh-240/moh-240.columns.ts +105 -0
  75. package/src/reports/moh-240/moh-240.component.tsx +75 -0
  76. package/src/reports/moh-240/moh-240.scss +40 -0
  77. package/src/reports/moh-240/sub-reports/moh-240-register.component.tsx +36 -0
  78. package/src/reports/moh-240/sub-reports/page-summary.component.tsx +148 -0
  79. package/src/reports/moh-505/moh-505-header.component.tsx +67 -0
  80. package/src/reports/moh-505/moh-505.component.tsx +435 -0
  81. package/src/reports/moh-505/moh-505.scss +117 -0
  82. package/src/reports/moh-705B/moh-204b-register.component.tsx +235 -0
  83. package/src/reports/moh-705B/moh-204b.columns.ts +39 -0
  84. package/src/reports/moh-705B/moh-705b.component.tsx +543 -0
  85. package/src/reports/moh-705B/moh-705b.scss +130 -0
  86. package/src/reports/moh-705a/moh-705a.component.tsx +548 -0
  87. package/src/reports/moh-705a/moh-705a.scss +130 -0
  88. package/src/reports/moh-705a/registers/moh-204a-register.component.tsx +320 -0
  89. package/src/reports/moh-705a/registers/moh-204a.columns.ts +57 -0
  90. package/src/reports/moh-705a/type.ts +6 -0
  91. package/src/reports/moh-706/moh-706-header.component.tsx +66 -0
  92. package/src/reports/moh-706/moh-706.component.tsx +144 -24
  93. package/src/reports/moh-706/moh-706.scss +119 -11
  94. package/src/reports/moh-706/sub-reports/bacteriology/bacteriology.component.tsx +36 -44
  95. package/src/reports/moh-706/sub-reports/blood-chemistry/blood-chemistry.component.tsx +110 -116
  96. package/src/reports/moh-706/sub-reports/drug-susceptibility-testing/drug-susceptibility-testing.component.tsx +46 -73
  97. package/src/reports/moh-706/sub-reports/haematology/haematology.component.tsx +44 -52
  98. package/src/reports/moh-706/sub-reports/histology-and-cytology/histology-and-cytology.component.tsx +25 -40
  99. package/src/reports/moh-706/sub-reports/parasitology/parasitology.component.tsx +31 -39
  100. package/src/reports/moh-706/sub-reports/serology/serology.component.tsx +26 -34
  101. package/src/reports/moh-706/sub-reports/specimen-referral-to-higher-levels/specimen-referral-to-higher-levels.component.tsx +10 -25
  102. package/src/reports/moh-706/sub-reports/urine-analysis/urine-analysis.component.tsx +42 -50
  103. package/src/reports/moh-710/moh-710.component.tsx +780 -632
  104. package/src/reports/moh-710/moh-710.scss +142 -21
  105. package/src/reports/moh-710/registers/moh-511-710-register.component.tsx +268 -0
  106. package/src/reports/moh-710/registers/moh-511-710.columns.ts +52 -0
  107. package/src/reports/moh-710/registers/type.ts +31 -0
  108. package/src/reports/moh-711/moh-711.component.tsx +132 -1269
  109. package/src/reports/moh-711/moh711.scss +135 -20
  110. package/src/reports/moh-711/registers/moh-333-register.component.tsx +637 -0
  111. package/src/reports/moh-711/registers/moh-333.columns.ts +119 -0
  112. package/src/reports/moh-711/registers/moh-405-register.component.tsx +520 -0
  113. package/src/reports/moh-711/registers/moh-405.columns.ts +120 -0
  114. package/src/reports/moh-711/registers/moh-406-register.component.tsx +530 -0
  115. package/src/reports/moh-711/registers/moh-406.columns.ts +133 -0
  116. package/src/reports/moh-711/registers/moh-510-register.component.tsx +55 -0
  117. package/src/reports/moh-711/registers/moh-511-register.component.tsx +270 -0
  118. package/src/reports/moh-711/registers/moh-511.columns.ts +59 -0
  119. package/src/reports/moh-711/registers/type.ts +192 -0
  120. package/src/reports/moh-711/sections/anc.component.tsx +159 -0
  121. package/src/reports/moh-711/sections/cervical-cancer.component.tsx +148 -0
  122. package/src/reports/moh-711/sections/chanis.component.tsx +366 -0
  123. package/src/reports/moh-711/sections/family-planning.component.tsx +221 -0
  124. package/src/reports/moh-711/sections/gbv.component.tsx +115 -0
  125. package/src/reports/moh-711/sections/maternity.component.tsx +321 -0
  126. package/src/reports/moh-711/sections/medical-social-work.component.tsx +73 -0
  127. package/src/reports/moh-711/sections/other.component.tsx +47 -0
  128. package/src/reports/moh-711/sections/physiotherapy.component.tsx +61 -0
  129. package/src/reports/moh-711/sections/pnc.component.tsx +127 -0
  130. package/src/reports/moh-711/sections/post-abortion.component.tsx +42 -0
  131. package/src/reports/moh-711/sections/rehabilitation.component.tsx +57 -0
  132. package/src/reports/moh-711/sections/report-compiled-by.component.tsx +50 -0
  133. package/src/reports/moh-711/sections/tb-screening.component.tsx +57 -0
  134. package/src/reports/moh-717/moh-717.component.tsx +140 -985
  135. package/src/reports/moh-717/moh717.scss +217 -21
  136. package/src/reports/moh-717/registers/nutrition-register.component.tsx +48 -0
  137. package/src/reports/moh-717/sections/finance.component.tsx +42 -0
  138. package/src/reports/moh-717/sections/inpatient.component.tsx +374 -0
  139. package/src/reports/moh-717/sections/maternity.component.tsx +126 -0
  140. package/src/reports/moh-717/sections/medical-records.component.tsx +35 -0
  141. package/src/reports/moh-717/sections/mortuary.component.tsx +43 -0
  142. package/src/reports/moh-717/sections/operations.component.tsx +53 -0
  143. package/src/reports/moh-717/sections/orthopaedic-trauma.component.tsx +98 -0
  144. package/src/reports/moh-717/sections/outpatient.component.tsx +597 -0
  145. package/src/reports/moh-717/sections/pharmacy.component.tsx +43 -0
  146. package/src/reports/moh-717/sections/preparedby.component.tsx +52 -0
  147. package/src/reports/moh-717/sections/special-services.component.tsx +114 -0
  148. package/src/reports/moh-731/moh-731.component.tsx +198 -0
  149. package/src/reports/moh-731/moh-731.scss +446 -0
  150. package/src/reports/moh-731/registers/moh-366.columns.ts +38 -0
  151. package/src/reports/moh-731/registers/moh-366.component.tsx +471 -0
  152. package/src/reports/moh-731/registers/prep-register.component.tsx +284 -0
  153. package/src/reports/moh-731/registers/prep.columns.ts +34 -0
  154. package/src/reports/moh-731/sections/hiv-and-tb-treatment.component.tsx +1212 -0
  155. package/src/reports/moh-731/sections/hiv-testing-and-pre-exposure.component.tsx +713 -0
  156. package/src/reports/moh-731/sections/pmtct.component.tsx +572 -0
  157. package/src/reports/moh-740/moh-740.component.scss +200 -0
  158. package/src/reports/moh-740/moh-740.component.tsx +1302 -0
  159. package/src/reports/moh-740/moh-740.resource.ts +49 -0
  160. package/src/reports/moh-740/registers/moh-222-daily-register/moh-222-daily-register.tsx +89 -0
  161. package/src/reports/moh-740/registers/moh-270-permanent-register/moh-270-permanent-register.tsx +59 -0
  162. package/src/reports/moh-740/registers/moh-740-patient-list.scss +0 -0
  163. package/src/reports/moh-740/registers/moh-740-patient-list.tsx +95 -0
  164. package/src/reports/moh-740/registers/moh-740.columns.ts +52 -0
  165. package/src/reports/moh-740/shared/data-cell/data-cell.scss +6 -0
  166. package/src/reports/moh-740/shared/data-cell/data-cell.tsx +23 -0
  167. package/src/reports/moh-740/shared/utils/indicator-register-map.ts +157 -0
  168. package/src/reports/moh-740/types/index.ts +220 -0
  169. package/src/reports/moh-745/moh-745.component.tsx +948 -0
  170. package/src/reports/moh-745/moh-745.scss +132 -0
  171. package/src/reports/moh-745/registers/moh-412-register.component.tsx +190 -0
  172. package/src/reports/moh-745/registers/moh-412.columns.ts +52 -0
  173. package/src/reports/moh-745/registers/type.ts +30 -0
  174. package/src/reports/table-wrapper/table-row-mapper.component.tsx +53 -0
  175. package/src/reports/table-wrapper/table-wrapper.component.tsx +30 -0
  176. package/src/reports/table-wrapper/table-wrapper.scss +16 -0
  177. package/src/resources/moh-505.resource.ts +69 -0
  178. package/src/resources/moh-705.resource.ts +106 -0
  179. package/src/resources/moh-706.resource.ts +80 -0
  180. package/src/resources/moh-710.resource.ts +27 -9
  181. package/src/resources/moh-711.resource.ts +137 -9
  182. package/src/resources/moh-717.resource.ts +26 -9
  183. package/src/resources/moh-731.resource.ts +90 -0
  184. package/src/resources/moh-745.resource.ts +62 -0
  185. package/src/resources/patient-list-page.ts +65 -0
  186. package/src/root.component.tsx +46 -7
  187. package/src/root.scss +36 -0
  188. package/src/routes.json +3 -1
  189. package/src/utils/format-indicator.ts +22 -0
  190. package/src/utils/get-base-url.ts +39 -7
  191. package/src/utils/utils.ts +36 -0
  192. package/tsconfig.json +1 -1
  193. package/dist/184.js +0 -2
  194. package/dist/184.js.LICENSE.txt +0 -14
  195. package/dist/184.js.map +0 -1
  196. package/dist/260.js +0 -1
  197. package/dist/260.js.map +0 -1
  198. package/dist/402.js +0 -1
  199. package/dist/402.js.map +0 -1
  200. package/dist/812.js +0 -1
  201. package/dist/812.js.map +0 -1
  202. package/dist/959.js +0 -2
  203. package/dist/959.js.LICENSE.txt +0 -20
  204. package/dist/959.js.map +0 -1
  205. package/dist/ampath-esm-reports-app.js.buildmanifest.json +0 -539
  206. package/dist/main.js +0 -1
  207. package/dist/main.js.map +0 -1
  208. package/src/reports/moh-706/table-wrapper/table-wrapper.component.tsx +0 -21
  209. package/src/reports/moh-706/table-wrapper/table-wrapper.scss +0 -30
@@ -1,41 +1,237 @@
1
+ /* MOH-717 laid out for A4, on the same scale as the other reports.
1
2
 
2
- h3 {
3
- text-align: center;
3
+ Unlike the single-table reports this one is a mosaic: a full-width outpatient
4
+ block, then a two-column and a three-column band. The grids are kept; only the
5
+ scale changes, so the sheet still reads as one form rather than a stack of
6
+ unrelated tables. */
7
+
8
+ $ink: #000;
9
+ $rule: 1px solid $ink;
10
+
11
+ $text: 7pt;
12
+ $title: 7.5pt;
13
+ $meta: 6.5pt;
14
+
15
+ $gap: 3mm;
16
+
17
+ /* Masthead. The location fields sit inside the box, as they do on the printed
18
+ form, rather than on a strip below it. */
19
+
20
+ .headerContainer {
21
+ display: flex;
22
+ align-items: flex-start;
23
+ width: 100%;
24
+ margin: 0 0 $gap;
4
25
  }
5
26
 
6
- .container {
7
- border: 1px solid #ccc;
8
- margin: 0 2rem;
9
- margin-top: 0.5px;
27
+ .mainTitleBox {
28
+ width: 100%;
29
+ padding: $gap;
30
+ text-align: center;
31
+ border: $rule;
32
+ }
33
+
34
+ .mainTitle {
35
+ margin: 0;
36
+ font-size: $meta;
37
+ font-weight: 400;
38
+ }
39
+
40
+ .subTitle {
41
+ margin: 1mm 0 0;
42
+ font-size: $title;
43
+ font-weight: 700;
44
+ color: $ink;
45
+ }
46
+
47
+ /* One line of fields. Each field is itself a flex box so its label and rule
48
+ cannot be split apart, and the rules carry the flex so the row compresses to
49
+ whatever width is left instead of overflowing and breaking. */
50
+
51
+ .locationContainer {
52
+ display: flex;
53
+ flex-wrap: nowrap;
54
+ align-items: baseline;
55
+ justify-content: space-between;
56
+ gap: 2.5mm;
57
+ margin-top: 2.5mm;
58
+ font-size: $meta;
59
+ white-space: nowrap;
60
+
61
+ > span {
62
+ display: flex;
63
+ flex: 1 1 auto;
64
+ align-items: baseline;
65
+ min-width: 0;
66
+ white-space: nowrap;
67
+ }
68
+ }
69
+
70
+ /* These carry the facility and period once a report is generated, so they need
71
+ to hold text on the rule rather than only draw it. */
72
+
73
+ .line,
74
+ .shortLine {
75
+ padding: 0 0.5mm;
76
+ margin-left: 1mm;
77
+ overflow: hidden;
78
+ font-weight: 600;
79
+ text-align: center;
80
+ text-overflow: ellipsis;
81
+ border-bottom: $rule;
82
+ }
83
+
84
+ .line {
85
+ flex: 1 1 30mm;
86
+ min-width: 12mm;
10
87
  }
11
88
 
12
- .tableContainer {
13
- margin-left: 1rem;
14
- margin-bottom: 1rem;
89
+ .shortLine {
90
+ flex: 1 1 18mm;
91
+ min-width: 10mm;
15
92
  }
16
93
 
17
- .sectionTitle {
18
- margin-left: 1rem ;
94
+ .container {
95
+ margin: 0;
96
+ padding: 0;
19
97
  }
20
98
 
21
- .title {
22
- text-align: center;
23
- font-size: 1rem;
24
- margin: 1rem;
99
+ /* A block of the form. Kept off a page break so a table is never split from the
100
+ heading row that names its columns. */
101
+
102
+ .section {
103
+ margin: 0 0 $gap;
104
+ break-inside: avoid;
105
+ page-break-inside: avoid;
106
+
107
+ &:last-child {
108
+ margin-bottom: 0;
109
+ }
25
110
  }
111
+
26
112
  .table {
27
- width: auto;
113
+ width: 100%;
114
+ table-layout: auto;
28
115
  border-collapse: collapse;
29
-
30
116
  }
31
117
 
32
118
  .tableBordered td,
33
119
  .tableBordered th {
34
- border: 1px solid #dee2e6;
35
- padding: 0.3rem;
36
- font-size: small;
120
+ padding: 1mm 1.5mm;
121
+ font-size: $text;
122
+ border: $rule;
123
+ }
124
+
125
+ .tableBordered th {
126
+ font-weight: 700;
127
+ background-color: #f4f4f4;
37
128
  }
38
129
 
39
130
  .tableStriped tbody tr:nth-of-type(odd) {
40
131
  background-color: #f9f9f9;
41
- }
132
+ }
133
+
134
+ .totals {
135
+ font-weight: 700;
136
+ color: $ink;
137
+ background-color: #e8e8e8;
138
+ }
139
+
140
+ .alignLeft {
141
+ text-align: left;
142
+ }
143
+
144
+ /* The inpatient block turns its column headings on their side to fit */
145
+
146
+ .rotateUp {
147
+ white-space: nowrap;
148
+ text-align: center;
149
+ writing-mode: vertical-rl;
150
+ transform: rotate(180deg);
151
+ }
152
+
153
+ /* Two- and three-column bands. Their gap matches the gap between sections, so
154
+ the whole sheet is on one rhythm. */
155
+
156
+ .sectionContainer,
157
+ .sectionTwoContainer {
158
+ display: grid;
159
+ gap: $gap;
160
+ align-items: start;
161
+ margin: 0 0 $gap;
162
+ }
163
+
164
+ .sectionContainer {
165
+ grid-template-columns: 1fr 1fr;
166
+ grid-template-areas: 'left right';
167
+ }
168
+
169
+ .sectionTwoContainer {
170
+ grid-template-columns: 1fr 1fr 1fr;
171
+ grid-template-areas: 'one two three';
172
+ }
173
+
174
+ .left {
175
+ grid-area: left;
176
+ min-width: 0;
177
+ }
178
+
179
+ .right {
180
+ grid-area: right;
181
+ min-width: 0;
182
+ }
183
+
184
+ .one {
185
+ grid-area: one;
186
+ min-width: 0;
187
+ }
188
+
189
+ .two {
190
+ grid-area: two;
191
+ min-width: 0;
192
+ }
193
+
194
+ .three {
195
+ grid-area: three;
196
+ min-width: 0;
197
+ }
198
+
199
+ /* Stack on small screens */
200
+
201
+ @media (max-width: 768px) {
202
+ .sectionContainer {
203
+ grid-template-columns: 1fr;
204
+ grid-template-areas:
205
+ 'left'
206
+ 'right';
207
+ }
208
+
209
+ .sectionTwoContainer {
210
+ grid-template-columns: 1fr;
211
+ grid-template-areas:
212
+ 'one'
213
+ 'two'
214
+ 'three';
215
+ }
216
+ }
217
+
218
+ .preparedByContainer {
219
+ margin: 0;
220
+ break-inside: avoid;
221
+ page-break-inside: avoid;
222
+ }
223
+
224
+ /* Scoped: as a bare selector this bolded every span in the application,
225
+ including other reports' indicator codes and the filter bar. */
226
+
227
+ .locationContainer > span {
228
+ font-weight: 700;
229
+ }
230
+
231
+ /* On paper the striping is screen affordance that prints as grey noise */
232
+
233
+ @media print {
234
+ .tableStriped tbody tr:nth-of-type(odd) {
235
+ background-color: transparent;
236
+ }
237
+ }
@@ -0,0 +1,48 @@
1
+ import React, { useEffect, useState } from 'react';
2
+ import { getNutritionRegister } from '../../../resources/moh-717.resource';
3
+ import { useLocation, useNavigate, useSearchParams } from 'react-router-dom';
4
+
5
+ const NutritionRegisterComponent: React.FC = () => {
6
+ const [patientlist, setPatientList] = useState<any[]>([]);
7
+ const [isLoading, setIsLoading] = useState<boolean>(false);
8
+ const [searchParams] = useSearchParams();
9
+ const navigate = useNavigate();
10
+ const location = useLocation();
11
+ const startDate = searchParams.get('startDate');
12
+ const endDate = searchParams.get('endDate');
13
+ const locationUuids = searchParams.get('locationUuids');
14
+ const indicator = searchParams.get('indicator');
15
+
16
+ useEffect(() => {
17
+ const fetchData = async () => {
18
+ if (!startDate || !endDate || !locationUuids || !indicator) return;
19
+
20
+ setIsLoading(true);
21
+
22
+ try {
23
+ const params = {
24
+ startDate,
25
+ endDate,
26
+ locationUuids,
27
+ indicator,
28
+ };
29
+
30
+ const data = await getNutritionRegister(params);
31
+ setPatientList(data?.results.results || []);
32
+ } catch (error) {
33
+ console.error('Failed to fetch register data', error);
34
+ } finally {
35
+ setIsLoading(false);
36
+ }
37
+ };
38
+
39
+ fetchData();
40
+ }, [startDate, endDate, locationUuids, indicator]);
41
+
42
+ function navigateBack() {
43
+ navigate(location.state?.from || '/moh-705b');
44
+ }
45
+ return <></>;
46
+ };
47
+
48
+ export default NutritionRegisterComponent;
@@ -0,0 +1,42 @@
1
+ import React from 'react';
2
+
3
+ import styles from '../moh717.scss';
4
+ import classNames from 'classnames';
5
+
6
+ interface FinanceComponentProps {
7
+ moh717ReportData: any;
8
+ }
9
+
10
+ const FinanceComponent: React.FC<FinanceComponentProps> = ({ moh717ReportData }) => {
11
+ return (
12
+ <>
13
+ <table className={classNames(`${styles.table}`, `${styles.tableBordered}`, `${styles.tableStriped}`)}>
14
+ <thead>
15
+ <tr>
16
+ <th colSpan={2}>G. FINANCE</th>
17
+ </tr>
18
+ </thead>
19
+ <tbody>
20
+ <tr>
21
+ <td>G.1 Total Amount Collected (Kshs)</td>
22
+ <td>{}</td>
23
+ <td>G.3 Clients waived</td>
24
+ <td>{}</td>
25
+ <td>Clients exempted</td>
26
+ <td>{}</td>
27
+ </tr>
28
+ <tr>
29
+ <td>G.2 Total Amount Received</td>
30
+ <td>{}</td>
31
+ <td>G.4 Clients waived (Kshs)</td>
32
+ <td>{}</td>
33
+ <td>G.5 Clients Exempted (Kshs)</td>
34
+ <td>{}</td>
35
+ </tr>
36
+ </tbody>
37
+ </table>
38
+ </>
39
+ );
40
+ };
41
+
42
+ export default FinanceComponent;