@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.
Files changed (183) hide show
  1. package/dist/143.css +1 -0
  2. package/dist/143.css.map +1 -0
  3. package/dist/143.js +1 -0
  4. package/dist/143.js.map +1 -0
  5. package/dist/197.js +1 -1
  6. package/dist/282.js +1 -1
  7. package/dist/282.js.map +1 -1
  8. package/dist/295.css +1 -0
  9. package/dist/295.css.map +1 -0
  10. package/dist/295.js +1 -0
  11. package/dist/295.js.map +1 -0
  12. package/dist/300.js +1 -1
  13. package/dist/311.js +1 -1
  14. package/dist/311.js.map +1 -1
  15. package/dist/335.js +1 -1
  16. package/dist/353.js +1 -1
  17. package/dist/353.js.map +1 -1
  18. package/dist/410.js +1 -0
  19. package/dist/410.js.map +1 -0
  20. package/dist/427.js +2 -0
  21. package/dist/427.js.LICENSE.txt +35 -0
  22. package/dist/427.js.map +1 -0
  23. package/dist/441.js +1 -0
  24. package/dist/441.js.map +1 -0
  25. package/dist/478.js +1 -1
  26. package/dist/478.js.map +1 -1
  27. package/dist/540.js +1 -1
  28. package/dist/540.js.map +1 -1
  29. package/dist/55.js +1 -1
  30. package/dist/652.js +1 -1
  31. package/dist/961.js +1 -1
  32. package/dist/961.js.map +1 -1
  33. package/dist/99.js +1 -1
  34. package/dist/ampath-esm-reports-app.js +1 -1
  35. package/dist/ampath-esm-reports-app.js.map +1 -1
  36. package/dist/routes.json +1 -1
  37. package/package.json +2 -2
  38. package/src/common/report-error/index.ts +1 -0
  39. package/src/common/report-error/show-report-error.ts +25 -0
  40. package/src/common/report-filters/date-range.ts +137 -0
  41. package/src/common/report-filters/index.ts +4 -0
  42. package/src/common/report-filters/report-filters.component.tsx +281 -151
  43. package/src/common/report-filters/report-filters.scss +180 -55
  44. package/src/common/report-filters/types.ts +66 -0
  45. package/src/common/report-filters/use-restore-period.ts +43 -0
  46. package/src/common/report-page/index.ts +2 -0
  47. package/src/common/report-page/report-page.component.tsx +32 -0
  48. package/src/common/report-page/report-page.scss +45 -0
  49. package/src/common/report-page/use-page-scale.ts +50 -0
  50. package/src/common/report-placeholder/has-report-data.ts +15 -0
  51. package/src/common/report-placeholder/index.ts +2 -0
  52. package/src/common/report-placeholder/report-placeholder.component.tsx +56 -0
  53. package/src/common/report-placeholder/report-placeholder.scss +46 -0
  54. package/src/common/report-register/index.ts +5 -0
  55. package/src/common/report-register/register-columns.ts +34 -0
  56. package/src/common/report-register/register-layout.component.tsx +237 -0
  57. package/src/common/report-register/register-layout.scss +140 -0
  58. package/src/common/report-register/register-table.scss +62 -0
  59. package/src/common/report-register/report-parents.ts +27 -0
  60. package/src/common/report-register/rows-to-csv.ts +59 -0
  61. package/src/common/report-register/use-patient-list.ts +92 -0
  62. package/src/common/report-skeleton/index.ts +1 -0
  63. package/src/common/report-skeleton/report-skeleton.component.tsx +46 -0
  64. package/src/common/report-skeleton/report-skeleton.scss +29 -0
  65. package/src/config-schema.ts +9 -1
  66. package/src/dashboard/report-catalog.ts +173 -0
  67. package/src/dashboard/reports-dasboard.tsx +101 -35
  68. package/src/dashboard/reports-dashboard.module.scss +269 -11
  69. package/src/index.ts +13 -1
  70. package/src/reports/datatable-wrapper/datatable-wrapper.component.tsx +50 -48
  71. package/src/reports/moh-240/moh-240-header.component.tsx +54 -56
  72. package/src/reports/moh-240/moh-240.columns.ts +64 -0
  73. package/src/reports/moh-240/moh-240.component.tsx +65 -84
  74. package/src/reports/moh-240/moh-240.scss +36 -7
  75. package/src/reports/moh-240/sub-reports/moh-240-register.component.tsx +27 -65
  76. package/src/reports/moh-240/sub-reports/page-summary.component.tsx +2 -2
  77. package/src/reports/moh-505/moh-505-header.component.tsx +59 -57
  78. package/src/reports/moh-505/moh-505.component.tsx +51 -56
  79. package/src/reports/moh-505/moh-505.scss +116 -2
  80. package/src/reports/moh-705B/moh-204b-register.component.tsx +41 -42
  81. package/src/reports/moh-705B/moh-204b.columns.ts +39 -0
  82. package/src/reports/moh-705B/moh-705b.component.tsx +492 -473
  83. package/src/reports/moh-705B/moh-705b.scss +110 -24
  84. package/src/reports/moh-705a/moh-705a.component.tsx +496 -476
  85. package/src/reports/moh-705a/moh-705a.scss +109 -24
  86. package/src/reports/moh-705a/registers/moh-204a-register.component.tsx +41 -42
  87. package/src/reports/moh-705a/registers/moh-204a.columns.ts +57 -0
  88. package/src/reports/moh-706/moh-706-header.component.tsx +58 -56
  89. package/src/reports/moh-706/moh-706.component.tsx +84 -55
  90. package/src/reports/moh-706/moh-706.scss +115 -19
  91. package/src/reports/moh-710/moh-710.component.tsx +743 -727
  92. package/src/reports/moh-710/moh-710.scss +140 -23
  93. package/src/reports/moh-710/registers/moh-511-710-register.component.tsx +48 -43
  94. package/src/reports/moh-710/registers/moh-511-710.columns.ts +52 -0
  95. package/src/reports/moh-711/moh-711.component.tsx +94 -106
  96. package/src/reports/moh-711/moh711.scss +95 -64
  97. package/src/reports/moh-711/registers/moh-333-register.component.tsx +92 -94
  98. package/src/reports/moh-711/registers/moh-333.columns.ts +119 -0
  99. package/src/reports/moh-711/registers/moh-405-register.component.tsx +88 -89
  100. package/src/reports/moh-711/registers/moh-405.columns.ts +120 -0
  101. package/src/reports/moh-711/registers/moh-406-register.component.tsx +85 -88
  102. package/src/reports/moh-711/registers/moh-406.columns.ts +133 -0
  103. package/src/reports/moh-711/registers/moh-510-register.component.tsx +38 -44
  104. package/src/reports/moh-711/registers/moh-511-register.component.tsx +42 -43
  105. package/src/reports/moh-711/registers/moh-511.columns.ts +59 -0
  106. package/src/reports/moh-711/sections/anc.component.tsx +3 -3
  107. package/src/reports/moh-711/sections/cervical-cancer.component.tsx +3 -3
  108. package/src/reports/moh-711/sections/chanis.component.tsx +2 -3
  109. package/src/reports/moh-711/sections/family-planning.component.tsx +2 -2
  110. package/src/reports/moh-711/sections/gbv.component.tsx +2 -2
  111. package/src/reports/moh-711/sections/maternity.component.tsx +3 -8
  112. package/src/reports/moh-711/sections/medical-social-work.component.tsx +2 -12
  113. package/src/reports/moh-711/sections/other.component.tsx +2 -2
  114. package/src/reports/moh-711/sections/physiotherapy.component.tsx +2 -2
  115. package/src/reports/moh-711/sections/pnc.component.tsx +7 -5
  116. package/src/reports/moh-711/sections/post-abortion.component.tsx +2 -2
  117. package/src/reports/moh-711/sections/rehabilitation.component.tsx +2 -2
  118. package/src/reports/moh-711/sections/report-compiled-by.component.tsx +12 -4
  119. package/src/reports/moh-711/sections/tb-screening.component.tsx +2 -2
  120. package/src/reports/moh-717/moh-717.component.tsx +100 -121
  121. package/src/reports/moh-717/moh717.scss +163 -102
  122. package/src/reports/moh-717/sections/maternity.component.tsx +1 -1
  123. package/src/reports/moh-717/sections/orthopaedic-trauma.component.tsx +1 -1
  124. package/src/reports/moh-717/sections/outpatient.component.tsx +23 -23
  125. package/src/reports/moh-717/sections/preparedby.component.tsx +7 -2
  126. package/src/reports/moh-717/sections/special-services.component.tsx +1 -1
  127. package/src/reports/moh-731/moh-731.component.tsx +127 -110
  128. package/src/reports/moh-731/moh-731.scss +396 -68
  129. package/src/reports/moh-731/registers/moh-366.columns.ts +38 -0
  130. package/src/reports/moh-731/registers/moh-366.component.tsx +76 -83
  131. package/src/reports/moh-731/registers/prep-register.component.tsx +70 -78
  132. package/src/reports/moh-731/registers/prep.columns.ts +34 -0
  133. package/src/reports/moh-731/sections/hiv-and-tb-treatment.component.tsx +1031 -751
  134. package/src/reports/moh-731/sections/hiv-testing-and-pre-exposure.component.tsx +230 -86
  135. package/src/reports/moh-731/sections/pmtct.component.tsx +185 -64
  136. package/src/reports/moh-740/moh-740.component.scss +159 -79
  137. package/src/reports/moh-740/moh-740.component.tsx +261 -230
  138. package/src/reports/moh-740/moh-740.resource.ts +17 -10
  139. package/src/reports/moh-740/registers/moh-222-daily-register/moh-222-daily-register.tsx +77 -96
  140. package/src/reports/moh-740/registers/moh-270-permanent-register/moh-270-permanent-register.tsx +50 -70
  141. package/src/reports/moh-740/registers/moh-740-patient-list.tsx +61 -32
  142. package/src/reports/moh-740/registers/moh-740.columns.ts +52 -0
  143. package/src/reports/moh-740/shared/utils/indicator-register-map.ts +3 -3
  144. package/src/reports/moh-740/types/index.ts +3 -3
  145. package/src/reports/moh-745/moh-745.component.tsx +897 -877
  146. package/src/reports/moh-745/moh-745.scss +104 -46
  147. package/src/reports/moh-745/registers/moh-412-register.component.tsx +42 -43
  148. package/src/reports/moh-745/registers/moh-412.columns.ts +52 -0
  149. package/src/reports/table-wrapper/table-wrapper.component.tsx +23 -14
  150. package/src/reports/table-wrapper/table-wrapper.scss +1 -16
  151. package/src/resources/moh-505.resource.ts +18 -35
  152. package/src/resources/moh-705.resource.ts +28 -39
  153. package/src/resources/moh-706.resource.ts +17 -30
  154. package/src/resources/moh-710.resource.ts +7 -17
  155. package/src/resources/moh-711.resource.ts +46 -64
  156. package/src/resources/moh-717.resource.ts +7 -17
  157. package/src/resources/moh-731.resource.ts +26 -32
  158. package/src/resources/moh-745.resource.ts +18 -20
  159. package/src/resources/patient-list-page.ts +66 -0
  160. package/src/root.component.tsx +28 -26
  161. package/src/root.scss +36 -0
  162. package/src/utils/get-base-url.ts +39 -7
  163. package/tsconfig.json +1 -1
  164. package/dist/110.js +0 -1
  165. package/dist/110.js.map +0 -1
  166. package/dist/184.js +0 -2
  167. package/dist/184.js.LICENSE.txt +0 -14
  168. package/dist/184.js.map +0 -1
  169. package/dist/205.js +0 -1
  170. package/dist/205.js.map +0 -1
  171. package/dist/812.js +0 -1
  172. package/dist/812.js.map +0 -1
  173. package/dist/822.js +0 -2
  174. package/dist/822.js.LICENSE.txt +0 -20
  175. package/dist/822.js.map +0 -1
  176. package/dist/ampath-esm-reports-app.js.buildmanifest.json +0 -560
  177. package/dist/main.js +0 -1
  178. package/dist/main.js.map +0 -1
  179. package/src/reports/moh-731/registers/moh-366.scss +0 -45
  180. package/src/reports/moh-731/registers/prep-registers.scss +0 -45
  181. package/src/reports/moh-740/registers/moh-222-daily-register/moh-222-daily-register.scss +0 -18
  182. package/src/reports/moh-740/registers/moh-270-permanent-register/moh-270-permanent-register.scss +0 -18
  183. /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
- h3 {
3
- text-align: center;
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
- .container {
7
- margin: 0 2rem;
8
- padding: 1rem;
27
+ .mainTitleBox {
28
+ width: 100%;
29
+ padding: $gap;
30
+ text-align: center;
31
+ border: $rule;
9
32
  }
10
33
 
11
- .tableContainer {
12
- margin-left: 1rem;
13
- margin-bottom: 1rem;
34
+ .mainTitle {
35
+ margin: 0;
36
+ font-size: $meta;
37
+ font-weight: 400;
14
38
  }
15
39
 
16
- .sectionTitle {
17
- margin-left: 1rem ;
40
+ .subTitle {
41
+ margin: 1mm 0 0;
42
+ font-size: $title;
43
+ font-weight: 700;
44
+ color: $ink;
18
45
  }
19
46
 
20
- .title {
21
- text-align: center;
22
- font-size: 1rem;
23
- margin: 1rem;
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: auto;
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
- border: 1px solid black;
34
- padding: 0.3rem;
35
- font-size: small;
120
+ padding: 1mm 1.5mm;
121
+ font-size: $text;
122
+ border: $rule;
36
123
  }
37
124
 
38
125
  .tableBordered th {
39
- font-weight: bold;
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
- font-weight: bold;
51
- color: #0437F2;
135
+ font-weight: 700;
136
+ color: $ink;
137
+ background-color: #e8e8e8;
52
138
  }
53
139
 
54
- .alighnLeft {
55
- text-align: left;
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
- .sectionContainer {
66
- margin: 2rem 0;
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
- // gap: 1rem;
166
+ grid-template-areas: 'left right';
167
+ }
70
168
 
71
- grid-template-areas:
72
- "left right";
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
- "left"
116
- "right";
205
+ 'left'
206
+ 'right';
117
207
  }
118
- }
119
-
120
- .preparedByContainer {
121
- margin: 2rem 0;
122
- }
123
-
124
-
125
208
 
126
-
127
- .line {
128
- display: inline-block;
129
- width: 150px;
130
- border-bottom: 1px solid #000;
131
- margin-left: 4px;
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
- .buttonContainer {
146
- margin: 1rem;
218
+ .preparedByContainer {
219
+ margin: 0;
220
+ break-inside: avoid;
221
+ page-break-inside: avoid;
147
222
  }
148
223
 
149
- .headerContainer {
150
- display: flex;
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
- .mainTitleBox {
158
- border: 2px solid #000;
159
- padding: 10px;
160
- text-align: center;
161
- width: 100%;
227
+ .locationContainer > span {
228
+ font-weight: 700;
162
229
  }
163
230
 
164
- .mainTitle {
165
- margin: 0;
166
- }
231
+ /* On paper the striping is screen affordance that prints as grey noise */
167
232
 
168
- .subTitle {
169
- margin: 5px 0;
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}>&gt;5 Years</th>
19
19
  </tr>
20
20
  <tr>
21
- <th className={styles.alighnLeft}>Description</th>
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-register?startDate=${startDate}&endDate=${endDate}&locationUuids=${locationUuids}&indicator=${indicator}`,
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-register?startDate=${startDate}&endDate=${endDate}&locationUuids=${locationUuids}&indicator=${indicator}`,
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.alighnLeft}>
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.alighnLeft}>
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.alighnLeft}>
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.alighnLeft}>
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.alighnLeft}>
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.alighnLeft}>
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.alighnLeft}>
568
+ <th colSpan={2} className={styles.alignLeft}>
569
569
  A.7 MEDICAL EXAMINATIONS (except p3)
570
570
  </th>
571
- <th className={styles.alighnLeft}>{moh717ReportData.medical_examinations_except_p3}</th>
572
- <th className={styles.alighnLeft}>A.10 REMOVAL OF STITCHES</th>
573
- <th className={styles.alighnLeft}>{moh717ReportData.opd_removal_of_stitches}</th>
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.alighnLeft}>
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.alighnLeft}>{moh717ReportData.opd_medical_reports}</th>
580
- <th className={styles.alighnLeft}>A.12 INJECTIONS</th>
581
- <th className={styles.alighnLeft}>{moh717ReportData.opd_injections_given}</th>
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.alighnLeft}>
584
+ <th colSpan={2} className={styles.alignLeft}>
585
585
  A.9 DRESSINGS
586
586
  </th>
587
- <th className={styles.alighnLeft}>{moh717ReportData.opd_dressing_done}</th>
588
- <th className={styles.alighnLeft}>A.12 STITCHING</th>
589
- <th className={styles.totalighnLeftals}>{moh717ReportData.opd_stitching}</th>
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></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.alighnLeft}`)}>
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>