@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.
- package/.editorconfig +12 -0
- package/.eslintignore +2 -0
- package/.eslintrc +57 -0
- package/.husky/pre-commit +7 -0
- package/.husky/pre-push +6 -0
- package/.prettierignore +14 -0
- package/.turbo.json +18 -0
- package/.yarn/plugins/@yarnpkg/plugin-outdated.cjs +35 -0
- package/LICENSE +401 -0
- package/README.md +9 -0
- package/__mocks__/react-i18next.js +50 -0
- package/dist/138.js +2 -0
- package/dist/138.js.LICENSE.txt +20 -0
- package/dist/138.js.map +1 -0
- package/dist/184.js +2 -0
- package/dist/184.js.LICENSE.txt +14 -0
- package/dist/184.js.map +1 -0
- package/dist/197.js +1 -0
- package/dist/205.js +1 -0
- package/dist/205.js.map +1 -0
- package/dist/282.js +2 -0
- package/dist/282.js.LICENSE.txt +32 -0
- package/dist/282.js.map +1 -0
- package/dist/300.js +1 -0
- package/dist/311.js +1 -0
- package/dist/311.js.map +1 -0
- package/dist/335.js +1 -0
- package/dist/353.js +1 -0
- package/dist/353.js.map +1 -0
- package/dist/478.js +2 -0
- package/dist/478.js.LICENSE.txt +9 -0
- package/dist/478.js.map +1 -0
- package/dist/540.js +2 -0
- package/dist/540.js.LICENSE.txt +9 -0
- package/dist/540.js.map +1 -0
- package/dist/55.js +1 -0
- package/dist/652.js +1 -0
- package/dist/677.js +1 -0
- package/dist/677.js.map +1 -0
- package/dist/812.js +1 -0
- package/dist/812.js.map +1 -0
- package/dist/961.js +2 -0
- package/dist/961.js.LICENSE.txt +19 -0
- package/dist/961.js.map +1 -0
- package/dist/99.js +1 -0
- package/dist/ampath-esm-reports-app.js +1 -0
- package/dist/ampath-esm-reports-app.js.buildmanifest.json +539 -0
- package/dist/ampath-esm-reports-app.js.map +1 -0
- package/dist/main.js +1 -0
- package/dist/main.js.map +1 -0
- package/dist/routes.json +1 -0
- package/e2e/README.md +115 -0
- package/e2e/core/global-setup.ts +32 -0
- package/e2e/core/index.ts +1 -0
- package/e2e/core/test.ts +20 -0
- package/e2e/fixtures/api.ts +26 -0
- package/e2e/fixtures/index.ts +1 -0
- package/e2e/pages/index.ts +1 -0
- package/e2e/pages/root-page.ts +32 -0
- package/e2e/specs/template-app.spec.ts +23 -0
- package/e2e/support/github/Dockerfile +34 -0
- package/e2e/support/github/docker-compose.yml +24 -0
- package/e2e/support/github/run-e2e-docker-env.sh +37 -0
- package/example.env +6 -0
- package/jest.config.js +33 -0
- package/package.json +106 -0
- package/playwright.config.ts +32 -0
- package/prettier.config.js +8 -0
- package/src/common/report-filters/report-filters.component.tsx +127 -0
- package/src/common/report-filters/report-filters.scss +49 -0
- package/src/config-schema.ts +12 -0
- package/src/createDashboardLink.tsx +9 -0
- package/src/dashboard/reports-dasboard.tsx +41 -0
- package/src/dashboard/reports-dashboard.module.scss +14 -0
- package/src/dashboard-meta/reports-dashboard.meta.ts +6 -0
- package/src/declarations.d.ts +5 -0
- package/src/index.ts +20 -0
- package/src/reports/datatable-wrapper/datatable-wrapper.component.tsx +54 -0
- package/src/reports/moh-240/moh-240.component.tsx +12 -0
- package/src/reports/moh-240/sub-reports/moh-240-register.component.tsx +42 -0
- package/src/reports/moh-240/sub-reports/page-summary.component.tsx +95 -0
- package/src/reports/moh-505/moh-505.component.tsx +234 -0
- package/src/reports/moh-705B/moh-705b.component.tsx +466 -0
- package/src/reports/moh-705B/moh-705b.scss +41 -0
- package/src/reports/moh-705a/moh-705a.component.tsx +473 -0
- package/src/reports/moh-705a/moh-705a.scss +41 -0
- package/src/reports/moh-706/moh-706.component.tsx +26 -0
- package/src/reports/moh-706/moh-706.scss +18 -0
- package/src/reports/moh-706/sub-reports/bacteriology/bacteriology.component.tsx +117 -0
- package/src/reports/moh-706/sub-reports/blood-chemistry/blood-chemistry.component.tsx +311 -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 +172 -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 +114 -0
- package/src/reports/moh-706/sub-reports/serology/serology.component.tsx +40 -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 +101 -0
- package/src/reports/moh-710/moh-710.component.tsx +663 -0
- package/src/reports/moh-710/moh-710.scss +41 -0
- package/src/reports/moh-711/moh-711.component.tsx +121 -0
- package/src/reports/moh-711/moh711.scss +71 -0
- package/src/reports/moh-711/sections/anc.component.tsx +134 -0
- package/src/reports/moh-711/sections/cervical-cancer.component.tsx +104 -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 +280 -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 +92 -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 +152 -0
- package/src/reports/moh-717/moh717.scss +150 -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 +94 -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 +489 -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-745/moh-745.component.tsx +629 -0
- package/src/reports/moh-745/moh-745.scss +67 -0
- package/src/reports/table-wrapper/table-row-mapper.component.tsx +42 -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-705.resource.ts +60 -0
- package/src/resources/moh-710.resource.ts +34 -0
- package/src/resources/moh-711.resource.ts +34 -0
- package/src/resources/moh-717.resource.ts +35 -0
- package/src/resources/moh-745.resource.ts +34 -0
- package/src/root.component.tsx +35 -0
- package/src/root.scss +15 -0
- package/src/routes.json +27 -0
- package/src/utils/get-base-url.ts +12 -0
- package/src/utils/utils.ts +7 -0
- package/tools/i18next-parser.config.js +89 -0
- package/tools/setup-tests.ts +1 -0
- package/tools/update-openmrs-deps.mjs +43 -0
- package/translations/am.json +24 -0
- package/translations/en.json +24 -0
- package/translations/es.json +24 -0
- package/translations/fr.json +24 -0
- package/translations/he.json +24 -0
- package/translations/km.json +24 -0
- package/tsconfig.json +24 -0
- package/webpack.config.js +1 -0
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
|
|
2
|
+
h3 {
|
|
3
|
+
text-align: center;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.container {
|
|
7
|
+
border: 1px solid #ccc;
|
|
8
|
+
margin: 0 2rem;
|
|
9
|
+
margin-top: 0.5px;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.tableContainer {
|
|
13
|
+
margin-left: 1rem;
|
|
14
|
+
margin-bottom: 1rem;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.sectionTitle {
|
|
18
|
+
margin-left: 1rem ;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.title {
|
|
22
|
+
text-align: center;
|
|
23
|
+
font-size: 1rem;
|
|
24
|
+
margin: 1rem;
|
|
25
|
+
}
|
|
26
|
+
.table {
|
|
27
|
+
width: auto;
|
|
28
|
+
border-collapse: collapse;
|
|
29
|
+
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.tableBordered td,
|
|
33
|
+
.tableBordered th {
|
|
34
|
+
border: 1px solid black;
|
|
35
|
+
padding: 0.3rem;
|
|
36
|
+
font-size: small;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.tableStriped tbody tr:nth-of-type(odd) {
|
|
40
|
+
background-color: #f9f9f9;
|
|
41
|
+
}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import React, { useState } from 'react';
|
|
2
|
+
import ReportFiltersComponent from '../../common/report-filters/report-filters.component';
|
|
3
|
+
|
|
4
|
+
import styles from './moh711.scss';
|
|
5
|
+
import classNames from 'classnames';
|
|
6
|
+
import { useSession } from '@openmrs/esm-framework';
|
|
7
|
+
import { getMoh711 } from '../../resources/moh-711.resource';
|
|
8
|
+
import { Loading } from '@carbon/react';
|
|
9
|
+
import TBScreeningComponent from './sections/tb-screening.component';
|
|
10
|
+
import ANCComponent from './sections/anc.component';
|
|
11
|
+
import MaternityComponent from './sections/maternity.component';
|
|
12
|
+
import GBVComponent from './sections/gbv.component';
|
|
13
|
+
import FamilyPlanningComponent from './sections/family-planning.component';
|
|
14
|
+
import CervicalCancerComponent from './sections/cervical-cancer.component';
|
|
15
|
+
import PostAbortion from './sections/post-abortion.component';
|
|
16
|
+
import ChanisComponent from './sections/chanis.component';
|
|
17
|
+
import PNCComponent from './sections/pnc.component';
|
|
18
|
+
import RehabilitationComponent from './sections/rehabilitation.component';
|
|
19
|
+
import MedicalSocialWorkComponent from './sections/medical-social-work.component';
|
|
20
|
+
import PhysiotherapyComponent from './sections/physiotherapy.component';
|
|
21
|
+
import OtherComponent from './sections/other.component';
|
|
22
|
+
import ReportCompiledByComponent from './sections/report-compiled-by.component';
|
|
23
|
+
|
|
24
|
+
const Moh711Report: React.FC = () => {
|
|
25
|
+
let errorMessage: string = '';
|
|
26
|
+
const [moh711Data, setMoh711Data] = useState<any>([]);
|
|
27
|
+
const [isLoading, setIsLoading] = useState<boolean>(false);
|
|
28
|
+
|
|
29
|
+
const session = useSession();
|
|
30
|
+
const locationUuid = session?.sessionLocation?.uuid;
|
|
31
|
+
const fetchMoh711ReportData = async (filters: { startDate?: string; endDate?: string; month?: string }) => {
|
|
32
|
+
setIsLoading(true);
|
|
33
|
+
let startDate = filters.startDate;
|
|
34
|
+
let endDate = filters.endDate;
|
|
35
|
+
|
|
36
|
+
if (filters.month) {
|
|
37
|
+
const [year, monthIndex] = filters.month.split('-').map(Number);
|
|
38
|
+
|
|
39
|
+
const start = new Date(year, monthIndex - 1, 1);
|
|
40
|
+
const end = new Date(year, monthIndex, 0);
|
|
41
|
+
|
|
42
|
+
const formatLocalDate = (d: Date) => {
|
|
43
|
+
const year = d.getFullYear();
|
|
44
|
+
const month = String(d.getMonth() + 1).padStart(2, '0');
|
|
45
|
+
const day = String(d.getDate()).padStart(2, '0');
|
|
46
|
+
return `${year}-${month}-${day}`;
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
startDate = formatLocalDate(start);
|
|
50
|
+
endDate = formatLocalDate(end);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
const params = {
|
|
54
|
+
locationUuids: locationUuid || '',
|
|
55
|
+
startDate,
|
|
56
|
+
endDate,
|
|
57
|
+
};
|
|
58
|
+
try {
|
|
59
|
+
const data = await getMoh711(params);
|
|
60
|
+
const flatData = Object.assign({}, ...data.result);
|
|
61
|
+
setMoh711Data(flatData);
|
|
62
|
+
setIsLoading(false);
|
|
63
|
+
} catch (error) {
|
|
64
|
+
setIsLoading(false);
|
|
65
|
+
errorMessage = error instanceof Error ? error.message : String(error);
|
|
66
|
+
throw new Error(`Failed to fetch MOH-711 report data: ${error instanceof Error ? error.message : String(error)}`);
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
return (
|
|
70
|
+
<>
|
|
71
|
+
<ReportFiltersComponent
|
|
72
|
+
reportName="MOH-711 Report"
|
|
73
|
+
mode="monthly"
|
|
74
|
+
onGenerate={fetchMoh711ReportData}
|
|
75
|
+
isLoding={isLoading}
|
|
76
|
+
/>
|
|
77
|
+
{isLoading && <Loading description="Fetching data...." />}
|
|
78
|
+
{!isLoading && errorMessage && (
|
|
79
|
+
<div>
|
|
80
|
+
<a href="#" className="close" data-dismiss="alert">
|
|
81
|
+
×
|
|
82
|
+
</a>
|
|
83
|
+
<h4>
|
|
84
|
+
<strong>
|
|
85
|
+
<span className="glyphicon glyphicon-warning-sign"></span>{' '}
|
|
86
|
+
</strong>{' '}
|
|
87
|
+
An error occurred while trying to load the report. Please try again.
|
|
88
|
+
</h4>
|
|
89
|
+
<p>
|
|
90
|
+
<small>{errorMessage}</small>
|
|
91
|
+
</p>
|
|
92
|
+
</div>
|
|
93
|
+
)}
|
|
94
|
+
<h5>
|
|
95
|
+
INTEGRATED PROGRAM SUMMARY REPORT FORM: REPRODUCTIVE AND CHILD HEALTH, MEDICAL AND REHABILITATION SERVICES
|
|
96
|
+
</h5>
|
|
97
|
+
<div className={styles.container}>
|
|
98
|
+
<div className={styles.left}>
|
|
99
|
+
<ANCComponent moh711Data={moh711Data} />
|
|
100
|
+
<GBVComponent moh711Data={moh711Data} />
|
|
101
|
+
<FamilyPlanningComponent moh711Data={moh711Data} />
|
|
102
|
+
<CervicalCancerComponent moh711Data={moh711Data} />
|
|
103
|
+
<PNCComponent moh711Data={moh711Data} />
|
|
104
|
+
<RehabilitationComponent moh711Data={moh711Data} />
|
|
105
|
+
<MedicalSocialWorkComponent moh711Data={moh711Data} />
|
|
106
|
+
<ReportCompiledByComponent />
|
|
107
|
+
</div>
|
|
108
|
+
<div className={styles.right}>
|
|
109
|
+
<MaternityComponent moh711Data={moh711Data} />
|
|
110
|
+
<PostAbortion moh711Data={moh711Data} />
|
|
111
|
+
<ChanisComponent moh711Data={moh711Data} />
|
|
112
|
+
<PhysiotherapyComponent moh711Data={moh711Data} />
|
|
113
|
+
<OtherComponent moh711Data={MaternityComponent} />
|
|
114
|
+
<TBScreeningComponent moh711Data={moh711Data} />
|
|
115
|
+
</div>
|
|
116
|
+
</div>
|
|
117
|
+
</>
|
|
118
|
+
);
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
export default Moh711Report;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
|
|
2
|
+
h5 {
|
|
3
|
+
text-align: center;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.container {
|
|
7
|
+
margin: 2rem 2rem;
|
|
8
|
+
display: grid;
|
|
9
|
+
grid-template-columns: 1fr 1fr;
|
|
10
|
+
gap: 1rem;
|
|
11
|
+
padding: 0 2rem;
|
|
12
|
+
|
|
13
|
+
grid-template-areas:
|
|
14
|
+
"left right";
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
.left {
|
|
19
|
+
grid-area: left;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.right {
|
|
23
|
+
grid-area: right;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/* 📱 Stack on small screens */
|
|
27
|
+
@media (max-width: 768px) {
|
|
28
|
+
.container {
|
|
29
|
+
grid-template-columns: 1fr;
|
|
30
|
+
grid-template-areas:
|
|
31
|
+
"left"
|
|
32
|
+
"right";
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.sectionTitle {
|
|
37
|
+
margin-left: 1rem ;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.title {
|
|
41
|
+
text-align: center;
|
|
42
|
+
font-size: 1rem;
|
|
43
|
+
margin: 1rem;
|
|
44
|
+
}
|
|
45
|
+
.table {
|
|
46
|
+
width: auto;
|
|
47
|
+
border-collapse: collapse;
|
|
48
|
+
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.tableBordered td,
|
|
52
|
+
.tableBordered th {
|
|
53
|
+
border: 1px solid black;
|
|
54
|
+
padding: 0.3rem;
|
|
55
|
+
font-size: small;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.tableBordered th {
|
|
59
|
+
font-weight: bold;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.tableStriped tbody tr:nth-of-type(odd) {
|
|
63
|
+
background-color: #f9f9f9;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.greyBackground {
|
|
67
|
+
background-color: #ccc;
|
|
68
|
+
}
|
|
69
|
+
.compiledBy {
|
|
70
|
+
width: 10rem
|
|
71
|
+
}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
import styles from '../moh711.scss';
|
|
4
|
+
import classNames from 'classnames';
|
|
5
|
+
|
|
6
|
+
interface ANCComponentProps {
|
|
7
|
+
moh711Data: any;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
const ANCComponent: React.FC<ANCComponentProps> = ({ moh711Data }) => {
|
|
11
|
+
return (
|
|
12
|
+
<>
|
|
13
|
+
<table className={classNames(`${styles.table}`, `${styles.tableBordered}`, `${styles.tableStriped}`)}>
|
|
14
|
+
<thead>
|
|
15
|
+
<tr>
|
|
16
|
+
<th colSpan={3}>A. ANC/PMTCT</th>
|
|
17
|
+
<th>Total</th>
|
|
18
|
+
</tr>
|
|
19
|
+
</thead>
|
|
20
|
+
<tbody>
|
|
21
|
+
<tr>
|
|
22
|
+
<td>1</td>
|
|
23
|
+
<td rowSpan={2}>No. of ANC Clients</td>
|
|
24
|
+
<td>New</td>
|
|
25
|
+
<td>{moh711Data.new_anc_clients}</td>
|
|
26
|
+
</tr>
|
|
27
|
+
<tr>
|
|
28
|
+
<td>2</td>
|
|
29
|
+
<td>Re-visit</td>
|
|
30
|
+
<td>{moh711Data.revisit_anc_clients}</td>
|
|
31
|
+
</tr>
|
|
32
|
+
<tr>
|
|
33
|
+
<td>3</td>
|
|
34
|
+
<td colSpan={2}>No. of Clients given IPT (1st Dose)</td>
|
|
35
|
+
<td>{moh711Data.first_ipt_dose}</td>
|
|
36
|
+
</tr>
|
|
37
|
+
<tr>
|
|
38
|
+
<td>4</td>
|
|
39
|
+
<td colSpan={2}>No. of Clients given IPT (2nd Dose)</td>
|
|
40
|
+
<td>{moh711Data.second_ipt_dose}</td>
|
|
41
|
+
</tr>
|
|
42
|
+
<tr>
|
|
43
|
+
<td>5</td>
|
|
44
|
+
<td colSpan={2}>No. of Clients given IPT (3rd Dose)</td>
|
|
45
|
+
<td>{moh711Data.third_ipt_dose}</td>
|
|
46
|
+
</tr>
|
|
47
|
+
<tr>
|
|
48
|
+
<td>6</td>
|
|
49
|
+
<td colSpan={2}>No. of Clients with Hb<11g/dl</td>
|
|
50
|
+
<td>{moh711Data.Hb_less_11g}</td>
|
|
51
|
+
</tr>
|
|
52
|
+
<tr>
|
|
53
|
+
<td>7</td>
|
|
54
|
+
<td colSpan={2}>No. clients with 1st ANC contact at 12 or less weeks</td>
|
|
55
|
+
<td>{moh711Data.first_anc_contact_12_or_less_weeks}</td>
|
|
56
|
+
</tr>
|
|
57
|
+
<tr>
|
|
58
|
+
<td>8</td>
|
|
59
|
+
<td colSpan={2}>Pregnant women completing 4th ANC Contacts</td>
|
|
60
|
+
<td>{moh711Data.completing_4_anc_visits}</td>
|
|
61
|
+
</tr>
|
|
62
|
+
<tr>
|
|
63
|
+
<td>9</td>
|
|
64
|
+
<td colSpan={2}>No. of clients completed 8th ANC Contacts</td>
|
|
65
|
+
<td>{moh711Data.completing_8_anc_contact}</td>
|
|
66
|
+
</tr>
|
|
67
|
+
<tr>
|
|
68
|
+
<td>10</td>
|
|
69
|
+
<td colSpan={2}>No. of LLINs distributed to under 1 year</td>
|
|
70
|
+
<td>{moh711Data.llins_children_less_than_one}</td>
|
|
71
|
+
</tr>
|
|
72
|
+
<tr>
|
|
73
|
+
<td>11</td>
|
|
74
|
+
<td colSpan={2}>No. of LLINs distributed to ANC clients</td>
|
|
75
|
+
<td>{moh711Data.llins_anc_clients}</td>
|
|
76
|
+
</tr>
|
|
77
|
+
<tr>
|
|
78
|
+
<td>12</td>
|
|
79
|
+
<td rowSpan={2}>No. of clients</td>
|
|
80
|
+
<td>Tested for Syphilis</td>
|
|
81
|
+
<td>{moh711Data.anc_clients_tested_syphilis}</td>
|
|
82
|
+
</tr>
|
|
83
|
+
<tr>
|
|
84
|
+
<td>13</td>
|
|
85
|
+
<td>Positive (+ve)</td>
|
|
86
|
+
<td>{moh711Data.syphilis_positive}</td>
|
|
87
|
+
</tr>
|
|
88
|
+
<tr>
|
|
89
|
+
<td>14</td>
|
|
90
|
+
<td colSpan={2}>Total Women Done Breast Examination</td>
|
|
91
|
+
<td>{moh711Data.breast_exam}</td>
|
|
92
|
+
</tr>
|
|
93
|
+
<tr>
|
|
94
|
+
<td>15</td>
|
|
95
|
+
<td colSpan={2}>No. of adolescents (10-14 years) presenting with pregnancy at 1st ANC contact</td>
|
|
96
|
+
<td>{moh711Data.adolesc_10_14}</td>
|
|
97
|
+
</tr>
|
|
98
|
+
<tr>
|
|
99
|
+
<td>16</td>
|
|
100
|
+
<td colSpan={2}>No. of adolescents (15-19 years) presenting with pregnancy at 1st ANC contact</td>
|
|
101
|
+
<td>{moh711Data.adolesc_15_19}</td>
|
|
102
|
+
</tr>
|
|
103
|
+
<tr>
|
|
104
|
+
<td>17</td>
|
|
105
|
+
<td colSpan={2}>No. of youth (20-24 years) presenting with pregnancy at 1st ANC contact</td>
|
|
106
|
+
<td>{moh711Data.youth_20_24}</td>
|
|
107
|
+
</tr>
|
|
108
|
+
<tr>
|
|
109
|
+
<td>18</td>
|
|
110
|
+
<td colSpan={2}>No. of clients issued with Iron</td>
|
|
111
|
+
<td>{moh711Data.iron}</td>
|
|
112
|
+
</tr>
|
|
113
|
+
<tr>
|
|
114
|
+
<td>19</td>
|
|
115
|
+
<td colSpan={2}>No. of clients issued with Folic</td>
|
|
116
|
+
<td>{moh711Data.folic}</td>
|
|
117
|
+
</tr>
|
|
118
|
+
<tr>
|
|
119
|
+
<td>20</td>
|
|
120
|
+
<td colSpan={2}>No. of clients issued with Combined Ferrous Folate</td>
|
|
121
|
+
<td>{moh711Data.iron_and_folate}</td>
|
|
122
|
+
</tr>
|
|
123
|
+
<tr>
|
|
124
|
+
<td>21</td>
|
|
125
|
+
<td colSpan={2}>No. of pregnant women presenting in ANC with complication associated with FGM</td>
|
|
126
|
+
<td>{moh711Data.fgm_complications}</td>
|
|
127
|
+
</tr>
|
|
128
|
+
</tbody>
|
|
129
|
+
</table>
|
|
130
|
+
</>
|
|
131
|
+
);
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
export default ANCComponent;
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
import styles from '../moh711.scss';
|
|
4
|
+
import classNames from 'classnames';
|
|
5
|
+
|
|
6
|
+
interface CervicalCancerComponentProps {
|
|
7
|
+
moh711Data: any;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
const CervicalCancerComponent: React.FC<CervicalCancerComponentProps> = ({ moh711Data }) => {
|
|
11
|
+
return (
|
|
12
|
+
<>
|
|
13
|
+
<table className={classNames(`${styles.table}`, `${styles.tableBordered}`, `${styles.tableStriped}`)}>
|
|
14
|
+
<thead>
|
|
15
|
+
<tr>
|
|
16
|
+
<th></th>
|
|
17
|
+
<th colSpan={4}>G. Cervical cancer screening</th>
|
|
18
|
+
</tr>
|
|
19
|
+
<tr>
|
|
20
|
+
<th></th>
|
|
21
|
+
<th className={styles.greyBackground}></th>
|
|
22
|
+
<th><25 yrs</th>
|
|
23
|
+
<th>25-49 Years</th>
|
|
24
|
+
<th>50+yrs</th>
|
|
25
|
+
</tr>
|
|
26
|
+
</thead>
|
|
27
|
+
<tbody>
|
|
28
|
+
<tr>
|
|
29
|
+
<td>1</td>
|
|
30
|
+
<td>No. of Clients receiving VIA/VILI/HPV VILI/HPV</td>
|
|
31
|
+
<td>{moh711Data.via_villi_hpv_less_25}</td>
|
|
32
|
+
<td>{moh711Data.via_villi_hpv_25_49}</td>
|
|
33
|
+
<td>{moh711Data.via_villi_hpv_50_above}</td>
|
|
34
|
+
</tr>
|
|
35
|
+
<tr>
|
|
36
|
+
<td>2</td>
|
|
37
|
+
<td>No. screened for Pap smear</td>
|
|
38
|
+
<td>{moh711Data.pap_smear_less_25}</td>
|
|
39
|
+
<td>{moh711Data.pap_smear_25_49}</td>
|
|
40
|
+
<td>{moh711Data.pap_smear_50_above}</td>
|
|
41
|
+
</tr>
|
|
42
|
+
<tr>
|
|
43
|
+
<td>3</td>
|
|
44
|
+
<td>No. screend for HPV test</td>
|
|
45
|
+
<td>{moh711Data.hpv_test_less_25}</td>
|
|
46
|
+
<td>{moh711Data.hpv_test_25_49}</td>
|
|
47
|
+
<td>{moh711Data.hpv_test_50_above}</td>
|
|
48
|
+
</tr>
|
|
49
|
+
<tr>
|
|
50
|
+
<td>4</td>
|
|
51
|
+
<td>No. of clients with Positive VIA/VILI results</td>
|
|
52
|
+
<td>{moh711Data.positive_via_villi_less_25}</td>
|
|
53
|
+
<td>{moh711Data.positive_via_villi_25_49}</td>
|
|
54
|
+
<td>{moh711Data.positive_via_villi_50_above}</td>
|
|
55
|
+
</tr>
|
|
56
|
+
<tr>
|
|
57
|
+
<td>5</td>
|
|
58
|
+
<td>No. of clients with Positive Cytology result</td>
|
|
59
|
+
<td>{moh711Data.positive_cytology_less_25}</td>
|
|
60
|
+
<td>{moh711Data.positive_cytology_25_49}</td>
|
|
61
|
+
<td>{moh711Data.positive_cytology_50_above}</td>
|
|
62
|
+
</tr>
|
|
63
|
+
<tr>
|
|
64
|
+
<td>6</td>
|
|
65
|
+
<td>No. of clients with Positive HPV results</td>
|
|
66
|
+
<td>{moh711Data.positive_hpv_less_25}</td>
|
|
67
|
+
<td>{moh711Data.positive_hpv_25_49}</td>
|
|
68
|
+
<td>{moh711Data.positive_hpv_50_above}</td>
|
|
69
|
+
</tr>
|
|
70
|
+
<tr>
|
|
71
|
+
<td>7</td>
|
|
72
|
+
<td>No. of clients with suspicious cancer lessions</td>
|
|
73
|
+
<td>{moh711Data.suspicious_cancer_lessions_less_25}</td>
|
|
74
|
+
<td>{moh711Data.suspicious_cancer_lessions_25_49}</td>
|
|
75
|
+
<td>{moh711Data.suspicious_cancer_lessions_50_above}</td>
|
|
76
|
+
</tr>
|
|
77
|
+
<tr>
|
|
78
|
+
<td>8</td>
|
|
79
|
+
<td>No. of clients treated using Cryotherapy</td>
|
|
80
|
+
<td>{moh711Data.cryotherapy_treatment_less_25}</td>
|
|
81
|
+
<td>{moh711Data.cryotherapy_treatment_25_49}</td>
|
|
82
|
+
<td>{moh711Data.cryotherapy_treatment_50_above}</td>
|
|
83
|
+
</tr>
|
|
84
|
+
<tr>
|
|
85
|
+
<td>9</td>
|
|
86
|
+
<td>No. of clients treated using LEEP</td>
|
|
87
|
+
<td>{moh711Data.leep_treatment_less_25}</td>
|
|
88
|
+
<td>{moh711Data.leep_treatment_25_49}</td>
|
|
89
|
+
<td>{moh711Data.leep_treatment_50_above}</td>
|
|
90
|
+
</tr>
|
|
91
|
+
<tr>
|
|
92
|
+
<td>10</td>
|
|
93
|
+
<td>No of HIV positive clients screened</td>
|
|
94
|
+
<td>{moh711Data.hiv_positive_screened_cervical_cancer_less_25}</td>
|
|
95
|
+
<td>{moh711Data.hiv_positive_screened_cervical_cancer_25_49}</td>
|
|
96
|
+
<td>{moh711Data.hiv_positive_screened_cervical_cancer_50_above}</td>
|
|
97
|
+
</tr>
|
|
98
|
+
</tbody>
|
|
99
|
+
</table>
|
|
100
|
+
</>
|
|
101
|
+
);
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
export default CervicalCancerComponent;
|