@ampath/esm-reports-app 1.0.0-next.4 → 1.0.0-next.41

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 (132) hide show
  1. package/dist/110.js +1 -0
  2. package/dist/110.js.map +1 -0
  3. package/dist/{260.js → 205.js} +1 -1
  4. package/dist/{260.js.map → 205.js.map} +1 -1
  5. package/dist/812.js +1 -1
  6. package/dist/812.js.map +1 -1
  7. package/dist/822.js +2 -0
  8. package/dist/822.js.map +1 -0
  9. package/dist/ampath-esm-reports-app.js +1 -1
  10. package/dist/ampath-esm-reports-app.js.buildmanifest.json +95 -74
  11. package/dist/ampath-esm-reports-app.js.map +1 -1
  12. package/dist/main.js +1 -1
  13. package/dist/main.js.map +1 -1
  14. package/dist/routes.json +1 -1
  15. package/package.json +1 -1
  16. package/src/common/report-filters/report-filters.component.tsx +68 -7
  17. package/src/common/report-filters/report-filters.scss +42 -0
  18. package/src/dashboard/reports-dasboard.tsx +21 -0
  19. package/src/reports/datatable-wrapper/datatable-wrapper.component.tsx +54 -0
  20. package/src/reports/moh-240/moh-240-header.component.tsx +61 -0
  21. package/src/reports/moh-240/moh-240.component.tsx +93 -0
  22. package/src/reports/moh-240/moh-240.scss +11 -0
  23. package/src/reports/moh-240/sub-reports/moh-240-register.component.tsx +75 -0
  24. package/src/reports/moh-240/sub-reports/page-summary.component.tsx +98 -0
  25. package/src/reports/moh-505/moh-505-header.component.tsx +62 -0
  26. package/src/reports/moh-505/moh-505.component.tsx +440 -0
  27. package/src/reports/moh-505/moh-505.scss +3 -0
  28. package/src/reports/moh-705B/moh-204b-register.component.tsx +236 -0
  29. package/src/reports/moh-705B/moh-705b.component.tsx +524 -0
  30. package/src/reports/moh-705B/moh-705b.scss +44 -0
  31. package/src/reports/moh-705a/moh-705a.component.tsx +528 -0
  32. package/src/reports/moh-705a/moh-705a.scss +45 -0
  33. package/src/reports/moh-705a/registers/moh-204a-register.component.tsx +321 -0
  34. package/src/reports/moh-705a/type.ts +6 -0
  35. package/src/reports/moh-706/moh-706-header.component.tsx +61 -0
  36. package/src/reports/moh-706/moh-706.component.tsx +117 -0
  37. package/src/reports/moh-706/moh-706.scss +30 -0
  38. package/src/reports/moh-706/sub-reports/bacteriology/bacteriology.component.tsx +124 -0
  39. package/src/reports/moh-706/sub-reports/blood-chemistry/blood-chemistry.component.tsx +318 -0
  40. package/src/reports/moh-706/sub-reports/drug-susceptibility-testing/drug-susceptibility-testing.component.tsx +137 -0
  41. package/src/reports/moh-706/sub-reports/haematology/haematology.component.tsx +179 -0
  42. package/src/reports/moh-706/sub-reports/histology-and-cytology/histology-and-cytology.component.tsx +88 -0
  43. package/src/reports/moh-706/sub-reports/parasitology/parasitology.component.tsx +121 -0
  44. package/src/reports/moh-706/sub-reports/serology/serology.component.tsx +47 -0
  45. package/src/reports/moh-706/sub-reports/specimen-referral-to-higher-levels/specimen-referral-to-higher-levels.component.tsx +39 -0
  46. package/src/reports/moh-706/sub-reports/urine-analysis/urine-analysis.component.tsx +108 -0
  47. package/src/reports/moh-710/moh-710.component.tsx +211 -79
  48. package/src/reports/moh-710/moh-710.scss +5 -1
  49. package/src/reports/moh-710/registers/moh-511-710-register.component.tsx +263 -0
  50. package/src/reports/moh-710/registers/type.ts +31 -0
  51. package/src/reports/moh-711/moh-711.component.tsx +109 -1234
  52. package/src/reports/moh-711/moh711.scss +92 -8
  53. package/src/reports/moh-711/registers/moh-333-register.component.tsx +639 -0
  54. package/src/reports/moh-711/registers/moh-405-register.component.tsx +521 -0
  55. package/src/reports/moh-711/registers/moh-406-register.component.tsx +533 -0
  56. package/src/reports/moh-711/registers/moh-510-register.component.tsx +61 -0
  57. package/src/reports/moh-711/registers/moh-511-register.component.tsx +271 -0
  58. package/src/reports/moh-711/registers/type.ts +192 -0
  59. package/src/reports/moh-711/sections/anc.component.tsx +159 -0
  60. package/src/reports/moh-711/sections/cervical-cancer.component.tsx +148 -0
  61. package/src/reports/moh-711/sections/chanis.component.tsx +367 -0
  62. package/src/reports/moh-711/sections/family-planning.component.tsx +221 -0
  63. package/src/reports/moh-711/sections/gbv.component.tsx +115 -0
  64. package/src/reports/moh-711/sections/maternity.component.tsx +326 -0
  65. package/src/reports/moh-711/sections/medical-social-work.component.tsx +83 -0
  66. package/src/reports/moh-711/sections/other.component.tsx +47 -0
  67. package/src/reports/moh-711/sections/physiotherapy.component.tsx +61 -0
  68. package/src/reports/moh-711/sections/pnc.component.tsx +125 -0
  69. package/src/reports/moh-711/sections/post-abortion.component.tsx +42 -0
  70. package/src/reports/moh-711/sections/rehabilitation.component.tsx +57 -0
  71. package/src/reports/moh-711/sections/report-compiled-by.component.tsx +42 -0
  72. package/src/reports/moh-711/sections/tb-screening.component.tsx +57 -0
  73. package/src/reports/moh-717/moh-717.component.tsx +120 -946
  74. package/src/reports/moh-717/moh717.scss +138 -3
  75. package/src/reports/moh-717/registers/nutrition-register.component.tsx +48 -0
  76. package/src/reports/moh-717/sections/finance.component.tsx +42 -0
  77. package/src/reports/moh-717/sections/inpatient.component.tsx +374 -0
  78. package/src/reports/moh-717/sections/maternity.component.tsx +126 -0
  79. package/src/reports/moh-717/sections/medical-records.component.tsx +35 -0
  80. package/src/reports/moh-717/sections/mortuary.component.tsx +43 -0
  81. package/src/reports/moh-717/sections/operations.component.tsx +53 -0
  82. package/src/reports/moh-717/sections/orthopaedic-trauma.component.tsx +98 -0
  83. package/src/reports/moh-717/sections/outpatient.component.tsx +597 -0
  84. package/src/reports/moh-717/sections/pharmacy.component.tsx +43 -0
  85. package/src/reports/moh-717/sections/preparedby.component.tsx +47 -0
  86. package/src/reports/moh-717/sections/special-services.component.tsx +114 -0
  87. package/src/reports/moh-731/moh-731.component.tsx +181 -0
  88. package/src/reports/moh-731/moh-731.scss +118 -0
  89. package/src/reports/moh-731/registers/moh-366.component.tsx +478 -0
  90. package/src/reports/moh-731/registers/moh-366.scss +45 -0
  91. package/src/reports/moh-731/registers/prep-register.component.tsx +292 -0
  92. package/src/reports/moh-731/registers/prep-registers.scss +45 -0
  93. package/src/reports/moh-731/sections/hiv-and-tb-treatment.component.tsx +932 -0
  94. package/src/reports/moh-731/sections/hiv-testing-and-pre-exposure.component.tsx +569 -0
  95. package/src/reports/moh-731/sections/pmtct.component.tsx +451 -0
  96. package/src/reports/moh-740/moh-740.component.scss +120 -0
  97. package/src/reports/moh-740/moh-740.component.tsx +1271 -0
  98. package/src/reports/moh-740/moh-740.resource.ts +42 -0
  99. package/src/reports/moh-740/registers/moh-222-daily-register/moh-222-daily-register.scss +18 -0
  100. package/src/reports/moh-740/registers/moh-222-daily-register/moh-222-daily-register.tsx +104 -0
  101. package/src/reports/moh-740/registers/moh-270-permanent-register/moh-270-permanent-register.scss +18 -0
  102. package/src/reports/moh-740/registers/moh-270-permanent-register/moh-270-permanent-register.tsx +79 -0
  103. package/src/reports/moh-740/registers/moh-740-patient-list.scss +0 -0
  104. package/src/reports/moh-740/registers/moh-740-patient-list.tsx +66 -0
  105. package/src/reports/moh-740/shared/data-cell/data-cell.scss +6 -0
  106. package/src/reports/moh-740/shared/data-cell/data-cell.tsx +23 -0
  107. package/src/reports/moh-740/shared/utils/format-indicator.ts +22 -0
  108. package/src/reports/moh-740/shared/utils/indicator-register-map.ts +157 -0
  109. package/src/reports/moh-740/types/index.ts +216 -0
  110. package/src/reports/moh-745/moh-745.component.tsx +928 -0
  111. package/src/reports/moh-745/moh-745.scss +74 -0
  112. package/src/reports/moh-745/registers/moh-412-register.component.tsx +191 -0
  113. package/src/reports/moh-745/registers/type.ts +30 -0
  114. package/src/reports/table-wrapper/table-row-mapper.component.tsx +53 -0
  115. package/src/reports/table-wrapper/table-wrapper.component.tsx +21 -0
  116. package/src/reports/table-wrapper/table-wrapper.scss +31 -0
  117. package/src/resources/moh-505.resource.ts +86 -0
  118. package/src/resources/moh-705.resource.ts +117 -0
  119. package/src/resources/moh-706.resource.ts +86 -0
  120. package/src/resources/moh-710.resource.ts +28 -0
  121. package/src/resources/moh-711.resource.ts +146 -0
  122. package/src/resources/moh-717.resource.ts +27 -0
  123. package/src/resources/moh-731.resource.ts +96 -0
  124. package/src/resources/moh-745.resource.ts +64 -0
  125. package/src/root.component.tsx +39 -0
  126. package/src/routes.json +3 -1
  127. package/src/utils/utils.ts +36 -0
  128. package/dist/367.js +0 -2
  129. package/dist/367.js.map +0 -1
  130. package/dist/86.js +0 -1
  131. package/dist/86.js.map +0 -1
  132. /package/dist/{367.js.LICENSE.txt → 822.js.LICENSE.txt} +0 -0
@@ -0,0 +1,271 @@
1
+ import { Button, Loading, Table, TableBody, TableHead, TableHeader, TableRow } from '@carbon/react';
2
+ import React, { useEffect, useState } from 'react';
3
+ import { useLocation, useNavigate, useSearchParams } from 'react-router-dom';
4
+
5
+ import styles from '../moh711.scss';
6
+ import { getMoh511PatientList } from '../../../resources/moh-711.resource';
7
+ import { moh511Columns } from './type';
8
+ import classNames from 'classnames';
9
+
10
+ const Moh511Register: React.FC = () => {
11
+ const navigate = useNavigate();
12
+ const [patientlist, setPatientList] = useState<any[]>([]);
13
+ const [isLoading, setIsLoading] = useState(false);
14
+
15
+ const [searchParams] = useSearchParams();
16
+ const location = useLocation();
17
+
18
+ const startDate = searchParams.get('startDate');
19
+ const endDate = searchParams.get('endDate');
20
+ const locationUuids = searchParams.get('locationUuids');
21
+ const indicator = searchParams.get('indicator');
22
+ const reportName = location.state?.reportName || '';
23
+
24
+ useEffect(() => {
25
+ const fetchData = async () => {
26
+ if (!startDate || !endDate || !locationUuids || !indicator || !reportName) return;
27
+
28
+ setIsLoading(true);
29
+
30
+ try {
31
+ const params = {
32
+ startDate,
33
+ endDate,
34
+ locationUuids,
35
+ indicator,
36
+ reportName,
37
+ };
38
+
39
+ const data = await getMoh511PatientList(params);
40
+
41
+ setPatientList(data?.results.results || []);
42
+ } catch (error) {
43
+ console.error('Failed to fetch register data', error);
44
+ } finally {
45
+ setIsLoading(false);
46
+ }
47
+ };
48
+
49
+ fetchData();
50
+ }, [startDate, endDate, locationUuids, indicator, reportName]);
51
+
52
+ function navigateBack() {
53
+ navigate(location.state?.from || '/moh-711');
54
+ }
55
+ return (
56
+ <>
57
+ <div className={styles.buttonContainer}>
58
+ <Button onClick={navigateBack}>Back</Button>
59
+ </div>
60
+ <div>{isLoading && <Loading />}</div>
61
+ <Table className={classNames(`${styles.table}`, `${styles.tableBordered}`, `${styles.tableStriped}`)}>
62
+ <TableHead>
63
+ <TableRow>
64
+ <TableHeader>Serial No.</TableHeader>
65
+ <TableHeader>
66
+ Date.
67
+ <br />
68
+ (DD:MM:YYYY)
69
+ </TableHeader>
70
+ <TableHeader>
71
+ CWC No.
72
+ <br />
73
+ (New Visit)
74
+ </TableHeader>
75
+ <TableHeader>
76
+ CWC No.
77
+ <br />
78
+ (Revisit)
79
+ </TableHeader>
80
+ <TableHeader>
81
+ BIRTH NOTIFICATION
82
+ <br /> (NUMBER)
83
+ </TableHeader>
84
+ <TableHeader>Full Names (Three names)</TableHeader>
85
+ <TableHeader>Age</TableHeader>
86
+ <TableHeader>Sex</TableHeader>
87
+ <TableHeader>
88
+ County/Sub-
89
+ <br />
90
+ county
91
+ </TableHeader>
92
+ <TableHeader>
93
+ Village /Estate / <br />
94
+ Landmark
95
+ </TableHeader>
96
+ <TableHeader>
97
+ Telephone
98
+ <br />
99
+ number
100
+ </TableHeader>
101
+ <TableHeader>Weight in Kgs</TableHeader>
102
+ <TableHeader>
103
+ Weight
104
+ <br />
105
+ categories:
106
+ <br />
107
+ (1=Normal
108
+ <br />
109
+ 2=UW
110
+ <br />
111
+ 3=SUW
112
+ <br />
113
+ 4=OW
114
+ <br />
115
+ 5=Obese)
116
+ </TableHeader>
117
+ <TableHeader>Height / Length in cm</TableHeader>
118
+ <TableHeader>
119
+ Height/Length
120
+ <br />
121
+ categories:
122
+ <br />
123
+ (1=Normal
124
+ <br />
125
+ 2=Stunted
126
+ <br />
127
+ 3=Sev.
128
+ <br />
129
+ Stunted)
130
+ <br />
131
+ </TableHeader>
132
+ <TableHeader>
133
+ MUAC
134
+ <br />
135
+ 1.Green
136
+ <br />
137
+ 2.Yellow
138
+ <br />
139
+ 3.Red
140
+ </TableHeader>
141
+ <TableHeader>
142
+ Exclusive <br /> Breast feeding <br />
143
+ (less than 6<br /> months)(Y/N)
144
+ </TableHeader>
145
+ <TableHeader>
146
+ Vitamin A
147
+ <br />
148
+ supplimentation:
149
+ <br />
150
+ (6-59 months) (1=6-
151
+ <br />
152
+ 11 months, 2=12-59
153
+ <br />
154
+ months, 3=Not
155
+ <br />
156
+ supplimented)
157
+ </TableHeader>
158
+ <TableHeader>Dewormed (Y/N)</TableHeader>
159
+ <TableHeader>
160
+ MNPs supplimentation:(6-23
161
+ <br />
162
+ children)
163
+ </TableHeader>
164
+ <TableHeader>
165
+ Childs assessed for <br />
166
+ Developmental milestones <br />
167
+ including 1st Haed control ,2=
168
+ <br />
169
+ sitting, 3=talking
170
+ </TableHeader>
171
+ <TableHeader>
172
+ Any Danger Signs
173
+ <br />
174
+ 1.Unable to breastfeed
175
+ <br />
176
+ 2.Unable to drink
177
+ <br />
178
+ 3.Vomits everything
179
+ <br />
180
+ 4.Bloody diarrhoea
181
+ <br />
182
+ 5.Has oedema <br />
183
+ 6.Has convulsions
184
+ </TableHeader>
185
+ <TableHeader>Any Disability</TableHeader>
186
+ <TableHeader>Immunization status up to date(Y/N)</TableHeader>
187
+ <TableHeader>LLIN gievn to under 1 years(Y/N)</TableHeader>
188
+ <TableHeader>
189
+ Follow up for: <br />
190
+ 1=Nutrition service
191
+ <br />
192
+ 2=Rehabilitation service
193
+ </TableHeader>
194
+ <TableHeader>
195
+ 1=referred from CU; 2= <br />
196
+ referred from another H/F;
197
+ <br />
198
+ 3=Not applicable
199
+ </TableHeader>
200
+ <TableHeader>
201
+ 1=referred to CU; 2= <br />
202
+ referred to another H/F;
203
+ <br />
204
+ 3=Not applicable
205
+ </TableHeader>
206
+ <TableHeader>
207
+ Reason for referral <br />
208
+ ....specify
209
+ </TableHeader>
210
+ <TableHeader>REMARKS</TableHeader>
211
+ </TableRow>
212
+ <TableRow>
213
+ <TableHeader>A</TableHeader>
214
+ <TableHeader>B</TableHeader>
215
+ <TableHeader>C</TableHeader>
216
+ <TableHeader>D</TableHeader>
217
+ <TableHeader>E</TableHeader>
218
+ <TableHeader>F</TableHeader>
219
+ <TableHeader>G</TableHeader>
220
+ <TableHeader>H</TableHeader>
221
+ <TableHeader>I</TableHeader>
222
+ <TableHeader>J</TableHeader>
223
+ <TableHeader>K</TableHeader>
224
+ <TableHeader>L</TableHeader>
225
+ <TableHeader>M</TableHeader>
226
+ <TableHeader>N</TableHeader>
227
+ <TableHeader>O</TableHeader>
228
+ <TableHeader>P</TableHeader>
229
+ <TableHeader>Q</TableHeader>
230
+ <TableHeader>R</TableHeader>
231
+ <TableHeader>S</TableHeader>
232
+ <TableHeader>T</TableHeader>
233
+ <TableHeader>U</TableHeader>
234
+ <TableHeader>V</TableHeader>
235
+ <TableHeader>W</TableHeader>
236
+ <TableHeader>X</TableHeader>
237
+ <TableHeader>Y</TableHeader>
238
+ <TableHeader>Z</TableHeader>
239
+ <TableHeader>AA</TableHeader>
240
+ <TableHeader>AB</TableHeader>
241
+ <TableHeader>AC</TableHeader>
242
+ <TableHeader>AD</TableHeader>
243
+ </TableRow>
244
+ </TableHead>
245
+ <TableBody>
246
+ {patientlist?.length > 0 ? (
247
+ patientlist.map((patient, index) => (
248
+ <TableRow key={index}>
249
+ {moh511Columns.map((col) => (
250
+ <td key={col}>
251
+ {col === 'serial_no'
252
+ ? index + 1
253
+ : col === 'visit_date'
254
+ ? new Date(patient?.[col]).toLocaleDateString('en-GB')
255
+ : (patient?.[col] ?? '')}
256
+ </td>
257
+ ))}
258
+ </TableRow>
259
+ ))
260
+ ) : (
261
+ <TableRow>
262
+ <td colSpan={moh511Columns.length}>No data available</td>
263
+ </TableRow>
264
+ )}
265
+ </TableBody>
266
+ </Table>
267
+ </>
268
+ );
269
+ };
270
+
271
+ export default Moh511Register;
@@ -0,0 +1,192 @@
1
+ export const moh406Columns = [
2
+ 'date_of_visit',
3
+ 'pnc_number_new_visit',
4
+ 'pnc_number_revisit',
5
+ 'amrs_id',
6
+ 'full_name',
7
+ 'date_of_birth',
8
+ 'county_subcounty',
9
+ 'village_estate_landmark',
10
+ 'marital_status',
11
+ 'parity',
12
+ 'gravidae',
13
+ 'lmp',
14
+ 'edd',
15
+ 'gestation_weeks',
16
+ 'muac',
17
+ 'height',
18
+ 'weight',
19
+ 'blood_pressure',
20
+ 'breast_exam',
21
+ 'uterus',
22
+ 'pph',
23
+ 'c_section_site',
24
+ 'lochia',
25
+ 'episiotomy',
26
+ 'fistula',
27
+ 'tb_screening',
28
+ 'hiv_tested_pnc',
29
+ 'hiv_test_1',
30
+ 'hiv_test_2',
31
+ 'hiv_test_3',
32
+ 'hiv_result_pnc',
33
+ 'hiv_6wks',
34
+ 'hiv_gt6wks',
35
+ 'infant_result',
36
+ 'mother_result',
37
+ 'cervical_cancer_screening',
38
+ 'family_planning',
39
+ 'other_complications',
40
+ 'haematinics',
41
+ 'referral_from',
42
+ 'referral_to',
43
+ 'referral_reason',
44
+ 'remarks',
45
+ ];
46
+ export const moh511Columns = [
47
+ 'serial_no',
48
+ 'visit_date',
49
+ 'cwc_number_new',
50
+ 'cwc_number_revisit',
51
+ 'birth_notification_number',
52
+ 'full_name',
53
+ 'age',
54
+ 'sex',
55
+ 'county_sub_county',
56
+ 'village_estate_landmark',
57
+ 'phone_number',
58
+ 'weight_kg',
59
+ 'weight_category',
60
+ 'height',
61
+ 'height_category',
62
+ 'muac',
63
+ 'exclusive_breastfeeding_less_6_months',
64
+ 'vitamin_A_supplementation',
65
+ 'dewormed',
66
+ 'mnps_supplimentation',
67
+ 'developmental_milestones',
68
+ 'danger_signs',
69
+ 'disability',
70
+ 'immunization_status_up_to_date',
71
+ 'llin_supplimentation_given',
72
+ 'follow_up',
73
+ 'referred_from',
74
+ 'referred_to',
75
+ 'reason_for_referral',
76
+ 'remarks',
77
+ ];
78
+ export const moh405Columns = [
79
+ 'date_of_visit',
80
+ 'anc_number_new',
81
+ 'anc_number_revisit',
82
+ 'amrs_id',
83
+ 'visit_number',
84
+ 'full_name',
85
+ 'date_of_birth',
86
+ 'subcounty_county',
87
+ 'village_estate',
88
+ 'marital_status',
89
+ 'parity',
90
+ 'gravidae',
91
+ 'lmp',
92
+ 'edd',
93
+ 'gestation_weeks',
94
+ 'muac',
95
+ 'height',
96
+ 'weight',
97
+ 'blood_pressure',
98
+ 'breast_exam',
99
+ 'fgm',
100
+ 'hb_level',
101
+ 'blood_sugar',
102
+ 'blood_group',
103
+ 'urinalysis',
104
+ 'syphilis_test',
105
+ 'hepatitis_b',
106
+ 'tb_screening',
107
+ 'hiv_testing_type',
108
+ 'hiv_test_1',
109
+ 'hiv_test_2',
110
+ 'hiv_test_3',
111
+ 'hiv_results',
112
+ 'haart',
113
+ 'infant_prophylaxis',
114
+ 'partner_testing',
115
+ 'other_conditions',
116
+ 'deworming',
117
+ 'ipt',
118
+ 'tt_dose',
119
+ 'supplementation',
120
+ 'llitn',
121
+ 'referral_from',
122
+ 'referral_to',
123
+ 'referral_reason',
124
+ 'remarks',
125
+ ];
126
+ export const moh333Columns = [
127
+ 'date_of_admission',
128
+ 'amrsid',
129
+ 'admission_number',
130
+ 'full_name',
131
+ 'date_of_birth',
132
+ 'county_subcounty',
133
+ 'village_landmark',
134
+ 'marital_status',
135
+ 'parity',
136
+ 'gravidae',
137
+ 'anc_visits',
138
+ 'lmp',
139
+ 'edd',
140
+ 'diagnosis',
141
+
142
+ // Delivery section
143
+ 'nupi',
144
+ 'age',
145
+ 'phone_number',
146
+ 'labour_duration',
147
+ 'delivery_date',
148
+ 'delivery_time',
149
+ 'gestation_at_birth',
150
+ 'mode_of_delivery',
151
+ 'no_of_babies',
152
+ 'placenta_complete',
153
+ 'uterotonic_given',
154
+ 'vaginal_examination',
155
+ 'blood_loss',
156
+ 'mother_status',
157
+
158
+ // Delivery complications / outcomes
159
+ 'maternal_deaths_notified',
160
+ 'delivery_complications',
161
+ 'apgar_score',
162
+ 'birth_outcome',
163
+ 'birth_weight',
164
+ 'sex',
165
+
166
+ // Baby care
167
+ 'bf_in_1hr',
168
+ 'teo_given',
169
+ 'cord_chlorhexidine',
170
+ 'birth_deformity',
171
+ 'vitamin_k',
172
+ 'pnc_status',
173
+
174
+ // HIV section
175
+ 'hiv_test_1',
176
+ 'hiv_test_2',
177
+ 'hiv_test_3',
178
+ 'hiv_result_maternity',
179
+ 'start_at_maternity',
180
+
181
+ // Follow-up / referral
182
+ 'kangaroo_mother_care',
183
+ 'congenital_abnormalities',
184
+ 'kit_name_1',
185
+ 'kit_name_2',
186
+ 'kit_name_3',
187
+ 'hiv_initial_retest_status',
188
+ 'maternal_treatment',
189
+ 'referral_from',
190
+ 'referral_to',
191
+ 'reason_for_referral',
192
+ ];
@@ -0,0 +1,159 @@
1
+ import React from 'react';
2
+
3
+ import styles from '../moh711.scss';
4
+ import classNames from 'classnames';
5
+ import { useLocation, useNavigate } from 'react-router-dom';
6
+
7
+ interface ANCComponentProps {
8
+ moh711Data: any;
9
+ startDate: string;
10
+ endDate: string;
11
+ locationUuids: string;
12
+ }
13
+
14
+ const ANCComponent: React.FC<ANCComponentProps> = ({ moh711Data, startDate, endDate, locationUuids }) => {
15
+ const navigate = useNavigate();
16
+ const location = useLocation();
17
+ const navigateToRegister = (indicator: string) => {
18
+ navigate(
19
+ `/moh-405-register?startDate=${startDate}&endDate=${endDate}&locationUuids=${locationUuids}&indicator=${indicator}`,
20
+ {
21
+ state: {
22
+ from: location.pathname,
23
+ reportName: 'moh711Report',
24
+ },
25
+ },
26
+ );
27
+ };
28
+ return (
29
+ <>
30
+ <table className={classNames(`${styles.table}`, `${styles.tableBordered}`, `${styles.tableStriped}`)}>
31
+ <thead>
32
+ <tr>
33
+ <th colSpan={3}>A. ANC/PMTCT</th>
34
+ <th>Total</th>
35
+ </tr>
36
+ </thead>
37
+ <tbody>
38
+ <tr>
39
+ <td>1</td>
40
+ <td rowSpan={2}>No. of ANC Clients</td>
41
+ <td>New</td>
42
+ <td onClick={() => navigateToRegister('new_anc_clients')}>{moh711Data.new_anc_clients}</td>
43
+ </tr>
44
+ <tr>
45
+ <td>2</td>
46
+ <td>Re-visit</td>
47
+ <td onClick={() => navigateToRegister('revisit_anc_clients')}>{moh711Data.revisit_anc_clients}</td>
48
+ </tr>
49
+ <tr>
50
+ <td>3</td>
51
+ <td colSpan={2}>No. of Clients given IPT (1st Dose)</td>
52
+ <td onClick={() => navigateToRegister('first_ipt_dose')}>{moh711Data.first_ipt_dose}</td>
53
+ </tr>
54
+ <tr>
55
+ <td>4</td>
56
+ <td colSpan={2}>No. of Clients given IPT (2nd Dose)</td>
57
+ <td onClick={() => navigateToRegister('second_ipt_dose')}>{moh711Data.second_ipt_dose}</td>
58
+ </tr>
59
+ <tr>
60
+ <td>5</td>
61
+ <td colSpan={2}>No. of Clients given IPT (3rd Dose)</td>
62
+ <td onClick={() => navigateToRegister('third_ipt_dose')}>{moh711Data.third_ipt_dose}</td>
63
+ </tr>
64
+ <tr>
65
+ <td>6</td>
66
+ <td colSpan={2}>No. of Clients with Hb&lt;11g/dl</td>
67
+ <td onClick={() => navigateToRegister('Hb_less_11g')}>{moh711Data.Hb_less_11g}</td>
68
+ </tr>
69
+ <tr>
70
+ <td>7</td>
71
+ <td colSpan={2}>No. clients with 1st ANC contact at 12 or less weeks</td>
72
+ <td onClick={() => navigateToRegister('first_anc_contact_12_or_less_weeks')}>
73
+ {moh711Data.first_anc_contact_12_or_less_weeks}
74
+ </td>
75
+ </tr>
76
+ <tr>
77
+ <td>8</td>
78
+ <td colSpan={2}>Pregnant women completing 4th ANC Contacts</td>
79
+ <td onClick={() => navigateToRegister('completing_4_anc_visits')}>{moh711Data.completing_4_anc_visits}</td>
80
+ </tr>
81
+ <tr>
82
+ <td>9</td>
83
+ <td colSpan={2}>No. of clients completed 8th ANC Contacts</td>
84
+ <td onClick={() => navigateToRegister('completing_8_anc_contact')}>
85
+ {moh711Data.completing_8_anc_contact}
86
+ </td>
87
+ </tr>
88
+ <tr>
89
+ <td>10</td>
90
+ <td colSpan={2}>No. of LLINs distributed to under 1 year</td>
91
+ <td onClick={() => navigateToRegister('llins_children_less_than_one')}>
92
+ {moh711Data.llins_children_less_than_one}
93
+ </td>
94
+ </tr>
95
+ <tr>
96
+ <td>11</td>
97
+ <td colSpan={2}>No. of LLINs distributed to ANC clients</td>
98
+ <td onClick={() => navigateToRegister('llins_anc_clients')}>{moh711Data.llins_anc_clients}</td>
99
+ </tr>
100
+ <tr>
101
+ <td>12</td>
102
+ <td rowSpan={2}>No. of clients</td>
103
+ <td>Tested for Syphilis</td>
104
+ <td onClick={() => navigateToRegister('anc_clients_tested_syphilis')}>
105
+ {moh711Data.anc_clients_tested_syphilis}
106
+ </td>
107
+ </tr>
108
+ <tr>
109
+ <td>13</td>
110
+ <td>Positive (+ve)</td>
111
+ <td onClick={() => navigateToRegister('syphilis_positive')}> {moh711Data.syphilis_positive}</td>
112
+ </tr>
113
+ <tr>
114
+ <td>14</td>
115
+ <td colSpan={2}>Total Women Done Breast Examination</td>
116
+ <td onClick={() => navigateToRegister('breast_exam')}>{moh711Data.breast_exam}</td>
117
+ </tr>
118
+ <tr>
119
+ <td>15</td>
120
+ <td colSpan={2}>No. of adolescents (10-14 years) presenting with pregnancy at 1st ANC contact</td>
121
+ <td onClick={() => navigateToRegister('adolesc_10_14')}>{moh711Data.adolesc_10_14}</td>
122
+ </tr>
123
+ <tr>
124
+ <td>16</td>
125
+ <td colSpan={2}>No. of adolescents (15-19 years) presenting with pregnancy at 1st ANC contact</td>
126
+ <td onClick={() => navigateToRegister('adolesc_15_19')}>{moh711Data.adolesc_15_19}</td>
127
+ </tr>
128
+ <tr>
129
+ <td>17</td>
130
+ <td colSpan={2}>No. of youth (20-24 years) presenting with pregnancy at 1st ANC contact</td>
131
+ <td onClick={() => navigateToRegister('youth_20_24')}>{moh711Data.youth_20_24}</td>
132
+ </tr>
133
+ <tr>
134
+ <td>18</td>
135
+ <td colSpan={2}>No. of clients issued with Iron</td>
136
+ <td onClick={() => navigateToRegister('iron')}>{moh711Data.iron}</td>
137
+ </tr>
138
+ <tr>
139
+ <td>19</td>
140
+ <td colSpan={2}>No. of clients issued with Folic</td>
141
+ <td onClick={() => navigateToRegister('folic')}>{moh711Data.folic}</td>
142
+ </tr>
143
+ <tr>
144
+ <td>20</td>
145
+ <td colSpan={2}>No. of clients issued with Combined Ferrous Folate</td>
146
+ <td onClick={() => navigateToRegister('iron_and_folate')}>{moh711Data.iron_and_folate}</td>
147
+ </tr>
148
+ <tr>
149
+ <td>21</td>
150
+ <td colSpan={2}>No. of pregnant women presenting in ANC with complication associated with FGM</td>
151
+ <td onClick={() => navigateToRegister('fgm_complications')}>{moh711Data.fgm_complications}</td>
152
+ </tr>
153
+ </tbody>
154
+ </table>
155
+ </>
156
+ );
157
+ };
158
+
159
+ export default ANCComponent;