@ampath/esm-reports-app 1.0.0-next.6 → 1.0.0-next.60

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 (229) hide show
  1. package/dist/197.js +1 -1
  2. package/dist/282.js +1 -1
  3. package/dist/282.js.map +1 -1
  4. package/dist/295.css +1 -0
  5. package/dist/295.css.map +1 -0
  6. package/dist/295.js +1 -0
  7. package/dist/295.js.map +1 -0
  8. package/dist/300.js +1 -1
  9. package/dist/311.js +1 -1
  10. package/dist/311.js.map +1 -1
  11. package/dist/335.js +1 -1
  12. package/dist/353.js +1 -1
  13. package/dist/353.js.map +1 -1
  14. package/dist/410.js +1 -0
  15. package/dist/410.js.map +1 -0
  16. package/dist/478.js +1 -1
  17. package/dist/478.js.map +1 -1
  18. package/dist/540.js +1 -1
  19. package/dist/540.js.map +1 -1
  20. package/dist/55.js +1 -1
  21. package/dist/580.js +1 -0
  22. package/dist/580.js.map +1 -0
  23. package/dist/652.js +1 -1
  24. package/dist/876.css +1 -0
  25. package/dist/876.css.map +1 -0
  26. package/dist/876.js +1 -0
  27. package/dist/876.js.map +1 -0
  28. package/dist/907.js +2 -0
  29. package/dist/907.js.LICENSE.txt +35 -0
  30. package/dist/907.js.map +1 -0
  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/daily-summary-table.tsx +55 -0
  39. package/src/common/linelist-table/index.ts +3 -0
  40. package/src/common/linelist-table/linelist-columns.ts +48 -0
  41. package/src/common/linelist-table/linelist-table.component.tsx +442 -0
  42. package/src/common/linelist-table/linelist-table.scss +306 -0
  43. package/src/common/linelist-table/linelist-table.test.tsx +120 -0
  44. package/src/common/linelist-table/use-all-rows.ts +93 -0
  45. package/src/common/linelist-table/use-column-layout.ts +123 -0
  46. package/src/common/report-error/index.ts +1 -0
  47. package/src/common/report-error/show-report-error.ts +25 -0
  48. package/src/common/report-filters/date-range.ts +137 -0
  49. package/src/common/report-filters/index.ts +4 -0
  50. package/src/common/report-filters/report-filters.component.tsx +297 -100
  51. package/src/common/report-filters/report-filters.scss +255 -32
  52. package/src/common/report-filters/types.ts +66 -0
  53. package/src/common/report-filters/use-restore-period.ts +43 -0
  54. package/src/common/report-header/index.ts +1 -0
  55. package/src/common/report-header/use-location-details.ts +58 -0
  56. package/src/common/report-page/index.ts +2 -0
  57. package/src/common/report-page/report-page.component.tsx +32 -0
  58. package/src/common/report-page/report-page.scss +45 -0
  59. package/src/common/report-page/use-page-scale.ts +60 -0
  60. package/src/common/report-placeholder/has-report-data.ts +15 -0
  61. package/src/common/report-placeholder/index.ts +3 -0
  62. package/src/common/report-placeholder/report-placeholder.component.tsx +81 -0
  63. package/src/common/report-placeholder/report-placeholder.scss +48 -0
  64. package/src/common/report-placeholder/use-generated-location.ts +62 -0
  65. package/src/common/report-register/index.ts +6 -0
  66. package/src/common/report-register/register-columns.ts +46 -0
  67. package/src/common/report-register/register-layout.component.tsx +265 -0
  68. package/src/common/report-register/register-layout.scss +150 -0
  69. package/src/common/report-register/register-table.scss +71 -0
  70. package/src/common/report-register/report-parents.ts +27 -0
  71. package/src/common/report-register/rows-to-csv.ts +89 -0
  72. package/src/common/report-register/use-location-name.ts +54 -0
  73. package/src/common/report-register/use-patient-list.ts +92 -0
  74. package/src/common/report-skeleton/index.ts +1 -0
  75. package/src/common/report-skeleton/report-skeleton.component.tsx +46 -0
  76. package/src/common/report-skeleton/report-skeleton.scss +29 -0
  77. package/src/config-schema.ts +9 -1
  78. package/src/dashboard/report-catalog.ts +173 -0
  79. package/src/dashboard/reports-dasboard.tsx +101 -17
  80. package/src/dashboard/reports-dashboard.module.scss +269 -11
  81. package/src/index.ts +13 -1
  82. package/src/reports/datatable-wrapper/datatable-wrapper.component.tsx +69 -0
  83. package/src/reports/moh-240/moh-240-header.component.tsx +62 -0
  84. package/src/reports/moh-240/moh-240.columns.ts +113 -0
  85. package/src/reports/moh-240/moh-240.component.tsx +75 -0
  86. package/src/reports/moh-240/moh-240.scss +40 -0
  87. package/src/reports/moh-240/sub-reports/moh-240-register.component.tsx +36 -0
  88. package/src/reports/moh-240/sub-reports/page-summary.component.tsx +148 -0
  89. package/src/reports/moh-505/moh-505-header.component.tsx +67 -0
  90. package/src/reports/moh-505/moh-505.component.tsx +441 -0
  91. package/src/reports/moh-505/moh-505.scss +117 -0
  92. package/src/reports/moh-705B/moh-204b-register.component.tsx +244 -0
  93. package/src/reports/moh-705B/moh-204b.columns.ts +39 -0
  94. package/src/reports/moh-705B/moh-705b.component.tsx +658 -0
  95. package/src/reports/moh-705B/moh-705b.scss +172 -0
  96. package/src/reports/moh-705a/moh-705a.component.tsx +660 -0
  97. package/src/reports/moh-705a/moh-705a.scss +172 -0
  98. package/src/reports/moh-705a/registers/moh-204a-register.component.tsx +329 -0
  99. package/src/reports/moh-705a/registers/moh-204a.columns.ts +57 -0
  100. package/src/reports/moh-705a/type.ts +6 -0
  101. package/src/reports/moh-706/moh-706-header.component.tsx +66 -0
  102. package/src/reports/moh-706/moh-706.component.tsx +150 -24
  103. package/src/reports/moh-706/moh-706.scss +119 -11
  104. package/src/reports/moh-706/sub-reports/bacteriology/bacteriology.component.tsx +36 -44
  105. package/src/reports/moh-706/sub-reports/blood-chemistry/blood-chemistry.component.tsx +232 -318
  106. package/src/reports/moh-706/sub-reports/drug-susceptibility-testing/drug-susceptibility-testing.component.tsx +32 -47
  107. package/src/reports/moh-706/sub-reports/haematology/haematology.component.tsx +44 -52
  108. package/src/reports/moh-706/sub-reports/histology-and-cytology/histology-and-cytology.component.tsx +25 -40
  109. package/src/reports/moh-706/sub-reports/parasitology/parasitology.component.tsx +31 -39
  110. package/src/reports/moh-706/sub-reports/serology/serology.component.tsx +26 -34
  111. package/src/reports/moh-706/sub-reports/specimen-referral-to-higher-levels/specimen-referral-to-higher-levels.component.tsx +10 -25
  112. package/src/reports/moh-706/sub-reports/urine-analysis/urine-analysis.component.tsx +42 -50
  113. package/src/reports/moh-710/moh-710.component.tsx +799 -632
  114. package/src/reports/moh-710/moh-710.scss +142 -21
  115. package/src/reports/moh-710/registers/moh-510/moh-510.columns.ts +40 -0
  116. package/src/reports/moh-710/registers/moh-510/moh-510.component.tsx +144 -0
  117. package/src/reports/moh-710/registers/moh-510/moh-510.scss +130 -0
  118. package/src/reports/moh-710/registers/moh-511-710-register.component.tsx +268 -0
  119. package/src/reports/moh-710/registers/moh-511-710.columns.ts +52 -0
  120. package/src/reports/moh-710/registers/type.ts +31 -0
  121. package/src/reports/moh-711/moh-711.component.tsx +138 -1269
  122. package/src/reports/moh-711/moh711.scss +135 -20
  123. package/src/reports/moh-711/registers/moh-333-register.component.tsx +637 -0
  124. package/src/reports/moh-711/registers/moh-333.columns.ts +119 -0
  125. package/src/reports/moh-711/registers/moh-405-register.component.tsx +520 -0
  126. package/src/reports/moh-711/registers/moh-405.columns.ts +120 -0
  127. package/src/reports/moh-711/registers/moh-406-register.component.tsx +530 -0
  128. package/src/reports/moh-711/registers/moh-406.columns.ts +133 -0
  129. package/src/reports/moh-711/registers/moh-510-register.component.tsx +55 -0
  130. package/src/reports/moh-711/registers/moh-511-register.component.tsx +270 -0
  131. package/src/reports/moh-711/registers/moh-511.columns.ts +59 -0
  132. package/src/reports/moh-711/registers/type.ts +192 -0
  133. package/src/reports/moh-711/sections/anc.component.tsx +159 -0
  134. package/src/reports/moh-711/sections/cervical-cancer.component.tsx +148 -0
  135. package/src/reports/moh-711/sections/chanis.component.tsx +366 -0
  136. package/src/reports/moh-711/sections/family-planning.component.tsx +221 -0
  137. package/src/reports/moh-711/sections/gbv.component.tsx +115 -0
  138. package/src/reports/moh-711/sections/maternity.component.tsx +321 -0
  139. package/src/reports/moh-711/sections/medical-social-work.component.tsx +73 -0
  140. package/src/reports/moh-711/sections/other.component.tsx +47 -0
  141. package/src/reports/moh-711/sections/physiotherapy.component.tsx +61 -0
  142. package/src/reports/moh-711/sections/pnc.component.tsx +127 -0
  143. package/src/reports/moh-711/sections/post-abortion.component.tsx +42 -0
  144. package/src/reports/moh-711/sections/rehabilitation.component.tsx +57 -0
  145. package/src/reports/moh-711/sections/report-compiled-by.component.tsx +50 -0
  146. package/src/reports/moh-711/sections/tb-screening.component.tsx +57 -0
  147. package/src/reports/moh-717/moh-717.component.tsx +149 -985
  148. package/src/reports/moh-717/moh717.scss +217 -21
  149. package/src/reports/moh-717/registers/nutrition-register.component.tsx +48 -0
  150. package/src/reports/moh-717/sections/finance.component.tsx +42 -0
  151. package/src/reports/moh-717/sections/inpatient.component.tsx +374 -0
  152. package/src/reports/moh-717/sections/maternity.component.tsx +126 -0
  153. package/src/reports/moh-717/sections/medical-records.component.tsx +35 -0
  154. package/src/reports/moh-717/sections/mortuary.component.tsx +43 -0
  155. package/src/reports/moh-717/sections/operations.component.tsx +53 -0
  156. package/src/reports/moh-717/sections/orthopaedic-trauma.component.tsx +98 -0
  157. package/src/reports/moh-717/sections/outpatient.component.tsx +597 -0
  158. package/src/reports/moh-717/sections/pharmacy.component.tsx +43 -0
  159. package/src/reports/moh-717/sections/preparedby.component.tsx +52 -0
  160. package/src/reports/moh-717/sections/special-services.component.tsx +114 -0
  161. package/src/reports/moh-731/linelist/moh-731-indicators.ts +1040 -0
  162. package/src/reports/moh-731/linelist/moh-731-linelist-sections.ts +423 -0
  163. package/src/reports/moh-731/linelist/moh-731-linelist.component.tsx +102 -0
  164. package/src/reports/moh-731/linelist/use-open-moh-731-linelist.ts +50 -0
  165. package/src/reports/moh-731/moh-731.component.tsx +251 -0
  166. package/src/reports/moh-731/moh-731.scss +493 -0
  167. package/src/reports/moh-731/registers/moh-366.columns.ts +38 -0
  168. package/src/reports/moh-731/registers/moh-366.component.tsx +471 -0
  169. package/src/reports/moh-731/registers/prep-register.component.tsx +284 -0
  170. package/src/reports/moh-731/registers/prep.columns.ts +34 -0
  171. package/src/reports/moh-731/sections/hiv-and-tb-treatment.component.tsx +1209 -0
  172. package/src/reports/moh-731/sections/hiv-testing-and-pre-exposure.component.tsx +727 -0
  173. package/src/reports/moh-731/sections/pmtct.component.tsx +572 -0
  174. package/src/reports/moh-731/summary/moh-731-summary.component.tsx +313 -0
  175. package/src/reports/moh-731/summary/moh-731-summary.config.ts +520 -0
  176. package/src/reports/moh-731/summary/moh-731-summary.scss +242 -0
  177. package/src/reports/moh-740/moh-740.component.scss +202 -0
  178. package/src/reports/moh-740/moh-740.component.tsx +1312 -0
  179. package/src/reports/moh-740/moh-740.resource.ts +49 -0
  180. package/src/reports/moh-740/registers/moh-222-daily-register/moh-222-daily-register.tsx +89 -0
  181. package/src/reports/moh-740/registers/moh-270-permanent-register/moh-270-permanent-register.tsx +61 -0
  182. package/src/reports/moh-740/registers/moh-740-patient-list.scss +0 -0
  183. package/src/reports/moh-740/registers/moh-740-patient-list.tsx +95 -0
  184. package/src/reports/moh-740/registers/moh-740.columns.ts +52 -0
  185. package/src/reports/moh-740/shared/data-cell/data-cell.scss +6 -0
  186. package/src/reports/moh-740/shared/data-cell/data-cell.tsx +23 -0
  187. package/src/reports/moh-740/shared/utils/indicator-register-map.ts +157 -0
  188. package/src/reports/moh-740/types/index.ts +220 -0
  189. package/src/reports/moh-745/moh-745.component.tsx +1021 -0
  190. package/src/reports/moh-745/moh-745.scss +132 -0
  191. package/src/reports/moh-745/registers/moh-412-register.component.tsx +199 -0
  192. package/src/reports/moh-745/registers/moh-412.columns.ts +52 -0
  193. package/src/reports/moh-745/registers/type.ts +181 -0
  194. package/src/reports/table-wrapper/table-row-mapper.component.tsx +53 -0
  195. package/src/reports/table-wrapper/table-wrapper.component.tsx +30 -0
  196. package/src/reports/{moh-706/table-wrapper → table-wrapper}/table-wrapper.scss +1 -16
  197. package/src/resources/moh-505.resource.ts +69 -0
  198. package/src/resources/moh-705.resource.ts +106 -0
  199. package/src/resources/moh-706.resource.ts +80 -0
  200. package/src/resources/moh-710.resource.ts +32 -9
  201. package/src/resources/moh-711.resource.ts +137 -9
  202. package/src/resources/moh-717.resource.ts +26 -9
  203. package/src/resources/moh-731.resource.ts +90 -0
  204. package/src/resources/moh-745.resource.ts +76 -0
  205. package/src/resources/patient-list-page.ts +65 -0
  206. package/src/root.component.tsx +50 -7
  207. package/src/root.scss +36 -0
  208. package/src/routes.json +3 -1
  209. package/src/utils/format-indicator.ts +22 -0
  210. package/src/utils/get-base-url.ts +39 -7
  211. package/src/utils/utils.ts +36 -0
  212. package/tsconfig.json +1 -1
  213. package/webpack.config.js +22 -1
  214. package/dist/184.js +0 -2
  215. package/dist/184.js.LICENSE.txt +0 -14
  216. package/dist/184.js.map +0 -1
  217. package/dist/260.js +0 -1
  218. package/dist/260.js.map +0 -1
  219. package/dist/402.js +0 -1
  220. package/dist/402.js.map +0 -1
  221. package/dist/812.js +0 -1
  222. package/dist/812.js.map +0 -1
  223. package/dist/959.js +0 -2
  224. package/dist/959.js.LICENSE.txt +0 -20
  225. package/dist/959.js.map +0 -1
  226. package/dist/ampath-esm-reports-app.js.buildmanifest.json +0 -539
  227. package/dist/main.js +0 -1
  228. package/dist/main.js.map +0 -1
  229. package/src/reports/moh-706/table-wrapper/table-wrapper.component.tsx +0 -21
@@ -1,43 +1,43 @@
1
1
  import React, { useMemo } from "react";
2
- import { TableRow, TableCell } from '@carbon/react';
3
- import TableWrapper from "../../table-wrapper/table-wrapper.component";
4
- import styles from '../../table-wrapper/table-wrapper.scss';
2
+ import TableWrapper from "../../../table-wrapper/table-wrapper.component";
3
+ import { getCell } from "../../../../utils/utils";
4
+ import TableRowMapper from "../../../table-wrapper/table-row-mapper.component";
5
5
 
6
- const Haematology: React.FC = () => {
7
- const getCell = (key = "", value = "", colSpan = 1, strong = false) => ({
8
- key,
9
- value,
10
- strong,
11
- colSpan
12
- });
6
+ interface HaematologyProps {
7
+ data?: any,
8
+ locationUuids?: string,
9
+ startDate?: string,
10
+ endDate?: string
11
+ }
13
12
 
13
+ const Haematology: React.FC<HaematologyProps> = ({ data, locationUuids, startDate, endDate }) => {
14
14
  const tableRows = useMemo(() => {
15
15
  return [
16
16
  {
17
17
  tableCells: [
18
- getCell("", "4 HAEMATOLOGY", 4, true)
18
+ getCell("", "4 HAEMATOLOGY", 4, 1, true)
19
19
  ]
20
20
  },
21
21
  {
22
22
  tableCells: [
23
- getCell("", "Haematology tests", 1, true),
24
- getCell("", "Total Exam", 1, true),
25
- getCell("", "HB <5 g/dl", 1, true),
26
- getCell("", "HB between 5 and 10 g/dl", 1, true),
23
+ getCell("", "Haematology tests", 1, 1, true),
24
+ getCell("", "Total Exam", 1, 1, true),
25
+ getCell("", "HB <5 g/dl", 1, 1, true),
26
+ getCell("", "HB between 5 and 10 g/dl", 1, 1, true),
27
27
  ]
28
28
  },
29
29
  {
30
30
  tableCells: [
31
31
  getCell("", "4.1 Full blood count"),
32
- getCell(),
33
- getCell(),
34
- getCell()
32
+ getCell("total_fbc"),
33
+ getCell("fbc_hb_less_than_5"),
34
+ getCell("fbc_hb_5_to_10")
35
35
  ]
36
36
  },
37
37
  {
38
38
  tableCells: [
39
39
  getCell("", "4.2 HB estimation tests (other techniques)"),
40
- getCell(),
40
+ getCell("total_hb_estimation"),
41
41
  getCell(),
42
42
  getCell()
43
43
  ]
@@ -45,9 +45,9 @@ const Haematology: React.FC = () => {
45
45
  {
46
46
  tableCells: [
47
47
  getCell(),
48
- getCell("", "Total Exam", 1, true),
49
- getCell("", "Pre-diabetes", 1, true),
50
- getCell("", "Diabetes", 1, true),
48
+ getCell("", "Total Exam", 1, 1, true),
49
+ getCell("", "Pre-diabetes", 1, 1, true),
50
+ getCell("", "Diabetes", 1, 1, true),
51
51
  ]
52
52
  },
53
53
  {
@@ -61,26 +61,26 @@ const Haematology: React.FC = () => {
61
61
  {
62
62
  tableCells: [
63
63
  getCell(),
64
- getCell("", "Total Exam", 1, true),
65
- getCell("", "Number <500", 2, true),
64
+ getCell("", "Total Exam", 1, 1, true),
65
+ getCell("", "Number <500", 2, 1, true),
66
66
  ]
67
67
  },
68
68
  {
69
69
  tableCells: [
70
70
  getCell("", "4.4 CD4"),
71
- getCell(),
72
- getCell("", "", 2),
71
+ getCell("total_cd4"),
72
+ getCell("cd4_less_than_500", "", 2),
73
73
  ]
74
74
  },
75
75
  {
76
76
  tableCells: [
77
- getCell("", "Other Haematology tests", 1, true),
78
- getCell("", "Total Exam", 1, true),
79
- getCell("", "Number Positive", 2, true),
77
+ getCell("", "Other Haematology tests", 1, 1, true),
78
+ getCell("", "Total Exam", 1, 1, true),
79
+ getCell("", "Number Positive", 2, 1, true),
80
80
  ]
81
81
  },
82
82
  {
83
- tableCells: [getCell("", "4.5 Sickling test"), getCell(), getCell("", "", 2)]
83
+ tableCells: [getCell("", "4.5 Sickling test"), getCell("total_sickling"), getCell("positive_sickling", "", 2)]
84
84
  },
85
85
  {
86
86
  tableCells: [getCell("", "4.6 Peripheral blood films"), getCell(), getCell("", "", 2)]
@@ -92,13 +92,13 @@ const Haematology: React.FC = () => {
92
92
  tableCells: [getCell("", "4.8 Coagulation profile"), getCell(), getCell("", "", 2)]
93
93
  },
94
94
  {
95
- tableCells: [getCell("", "4.9 Reticulocyte"), getCell(), getCell("", "", 2)]
95
+ tableCells: [getCell("", "4.9 Reticulocyte"), getCell("total_reticulocyte"), getCell("", "", 2)]
96
96
  },
97
97
  {
98
98
  tableCells: [
99
99
  getCell(),
100
- getCell("", "Total Exam", 1, true),
101
- getCell("", "High", 2, true),
100
+ getCell("", "Total Exam", 1, 1, true),
101
+ getCell("", "High", 2, 1, true),
102
102
  ]
103
103
  },
104
104
  {
@@ -110,14 +110,14 @@ const Haematology: React.FC = () => {
110
110
  },
111
111
  {
112
112
  tableCells: [
113
- getCell("", "Blood Grouping", 3, true),
114
- getCell("", "Number", 1, true),
113
+ getCell("", "Blood Grouping", 3, 1, true),
114
+ getCell("", "Number", 1, 1, true),
115
115
  ]
116
116
  },
117
117
  {
118
118
  tableCells: [
119
119
  getCell("", "4.11 Total blood group tests", 3),
120
- getCell(),
120
+ getCell("total_blood_group"),
121
121
  ]
122
122
  },
123
123
  {
@@ -128,7 +128,7 @@ const Haematology: React.FC = () => {
128
128
  },
129
129
  {
130
130
  tableCells: [
131
- getCell("", "Blood Safety", 4, true),
131
+ getCell("", "Blood Safety", 4, 1, true),
132
132
  ]
133
133
  },
134
134
  {
@@ -151,36 +151,28 @@ const Haematology: React.FC = () => {
151
151
  },
152
152
  {
153
153
  tableCells: [
154
- getCell("", "Blood Screening at facility", 3, true),
155
- getCell("", "Number Positive", 1, true),
154
+ getCell("", "Blood Screening at facility", 3, 1, true),
155
+ getCell("", "Number Positive", 1, 1, true),
156
156
  ]
157
157
  },
158
158
  {
159
- tableCells: [getCell("", "4.19 HIV", 3), getCell()]
159
+ tableCells: [getCell("", "4.19 HIV", 3), getCell("positive_hiv")]
160
160
  },
161
161
  {
162
- tableCells: [getCell("", "4.20 Hepatitis B", 3), getCell()]
162
+ tableCells: [getCell("", "4.20 Hepatitis B", 3), getCell("positive_hep_b")]
163
163
  },
164
164
  {
165
- tableCells: [getCell("", "4.21 Hepatitis C", 3), getCell()]
165
+ tableCells: [getCell("", "4.21 Hepatitis C", 3), getCell("positive_hep_c")]
166
166
  },
167
167
  {
168
- tableCells: [getCell("", "4.22 Syphilis", 3), getCell()]
168
+ tableCells: [getCell("", "4.22 Syphilis", 3), getCell("positive_syphilis")]
169
169
  },
170
170
  ]
171
171
  }, []);
172
172
 
173
173
 
174
174
  return <TableWrapper>
175
- {tableRows.map((tR) => (
176
- <TableRow>
177
- {tR.tableCells.map((tC) => (
178
- <TableCell className={styles.dataCell} colSpan={tC.colSpan}>
179
- {tC.strong ? <strong>{tC.value}</strong> : tC.value}
180
- </TableCell>
181
- ))}
182
- </TableRow>
183
- ))}
175
+ <TableRowMapper tableRows={tableRows} data={data} locationUuids={locationUuids} startDate={startDate} endDate={endDate} />
184
176
  </TableWrapper>
185
177
  }
186
178
 
@@ -1,26 +1,19 @@
1
1
  import React, { useMemo } from "react";
2
- import { TableRow, TableCell } from '@carbon/react';
3
- import TableWrapper from "../../table-wrapper/table-wrapper.component";
4
- import styles from '../../table-wrapper/table-wrapper.scss';
2
+ import TableWrapper from "../../../table-wrapper/table-wrapper.component";
3
+ import TableRowMapper from "../../../table-wrapper/table-row-mapper.component";
4
+ import { getCell } from "../../../../utils/utils";
5
5
 
6
6
  const HistologyAndCytology: React.FC = () => {
7
- const getCell = (key = "", value = "", colSpan = 1, strong = false) => ({
8
- key,
9
- value,
10
- strong,
11
- colSpan
12
- });
13
-
14
7
  const tableRows = useMemo(() => {
15
8
  return [
16
9
  {
17
- tableCells: [getCell("", "6 HISTOLOGY AND CYTOLOGY", 4, true)]
10
+ tableCells: [getCell("", "6 HISTOLOGY AND CYTOLOGY", 4, 1, true)]
18
11
  },
19
12
  {
20
13
  tableCells: [
21
- getCell("", "Smears", 1, true),
22
- getCell("", "Total Exam", 1, true),
23
- getCell("", "Malignant", 1, true),
14
+ getCell("", "Smears", 1, 1, true),
15
+ getCell("", "Total Exam", 1, 1, true),
16
+ getCell("", "Malignant", 1, 1, true),
24
17
  getCell(),
25
18
  ]
26
19
  },
@@ -29,35 +22,35 @@ const HistologyAndCytology: React.FC = () => {
29
22
  { tableCells: [getCell("", "6.3 Tissue impressions"), getCell(), getCell(), getCell()] },
30
23
  {
31
24
  tableCells: [
32
- getCell("", "Fine Needle Aspirates", 1, true),
33
- getCell("", "Total Exam", 1, true),
34
- getCell("", "Malignant", 1, true),
25
+ getCell("", "Fine Needle Aspirates", 1, 1, true),
26
+ getCell("", "Total Exam", 1, 1, true),
27
+ getCell("", "Malignant", 1, 1, true),
35
28
  getCell()
36
29
  ]
37
30
  },
38
31
  { tableCells: [getCell("", "6.4 Thyroid"), getCell(), getCell(), getCell()] },
39
32
  { tableCells: [getCell("", "6.5 Lymph nodes"), getCell(), getCell(), getCell()] },
40
33
  { tableCells: [getCell("", "6.6 Liver"), getCell(), getCell(), getCell()] },
41
- { tableCells: [getCell("", "6.7 Breast"), getCell(), getCell(), getCell()] },
42
- { tableCells: [getCell("", "6.8 Soft tissue masses"), getCell(), getCell(), getCell()] },
34
+ { tableCells: [getCell("", "6.7 Breast"), getCell("total_cyt_breast"), getCell(), getCell()] },
35
+ { tableCells: [getCell("", "6.8 Soft tissue masses"), getCell("total_cyt_soft_tissue"), getCell(), getCell()] },
43
36
  {
44
37
  tableCells: [
45
- getCell("", "Fluid Cytology", 1, true),
46
- getCell("", "Total Exam", 1, true),
47
- getCell("", "Malignant", 2, true),
38
+ getCell("", "Fluid Cytology", 1, 1, true),
39
+ getCell("", "Total Exam", 1, 1, true),
40
+ getCell("", "Malignant", 2, 1, true),
48
41
  getCell()
49
42
  ]
50
43
  },
51
44
  { tableCells: [getCell("", "6.9 Ascitic fluid"), getCell(), getCell(), getCell()] },
52
- { tableCells: [getCell("", "6.10 CSF"), getCell(), getCell(), getCell()] },
45
+ { tableCells: [getCell("", "6.10 CSF"), getCell("total_cyt_csf"), getCell(), getCell()] },
53
46
  { tableCells: [getCell("", "6.11 Pleural fluid"), getCell(), getCell(), getCell()] },
54
47
  { tableCells: [getCell("", "6.12 Urine"), getCell(), getCell(), getCell()] },
55
48
  {
56
49
  tableCells: [
57
- getCell("", "Tissue Histology", 1, true),
58
- getCell("", "Total Exam", 1, true),
59
- getCell("", "Malignant", 1, true),
60
- getCell("", "TNM Stage", 1, true),
50
+ getCell("", "Tissue Histology", 1, 1, true),
51
+ getCell("", "Total Exam", 1, 1, true),
52
+ getCell("", "Malignant", 1, 1, true),
53
+ getCell("", "TNM Stage", 1, 1, true),
61
54
  ]
62
55
  },
63
56
  { tableCells: [getCell("", "6.13 Prostate"), getCell(), getCell(), getCell()] },
@@ -75,28 +68,20 @@ const HistologyAndCytology: React.FC = () => {
75
68
  { tableCells: [getCell("", "6.25 Lymph nodes tissue"), getCell(), getCell(), getCell()] },
76
69
  {
77
70
  tableCells: [
78
- getCell("", "Bone Marrow Studies", 1, true),
79
- getCell("", "Total Exam", 1, true),
80
- getCell("", "Malignant", 1, true),
71
+ getCell("", "Bone Marrow Studies", 1, 1, true),
72
+ getCell("", "Total Exam", 1, 1, true),
73
+ getCell("", "Malignant", 1, 1, true),
81
74
  getCell()
82
75
  ]
83
76
  },
84
- { tableCells: [getCell("", "6.26 Bone marrow aspirate"), getCell(), getCell(), getCell()] },
77
+ { tableCells: [getCell("", "6.26 Bone marrow aspirate"), getCell("total_cyt_bone_marrow"), getCell(), getCell()] },
85
78
  { tableCells: [getCell("", "6.27 Trephine biopsy"), getCell(), getCell(), getCell()] },
86
79
  ]
87
80
  }, []);
88
81
 
89
82
 
90
83
  return <TableWrapper>
91
- {tableRows.map((tR) => (
92
- <TableRow>
93
- {tR.tableCells.map((tC) => (
94
- <TableCell className={styles.dataCell} colSpan={tC.colSpan}>
95
- {tC.strong ? <strong>{tC.value}</strong> : tC.value}
96
- </TableCell>
97
- ))}
98
- </TableRow>
99
- ))}
84
+ <TableRowMapper tableRows={tableRows} />
100
85
  </TableWrapper>
101
86
  }
102
87
 
@@ -1,70 +1,70 @@
1
1
  import React, { useMemo } from "react";
2
- import { TableRow, TableCell } from '@carbon/react';
3
- import TableWrapper from "../../table-wrapper/table-wrapper.component";
4
- import styles from '../../table-wrapper/table-wrapper.scss';
2
+ import TableWrapper from "../../../table-wrapper/table-wrapper.component";
3
+ import TableRowMapper from "../../../table-wrapper/table-row-mapper.component";
4
+ import { getCell } from "../../../../utils/utils";
5
5
 
6
- const Parasitology: React.FC = () => {
7
- const getCell = (key = "", value = "", colSpan = 1, strong = false) => ({
8
- key,
9
- value,
10
- strong,
11
- colSpan
12
- });
6
+ interface ParasitologyProps {
7
+ data?: any,
8
+ locationUuids?: string,
9
+ startDate?: string,
10
+ endDate?: string
11
+ }
13
12
 
13
+ const Parasitology: React.FC<ParasitologyProps> = ({ data, locationUuids, startDate, endDate }) => {
14
14
  const tableRows = useMemo(() => {
15
15
  return [
16
16
  {
17
17
  tableCells: [
18
- getCell("", "3 PARASITOLOGY", 3, true)
18
+ getCell("", "3 PARASITOLOGY", 3, 1, true)
19
19
  ]
20
20
  },
21
21
  {
22
22
  tableCells: [
23
- getCell("", "Malaria Test", 1, true),
24
- getCell("", "Total Exam", 1, true),
25
- getCell("", "Number Positive", 1, true)
23
+ getCell("", "Malaria Test", 1, 1, true),
24
+ getCell("", "Total Exam", 1, 1, true),
25
+ getCell("", "Number Positive", 1, 1, true)
26
26
  ]
27
27
  },
28
28
  {
29
29
  tableCells: [
30
30
  getCell("", "3.1 Malaria BS (Under five years)"),
31
- getCell(),
32
- getCell()
31
+ getCell("total_malaria_bs_under_5"),
32
+ getCell("positive_malaria_bs_under_5")
33
33
  ]
34
34
  },
35
35
  {
36
36
  tableCells: [
37
37
  getCell("", "3.2 Malaria BS (5 years and above)"),
38
- getCell(),
39
- getCell(),
38
+ getCell("total_malaria_bs_5_and_above"),
39
+ getCell("positive_malaria_bs_5_and_above"),
40
40
  ]
41
41
  },
42
42
  {
43
43
  tableCells: [
44
44
  getCell("", "3.3 Malaria Rapid Diagnostic Tests (Under five years)"),
45
- getCell(),
46
- getCell(),
45
+ getCell("total_malaria_rdt_under_5"),
46
+ getCell("positive_malaria_rdt_under_5"),
47
47
  ]
48
48
  },
49
49
  {
50
50
  tableCells: [
51
51
  getCell("", "3.4 Malaria Rapid Diagnostic Tests (5 years and above)"),
52
- getCell(),
53
- getCell(),
52
+ getCell("total_malaria_rdt_5_and_above"),
53
+ getCell("positive_malaria_rdt_5_and_above"),
54
54
  ]
55
55
  },
56
56
  {
57
57
  tableCells: [
58
- getCell("", "Stool Examination", 1, true),
58
+ getCell("", "Stool Examination", 1, 1, true),
59
59
  getCell(),
60
- getCell("", "Number Positive", 1, true),
60
+ getCell("", "Number Positive", 1, 1, true),
61
61
  ]
62
62
  },
63
63
  {
64
64
  tableCells: [
65
65
  getCell("", "3.5 Taenia spp."),
66
- getCell(),
67
- getCell(),
66
+ getCell("total_taenia"),
67
+ getCell("positive_taenia"),
68
68
  ]
69
69
  },
70
70
  {
@@ -77,15 +77,15 @@ const Parasitology: React.FC = () => {
77
77
  {
78
78
  tableCells: [
79
79
  getCell("", "3.7 Hookworm"),
80
- getCell(),
81
- getCell(),
80
+ getCell("total_hookworm"),
81
+ getCell("positive_hookworm"),
82
82
  ]
83
83
  },
84
84
  {
85
85
  tableCells: [
86
86
  getCell("", "3.8 Roundworm"),
87
- getCell(),
88
- getCell(),
87
+ getCell("total_roundworms"),
88
+ getCell("positive_roundworms"),
89
89
  ]
90
90
  },
91
91
  {
@@ -114,15 +114,7 @@ const Parasitology: React.FC = () => {
114
114
 
115
115
 
116
116
  return <TableWrapper>
117
- {tableRows.map((tR) => (
118
- <TableRow>
119
- {tR.tableCells.map((tC) => (
120
- <TableCell className={styles.dataCell} colSpan={tC.colSpan}>
121
- {tC.strong ? <strong>{tC.value}</strong> : tC.value}
122
- </TableCell>
123
- ))}
124
- </TableRow>
125
- ))}
117
+ <TableRowMapper tableRows={tableRows} data={data} locationUuids={locationUuids} startDate={startDate} endDate={endDate} />
126
118
  </TableWrapper>
127
119
  }
128
120
 
@@ -1,54 +1,46 @@
1
1
  import React, { useMemo } from "react";
2
- import { TableRow, TableCell } from '@carbon/react';
3
- import TableWrapper from "../../table-wrapper/table-wrapper.component";
4
- import styles from '../../table-wrapper/table-wrapper.scss';
2
+ import TableWrapper from "../../../table-wrapper/table-wrapper.component";
3
+ import TableRowMapper from "../../../table-wrapper/table-row-mapper.component";
4
+ import { getCell } from "../../../../utils/utils";
5
5
 
6
- const Serology: React.FC = () => {
7
- const getCell = (key = "", value = "", colSpan = 1, strong = false) => ({
8
- key,
9
- value,
10
- strong,
11
- colSpan
12
- });
6
+ interface SerologyProps {
7
+ data?: any,
8
+ locationUuids?: string,
9
+ startDate?: string,
10
+ endDate?: string
11
+ }
13
12
 
13
+ const Serology: React.FC<SerologyProps> = ({ data, locationUuids, startDate, endDate }) => {
14
14
  const tableRows = useMemo(() => {
15
15
  return [
16
16
  {
17
- tableCells: [getCell("", "7. SEROLOGY", 3, true)]
17
+ tableCells: [getCell("", "7. SEROLOGY", 3, 1, true)]
18
18
  },
19
19
  {
20
20
  tableCells: [
21
- getCell("", "Serological Test", 1, true),
22
- getCell("", "Total Exam", 1, true),
23
- getCell("", "Number Positive", 1, true),
21
+ getCell("", "Serological Test", 1, 1, true),
22
+ getCell("", "Total Exam", 1, 1, true),
23
+ getCell("", "Number Positive", 1, 1, true),
24
24
  ]
25
25
  },
26
- { tableCells: [getCell("", "7.1 VDRL"), getCell(), getCell()] },
27
- { tableCells: [getCell("", "7.2 TPHA"), getCell(), getCell()] },
28
- { tableCells: [getCell("", "7.3 ASOT"), getCell(), getCell()] },
29
- { tableCells: [getCell("", "7.4 HIV"), getCell(), getCell()] },
30
- { tableCells: [getCell("", "7.5 Brucella"), getCell(), getCell()] },
31
- { tableCells: [getCell("", "7.6 Rheumatoid factor"), getCell(), getCell()] },
32
- { tableCells: [getCell("", "7.7 Helicobacter pylori"), getCell(), getCell()] },
26
+ { tableCells: [getCell("", "7.1 VDRL"), getCell("total_vdrl"), getCell("positive_vdrl")] },
27
+ { tableCells: [getCell("", "7.2 TPHA"), getCell("total_tpha"), getCell("positive_tpha")] },
28
+ { tableCells: [getCell("", "7.3 ASOT"), getCell("total_asot"), getCell()] },
29
+ { tableCells: [getCell("", "7.4 HIV"), getCell("total_hiv"), getCell("hiv_new_diagnosis")] },
30
+ { tableCells: [getCell("", "7.5 Brucella"), getCell("total_brucella"), getCell("positive_brucella")] },
31
+ { tableCells: [getCell("", "7.6 Rheumatoid factor"), getCell("total_rheumatoid_factor"), getCell("positive_rheumatoid_factor")] },
32
+ { tableCells: [getCell("", "7.7 Helicobacter pylori"), getCell("total_h_pylori"), getCell("positive_h_pylori")] },
33
33
  { tableCells: [getCell("", "7.8 Hepatitis A test"), getCell(), getCell()] },
34
- { tableCells: [getCell("", "7.9 Hepatitis B test"), getCell(), getCell()] },
35
- { tableCells: [getCell("", "7.10 Hepatitis C test"), getCell(), getCell()] },
36
- { tableCells: [getCell("", "7.11 HCG"), getCell(), getCell()] },
37
- { tableCells: [getCell("", "7.12 CRAG Test"), getCell(), getCell()] },
34
+ { tableCells: [getCell("", "7.9 Hepatitis B test"), getCell("total_hep_b"), getCell("positive_hep_b")] },
35
+ { tableCells: [getCell("", "7.10 Hepatitis C test"), getCell("total_hep_c"), getCell("positive_hep_c")] },
36
+ { tableCells: [getCell("", "7.11 HCG"), getCell("total_hcg"), getCell("positive_hcg")] },
37
+ { tableCells: [getCell("", "7.12 CRAG Test"), getCell("total_crag"), getCell("positive_crag")] },
38
38
  ]
39
39
  }, []);
40
40
 
41
41
 
42
42
  return <TableWrapper>
43
- {tableRows.map((tR) => (
44
- <TableRow>
45
- {tR.tableCells.map((tC) => (
46
- <TableCell className={styles.dataCell} colSpan={tC.colSpan}>
47
- {tC.strong ? <strong>{tC.value}</strong> : tC.value}
48
- </TableCell>
49
- ))}
50
- </TableRow>
51
- ))}
43
+ <TableRowMapper tableRows={tableRows} data={data} locationUuids={locationUuids} startDate={startDate} endDate={endDate} />
52
44
  </TableWrapper>
53
45
  }
54
46
 
@@ -1,33 +1,26 @@
1
1
  import React, { useMemo } from "react";
2
- import { TableRow, TableCell } from '@carbon/react';
3
- import TableWrapper from "../../table-wrapper/table-wrapper.component";
4
- import styles from '../../table-wrapper/table-wrapper.scss';
2
+ import TableWrapper from "../../../table-wrapper/table-wrapper.component";
3
+ import TableRowMapper from "../../../table-wrapper/table-row-mapper.component";
4
+ import { getCell } from "../../../../utils/utils";
5
5
 
6
6
  const SpecimenReferralToHigherLevels: React.FC = () => {
7
- const getCell = (key = "", value = "", colSpan = 1, strong = false) => ({
8
- key,
9
- value,
10
- strong,
11
- colSpan
12
- });
13
-
14
7
  const tableRows = useMemo(() => {
15
8
  return [
16
9
  {
17
- tableCells: [getCell("", "8. SPECIMEN REFERRAL TO HIGHER LEVELS", 3, true)]
10
+ tableCells: [getCell("", "8. SPECIMEN REFERRAL TO HIGHER LEVELS", 3, 1, true)]
18
11
  },
19
12
  {
20
13
  tableCells: [
21
- getCell("", "Specimen referral", 1, true),
22
- getCell("", "No. of specimens", 1, true),
23
- getCell("", "No. of results received", 1, true),
14
+ getCell("", "Specimen referral", 1, 1, true),
15
+ getCell("", "No. of specimens", 1, 1, true),
16
+ getCell("", "No. of results received", 1, 1, true),
24
17
  ]
25
18
  },
26
19
  { tableCells: [getCell("", "8.1 CD4"), getCell(), getCell()] },
27
- { tableCells: [getCell("", "8.2 Viral load"), getCell(), getCell()] },
20
+ { tableCells: [getCell("", "8.2 Viral load"), getCell("total_viral_load_specimens"), getCell("viral_load_results_received")] },
28
21
  { tableCells: [getCell("", "8.3 EID"), getCell(), getCell()] },
29
22
  { tableCells: [getCell("", "8.4 Discodant/discrepant"), getCell(), getCell()] },
30
- { tableCells: [getCell("", "8.5 TB Culture"), getCell(), getCell()] },
23
+ { tableCells: [getCell("", "8.5 TB Culture"), getCell("total_tb_culture_specimens"), getCell("tb_culture_results_received")] },
31
24
  { tableCells: [getCell("", "8.6 Virological"), getCell(), getCell()] },
32
25
  { tableCells: [getCell("", "8.7 Clinical Chemistry"), getCell(), getCell()] },
33
26
  { tableCells: [getCell("", "8.8 Histology/cytology"), getCell(), getCell()] },
@@ -39,15 +32,7 @@ const SpecimenReferralToHigherLevels: React.FC = () => {
39
32
 
40
33
 
41
34
  return <TableWrapper>
42
- {tableRows.map((tR) => (
43
- <TableRow>
44
- {tR.tableCells.map((tC) => (
45
- <TableCell className={styles.dataCell} colSpan={tC.colSpan}>
46
- {tC.strong ? <strong>{tC.value}</strong> : tC.value}
47
- </TableCell>
48
- ))}
49
- </TableRow>
50
- ))}
35
+ <TableRowMapper tableRows={tableRows} />
51
36
  </TableWrapper>
52
37
  }
53
38