@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
|
@@ -1,176 +1,237 @@
|
|
|
1
|
+
/* MOH-717 laid out for A4, on the same scale as the other reports.
|
|
1
2
|
|
|
2
|
-
|
|
3
|
-
|
|
3
|
+
Unlike the single-table reports this one is a mosaic: a full-width outpatient
|
|
4
|
+
block, then a two-column and a three-column band. The grids are kept; only the
|
|
5
|
+
scale changes, so the sheet still reads as one form rather than a stack of
|
|
6
|
+
unrelated tables. */
|
|
7
|
+
|
|
8
|
+
$ink: #000;
|
|
9
|
+
$rule: 1px solid $ink;
|
|
10
|
+
|
|
11
|
+
$text: 7pt;
|
|
12
|
+
$title: 7.5pt;
|
|
13
|
+
$meta: 6.5pt;
|
|
14
|
+
|
|
15
|
+
$gap: 3mm;
|
|
16
|
+
|
|
17
|
+
/* Masthead. The location fields sit inside the box, as they do on the printed
|
|
18
|
+
form, rather than on a strip below it. */
|
|
19
|
+
|
|
20
|
+
.headerContainer {
|
|
21
|
+
display: flex;
|
|
22
|
+
align-items: flex-start;
|
|
23
|
+
width: 100%;
|
|
24
|
+
margin: 0 0 $gap;
|
|
4
25
|
}
|
|
5
26
|
|
|
6
|
-
.
|
|
7
|
-
|
|
8
|
-
|
|
27
|
+
.mainTitleBox {
|
|
28
|
+
width: 100%;
|
|
29
|
+
padding: $gap;
|
|
30
|
+
text-align: center;
|
|
31
|
+
border: $rule;
|
|
9
32
|
}
|
|
10
33
|
|
|
11
|
-
.
|
|
12
|
-
|
|
13
|
-
|
|
34
|
+
.mainTitle {
|
|
35
|
+
margin: 0;
|
|
36
|
+
font-size: $meta;
|
|
37
|
+
font-weight: 400;
|
|
14
38
|
}
|
|
15
39
|
|
|
16
|
-
.
|
|
17
|
-
|
|
40
|
+
.subTitle {
|
|
41
|
+
margin: 1mm 0 0;
|
|
42
|
+
font-size: $title;
|
|
43
|
+
font-weight: 700;
|
|
44
|
+
color: $ink;
|
|
18
45
|
}
|
|
19
46
|
|
|
20
|
-
.
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
47
|
+
/* One line of fields. Each field is itself a flex box so its label and rule
|
|
48
|
+
cannot be split apart, and the rules carry the flex so the row compresses to
|
|
49
|
+
whatever width is left instead of overflowing and breaking. */
|
|
50
|
+
|
|
51
|
+
.locationContainer {
|
|
52
|
+
display: flex;
|
|
53
|
+
flex-wrap: nowrap;
|
|
54
|
+
align-items: baseline;
|
|
55
|
+
justify-content: space-between;
|
|
56
|
+
gap: 2.5mm;
|
|
57
|
+
margin-top: 2.5mm;
|
|
58
|
+
font-size: $meta;
|
|
59
|
+
white-space: nowrap;
|
|
60
|
+
|
|
61
|
+
> span {
|
|
62
|
+
display: flex;
|
|
63
|
+
flex: 1 1 auto;
|
|
64
|
+
align-items: baseline;
|
|
65
|
+
min-width: 0;
|
|
66
|
+
white-space: nowrap;
|
|
67
|
+
}
|
|
24
68
|
}
|
|
69
|
+
|
|
70
|
+
/* These carry the facility and period once a report is generated, so they need
|
|
71
|
+
to hold text on the rule rather than only draw it. */
|
|
72
|
+
|
|
73
|
+
.line,
|
|
74
|
+
.shortLine {
|
|
75
|
+
padding: 0 0.5mm;
|
|
76
|
+
margin-left: 1mm;
|
|
77
|
+
overflow: hidden;
|
|
78
|
+
font-weight: 600;
|
|
79
|
+
text-align: center;
|
|
80
|
+
text-overflow: ellipsis;
|
|
81
|
+
border-bottom: $rule;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.line {
|
|
85
|
+
flex: 1 1 30mm;
|
|
86
|
+
min-width: 12mm;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.shortLine {
|
|
90
|
+
flex: 1 1 18mm;
|
|
91
|
+
min-width: 10mm;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.container {
|
|
95
|
+
margin: 0;
|
|
96
|
+
padding: 0;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/* A block of the form. Kept off a page break so a table is never split from the
|
|
100
|
+
heading row that names its columns. */
|
|
101
|
+
|
|
102
|
+
.section {
|
|
103
|
+
margin: 0 0 $gap;
|
|
104
|
+
break-inside: avoid;
|
|
105
|
+
page-break-inside: avoid;
|
|
106
|
+
|
|
107
|
+
&:last-child {
|
|
108
|
+
margin-bottom: 0;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
25
112
|
.table {
|
|
26
|
-
width:
|
|
113
|
+
width: 100%;
|
|
114
|
+
table-layout: auto;
|
|
27
115
|
border-collapse: collapse;
|
|
28
|
-
|
|
29
116
|
}
|
|
30
117
|
|
|
31
118
|
.tableBordered td,
|
|
32
119
|
.tableBordered th {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
120
|
+
padding: 1mm 1.5mm;
|
|
121
|
+
font-size: $text;
|
|
122
|
+
border: $rule;
|
|
36
123
|
}
|
|
37
124
|
|
|
38
125
|
.tableBordered th {
|
|
39
|
-
|
|
40
|
-
|
|
126
|
+
font-weight: 700;
|
|
127
|
+
background-color: #f4f4f4;
|
|
128
|
+
}
|
|
41
129
|
|
|
42
130
|
.tableStriped tbody tr:nth-of-type(odd) {
|
|
43
131
|
background-color: #f9f9f9;
|
|
44
132
|
}
|
|
45
|
-
.greyBackground {
|
|
46
|
-
background-color: #ccc;
|
|
47
|
-
}
|
|
48
133
|
|
|
49
134
|
.totals {
|
|
50
|
-
|
|
51
|
-
|
|
135
|
+
font-weight: 700;
|
|
136
|
+
color: $ink;
|
|
137
|
+
background-color: #e8e8e8;
|
|
52
138
|
}
|
|
53
139
|
|
|
54
|
-
.
|
|
55
|
-
|
|
140
|
+
.alignLeft {
|
|
141
|
+
text-align: left;
|
|
56
142
|
}
|
|
57
143
|
|
|
144
|
+
/* The inpatient block turns its column headings on their side to fit */
|
|
145
|
+
|
|
58
146
|
.rotateUp {
|
|
59
|
-
writing-mode: vertical-rl;
|
|
60
|
-
transform: rotate(180deg);
|
|
61
|
-
text-align: center;
|
|
62
147
|
white-space: nowrap;
|
|
148
|
+
text-align: center;
|
|
149
|
+
writing-mode: vertical-rl;
|
|
150
|
+
transform: rotate(180deg);
|
|
63
151
|
}
|
|
64
152
|
|
|
65
|
-
.
|
|
66
|
-
|
|
153
|
+
/* Two- and three-column bands. Their gap matches the gap between sections, so
|
|
154
|
+
the whole sheet is on one rhythm. */
|
|
155
|
+
|
|
156
|
+
.sectionContainer,
|
|
157
|
+
.sectionTwoContainer {
|
|
67
158
|
display: grid;
|
|
159
|
+
gap: $gap;
|
|
160
|
+
align-items: start;
|
|
161
|
+
margin: 0 0 $gap;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
.sectionContainer {
|
|
68
165
|
grid-template-columns: 1fr 1fr;
|
|
69
|
-
|
|
166
|
+
grid-template-areas: 'left right';
|
|
167
|
+
}
|
|
70
168
|
|
|
71
|
-
|
|
72
|
-
|
|
169
|
+
.sectionTwoContainer {
|
|
170
|
+
grid-template-columns: 1fr 1fr 1fr;
|
|
171
|
+
grid-template-areas: 'one two three';
|
|
73
172
|
}
|
|
74
173
|
|
|
75
174
|
.left {
|
|
76
175
|
grid-area: left;
|
|
176
|
+
min-width: 0;
|
|
77
177
|
}
|
|
78
178
|
|
|
79
179
|
.right {
|
|
80
180
|
grid-area: right;
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
.section{
|
|
84
|
-
margin: 2rem 0;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
.sectionTwoContainer {
|
|
88
|
-
margin: 2rem 0;
|
|
89
|
-
display: grid;
|
|
90
|
-
grid-template-columns: 1fr 1fr 1fr;
|
|
91
|
-
gap: 1rem;
|
|
92
|
-
padding: 0 2rem;
|
|
93
|
-
grid-template-areas:
|
|
94
|
-
"one two three";
|
|
181
|
+
min-width: 0;
|
|
95
182
|
}
|
|
96
183
|
|
|
97
184
|
.one {
|
|
98
185
|
grid-area: one;
|
|
186
|
+
min-width: 0;
|
|
99
187
|
}
|
|
100
188
|
|
|
101
189
|
.two {
|
|
102
190
|
grid-area: two;
|
|
191
|
+
min-width: 0;
|
|
103
192
|
}
|
|
104
193
|
|
|
105
194
|
.three {
|
|
106
195
|
grid-area: three;
|
|
196
|
+
min-width: 0;
|
|
107
197
|
}
|
|
108
198
|
|
|
199
|
+
/* Stack on small screens */
|
|
109
200
|
|
|
110
|
-
/* 📱 Stack on small screens */
|
|
111
201
|
@media (max-width: 768px) {
|
|
112
202
|
.sectionContainer {
|
|
113
203
|
grid-template-columns: 1fr;
|
|
114
204
|
grid-template-areas:
|
|
115
|
-
|
|
116
|
-
|
|
205
|
+
'left'
|
|
206
|
+
'right';
|
|
117
207
|
}
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
.preparedByContainer {
|
|
121
|
-
margin: 2rem 0;
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
|
|
125
208
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
.shortLine {
|
|
135
|
-
display: inline-block;
|
|
136
|
-
width: 90px;
|
|
137
|
-
border-bottom: 1px solid #000;
|
|
138
|
-
margin-left: 4px;
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
span {
|
|
142
|
-
font-weight: bold;
|
|
209
|
+
.sectionTwoContainer {
|
|
210
|
+
grid-template-columns: 1fr;
|
|
211
|
+
grid-template-areas:
|
|
212
|
+
'one'
|
|
213
|
+
'two'
|
|
214
|
+
'three';
|
|
215
|
+
}
|
|
143
216
|
}
|
|
144
217
|
|
|
145
|
-
.
|
|
146
|
-
|
|
218
|
+
.preparedByContainer {
|
|
219
|
+
margin: 0;
|
|
220
|
+
break-inside: avoid;
|
|
221
|
+
page-break-inside: avoid;
|
|
147
222
|
}
|
|
148
223
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
justify-content: space-between;
|
|
152
|
-
align-items: flex-start;
|
|
153
|
-
margin-bottom: 10px;
|
|
154
|
-
margin: 2rem;
|
|
155
|
-
}
|
|
224
|
+
/* Scoped: as a bare selector this bolded every span in the application,
|
|
225
|
+
including other reports' indicator codes and the filter bar. */
|
|
156
226
|
|
|
157
|
-
.
|
|
158
|
-
|
|
159
|
-
padding: 10px;
|
|
160
|
-
text-align: center;
|
|
161
|
-
width: 100%;
|
|
227
|
+
.locationContainer > span {
|
|
228
|
+
font-weight: 700;
|
|
162
229
|
}
|
|
163
230
|
|
|
164
|
-
|
|
165
|
-
margin: 0;
|
|
166
|
-
}
|
|
231
|
+
/* On paper the striping is screen affordance that prints as grey noise */
|
|
167
232
|
|
|
168
|
-
|
|
169
|
-
|
|
233
|
+
@media print {
|
|
234
|
+
.tableStriped tbody tr:nth-of-type(odd) {
|
|
235
|
+
background-color: transparent;
|
|
236
|
+
}
|
|
170
237
|
}
|
|
171
|
-
|
|
172
|
-
.locationContainer {
|
|
173
|
-
display: flex;
|
|
174
|
-
margin: 1rem;
|
|
175
|
-
justify-content: space-evenly;
|
|
176
|
-
}
|
|
@@ -21,7 +21,7 @@ const MaternityComponent: React.FC<MaternityComponentProps> = ({
|
|
|
21
21
|
const location = useLocation();
|
|
22
22
|
const navigateToRegister = (indicator: string | string[]) => {
|
|
23
23
|
navigate(
|
|
24
|
-
`/moh-333-register?startDate=${startDate}&endDate=${endDate}&locationUuids=${locationUuids}&indicator=${indicator}`,
|
|
24
|
+
`/moh-333-register?startDate=${startDate}&endDate=${endDate}&locationUuids=${locationUuids}&indicator=${indicator}&from=moh-717`,
|
|
25
25
|
{
|
|
26
26
|
state: {
|
|
27
27
|
from: location.pathname,
|
|
@@ -18,7 +18,7 @@ const OrthopaedicTraumaComponent: React.FC<OrthopaedicTraumaComponentProps> = ({
|
|
|
18
18
|
<th colSpan={2}>>5 Years</th>
|
|
19
19
|
</tr>
|
|
20
20
|
<tr>
|
|
21
|
-
<th className={styles.
|
|
21
|
+
<th className={styles.alignLeft}>Description</th>
|
|
22
22
|
<th>New</th>
|
|
23
23
|
<th>Revisit</th>
|
|
24
24
|
<th>New</th>
|
|
@@ -22,17 +22,17 @@ const OutpatientComponent: React.FC<OutpatientComponentProps> = ({
|
|
|
22
22
|
|
|
23
23
|
const navigateTo204ARegister = (indicator: string | string[]) => {
|
|
24
24
|
navigate(
|
|
25
|
-
`/moh-204a
|
|
25
|
+
`/moh-204a?startDate=${startDate}&endDate=${endDate}&locationUuids=${locationUuids}&indicator=${indicator}&from=moh-717`,
|
|
26
26
|
);
|
|
27
27
|
};
|
|
28
28
|
const navigateTo204BRegister = (indicator: string | string[]) => {
|
|
29
29
|
navigate(
|
|
30
|
-
`/moh-204b
|
|
30
|
+
`/moh-204b?startDate=${startDate}&endDate=${endDate}&locationUuids=${locationUuids}&indicator=${indicator}&from=moh-717`,
|
|
31
31
|
);
|
|
32
32
|
};
|
|
33
33
|
const navigateToMoh405Register = (indicator: string | string[]) => {
|
|
34
34
|
navigate(
|
|
35
|
-
`/moh-405-register?startDate=${startDate}&endDate=${endDate}&locationUuids=${locationUuids}&indicator=${indicator}`,
|
|
35
|
+
`/moh-405-register?startDate=${startDate}&endDate=${endDate}&locationUuids=${locationUuids}&indicator=${indicator}&from=moh-717`,
|
|
36
36
|
{
|
|
37
37
|
state: {
|
|
38
38
|
from: location.pathname,
|
|
@@ -43,7 +43,7 @@ const OutpatientComponent: React.FC<OutpatientComponentProps> = ({
|
|
|
43
43
|
};
|
|
44
44
|
const navigateToMoh406Register = (indicator: string | string[]) => {
|
|
45
45
|
navigate(
|
|
46
|
-
`/moh-406-register?startDate=${startDate}&endDate=${endDate}&locationUuids=${locationUuids}&indicator=${indicator}`,
|
|
46
|
+
`/moh-406-register?startDate=${startDate}&endDate=${endDate}&locationUuids=${locationUuids}&indicator=${indicator}&from=moh-717`,
|
|
47
47
|
{
|
|
48
48
|
state: {
|
|
49
49
|
from: location.pathname,
|
|
@@ -54,7 +54,7 @@ const OutpatientComponent: React.FC<OutpatientComponentProps> = ({
|
|
|
54
54
|
};
|
|
55
55
|
const navigateTo511Register = (indicator: string | string[]) => {
|
|
56
56
|
navigate(
|
|
57
|
-
`/moh-511-register?startDate=${startDate}&endDate=${endDate}&locationUuids=${locationUuids}&indicator=${indicator}`,
|
|
57
|
+
`/moh-511-register?startDate=${startDate}&endDate=${endDate}&locationUuids=${locationUuids}&indicator=${indicator}&from=moh-717`,
|
|
58
58
|
{
|
|
59
59
|
state: {
|
|
60
60
|
from: location.pathname,
|
|
@@ -68,12 +68,12 @@ const OutpatientComponent: React.FC<OutpatientComponentProps> = ({
|
|
|
68
68
|
<table className={classNames(`${styles.table}`, `${styles.tableBordered}`, `${styles.tableStriped}`)}>
|
|
69
69
|
<thead>
|
|
70
70
|
<tr>
|
|
71
|
-
<th colSpan={5} className={styles.
|
|
71
|
+
<th colSpan={5} className={styles.alignLeft}>
|
|
72
72
|
A. OUTPATIENT SERVICES
|
|
73
73
|
</th>
|
|
74
74
|
</tr>
|
|
75
75
|
<tr>
|
|
76
|
-
<th colSpan={2} className={styles.
|
|
76
|
+
<th colSpan={2} className={styles.alignLeft}>
|
|
77
77
|
A.1 GENERAL OUTPATIENTS(FILTER CLINICS)
|
|
78
78
|
</th>
|
|
79
79
|
<th>NEW</th>
|
|
@@ -205,7 +205,7 @@ const OutpatientComponent: React.FC<OutpatientComponentProps> = ({
|
|
|
205
205
|
</td>
|
|
206
206
|
</tr>
|
|
207
207
|
<tr>
|
|
208
|
-
<th colSpan={2} className={styles.
|
|
208
|
+
<th colSpan={2} className={styles.alignLeft}>
|
|
209
209
|
A.2 CASUALTY
|
|
210
210
|
</th>
|
|
211
211
|
<th></th>
|
|
@@ -213,7 +213,7 @@ const OutpatientComponent: React.FC<OutpatientComponentProps> = ({
|
|
|
213
213
|
<th></th>
|
|
214
214
|
</tr>
|
|
215
215
|
<tr>
|
|
216
|
-
<th colSpan={3} className={styles.
|
|
216
|
+
<th colSpan={3} className={styles.alignLeft}>
|
|
217
217
|
A.3 SPECIAL CLINICS(if recorded separately from General Filter Clinics)
|
|
218
218
|
</th>
|
|
219
219
|
<th></th>
|
|
@@ -431,7 +431,7 @@ const OutpatientComponent: React.FC<OutpatientComponentProps> = ({
|
|
|
431
431
|
</td>
|
|
432
432
|
</tr>
|
|
433
433
|
<tr>
|
|
434
|
-
<th colSpan={2} className={styles.
|
|
434
|
+
<th colSpan={2} className={styles.alignLeft}>
|
|
435
435
|
A.4 MCH/FP CLIENTS
|
|
436
436
|
</th>
|
|
437
437
|
<th></th>
|
|
@@ -501,7 +501,7 @@ const OutpatientComponent: React.FC<OutpatientComponentProps> = ({
|
|
|
501
501
|
</td>
|
|
502
502
|
</tr>
|
|
503
503
|
<tr>
|
|
504
|
-
<th colSpan={2} className={styles.
|
|
504
|
+
<th colSpan={2} className={styles.alignLeft}>
|
|
505
505
|
A.5 DENTAL CLINIC
|
|
506
506
|
</th>
|
|
507
507
|
<th></th>
|
|
@@ -565,28 +565,28 @@ const OutpatientComponent: React.FC<OutpatientComponentProps> = ({
|
|
|
565
565
|
<th className={styles.totals}></th>
|
|
566
566
|
</tr>
|
|
567
567
|
<tr>
|
|
568
|
-
<th colSpan={2} className={styles.
|
|
568
|
+
<th colSpan={2} className={styles.alignLeft}>
|
|
569
569
|
A.7 MEDICAL EXAMINATIONS (except p3)
|
|
570
570
|
</th>
|
|
571
|
-
<th className={styles.
|
|
572
|
-
<th className={styles.
|
|
573
|
-
<th className={styles.
|
|
571
|
+
<th className={styles.alignLeft}>{moh717ReportData.medical_examinations_except_p3}</th>
|
|
572
|
+
<th className={styles.alignLeft}>A.10 REMOVAL OF STITCHES</th>
|
|
573
|
+
<th className={styles.alignLeft}>{moh717ReportData.opd_removal_of_stitches}</th>
|
|
574
574
|
</tr>
|
|
575
575
|
<tr>
|
|
576
|
-
<th colSpan={2} className={styles.
|
|
576
|
+
<th colSpan={2} className={styles.alignLeft}>
|
|
577
577
|
A.8 MEDICAL REPORTS (incl. p3, compensation, insurance, etc.)
|
|
578
578
|
</th>
|
|
579
|
-
<th className={styles.
|
|
580
|
-
<th className={styles.
|
|
581
|
-
<th className={styles.
|
|
579
|
+
<th className={styles.alignLeft}>{moh717ReportData.opd_medical_reports}</th>
|
|
580
|
+
<th className={styles.alignLeft}>A.12 INJECTIONS</th>
|
|
581
|
+
<th className={styles.alignLeft}>{moh717ReportData.opd_injections_given}</th>
|
|
582
582
|
</tr>
|
|
583
583
|
<tr>
|
|
584
|
-
<th colSpan={2} className={styles.
|
|
584
|
+
<th colSpan={2} className={styles.alignLeft}>
|
|
585
585
|
A.9 DRESSINGS
|
|
586
586
|
</th>
|
|
587
|
-
<th className={styles.
|
|
588
|
-
<th className={styles.
|
|
589
|
-
<th className={styles.
|
|
587
|
+
<th className={styles.alignLeft}>{moh717ReportData.opd_dressing_done}</th>
|
|
588
|
+
<th className={styles.alignLeft}>A.12 STITCHING</th>
|
|
589
|
+
<th className={styles.alignLeft}>{moh717ReportData.opd_stitching}</th>
|
|
590
590
|
</tr>
|
|
591
591
|
</tbody>
|
|
592
592
|
</table>
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { formatDate, useSession } from '@openmrs/esm-framework';
|
|
2
3
|
|
|
3
4
|
import styles from '../moh717.scss';
|
|
4
5
|
import classNames from 'classnames';
|
|
5
6
|
|
|
6
7
|
const PreparedbyComponent: React.FC = () => {
|
|
8
|
+
const session = useSession();
|
|
9
|
+
const preparedBy = session?.user?.person?.display ?? session?.user?.display ?? '';
|
|
10
|
+
const preparedOn = formatDate(new Date(), { mode: 'standard', time: false, noToday: true });
|
|
11
|
+
|
|
7
12
|
return (
|
|
8
13
|
<>
|
|
9
14
|
<table className={classNames(`${styles.table}`, `${styles.tableBordered}`, `${styles.tableStriped}`)}>
|
|
@@ -19,9 +24,9 @@ const PreparedbyComponent: React.FC = () => {
|
|
|
19
24
|
<tbody>
|
|
20
25
|
<tr>
|
|
21
26
|
<td>Prepared by:</td>
|
|
27
|
+
<td>{preparedBy}</td>
|
|
22
28
|
<td></td>
|
|
23
|
-
<td
|
|
24
|
-
<td></td>
|
|
29
|
+
<td>{preparedOn}</td>
|
|
25
30
|
<td></td>
|
|
26
31
|
</tr>
|
|
27
32
|
<tr>
|
|
@@ -13,7 +13,7 @@ const SpecialServicesComponent: React.FC<SpecialServicesComponentProps> = ({ moh
|
|
|
13
13
|
<table className={classNames(`${styles.table}`, `${styles.tableBordered}`, `${styles.tableStriped}`)}>
|
|
14
14
|
<thead>
|
|
15
15
|
<tr>
|
|
16
|
-
<th colSpan={6} className={classNames(`${styles.totals} ${styles.
|
|
16
|
+
<th colSpan={6} className={classNames(`${styles.totals} ${styles.alignLeft}`)}>
|
|
17
17
|
C.SPECIAL SERVICES (includes both inpatients and outpatients)
|
|
18
18
|
</th>
|
|
19
19
|
</tr>
|