@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,663 @@
1
+ import React, { useState } from 'react';
2
+ import ReportFiltersComponent from '../../common/report-filters/report-filters.component';
3
+
4
+ import styles from './moh-710.scss';
5
+ import classNames from 'classnames';
6
+ import { useSession } from '@openmrs/esm-framework';
7
+ import { getMoh710 } from '../../resources/moh-710.resource';
8
+ import { Loading } from '@carbon/react';
9
+
10
+ const Moh710Report: React.FC = () => {
11
+ let errorMessage: string = '';
12
+ const [moh710Data, setMoh710Data] = useState<any>([]);
13
+ const [isLoading, setIsLoading] = useState<boolean>(false);
14
+
15
+ const session = useSession();
16
+ const locationUuids = session?.sessionLocation?.uuid;
17
+
18
+ const fetchMoh710ReportData = 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 getMoh710(params);
47
+ const flatData = Object.assign({}, ...data.result);
48
+ setMoh710Data(flatData);
49
+ setIsLoading(false);
50
+ } catch (error) {
51
+ errorMessage = error instanceof Error ? error.message : String(error);
52
+ setIsLoading(false);
53
+ throw new Error(`Failed to fetch MOH-710 report data: ${error instanceof Error ? error.message : String(error)}`);
54
+ }
55
+ };
56
+ return (
57
+ <>
58
+ <ReportFiltersComponent
59
+ reportName="MOH-710 Report"
60
+ mode="monthly"
61
+ onGenerate={fetchMoh710ReportData}
62
+ isLoding={isLoading}
63
+ />
64
+ {isLoading && <Loading description="Fetching data...." />}
65
+ {!isLoading && errorMessage && (
66
+ <div>
67
+ <a href="#" className="close" data-dismiss="alert">
68
+ &times;
69
+ </a>
70
+ <h4>
71
+ <strong>
72
+ <span className="glyphicon glyphicon-warning-sign"></span>{' '}
73
+ </strong>{' '}
74
+ An error occurred while trying to load the report. Please try again.
75
+ </h4>
76
+ <p>
77
+ <small>{errorMessage}</small>
78
+ </p>
79
+ </div>
80
+ )}
81
+ <h3>KHIS Aggregate</h3>
82
+ <div className={styles.container}>
83
+ <p className={styles.title}>A. Child Immunization</p>
84
+ <div className={styles.tableContainer}>
85
+ <table className={classNames(`${styles.table}`, `${styles.tableBordered}`, `${styles.tableStriped}`)}>
86
+ <thead>
87
+ <tr>
88
+ <th></th>
89
+ <th>&lt;1 Years</th>
90
+ <th>&gt;1 Years</th>
91
+ </tr>
92
+ </thead>
93
+ <tbody>
94
+ <tr>
95
+ <td>BCG doses Administered</td>
96
+ <td>{moh710Data.bcg_vaccine_age_less_than_1yr}</td>
97
+ <td>{moh710Data.bcg_vaccine_age_greater_than_1yr}</td>
98
+ </tr>
99
+ <tr>
100
+ <td>OPV Birth doses Administered</td>
101
+ <td>{moh710Data.opv_vaccine_age_less_than_1yr}</td>
102
+ <td>{moh710Data.opv_vaccine_age_greater_than_1yr}</td>
103
+ </tr>
104
+ <tr>
105
+ <td>OPV1 doses Administered</td>
106
+ <td>{moh710Data.opv1_vaccine_age_less_than_1yr}</td>
107
+ <td>{moh710Data.opv1_vaccine_age_greater_than_1yr}</td>
108
+ </tr>
109
+ <tr>
110
+ <td>OPV2 doses Administered</td>
111
+ <td>{moh710Data.opv2_vaccine_age_less_than_1yr}</td>
112
+ <td>{moh710Data.opv2_vaccine_age_greater_than_1yr}</td>
113
+ </tr>
114
+ <tr>
115
+ <td>OPV3 doses Administered</td>
116
+ <td>{moh710Data.opv3_vaccine_age_less_than_1yr}</td>
117
+ <td>{moh710Data.opv3_vaccine_age_greater_than_1yr}</td>
118
+ </tr>
119
+ <tr>
120
+ <td>IPV 1 doses Administered</td>
121
+ <td>{moh710Data.ipv1_vaccine_age_less_than_1yr}</td>
122
+ <td>{moh710Data.ipv1_vaccine_age_greater_than_1yr}</td>
123
+ </tr>
124
+ <tr>
125
+ <td>IPV 2 doses Administered</td>
126
+ <td>{moh710Data.ipv2_vaccine_age_less_than_1yr}</td>
127
+ <td>{moh710Data.ipv2_vaccine_age_greater_than_1yr}</td>
128
+ </tr>
129
+ <tr>
130
+ <td>DPT/Hep+HiB 1 doses Administered</td>
131
+ <td>{moh710Data.dpt_hep_vaccine1_age_less_than_1yr}</td>
132
+ <td>{moh710Data.dpt_hep_vaccine1_age_greater_than_1yr}</td>
133
+ </tr>
134
+ <tr>
135
+ <td>DPT/Hep+HiB2 doses Administered</td>
136
+ <td>{moh710Data.dpt_hep_vaccine2_age_less_than_1yr}</td>
137
+ <td>{moh710Data.dpt_hep_vaccine2_age_greater_than_1yr}</td>
138
+ </tr>
139
+ <tr>
140
+ <td>DPT/Hep+HiB3 doses Administered</td>
141
+ <td>{moh710Data.dpt_hep_vaccine3_age_less_than_1yr}</td>
142
+ <td>{moh710Data.dpt_hep_vaccine3_age_greater_than_1yr}</td>
143
+ </tr>
144
+ <tr>
145
+ <td>Pneumococal 1 doses Administered</td>
146
+ <td>{moh710Data.pneumococal_vaccine1_age_less_than_1yr}</td>
147
+ <td>{moh710Data.pneumococal_vaccine1_age_greater_than_1yr}</td>
148
+ </tr>
149
+ <tr>
150
+ <td>Pneumococal 2 doses Administered</td>
151
+ <td>{moh710Data.pneumococal_vaccine2_age_less_than_1yr}</td>
152
+ <td>{moh710Data.pneumococal_vaccine2_age_greater_than_1yr}</td>
153
+ </tr>
154
+ <tr>
155
+ <td>Pneumococal 3 doses Administered</td>
156
+ <td>{moh710Data.pneumococal_vaccine3_age_less_than_1yr}</td>
157
+ <td>{moh710Data.pneumococal_vaccine3_age_greater_than_1yr}</td>
158
+ </tr>
159
+ <tr>
160
+ <td>Rotavirus 1 doses Administered</td>
161
+ <td>{moh710Data.rotavirus_vaccine1_age_less_than_1yr}</td>
162
+ <td>{moh710Data.rotavirus_vaccine1_age_greater_than_1yr}</td>
163
+ </tr>
164
+ <tr>
165
+ <td>Rotavirus 2 doses Administered</td>
166
+ <td>{moh710Data.rotavirus_vaccine2_age_less_than_1yr}</td>
167
+ <td>{moh710Data.rotavirus_vaccine2_age_greater_than_1yr}</td>
168
+ </tr>
169
+ <tr>
170
+ <td>Rotavirus 3 doses Administered</td>
171
+ <td>{moh710Data.rotavirus_vaccine3_age_less_than_1yr}</td>
172
+ <td>{moh710Data.rotavirus_vaccine3_age_greater_than_1yr}</td>
173
+ </tr>
174
+ <tr>
175
+ <td>Vitamin A at 6 - 11 months(100, 000 IU)</td>
176
+ <td>{moh710Data.vitaminA_vaccine_age_less_than_1yr}</td>
177
+ <td>{moh710Data.vitaminA_vaccine_age_greater_than_1yr}</td>
178
+ </tr>
179
+ <tr>
180
+ <td>Yellow fever doses Administered</td>
181
+ <td>{moh710Data.yellow_fever_vaccine_age_greater_than_1yr}</td>
182
+ <td>{moh710Data.yellow_fever_vaccine_age_less_than_1yr}</td>
183
+ </tr>
184
+ <tr>
185
+ <td>Measles-Rubella 1 doses Administered</td>
186
+ <td>{moh710Data.measles_vaccine_age_greater_than_1yr}</td>
187
+ <td>{moh710Data.measles_vaccine_age_less_than_1yr}</td>
188
+ </tr>
189
+ <tr>
190
+ <td>Typhoid Conjugate Vaccine (TCV) doses Administered</td>
191
+ <td>{moh710Data.typhoid_conjugate_vaccine_age_greater_than_1yr}</td>
192
+ <td>{moh710Data.typhoid_conjugate_vaccine_age_less_than_1yr}</td>
193
+ </tr>
194
+ <tr>
195
+ <td>Fully Immunized Children(FIC) under 1 year</td>
196
+ <td>{moh710Data.fully_immunized_children}</td>
197
+ <td></td>
198
+ </tr>
199
+ </tbody>
200
+ </table>
201
+ </div>
202
+ </div>
203
+ <div className={styles.container}>
204
+ <p className={styles.title}>B. Vitamin A and Measles Rubella</p>
205
+ <div className={styles.tableContainer}>
206
+ <table className={classNames(`${styles.table}`, `${styles.tableBordered}`, `${styles.tableStriped}`)}>
207
+ <thead>
208
+ <tr>
209
+ <th></th>
210
+ <th>Value</th>
211
+ </tr>
212
+ </thead>
213
+ <tbody>
214
+ <tr>
215
+ <td>Vitamin A at 12 to 59 months (200, 000 IU)</td>
216
+ <td>{moh710Data.vitaminA_12_59_months}</td>
217
+ </tr>
218
+ <tr>
219
+ <td>Measles-Rubella 2 DoseAdm (at 1 1/2-2years)</td>
220
+ <td>{moh710Data.measles_rubella_1_2_years}</td>
221
+ </tr>
222
+ <tr>
223
+ <td>Measles-Rubella 2 Dose Administered &gt;2 yrs</td>
224
+ <td>{moh710Data.measles_rubella_greater_2_years}</td>
225
+ </tr>
226
+ </tbody>
227
+ </table>
228
+ </div>
229
+ </div>
230
+ <div className={styles.container}>
231
+ <p className={styles.title}>C. Tetanus Toxoid</p>
232
+ <div className={styles.tableContainer}>
233
+ <table className={classNames(`${styles.table}`, `${styles.tableBordered}`, `${styles.tableStriped}`)}>
234
+ <thead>
235
+ <tr>
236
+ <th></th>
237
+ <th>Value</th>
238
+ </tr>
239
+ </thead>
240
+ <tbody>
241
+ <tr>
242
+ <td>Tetanus Toxoid Containing Vaccine for Trauma</td>
243
+ <td></td>
244
+ </tr>
245
+ </tbody>
246
+ </table>
247
+ </div>
248
+ <div className={styles.tableContainer}>
249
+ <table className={classNames(`${styles.table}`, `${styles.tableBordered}`, `${styles.tableStriped}`)}>
250
+ <thead>
251
+ <tr>
252
+ <th></th>
253
+ <th>1st Dose</th>
254
+ <th>2nd Dose</th>
255
+ <th>3rd Dose</th>
256
+ <th>4th Dose</th>
257
+ <th>5th Dose</th>
258
+ </tr>
259
+ </thead>
260
+ <tbody>
261
+ <tr>
262
+ <td>Tetanus Toxoid for Pregnant women</td>
263
+ <td>{moh710Data.tetanus_toxoid1}</td>
264
+ <td>{moh710Data.tetanus_toxoid2}</td>
265
+ <td>{moh710Data.tetanus_toxoid3}</td>
266
+ <td>{moh710Data.tetanus_toxoid4}</td>
267
+ <td>{moh710Data.tetanus_toxoid5}</td>
268
+ </tr>
269
+ </tbody>
270
+ </table>
271
+ </div>
272
+ </div>
273
+ <div className={styles.container}>
274
+ <p className={styles.title}>D. HPV</p>
275
+ <div className={styles.tableContainer}>
276
+ <table className={classNames(`${styles.table}`, `${styles.tableBordered}`, `${styles.tableStriped}`)}>
277
+ <thead>
278
+ <tr>
279
+ <th></th>
280
+ <th>Value</th>
281
+ </tr>
282
+ </thead>
283
+ <tbody>
284
+ <tr>
285
+ <td>HPV Vaccine Dose1(10-14years)</td>
286
+ <td>{moh710Data.hpv_vaccine1_10_14_years}</td>
287
+ </tr>
288
+ <tr>
289
+ <td>HPV Vaccine Dose 2</td>
290
+ <td>{moh710Data.hpv_vaccine2}</td>
291
+ </tr>
292
+ </tbody>
293
+ </table>
294
+ </div>
295
+ <div className={styles.tableContainer}>
296
+ <table className={classNames(`${styles.table}`, `${styles.tableBordered}`, `${styles.tableStriped}`)}>
297
+ <thead>
298
+ <tr>
299
+ <th></th>
300
+ <th>At 10 years</th>
301
+ <th>Above 10 years</th>
302
+ </tr>
303
+ </thead>
304
+ <tbody>
305
+ <tr>
306
+ <td>HPV Vaccine 1</td>
307
+ <td>{moh710Data.hpv_vaccine1_10_years}</td>
308
+ <td>{moh710Data.hpv_vaccine1_greater_10_years}</td>
309
+ </tr>
310
+ <tr>
311
+ <td>HPV Vaccine 2</td>
312
+ <td>{moh710Data.hpv_vaccine2_10_years}</td>
313
+ <td>{moh710Data.hpv_vaccine2_greater_10_years}</td>
314
+ </tr>
315
+ </tbody>
316
+ </table>
317
+ </div>
318
+ </div>
319
+ <div className={styles.container}>
320
+ <p className={styles.title}>E. Adverse Events</p>
321
+ <div className={styles.tableContainer}>
322
+ <table className={classNames(`${styles.table}`, `${styles.tableBordered}`, `${styles.tableStriped}`)}>
323
+ <thead>
324
+ <tr>
325
+ <th></th>
326
+ <th>Value</th>
327
+ </tr>
328
+ </thead>
329
+ <tbody>
330
+ <tr>
331
+ <td>Squint/White Eye reflection Under 1 year</td>
332
+ <td></td>
333
+ </tr>
334
+ </tbody>
335
+ </table>
336
+ </div>
337
+ <div className={styles.tableContainer}>
338
+ <table className={classNames(`${styles.table}`, `${styles.tableBordered}`, `${styles.tableStriped}`)}>
339
+ <thead>
340
+ <tr>
341
+ <th></th>
342
+ <th>&lt;1 Years</th>
343
+ <th>&gt;1 Years</th>
344
+ </tr>
345
+ </thead>
346
+ <tbody>
347
+ <tr>
348
+ <td>Adverse Events Following Immunization(AEFI)</td>
349
+ <td></td>
350
+ <td></td>
351
+ </tr>
352
+ </tbody>
353
+ </table>
354
+ </div>
355
+ </div>
356
+ <div className={styles.container}>
357
+ <p className={styles.title}>F. Special Clinics COVID 19</p>
358
+ <div className={styles.tableContainer}>
359
+ <table className={classNames(`${styles.table}`, `${styles.tableBordered}`, `${styles.tableStriped}`)}>
360
+ <thead>
361
+ <tr>
362
+ <th></th>
363
+ <th>12 -17 Yrs</th>
364
+ <th>18 - 59 Yrs</th>
365
+ <th>60+ Yrs</th>
366
+ </tr>
367
+ </thead>
368
+ <tbody>
369
+ <tr>
370
+ <td>COVID 19 Reporting</td>
371
+ <td>{moh710Data.covid_19_vaccine_12_17}</td>
372
+ <td>{moh710Data.covid_19_vaccine_18_59}</td>
373
+ <td>{moh710Data.covid_19_vaccine_60_above}</td>
374
+ </tr>
375
+ </tbody>
376
+ </table>
377
+ </div>
378
+ </div>
379
+ <div className={styles.container}>
380
+ <p className={styles.title}>Section B Logistics Dose Balance</p>
381
+ <div className={styles.tableContainer}>
382
+ <table className={classNames(`${styles.table}`, `${styles.tableBordered}`, `${styles.tableStriped}`)}>
383
+ <thead>
384
+ <tr>
385
+ <th></th>
386
+ <th>Value</th>
387
+ </tr>
388
+ </thead>
389
+ <tbody>
390
+ <tr>
391
+ <td>BCG doses in stock at the beginning of the Month</td>
392
+ <td></td>
393
+ </tr>
394
+ <tr>
395
+ <td>BCG doses received within the Month</td>
396
+ <td></td>
397
+ </tr>
398
+ <tr>
399
+ <td>BCG doses remaining at the end Month</td>
400
+ <td></td>
401
+ </tr>
402
+
403
+ <tr>
404
+ <td>OPV doses in stock at the beginning of the Month</td>
405
+ <td></td>
406
+ </tr>
407
+ <tr>
408
+ <td>OPV doses received within the Month</td>
409
+ <td></td>
410
+ </tr>
411
+ <tr>
412
+ <td>OPV doses remaining at the end Month</td>
413
+ <td></td>
414
+ </tr>
415
+ <tr>
416
+ <td>IPV doses in stock at the beginning of the Month</td>
417
+ <td></td>
418
+ </tr>
419
+ <tr>
420
+ <td>IPV doses received within the Month</td>
421
+ <td></td>
422
+ </tr>
423
+ <tr>
424
+ <td>IPV doses remaining at the end Month</td>
425
+ <td></td>
426
+ </tr>
427
+
428
+ <tr>
429
+ <td>DPT+HIB+HEP B doses in stock at the beginning of the Month</td>
430
+ <td></td>
431
+ </tr>
432
+ <tr>
433
+ <td>DPT+HIB+HEP B doses received within the Month</td>
434
+ <td></td>
435
+ </tr>
436
+ <tr>
437
+ <td>DPT+HIB+HEP B doses remaining at the end Month</td>
438
+ <td></td>
439
+ </tr>
440
+ <tr>
441
+ <td>Pneumococal doses in stock at the beginning of the Month</td>
442
+ <td></td>
443
+ </tr>
444
+ <tr>
445
+ <td>Pneumococal doses received within the Month</td>
446
+ <td></td>
447
+ </tr>
448
+ <tr>
449
+ <td>Pneumococal doses remaining at the end Month</td>
450
+ <td></td>
451
+ </tr>
452
+ <tr>
453
+ <td>Rotavirus doses in stock at the beginning of the Month</td>
454
+ <td></td>
455
+ </tr>
456
+ <tr>
457
+ <td>Rotavirus doses received within the Month</td>
458
+ <td></td>
459
+ </tr>
460
+ <tr>
461
+ <td>Rotavirus doses remaining at the end Month</td>
462
+ <td></td>
463
+ </tr>
464
+ <tr>
465
+ <td>Measles doses in stock at the beginning of the Month</td>
466
+ <td></td>
467
+ </tr>
468
+ <tr>
469
+ <td>Measles doses received within the Month</td>
470
+ <td></td>
471
+ </tr>
472
+ <tr>
473
+ <td>Measles doses remaining at the end Month</td>
474
+ <td></td>
475
+ </tr>
476
+ <tr>
477
+ <td>TCV doses in stock at the beginning of the Month</td>
478
+ <td></td>
479
+ </tr>
480
+ <tr>
481
+ <td>TCV doses received within the Month</td>
482
+ <td></td>
483
+ </tr>
484
+ <tr>
485
+ <td>TCV doses remaining at the end Month</td>
486
+ <td></td>
487
+ </tr>
488
+ <tr>
489
+ <td>Yellow Fever doses in stock at the beginning of the Month</td>
490
+ <td></td>
491
+ </tr>
492
+ <tr>
493
+ <td>Yellow Fever doses received within the Month</td>
494
+ <td></td>
495
+ </tr>
496
+ <tr>
497
+ <td>Yellow Fever doses remaining at the end Month</td>
498
+ <td></td>
499
+ </tr>
500
+ <tr>
501
+ <td>Tetanus Toxoid doses in stock at the beginning of the Month</td>
502
+ <td></td>
503
+ </tr>
504
+ <tr>
505
+ <td>Tetanus Toxoid doses received within the Month</td>
506
+ <td></td>
507
+ </tr>
508
+ <tr>
509
+ <td>Tetanus Toxoid doses remaining at the end Month</td>
510
+ <td></td>
511
+ </tr>
512
+ <tr>
513
+ <td>Vitamin A 100,000 IU caps in stock at the beginning of the Month</td>
514
+ <td></td>
515
+ </tr>
516
+ <tr>
517
+ <td>Vitamin A 100,000 IU caps received within the Month</td>
518
+ <td></td>
519
+ </tr>
520
+ <tr>
521
+ <td>Vitamin A 100,000 IU caps remaining at the end Month</td>
522
+ <td></td>
523
+ </tr>
524
+ <tr>
525
+ <td>Vitamin A 200,000 IU caps in stock at the beginning of the Month</td>
526
+ <td></td>
527
+ </tr>
528
+ <tr>
529
+ <td>Vitamin A 200,000 IU caps received within the Month</td>
530
+ <td></td>
531
+ </tr>
532
+ <tr>
533
+ <td>Vitamin A 200,000 IU caps remaining at the end Month</td>
534
+ <td></td>
535
+ </tr>
536
+ <tr>
537
+ <td>Total BCG doses stocked in the month</td>
538
+ <td></td>
539
+ </tr>
540
+ <tr>
541
+ <td>Total Tetanus Toxoid doses used in the month</td>
542
+ <td></td>
543
+ </tr>
544
+ <tr>
545
+ <td>Total BCG doses wasted in the month</td>
546
+ <td></td>
547
+ </tr>
548
+ <tr>
549
+ <td>BCG Wastage Rate (WR)</td>
550
+ <td></td>
551
+ </tr>
552
+ <tr>
553
+ <td>Total OPV doses stocked in the month</td>
554
+ <td></td>
555
+ </tr>
556
+ <tr>
557
+ <td>Total OPV Toxoid doses used in the month</td>
558
+ <td></td>
559
+ </tr>
560
+ <tr>
561
+ <td>Total OPV doses wasted in the month</td>
562
+ <td></td>
563
+ </tr>
564
+ <tr>
565
+ <td>OPV Wastage Rate (WR)</td>
566
+ <td></td>
567
+ </tr>
568
+ <tr>
569
+ <td>Total IPV doses stocked in the month</td>
570
+ <td></td>
571
+ </tr>
572
+ <tr>
573
+ <td>Total IPV Toxoid doses used in the month</td>
574
+ <td></td>
575
+ </tr>
576
+ <tr>
577
+ <td>Total IPV doses wasted in the month</td>
578
+ <td></td>
579
+ </tr>
580
+ <tr>
581
+ <td>IPV Wastage Rate (WR)</td>
582
+ <td></td>
583
+ </tr>
584
+ <tr>
585
+ <td>Total DPT+HiB+HEP B doses stocked in the month</td>
586
+ <td></td>
587
+ </tr>
588
+ <tr>
589
+ <td>Total DPT+HiB+HEP B Toxoid doses used in the month</td>
590
+ <td></td>
591
+ </tr>
592
+ <tr>
593
+ <td>Total DPT+HiB+HEP B doses wasted in the month</td>
594
+ <td></td>
595
+ </tr>
596
+ <tr>
597
+ <td>DPT+HiB+HEP B Wastage Rate (WR)</td>
598
+ <td></td>
599
+ </tr>
600
+ <tr>
601
+ <td>Total Pneumococal doses stocked in the month</td>
602
+ <td></td>
603
+ </tr>
604
+ <tr>
605
+ <td>Total Pneumococal Toxoid doses used in the month</td>
606
+ <td></td>
607
+ </tr>
608
+ <tr>
609
+ <td>Total Pneumococal doses wasted in the month</td>
610
+ <td></td>
611
+ </tr>
612
+ <tr>
613
+ <td>Pneumococal Wastage Rate (WR)</td>
614
+ <td></td>
615
+ </tr>
616
+ <tr>
617
+ <td>Total TCV doses stocked in the month</td>
618
+ <td></td>
619
+ </tr>
620
+ <tr>
621
+ <td>Total TCV Toxoid doses used in the month</td>
622
+ <td></td>
623
+ </tr>
624
+ <tr>
625
+ <td>Total TCV doses wasted in the month</td>
626
+ <td></td>
627
+ </tr>
628
+ </tbody>
629
+ </table>
630
+ </div>
631
+ </div>
632
+ <div className={styles.container}>
633
+ <p className={styles.title}>Section B: HPV Logistics Dose Balance</p>
634
+ <div className={styles.tableContainer}>
635
+ <table className={classNames(`${styles.table}`, `${styles.tableBordered}`, `${styles.tableStriped}`)}>
636
+ <thead>
637
+ <tr>
638
+ <th></th>
639
+ <th>Value</th>
640
+ </tr>
641
+ </thead>
642
+ <tbody>
643
+ <tr>
644
+ <td>[A]Doses in stock at the beginning of the month</td>
645
+ <td></td>
646
+ </tr>
647
+ <tr>
648
+ <td>[E]Doses used in the month[C-D]</td>
649
+ <td></td>
650
+ </tr>
651
+ <tr>
652
+ <td>[D]Doses remaining at the end of the month</td>
653
+ <td></td>
654
+ </tr>
655
+ </tbody>
656
+ </table>
657
+ </div>
658
+ </div>
659
+ </>
660
+ );
661
+ };
662
+
663
+ export default Moh710Report;