@ampath/esm-reports-app 1.0.0-next.10

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 (154) hide show
  1. package/.editorconfig +12 -0
  2. package/.eslintignore +2 -0
  3. package/.eslintrc +57 -0
  4. package/.husky/pre-commit +7 -0
  5. package/.husky/pre-push +6 -0
  6. package/.prettierignore +14 -0
  7. package/.turbo.json +18 -0
  8. package/.yarn/plugins/@yarnpkg/plugin-outdated.cjs +35 -0
  9. package/LICENSE +401 -0
  10. package/README.md +9 -0
  11. package/__mocks__/react-i18next.js +50 -0
  12. package/dist/138.js +2 -0
  13. package/dist/138.js.LICENSE.txt +20 -0
  14. package/dist/138.js.map +1 -0
  15. package/dist/184.js +2 -0
  16. package/dist/184.js.LICENSE.txt +14 -0
  17. package/dist/184.js.map +1 -0
  18. package/dist/197.js +1 -0
  19. package/dist/205.js +1 -0
  20. package/dist/205.js.map +1 -0
  21. package/dist/282.js +2 -0
  22. package/dist/282.js.LICENSE.txt +32 -0
  23. package/dist/282.js.map +1 -0
  24. package/dist/300.js +1 -0
  25. package/dist/311.js +1 -0
  26. package/dist/311.js.map +1 -0
  27. package/dist/335.js +1 -0
  28. package/dist/353.js +1 -0
  29. package/dist/353.js.map +1 -0
  30. package/dist/478.js +2 -0
  31. package/dist/478.js.LICENSE.txt +9 -0
  32. package/dist/478.js.map +1 -0
  33. package/dist/540.js +2 -0
  34. package/dist/540.js.LICENSE.txt +9 -0
  35. package/dist/540.js.map +1 -0
  36. package/dist/55.js +1 -0
  37. package/dist/652.js +1 -0
  38. package/dist/677.js +1 -0
  39. package/dist/677.js.map +1 -0
  40. package/dist/812.js +1 -0
  41. package/dist/812.js.map +1 -0
  42. package/dist/961.js +2 -0
  43. package/dist/961.js.LICENSE.txt +19 -0
  44. package/dist/961.js.map +1 -0
  45. package/dist/99.js +1 -0
  46. package/dist/ampath-esm-reports-app.js +1 -0
  47. package/dist/ampath-esm-reports-app.js.buildmanifest.json +539 -0
  48. package/dist/ampath-esm-reports-app.js.map +1 -0
  49. package/dist/main.js +1 -0
  50. package/dist/main.js.map +1 -0
  51. package/dist/routes.json +1 -0
  52. package/e2e/README.md +115 -0
  53. package/e2e/core/global-setup.ts +32 -0
  54. package/e2e/core/index.ts +1 -0
  55. package/e2e/core/test.ts +20 -0
  56. package/e2e/fixtures/api.ts +26 -0
  57. package/e2e/fixtures/index.ts +1 -0
  58. package/e2e/pages/index.ts +1 -0
  59. package/e2e/pages/root-page.ts +32 -0
  60. package/e2e/specs/template-app.spec.ts +23 -0
  61. package/e2e/support/github/Dockerfile +34 -0
  62. package/e2e/support/github/docker-compose.yml +24 -0
  63. package/e2e/support/github/run-e2e-docker-env.sh +37 -0
  64. package/example.env +6 -0
  65. package/jest.config.js +33 -0
  66. package/package.json +106 -0
  67. package/playwright.config.ts +32 -0
  68. package/prettier.config.js +8 -0
  69. package/src/common/report-filters/report-filters.component.tsx +127 -0
  70. package/src/common/report-filters/report-filters.scss +49 -0
  71. package/src/config-schema.ts +12 -0
  72. package/src/createDashboardLink.tsx +9 -0
  73. package/src/dashboard/reports-dasboard.tsx +41 -0
  74. package/src/dashboard/reports-dashboard.module.scss +14 -0
  75. package/src/dashboard-meta/reports-dashboard.meta.ts +6 -0
  76. package/src/declarations.d.ts +5 -0
  77. package/src/index.ts +20 -0
  78. package/src/reports/datatable-wrapper/datatable-wrapper.component.tsx +54 -0
  79. package/src/reports/moh-240/moh-240.component.tsx +12 -0
  80. package/src/reports/moh-240/sub-reports/moh-240-register.component.tsx +42 -0
  81. package/src/reports/moh-240/sub-reports/page-summary.component.tsx +95 -0
  82. package/src/reports/moh-505/moh-505.component.tsx +234 -0
  83. package/src/reports/moh-705B/moh-705b.component.tsx +466 -0
  84. package/src/reports/moh-705B/moh-705b.scss +41 -0
  85. package/src/reports/moh-705a/moh-705a.component.tsx +473 -0
  86. package/src/reports/moh-705a/moh-705a.scss +41 -0
  87. package/src/reports/moh-706/moh-706.component.tsx +26 -0
  88. package/src/reports/moh-706/moh-706.scss +18 -0
  89. package/src/reports/moh-706/sub-reports/bacteriology/bacteriology.component.tsx +117 -0
  90. package/src/reports/moh-706/sub-reports/blood-chemistry/blood-chemistry.component.tsx +311 -0
  91. package/src/reports/moh-706/sub-reports/drug-susceptibility-testing/drug-susceptibility-testing.component.tsx +137 -0
  92. package/src/reports/moh-706/sub-reports/haematology/haematology.component.tsx +172 -0
  93. package/src/reports/moh-706/sub-reports/histology-and-cytology/histology-and-cytology.component.tsx +88 -0
  94. package/src/reports/moh-706/sub-reports/parasitology/parasitology.component.tsx +114 -0
  95. package/src/reports/moh-706/sub-reports/serology/serology.component.tsx +40 -0
  96. package/src/reports/moh-706/sub-reports/specimen-referral-to-higher-levels/specimen-referral-to-higher-levels.component.tsx +39 -0
  97. package/src/reports/moh-706/sub-reports/urine-analysis/urine-analysis.component.tsx +101 -0
  98. package/src/reports/moh-710/moh-710.component.tsx +663 -0
  99. package/src/reports/moh-710/moh-710.scss +41 -0
  100. package/src/reports/moh-711/moh-711.component.tsx +121 -0
  101. package/src/reports/moh-711/moh711.scss +71 -0
  102. package/src/reports/moh-711/sections/anc.component.tsx +134 -0
  103. package/src/reports/moh-711/sections/cervical-cancer.component.tsx +104 -0
  104. package/src/reports/moh-711/sections/chanis.component.tsx +367 -0
  105. package/src/reports/moh-711/sections/family-planning.component.tsx +221 -0
  106. package/src/reports/moh-711/sections/gbv.component.tsx +115 -0
  107. package/src/reports/moh-711/sections/maternity.component.tsx +280 -0
  108. package/src/reports/moh-711/sections/medical-social-work.component.tsx +83 -0
  109. package/src/reports/moh-711/sections/other.component.tsx +47 -0
  110. package/src/reports/moh-711/sections/physiotherapy.component.tsx +61 -0
  111. package/src/reports/moh-711/sections/pnc.component.tsx +92 -0
  112. package/src/reports/moh-711/sections/post-abortion.component.tsx +42 -0
  113. package/src/reports/moh-711/sections/rehabilitation.component.tsx +57 -0
  114. package/src/reports/moh-711/sections/report-compiled-by.component.tsx +42 -0
  115. package/src/reports/moh-711/sections/tb-screening.component.tsx +57 -0
  116. package/src/reports/moh-717/moh-717.component.tsx +152 -0
  117. package/src/reports/moh-717/moh717.scss +150 -0
  118. package/src/reports/moh-717/sections/finance.component.tsx +42 -0
  119. package/src/reports/moh-717/sections/inpatient.component.tsx +374 -0
  120. package/src/reports/moh-717/sections/maternity.component.tsx +94 -0
  121. package/src/reports/moh-717/sections/medical-records.component.tsx +35 -0
  122. package/src/reports/moh-717/sections/mortuary.component.tsx +43 -0
  123. package/src/reports/moh-717/sections/operations.component.tsx +53 -0
  124. package/src/reports/moh-717/sections/orthopaedic-trauma.component.tsx +98 -0
  125. package/src/reports/moh-717/sections/outpatient.component.tsx +489 -0
  126. package/src/reports/moh-717/sections/pharmacy.component.tsx +43 -0
  127. package/src/reports/moh-717/sections/preparedby.component.tsx +47 -0
  128. package/src/reports/moh-717/sections/special-services.component.tsx +114 -0
  129. package/src/reports/moh-745/moh-745.component.tsx +629 -0
  130. package/src/reports/moh-745/moh-745.scss +67 -0
  131. package/src/reports/table-wrapper/table-row-mapper.component.tsx +42 -0
  132. package/src/reports/table-wrapper/table-wrapper.component.tsx +21 -0
  133. package/src/reports/table-wrapper/table-wrapper.scss +31 -0
  134. package/src/resources/moh-705.resource.ts +60 -0
  135. package/src/resources/moh-710.resource.ts +34 -0
  136. package/src/resources/moh-711.resource.ts +34 -0
  137. package/src/resources/moh-717.resource.ts +35 -0
  138. package/src/resources/moh-745.resource.ts +34 -0
  139. package/src/root.component.tsx +35 -0
  140. package/src/root.scss +15 -0
  141. package/src/routes.json +27 -0
  142. package/src/utils/get-base-url.ts +12 -0
  143. package/src/utils/utils.ts +7 -0
  144. package/tools/i18next-parser.config.js +89 -0
  145. package/tools/setup-tests.ts +1 -0
  146. package/tools/update-openmrs-deps.mjs +43 -0
  147. package/translations/am.json +24 -0
  148. package/translations/en.json +24 -0
  149. package/translations/es.json +24 -0
  150. package/translations/fr.json +24 -0
  151. package/translations/he.json +24 -0
  152. package/translations/km.json +24 -0
  153. package/tsconfig.json +24 -0
  154. package/webpack.config.js +1 -0
@@ -0,0 +1,629 @@
1
+ import React, { useState } from 'react';
2
+ import ReportFiltersComponent from '../../common/report-filters/report-filters.component';
3
+
4
+ import styles from './moh-745.scss';
5
+ import classNames from 'classnames';
6
+ import { useSession } from '@openmrs/esm-framework';
7
+ import { Loading } from '@carbon/react';
8
+ import { getMoh745 } from '../../resources/moh-745.resource';
9
+
10
+ const Moh745Component: React.FC = () => {
11
+ let errorMessage: string = '';
12
+ const [moh745Data, setMoh745Data] = useState<any>([]);
13
+ const [isLoading, setIsLoading] = useState<boolean>(false);
14
+
15
+ const session = useSession();
16
+ const locationUuids = session?.sessionLocation?.uuid;
17
+
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
+
23
+ if (filters.month) {
24
+ const [year, monthIndex] = filters.month.split('-').map(Number);
25
+
26
+ const start = new Date(year, monthIndex - 1, 1);
27
+ const end = new Date(year, monthIndex, 0);
28
+
29
+ const formatLocalDate = (d: Date) => {
30
+ const year = d.getFullYear();
31
+ const month = String(d.getMonth() + 1).padStart(2, '0');
32
+ const day = String(d.getDate()).padStart(2, '0');
33
+ return `${year}-${month}-${day}`;
34
+ };
35
+
36
+ startDate = formatLocalDate(start);
37
+ endDate = formatLocalDate(end);
38
+ }
39
+
40
+ const params = {
41
+ locationUuids: locationUuids || '',
42
+ startDate,
43
+ endDate,
44
+ };
45
+ try {
46
+ const data = await getMoh745(params);
47
+ const flatData = Object.assign({}, ...data.result);
48
+ // eslint-disable-next-line no-console
49
+ console.log('MOH-745 Report Data:', flatData);
50
+ setMoh745Data(flatData);
51
+ setIsLoading(false);
52
+ } catch (error) {
53
+ errorMessage = error instanceof Error ? error.message : String(error);
54
+ setIsLoading(false);
55
+ throw new Error(`Failed to fetch MOH-745 report data: ${error instanceof Error ? error.message : String(error)}`);
56
+ }
57
+ };
58
+ return (
59
+ <>
60
+ <ReportFiltersComponent
61
+ reportName="MOH-745 Report"
62
+ mode="monthly"
63
+ onGenerate={fetchMoh745ReportData}
64
+ isLoding={isLoading}
65
+ />
66
+ {isLoading && <Loading description="Fetching data...." />}
67
+ {!isLoading && errorMessage && (
68
+ <div>
69
+ <a href="#" className="close" data-dismiss="alert">
70
+ &times;
71
+ </a>
72
+ <h4>
73
+ <strong>
74
+ <span className="glyphicon glyphicon-warning-sign"></span>{' '}
75
+ </strong>{' '}
76
+ An error occurred while trying to load the report. Please try again.
77
+ </h4>
78
+ <p>
79
+ <small>{errorMessage}</small>
80
+ </p>
81
+ </div>
82
+ )}
83
+ <h3>CANCER SCREENING MONTHLY SUMMARY FORM</h3>
84
+ <div className={styles.location}>
85
+ <span>
86
+ Facility Name: <span className={styles.line}></span>
87
+ </span>
88
+ <span>
89
+ Facility Code: <span className={styles.line}></span>
90
+ </span>
91
+ <span>
92
+ County: <span className={styles.shortLine}></span>
93
+ </span>
94
+ <span>
95
+ Sub-County: <span className={styles.shortLine}></span>
96
+ </span>
97
+ <span>
98
+ Month: <span className={styles.shortLine}></span>
99
+ </span>
100
+ <span>
101
+ Year: <span className={styles.shortLine}></span>
102
+ </span>
103
+ </div>
104
+ <div className={styles.tableContainer}>
105
+ <table className={classNames(`${styles.table}`, `${styles.tableBordered}`, `${styles.tableStriped}`)}>
106
+ <thead>
107
+ <tr>
108
+ <th colSpan={14}>CERVICAL CANCER SCREENING SUMMARY</th>
109
+ </tr>
110
+ <tr>
111
+ <th rowSpan={2}>
112
+ INDICATORS
113
+ <br />
114
+ <span>
115
+ (Use the page Tally/Summary from the Cancer Screening Register
116
+ <br /> to complete the report)
117
+ </span>
118
+ </th>
119
+ <th colSpan={4}>1) Initial Screening</th>
120
+ <th colSpan={4}>2) Routine Screening</th>
121
+ <th colSpan={4}>3) Post-treatment Screening</th>
122
+ <th rowSpan={2} className={styles.rotateUp}>
123
+ Total no. of Clients <br />
124
+ <span>
125
+ (Initial + Routine <br />+<br /> Post Treatment)
126
+ </span>
127
+ </th>
128
+ </tr>
129
+ <tr>
130
+ <td className={styles.rotateUp}>&lt;25 years</td>
131
+ <td className={styles.rotateUp}>25 - 49 years</td>
132
+ <td className={styles.rotateUp}>
133
+ 50 years and <br />
134
+ above
135
+ </td>
136
+ <td className={styles.rotateUp}>
137
+ Total (Initial <br /> screening)
138
+ </td>
139
+ <td className={styles.rotateUp}>&lt;25 years</td>
140
+ <td className={styles.rotateUp}>25 - 49 years</td>
141
+ <td className={styles.rotateUp}>
142
+ 50 years and <br />
143
+ above
144
+ </td>
145
+ <td className={styles.rotateUp}>
146
+ Total (Routine <br /> screening)
147
+ </td>
148
+ <td className={styles.rotateUp}>&lt;25 years</td>
149
+ <td className={styles.rotateUp}>25 - 49 years</td>
150
+ <td className={styles.rotateUp}>
151
+ 50 years and <br />
152
+ above
153
+ </td>
154
+ <td className={styles.rotateUp}>
155
+ Total (Post- <br />
156
+ treatment <br /> screening)
157
+ </td>
158
+ </tr>
159
+ </thead>
160
+ <tbody>
161
+ <tr>
162
+ <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>
166
+ <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>
170
+ <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>
174
+ <td></td>
175
+ <td>{moh745Data.via_villi_total}</td>
176
+ </tr>
177
+ <tr>
178
+ <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>
182
+ <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>
186
+ <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>
190
+ <td></td>
191
+ <td>{moh745Data.pap_smear_total}</td>
192
+ </tr>
193
+ <tr>
194
+ <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>
198
+ <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>
202
+ <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>
206
+ <td></td>
207
+ <td>{moh745Data.hpv_test_total}</td>
208
+ </tr>
209
+ <tr>
210
+ <td>Total Clients Screened (1 a, b &c Above)</td>
211
+ <td>{}</td>
212
+ <td>{}</td>
213
+ <td>{}</td>
214
+ <td>{}</td>
215
+ <td>{}</td>
216
+ <td>{}</td>
217
+ <td>{}</td>
218
+ <td>{}</td>
219
+ <td>{}</td>
220
+ <td>{}</td>
221
+ <td>{}</td>
222
+ <td>{}</td>
223
+ <td>{}</td>
224
+ </tr>
225
+ <tr>
226
+ <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>
230
+ <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>
234
+ <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>
238
+ <td></td>
239
+ <td>{moh745Data.positive_via_villi_total}</td>
240
+ </tr>
241
+ <tr>
242
+ <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>
246
+ <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>
250
+ <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>
254
+ <td></td>
255
+ <td>{moh745Data.positive_cytology_total}</td>
256
+ </tr>
257
+ <tr>
258
+ <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>
262
+ <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>
266
+ <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>
270
+ <td></td>
271
+ <td>{moh745Data.positive_hpv_total}</td>
272
+ </tr>
273
+ <tr>
274
+ <td>Total Clients Screened positive (2 a, b &c Above)</td>
275
+ <td>{}</td>
276
+ <td>{}</td>
277
+ <td>{}</td>
278
+ <td>{}</td>
279
+ <td>{}</td>
280
+ <td>{}</td>
281
+ <td>{}</td>
282
+ <td>{}</td>
283
+ <td>{}</td>
284
+ <td>{}</td>
285
+ <td>{}</td>
286
+ <td>{}</td>
287
+ <td>{}</td>
288
+ </tr>
289
+ <tr>
290
+ <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>
294
+ <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>
298
+ <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>
302
+ <td>{}</td>
303
+ <td>{moh745Data.suspicious_cancer_lessions_total}</td>
304
+ </tr>
305
+ <tr>
306
+ <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>
310
+ <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>
314
+ <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>
318
+ <td>{}</td>
319
+ <td>{moh745Data.cryotherapy_treatment_total}</td>
320
+ </tr>
321
+ <tr>
322
+ <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>
326
+ <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>
330
+ <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>
334
+ <td>{}</td>
335
+ <td>{moh745Data.thermocoagulation_treatment_total}</td>
336
+ </tr>
337
+ <tr>
338
+ <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>
342
+ <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>
346
+ <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>
350
+ <td>{}</td>
351
+ <td>{moh745Data.leep_treatment_total}</td>
352
+ </tr>
353
+ <tr>
354
+ <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>
358
+ <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>
362
+ <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>
366
+ <td>{}</td>
367
+ <td>{moh745Data.other_treatment_total}</td>
368
+ </tr>
369
+ <tr>
370
+ <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>
374
+ <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>
378
+ <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>
382
+ <td>{}</td>
383
+ <td>{moh745Data.hiv_positive_screened_cervical_cancer_total}</td>
384
+ </tr>
385
+ <tr>
386
+ <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>
390
+ <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>
394
+ <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>
398
+ <td>{}</td>
399
+ <td>{moh745Data.hiv_positive_cervical_cancer_positive_total}</td>
400
+ </tr>
401
+ </tbody>
402
+ </table>
403
+ </div>
404
+ <div className={styles.tableContainer}>
405
+ <table className={classNames(`${styles.table}`, `${styles.tableBordered}`, `${styles.tableStriped}`)}>
406
+ <thead>
407
+ <tr>
408
+ <th rowSpan={2}>BREAST CANCER SCREENING SUMMARY</th>
409
+ <th colSpan={13}>Screening Type and Results</th>
410
+ <th rowSpan={2} colSpan={2}>
411
+ FOLLOW UP AND REFERRAL
412
+ </th>
413
+ </tr>
414
+ <tr>
415
+ <th colSpan={3}>CBE</th>
416
+ <th colSpan={5}>Ultrasound - BIRADS</th>
417
+ <th colSpan={5}>Mammogram - BIRADS</th>
418
+ </tr>
419
+ </thead>
420
+ <tbody>
421
+ <tr>
422
+ <td>Client Age</td>
423
+ <td>Normal</td>
424
+ <td>Abnormal</td>
425
+ <td>Total CBEs</td>
426
+ <td>0 to 3</td>
427
+ <td>4</td>
428
+ <td>5</td>
429
+ <td>6</td>
430
+ <td>Total Ultrasounds Done</td>
431
+ <td>0 to 3</td>
432
+ <td>4</td>
433
+ <td>5</td>
434
+ <td>6</td>
435
+ <td>Total Mammograms Done</td>
436
+ <td>No. Followed up</td>
437
+ <td>No. referred out</td>
438
+ </tr>
439
+ <tr>
440
+ <td>25-34 yrs</td>
441
+ <td>{}</td>
442
+ <td>{}</td>
443
+ <td>{}</td>
444
+ <td>{}</td>
445
+ <td>{}</td>
446
+ <td>{}</td>
447
+ <td>{}</td>
448
+ <td>{}</td>
449
+ <td>{}</td>
450
+ <td>{}</td>
451
+ <td>{}</td>
452
+ <td>{}</td>
453
+ <td>{}</td>
454
+ <td>{}</td>
455
+ <td>{}</td>
456
+ </tr>
457
+ <tr>
458
+ <td>35-39 yrs</td>
459
+ <td>{}</td>
460
+ <td>{}</td>
461
+ <td>{}</td>
462
+ <td>{}</td>
463
+ <td>{}</td>
464
+ <td>{}</td>
465
+ <td>{}</td>
466
+ <td>{}</td>
467
+ <td>{}</td>
468
+ <td>{}</td>
469
+ <td>{}</td>
470
+ <td>{}</td>
471
+ <td>{}</td>
472
+ <td>{}</td>
473
+ <td>{}</td>
474
+ </tr>
475
+ <tr>
476
+ <td>40-55 yrs</td>
477
+ <td>{}</td>
478
+ <td>{}</td>
479
+ <td>{}</td>
480
+ <td>{}</td>
481
+ <td>{}</td>
482
+ <td>{}</td>
483
+ <td>{}</td>
484
+ <td>{}</td>
485
+ <td>{}</td>
486
+ <td>{}</td>
487
+ <td>{}</td>
488
+ <td>{}</td>
489
+ <td>{}</td>
490
+ <td>{}</td>
491
+ <td>{}</td>
492
+ </tr>
493
+ <tr>
494
+ <td>56-74 yrs</td>
495
+ <td>{}</td>
496
+ <td>{}</td>
497
+ <td>{}</td>
498
+ <td>{}</td>
499
+ <td>{}</td>
500
+ <td>{}</td>
501
+ <td>{}</td>
502
+ <td>{}</td>
503
+ <td>{}</td>
504
+ <td>{}</td>
505
+ <td>{}</td>
506
+ <td>{}</td>
507
+ <td>{}</td>
508
+ <td>{}</td>
509
+ <td>{}</td>
510
+ </tr>
511
+ <tr>
512
+ <td>&gt; 75 yrs</td>
513
+ <td>{}</td>
514
+ <td>{}</td>
515
+ <td>{}</td>
516
+ <td>{}</td>
517
+ <td>{}</td>
518
+ <td>{}</td>
519
+ <td>{}</td>
520
+ <td>{}</td>
521
+ <td>{}</td>
522
+ <td>{}</td>
523
+ <td>{}</td>
524
+ <td>{}</td>
525
+ <td>{}</td>
526
+ <td>{}</td>
527
+ <td>{}</td>
528
+ </tr>
529
+ <tr>
530
+ <th>Total</th>
531
+ <td>{}</td>
532
+ <td>{}</td>
533
+ <td>{}</td>
534
+ <td>{}</td>
535
+ <td>{}</td>
536
+ <td>{}</td>
537
+ <td>{}</td>
538
+ <td>{}</td>
539
+ <td>{}</td>
540
+ <td>{}</td>
541
+ <td>{}</td>
542
+ <td>{}</td>
543
+ <td>{}</td>
544
+ <td>{}</td>
545
+ <td>{}</td>
546
+ </tr>
547
+ </tbody>
548
+ </table>
549
+ </div>
550
+
551
+ <div className={styles.tableContainer}>
552
+ <table className={classNames(`${styles.table}`, `${styles.tableBordered}`, `${styles.tableStriped}`)}>
553
+ <thead>
554
+ <tr>
555
+ <th rowSpan={2}>COLORECTAL CANCER SCREENING SUMMARY</th>
556
+ <th colSpan={8}>Screening Type and Results</th>
557
+ </tr>
558
+ <tr>
559
+ <th colSpan={3}>FORBT</th>
560
+ <th colSpan={5}>Colonoscopy</th>
561
+ </tr>
562
+ </thead>
563
+ <tbody>
564
+ <tr>
565
+ <td>Client Age</td>
566
+ <td>Positive</td>
567
+ <td>Negative</td>
568
+ <td>Total FORBT Done</td>
569
+ <td>Total No abnormality</td>
570
+ <td>No. With Polyps</td>
571
+ <td>No. With Cancer</td>
572
+ <td>Total No. with other abnormalities</td>
573
+ <td>Total Colonoscopies Done</td>
574
+ </tr>
575
+ <tr>
576
+ <td>45-54 yrs</td>
577
+ <td>{}</td>
578
+ <td>{}</td>
579
+ <td>{}</td>
580
+ <td>{}</td>
581
+ <td>{}</td>
582
+ <td>{}</td>
583
+ <td>{}</td>
584
+ <td>{}</td>
585
+ </tr>
586
+ <tr>
587
+ <td>55-64 yrs</td>
588
+ <td>{}</td>
589
+ <td>{}</td>
590
+ <td>{}</td>
591
+ <td>{}</td>
592
+ <td>{}</td>
593
+ <td>{}</td>
594
+ <td>{}</td>
595
+ <td>{}</td>
596
+ </tr>
597
+ <tr>
598
+ <td>65-75 yrs</td>
599
+ <td>{}</td>
600
+ <td>{}</td>
601
+ <td>{}</td>
602
+ <td>{}</td>
603
+ <td>{}</td>
604
+ <td>{}</td>
605
+ <td>{}</td>
606
+ <td>{}</td>
607
+ </tr>
608
+ </tbody>
609
+ </table>
610
+ </div>
611
+ <div className={styles.location}>
612
+ <span>
613
+ Compiled by: Name <span className={styles.line}></span>
614
+ </span>
615
+ <span>
616
+ Signature <span className={styles.line}></span>
617
+ </span>
618
+ <span>
619
+ Phone no <span className={styles.shortLine}></span>
620
+ </span>
621
+ <span>
622
+ Date <span className={styles.shortLine}></span>
623
+ </span>
624
+ </div>
625
+ </>
626
+ );
627
+ };
628
+
629
+ export default Moh745Component;