@kenyaemr/esm-shr-app 5.1.1-pre.122

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 (51) hide show
  1. package/.turbo/turbo-build.log +45 -0
  2. package/LICENSE.md +401 -0
  3. package/README.md +5 -0
  4. package/dist/130.js +2 -0
  5. package/dist/130.js.LICENSE.txt +5 -0
  6. package/dist/130.js.map +1 -0
  7. package/dist/336.js +1 -0
  8. package/dist/336.js.map +1 -0
  9. package/dist/44.js +1 -0
  10. package/dist/44.js.map +1 -0
  11. package/dist/47.js +1 -0
  12. package/dist/47.js.map +1 -0
  13. package/dist/574.js +1 -0
  14. package/dist/588.js +1 -0
  15. package/dist/588.js.map +1 -0
  16. package/dist/591.js +2 -0
  17. package/dist/591.js.LICENSE.txt +32 -0
  18. package/dist/591.js.map +1 -0
  19. package/dist/625.js +2 -0
  20. package/dist/625.js.LICENSE.txt +35 -0
  21. package/dist/625.js.map +1 -0
  22. package/dist/784.js +2 -0
  23. package/dist/784.js.LICENSE.txt +9 -0
  24. package/dist/784.js.map +1 -0
  25. package/dist/964.js +1 -0
  26. package/dist/964.js.map +1 -0
  27. package/dist/kenyaemr-esm-shr-app.js +1 -0
  28. package/dist/kenyaemr-esm-shr-app.js.buildmanifest.json +335 -0
  29. package/dist/kenyaemr-esm-shr-app.js.map +1 -0
  30. package/dist/main.js +2 -0
  31. package/dist/main.js.LICENSE.txt +35 -0
  32. package/dist/main.js.map +1 -0
  33. package/dist/routes.json +1 -0
  34. package/package.json +52 -0
  35. package/src/config-schema.ts +1 -0
  36. package/src/dashboard.meta.ts +6 -0
  37. package/src/declarations.d.tsx +2 -0
  38. package/src/hooks/useSHRSummary.ts +14 -0
  39. package/src/index.ts +24 -0
  40. package/src/print-layout/print.component.tsx +16 -0
  41. package/src/print-layout/print.scss +10 -0
  42. package/src/routes.json +30 -0
  43. package/src/shrpatient-summary/root.scss +81 -0
  44. package/src/shrpatient-summary/shr-summary.scss +168 -0
  45. package/src/shrpatient-summary/shrDataTable.component.tsx +63 -0
  46. package/src/shrpatient-summary/shrpatient-summary.component.tsx +176 -0
  47. package/src/shrpatient-summary/visit-detail-overview.scss +193 -0
  48. package/src/types/index.ts +173 -0
  49. package/translations/en.json +1 -0
  50. package/tsconfig.json +5 -0
  51. package/webpack.config.js +4 -0
@@ -0,0 +1,193 @@
1
+ @use '@carbon/styles/scss/spacing';
2
+ @use '@carbon/styles/scss/type';
3
+ @import '~@openmrs/esm-styleguide/src/vars';
4
+ @import "./root.scss";
5
+
6
+ .visitType {
7
+ @include type.type-style('heading-compact-02');
8
+ color: $text-02;
9
+ margin-bottom: 5px;
10
+ }
11
+
12
+ .date {
13
+ @include type.type-style('body-compact-01');
14
+ color: $text-02;
15
+ padding-right: 0.625rem;
16
+ }
17
+
18
+ .dateLabel{
19
+ padding-right: 0.313rem;
20
+ }
21
+
22
+ .displayFlex{
23
+ display:flex;
24
+ align-items: center;
25
+ justify-content: left;
26
+ }
27
+
28
+ .container {
29
+ background-color: $ui-background;
30
+ border: 1px solid $grey-2;
31
+ padding: 1rem;
32
+ margin: 1rem 0rem 1rem;
33
+ width: 100%;
34
+ }
35
+
36
+ .tabs > :global(.cds--tab-content) {
37
+ padding: 1rem 0rem !important;
38
+ }
39
+
40
+ .tab {
41
+ &:active, &:focus {
42
+ outline: 2px solid var(--brand-03) !important;
43
+ }
44
+
45
+ &[aria-selected="true"] {
46
+ box-shadow: inset 0 2px 0 0 var(--brand-03) !important;
47
+ }
48
+ }
49
+
50
+ .header {
51
+ .visitInfo {
52
+ display: flex;
53
+ align-items: center;
54
+ justify-content: space-between;
55
+ }
56
+ }
57
+
58
+ .header::after {
59
+ content: "";
60
+ display: block;
61
+ width: 2rem;
62
+ padding-top: 0.188rem;
63
+ border-bottom: 0.375rem solid var(--brand-03);
64
+ }
65
+
66
+ .toggleButtons {
67
+ margin: 0 1rem;
68
+ height: 2.5rem;
69
+ }
70
+
71
+ .toggle {
72
+ border: 1px solid #A6C8FF;
73
+
74
+ &:hover {
75
+ background-color: $color-blue-10;
76
+ }
77
+
78
+ &:active, &:focus {
79
+ box-shadow: none;
80
+ background-color: $color-blue-10;
81
+ }
82
+
83
+ &:first-of-type {
84
+ border-radius: spacing.$spacing-02 0 0 spacing.$spacing-02;
85
+ }
86
+
87
+ &:last-of-type {
88
+ border-radius: 0 spacing.$spacing-02 spacing.$spacing-02 0;
89
+ }
90
+ }
91
+
92
+ .encounterEmptyState {
93
+ text-align: center;
94
+ margin: 0 1rem 1rem 1rem;
95
+ }
96
+
97
+ .observation {
98
+ display: grid;
99
+ grid-template-columns: 1fr 1fr;
100
+ grid-gap: 0.5rem;
101
+ margin: 1rem 1rem 0 0;
102
+ }
103
+
104
+ .observation > span {
105
+ align-self: center;
106
+ }
107
+
108
+ .flexSections {
109
+ display: flex;
110
+ }
111
+
112
+ .desktopTabs {
113
+ button {
114
+ height: 32px;
115
+ }
116
+ }
117
+
118
+ .tabletTabs {
119
+ button {
120
+ height: 48px;
121
+ }
122
+ }
123
+
124
+ .tabContent {
125
+ border-top: 1px solid $ui-03;
126
+ padding: 1rem 0;
127
+ width: 70%;
128
+ }
129
+
130
+ .medicationRecord {
131
+ display: flex;
132
+ flex-flow: row wrap;
133
+ align-items: center;
134
+ @include type.type-style('body-01');
135
+ color: $text-02;
136
+ }
137
+
138
+ .medicationContainer {
139
+ background-color: $ui-01;
140
+ padding: 1rem;
141
+ width: 100% !important;
142
+ }
143
+
144
+ .dosage {
145
+ @include type.type-style("heading-compact-01");
146
+ }
147
+
148
+ .toggleSwitch {
149
+ display: flex;
150
+ flex-direction: row;
151
+ justify-content: flex-end;
152
+ margin-bottom: spacing.$spacing-02;
153
+ }
154
+
155
+ .toggleSwitch div {
156
+ width: 30%;
157
+ }
158
+
159
+ .noteText {
160
+ background-color: $ui-01;
161
+ padding: 1rem;
162
+ width: 100% !important;
163
+ white-space: pre-wrap;
164
+ }
165
+
166
+ .metadata {
167
+ @include type.type-style('label-01');
168
+ color: $text-02;
169
+ margin: spacing.$spacing-02 0;
170
+ }
171
+
172
+ .observationsEmptyState {
173
+ margin-top: 1.5rem;
174
+ }
175
+
176
+ .loader {
177
+ margin: 0 auto;
178
+ }
179
+
180
+ .notesContainer {
181
+ margin-bottom: 2rem;
182
+ }
183
+
184
+ // Overriding styles for RTL support
185
+ html[dir='rtl'] {
186
+ .header {
187
+ .visitInfo {
188
+ display: flex;
189
+ align-items: center;
190
+ justify-content: space-between;
191
+ }
192
+ }
193
+ }
@@ -0,0 +1,173 @@
1
+ type HIVData = {
2
+ whoStage: number;
3
+ whoStageDate: string;
4
+ cd4: string;
5
+ cd4Date: string;
6
+ cd4Percent: string;
7
+ cd4PercentDate: string;
8
+ ldlValue: string;
9
+ ldlDate: string;
10
+ enrolledInHiv: boolean;
11
+ lastEncDetails: {
12
+ startDate: string;
13
+ endDate: string;
14
+ regimenShortDisplay: string;
15
+ regimenLine: string;
16
+ regimenLongDisplay: string;
17
+ changeReasons: string[];
18
+ regimenUuid: string;
19
+ current: boolean;
20
+ };
21
+ };
22
+
23
+ type TBData = {
24
+ tbDiseaseClassification: string;
25
+ tbPatientClassification: string;
26
+ tbTreatmentNumber: string;
27
+ lastTbEncounter: {
28
+ startDate: string;
29
+ endDate: string;
30
+ regimenShortDisplay: string;
31
+ regimenLine: string;
32
+ regimenLongDisplay: string;
33
+ changeReasons: string[];
34
+ regimenUuid: string;
35
+ current: boolean;
36
+ };
37
+ tbDiseaseClassificationDate: String;
38
+ };
39
+
40
+ type MCHMotherData = {
41
+ hivStatus: string;
42
+ hivStatusDate: string;
43
+ onHaart: string;
44
+ onHaartDate: string;
45
+ };
46
+
47
+ export type MCHChildData = {
48
+ currentProphylaxisUsed: string;
49
+ currentProphylaxisUsedDate: string;
50
+ currentFeedingOption: string;
51
+ currentFeedingOptionDate: string;
52
+ milestonesAttained: string;
53
+ milestonesAttainedDate: string;
54
+ heiOutcome: string;
55
+ heiOutcomeDate: string;
56
+ hivStatus: string;
57
+ hivStatusDate: string;
58
+ };
59
+
60
+ export type ProgramSummary = {
61
+ HIV?: HIVData;
62
+ TB?: TBData;
63
+ mchMother?: MCHMotherData;
64
+ mchChild?: MCHChildData;
65
+ };
66
+
67
+ export enum ProgramType {
68
+ HIV = 'HIV',
69
+ TB = 'TB',
70
+ TPT = 'TPT',
71
+ MCH_MOTHER = 'MCH - Mother Services',
72
+ MCH_CHILD = 'MCH - Child Services',
73
+ MCHMOTHER = 'mchMother',
74
+ MCHCHILD = 'mchChild',
75
+ }
76
+
77
+ export type PatientSummary = {
78
+ reportDate: string;
79
+ clinicName: string;
80
+ mflCode: string;
81
+ patientName: string;
82
+ birthDate: string;
83
+ age: string;
84
+ gender: string;
85
+ uniquePatientIdentifier: string;
86
+ nationalUniquePatientIdentifier: string;
87
+ maritalStatus: string;
88
+ height: string;
89
+ weight: string;
90
+ bmi: string;
91
+ oxygenSaturation: string;
92
+ pulseRate: string;
93
+ bloodPressure: string;
94
+ bpDiastolic: string;
95
+ lmp: string;
96
+ respiratoryRate: string;
97
+ dateConfirmedHIVPositive: string;
98
+ firstCd4: string;
99
+ firstCd4Date: string;
100
+ dateEnrolledIntoCare: string;
101
+ whoStagingAtEnrollment: string;
102
+ caxcScreeningOutcome: string;
103
+ stiScreeningOutcome: string;
104
+ familyProtection: string;
105
+ transferInFacility: string;
106
+ patientEntryPoint: string;
107
+ patientEntryPointDate: string;
108
+ nameOfTreatmentSupporter: string;
109
+ relationshipToTreatmentSupporter: string;
110
+ transferInDate: string;
111
+ contactOfTreatmentSupporter: string;
112
+ dateEnrolledInTb: string;
113
+ dateCompletedInTb: string;
114
+ tbScreeningOutcome: string;
115
+ chronicDisease: string;
116
+ previousArtStatus: string;
117
+ dateStartedArt: string;
118
+ whoStageAtArtStart: string;
119
+ cd4AtArtStart: string;
120
+ heightArtInitiation: string;
121
+ firstRegimen: string;
122
+ purposeDrugs: string;
123
+ purposeDate: string;
124
+ iosResults: string;
125
+ currentArtRegimen: string;
126
+ currentWhoStaging: string;
127
+ ctxValue: string;
128
+ dapsone: string;
129
+ onIpt: string;
130
+ allergies: string;
131
+ clinicsEnrolled: string;
132
+ mostRecentCd4: string;
133
+ mostRecentCd4Date: string;
134
+ deathDate: string;
135
+ nextAppointmentDate: string;
136
+ transferOutDate: string;
137
+ transferOutFacility: string;
138
+ viralLoadValue: string;
139
+ viralLoadDate: string;
140
+ allCd4CountResults: Array<cd4Results>;
141
+ allVlResults: vlResults;
142
+ };
143
+
144
+ export type SHRSummary = {
145
+ vitals: Array<itemDetails>;
146
+ labResults: Array<itemDetails>;
147
+ complaints: Array<itemDetails>;
148
+ diagnosis: Array<itemDetails>;
149
+ allergies: Array<itemDetails>;
150
+ conditions: Array<itemDetails>;
151
+ medications: Array<itemDetails>;
152
+ };
153
+
154
+ export type itemDetails = {
155
+ uuid: string;
156
+ name: string;
157
+ dateRecorded: string;
158
+ value: string;
159
+ };
160
+
161
+ type cd4Results = {
162
+ cd4Count: string;
163
+ cd4CountDate: string;
164
+ };
165
+
166
+ type vlResults = {
167
+ value: Array<vl>;
168
+ };
169
+
170
+ type vl = {
171
+ vl?: string;
172
+ vlDate?: string;
173
+ };
@@ -0,0 +1 @@
1
+ {}
package/tsconfig.json ADDED
@@ -0,0 +1,5 @@
1
+ {
2
+ "extends": "../../tsconfig.json",
3
+ "include": ["src/**/*"],
4
+ "exclude": ["src/**/*.test.tsx", "src/**/*.outdated.tsx"]
5
+ }
@@ -0,0 +1,4 @@
1
+ const config = require('openmrs/default-webpack-config');
2
+ config.scriptRuleConfig.exclude = /node_modules(?![\/\\]@openmrs)/;
3
+ // this is a CommonJS module
4
+ module.exports = config;