@ampath/esm-reports-app 1.0.0-next.5 → 1.0.0-next.50
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/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/907.css +1 -0
- package/dist/907.css.map +1 -0
- package/dist/907.js +1 -0
- package/dist/907.js.map +1 -0
- 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 +291 -100
- package/src/common/report-filters/report-filters.scss +199 -32
- package/src/common/report-filters/types.ts +66 -0
- package/src/common/report-filters/use-restore-period.ts +43 -0
- package/src/common/report-header/index.ts +1 -0
- package/src/common/report-header/use-location-details.ts +58 -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 +46 -0
- package/src/common/report-register/register-layout.component.tsx +243 -0
- package/src/common/report-register/register-layout.scss +140 -0
- package/src/common/report-register/register-table.scss +71 -0
- package/src/common/report-register/report-parents.ts +27 -0
- package/src/common/report-register/rows-to-csv.ts +89 -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 -17
- package/src/dashboard/reports-dashboard.module.scss +269 -11
- package/src/index.ts +13 -1
- package/src/reports/datatable-wrapper/datatable-wrapper.component.tsx +69 -0
- package/src/reports/moh-240/moh-240-header.component.tsx +62 -0
- package/src/reports/moh-240/moh-240.columns.ts +105 -0
- package/src/reports/moh-240/moh-240.component.tsx +75 -0
- package/src/reports/moh-240/moh-240.scss +40 -0
- package/src/reports/moh-240/sub-reports/moh-240-register.component.tsx +36 -0
- package/src/reports/moh-240/sub-reports/page-summary.component.tsx +148 -0
- package/src/reports/moh-505/moh-505-header.component.tsx +67 -0
- package/src/reports/moh-505/moh-505.component.tsx +435 -0
- package/src/reports/moh-505/moh-505.scss +117 -0
- package/src/reports/moh-705B/moh-204b-register.component.tsx +235 -0
- package/src/reports/moh-705B/moh-204b.columns.ts +39 -0
- package/src/reports/moh-705B/moh-705b.component.tsx +543 -0
- package/src/reports/moh-705B/moh-705b.scss +130 -0
- package/src/reports/moh-705a/moh-705a.component.tsx +548 -0
- package/src/reports/moh-705a/moh-705a.scss +130 -0
- package/src/reports/moh-705a/registers/moh-204a-register.component.tsx +320 -0
- package/src/reports/moh-705a/registers/moh-204a.columns.ts +57 -0
- package/src/reports/moh-705a/type.ts +6 -0
- package/src/reports/moh-706/moh-706-header.component.tsx +66 -0
- package/src/reports/moh-706/moh-706.component.tsx +144 -24
- package/src/reports/moh-706/moh-706.scss +119 -11
- package/src/reports/moh-706/sub-reports/bacteriology/bacteriology.component.tsx +36 -44
- package/src/reports/moh-706/sub-reports/blood-chemistry/blood-chemistry.component.tsx +110 -116
- package/src/reports/moh-706/sub-reports/drug-susceptibility-testing/drug-susceptibility-testing.component.tsx +46 -73
- package/src/reports/moh-706/sub-reports/haematology/haematology.component.tsx +44 -52
- package/src/reports/moh-706/sub-reports/histology-and-cytology/histology-and-cytology.component.tsx +25 -40
- package/src/reports/moh-706/sub-reports/parasitology/parasitology.component.tsx +31 -39
- package/src/reports/moh-706/sub-reports/serology/serology.component.tsx +26 -34
- package/src/reports/moh-706/sub-reports/specimen-referral-to-higher-levels/specimen-referral-to-higher-levels.component.tsx +10 -25
- package/src/reports/moh-706/sub-reports/urine-analysis/urine-analysis.component.tsx +42 -50
- package/src/reports/moh-710/moh-710.component.tsx +780 -632
- package/src/reports/moh-710/moh-710.scss +142 -21
- package/src/reports/moh-710/registers/moh-511-710-register.component.tsx +268 -0
- package/src/reports/moh-710/registers/moh-511-710.columns.ts +52 -0
- package/src/reports/moh-710/registers/type.ts +31 -0
- package/src/reports/moh-711/moh-711.component.tsx +132 -1269
- package/src/reports/moh-711/moh711.scss +135 -20
- package/src/reports/moh-711/registers/moh-333-register.component.tsx +637 -0
- package/src/reports/moh-711/registers/moh-333.columns.ts +119 -0
- package/src/reports/moh-711/registers/moh-405-register.component.tsx +520 -0
- package/src/reports/moh-711/registers/moh-405.columns.ts +120 -0
- package/src/reports/moh-711/registers/moh-406-register.component.tsx +530 -0
- package/src/reports/moh-711/registers/moh-406.columns.ts +133 -0
- package/src/reports/moh-711/registers/moh-510-register.component.tsx +55 -0
- package/src/reports/moh-711/registers/moh-511-register.component.tsx +270 -0
- package/src/reports/moh-711/registers/moh-511.columns.ts +59 -0
- package/src/reports/moh-711/registers/type.ts +192 -0
- package/src/reports/moh-711/sections/anc.component.tsx +159 -0
- package/src/reports/moh-711/sections/cervical-cancer.component.tsx +148 -0
- package/src/reports/moh-711/sections/chanis.component.tsx +366 -0
- package/src/reports/moh-711/sections/family-planning.component.tsx +221 -0
- package/src/reports/moh-711/sections/gbv.component.tsx +115 -0
- package/src/reports/moh-711/sections/maternity.component.tsx +321 -0
- package/src/reports/moh-711/sections/medical-social-work.component.tsx +73 -0
- package/src/reports/moh-711/sections/other.component.tsx +47 -0
- package/src/reports/moh-711/sections/physiotherapy.component.tsx +61 -0
- package/src/reports/moh-711/sections/pnc.component.tsx +127 -0
- package/src/reports/moh-711/sections/post-abortion.component.tsx +42 -0
- package/src/reports/moh-711/sections/rehabilitation.component.tsx +57 -0
- package/src/reports/moh-711/sections/report-compiled-by.component.tsx +50 -0
- package/src/reports/moh-711/sections/tb-screening.component.tsx +57 -0
- package/src/reports/moh-717/moh-717.component.tsx +140 -985
- package/src/reports/moh-717/moh717.scss +217 -21
- package/src/reports/moh-717/registers/nutrition-register.component.tsx +48 -0
- package/src/reports/moh-717/sections/finance.component.tsx +42 -0
- package/src/reports/moh-717/sections/inpatient.component.tsx +374 -0
- package/src/reports/moh-717/sections/maternity.component.tsx +126 -0
- package/src/reports/moh-717/sections/medical-records.component.tsx +35 -0
- package/src/reports/moh-717/sections/mortuary.component.tsx +43 -0
- package/src/reports/moh-717/sections/operations.component.tsx +53 -0
- package/src/reports/moh-717/sections/orthopaedic-trauma.component.tsx +98 -0
- package/src/reports/moh-717/sections/outpatient.component.tsx +597 -0
- package/src/reports/moh-717/sections/pharmacy.component.tsx +43 -0
- package/src/reports/moh-717/sections/preparedby.component.tsx +52 -0
- package/src/reports/moh-717/sections/special-services.component.tsx +114 -0
- package/src/reports/moh-731/moh-731.component.tsx +198 -0
- package/src/reports/moh-731/moh-731.scss +446 -0
- package/src/reports/moh-731/registers/moh-366.columns.ts +38 -0
- package/src/reports/moh-731/registers/moh-366.component.tsx +471 -0
- package/src/reports/moh-731/registers/prep-register.component.tsx +284 -0
- package/src/reports/moh-731/registers/prep.columns.ts +34 -0
- package/src/reports/moh-731/sections/hiv-and-tb-treatment.component.tsx +1212 -0
- package/src/reports/moh-731/sections/hiv-testing-and-pre-exposure.component.tsx +713 -0
- package/src/reports/moh-731/sections/pmtct.component.tsx +572 -0
- package/src/reports/moh-740/moh-740.component.scss +200 -0
- package/src/reports/moh-740/moh-740.component.tsx +1302 -0
- package/src/reports/moh-740/moh-740.resource.ts +49 -0
- package/src/reports/moh-740/registers/moh-222-daily-register/moh-222-daily-register.tsx +89 -0
- package/src/reports/moh-740/registers/moh-270-permanent-register/moh-270-permanent-register.tsx +59 -0
- package/src/reports/moh-740/registers/moh-740-patient-list.scss +0 -0
- package/src/reports/moh-740/registers/moh-740-patient-list.tsx +95 -0
- package/src/reports/moh-740/registers/moh-740.columns.ts +52 -0
- package/src/reports/moh-740/shared/data-cell/data-cell.scss +6 -0
- package/src/reports/moh-740/shared/data-cell/data-cell.tsx +23 -0
- package/src/reports/moh-740/shared/utils/indicator-register-map.ts +157 -0
- package/src/reports/moh-740/types/index.ts +220 -0
- package/src/reports/moh-745/moh-745.component.tsx +948 -0
- package/src/reports/moh-745/moh-745.scss +132 -0
- package/src/reports/moh-745/registers/moh-412-register.component.tsx +190 -0
- package/src/reports/moh-745/registers/moh-412.columns.ts +52 -0
- package/src/reports/moh-745/registers/type.ts +30 -0
- package/src/reports/table-wrapper/table-row-mapper.component.tsx +53 -0
- package/src/reports/table-wrapper/table-wrapper.component.tsx +30 -0
- package/src/reports/table-wrapper/table-wrapper.scss +16 -0
- package/src/resources/moh-505.resource.ts +69 -0
- package/src/resources/moh-705.resource.ts +106 -0
- package/src/resources/moh-706.resource.ts +80 -0
- package/src/resources/moh-710.resource.ts +27 -9
- package/src/resources/moh-711.resource.ts +137 -9
- package/src/resources/moh-717.resource.ts +26 -9
- package/src/resources/moh-731.resource.ts +90 -0
- package/src/resources/moh-745.resource.ts +62 -0
- package/src/resources/patient-list-page.ts +65 -0
- package/src/root.component.tsx +46 -7
- package/src/root.scss +36 -0
- package/src/routes.json +3 -1
- package/src/utils/format-indicator.ts +22 -0
- package/src/utils/get-base-url.ts +39 -7
- package/src/utils/utils.ts +36 -0
- package/tsconfig.json +1 -1
- package/dist/184.js +0 -2
- package/dist/184.js.LICENSE.txt +0 -14
- package/dist/184.js.map +0 -1
- package/dist/260.js +0 -1
- package/dist/260.js.map +0 -1
- package/dist/402.js +0 -1
- package/dist/402.js.map +0 -1
- package/dist/812.js +0 -1
- package/dist/812.js.map +0 -1
- package/dist/959.js +0 -2
- package/dist/959.js.LICENSE.txt +0 -20
- package/dist/959.js.map +0 -1
- package/dist/ampath-esm-reports-app.js.buildmanifest.json +0 -539
- package/dist/main.js +0 -1
- package/dist/main.js.map +0 -1
- package/src/reports/moh-706/table-wrapper/table-wrapper.component.tsx +0 -21
- package/src/reports/moh-706/table-wrapper/table-wrapper.scss +0 -30
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { type RegisterColumn } from '../../../common/report-register';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* MOH 406 as the register prints it: one column per cell, in the order they appear.
|
|
5
|
+
*
|
|
6
|
+
* The last 6 columns are rendered by the table but have no headings above
|
|
7
|
+
* them -- the header row is 43 columns wide against 49 of data. They carry
|
|
8
|
+
* their field names rather than headings borrowed from neighbouring columns.
|
|
9
|
+
*/
|
|
10
|
+
export const moh406ExportColumns: RegisterColumn[] = [
|
|
11
|
+
{ header: 'Registration Information - Date of Visit (dd/mm/yyyy)', value: (row) => row.date_of_visit ?? '' },
|
|
12
|
+
{ header: 'Registration Information - PNC Number (New Visit) - NUPI', value: (row) => row.pnc_number ?? '' },
|
|
13
|
+
{ header: 'Registration Information - PNC Number/NUPI (Revisit)', value: (row) => row.pnc_number ?? '' },
|
|
14
|
+
{ header: 'Registration Information - AMRSID', value: (row) => row.amrsID ?? '' },
|
|
15
|
+
{
|
|
16
|
+
header: 'Registration Information - Full Name(first name, middle and surname)',
|
|
17
|
+
value: (row) => row.full_names ?? '',
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
header: 'Registration Information - Date of Birth (dd/mm/yyyy) - Age in Years',
|
|
21
|
+
value: (row) => row.date_of_birth ?? '',
|
|
22
|
+
},
|
|
23
|
+
{ header: 'Registration Information - County/ SubCounty', value: (row) => row.subcounty_county ?? '' },
|
|
24
|
+
{
|
|
25
|
+
header: 'Registration Information - Village/Estate/ Landmark - Telephone number',
|
|
26
|
+
value: (row) => row.village_estate_landmark ?? '',
|
|
27
|
+
},
|
|
28
|
+
{ header: 'Maternity History - Date of Delivery (dd/mm/yyyy)', value: (row) => row.date_of_delivery ?? '' },
|
|
29
|
+
{
|
|
30
|
+
header: 'Maternity History - Place of Delivery 1)Facility 2) Home 3) BBA',
|
|
31
|
+
value: (row) => row.place_of_delivery ?? '',
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
header: 'Maternity History - Mode of Delivery 1) SVD 2) CS 3) Breech 4) AVD',
|
|
35
|
+
value: (row) => row.mode_of_delivery ?? '',
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
header: 'Postpartum Visit - Timing Mother - 1=no change, 2=10 days to 14 days; 3=4 to 6 weeks; 4=4 to 6 months',
|
|
39
|
+
value: (row) => row.timing_mother ?? '',
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
header: 'Postpartum Visit - Timing Baby - 1=no change, 2=10 days to 14 days; 3=4 to 6 weeks; 4=4 to 6 months',
|
|
43
|
+
value: (row) => row.timing_baby ?? '',
|
|
44
|
+
},
|
|
45
|
+
{ header: 'Vital Signs - Temp', value: (row) => row.temperature ?? '' },
|
|
46
|
+
{ header: 'Vital Signs - Pulse', value: (row) => row.pulse ?? '' },
|
|
47
|
+
{ header: 'Vital Signs - Blood Pressure', value: (row) => row.blood_pressure ?? '' },
|
|
48
|
+
{
|
|
49
|
+
header: 'Postnatal Examinations - Pallor (Y/N) - 1= mild; 2= moderate; 3= severe',
|
|
50
|
+
value: (row) => row.pallor_present ?? '',
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
header: 'Postnatal Examinations - Breast 1=normal 2= cracked nipple 3=engorged 4=mastitis',
|
|
54
|
+
value: (row) => row.breast ?? '',
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
header: 'Postnatal Examinations - Uterus 1= contracte d 2= not contracte d 3= Others Specify',
|
|
58
|
+
value: (row) => row.uterus ?? '',
|
|
59
|
+
},
|
|
60
|
+
{ header: 'Postnatal Examinations - PPH 1=present 2=Absent', value: (row) => row.pph ?? '' },
|
|
61
|
+
{
|
|
62
|
+
header: 'Postnatal Examinations - C-Section Site 1=Bleeding 2=Normal 3=Infected 4=Gapping 5=N/A',
|
|
63
|
+
value: (row) => row.c_section_site ?? '',
|
|
64
|
+
},
|
|
65
|
+
{ header: 'Postnatal Examinations - Lochia 1=Normal 2=Foul smelling 3=Excessi ve', value: (row) => row.lochia ?? '' },
|
|
66
|
+
{
|
|
67
|
+
header: 'Postnatal Examinations - Episiotomy 1=Repaired 2=Gaping 3=Infected 4=Healed 5=N/',
|
|
68
|
+
value: (row) => row.episiotomy ?? '',
|
|
69
|
+
},
|
|
70
|
+
{ header: 'Postnatal Examinations - Fistula 1=VVF 2=RVF 3=VVR 4=Non', value: (row) => row.fistula ?? '' },
|
|
71
|
+
{
|
|
72
|
+
header: 'TB screening - TB Screening 1: Presumed TB 2: No signs 3: On TB treatment 4: On TPT 5: Not done',
|
|
73
|
+
value: (row) => row.tb_screening ?? '',
|
|
74
|
+
},
|
|
75
|
+
{ header: 'Tested PNC - (I/R/ND/KP)', value: (row) => row.tested_pnc ?? '' },
|
|
76
|
+
{
|
|
77
|
+
header: 'HIV Test 1 - Kit Name: - Lot No. - Expiry No. / / - (N,P,I,NA)',
|
|
78
|
+
value: (row) => row.hiv_test_1_kit_name ?? '',
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
header: 'HIV Test 2 - Kit Name: - Lot No. - Expiry No. / / - (N,P,I,NA)',
|
|
82
|
+
value: (row) => row.hiv_test_2_kit_name ?? '',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
header: 'HIV Test 3 - Kit Name: - Lot No. - Expiry No. / / - (N,P,I,NA)',
|
|
86
|
+
value: (row) => row.hiv_test_3_kit_name ?? '',
|
|
87
|
+
},
|
|
88
|
+
{ header: 'Results in PNC - <=6wks - (N/P/Ic/NA)', value: (row) => row.results_less_6_weeks ?? '' },
|
|
89
|
+
{ header: 'Results in PNC - >6wks - (N/P/Ic/NA)', value: (row) => row.results_greater_6_weeks ?? '' },
|
|
90
|
+
{
|
|
91
|
+
header: 'HAART & Infant Prophylaxis and Treatment - <=6wks - Infant - NVP +AZT +CTX or NVP +CTX - (Y/N/NA/R)',
|
|
92
|
+
value: (row) => row.infant_prophylaxis_less_6_weeks ?? '',
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
header: 'HAART & Infant Prophylaxis and Treatment - <=6wks - Mother - HAART - (Y/N/NA/R)',
|
|
96
|
+
value: (row) => row.maternal_haart_less_6_weeks ?? '',
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
header: 'HAART & Infant Prophylaxis and Treatment - >6wks - Infant - NVP +AZT +CTX or NVP +CTX - (Y/N/NA/R)',
|
|
100
|
+
value: (row) => row.infant_prophylaxis_greater_6_weeks ?? '',
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
header: 'HAART & Infant Prophylaxis and Treatment - >6wks - Mother - HAART - (Y/N/NA/R)',
|
|
104
|
+
value: (row) => row.maternal_haart_greater_6_weeks ?? '',
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
header:
|
|
108
|
+
'Cervical Cancer Screening (VIA/VILLI/PAP Smear/ND) - Results 1=Normal, 2=Suspected, 3= Confirmed, 4= Not done',
|
|
109
|
+
value: (row) => row.cervical_cancer_method ?? '',
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
header: 'Modern Post Partum Family Planning (Y/N) - Counseled Method received',
|
|
113
|
+
value: (row) => row.counselled ?? '',
|
|
114
|
+
},
|
|
115
|
+
{ header: 'Other Maternal Complications', value: (row) => row.other_maternal_complications ?? '' },
|
|
116
|
+
{ header: 'Haematinics (Y/N)', value: (row) => row.haematinics ?? '' },
|
|
117
|
+
{
|
|
118
|
+
header: 'Refferals - From - 1 = Community Unit 2 = Another Health Facility 3 = Not Applicable',
|
|
119
|
+
value: (row) => row.referrals_from ?? '',
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
header: 'Refferals - To - 1 = Community Unit 2 = Another Health Facility 3 = Not Applicable',
|
|
123
|
+
value: (row) => row.referrals_to ?? '',
|
|
124
|
+
},
|
|
125
|
+
{ header: 'Refferals - Reasons for referral (specify)', value: (row) => row.reason_for_referral ?? '' },
|
|
126
|
+
{ header: 'Remarks', value: (row) => row.remarks ?? '' },
|
|
127
|
+
{ header: 'Nupi', value: (row) => row.nupi ?? '' },
|
|
128
|
+
{ header: 'Age', value: (row) => row.age ?? '' },
|
|
129
|
+
{ header: 'Phone number', value: (row) => row.phone_number ?? '' },
|
|
130
|
+
{ header: 'Pallor', value: (row) => row.pallor ?? '' },
|
|
131
|
+
{ header: 'Cervical cancer results', value: (row) => row.cervical_cancer_results ?? '' },
|
|
132
|
+
{ header: 'Family planning method', value: (row) => row.family_planning_method ?? '' },
|
|
133
|
+
];
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useSearchParams } from 'react-router-dom';
|
|
3
|
+
|
|
4
|
+
import styles from '../../../common/report-register/register-table.scss';
|
|
5
|
+
import { getMoh510PatientList } from '../../../resources/moh-711.resource';
|
|
6
|
+
import { RegisterLayout, usePatientList } from '../../../common/report-register';
|
|
7
|
+
|
|
8
|
+
const Moh510Register: React.FC = () => {
|
|
9
|
+
const [searchParams] = useSearchParams();
|
|
10
|
+
|
|
11
|
+
const startDate = searchParams.get('startDate');
|
|
12
|
+
const endDate = searchParams.get('endDate');
|
|
13
|
+
const locationUuids = searchParams.get('locationUuids');
|
|
14
|
+
const indicator = searchParams.get('indicator');
|
|
15
|
+
|
|
16
|
+
const {
|
|
17
|
+
rows: patientlist,
|
|
18
|
+
total,
|
|
19
|
+
isTotalExact,
|
|
20
|
+
isLoading,
|
|
21
|
+
page,
|
|
22
|
+
pageSize,
|
|
23
|
+
onPageChange,
|
|
24
|
+
fetchAll,
|
|
25
|
+
} = usePatientList(
|
|
26
|
+
({ startIndex, limit }) =>
|
|
27
|
+
getMoh510PatientList({
|
|
28
|
+
startDate,
|
|
29
|
+
endDate,
|
|
30
|
+
locationUuids,
|
|
31
|
+
indicator,
|
|
32
|
+
startIndex,
|
|
33
|
+
limit,
|
|
34
|
+
}),
|
|
35
|
+
[startDate, endDate, locationUuids, indicator],
|
|
36
|
+
);
|
|
37
|
+
|
|
38
|
+
return (
|
|
39
|
+
<RegisterLayout
|
|
40
|
+
parentLabel="MOH-711 Report"
|
|
41
|
+
parentPath="/moh-711"
|
|
42
|
+
title="MOH 510 Register"
|
|
43
|
+
isLoading={isLoading}
|
|
44
|
+
isEmpty={patientlist.length === 0}
|
|
45
|
+
page={page}
|
|
46
|
+
pageSize={pageSize}
|
|
47
|
+
total={total}
|
|
48
|
+
isTotalExact={isTotalExact}
|
|
49
|
+
onPageChange={onPageChange}
|
|
50
|
+
fetchAll={fetchAll}
|
|
51
|
+
></RegisterLayout>
|
|
52
|
+
);
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
export default Moh510Register;
|
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
import { Table, TableBody, TableHead, TableHeader, TableRow } from '@carbon/react';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { useLocation, useNavigate, useSearchParams } from 'react-router-dom';
|
|
4
|
+
|
|
5
|
+
import styles from '../../../common/report-register/register-table.scss';
|
|
6
|
+
import { getMoh511PatientList } from '../../../resources/moh-711.resource';
|
|
7
|
+
import { moh511Columns } from './type';
|
|
8
|
+
import classNames from 'classnames';
|
|
9
|
+
import { moh511ExportColumns } from './moh-511.columns';
|
|
10
|
+
import { RegisterLayout, usePatientList } from '../../../common/report-register';
|
|
11
|
+
|
|
12
|
+
const Moh511Register: React.FC = () => {
|
|
13
|
+
const [searchParams] = useSearchParams();
|
|
14
|
+
const location = useLocation();
|
|
15
|
+
|
|
16
|
+
const startDate = searchParams.get('startDate');
|
|
17
|
+
const endDate = searchParams.get('endDate');
|
|
18
|
+
const locationUuids = searchParams.get('locationUuids');
|
|
19
|
+
const indicator = searchParams.get('indicator');
|
|
20
|
+
const reportName = location.state?.reportName || '';
|
|
21
|
+
|
|
22
|
+
const {
|
|
23
|
+
rows: patientlist,
|
|
24
|
+
total,
|
|
25
|
+
isTotalExact,
|
|
26
|
+
isLoading,
|
|
27
|
+
page,
|
|
28
|
+
pageSize,
|
|
29
|
+
onPageChange,
|
|
30
|
+
fetchAll,
|
|
31
|
+
} = usePatientList(
|
|
32
|
+
({ startIndex, limit }) =>
|
|
33
|
+
getMoh511PatientList({
|
|
34
|
+
startDate,
|
|
35
|
+
endDate,
|
|
36
|
+
locationUuids,
|
|
37
|
+
indicator,
|
|
38
|
+
reportName,
|
|
39
|
+
startIndex,
|
|
40
|
+
limit,
|
|
41
|
+
}),
|
|
42
|
+
[startDate, endDate, locationUuids, indicator, reportName],
|
|
43
|
+
);
|
|
44
|
+
|
|
45
|
+
return (
|
|
46
|
+
<RegisterLayout
|
|
47
|
+
parentLabel="MOH-711 Report"
|
|
48
|
+
parentPath="/moh-711"
|
|
49
|
+
title="MOH 511 Register"
|
|
50
|
+
isLoading={isLoading}
|
|
51
|
+
isEmpty={patientlist.length === 0}
|
|
52
|
+
page={page}
|
|
53
|
+
pageSize={pageSize}
|
|
54
|
+
total={total}
|
|
55
|
+
isTotalExact={isTotalExact}
|
|
56
|
+
onPageChange={onPageChange}
|
|
57
|
+
fetchAll={fetchAll}
|
|
58
|
+
columns={moh511ExportColumns}
|
|
59
|
+
>
|
|
60
|
+
<Table className={classNames(`${styles.table}`, `${styles.tableBordered}`, `${styles.tableStriped}`)}>
|
|
61
|
+
<TableHead>
|
|
62
|
+
<TableRow>
|
|
63
|
+
<TableHeader>Serial No.</TableHeader>
|
|
64
|
+
<TableHeader>
|
|
65
|
+
Date.
|
|
66
|
+
<br />
|
|
67
|
+
(DD:MM:YYYY)
|
|
68
|
+
</TableHeader>
|
|
69
|
+
<TableHeader>
|
|
70
|
+
CWC No.
|
|
71
|
+
<br />
|
|
72
|
+
(New Visit)
|
|
73
|
+
</TableHeader>
|
|
74
|
+
<TableHeader>
|
|
75
|
+
CWC No.
|
|
76
|
+
<br />
|
|
77
|
+
(Revisit)
|
|
78
|
+
</TableHeader>
|
|
79
|
+
<TableHeader>
|
|
80
|
+
BIRTH NOTIFICATION
|
|
81
|
+
<br /> (NUMBER)
|
|
82
|
+
</TableHeader>
|
|
83
|
+
<TableHeader>Full Names (Three names)</TableHeader>
|
|
84
|
+
<TableHeader>Age</TableHeader>
|
|
85
|
+
<TableHeader>Sex</TableHeader>
|
|
86
|
+
<TableHeader>
|
|
87
|
+
County/Sub-
|
|
88
|
+
<br />
|
|
89
|
+
county
|
|
90
|
+
</TableHeader>
|
|
91
|
+
<TableHeader>
|
|
92
|
+
Village /Estate / <br />
|
|
93
|
+
Landmark
|
|
94
|
+
</TableHeader>
|
|
95
|
+
<TableHeader>
|
|
96
|
+
Telephone
|
|
97
|
+
<br />
|
|
98
|
+
number
|
|
99
|
+
</TableHeader>
|
|
100
|
+
<TableHeader>Weight in Kgs</TableHeader>
|
|
101
|
+
<TableHeader>
|
|
102
|
+
Weight
|
|
103
|
+
<br />
|
|
104
|
+
categories:
|
|
105
|
+
<br />
|
|
106
|
+
(1=Normal
|
|
107
|
+
<br />
|
|
108
|
+
2=UW
|
|
109
|
+
<br />
|
|
110
|
+
3=SUW
|
|
111
|
+
<br />
|
|
112
|
+
4=OW
|
|
113
|
+
<br />
|
|
114
|
+
5=Obese)
|
|
115
|
+
</TableHeader>
|
|
116
|
+
<TableHeader>Height / Length in cm</TableHeader>
|
|
117
|
+
<TableHeader>
|
|
118
|
+
Height/Length
|
|
119
|
+
<br />
|
|
120
|
+
categories:
|
|
121
|
+
<br />
|
|
122
|
+
(1=Normal
|
|
123
|
+
<br />
|
|
124
|
+
2=Stunted
|
|
125
|
+
<br />
|
|
126
|
+
3=Sev.
|
|
127
|
+
<br />
|
|
128
|
+
Stunted)
|
|
129
|
+
<br />
|
|
130
|
+
</TableHeader>
|
|
131
|
+
<TableHeader>
|
|
132
|
+
MUAC
|
|
133
|
+
<br />
|
|
134
|
+
1.Green
|
|
135
|
+
<br />
|
|
136
|
+
2.Yellow
|
|
137
|
+
<br />
|
|
138
|
+
3.Red
|
|
139
|
+
</TableHeader>
|
|
140
|
+
<TableHeader>
|
|
141
|
+
Exclusive <br /> Breast feeding <br />
|
|
142
|
+
(less than 6<br /> months)(Y/N)
|
|
143
|
+
</TableHeader>
|
|
144
|
+
<TableHeader>
|
|
145
|
+
Vitamin A
|
|
146
|
+
<br />
|
|
147
|
+
supplimentation:
|
|
148
|
+
<br />
|
|
149
|
+
(6-59 months) (1=6-
|
|
150
|
+
<br />
|
|
151
|
+
11 months, 2=12-59
|
|
152
|
+
<br />
|
|
153
|
+
months, 3=Not
|
|
154
|
+
<br />
|
|
155
|
+
supplimented)
|
|
156
|
+
</TableHeader>
|
|
157
|
+
<TableHeader>Dewormed (Y/N)</TableHeader>
|
|
158
|
+
<TableHeader>
|
|
159
|
+
MNPs supplimentation:(6-23
|
|
160
|
+
<br />
|
|
161
|
+
children)
|
|
162
|
+
</TableHeader>
|
|
163
|
+
<TableHeader>
|
|
164
|
+
Childs assessed for <br />
|
|
165
|
+
Developmental milestones <br />
|
|
166
|
+
including 1st Haed control ,2=
|
|
167
|
+
<br />
|
|
168
|
+
sitting, 3=talking
|
|
169
|
+
</TableHeader>
|
|
170
|
+
<TableHeader>
|
|
171
|
+
Any Danger Signs
|
|
172
|
+
<br />
|
|
173
|
+
1.Unable to breastfeed
|
|
174
|
+
<br />
|
|
175
|
+
2.Unable to drink
|
|
176
|
+
<br />
|
|
177
|
+
3.Vomits everything
|
|
178
|
+
<br />
|
|
179
|
+
4.Bloody diarrhoea
|
|
180
|
+
<br />
|
|
181
|
+
5.Has oedema <br />
|
|
182
|
+
6.Has convulsions
|
|
183
|
+
</TableHeader>
|
|
184
|
+
<TableHeader>Any Disability</TableHeader>
|
|
185
|
+
<TableHeader>Immunization status up to date(Y/N)</TableHeader>
|
|
186
|
+
<TableHeader>LLIN gievn to under 1 years(Y/N)</TableHeader>
|
|
187
|
+
<TableHeader>
|
|
188
|
+
Follow up for: <br />
|
|
189
|
+
1=Nutrition service
|
|
190
|
+
<br />
|
|
191
|
+
2=Rehabilitation service
|
|
192
|
+
</TableHeader>
|
|
193
|
+
<TableHeader>
|
|
194
|
+
1=referred from CU; 2= <br />
|
|
195
|
+
referred from another H/F;
|
|
196
|
+
<br />
|
|
197
|
+
3=Not applicable
|
|
198
|
+
</TableHeader>
|
|
199
|
+
<TableHeader>
|
|
200
|
+
1=referred to CU; 2= <br />
|
|
201
|
+
referred to another H/F;
|
|
202
|
+
<br />
|
|
203
|
+
3=Not applicable
|
|
204
|
+
</TableHeader>
|
|
205
|
+
<TableHeader>
|
|
206
|
+
Reason for referral <br />
|
|
207
|
+
....specify
|
|
208
|
+
</TableHeader>
|
|
209
|
+
<TableHeader>REMARKS</TableHeader>
|
|
210
|
+
</TableRow>
|
|
211
|
+
<TableRow>
|
|
212
|
+
<TableHeader>A</TableHeader>
|
|
213
|
+
<TableHeader>B</TableHeader>
|
|
214
|
+
<TableHeader>C</TableHeader>
|
|
215
|
+
<TableHeader>D</TableHeader>
|
|
216
|
+
<TableHeader>E</TableHeader>
|
|
217
|
+
<TableHeader>F</TableHeader>
|
|
218
|
+
<TableHeader>G</TableHeader>
|
|
219
|
+
<TableHeader>H</TableHeader>
|
|
220
|
+
<TableHeader>I</TableHeader>
|
|
221
|
+
<TableHeader>J</TableHeader>
|
|
222
|
+
<TableHeader>K</TableHeader>
|
|
223
|
+
<TableHeader>L</TableHeader>
|
|
224
|
+
<TableHeader>M</TableHeader>
|
|
225
|
+
<TableHeader>N</TableHeader>
|
|
226
|
+
<TableHeader>O</TableHeader>
|
|
227
|
+
<TableHeader>P</TableHeader>
|
|
228
|
+
<TableHeader>Q</TableHeader>
|
|
229
|
+
<TableHeader>R</TableHeader>
|
|
230
|
+
<TableHeader>S</TableHeader>
|
|
231
|
+
<TableHeader>T</TableHeader>
|
|
232
|
+
<TableHeader>U</TableHeader>
|
|
233
|
+
<TableHeader>V</TableHeader>
|
|
234
|
+
<TableHeader>W</TableHeader>
|
|
235
|
+
<TableHeader>X</TableHeader>
|
|
236
|
+
<TableHeader>Y</TableHeader>
|
|
237
|
+
<TableHeader>Z</TableHeader>
|
|
238
|
+
<TableHeader>AA</TableHeader>
|
|
239
|
+
<TableHeader>AB</TableHeader>
|
|
240
|
+
<TableHeader>AC</TableHeader>
|
|
241
|
+
<TableHeader>AD</TableHeader>
|
|
242
|
+
</TableRow>
|
|
243
|
+
</TableHead>
|
|
244
|
+
<TableBody>
|
|
245
|
+
{patientlist?.length > 0 ? (
|
|
246
|
+
patientlist.map((patient, index) => (
|
|
247
|
+
<TableRow key={index}>
|
|
248
|
+
{moh511Columns.map((col) => (
|
|
249
|
+
<td key={col}>
|
|
250
|
+
{col === 'serial_no'
|
|
251
|
+
? index + 1
|
|
252
|
+
: col === 'visit_date'
|
|
253
|
+
? new Date(patient?.[col]).toLocaleDateString('en-GB')
|
|
254
|
+
: (patient?.[col] ?? '')}
|
|
255
|
+
</td>
|
|
256
|
+
))}
|
|
257
|
+
</TableRow>
|
|
258
|
+
))
|
|
259
|
+
) : (
|
|
260
|
+
<TableRow>
|
|
261
|
+
<td colSpan={moh511Columns.length}>No data available</td>
|
|
262
|
+
</TableRow>
|
|
263
|
+
)}
|
|
264
|
+
</TableBody>
|
|
265
|
+
</Table>
|
|
266
|
+
</RegisterLayout>
|
|
267
|
+
);
|
|
268
|
+
};
|
|
269
|
+
|
|
270
|
+
export default Moh511Register;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { type RegisterColumn } from '../../../common/report-register';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* MOH 511 as the register prints it: one column per cell, in the order they appear.
|
|
5
|
+
*/
|
|
6
|
+
export const moh511ExportColumns: RegisterColumn[] = [
|
|
7
|
+
{ header: 'Serial No. - A', value: (row) => row.serial_no ?? '' },
|
|
8
|
+
{ header: 'Date. (DD:MM:YYYY) - B', value: (row) => row.visit_date ?? '' },
|
|
9
|
+
{ header: 'CWC No. (New Visit) - C', value: (row) => row.cwc_number_new ?? '' },
|
|
10
|
+
{ header: 'CWC No. (Revisit) - D', value: (row) => row.cwc_number_revisit ?? '' },
|
|
11
|
+
{ header: 'BIRTH NOTIFICATION (NUMBER) - E', value: (row) => row.birth_notification_number ?? '' },
|
|
12
|
+
{ header: 'Full Names (Three names) - F', value: (row) => row.full_name ?? '' },
|
|
13
|
+
{ header: 'Age - G', value: (row) => row.age ?? '' },
|
|
14
|
+
{ header: 'Sex - H', value: (row) => row.sex ?? '' },
|
|
15
|
+
{ header: 'County/Sub- county - I', value: (row) => row.county_sub_county ?? '' },
|
|
16
|
+
{ header: 'Village /Estate / Landmark - J', value: (row) => row.village_estate_landmark ?? '' },
|
|
17
|
+
{ header: 'Telephone number - K', value: (row) => row.phone_number ?? '' },
|
|
18
|
+
{ header: 'Weight in Kgs - L', value: (row) => row.weight_kg ?? '' },
|
|
19
|
+
{ header: 'Weight categories: (1=Normal 2=UW 3=SUW 4=OW 5=Obese) - M', value: (row) => row.weight_category ?? '' },
|
|
20
|
+
{ header: 'Height / Length in cm - N', value: (row) => row.height ?? '' },
|
|
21
|
+
{
|
|
22
|
+
header: 'Height/Length categories: (1=Normal 2=Stunted 3=Sev. Stunted) - O',
|
|
23
|
+
value: (row) => row.height_category ?? '',
|
|
24
|
+
},
|
|
25
|
+
{ header: 'MUAC 1.Green 2.Yellow 3.Red - P', value: (row) => row.muac ?? '' },
|
|
26
|
+
{
|
|
27
|
+
header: 'Exclusive Breast feeding (less than 6 months)(Y/N) - Q',
|
|
28
|
+
value: (row) => row.exclusive_breastfeeding_less_6_months ?? '',
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
header: 'Vitamin A supplimentation: (6-59 months) (1=6- 11 months, 2=12-59 months, 3=Not supplimented) - R',
|
|
32
|
+
value: (row) => row.vitamin_A_supplementation ?? '',
|
|
33
|
+
},
|
|
34
|
+
{ header: 'Dewormed (Y/N) - S', value: (row) => row.dewormed ?? '' },
|
|
35
|
+
{ header: 'MNPs supplimentation:(6-23 children) - T', value: (row) => row.mnps_supplimentation ?? '' },
|
|
36
|
+
{
|
|
37
|
+
header: 'Childs assessed for Developmental milestones including 1st Haed control ,2= sitting, 3=talking - U',
|
|
38
|
+
value: (row) => row.developmental_milestones ?? '',
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
header:
|
|
42
|
+
'Any Danger Signs 1.Unable to breastfeed 2.Unable to drink 3.Vomits everything 4.Bloody diarrhoea 5.Has oedema 6.Has convulsions - V',
|
|
43
|
+
value: (row) => row.danger_signs ?? '',
|
|
44
|
+
},
|
|
45
|
+
{ header: 'Any Disability - W', value: (row) => row.disability ?? '' },
|
|
46
|
+
{ header: 'Immunization status up to date(Y/N) - X', value: (row) => row.immunization_status_up_to_date ?? '' },
|
|
47
|
+
{ header: 'LLIN gievn to under 1 years(Y/N) - Y', value: (row) => row.llin_supplimentation_given ?? '' },
|
|
48
|
+
{ header: 'Follow up for: 1=Nutrition service 2=Rehabilitation service - Z', value: (row) => row.follow_up ?? '' },
|
|
49
|
+
{
|
|
50
|
+
header: '1=referred from CU; 2= referred from another H/F; 3=Not applicable - AA',
|
|
51
|
+
value: (row) => row.referred_from ?? '',
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
header: '1=referred to CU; 2= referred to another H/F; 3=Not applicable - AB',
|
|
55
|
+
value: (row) => row.referred_to ?? '',
|
|
56
|
+
},
|
|
57
|
+
{ header: 'Reason for referral ....specify - AC', value: (row) => row.reason_for_referral ?? '' },
|
|
58
|
+
{ header: 'REMARKS - AD', value: (row) => row.remarks ?? '' },
|
|
59
|
+
];
|