@ampath/esm-reports-app 1.0.0-next.41 → 1.0.0-next.45
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/143.css +1 -0
- package/dist/143.css.map +1 -0
- package/dist/143.js +1 -0
- package/dist/143.js.map +1 -0
- package/dist/197.js +1 -1
- package/dist/282.js +1 -1
- package/dist/282.js.map +1 -1
- package/dist/295.css +1 -0
- package/dist/295.css.map +1 -0
- package/dist/295.js +1 -0
- package/dist/295.js.map +1 -0
- package/dist/300.js +1 -1
- package/dist/311.js +1 -1
- package/dist/311.js.map +1 -1
- package/dist/335.js +1 -1
- package/dist/353.js +1 -1
- package/dist/353.js.map +1 -1
- package/dist/410.js +1 -0
- package/dist/410.js.map +1 -0
- package/dist/427.js +2 -0
- package/dist/427.js.LICENSE.txt +35 -0
- package/dist/427.js.map +1 -0
- package/dist/441.js +1 -0
- package/dist/441.js.map +1 -0
- package/dist/478.js +1 -1
- package/dist/478.js.map +1 -1
- package/dist/540.js +1 -1
- package/dist/540.js.map +1 -1
- package/dist/55.js +1 -1
- package/dist/652.js +1 -1
- package/dist/961.js +1 -1
- package/dist/961.js.map +1 -1
- package/dist/99.js +1 -1
- package/dist/ampath-esm-reports-app.js +1 -1
- package/dist/ampath-esm-reports-app.js.map +1 -1
- package/dist/routes.json +1 -1
- package/package.json +2 -2
- package/src/common/report-error/index.ts +1 -0
- package/src/common/report-error/show-report-error.ts +25 -0
- package/src/common/report-filters/date-range.ts +137 -0
- package/src/common/report-filters/index.ts +4 -0
- package/src/common/report-filters/report-filters.component.tsx +281 -151
- package/src/common/report-filters/report-filters.scss +180 -55
- package/src/common/report-filters/types.ts +66 -0
- package/src/common/report-filters/use-restore-period.ts +43 -0
- package/src/common/report-page/index.ts +2 -0
- package/src/common/report-page/report-page.component.tsx +32 -0
- package/src/common/report-page/report-page.scss +45 -0
- package/src/common/report-page/use-page-scale.ts +50 -0
- package/src/common/report-placeholder/has-report-data.ts +15 -0
- package/src/common/report-placeholder/index.ts +2 -0
- package/src/common/report-placeholder/report-placeholder.component.tsx +56 -0
- package/src/common/report-placeholder/report-placeholder.scss +46 -0
- package/src/common/report-register/index.ts +5 -0
- package/src/common/report-register/register-columns.ts +34 -0
- package/src/common/report-register/register-layout.component.tsx +237 -0
- package/src/common/report-register/register-layout.scss +140 -0
- package/src/common/report-register/register-table.scss +62 -0
- package/src/common/report-register/report-parents.ts +27 -0
- package/src/common/report-register/rows-to-csv.ts +59 -0
- package/src/common/report-register/use-patient-list.ts +92 -0
- package/src/common/report-skeleton/index.ts +1 -0
- package/src/common/report-skeleton/report-skeleton.component.tsx +46 -0
- package/src/common/report-skeleton/report-skeleton.scss +29 -0
- package/src/config-schema.ts +9 -1
- package/src/dashboard/report-catalog.ts +173 -0
- package/src/dashboard/reports-dasboard.tsx +101 -35
- package/src/dashboard/reports-dashboard.module.scss +269 -11
- package/src/index.ts +13 -1
- package/src/reports/datatable-wrapper/datatable-wrapper.component.tsx +50 -48
- package/src/reports/moh-240/moh-240-header.component.tsx +54 -56
- package/src/reports/moh-240/moh-240.columns.ts +64 -0
- package/src/reports/moh-240/moh-240.component.tsx +65 -84
- package/src/reports/moh-240/moh-240.scss +36 -7
- package/src/reports/moh-240/sub-reports/moh-240-register.component.tsx +27 -65
- package/src/reports/moh-240/sub-reports/page-summary.component.tsx +2 -2
- package/src/reports/moh-505/moh-505-header.component.tsx +59 -57
- package/src/reports/moh-505/moh-505.component.tsx +51 -56
- package/src/reports/moh-505/moh-505.scss +116 -2
- package/src/reports/moh-705B/moh-204b-register.component.tsx +41 -42
- package/src/reports/moh-705B/moh-204b.columns.ts +39 -0
- package/src/reports/moh-705B/moh-705b.component.tsx +492 -473
- package/src/reports/moh-705B/moh-705b.scss +110 -24
- package/src/reports/moh-705a/moh-705a.component.tsx +496 -476
- package/src/reports/moh-705a/moh-705a.scss +109 -24
- package/src/reports/moh-705a/registers/moh-204a-register.component.tsx +41 -42
- package/src/reports/moh-705a/registers/moh-204a.columns.ts +57 -0
- package/src/reports/moh-706/moh-706-header.component.tsx +58 -56
- package/src/reports/moh-706/moh-706.component.tsx +84 -55
- package/src/reports/moh-706/moh-706.scss +115 -19
- package/src/reports/moh-710/moh-710.component.tsx +743 -727
- package/src/reports/moh-710/moh-710.scss +140 -23
- package/src/reports/moh-710/registers/moh-511-710-register.component.tsx +48 -43
- package/src/reports/moh-710/registers/moh-511-710.columns.ts +52 -0
- package/src/reports/moh-711/moh-711.component.tsx +94 -106
- package/src/reports/moh-711/moh711.scss +95 -64
- package/src/reports/moh-711/registers/moh-333-register.component.tsx +92 -94
- package/src/reports/moh-711/registers/moh-333.columns.ts +119 -0
- package/src/reports/moh-711/registers/moh-405-register.component.tsx +88 -89
- package/src/reports/moh-711/registers/moh-405.columns.ts +120 -0
- package/src/reports/moh-711/registers/moh-406-register.component.tsx +85 -88
- package/src/reports/moh-711/registers/moh-406.columns.ts +133 -0
- package/src/reports/moh-711/registers/moh-510-register.component.tsx +38 -44
- package/src/reports/moh-711/registers/moh-511-register.component.tsx +42 -43
- package/src/reports/moh-711/registers/moh-511.columns.ts +59 -0
- package/src/reports/moh-711/sections/anc.component.tsx +3 -3
- package/src/reports/moh-711/sections/cervical-cancer.component.tsx +3 -3
- package/src/reports/moh-711/sections/chanis.component.tsx +2 -3
- package/src/reports/moh-711/sections/family-planning.component.tsx +2 -2
- package/src/reports/moh-711/sections/gbv.component.tsx +2 -2
- package/src/reports/moh-711/sections/maternity.component.tsx +3 -8
- package/src/reports/moh-711/sections/medical-social-work.component.tsx +2 -12
- package/src/reports/moh-711/sections/other.component.tsx +2 -2
- package/src/reports/moh-711/sections/physiotherapy.component.tsx +2 -2
- package/src/reports/moh-711/sections/pnc.component.tsx +7 -5
- package/src/reports/moh-711/sections/post-abortion.component.tsx +2 -2
- package/src/reports/moh-711/sections/rehabilitation.component.tsx +2 -2
- package/src/reports/moh-711/sections/report-compiled-by.component.tsx +12 -4
- package/src/reports/moh-711/sections/tb-screening.component.tsx +2 -2
- package/src/reports/moh-717/moh-717.component.tsx +100 -121
- package/src/reports/moh-717/moh717.scss +163 -102
- package/src/reports/moh-717/sections/maternity.component.tsx +1 -1
- package/src/reports/moh-717/sections/orthopaedic-trauma.component.tsx +1 -1
- package/src/reports/moh-717/sections/outpatient.component.tsx +23 -23
- package/src/reports/moh-717/sections/preparedby.component.tsx +7 -2
- package/src/reports/moh-717/sections/special-services.component.tsx +1 -1
- package/src/reports/moh-731/moh-731.component.tsx +127 -110
- package/src/reports/moh-731/moh-731.scss +396 -68
- package/src/reports/moh-731/registers/moh-366.columns.ts +38 -0
- package/src/reports/moh-731/registers/moh-366.component.tsx +76 -83
- package/src/reports/moh-731/registers/prep-register.component.tsx +70 -78
- package/src/reports/moh-731/registers/prep.columns.ts +34 -0
- package/src/reports/moh-731/sections/hiv-and-tb-treatment.component.tsx +1031 -751
- package/src/reports/moh-731/sections/hiv-testing-and-pre-exposure.component.tsx +230 -86
- package/src/reports/moh-731/sections/pmtct.component.tsx +185 -64
- package/src/reports/moh-740/moh-740.component.scss +159 -79
- package/src/reports/moh-740/moh-740.component.tsx +261 -230
- package/src/reports/moh-740/moh-740.resource.ts +17 -10
- package/src/reports/moh-740/registers/moh-222-daily-register/moh-222-daily-register.tsx +77 -96
- package/src/reports/moh-740/registers/moh-270-permanent-register/moh-270-permanent-register.tsx +50 -70
- package/src/reports/moh-740/registers/moh-740-patient-list.tsx +61 -32
- package/src/reports/moh-740/registers/moh-740.columns.ts +52 -0
- package/src/reports/moh-740/shared/utils/indicator-register-map.ts +3 -3
- package/src/reports/moh-740/types/index.ts +3 -3
- package/src/reports/moh-745/moh-745.component.tsx +897 -877
- package/src/reports/moh-745/moh-745.scss +104 -46
- package/src/reports/moh-745/registers/moh-412-register.component.tsx +42 -43
- package/src/reports/moh-745/registers/moh-412.columns.ts +52 -0
- package/src/reports/table-wrapper/table-wrapper.component.tsx +23 -14
- package/src/reports/table-wrapper/table-wrapper.scss +1 -16
- package/src/resources/moh-505.resource.ts +18 -35
- package/src/resources/moh-705.resource.ts +28 -39
- package/src/resources/moh-706.resource.ts +17 -30
- package/src/resources/moh-710.resource.ts +7 -17
- package/src/resources/moh-711.resource.ts +46 -64
- package/src/resources/moh-717.resource.ts +7 -17
- package/src/resources/moh-731.resource.ts +26 -32
- package/src/resources/moh-745.resource.ts +18 -20
- package/src/resources/patient-list-page.ts +66 -0
- package/src/root.component.tsx +28 -26
- package/src/root.scss +36 -0
- package/src/utils/get-base-url.ts +39 -7
- package/tsconfig.json +1 -1
- package/dist/110.js +0 -1
- package/dist/110.js.map +0 -1
- package/dist/184.js +0 -2
- package/dist/184.js.LICENSE.txt +0 -14
- package/dist/184.js.map +0 -1
- package/dist/205.js +0 -1
- package/dist/205.js.map +0 -1
- package/dist/812.js +0 -1
- package/dist/812.js.map +0 -1
- package/dist/822.js +0 -2
- package/dist/822.js.LICENSE.txt +0 -20
- package/dist/822.js.map +0 -1
- package/dist/ampath-esm-reports-app.js.buildmanifest.json +0 -560
- package/dist/main.js +0 -1
- package/dist/main.js.map +0 -1
- package/src/reports/moh-731/registers/moh-366.scss +0 -45
- package/src/reports/moh-731/registers/prep-registers.scss +0 -45
- package/src/reports/moh-740/registers/moh-222-daily-register/moh-222-daily-register.scss +0 -18
- package/src/reports/moh-740/registers/moh-270-permanent-register/moh-270-permanent-register.scss +0 -18
- /package/src/{reports/moh-740/shared/utils → utils}/format-indicator.ts +0 -0
|
@@ -9,7 +9,7 @@ interface PostAbortionProps {
|
|
|
9
9
|
|
|
10
10
|
const PostAbortion: React.FC<PostAbortionProps> = ({ moh711Data }) => {
|
|
11
11
|
return (
|
|
12
|
-
|
|
12
|
+
<div className={styles.section}>
|
|
13
13
|
<table className={classNames(`${styles.table}`, `${styles.tableBordered}`, `${styles.tableStriped}`)}>
|
|
14
14
|
<thead>
|
|
15
15
|
<tr>
|
|
@@ -35,7 +35,7 @@ const PostAbortion: React.FC<PostAbortionProps> = ({ moh711Data }) => {
|
|
|
35
35
|
</tr>
|
|
36
36
|
</tbody>
|
|
37
37
|
</table>
|
|
38
|
-
|
|
38
|
+
</div>
|
|
39
39
|
);
|
|
40
40
|
};
|
|
41
41
|
|
|
@@ -9,7 +9,7 @@ interface RehabilitationComponentProps {
|
|
|
9
9
|
|
|
10
10
|
const RehabilitationComponent: React.FC<RehabilitationComponentProps> = ({ moh711Data }) => {
|
|
11
11
|
return (
|
|
12
|
-
|
|
12
|
+
<div className={styles.section}>
|
|
13
13
|
<table className={classNames(`${styles.table}`, `${styles.tableBordered}`, `${styles.tableStriped}`)}>
|
|
14
14
|
<thead>
|
|
15
15
|
<tr>
|
|
@@ -50,7 +50,7 @@ const RehabilitationComponent: React.FC<RehabilitationComponentProps> = ({ moh71
|
|
|
50
50
|
</tr>
|
|
51
51
|
</tbody>
|
|
52
52
|
</table>
|
|
53
|
-
|
|
53
|
+
</div>
|
|
54
54
|
);
|
|
55
55
|
};
|
|
56
56
|
|
|
@@ -2,10 +2,18 @@ import React from 'react';
|
|
|
2
2
|
|
|
3
3
|
import styles from '../moh711.scss';
|
|
4
4
|
import classNames from 'classnames';
|
|
5
|
+
import { formatDate, useSession } from '@openmrs/esm-framework';
|
|
5
6
|
|
|
6
7
|
const ReportCompiledByComponent: React.FC = () => {
|
|
8
|
+
const session = useSession();
|
|
9
|
+
|
|
10
|
+
/* Who produced the return and when. Designation and signature stay blank --
|
|
11
|
+
those are signed by hand on the printed form. */
|
|
12
|
+
const compiledBy = session?.user?.person?.display ?? session?.user?.display ?? '';
|
|
13
|
+
const compiledOn = formatDate(new Date(), { mode: 'standard', time: false, noToday: true });
|
|
14
|
+
|
|
7
15
|
return (
|
|
8
|
-
|
|
16
|
+
<div className={styles.section}>
|
|
9
17
|
<table className={classNames(`${styles.table}`, `${styles.tableBordered}`, `${styles.tableStriped}`)}>
|
|
10
18
|
<thead>
|
|
11
19
|
<tr>
|
|
@@ -16,7 +24,7 @@ const ReportCompiledByComponent: React.FC = () => {
|
|
|
16
24
|
<tr>
|
|
17
25
|
<td></td>
|
|
18
26
|
<td>Name:</td>
|
|
19
|
-
<td className={styles.compiledBy}
|
|
27
|
+
<td className={styles.compiledBy}>{compiledBy}</td>
|
|
20
28
|
</tr>
|
|
21
29
|
<tr>
|
|
22
30
|
<td></td>
|
|
@@ -26,7 +34,7 @@ const ReportCompiledByComponent: React.FC = () => {
|
|
|
26
34
|
<tr>
|
|
27
35
|
<td></td>
|
|
28
36
|
<td>Date:</td>
|
|
29
|
-
<td
|
|
37
|
+
<td className={styles.compiledBy}>{compiledOn}</td>
|
|
30
38
|
</tr>
|
|
31
39
|
<tr>
|
|
32
40
|
<td></td>
|
|
@@ -35,7 +43,7 @@ const ReportCompiledByComponent: React.FC = () => {
|
|
|
35
43
|
</tr>
|
|
36
44
|
</tbody>
|
|
37
45
|
</table>
|
|
38
|
-
|
|
46
|
+
</div>
|
|
39
47
|
);
|
|
40
48
|
};
|
|
41
49
|
|
|
@@ -9,7 +9,7 @@ interface TBScreeningProps {
|
|
|
9
9
|
|
|
10
10
|
const TBScreeningComponent: React.FC<TBScreeningProps> = ({ moh711Data }) => {
|
|
11
11
|
return (
|
|
12
|
-
|
|
12
|
+
<div className={styles.section}>
|
|
13
13
|
<table className={classNames(`${styles.table}`, `${styles.tableBordered}`, `${styles.tableStriped}`)}>
|
|
14
14
|
<thead>
|
|
15
15
|
<tr>
|
|
@@ -50,7 +50,7 @@ const TBScreeningComponent: React.FC<TBScreeningProps> = ({ moh711Data }) => {
|
|
|
50
50
|
</tr>
|
|
51
51
|
</tbody>
|
|
52
52
|
</table>
|
|
53
|
-
|
|
53
|
+
</div>
|
|
54
54
|
);
|
|
55
55
|
};
|
|
56
56
|
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import React, { useEffect, useState } from 'react';
|
|
2
|
-
import ReportFiltersComponent from '../../common/report-filters
|
|
2
|
+
import { ReportFiltersComponent, type ReportPeriod } from '../../common/report-filters';
|
|
3
|
+
import { showReportError } from '../../common/report-error';
|
|
4
|
+
import { hasReportData, ReportPlaceholder } from '../../common/report-placeholder';
|
|
3
5
|
|
|
4
6
|
import styles from './moh717.scss';
|
|
5
7
|
import classNames from 'classnames';
|
|
6
8
|
import { useSession } from '@openmrs/esm-framework';
|
|
9
|
+
import dayjs from 'dayjs';
|
|
7
10
|
import { getMoh717 } from '../../resources/moh-717.resource';
|
|
8
|
-
import { Loading } from '@carbon/react';
|
|
9
11
|
import OutpatientComponent from './sections/outpatient.component';
|
|
10
12
|
import InpatientComponent from './sections/inpatient.component';
|
|
11
13
|
import MaternityComponent from './sections/maternity.component';
|
|
@@ -17,14 +19,15 @@ import MortuaryComponent from './sections/mortuary.component';
|
|
|
17
19
|
import MedicalRecordsComponent from './sections/medical-records.component';
|
|
18
20
|
import FinanceComponent from './sections/finance.component';
|
|
19
21
|
import PreparedbyComponent from './sections/preparedby.component';
|
|
20
|
-
import {
|
|
22
|
+
import { ReportSkeleton } from '../../common/report-skeleton';
|
|
23
|
+
import { ReportPage } from '../../common/report-page';
|
|
21
24
|
|
|
22
25
|
const Moh717Report: React.FC = () => {
|
|
23
|
-
let errorMessage: string = '';
|
|
24
26
|
const [moh717ReportData, setMoh717ReportData] = useState<any>(() => {
|
|
25
27
|
const saved = sessionStorage.getItem('moh717ReportData');
|
|
26
28
|
return saved ? JSON.parse(saved) : [];
|
|
27
29
|
});
|
|
30
|
+
const isReportGenerated = hasReportData(moh717ReportData);
|
|
28
31
|
const [isLoading, setIsLoading] = useState<boolean>(false);
|
|
29
32
|
const [startDate, setStartDate] = useState<string>(() => {
|
|
30
33
|
return sessionStorage.getItem('moh717StartDate') || '';
|
|
@@ -48,36 +51,15 @@ const Moh717Report: React.FC = () => {
|
|
|
48
51
|
const session = useSession();
|
|
49
52
|
const locationUuid = session?.sessionLocation?.uuid;
|
|
50
53
|
|
|
51
|
-
|
|
52
|
-
|
|
54
|
+
/* The masthead fills itself in, as on the other reports */
|
|
55
|
+
const facility = session?.sessionLocation?.display ?? '';
|
|
56
|
+
const reportMonth = startDate ? dayjs(startDate).format('MMMM') : '';
|
|
57
|
+
const reportYear = startDate ? dayjs(startDate).format('YYYY') : '';
|
|
53
58
|
|
|
54
|
-
|
|
55
|
-
const [year, monthIndex] = filters.month.split('-').map(Number);
|
|
56
|
-
|
|
57
|
-
const start = new Date(year, monthIndex - 1, 1);
|
|
58
|
-
const end = new Date(year, monthIndex, 0);
|
|
59
|
-
|
|
60
|
-
const formatLocalDate = (d: Date) => {
|
|
61
|
-
const y = d.getFullYear();
|
|
62
|
-
const m = String(d.getMonth() + 1).padStart(2, '0');
|
|
63
|
-
const day = String(d.getDate()).padStart(2, '0');
|
|
64
|
-
return `${y}-${m}-${day}`;
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
sDate = formatLocalDate(start);
|
|
68
|
-
eDate = formatLocalDate(end);
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
setStartDate(sDate || '');
|
|
72
|
-
setEndDate(eDate || '');
|
|
73
|
-
|
|
74
|
-
return { startDate: sDate, endDate: eDate };
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
const fetchMoh717ReportData = async (filters: { startDate?: string; endDate?: string; month?: string }) => {
|
|
59
|
+
const fetchMoh717ReportData = async ({ startDate, endDate }: ReportPeriod) => {
|
|
78
60
|
setIsLoading(true);
|
|
79
|
-
|
|
80
|
-
|
|
61
|
+
setStartDate(startDate);
|
|
62
|
+
setEndDate(endDate);
|
|
81
63
|
|
|
82
64
|
const params = {
|
|
83
65
|
locationUuids: locationUuid || '',
|
|
@@ -91,107 +73,104 @@ const Moh717Report: React.FC = () => {
|
|
|
91
73
|
setIsLoading(false);
|
|
92
74
|
} catch (error) {
|
|
93
75
|
setIsLoading(false);
|
|
94
|
-
|
|
95
|
-
throw new Error(`Failed to fetch MOH-717 report data: ${error instanceof Error ? error.message : String(error)}`);
|
|
76
|
+
showReportError('the MOH-717 report', error);
|
|
96
77
|
}
|
|
97
78
|
};
|
|
98
79
|
return (
|
|
99
80
|
<>
|
|
100
81
|
<ReportFiltersComponent
|
|
101
82
|
reportName="MOH-717 Report"
|
|
102
|
-
mode="
|
|
83
|
+
mode="both"
|
|
103
84
|
onGenerate={fetchMoh717ReportData}
|
|
104
|
-
|
|
85
|
+
isLoading={isLoading}
|
|
86
|
+
isReportGenerated={isReportGenerated}
|
|
87
|
+
generatedPeriod={{ startDate, endDate }}
|
|
105
88
|
/>
|
|
106
|
-
{isLoading && <
|
|
107
|
-
{!isLoading &&
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
<
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
</
|
|
137
|
-
</div>
|
|
138
|
-
<div className={styles.locationContainer}>
|
|
139
|
-
<span>
|
|
140
|
-
Month: <span className={styles.shortLine}></span>
|
|
141
|
-
</span>
|
|
142
|
-
<span>
|
|
143
|
-
Year: <span className={styles.shortLine}></span>
|
|
144
|
-
</span>
|
|
145
|
-
<span>
|
|
146
|
-
KMHFL Code: <span className={styles.shortLine}></span>
|
|
147
|
-
</span>
|
|
148
|
-
</div>
|
|
149
|
-
</div>
|
|
150
|
-
</div>
|
|
151
|
-
<div className={styles.container}>
|
|
152
|
-
<div className={styles.section}>
|
|
153
|
-
<OutpatientComponent
|
|
154
|
-
moh717ReportData={moh717ReportData}
|
|
155
|
-
startDate={startDate}
|
|
156
|
-
endDate={endDate}
|
|
157
|
-
locationUuids={locationUuid!}
|
|
158
|
-
/>
|
|
159
|
-
</div>
|
|
160
|
-
<InpatientComponent moh717ReportData={moh717ReportData} />
|
|
161
|
-
<div className={styles.sectionContainer}>
|
|
162
|
-
<div className={styles.left}>
|
|
163
|
-
<MaternityComponent
|
|
164
|
-
moh717ReportData={moh717ReportData}
|
|
165
|
-
startDate={startDate}
|
|
166
|
-
endDate={endDate}
|
|
167
|
-
locationUuids={locationUuid!}
|
|
168
|
-
/>
|
|
89
|
+
{isLoading && <ReportSkeleton />}
|
|
90
|
+
{!isLoading && !isReportGenerated && <ReportPlaceholder reportName="MOH-717" />}
|
|
91
|
+
{!isLoading && isReportGenerated && (
|
|
92
|
+
<ReportPage>
|
|
93
|
+
<div className={styles.headerContainer}>
|
|
94
|
+
<div className={styles.mainTitleBox}>
|
|
95
|
+
<h2 className={styles.mainTitle}>Ministry of Health</h2>
|
|
96
|
+
<h3 className={styles.subTitle}>Monthly Service Workload Report for Health Facilities</h3>
|
|
97
|
+
<div className={styles.locationContainer}>
|
|
98
|
+
<span>
|
|
99
|
+
County: <span className={styles.shortLine}></span>
|
|
100
|
+
</span>
|
|
101
|
+
<span>
|
|
102
|
+
Sub-County: <span className={styles.shortLine}></span>
|
|
103
|
+
</span>
|
|
104
|
+
<span>
|
|
105
|
+
Health Facility: <span className={styles.line}>{facility}</span>
|
|
106
|
+
</span>
|
|
107
|
+
</div>
|
|
108
|
+
<div className={styles.locationContainer}>
|
|
109
|
+
<span>
|
|
110
|
+
Month: <span className={styles.shortLine}>{reportMonth}</span>
|
|
111
|
+
</span>
|
|
112
|
+
<span>
|
|
113
|
+
Year: <span className={styles.shortLine}>{reportYear}</span>
|
|
114
|
+
</span>
|
|
115
|
+
<span>
|
|
116
|
+
KMHFL Code: <span className={styles.shortLine}></span>
|
|
117
|
+
</span>
|
|
118
|
+
</div>
|
|
119
|
+
</div>
|
|
169
120
|
</div>
|
|
170
|
-
<div className={styles.
|
|
171
|
-
<OperationsComponent moh717ReportData={moh717ReportData} />
|
|
121
|
+
<div className={styles.container}>
|
|
172
122
|
<div className={styles.section}>
|
|
173
|
-
<
|
|
123
|
+
<OutpatientComponent
|
|
124
|
+
moh717ReportData={moh717ReportData}
|
|
125
|
+
startDate={startDate}
|
|
126
|
+
endDate={endDate}
|
|
127
|
+
locationUuids={locationUuid!}
|
|
128
|
+
/>
|
|
129
|
+
</div>
|
|
130
|
+
<div className={styles.section}>
|
|
131
|
+
<InpatientComponent moh717ReportData={moh717ReportData} />
|
|
132
|
+
</div>
|
|
133
|
+
<div className={styles.sectionContainer}>
|
|
134
|
+
<div className={styles.left}>
|
|
135
|
+
<MaternityComponent
|
|
136
|
+
moh717ReportData={moh717ReportData}
|
|
137
|
+
startDate={startDate}
|
|
138
|
+
endDate={endDate}
|
|
139
|
+
locationUuids={locationUuid!}
|
|
140
|
+
/>
|
|
141
|
+
</div>
|
|
142
|
+
<div className={styles.right}>
|
|
143
|
+
<div className={styles.section}>
|
|
144
|
+
<OperationsComponent moh717ReportData={moh717ReportData} />
|
|
145
|
+
</div>
|
|
146
|
+
<div className={styles.section}>
|
|
147
|
+
<OrthopaedicTraumaComponent moh717ReportData={moh717ReportData} />
|
|
148
|
+
</div>
|
|
149
|
+
</div>
|
|
150
|
+
</div>
|
|
151
|
+
<div className={styles.section}>
|
|
152
|
+
<SpecialServicesComponent moh717ReportData={moh717ReportData} />
|
|
153
|
+
</div>
|
|
154
|
+
<div className={styles.sectionTwoContainer}>
|
|
155
|
+
<div className={styles.one}>
|
|
156
|
+
<PharmacyComponent moh717ReportData={moh717ReportData} />
|
|
157
|
+
</div>
|
|
158
|
+
<div className={styles.two}>
|
|
159
|
+
<MortuaryComponent moh717ReportData={moh717ReportData} />
|
|
160
|
+
</div>
|
|
161
|
+
<div className={styles.three}>
|
|
162
|
+
<MedicalRecordsComponent moh717ReportData={moh717ReportData} />
|
|
163
|
+
</div>
|
|
164
|
+
</div>
|
|
165
|
+
<div className={styles.section}>
|
|
166
|
+
<FinanceComponent moh717ReportData={moh717ReportData} />
|
|
167
|
+
</div>
|
|
168
|
+
<div className={styles.preparedByContainer}>
|
|
169
|
+
<PreparedbyComponent />
|
|
174
170
|
</div>
|
|
175
171
|
</div>
|
|
176
|
-
</
|
|
177
|
-
|
|
178
|
-
<div className={styles.sectionTwoContainer}>
|
|
179
|
-
<div className={styles.one}>
|
|
180
|
-
<PharmacyComponent moh717ReportData={moh717ReportData} />
|
|
181
|
-
</div>
|
|
182
|
-
<div className={styles.two}>
|
|
183
|
-
<MortuaryComponent moh717ReportData={moh717ReportData} />
|
|
184
|
-
</div>
|
|
185
|
-
<div className={styles.three}>
|
|
186
|
-
<MedicalRecordsComponent moh717ReportData={moh717ReportData} />
|
|
187
|
-
</div>
|
|
188
|
-
</div>
|
|
189
|
-
|
|
190
|
-
<FinanceComponent moh717ReportData={moh717ReportData} />
|
|
191
|
-
<div className={styles.preparedByContainer}>
|
|
192
|
-
<PreparedbyComponent />
|
|
193
|
-
</div>
|
|
194
|
-
</div>
|
|
172
|
+
</ReportPage>
|
|
173
|
+
)}
|
|
195
174
|
</>
|
|
196
175
|
);
|
|
197
176
|
};
|