@ampath/esm-reports-app 1.0.0-next.26 → 1.0.0-next.27

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 (42) hide show
  1. package/dist/645.js +1 -0
  2. package/dist/645.js.map +1 -0
  3. package/dist/812.js +1 -1
  4. package/dist/ampath-esm-reports-app.js.buildmanifest.json +26 -26
  5. package/dist/main.js +1 -1
  6. package/dist/routes.json +1 -1
  7. package/package.json +1 -1
  8. package/src/reports/moh-705B/moh-204b-register.component.tsx +235 -0
  9. package/src/reports/moh-705B/moh-705b.component.tsx +141 -83
  10. package/src/reports/moh-705B/moh-705b.scss +4 -1
  11. package/src/reports/moh-705a/moh-705a.component.tsx +141 -86
  12. package/src/reports/moh-705a/moh-705a.scss +5 -1
  13. package/src/reports/moh-705a/registers/moh-204a-register.component.tsx +320 -0
  14. package/src/reports/moh-705a/type.ts +6 -0
  15. package/src/reports/moh-710/moh-710.component.tsx +3 -1
  16. package/src/reports/moh-710/moh-710.scss +4 -0
  17. package/src/reports/moh-710/patient-list/moh-710-patient-list.component.tsx +13 -0
  18. package/src/reports/moh-711/moh-711.component.tsx +30 -12
  19. package/src/reports/moh-711/moh711.scss +11 -0
  20. package/src/reports/moh-711/registers/moh-333-register.component.tsx +636 -0
  21. package/src/reports/moh-711/registers/moh-405-register.component.tsx +518 -0
  22. package/src/reports/moh-711/registers/moh-406-register.component.tsx +530 -0
  23. package/src/reports/moh-711/registers/moh-510-register.component.tsx +61 -0
  24. package/src/reports/moh-711/registers/moh-511-register.component.tsx +263 -0
  25. package/src/reports/moh-711/registers/type.ts +194 -0
  26. package/src/reports/moh-711/sections/anc.component.tsx +45 -22
  27. package/src/reports/moh-711/sections/maternity.component.tsx +79 -40
  28. package/src/reports/moh-711/sections/pnc.component.tsx +39 -13
  29. package/src/reports/moh-717/moh-717.component.tsx +28 -10
  30. package/src/reports/moh-717/moh717.scss +4 -0
  31. package/src/reports/moh-717/sections/maternity.component.tsx +38 -13
  32. package/src/reports/moh-745/moh-745.component.tsx +440 -141
  33. package/src/reports/moh-745/moh-745.scss +5 -0
  34. package/src/reports/moh-745/registers/moh-412-register.component.tsx +190 -0
  35. package/src/reports/moh-745/registers/type.ts +29 -0
  36. package/src/resources/moh-705.resource.ts +57 -0
  37. package/src/resources/moh-710.resource.ts +26 -0
  38. package/src/resources/moh-711.resource.ts +141 -0
  39. package/src/resources/moh-745.resource.ts +32 -2
  40. package/src/root.component.tsx +18 -0
  41. package/dist/269.js +0 -1
  42. package/dist/269.js.map +0 -1
@@ -6,19 +6,23 @@ import classNames from 'classnames';
6
6
  import { useSession } from '@openmrs/esm-framework';
7
7
  import { Loading } from '@carbon/react';
8
8
  import { getMoh745 } from '../../resources/moh-745.resource';
9
+ import { useNavigate } from 'react-router-dom';
10
+ import { type ReportFilters } from '../moh-705a/type';
9
11
 
10
12
  const Moh745Component: React.FC = () => {
11
13
  let errorMessage: string = '';
12
14
  const [moh745Data, setMoh745Data] = useState<any>([]);
13
15
  const [isLoading, setIsLoading] = useState<boolean>(false);
16
+ const [startDate, setStartDate] = useState<string>('');
17
+ const [endDate, setEndDate] = useState<string>('');
14
18
 
15
19
  const session = useSession();
16
20
  const locationUuids = session?.sessionLocation?.uuid;
17
21
 
18
- const fetchMoh745ReportData = async (filters: { startDate?: string; endDate?: string; month?: string }) => {
19
- setIsLoading(true);
20
- let startDate = filters.startDate;
21
- let endDate = filters.endDate;
22
+ const navigate = useNavigate();
23
+
24
+ const getReportParams = (filters: ReportFilters) => {
25
+ let { startDate: sDate, endDate: eDate } = filters;
22
26
 
23
27
  if (filters.month) {
24
28
  const [year, monthIndex] = filters.month.split('-').map(Number);
@@ -27,16 +31,27 @@ const Moh745Component: React.FC = () => {
27
31
  const end = new Date(year, monthIndex, 0);
28
32
 
29
33
  const formatLocalDate = (d: Date) => {
30
- const year = d.getFullYear();
31
- const month = String(d.getMonth() + 1).padStart(2, '0');
34
+ const y = d.getFullYear();
35
+ const m = String(d.getMonth() + 1).padStart(2, '0');
32
36
  const day = String(d.getDate()).padStart(2, '0');
33
- return `${year}-${month}-${day}`;
37
+ return `${y}-${m}-${day}`;
34
38
  };
35
39
 
36
- startDate = formatLocalDate(start);
37
- endDate = formatLocalDate(end);
40
+ sDate = formatLocalDate(start);
41
+ eDate = formatLocalDate(end);
38
42
  }
39
43
 
44
+ setStartDate(sDate || '');
45
+ setEndDate(eDate || '');
46
+
47
+ return { startDate: sDate, endDate: eDate };
48
+ };
49
+
50
+ const fetchMoh745ReportData = async (filters: { startDate?: string; endDate?: string; month?: string }) => {
51
+ setIsLoading(true);
52
+
53
+ const { startDate, endDate } = getReportParams(filters);
54
+
40
55
  const params = {
41
56
  locationUuids: locationUuids || '',
42
57
  startDate,
@@ -45,8 +60,6 @@ const Moh745Component: React.FC = () => {
45
60
  try {
46
61
  const data = await getMoh745(params);
47
62
  const flatData = Object.assign({}, ...data.result);
48
- // eslint-disable-next-line no-console
49
- console.log('MOH-745 Report Data:', flatData);
50
63
  setMoh745Data(flatData);
51
64
  setIsLoading(false);
52
65
  } catch (error) {
@@ -55,6 +68,12 @@ const Moh745Component: React.FC = () => {
55
68
  throw new Error(`Failed to fetch MOH-745 report data: ${error instanceof Error ? error.message : String(error)}`);
56
69
  }
57
70
  };
71
+
72
+ const navigateToRegister = (indicator?: string) => {
73
+ navigate(
74
+ `/moh-412-register?startDate=${startDate}&endDate=${endDate}&locationUuids=${locationUuids}&indicator=${indicator}`,
75
+ );
76
+ };
58
77
  return (
59
78
  <>
60
79
  <ReportFiltersComponent
@@ -160,51 +179,105 @@ const Moh745Component: React.FC = () => {
160
179
  <tbody>
161
180
  <tr>
162
181
  <td>1 a) Number of clients who received VIA or VIA/VILLI Screening</td>
163
- <td>{moh745Data.via_villi_less_25_initial_screening}</td>
164
- <td>{moh745Data.via_villi_25_49_initial_screening}</td>
165
- <td>{moh745Data.via_villi_50_above_initial_screening}</td>
182
+ <td onClick={() => navigateToRegister('via_villi_less_25_initial_screening')}>
183
+ {moh745Data.via_villi_less_25_initial_screening}
184
+ </td>
185
+ <td onClick={() => navigateToRegister('via_villi_25_49_initial_screening')}>
186
+ {moh745Data.via_villi_25_49_initial_screening}
187
+ </td>
188
+ <td onClick={() => navigateToRegister('via_villi_50_above_initial_screening')}>
189
+ {moh745Data.via_villi_50_above_initial_screening}
190
+ </td>
166
191
  <td></td>
167
- <td>{moh745Data.via_villi_less_25_routine_screening}</td>
168
- <td>{moh745Data.via_villi_25_49_routine_screening}</td>
169
- <td>{moh745Data.via_villi_50_above_routine_screening}</td>
192
+ <td onClick={() => navigateToRegister('via_villi_less_25_routine_screening')}>
193
+ {moh745Data.via_villi_less_25_routine_screening}
194
+ </td>
195
+ <td onClick={() => navigateToRegister('via_villi_25_49_routine_screening')}>
196
+ {moh745Data.via_villi_25_49_routine_screening}
197
+ </td>
198
+ <td onClick={() => navigateToRegister('via_villi_50_above_routine_screening')}>
199
+ {moh745Data.via_villi_50_above_routine_screening}
200
+ </td>
170
201
  <td></td>
171
- <td>{moh745Data.via_villi_less_25_post_treatment_screening}</td>
172
- <td>{moh745Data.via_villi_25_49_post_treatment_screening}</td>
173
- <td>{moh745Data.via_villi_50_above_post_treatment_screening}</td>
202
+ <td onClick={() => navigateToRegister('via_villi_less_25_post_treatment_screening')}>
203
+ {moh745Data.via_villi_less_25_post_treatment_screening}
204
+ </td>
205
+ <td onClick={() => navigateToRegister('via_villi_25_49_post_treatment_screening')}>
206
+ {moh745Data.via_villi_25_49_post_treatment_screening}
207
+ </td>
208
+ <td onClick={() => navigateToRegister('via_villi_50_above_post_treatment_screening')}>
209
+ {moh745Data.via_villi_50_above_post_treatment_screening}
210
+ </td>
174
211
  <td></td>
175
- <td>{moh745Data.via_villi_total}</td>
212
+ <td onClick={() => navigateToRegister('via_villi_total')}>{moh745Data.via_villi_total}</td>
176
213
  </tr>
177
214
  <tr>
178
215
  <td> b) Number of clients who received Pap smear</td>
179
- <td>{moh745Data.pap_smear_less_25_initial_screening}</td>
180
- <td>{moh745Data.pap_smear_25_49_initial_screening}</td>
181
- <td>{moh745Data.pap_smear_50_above_initial_screening}</td>
216
+ <td onClick={() => navigateToRegister('pap_smear_less_25_initial_screening')}>
217
+ {moh745Data.pap_smear_less_25_initial_screening}
218
+ </td>
219
+ <td onClick={() => navigateToRegister('pap_smear_25_49_initial_screening')}>
220
+ {moh745Data.pap_smear_25_49_initial_screening}
221
+ </td>
222
+ <td onClick={() => navigateToRegister('pap_smear_50_above_initial_screening')}>
223
+ {moh745Data.pap_smear_50_above_initial_screening}
224
+ </td>
182
225
  <td></td>
183
- <td>{moh745Data.pap_smear_less_25_routine_screening}</td>
184
- <td>{moh745Data.pap_smear_25_49_routine_screening}</td>
185
- <td>{moh745Data.pap_smear_50_above_routine_screening}</td>
226
+ <td onClick={() => navigateToRegister('pap_smear_less_25_routine_screening')}>
227
+ {moh745Data.pap_smear_less_25_routine_screening}
228
+ </td>
229
+ <td onClick={() => navigateToRegister('pap_smear_25_49_routine_screening')}>
230
+ {moh745Data.pap_smear_25_49_routine_screening}
231
+ </td>
232
+ <td onClick={() => navigateToRegister('pap_smear_50_above_routine_screening')}>
233
+ {moh745Data.pap_smear_50_above_routine_screening}
234
+ </td>
186
235
  <td></td>
187
- <td>{moh745Data.pap_smear_less_25_post_treatment_screening}</td>
188
- <td>{moh745Data.pap_smear_25_49_post_treatment_screening}</td>
189
- <td>{moh745Data.pap_smear_50_above_post_treatment_screening}</td>
236
+ <td onClick={() => navigateToRegister('pap_smear_less_25_post_treatment_screening')}>
237
+ {moh745Data.pap_smear_less_25_post_treatment_screening}
238
+ </td>
239
+ <td onClick={() => navigateToRegister('pap_smear_25_49_post_treatment_screening')}>
240
+ {moh745Data.pap_smear_25_49_post_treatment_screening}
241
+ </td>
242
+ <td onClick={() => navigateToRegister('pap_smear_50_above_post_treatment_screening')}>
243
+ {moh745Data.pap_smear_50_above_post_treatment_screening}
244
+ </td>
190
245
  <td></td>
191
- <td>{moh745Data.pap_smear_total}</td>
246
+ <td onClick={() => navigateToRegister('pap_smear_total')}>{moh745Data.pap_smear_total}</td>
192
247
  </tr>
193
248
  <tr>
194
249
  <td> c) Number of clients who received HPV Test</td>
195
- <td>{moh745Data.hpv_test_less_25_initial_screening}</td>
196
- <td>{moh745Data.hpv_test_25_49_initial_screening}</td>
197
- <td>{moh745Data.hpv_test_50_above_initial_screening}</td>
250
+ <td onClick={() => navigateToRegister('hpv_test_less_25_initial_screening')}>
251
+ {moh745Data.hpv_test_less_25_initial_screening}
252
+ </td>
253
+ <td onClick={() => navigateToRegister('hpv_test_25_49_initial_screening')}>
254
+ {moh745Data.hpv_test_25_49_initial_screening}
255
+ </td>
256
+ <td onClick={() => navigateToRegister('hpv_test_50_above_initial_screening')}>
257
+ {moh745Data.hpv_test_50_above_initial_screening}
258
+ </td>
198
259
  <td></td>
199
- <td>{moh745Data.hpv_test_less_25_routine_screening}</td>
200
- <td>{moh745Data.hpv_test_25_49_routine_screening}</td>
201
- <td>{moh745Data.hpv_test_50_above_routine_screening}</td>
260
+ <td onClick={() => navigateToRegister('hpv_test_less_25_routine_screening')}>
261
+ {moh745Data.hpv_test_less_25_routine_screening}
262
+ </td>
263
+ <td onClick={() => navigateToRegister('hpv_test_25_49_routine_screening')}>
264
+ {moh745Data.hpv_test_25_49_routine_screening}
265
+ </td>
266
+ <td onClick={() => navigateToRegister('hpv_test_50_above_routine_screening')}>
267
+ {moh745Data.hpv_test_50_above_routine_screening}
268
+ </td>
202
269
  <td></td>
203
- <td>{moh745Data.hpv_test_less_25_post_treatment_screening}</td>
204
- <td>{moh745Data.hpv_test_25_49_post_treatment_screening}</td>
205
- <td>{moh745Data.hpv_test_50_above_post_treatment_screening}</td>
270
+ <td onClick={() => navigateToRegister('hpv_test_less_25_post_treatment_screening')}>
271
+ {moh745Data.hpv_test_less_25_post_treatment_screening}
272
+ </td>
273
+ <td onClick={() => navigateToRegister('hpv_test_25_49_post_treatment_screening')}>
274
+ {moh745Data.hpv_test_25_49_post_treatment_screening}
275
+ </td>
276
+ <td onClick={() => navigateToRegister('hpv_test_50_above_post_treatment_screening')}>
277
+ {moh745Data.hpv_test_50_above_post_treatment_screening}
278
+ </td>
206
279
  <td></td>
207
- <td>{moh745Data.hpv_test_total}</td>
280
+ <td onClick={() => navigateToRegister('hpv_test_total')}>{moh745Data.hpv_test_total}</td>
208
281
  </tr>
209
282
  <tr>
210
283
  <td>Total Clients Screened (1 a, b &c Above)</td>
@@ -224,51 +297,109 @@ const Moh745Component: React.FC = () => {
224
297
  </tr>
225
298
  <tr>
226
299
  <td>2 a) Number of clients with Positive VIA or VIA/VILLI result</td>
227
- <td>{moh745Data.positive_via_villi_less_25_initial_screening}</td>
228
- <td>{moh745Data.positive_via_villi_25_49_initial_screening}</td>
229
- <td>{moh745Data.positive_via_villi_50_above_initial_screening}</td>
300
+ <td onClick={() => navigateToRegister('positive_via_villi_less_25_initial_screening')}>
301
+ {moh745Data.positive_via_villi_less_25_initial_screening}
302
+ </td>
303
+ <td onClick={() => navigateToRegister('positive_via_villi_25_49_initial_screening')}>
304
+ {moh745Data.positive_via_villi_25_49_initial_screening}
305
+ </td>
306
+ <td onClick={() => navigateToRegister('positive_via_villi_50_above_initial_screening')}>
307
+ {moh745Data.positive_via_villi_50_above_initial_screening}
308
+ </td>
230
309
  <td></td>
231
- <td>{moh745Data.positive_via_villi_less_25_routine_screening}</td>
232
- <td>{moh745Data.positive_via_villi_25_49_routine_screening}</td>
233
- <td>{moh745Data.positive_via_villi_50_above_routine_screening}</td>
310
+ <td onClick={() => navigateToRegister('positive_via_villi_less_25_routine_screening')}>
311
+ {moh745Data.positive_via_villi_less_25_routine_screening}
312
+ </td>
313
+ <td onClick={() => navigateToRegister('positive_via_villi_25_49_routine_screening')}>
314
+ {moh745Data.positive_via_villi_25_49_routine_screening}
315
+ </td>
316
+ <td onClick={() => navigateToRegister('positive_via_villi_50_above_routine_screening')}>
317
+ {moh745Data.positive_via_villi_50_above_routine_screening}
318
+ </td>
234
319
  <td></td>
235
- <td>{moh745Data.positive_via_villi_less_25_post_treatment_screening}</td>
236
- <td>{moh745Data.positive_via_villi_25_49_post_treatment_screening}</td>
237
- <td>{moh745Data.positive_via_villi_50_above_post_treatment_screening}</td>
320
+ <td onClick={() => navigateToRegister('positive_via_villi_less_25_post_treatment_screening')}>
321
+ {moh745Data.positive_via_villi_less_25_post_treatment_screening}
322
+ </td>
323
+ <td onClick={() => navigateToRegister('positive_via_villi_25_49_post_treatment_screening')}>
324
+ {moh745Data.positive_via_villi_25_49_post_treatment_screening}
325
+ </td>
326
+ <td onClick={() => navigateToRegister('positive_via_villi_50_above_post_treatment_screening')}>
327
+ {moh745Data.positive_via_villi_50_above_post_treatment_screening}
328
+ </td>
238
329
  <td></td>
239
- <td>{moh745Data.positive_via_villi_total}</td>
330
+ <td onClick={() => navigateToRegister('positive_via_villi_total')}>
331
+ {moh745Data.positive_via_villi_total}
332
+ </td>
240
333
  </tr>
241
334
  <tr>
242
335
  <td> b) Number of clients with Positive Cytology result</td>
243
- <td>{moh745Data.positive_cytology_less_25_initial_screening}</td>
244
- <td>{moh745Data.positive_cytology_25_49_initial_screening}</td>
245
- <td>{moh745Data.positive_cytology_50_above_initial_screening}</td>
336
+ <td onClick={() => navigateToRegister('positive_cytology_less_25_initial_screening')}>
337
+ {moh745Data.positive_cytology_less_25_initial_screening}
338
+ </td>
339
+ <td onClick={() => navigateToRegister('positive_cytology_25_49_initial_screening')}>
340
+ {moh745Data.positive_cytology_25_49_initial_screening}
341
+ </td>
342
+ <td onClick={() => navigateToRegister('positive_cytology_50_above_initial_screening')}>
343
+ {moh745Data.positive_cytology_50_above_initial_screening}
344
+ </td>
246
345
  <td></td>
247
- <td>{moh745Data.positive_cytology_less_25_routine_screening}</td>
248
- <td>{moh745Data.positive_cytology_25_49_routine_screening}</td>
249
- <td>{moh745Data.positive_cytology_50_above_routine_screening}</td>
346
+ <td onClick={() => navigateToRegister('positive_cytology_less_25_routine_screening')}>
347
+ {moh745Data.positive_cytology_less_25_routine_screening}
348
+ </td>
349
+ <td onClick={() => navigateToRegister('positive_cytology_25_49_routine_screening')}>
350
+ {moh745Data.positive_cytology_25_49_routine_screening}
351
+ </td>
352
+ <td onClick={() => navigateToRegister('positive_cytology_50_above_routine_screening')}>
353
+ {moh745Data.positive_cytology_50_above_routine_screening}
354
+ </td>
250
355
  <td></td>
251
- <td>{moh745Data.positive_cytology_less_25_post_treatment_screening}</td>
252
- <td>{moh745Data.positive_cytology_25_49_post_treatment_screening}</td>
253
- <td>{moh745Data.positive_cytology_50_above_post_treatment_screening}</td>
356
+ <td onClick={() => navigateToRegister('positive_cytology_less_25_post_treatment_screening')}>
357
+ {moh745Data.positive_cytology_less_25_post_treatment_screening}
358
+ </td>
359
+ <td onClick={() => navigateToRegister('positive_cytology_25_49_post_treatment_screening')}>
360
+ {moh745Data.positive_cytology_25_49_post_treatment_screening}
361
+ </td>
362
+ <td onClick={() => navigateToRegister('positive_cytology_50_above_post_treatment_screening')}>
363
+ {moh745Data.positive_cytology_50_above_post_treatment_screening}
364
+ </td>
254
365
  <td></td>
255
- <td>{moh745Data.positive_cytology_total}</td>
366
+ <td onClick={() => navigateToRegister('positive_cytology_total')}>
367
+ {moh745Data.positive_cytology_total}
368
+ </td>
256
369
  </tr>
257
370
  <tr>
258
371
  <td> c) Number of clients with Positive HPV result</td>
259
- <td>{moh745Data.positive_hpv_less_25_initial_screening}</td>
260
- <td>{moh745Data.positive_hpv_25_49_initial_screening}</td>
261
- <td>{moh745Data.positive_hpv_50_above_initial_screening}</td>
372
+ <td onClick={() => navigateToRegister('positive_hpv_less_25_initial_screening')}>
373
+ {moh745Data.positive_hpv_less_25_initial_screening}
374
+ </td>
375
+ <td onClick={() => navigateToRegister('positive_hpv_25_49_initial_screening')}>
376
+ {moh745Data.positive_hpv_25_49_initial_screening}
377
+ </td>
378
+ <td onClick={() => navigateToRegister('positive_hpv_50_above_initial_screening')}>
379
+ {moh745Data.positive_hpv_50_above_initial_screening}
380
+ </td>
262
381
  <td></td>
263
- <td>{moh745Data.positive_hpv_less_25_routine_screening}</td>
264
- <td>{moh745Data.positive_hpv_25_49_routine_screening}</td>
265
- <td>{moh745Data.positive_hpv_50_above_routine_screening}</td>
382
+ <td onClick={() => navigateToRegister('positive_hpv_less_25_routine_screening')}>
383
+ {moh745Data.positive_hpv_less_25_routine_screening}
384
+ </td>
385
+ <td onClick={() => navigateToRegister('positive_hpv_25_49_routine_screening')}>
386
+ {moh745Data.positive_hpv_25_49_routine_screening}
387
+ </td>
388
+ <td onClick={() => navigateToRegister('positive_hpv_50_above_routine_screening')}>
389
+ {moh745Data.positive_hpv_50_above_routine_screening}
390
+ </td>
266
391
  <td></td>
267
- <td>{moh745Data.positive_hpv_less_25_post_treatment_screening}</td>
268
- <td>{moh745Data.positive_hpv_25_49_post_treatment_screening}</td>
269
- <td>{moh745Data.positive_hpv_50_above_post_treatment_screening}</td>
392
+ <td onClick={() => navigateToRegister('positive_hpv_less_25_post_treatment_screening')}>
393
+ {moh745Data.positive_hpv_less_25_post_treatment_screening}
394
+ </td>
395
+ <td onClick={() => navigateToRegister('positive_hpv_25_49_post_treatment_screening')}>
396
+ {moh745Data.positive_hpv_25_49_post_treatment_screening}
397
+ </td>
398
+ <td onClick={() => navigateToRegister('positive_hpv_50_above_post_treatment_screening')}>
399
+ {moh745Data.positive_hpv_50_above_post_treatment_screening}
400
+ </td>
270
401
  <td></td>
271
- <td>{moh745Data.positive_hpv_total}</td>
402
+ <td onClick={() => navigateToRegister('positive_hpv_total')}>{moh745Data.positive_hpv_total}</td>
272
403
  </tr>
273
404
  <tr>
274
405
  <td>Total Clients Screened positive (2 a, b &c Above)</td>
@@ -288,115 +419,283 @@ const Moh745Component: React.FC = () => {
288
419
  </tr>
289
420
  <tr>
290
421
  <td>3) Number of clients with suspicios cancer lessions </td>
291
- <td>{moh745Data.suspicious_cancer_lessions_less_25_initial_screening}</td>
292
- <td>{moh745Data.suspicious_cancer_lessions_25_49_initial_screening}</td>
293
- <td>{moh745Data.suspicious_cancer_lessions_50_above_initial_screening}</td>
422
+ <td onClick={() => navigateToRegister('suspicious_cancer_lessions_less_25_initial_screening')}>
423
+ {moh745Data.suspicious_cancer_lessions_less_25_initial_screening}
424
+ </td>
425
+ <td onClick={() => navigateToRegister('suspicious_cancer_lessions_25_49_initial_screening')}>
426
+ {moh745Data.suspicious_cancer_lessions_25_49_initial_screening}
427
+ </td>
428
+ <td onClick={() => navigateToRegister('suspicious_cancer_lessions_50_above_initial_screening')}>
429
+ {moh745Data.suspicious_cancer_lessions_50_above_initial_screening}
430
+ </td>
294
431
  <td>{}</td>
295
- <td>{moh745Data.suspicious_cancer_lessions_less_25_routine_screening}</td>
296
- <td>{moh745Data.suspicious_cancer_lessions_25_49_routine_screening}</td>
297
- <td>{moh745Data.suspicious_cancer_lessions_50_above_routine_screening}</td>
432
+ <td onClick={() => navigateToRegister('suspicious_cancer_lessions_less_25_routine_screening')}>
433
+ {moh745Data.suspicious_cancer_lessions_less_25_routine_screening}
434
+ </td>
435
+ <td onClick={() => navigateToRegister('suspicious_cancer_lessions_25_49_routine_screening')}>
436
+ {moh745Data.suspicious_cancer_lessions_25_49_routine_screening}
437
+ </td>
438
+ <td onClick={() => navigateToRegister('suspicious_cancer_lessions_50_above_routine_screening')}>
439
+ {moh745Data.suspicious_cancer_lessions_50_above_routine_screening}
440
+ </td>
298
441
  <td>{}</td>
299
- <td>{moh745Data.suspicious_cancer_lessions_less_25_post_treatment_screening}</td>
300
- <td>{moh745Data.suspicious_cancer_lessions_25_49_post_treatment_screening}</td>
301
- <td>{moh745Data.suspicious_cancer_lessions_50_above_post_treatment_screening}</td>
442
+ <td onClick={() => navigateToRegister('suspicious_cancer_lessions_less_25_post_treatment_screening')}>
443
+ {moh745Data.suspicious_cancer_lessions_less_25_post_treatment_screening}
444
+ </td>
445
+ <td onClick={() => navigateToRegister('suspicious_cancer_lessions_25_49_post_treatment_screening')}>
446
+ {moh745Data.suspicious_cancer_lessions_25_49_post_treatment_screening}
447
+ </td>
448
+ <td onClick={() => navigateToRegister('suspicious_cancer_lessions_50_above_post_treatment_screening')}>
449
+ {moh745Data.suspicious_cancer_lessions_50_above_post_treatment_screening}
450
+ </td>
302
451
  <td>{}</td>
303
- <td>{moh745Data.suspicious_cancer_lessions_total}</td>
452
+ <td onClick={() => navigateToRegister('suspicious_cancer_lessions_total')}>
453
+ {moh745Data.suspicious_cancer_lessions_total}
454
+ </td>
304
455
  </tr>
305
456
  <tr>
306
457
  <td>4) Number of clients treated using Cryotherapy</td>
307
- <td>{moh745Data.cryotherapy_treatment_less_25_initial_screening}</td>
308
- <td>{moh745Data.cryotherapy_treatment_25_49_initial_screening}</td>
309
- <td>{moh745Data.cryotherapy_treatment_50_above_initial_screening}</td>
458
+ <td onClick={() => navigateToRegister('cryotherapy_treatment_less_25_initial_screening')}>
459
+ {moh745Data.cryotherapy_treatment_less_25_initial_screening}
460
+ </td>
461
+ <td onClick={() => navigateToRegister('cryotherapy_treatment_25_49_initial_screening')}>
462
+ {moh745Data.cryotherapy_treatment_25_49_initial_screening}
463
+ </td>
464
+ <td onClick={() => navigateToRegister('cryotherapy_treatment_50_above_initial_screening')}>
465
+ {moh745Data.cryotherapy_treatment_50_above_initial_screening}
466
+ </td>
310
467
  <td>{}</td>
311
- <td>{moh745Data.cryotherapy_treatment_less_25_routine_screening}</td>
312
- <td>{moh745Data.cryotherapy_treatment_25_49_routine_screening}</td>
313
- <td>{moh745Data.cryotherapy_treatment_50_above_routine_screening}</td>
468
+ <td onClick={() => navigateToRegister('cryotherapy_treatment_less_25_routine_screening')}>
469
+ {moh745Data.cryotherapy_treatment_less_25_routine_screening}
470
+ </td>
471
+ <td onClick={() => navigateToRegister('cryotherapy_treatment_25_49_routine_screening')}>
472
+ {moh745Data.cryotherapy_treatment_25_49_routine_screening}
473
+ </td>
474
+ <td onClick={() => navigateToRegister('cryotherapy_treatment_50_above_routine_screening')}>
475
+ {moh745Data.cryotherapy_treatment_50_above_routine_screening}
476
+ </td>
314
477
  <td>{}</td>
315
- <td>{moh745Data.cryotherapy_treatment_less_25_post_treatment_screening}</td>
316
- <td>{moh745Data.cryotherapy_treatment_25_49_post_treatment_screening}</td>
317
- <td>{moh745Data.cryotherapy_treatment_50_above_post_treatment_screening}</td>
478
+ <td onClick={() => navigateToRegister('cryotherapy_treatment_less_25_post_treatment_screening')}>
479
+ {moh745Data.cryotherapy_treatment_less_25_post_treatment_screening}
480
+ </td>
481
+ <td onClick={() => navigateToRegister('cryotherapy_treatment_25_49_post_treatment_screening')}>
482
+ {moh745Data.cryotherapy_treatment_25_49_post_treatment_screening}
483
+ </td>
484
+ <td onClick={() => navigateToRegister('cryotherapy_treatment_50_above_post_treatment_screening')}>
485
+ {moh745Data.cryotherapy_treatment_50_above_post_treatment_screening}
486
+ </td>
318
487
  <td>{}</td>
319
- <td>{moh745Data.cryotherapy_treatment_total}</td>
488
+ <td onClick={() => navigateToRegister('cryotherapy_treatment_total')}>
489
+ {moh745Data.cryotherapy_treatment_total}
490
+ </td>
320
491
  </tr>
321
492
  <tr>
322
493
  <td>5) Number of clients treated using Thermocoagulation</td>
323
- <td>{moh745Data.thermocoagulation_treatment_less_25_initial_screening}</td>
324
- <td>{moh745Data.thermocoagulation_treatment_25_49_initial_screening}</td>
325
- <td>{moh745Data.thermocoagulation_treatment_50_above_initial_screening}</td>
494
+ <td onClick={() => navigateToRegister('thermocoagulation_treatment_less_25_initial_screening')}>
495
+ {moh745Data.thermocoagulation_treatment_less_25_initial_screening}
496
+ </td>
497
+ <td onClick={() => navigateToRegister('thermocoagulation_treatment_25_49_initial_screening')}>
498
+ {moh745Data.thermocoagulation_treatment_25_49_initial_screening}
499
+ </td>
500
+ <td onClick={() => navigateToRegister('thermocoagulation_treatment_50_above_initial_screening')}>
501
+ {moh745Data.thermocoagulation_treatment_50_above_initial_screening}
502
+ </td>
326
503
  <td>{}</td>
327
- <td>{moh745Data.thermocoagulation_treatment_less_25_routine_screening}</td>
328
- <td>{moh745Data.thermocoagulation_treatment_25_49_routine_screening}</td>
329
- <td>{moh745Data.thermocoagulation_treatment_50_above_routine_screening}</td>
504
+ <td onClick={() => navigateToRegister('thermocoagulation_treatment_less_25_routine_screening')}>
505
+ {moh745Data.thermocoagulation_treatment_less_25_routine_screening}
506
+ </td>
507
+ <td onClick={() => navigateToRegister('thermocoagulation_treatment_25_49_routine_screening')}>
508
+ {moh745Data.thermocoagulation_treatment_25_49_routine_screening}
509
+ </td>
510
+ <td onClick={() => navigateToRegister('thermocoagulation_treatment_50_above_routine_screening')}>
511
+ {moh745Data.thermocoagulation_treatment_50_above_routine_screening}
512
+ </td>
330
513
  <td>{}</td>
331
- <td>{moh745Data.thermocoagulation_treatment_less_25_post_treatment_screening}</td>
332
- <td>{moh745Data.thermocoagulation_treatment_25_49_post_treatment_screening}</td>
333
- <td>{moh745Data.thermocoagulation_treatment_50_above_post_treatment_screening}</td>
514
+ <td onClick={() => navigateToRegister('thermocoagulation_treatment_less_25_post_treatment_screening')}>
515
+ {moh745Data.thermocoagulation_treatment_less_25_post_treatment_screening}
516
+ </td>
517
+ <td onClick={() => navigateToRegister('thermocoagulation_treatment_25_49_post_treatment_screening')}>
518
+ {moh745Data.thermocoagulation_treatment_25_49_post_treatment_screening}
519
+ </td>
520
+ <td onClick={() => navigateToRegister('via_villi_less_25_initial_screening')}>
521
+ {moh745Data.thermocoagulation_treatment_50_above_post_treatment_screening}
522
+ </td>
334
523
  <td>{}</td>
335
- <td>{moh745Data.thermocoagulation_treatment_total}</td>
524
+ <td onClick={() => navigateToRegister('thermocoagulation_treatment_total')}>
525
+ {moh745Data.thermocoagulation_treatment_total}
526
+ </td>
336
527
  </tr>
337
528
  <tr>
338
529
  <td>6) Number of clients treated using LEEP</td>
339
- <td>{moh745Data.leep_treatment_less_25_initial_screening}</td>
340
- <td>{moh745Data.leep_treatment_25_49_initial_screening}</td>
341
- <td>{moh745Data.leep_treatment_50_above_initial_screening}</td>
530
+ <td onClick={() => navigateToRegister('leep_treatment_less_25_initial_screening')}>
531
+ {moh745Data.leep_treatment_less_25_initial_screening}
532
+ </td>
533
+ <td onClick={() => navigateToRegister('leep_treatment_25_49_initial_screening')}>
534
+ {moh745Data.leep_treatment_25_49_initial_screening}
535
+ </td>
536
+ <td onClick={() => navigateToRegister('leep_treatment_50_above_initial_screening')}>
537
+ {moh745Data.leep_treatment_50_above_initial_screening}
538
+ </td>
342
539
  <td>{}</td>
343
- <td>{moh745Data.leep_treatment_less_25_routine_screening}</td>
344
- <td>{moh745Data.leep_treatment_25_49_routine_screening}</td>
345
- <td>{moh745Data.leep_treatment_50_above_routine_screening}</td>
540
+ <td onClick={() => navigateToRegister('leep_treatment_less_25_routine_screening')}>
541
+ {moh745Data.leep_treatment_less_25_routine_screening}
542
+ </td>
543
+ <td onClick={() => navigateToRegister('leep_treatment_25_49_routine_screening')}>
544
+ {moh745Data.leep_treatment_25_49_routine_screening}
545
+ </td>
546
+ <td onClick={() => navigateToRegister('leep_treatment_50_above_routine_screening')}>
547
+ {moh745Data.leep_treatment_50_above_routine_screening}
548
+ </td>
346
549
  <td>{}</td>
347
- <td>{moh745Data.leep_treatment_less_25_post_treatment_screening}</td>
348
- <td>{moh745Data.leep_treatment_25_49_post_treatment_screening}</td>
349
- <td>{moh745Data.leep_treatment_50_above_post_treatment_screening}</td>
550
+ <td onClick={() => navigateToRegister('leep_treatment_less_25_post_treatment_screening')}>
551
+ {moh745Data.leep_treatment_less_25_post_treatment_screening}
552
+ </td>
553
+ <td onClick={() => navigateToRegister('leep_treatment_25_49_post_treatment_screening')}>
554
+ {moh745Data.leep_treatment_25_49_post_treatment_screening}
555
+ </td>
556
+ <td onClick={() => navigateToRegister('leep_treatment_50_above_post_treatment_screening')}>
557
+ {moh745Data.leep_treatment_50_above_post_treatment_screening}
558
+ </td>
350
559
  <td>{}</td>
351
- <td>{moh745Data.leep_treatment_total}</td>
560
+ <td onClick={() => navigateToRegister('leep_treatment_total')}>{moh745Data.leep_treatment_total}</td>
352
561
  </tr>
353
562
  <tr>
354
563
  <td>7) Numeber of other treatment given (e.g Hysterectomy, cone)</td>
355
- <td>{moh745Data.other_treatment_less_25_initial_screening}</td>
356
- <td>{moh745Data.other_treatment_25_49_initial_screening}</td>
357
- <td>{moh745Data.other_treatment_50_above_initial_screening}</td>
564
+ <td onClick={() => navigateToRegister('other_treatment_less_25_initial_screening')}>
565
+ {moh745Data.other_treatment_less_25_initial_screening}
566
+ </td>
567
+ <td onClick={() => navigateToRegister('other_treatment_25_49_initial_screening')}>
568
+ {moh745Data.other_treatment_25_49_initial_screening}
569
+ </td>
570
+ <td onClick={() => navigateToRegister('other_treatment_50_above_initial_screening')}>
571
+ {moh745Data.other_treatment_50_above_initial_screening}
572
+ </td>
358
573
  <td>{}</td>
359
- <td>{moh745Data.other_treatment_less_25_routine_screening}</td>
360
- <td>{moh745Data.other_treatment_25_49_routine_screening}</td>
361
- <td>{moh745Data.other_treatment_50_above_routine_screening}</td>
574
+ <td onClick={() => navigateToRegister('other_treatment_less_25_routine_screening')}>
575
+ {moh745Data.other_treatment_less_25_routine_screening}
576
+ </td>
577
+ <td onClick={() => navigateToRegister('other_treatment_25_49_routine_screening')}>
578
+ {moh745Data.other_treatment_25_49_routine_screening}
579
+ </td>
580
+ <td onClick={() => navigateToRegister('other_treatment_50_above_routine_screening')}>
581
+ {moh745Data.other_treatment_50_above_routine_screening}
582
+ </td>
362
583
  <td>{}</td>
363
- <td>{moh745Data.other_treatment_less_25_post_treatment_screening}</td>
364
- <td>{moh745Data.other_treatment_25_49_post_treatment_screening}</td>
365
- <td>{moh745Data.other_treatment_50_above_post_treatment_screening}</td>
584
+ <td onClick={() => navigateToRegister('other_treatment_less_25_post_treatment_screening')}>
585
+ {moh745Data.other_treatment_less_25_post_treatment_screening}
586
+ </td>
587
+ <td onClick={() => navigateToRegister('other_treatment_25_49_post_treatment_screening')}>
588
+ {moh745Data.other_treatment_25_49_post_treatment_screening}
589
+ </td>
590
+ <td onClick={() => navigateToRegister('other_treatment_50_above_post_treatment_screening')}>
591
+ {moh745Data.other_treatment_50_above_post_treatment_screening}
592
+ </td>
366
593
  <td>{}</td>
367
- <td>{moh745Data.other_treatment_total}</td>
594
+ <td onClick={() => navigateToRegister('other_treatment_total')}>{moh745Data.other_treatment_total}</td>
368
595
  </tr>
369
596
  <tr>
370
597
  <td>8) Number of HIV positive clients screened</td>
371
- <td>{moh745Data.hiv_positive_screened_cervical_cancer_less_25_initial_screening}</td>
372
- <td>{moh745Data.hiv_positive_screened_cervical_cancer_25_49_initial_screening}</td>
373
- <td>{moh745Data.hiv_positive_screened_cervical_cancer_50_above_initial_screening}</td>
598
+ <td onClick={() => navigateToRegister('hiv_positive_screened_cervical_cancer_less_25_initial_screening')}>
599
+ {moh745Data.hiv_positive_screened_cervical_cancer_less_25_initial_screening}
600
+ </td>
601
+ <td onClick={() => navigateToRegister('hiv_positive_screened_cervical_cancer_25_49_initial_screening')}>
602
+ {moh745Data.hiv_positive_screened_cervical_cancer_25_49_initial_screening}
603
+ </td>
604
+ <td
605
+ onClick={() => navigateToRegister('hiv_positive_screened_cervical_cancer_50_above_initial_screening')}
606
+ >
607
+ {moh745Data.hiv_positive_screened_cervical_cancer_50_above_initial_screening}
608
+ </td>
374
609
  <td>{}</td>
375
- <td>{moh745Data.hiv_positive_screened_cervical_cancer_less_25_routine_screening}</td>
376
- <td>{moh745Data.hiv_positive_screened_cervical_cancer_25_49_routine_screening}</td>
377
- <td>{moh745Data.hiv_positive_screened_cervical_cancer_50_above_routine_screening}</td>
610
+ <td onClick={() => navigateToRegister('hiv_positive_screened_cervical_cancer_less_25_routine_screening')}>
611
+ {moh745Data.hiv_positive_screened_cervical_cancer_less_25_routine_screening}
612
+ </td>
613
+ <td onClick={() => navigateToRegister('hiv_positive_screened_cervical_cancer_25_49_routine_screening')}>
614
+ {moh745Data.hiv_positive_screened_cervical_cancer_25_49_routine_screening}
615
+ </td>
616
+ <td
617
+ onClick={() => navigateToRegister('hiv_positive_screened_cervical_cancer_50_above_routine_screening')}
618
+ >
619
+ {moh745Data.hiv_positive_screened_cervical_cancer_50_above_routine_screening}
620
+ </td>
378
621
  <td>{}</td>
379
- <td>{moh745Data.hiv_positive_screened_cervical_cancer_less_25_post_treatment_screening}</td>
380
- <td>{moh745Data.hiv_positive_screened_cervical_cancer_25_49_post_treatment_screening}</td>
381
- <td>{moh745Data.hiv_positive_screened_cervical_cancer_50_above_post_treatment_screening}</td>
622
+ <td
623
+ onClick={() =>
624
+ navigateToRegister('hiv_positive_screened_cervical_cancer_less_25_post_treatment_screening')
625
+ }
626
+ >
627
+ {moh745Data.hiv_positive_screened_cervical_cancer_less_25_post_treatment_screening}
628
+ </td>
629
+ <td
630
+ onClick={() =>
631
+ navigateToRegister('hiv_positive_screened_cervical_cancer_25_49_post_treatment_screening')
632
+ }
633
+ >
634
+ {moh745Data.hiv_positive_screened_cervical_cancer_25_49_post_treatment_screening}
635
+ </td>
636
+ <td
637
+ onClick={() =>
638
+ navigateToRegister('hiv_positive_screened_cervical_cancer_50_above_post_treatment_screening')
639
+ }
640
+ >
641
+ {moh745Data.hiv_positive_screened_cervical_cancer_50_above_post_treatment_screening}
642
+ </td>
382
643
  <td>{}</td>
383
- <td>{moh745Data.hiv_positive_screened_cervical_cancer_total}</td>
644
+ <td onClick={() => navigateToRegister('hiv_positive_screened_cervical_cancer_total')}>
645
+ {moh745Data.hiv_positive_screened_cervical_cancer_total}
646
+ </td>
384
647
  </tr>
385
648
  <tr>
386
649
  <td>9) Number of HIV positive with positive screening</td>
387
- <td>{moh745Data.hiv_positive_cervical_cancer_positive_less_25_initial_screening}</td>
388
- <td>{moh745Data.hiv_positive_cervical_cancer_positive_25_49_initial_screening}</td>
389
- <td>{moh745Data.hiv_positive_cervical_cancer_positive_50_above_initial_screening}</td>
650
+ <td onClick={() => navigateToRegister('hiv_positive_cervical_cancer_positive_less_25_initial_screening')}>
651
+ {moh745Data.hiv_positive_cervical_cancer_positive_less_25_initial_screening}
652
+ </td>
653
+ <td onClick={() => navigateToRegister('hiv_positive_cervical_cancer_positive_25_49_initial_screening')}>
654
+ {moh745Data.hiv_positive_cervical_cancer_positive_25_49_initial_screening}
655
+ </td>
656
+ <td
657
+ onClick={() => navigateToRegister('hiv_positive_cervical_cancer_positive_50_above_initial_screening')}
658
+ >
659
+ {moh745Data.hiv_positive_cervical_cancer_positive_50_above_initial_screening}
660
+ </td>
390
661
  <td>{}</td>
391
- <td>{moh745Data.hiv_positive_cervical_cancer_positive_less_25_routine_screening}</td>
392
- <td>{moh745Data.hiv_positive_cervical_cancer_positive_25_49_routine_screening}</td>
393
- <td>{moh745Data.hiv_positive_cervical_cancer_positive_50_above_routine_screening}</td>
662
+ <td onClick={() => navigateToRegister('hiv_positive_cervical_cancer_positive_less_25_routine_screening')}>
663
+ {moh745Data.hiv_positive_cervical_cancer_positive_less_25_routine_screening}
664
+ </td>
665
+ <td onClick={() => navigateToRegister('hiv_positive_cervical_cancer_positive_25_49_routine_screening')}>
666
+ {moh745Data.hiv_positive_cervical_cancer_positive_25_49_routine_screening}
667
+ </td>
668
+ <td
669
+ onClick={() => navigateToRegister('hiv_positive_cervical_cancer_positive_50_above_routine_screening')}
670
+ >
671
+ {moh745Data.hiv_positive_cervical_cancer_positive_50_above_routine_screening}
672
+ </td>
394
673
  <td>{}</td>
395
- <td>{moh745Data.hiv_positive_cervical_cancer_positive_less_25_post_treatment_screening}</td>
396
- <td>{moh745Data.hiv_positive_cervical_cancer_positive_25_49_post_treatment_screening}</td>
397
- <td>{moh745Data.hiv_positive_cervical_cancer_positive_50_above_post_treatment_screening}</td>
674
+ <td
675
+ onClick={() =>
676
+ navigateToRegister('hiv_positive_cervical_cancer_positive_less_25_post_treatment_screening')
677
+ }
678
+ >
679
+ {moh745Data.hiv_positive_cervical_cancer_positive_less_25_post_treatment_screening}
680
+ </td>
681
+ <td
682
+ onClick={() =>
683
+ navigateToRegister('hiv_positive_cervical_cancer_positive_25_49_post_treatment_screening')
684
+ }
685
+ >
686
+ {moh745Data.hiv_positive_cervical_cancer_positive_25_49_post_treatment_screening}
687
+ </td>
688
+ <td
689
+ onClick={() =>
690
+ navigateToRegister('hiv_positive_cervical_cancer_positive_50_above_post_treatment_screening')
691
+ }
692
+ >
693
+ {moh745Data.hiv_positive_cervical_cancer_positive_50_above_post_treatment_screening}
694
+ </td>
398
695
  <td>{}</td>
399
- <td>{moh745Data.hiv_positive_cervical_cancer_positive_total}</td>
696
+ <td onClick={() => navigateToRegister('hiv_positive_cervical_cancer_positive_total')}>
697
+ {moh745Data.hiv_positive_cervical_cancer_positive_total}
698
+ </td>
400
699
  </tr>
401
700
  </tbody>
402
701
  </table>