@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.
- package/dist/110.js +1 -0
- package/dist/110.js.map +1 -0
- package/dist/{260.js → 205.js} +1 -1
- package/dist/{260.js.map → 205.js.map} +1 -1
- package/dist/812.js +1 -1
- package/dist/812.js.map +1 -1
- package/dist/822.js +2 -0
- package/dist/822.js.map +1 -0
- package/dist/ampath-esm-reports-app.js +1 -1
- package/dist/ampath-esm-reports-app.js.buildmanifest.json +95 -74
- package/dist/ampath-esm-reports-app.js.map +1 -1
- package/dist/main.js +1 -1
- package/dist/main.js.map +1 -1
- package/dist/routes.json +1 -1
- package/package.json +1 -1
- package/src/common/report-filters/report-filters.component.tsx +68 -7
- package/src/common/report-filters/report-filters.scss +42 -0
- package/src/dashboard/reports-dasboard.tsx +21 -0
- package/src/reports/datatable-wrapper/datatable-wrapper.component.tsx +54 -0
- package/src/reports/moh-240/moh-240-header.component.tsx +61 -0
- package/src/reports/moh-240/moh-240.component.tsx +93 -0
- package/src/reports/moh-240/moh-240.scss +11 -0
- package/src/reports/moh-240/sub-reports/moh-240-register.component.tsx +75 -0
- package/src/reports/moh-240/sub-reports/page-summary.component.tsx +98 -0
- package/src/reports/moh-505/moh-505-header.component.tsx +62 -0
- package/src/reports/moh-505/moh-505.component.tsx +440 -0
- package/src/reports/moh-505/moh-505.scss +3 -0
- package/src/reports/moh-705B/moh-204b-register.component.tsx +236 -0
- package/src/reports/moh-705B/moh-705b.component.tsx +524 -0
- package/src/reports/moh-705B/moh-705b.scss +44 -0
- package/src/reports/moh-705a/moh-705a.component.tsx +528 -0
- package/src/reports/moh-705a/moh-705a.scss +45 -0
- package/src/reports/moh-705a/registers/moh-204a-register.component.tsx +321 -0
- package/src/reports/moh-705a/type.ts +6 -0
- package/src/reports/moh-706/moh-706-header.component.tsx +61 -0
- package/src/reports/moh-706/moh-706.component.tsx +117 -0
- package/src/reports/moh-706/moh-706.scss +30 -0
- package/src/reports/moh-706/sub-reports/bacteriology/bacteriology.component.tsx +124 -0
- package/src/reports/moh-706/sub-reports/blood-chemistry/blood-chemistry.component.tsx +318 -0
- package/src/reports/moh-706/sub-reports/drug-susceptibility-testing/drug-susceptibility-testing.component.tsx +137 -0
- package/src/reports/moh-706/sub-reports/haematology/haematology.component.tsx +179 -0
- package/src/reports/moh-706/sub-reports/histology-and-cytology/histology-and-cytology.component.tsx +88 -0
- package/src/reports/moh-706/sub-reports/parasitology/parasitology.component.tsx +121 -0
- package/src/reports/moh-706/sub-reports/serology/serology.component.tsx +47 -0
- package/src/reports/moh-706/sub-reports/specimen-referral-to-higher-levels/specimen-referral-to-higher-levels.component.tsx +39 -0
- package/src/reports/moh-706/sub-reports/urine-analysis/urine-analysis.component.tsx +108 -0
- package/src/reports/moh-710/moh-710.component.tsx +211 -79
- package/src/reports/moh-710/moh-710.scss +5 -1
- package/src/reports/moh-710/registers/moh-511-710-register.component.tsx +263 -0
- package/src/reports/moh-710/registers/type.ts +31 -0
- package/src/reports/moh-711/moh-711.component.tsx +109 -1234
- package/src/reports/moh-711/moh711.scss +92 -8
- package/src/reports/moh-711/registers/moh-333-register.component.tsx +639 -0
- package/src/reports/moh-711/registers/moh-405-register.component.tsx +521 -0
- package/src/reports/moh-711/registers/moh-406-register.component.tsx +533 -0
- package/src/reports/moh-711/registers/moh-510-register.component.tsx +61 -0
- package/src/reports/moh-711/registers/moh-511-register.component.tsx +271 -0
- package/src/reports/moh-711/registers/type.ts +192 -0
- package/src/reports/moh-711/sections/anc.component.tsx +159 -0
- package/src/reports/moh-711/sections/cervical-cancer.component.tsx +148 -0
- package/src/reports/moh-711/sections/chanis.component.tsx +367 -0
- package/src/reports/moh-711/sections/family-planning.component.tsx +221 -0
- package/src/reports/moh-711/sections/gbv.component.tsx +115 -0
- package/src/reports/moh-711/sections/maternity.component.tsx +326 -0
- package/src/reports/moh-711/sections/medical-social-work.component.tsx +83 -0
- package/src/reports/moh-711/sections/other.component.tsx +47 -0
- package/src/reports/moh-711/sections/physiotherapy.component.tsx +61 -0
- package/src/reports/moh-711/sections/pnc.component.tsx +125 -0
- package/src/reports/moh-711/sections/post-abortion.component.tsx +42 -0
- package/src/reports/moh-711/sections/rehabilitation.component.tsx +57 -0
- package/src/reports/moh-711/sections/report-compiled-by.component.tsx +42 -0
- package/src/reports/moh-711/sections/tb-screening.component.tsx +57 -0
- package/src/reports/moh-717/moh-717.component.tsx +120 -946
- package/src/reports/moh-717/moh717.scss +138 -3
- package/src/reports/moh-717/registers/nutrition-register.component.tsx +48 -0
- package/src/reports/moh-717/sections/finance.component.tsx +42 -0
- package/src/reports/moh-717/sections/inpatient.component.tsx +374 -0
- package/src/reports/moh-717/sections/maternity.component.tsx +126 -0
- package/src/reports/moh-717/sections/medical-records.component.tsx +35 -0
- package/src/reports/moh-717/sections/mortuary.component.tsx +43 -0
- package/src/reports/moh-717/sections/operations.component.tsx +53 -0
- package/src/reports/moh-717/sections/orthopaedic-trauma.component.tsx +98 -0
- package/src/reports/moh-717/sections/outpatient.component.tsx +597 -0
- package/src/reports/moh-717/sections/pharmacy.component.tsx +43 -0
- package/src/reports/moh-717/sections/preparedby.component.tsx +47 -0
- package/src/reports/moh-717/sections/special-services.component.tsx +114 -0
- package/src/reports/moh-731/moh-731.component.tsx +181 -0
- package/src/reports/moh-731/moh-731.scss +118 -0
- package/src/reports/moh-731/registers/moh-366.component.tsx +478 -0
- package/src/reports/moh-731/registers/moh-366.scss +45 -0
- package/src/reports/moh-731/registers/prep-register.component.tsx +292 -0
- package/src/reports/moh-731/registers/prep-registers.scss +45 -0
- package/src/reports/moh-731/sections/hiv-and-tb-treatment.component.tsx +932 -0
- package/src/reports/moh-731/sections/hiv-testing-and-pre-exposure.component.tsx +569 -0
- package/src/reports/moh-731/sections/pmtct.component.tsx +451 -0
- package/src/reports/moh-740/moh-740.component.scss +120 -0
- package/src/reports/moh-740/moh-740.component.tsx +1271 -0
- package/src/reports/moh-740/moh-740.resource.ts +42 -0
- package/src/reports/moh-740/registers/moh-222-daily-register/moh-222-daily-register.scss +18 -0
- package/src/reports/moh-740/registers/moh-222-daily-register/moh-222-daily-register.tsx +104 -0
- package/src/reports/moh-740/registers/moh-270-permanent-register/moh-270-permanent-register.scss +18 -0
- package/src/reports/moh-740/registers/moh-270-permanent-register/moh-270-permanent-register.tsx +79 -0
- package/src/reports/moh-740/registers/moh-740-patient-list.scss +0 -0
- package/src/reports/moh-740/registers/moh-740-patient-list.tsx +66 -0
- package/src/reports/moh-740/shared/data-cell/data-cell.scss +6 -0
- package/src/reports/moh-740/shared/data-cell/data-cell.tsx +23 -0
- package/src/reports/moh-740/shared/utils/format-indicator.ts +22 -0
- package/src/reports/moh-740/shared/utils/indicator-register-map.ts +157 -0
- package/src/reports/moh-740/types/index.ts +216 -0
- package/src/reports/moh-745/moh-745.component.tsx +928 -0
- package/src/reports/moh-745/moh-745.scss +74 -0
- package/src/reports/moh-745/registers/moh-412-register.component.tsx +191 -0
- package/src/reports/moh-745/registers/type.ts +30 -0
- package/src/reports/table-wrapper/table-row-mapper.component.tsx +53 -0
- package/src/reports/table-wrapper/table-wrapper.component.tsx +21 -0
- package/src/reports/table-wrapper/table-wrapper.scss +31 -0
- package/src/resources/moh-505.resource.ts +86 -0
- package/src/resources/moh-705.resource.ts +117 -0
- package/src/resources/moh-706.resource.ts +86 -0
- package/src/resources/moh-710.resource.ts +28 -0
- package/src/resources/moh-711.resource.ts +146 -0
- package/src/resources/moh-717.resource.ts +27 -0
- package/src/resources/moh-731.resource.ts +96 -0
- package/src/resources/moh-745.resource.ts +64 -0
- package/src/root.component.tsx +39 -0
- package/src/routes.json +3 -1
- package/src/utils/utils.ts +36 -0
- package/dist/367.js +0 -2
- package/dist/367.js.map +0 -1
- package/dist/86.js +0 -1
- package/dist/86.js.map +0 -1
- /package/dist/{367.js.LICENSE.txt → 822.js.LICENSE.txt} +0 -0
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
import styles from '../moh717.scss';
|
|
4
|
+
import classNames from 'classnames';
|
|
5
|
+
|
|
6
|
+
const PreparedbyComponent: React.FC = () => {
|
|
7
|
+
return (
|
|
8
|
+
<>
|
|
9
|
+
<table className={classNames(`${styles.table}`, `${styles.tableBordered}`, `${styles.tableStriped}`)}>
|
|
10
|
+
<thead>
|
|
11
|
+
<tr>
|
|
12
|
+
<th></th>
|
|
13
|
+
<th>Name</th>
|
|
14
|
+
<th>Designation</th>
|
|
15
|
+
<th>Date</th>
|
|
16
|
+
<th>Signature</th>
|
|
17
|
+
</tr>
|
|
18
|
+
</thead>
|
|
19
|
+
<tbody>
|
|
20
|
+
<tr>
|
|
21
|
+
<td>Prepared by:</td>
|
|
22
|
+
<td></td>
|
|
23
|
+
<td></td>
|
|
24
|
+
<td></td>
|
|
25
|
+
<td></td>
|
|
26
|
+
</tr>
|
|
27
|
+
<tr>
|
|
28
|
+
<td>Checked by:</td>
|
|
29
|
+
<td></td>
|
|
30
|
+
<td></td>
|
|
31
|
+
<td></td>
|
|
32
|
+
<td></td>
|
|
33
|
+
</tr>
|
|
34
|
+
<tr>
|
|
35
|
+
<td>Received by:</td>
|
|
36
|
+
<td></td>
|
|
37
|
+
<td></td>
|
|
38
|
+
<td></td>
|
|
39
|
+
<td></td>
|
|
40
|
+
</tr>
|
|
41
|
+
</tbody>
|
|
42
|
+
</table>
|
|
43
|
+
</>
|
|
44
|
+
);
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
export default PreparedbyComponent;
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
import styles from '../moh717.scss';
|
|
4
|
+
import classNames from 'classnames';
|
|
5
|
+
|
|
6
|
+
interface SpecialServicesComponentProps {
|
|
7
|
+
moh717ReportData: any;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
const SpecialServicesComponent: React.FC<SpecialServicesComponentProps> = ({ moh717ReportData }) => {
|
|
11
|
+
return (
|
|
12
|
+
<>
|
|
13
|
+
<table className={classNames(`${styles.table}`, `${styles.tableBordered}`, `${styles.tableStriped}`)}>
|
|
14
|
+
<thead>
|
|
15
|
+
<tr>
|
|
16
|
+
<th colSpan={6} className={classNames(`${styles.totals} ${styles.alighnLeft}`)}>
|
|
17
|
+
C.SPECIAL SERVICES (includes both inpatients and outpatients)
|
|
18
|
+
</th>
|
|
19
|
+
</tr>
|
|
20
|
+
<tr>
|
|
21
|
+
<th></th>
|
|
22
|
+
<th colSpan={2}>Services</th>
|
|
23
|
+
<th>Number</th>
|
|
24
|
+
<th>Services</th>
|
|
25
|
+
<th>Number</th>
|
|
26
|
+
</tr>
|
|
27
|
+
</thead>
|
|
28
|
+
<tbody>
|
|
29
|
+
<tr>
|
|
30
|
+
<td>C.1</td>
|
|
31
|
+
<td>Laboratory- Number of Tests</td>
|
|
32
|
+
<td>Routine</td>
|
|
33
|
+
<td>{moh717ReportData.lab_routine_test}</td>
|
|
34
|
+
<td>Special</td>
|
|
35
|
+
<td>{moh717ReportData.lab_special_test}</td>
|
|
36
|
+
</tr>
|
|
37
|
+
<tr>
|
|
38
|
+
<td rowSpan={6}>C.2</td>
|
|
39
|
+
<td rowSpan={6}>X-Ray & Imaging- Number of Examinations</td>
|
|
40
|
+
<th>Routine</th>
|
|
41
|
+
<th>Number</th>
|
|
42
|
+
<th>Special</th>
|
|
43
|
+
<th>Number</th>
|
|
44
|
+
</tr>
|
|
45
|
+
<tr>
|
|
46
|
+
<td rowSpan={5}>Plain X-Rays without contrast enhancement</td>
|
|
47
|
+
<td rowSpan={5}>{moh717ReportData.plain_xray_without_enhancement}</td>
|
|
48
|
+
<td>Contrast enhanced examinations</td>
|
|
49
|
+
<td>{moh717ReportData.contrast_enhancement_examination}</td>
|
|
50
|
+
</tr>
|
|
51
|
+
<tr>
|
|
52
|
+
<td>Magnetic Resonance Imaging</td>
|
|
53
|
+
<td>{moh717ReportData.magnetic_resonance_imaging}</td>
|
|
54
|
+
</tr>
|
|
55
|
+
<tr>
|
|
56
|
+
<td>Computarized Tomography</td>
|
|
57
|
+
<td>{moh717ReportData.computerized_tomography}</td>
|
|
58
|
+
</tr>
|
|
59
|
+
<tr>
|
|
60
|
+
<td>Mammography</td>
|
|
61
|
+
<td>{moh717ReportData.mammography}</td>
|
|
62
|
+
</tr>
|
|
63
|
+
<tr>
|
|
64
|
+
<td>Chest x-ray for PTB with specialist's report</td>
|
|
65
|
+
<td>{moh717ReportData.chest_xray_for_ptb}</td>
|
|
66
|
+
</tr>
|
|
67
|
+
<tr>
|
|
68
|
+
<td>C.3</td>
|
|
69
|
+
<td>Number of ultrasound examinations</td>
|
|
70
|
+
<td>General ultrasound</td>
|
|
71
|
+
<td>{moh717ReportData.general_ultrasound}</td>
|
|
72
|
+
<td>Obstetric ultrasound</td>
|
|
73
|
+
<td>{moh717ReportData.obstetric_ultrasound}</td>
|
|
74
|
+
</tr>
|
|
75
|
+
<tr>
|
|
76
|
+
<td>C.4</td>
|
|
77
|
+
<th colSpan={2}>Total routine (X-Ray and Imaging)</th>
|
|
78
|
+
<th>{moh717ReportData.total_routine_xray_and_imaging}</th>
|
|
79
|
+
<th>Total special exams (X-Ray and Imaging)</th>
|
|
80
|
+
<th>{moh717ReportData.total_special_exams_xray_and_imaging}</th>
|
|
81
|
+
</tr>
|
|
82
|
+
<tr>
|
|
83
|
+
<td>C.5</td>
|
|
84
|
+
<td colSpan={4}>Physiotherapy - Number of Treatments</td>
|
|
85
|
+
<td>{moh717ReportData.physiotherapy_number_of_treatments}</td>
|
|
86
|
+
</tr>
|
|
87
|
+
<tr>
|
|
88
|
+
<td>C.6</td>
|
|
89
|
+
<td colSpan={4}>Occupational therapy - Number of treatments</td>
|
|
90
|
+
<td>{moh717ReportData.occupational_therapy_number_of_treatments}</td>
|
|
91
|
+
</tr>
|
|
92
|
+
<tr>
|
|
93
|
+
<td>C.7</td>
|
|
94
|
+
<td colSpan={4}>
|
|
95
|
+
Orthopaedic Technology (Prosthetist & Orthotist) - Orthopaedic Technology - No of ITEMS Prepared and
|
|
96
|
+
issued e.g. a pair of crutches, Wheelchair, Prosthesis etc. count as one item
|
|
97
|
+
</td>
|
|
98
|
+
<td>{moh717ReportData.orthopaedic_technology_prepared}</td>
|
|
99
|
+
</tr>
|
|
100
|
+
<tr>
|
|
101
|
+
<td>C.8</td>
|
|
102
|
+
<td colSpan={4}>
|
|
103
|
+
Orthopaedic Technology (Prosthetist & Orthotist) - Orthopaedic Technology - No of ITEMS issued e.g. a pair
|
|
104
|
+
of crutches, Wheelchair, Prosthesis etc. count as one item
|
|
105
|
+
</td>
|
|
106
|
+
<td>{moh717ReportData.orthopaedic_technology_issued}</td>
|
|
107
|
+
</tr>
|
|
108
|
+
</tbody>
|
|
109
|
+
</table>
|
|
110
|
+
</>
|
|
111
|
+
);
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
export default SpecialServicesComponent;
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import React, { useEffect, useState } from 'react';
|
|
2
|
+
|
|
3
|
+
import styles from './moh-731.scss';
|
|
4
|
+
import ReportFiltersComponent from '../../common/report-filters/report-filters.component';
|
|
5
|
+
import { type ReportFilters } from '../moh-705a/type';
|
|
6
|
+
import { useSession } from '@openmrs/esm-framework';
|
|
7
|
+
import { useNavigate } from 'react-router-dom';
|
|
8
|
+
import { getMoh731 } from '../../resources/moh-731.resource';
|
|
9
|
+
import HivTestingandPreExposusreProphylaxis from './sections/hiv-testing-and-pre-exposure.component';
|
|
10
|
+
import PmtctComponent from './sections/pmtct.component';
|
|
11
|
+
import HivAndTBTreatmentComponent from './sections/hiv-and-tb-treatment.component';
|
|
12
|
+
import classNames from 'classnames';
|
|
13
|
+
import { Loading } from '@carbon/react';
|
|
14
|
+
|
|
15
|
+
interface Moh731Props {}
|
|
16
|
+
|
|
17
|
+
const Moh731Report: React.FC<Moh731Props> = () => {
|
|
18
|
+
const [moh731Data, setMoh731Data] = useState<any>(() => {
|
|
19
|
+
const saved = sessionStorage.getItem('moh731Data');
|
|
20
|
+
return saved ? JSON.parse(saved) : [];
|
|
21
|
+
});
|
|
22
|
+
const [isLoading, setIsLoading] = useState<boolean>(false);
|
|
23
|
+
const [startDate, setStartDate] = useState<string>(() => {
|
|
24
|
+
return sessionStorage.getItem('moh731StartDate') || '';
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
const [endDate, setEndDate] = useState<string>(() => {
|
|
28
|
+
return sessionStorage.getItem('moh731EndDate') || '';
|
|
29
|
+
});
|
|
30
|
+
useEffect(() => {
|
|
31
|
+
sessionStorage.setItem('moh731Data', JSON.stringify(moh731Data));
|
|
32
|
+
}, [moh731Data]);
|
|
33
|
+
|
|
34
|
+
useEffect(() => {
|
|
35
|
+
sessionStorage.setItem('moh731StartDate', startDate);
|
|
36
|
+
}, [startDate]);
|
|
37
|
+
|
|
38
|
+
useEffect(() => {
|
|
39
|
+
sessionStorage.setItem('moh731EndDate', endDate);
|
|
40
|
+
}, [endDate]);
|
|
41
|
+
const [errorMessage, setErrorMessage] = useState<any>();
|
|
42
|
+
|
|
43
|
+
const session = useSession();
|
|
44
|
+
const locationUuids = session?.sessionLocation?.uuid;
|
|
45
|
+
const navigate = useNavigate();
|
|
46
|
+
|
|
47
|
+
const getReportParams = (filters: ReportFilters) => {
|
|
48
|
+
let { startDate: sDate, endDate: eDate } = filters;
|
|
49
|
+
|
|
50
|
+
if (filters.month) {
|
|
51
|
+
const [year, monthIndex] = filters.month.split('-').map(Number);
|
|
52
|
+
|
|
53
|
+
const start = new Date(year, monthIndex - 1, 1);
|
|
54
|
+
const end = new Date(year, monthIndex, 0);
|
|
55
|
+
|
|
56
|
+
const formatLocalDate = (d: Date) => {
|
|
57
|
+
const y = d.getFullYear();
|
|
58
|
+
const m = String(d.getMonth() + 1).padStart(2, '0');
|
|
59
|
+
const day = String(d.getDate()).padStart(2, '0');
|
|
60
|
+
return `${y}-${m}-${day}`;
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
sDate = formatLocalDate(start);
|
|
64
|
+
eDate = formatLocalDate(end);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
setStartDate(sDate || '');
|
|
68
|
+
setEndDate(eDate || '');
|
|
69
|
+
|
|
70
|
+
return { startDate: sDate, endDate: eDate };
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
const fetchMoh731ReportData = async (filters: { startDate?: string; endDate?: string; month?: string }) => {
|
|
74
|
+
setIsLoading(true);
|
|
75
|
+
|
|
76
|
+
const { startDate, endDate } = getReportParams(filters);
|
|
77
|
+
|
|
78
|
+
const params = {
|
|
79
|
+
locationUuids: locationUuids || '',
|
|
80
|
+
startDate,
|
|
81
|
+
endDate,
|
|
82
|
+
};
|
|
83
|
+
try {
|
|
84
|
+
const data = await getMoh731(params);
|
|
85
|
+
const flatData = Object.assign({}, ...data.result);
|
|
86
|
+
setMoh731Data(flatData);
|
|
87
|
+
setIsLoading(false);
|
|
88
|
+
} catch (error: any) {
|
|
89
|
+
setErrorMessage(error.message);
|
|
90
|
+
setIsLoading(false);
|
|
91
|
+
throw new Error(`Failed to fetch MOH-710 report data: ${error instanceof Error ? error.message : String(error)}`);
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
const navigateToRegister = (indicator: string) => {
|
|
96
|
+
navigate(
|
|
97
|
+
`/moh-405-register?startDate=${startDate}&endDate=${endDate}&locationUuids=${locationUuids}&indicator=${indicator}`,
|
|
98
|
+
);
|
|
99
|
+
};
|
|
100
|
+
return (
|
|
101
|
+
<>
|
|
102
|
+
<ReportFiltersComponent
|
|
103
|
+
reportName="MOH-731 Report"
|
|
104
|
+
mode="monthly"
|
|
105
|
+
onGenerate={fetchMoh731ReportData}
|
|
106
|
+
isLoding={isLoading}
|
|
107
|
+
/>
|
|
108
|
+
<div
|
|
109
|
+
className={classNames(`${styles.table}`, `${styles.tableBordered}`, `${styles.border}`, `${styles.border2}`)}
|
|
110
|
+
>
|
|
111
|
+
<table style={{ width: '100%' }}>
|
|
112
|
+
<tr>
|
|
113
|
+
<td style={{ textAlign: 'center', fontWeight: 'bold' }}>
|
|
114
|
+
National AIDS & STI Control Program- NASCOP <br />
|
|
115
|
+
Comprehensive HIV/ AIDS reporting form
|
|
116
|
+
<div style={{ textAlign: 'right', marginBottom: '1%' }}>
|
|
117
|
+
<span style={{ textAlign: 'right', border: '2px dotted #000' }}>(MOH 731-Ver. July 2023)</span>
|
|
118
|
+
</div>
|
|
119
|
+
</td>
|
|
120
|
+
</tr>
|
|
121
|
+
</table>
|
|
122
|
+
</div>
|
|
123
|
+
<table className={styles.locationContainer} style={{ marginTop: '0.5%' }}>
|
|
124
|
+
<tr>
|
|
125
|
+
<td style={{ paddingLeft: '5rem', paddingBottom: '1%' }}>
|
|
126
|
+
County______________________SubCounty___________________Facility___________________MFL_______Month______year______
|
|
127
|
+
</td>
|
|
128
|
+
</tr>
|
|
129
|
+
</table>
|
|
130
|
+
<table className={styles.table} style={{ marginTop: '1%' }}>
|
|
131
|
+
<thead>
|
|
132
|
+
<tr>
|
|
133
|
+
<th className={styles.border}>1. HIV Testing & Pre exposure Prophylaxis</th>
|
|
134
|
+
</tr>
|
|
135
|
+
</thead>
|
|
136
|
+
<HivTestingandPreExposusreProphylaxis
|
|
137
|
+
MOH731Data={moh731Data}
|
|
138
|
+
startDate={startDate}
|
|
139
|
+
endDate={endDate}
|
|
140
|
+
locationUuids={locationUuids!}
|
|
141
|
+
/>
|
|
142
|
+
<thead>
|
|
143
|
+
<tr>
|
|
144
|
+
<th className={styles.border2}>2. Elimination of Mother-to-Child Transmission(EMTCT)</th>
|
|
145
|
+
</tr>
|
|
146
|
+
</thead>
|
|
147
|
+
<PmtctComponent
|
|
148
|
+
MOH731Data={moh731Data}
|
|
149
|
+
startDate={startDate}
|
|
150
|
+
endDate={endDate}
|
|
151
|
+
locationUuids={locationUuids!}
|
|
152
|
+
/>
|
|
153
|
+
|
|
154
|
+
<HivAndTBTreatmentComponent
|
|
155
|
+
MOH731Data={moh731Data}
|
|
156
|
+
startDate={startDate}
|
|
157
|
+
endDate={endDate}
|
|
158
|
+
locationUuids={locationUuids!}
|
|
159
|
+
/>
|
|
160
|
+
<thead>
|
|
161
|
+
<div className={classNames(styles.reviewSection, styles.border3)}>
|
|
162
|
+
<div>Reviewed by:</div>
|
|
163
|
+
<div>Name</div>
|
|
164
|
+
<div>Designation</div>
|
|
165
|
+
<div>Signature</div>
|
|
166
|
+
<div>Date</div>
|
|
167
|
+
|
|
168
|
+
<div></div>
|
|
169
|
+
<div>_______________________________________</div>
|
|
170
|
+
<div>______________________</div>
|
|
171
|
+
<div>_____________</div>
|
|
172
|
+
<div>____________</div>
|
|
173
|
+
</div>
|
|
174
|
+
</thead>
|
|
175
|
+
</table>
|
|
176
|
+
{isLoading && <Loading />}
|
|
177
|
+
</>
|
|
178
|
+
);
|
|
179
|
+
};
|
|
180
|
+
|
|
181
|
+
export default Moh731Report;
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
.table {
|
|
2
|
+
border: 2px solid #000;
|
|
3
|
+
margin: 2rem;
|
|
4
|
+
table-layout: fixed;
|
|
5
|
+
|
|
6
|
+
td:nth-child(1) {
|
|
7
|
+
width: 40%;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
td:nth-child(2) {
|
|
11
|
+
width: 25%;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
td:nth-child(3) {
|
|
15
|
+
width: 27.5%;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
tr {
|
|
19
|
+
display: flex;
|
|
20
|
+
justify-content: space-between;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
span {
|
|
24
|
+
font-weight: normal;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
.locationContainer {
|
|
32
|
+
border: 2px solid #000;
|
|
33
|
+
width: 100%;
|
|
34
|
+
text-align: center;
|
|
35
|
+
margin: 2rem;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.border {
|
|
39
|
+
background-color: #f2f2f2;
|
|
40
|
+
border-bottom: 2px solid #000;
|
|
41
|
+
width: 100%;
|
|
42
|
+
font-weight: bold;
|
|
43
|
+
}
|
|
44
|
+
.border2 {
|
|
45
|
+
background-color: #f2f2f2;
|
|
46
|
+
border-top: 2px solid #000;
|
|
47
|
+
border-bottom: 2px solid #000;
|
|
48
|
+
width: 100%;
|
|
49
|
+
font-weight: bold;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.border3 {
|
|
53
|
+
border-top: 2px solid #000;
|
|
54
|
+
border-right: 2px dotted #000;
|
|
55
|
+
width: 78.5%;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.flexColumn {
|
|
59
|
+
display: inline-block;
|
|
60
|
+
flex-direction: column;
|
|
61
|
+
margin: 2rem;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.flexRow {
|
|
65
|
+
display: flex;
|
|
66
|
+
justify-content: space-between;
|
|
67
|
+
}
|
|
68
|
+
.rectangle {
|
|
69
|
+
width: 50px;
|
|
70
|
+
height: 20px;
|
|
71
|
+
border: 2px solid #000;
|
|
72
|
+
display: inline-block;
|
|
73
|
+
margin-left: 5px;
|
|
74
|
+
}
|
|
75
|
+
.textBox {
|
|
76
|
+
display: inline-block;
|
|
77
|
+
align-items: center;
|
|
78
|
+
justify-content: start;
|
|
79
|
+
gap: 8px;
|
|
80
|
+
white-space: nowrap;
|
|
81
|
+
cursor: pointer;
|
|
82
|
+
}
|
|
83
|
+
.textBox2 {
|
|
84
|
+
margin-left: 10px;
|
|
85
|
+
}
|
|
86
|
+
.spaceAfter {
|
|
87
|
+
padding-right: 6vw;
|
|
88
|
+
}
|
|
89
|
+
.borderRight {
|
|
90
|
+
border-right: 2px dotted #000;
|
|
91
|
+
padding-right: 4vw;
|
|
92
|
+
}
|
|
93
|
+
.borderLeft {
|
|
94
|
+
border-left: 2px dotted #000;
|
|
95
|
+
padding-left: 1vw;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.reviewSection {
|
|
99
|
+
display: grid;
|
|
100
|
+
grid-template-columns: repeat(5, 1fr);
|
|
101
|
+
column-gap: 20px;
|
|
102
|
+
text-align: center;
|
|
103
|
+
font-size: 14px;
|
|
104
|
+
margin-top: 10px;
|
|
105
|
+
font-weight: bold;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.subTitle {
|
|
109
|
+
font-weight: bold;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
.emptyColumn {
|
|
114
|
+
min-width: 10rem;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
|