@openmrs/esm-generic-patient-widgets-app 11.3.1-pre.9400 → 11.3.1-pre.9403

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 (38) hide show
  1. package/.turbo/turbo-build.log +16 -16
  2. package/dist/1936.js +1 -0
  3. package/dist/1936.js.map +1 -0
  4. package/dist/2606.js +2 -0
  5. package/dist/2606.js.map +1 -0
  6. package/dist/4300.js +1 -1
  7. package/dist/5670.js +1 -1
  8. package/dist/7545.js +2 -0
  9. package/dist/7545.js.map +1 -0
  10. package/dist/8803.js +1 -1
  11. package/dist/main.js +1 -1
  12. package/dist/main.js.map +1 -1
  13. package/dist/openmrs-esm-generic-patient-widgets-app.js +1 -1
  14. package/dist/openmrs-esm-generic-patient-widgets-app.js.buildmanifest.json +91 -91
  15. package/dist/openmrs-esm-generic-patient-widgets-app.js.map +1 -1
  16. package/dist/routes.json +1 -1
  17. package/package.json +2 -2
  18. package/src/config-schema-obs-horizontal.ts +12 -0
  19. package/src/obs-graph/obs-graph.component.tsx +12 -12
  20. package/src/obs-switchable/obs-switchable.component.tsx +5 -9
  21. package/src/obs-switchable/obs-switchable.test.tsx +22 -12
  22. package/src/obs-table/obs-table.component.tsx +2 -1
  23. package/src/obs-table-horizontal/obs-table-horizontal.component.tsx +466 -56
  24. package/src/obs-table-horizontal/obs-table-horizontal.resource.ts +67 -0
  25. package/src/obs-table-horizontal/obs-table-horizontal.scss +47 -0
  26. package/src/obs-table-horizontal/obs-table-horizontal.test.tsx +912 -0
  27. package/src/resources/useConcepts.ts +14 -4
  28. package/src/resources/useEncounterTypes.ts +34 -0
  29. package/src/resources/useObs.ts +29 -47
  30. package/translations/en.json +6 -1
  31. package/dist/251.js +0 -2
  32. package/dist/251.js.map +0 -1
  33. package/dist/8743.js +0 -2
  34. package/dist/8743.js.map +0 -1
  35. package/dist/9351.js +0 -1
  36. package/dist/9351.js.map +0 -1
  37. /package/dist/{251.js.LICENSE.txt → 2606.js.LICENSE.txt} +0 -0
  38. /package/dist/{8743.js.LICENSE.txt → 7545.js.LICENSE.txt} +0 -0
@@ -20,7 +20,7 @@ const mockObsData = [
20
20
  {
21
21
  code: { text: 'Height' },
22
22
  conceptUuid: '5090AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
23
- dataType: 'Number',
23
+ dataType: 'Numeric',
24
24
  effectiveDateTime: '2021-02-01T00:00:00Z',
25
25
  valueQuantity: { value: 182 },
26
26
  encounter: { reference: 'Encounter/234' },
@@ -28,7 +28,7 @@ const mockObsData = [
28
28
  {
29
29
  code: { text: 'Weight' },
30
30
  conceptUuid: '2154AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
31
- dataType: 'Number',
31
+ dataType: 'Numeric',
32
32
  effectiveDateTime: '2021-02-01T00:00:00Z',
33
33
  valueQuantity: { value: 72 },
34
34
  encounter: { reference: 'Encounter/234' },
@@ -36,7 +36,7 @@ const mockObsData = [
36
36
  {
37
37
  code: { text: 'Height' },
38
38
  conceptUuid: '5090AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
39
- dataType: 'Number',
39
+ dataType: 'Numeric',
40
40
  effectiveDateTime: '2021-01-01T00:00:00Z',
41
41
  valueQuantity: { value: 180 },
42
42
  encounter: { reference: 'Encounter/123' },
@@ -44,7 +44,7 @@ const mockObsData = [
44
44
  {
45
45
  code: { text: 'Weight' },
46
46
  conceptUuid: '2154AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
47
- dataType: 'Number',
47
+ dataType: 'Numeric',
48
48
  effectiveDateTime: '2021-01-01T00:00:00Z',
49
49
  valueQuantity: { value: 70 },
50
50
  encounter: { reference: 'Encounter/123' },
@@ -60,7 +60,7 @@ const mockObsData = [
60
60
  {
61
61
  code: { text: 'Power Level' },
62
62
  conceptUuid: '164163AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
63
- dataType: 'Number',
63
+ dataType: 'Numeric',
64
64
  effectiveDateTime: '2021-01-01T00:00:00Z',
65
65
  valueQuantity: { value: 9001 },
66
66
  encounter: { reference: 'Encounter/123' },
@@ -68,10 +68,15 @@ const mockObsData = [
68
68
  ];
69
69
 
70
70
  const mockConceptData = [
71
- { uuid: '5090AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA', display: 'Height' },
72
- { uuid: '2154AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA', display: 'Weight' },
73
- { uuid: '164162AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA', display: 'Chief Complaint' },
74
- { uuid: '164163AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA', display: 'Power Level' },
71
+ { uuid: '5090AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA', display: 'Height', dataType: 'Numeric' },
72
+ { uuid: '2154AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA', display: 'Weight', dataType: 'Numeric' },
73
+ { uuid: '164162AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA', display: 'Chief Complaint', dataType: 'Text' },
74
+ { uuid: '164163AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA', display: 'Power Level', dataType: 'Numeric' },
75
+ ];
76
+
77
+ const mockEncounters = [
78
+ { reference: 'Encounter/123', display: 'Outpatient Visit', encounterTypeUuid: 'encounter-type-uuid-1' },
79
+ { reference: 'Encounter/234', display: 'Outpatient Visit', encounterTypeUuid: 'encounter-type-uuid-1' },
75
80
  ];
76
81
 
77
82
  const mockUseObs = jest.mocked(useObs);
@@ -79,10 +84,11 @@ const mockUseObs = jest.mocked(useObs);
79
84
  describe('ObsSwitchable', () => {
80
85
  it('should render all obs in table and numeric obs in graph', async () => {
81
86
  mockUseObs.mockReturnValue({
82
- data: { observations: mockObsData as Array<ObsResult>, concepts: mockConceptData },
87
+ data: { observations: mockObsData as Array<ObsResult>, concepts: mockConceptData, encounters: mockEncounters },
83
88
  error: null,
84
89
  isLoading: false,
85
90
  isValidating: false,
91
+ mutate: jest.fn(),
86
92
  });
87
93
  mockUseConfig.mockReturnValue({
88
94
  ...(getDefaultsFromConfigSchema(configSchemaSwitchable) as Object),
@@ -178,10 +184,11 @@ describe('ObsSwitchable', () => {
178
184
 
179
185
  it('should support showing graph tab by default', async () => {
180
186
  mockUseObs.mockReturnValue({
181
- data: { observations: mockObsData as Array<ObsResult>, concepts: mockConceptData },
187
+ data: { observations: mockObsData as Array<ObsResult>, concepts: mockConceptData, encounters: mockEncounters },
182
188
  error: null,
183
189
  isLoading: false,
184
190
  isValidating: false,
191
+ mutate: jest.fn(),
185
192
  });
186
193
  mockUseConfig.mockReturnValue({
187
194
  ...(getDefaultsFromConfigSchema(configSchemaSwitchable) as Object),
@@ -211,10 +218,11 @@ describe('ObsSwitchable', () => {
211
218
 
212
219
  it('should support grouping into multiline graphs', async () => {
213
220
  mockUseObs.mockReturnValue({
214
- data: { observations: mockObsData as Array<ObsResult>, concepts: mockConceptData },
221
+ data: { observations: mockObsData as Array<ObsResult>, concepts: mockConceptData, encounters: mockEncounters },
215
222
  error: null,
216
223
  isLoading: false,
217
224
  isValidating: false,
225
+ mutate: jest.fn(),
218
226
  });
219
227
  mockUseConfig.mockReturnValue({
220
228
  ...(getDefaultsFromConfigSchema(configSchemaSwitchable) as Object),
@@ -264,10 +272,12 @@ describe('ObsSwitchable', () => {
264
272
  (o) => o.conceptUuid === '164163AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
265
273
  ) as Array<ObsResult>,
266
274
  concepts: mockConceptData,
275
+ encounters: mockEncounters,
267
276
  },
268
277
  error: null,
269
278
  isLoading: false,
270
279
  isValidating: false,
280
+ mutate: jest.fn(),
271
281
  });
272
282
  mockUseConfig.mockReturnValue({
273
283
  ...(getDefaultsFromConfigSchema(configSchemaSwitchable) as Object),
@@ -26,6 +26,7 @@ const ObsTable: React.FC<ObsTableProps> = ({ patientUuid }) => {
26
26
  const {
27
27
  data: { observations, concepts },
28
28
  } = useObs(patientUuid);
29
+
29
30
  const uniqueEncounterReferences = [...new Set(observations.map((o) => o.encounter.reference))].sort();
30
31
  const obssGroupedByEncounters = uniqueEncounterReferences.map((reference) =>
31
32
  observations.filter((o) => o.encounter.reference === reference),
@@ -58,7 +59,7 @@ const ObsTable: React.FC<ObsTableProps> = ({ patientUuid }) => {
58
59
  rowData[obs.conceptUuid] = obs.valueString;
59
60
  break;
60
61
 
61
- case 'Number': {
62
+ case 'Numeric': {
62
63
  const decimalPlaces: number | undefined = config.data.find(
63
64
  (ele: any) => ele.concept === obs.conceptUuid,
64
65
  )?.decimalPlaces;