@kenyaemr/esm-service-queues-app 7.0.3-pre.89 → 8.0.1-pre.95

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 (186) hide show
  1. package/.turbo/turbo-build.log +18 -17
  2. package/dist/130.js +1 -1
  3. package/dist/130.js.map +1 -1
  4. package/dist/199.js +1 -1
  5. package/dist/236.js +1 -0
  6. package/dist/236.js.map +1 -0
  7. package/dist/265.js +1 -0
  8. package/dist/265.js.map +1 -0
  9. package/dist/271.js +1 -1
  10. package/dist/282.js +1 -0
  11. package/dist/282.js.map +1 -0
  12. package/dist/319.js +1 -1
  13. package/dist/366.js +1 -0
  14. package/dist/366.js.map +1 -0
  15. package/dist/392.js +1 -0
  16. package/dist/392.js.map +1 -0
  17. package/dist/460.js +1 -1
  18. package/dist/484.js +2 -0
  19. package/dist/484.js.map +1 -0
  20. package/dist/574.js +1 -1
  21. package/dist/6.js +1 -1
  22. package/dist/604.js +1 -0
  23. package/dist/604.js.map +1 -0
  24. package/dist/644.js +1 -1
  25. package/dist/670.js +1 -0
  26. package/dist/670.js.map +1 -0
  27. package/dist/727.js +1 -0
  28. package/dist/727.js.map +1 -0
  29. package/dist/752.js +1 -1
  30. package/dist/757.js +1 -1
  31. package/dist/760.js +1 -0
  32. package/dist/760.js.map +1 -0
  33. package/dist/788.js +1 -1
  34. package/dist/800.js +1 -1
  35. package/dist/807.js +1 -1
  36. package/dist/818.js +1 -0
  37. package/dist/818.js.map +1 -0
  38. package/dist/828.js +1 -1
  39. package/dist/833.js +1 -1
  40. package/dist/911.js +1 -0
  41. package/dist/911.js.map +1 -0
  42. package/dist/kenyaemr-esm-service-queues-app.js +1 -1
  43. package/dist/kenyaemr-esm-service-queues-app.js.buildmanifest.json +160 -160
  44. package/dist/kenyaemr-esm-service-queues-app.js.map +1 -1
  45. package/dist/main.js +1 -1
  46. package/dist/main.js.map +1 -1
  47. package/dist/routes.json +1 -1
  48. package/package.json +2 -2
  49. package/src/active-visits/active-visits-table.resource.ts +1 -1
  50. package/src/active-visits/change-status-dialog.scss +11 -11
  51. package/src/active-visits/change-status-dialog.test.tsx +36 -31
  52. package/src/add-patient-toqueue/add-patient-toqueue-dialog.scss +10 -10
  53. package/src/add-provider-queue-room/add-provider-queue-room.component.tsx +4 -4
  54. package/src/add-provider-queue-room/add-provider-queue-room.resource.ts +2 -2
  55. package/src/add-provider-queue-room/add-provider-queue-room.scss +6 -6
  56. package/src/add-provider-queue-room/add-provider-queue-room.test.tsx +44 -38
  57. package/src/clear-queue-entries-dialog/clear-queue-entries-dialog.component.tsx +1 -1
  58. package/src/clear-queue-entries-dialog/clear-queue-entries-dialog.scss +2 -3
  59. package/src/clear-queue-entries-dialog/clear-queue-entries-dialog.test.tsx +15 -15
  60. package/src/config-schema.ts +84 -84
  61. package/src/current-visit/current-visit-summary.component.tsx +1 -1
  62. package/src/current-visit/current-visit-summary.test.tsx +12 -11
  63. package/src/current-visit/current-visit.resource.ts +1 -1
  64. package/src/current-visit/current-visit.scss +4 -4
  65. package/src/current-visit/hooks/useVitalsConceptMetadata.tsx +1 -1
  66. package/src/current-visit/visit-details/triage-note.scss +11 -11
  67. package/src/helpers/helpers.test.ts +24 -0
  68. package/src/helpers/helpers.ts +41 -14
  69. package/src/home.test.tsx +10 -12
  70. package/src/hooks/useQueueService.ts +16 -10
  71. package/src/past-visit/past-visit-details/past-visit-summary.scss +8 -8
  72. package/src/past-visit/past-visit.component.tsx +1 -1
  73. package/src/past-visit/past-visit.resource.ts +1 -1
  74. package/src/past-visit/past-visit.scss +17 -17
  75. package/src/past-visit/past-visit.test.tsx +8 -13
  76. package/src/patient-info/appointment-details.scss +7 -7
  77. package/src/patient-info/appointment-details.test.tsx +11 -6
  78. package/src/patient-info/appointments.resource.ts +1 -1
  79. package/src/patient-info/patient-info.scss +9 -9
  80. package/src/patient-info/patient-info.test.tsx +3 -14
  81. package/src/patient-queue-header/patient-queue-header.component.tsx +4 -1
  82. package/src/patient-queue-header/patient-queue-header.scss +11 -11
  83. package/src/patient-queue-metrics/clinic-metrics.component.tsx +1 -1
  84. package/src/patient-queue-metrics/clinic-metrics.resource.ts +2 -2
  85. package/src/patient-queue-metrics/clinic-metrics.scss +4 -4
  86. package/src/patient-queue-metrics/clinic-metrics.test.tsx +40 -45
  87. package/src/patient-queue-metrics/metrics-card.scss +11 -11
  88. package/src/patient-queue-metrics/metrics-header.scss +2 -2
  89. package/src/patient-search/advanced-search.scss +27 -27
  90. package/src/patient-search/advanced-search.test.tsx +6 -9
  91. package/src/patient-search/basic-search.scss +14 -14
  92. package/src/patient-search/basic-search.test.tsx +2 -7
  93. package/src/patient-search/hooks/useDefaultLocation.ts +1 -1
  94. package/src/patient-search/hooks/useQueueLocations.tsx +1 -0
  95. package/src/patient-search/hooks/useScheduledVisits.ts +1 -1
  96. package/src/patient-search/patient-scheduled-visits.component.tsx +4 -4
  97. package/src/patient-search/patient-scheduled-visits.scss +17 -17
  98. package/src/patient-search/patient-scheduled-visits.test.tsx +18 -23
  99. package/src/patient-search/patient-search.scss +7 -7
  100. package/src/patient-search/patient-search.workspace.tsx +4 -4
  101. package/src/patient-search/search-results.scss +11 -11
  102. package/src/patient-search/search-results.test.tsx +2 -10
  103. package/src/patient-search/visit-form/visit-form.scss +12 -13
  104. package/src/patient-search/visit-form/visit-type-selector.component.tsx +9 -11
  105. package/src/patient-search/visit-form/visit-type-selector.scss +13 -13
  106. package/src/patient-search/visit-form/visit-type-selector.test.tsx +4 -3
  107. package/src/patient-search/visit-form-queue-fields/visit-form-queue-fields.scss +1 -3
  108. package/src/patient-search/visit-form-queue-fields/visit-form-queue-fields.test.tsx +15 -9
  109. package/src/queue-entry-table-components/edit-entry.scss +1 -1
  110. package/src/queue-entry-table-components/queue-priority.scss +3 -4
  111. package/src/queue-entry-table-components/transition-entry.scss +1 -1
  112. package/src/queue-patient-linelists/queue-linelist-base-table.scss +16 -17
  113. package/src/queue-patient-linelists/queue-linelist-base-table.test.tsx +7 -8
  114. package/src/queue-patient-linelists/queue-linelist-filter.scss +13 -13
  115. package/src/queue-patient-linelists/queue-linelist-filter.test.tsx +9 -6
  116. package/src/queue-patient-linelists/queue-linelist.resource.ts +4 -4
  117. package/src/queue-patient-linelists/scheduled-appointments-table.test.tsx +10 -7
  118. package/src/queue-rooms/queue-room-form.scss +13 -13
  119. package/src/queue-rooms/queue-room-form.test.tsx +10 -8
  120. package/src/queue-screen/queue-screen.scss +6 -4
  121. package/src/queue-screen/queue-screen.test.tsx +6 -6
  122. package/src/queue-services/queue-service-form.scss +13 -13
  123. package/src/queue-services/queue-service-form.test.tsx +15 -8
  124. package/src/queue-table/cells/queue-table-action-cell.component.tsx +2 -2
  125. package/src/queue-table/cells/queue-table-coming-from-cell.component.tsx +1 -1
  126. package/src/queue-table/default-queue-table.component.tsx +63 -61
  127. package/src/queue-table/default-queue-table.test.tsx +61 -61
  128. package/src/queue-table/queue-entry-actions/queue-entry-actions-modal.scss +36 -0
  129. package/src/queue-table/queue-entry-actions/queue-entry-actions.modal.tsx +30 -10
  130. package/src/queue-table/queue-entry-actions/queue-entry-actions.test.tsx +34 -103
  131. package/src/queue-table/queue-entry-actions/queue-entry-confirm-action.test.tsx +42 -25
  132. package/src/queue-table/queue-entry-actions/queue-entry-undo-actions.test.tsx +19 -14
  133. package/src/queue-table/queue-table-by-status-skeleton.component.tsx +1 -5
  134. package/src/queue-table/queue-table-expanded-row.component.tsx +1 -2
  135. package/src/queue-table/queue-table-metrics-card.scss +7 -7
  136. package/src/queue-table/queue-table-metrics.scss +3 -3
  137. package/src/queue-table/queue-table.component.tsx +8 -11
  138. package/src/queue-table/queue-table.scss +32 -26
  139. package/src/queue-table/queue-table.test.tsx +46 -21
  140. package/src/remove-queue-entry-dialog/remove-queue-entry.resource.ts +1 -1
  141. package/src/remove-queue-entry-dialog/remove-queue-entry.scss +2 -2
  142. package/src/remove-queue-entry-dialog/remove-queue-entry.test.tsx +13 -12
  143. package/src/side-menu/side-menu.test.tsx +0 -1
  144. package/src/transition-queue-entry/transition-queue-entry-dialog.component.tsx +1 -1
  145. package/src/transition-queue-entry/transition-queue-entry-dialog.scss +5 -5
  146. package/src/transition-queue-entry/transition-queue-entry-dialog.test.tsx +33 -44
  147. package/src/views/queue-tables-for-all-statuses.component.tsx +14 -14
  148. package/src/visits-missing-inqueue/visits-missing-inqueue.component.tsx +1 -1
  149. package/src/visits-missing-inqueue/visits-missing-inqueue.resource.ts +1 -1
  150. package/src/visits-missing-inqueue/visits-missing-inqueue.scss +17 -14
  151. package/translations/am.json +4 -2
  152. package/translations/ar.json +4 -2
  153. package/translations/en.json +1 -0
  154. package/translations/es.json +4 -2
  155. package/translations/fr.json +39 -37
  156. package/translations/he.json +4 -2
  157. package/translations/km.json +4 -2
  158. package/translations/zh.json +4 -2
  159. package/translations/zh_CN.json +4 -2
  160. package/dist/276.js +0 -1
  161. package/dist/276.js.map +0 -1
  162. package/dist/384.js +0 -2
  163. package/dist/384.js.map +0 -1
  164. package/dist/401.js +0 -1
  165. package/dist/401.js.map +0 -1
  166. package/dist/430.js +0 -1
  167. package/dist/430.js.map +0 -1
  168. package/dist/60.js +0 -1
  169. package/dist/60.js.map +0 -1
  170. package/dist/600.js +0 -1
  171. package/dist/600.js.map +0 -1
  172. package/dist/647.js +0 -1
  173. package/dist/647.js.map +0 -1
  174. package/dist/650.js +0 -1
  175. package/dist/650.js.map +0 -1
  176. package/dist/669.js +0 -1
  177. package/dist/669.js.map +0 -1
  178. package/dist/764.js +0 -1
  179. package/dist/764.js.map +0 -1
  180. package/dist/877.js +0 -1
  181. package/dist/877.js.map +0 -1
  182. package/dist/917.js +0 -1
  183. package/dist/917.js.map +0 -1
  184. package/src/queue-table/queue-entry-actions/queue-entry-actons-modal.scss +0 -36
  185. package/src/root.scss +0 -15
  186. /package/dist/{384.js.LICENSE.txt → 484.js.LICENSE.txt} +0 -0
@@ -1,49 +1,22 @@
1
1
  import React from 'react';
2
- import { render, screen } from '@testing-library/react';
3
2
  import userEvent from '@testing-library/user-event';
4
- import { navigate } from '@openmrs/esm-framework';
5
- import { serveQueueEntry, updateQueueEntry } from '../active-visits/active-visits-table.resource';
3
+ import { render, screen } from '@testing-library/react';
4
+ import { getDefaultsFromConfigSchema, navigate, useConfig } from '@openmrs/esm-framework';
5
+ import { configSchema, type ConfigObject } from '../config-schema';
6
+ import {
7
+ type MappedVisitQueueEntry,
8
+ serveQueueEntry,
9
+ updateQueueEntry,
10
+ } from '../active-visits/active-visits-table.resource';
6
11
  import { requeueQueueEntry } from './transition-queue-entry.resource';
7
12
  import TransitionQueueEntryModal from './transition-queue-entry-dialog.component';
8
13
 
9
- const mockedNavigate = navigate as jest.Mock;
10
-
11
- jest.mock('@openmrs/esm-framework', () => ({
12
- ...jest.requireActual('@openmrs/esm-framework'),
13
- useTranslation: () => ({ t: jest.fn((key) => key) }),
14
- navigate: jest.fn(),
15
- toOmrsIsoString: jest.fn(),
16
- toDateObjectStrict: jest.fn(),
17
- useConfig: jest.fn(() => ({
18
- concepts: {
19
- defaultTransitionStatus: 'some-default-transition-status',
20
- },
21
- defaultIdentifierTypes: [
22
- {
23
- fieldName: 'openMrsId',
24
- format: null,
25
- identifierSources: [
26
- {
27
- uuid: '8549f706-7e85-4c1d-9424-217d50a2988b',
28
- name: 'Generator for OpenMRS ID',
29
- description: 'Generator for OpenMRS ID',
30
- baseCharacterSet: '0123456789ACDEFGHJKLMNPRTUVWXY',
31
- prefix: '',
32
- },
33
- ],
34
- isPrimary: true,
35
- name: 'OpenMRS ID',
36
- required: true,
37
- uniquenessBehavior: 'UNIQUE',
38
- uuid: '05a29f94-c0ed-11e2-94be-8c13b969e334',
39
- },
40
- ],
41
- })),
42
- }));
14
+ const mockNavigate = jest.mocked(navigate);
15
+ const mockUseConfig = jest.mocked(useConfig<ConfigObject>);
43
16
 
44
17
  jest.mock('../active-visits/active-visits-table.resource', () => ({
45
- serveQueueEntry: jest.fn(() => Promise.resolve({ status: 200 })),
46
- updateQueueEntry: jest.fn(() => Promise.resolve({ status: 201 })),
18
+ serveQueueEntry: jest.fn().mockResolvedValue({ status: 200 }),
19
+ updateQueueEntry: jest.fn().mockResolvedValue({ status: 201 }),
47
20
  }));
48
21
 
49
22
  jest.mock('../hooks/useQueueEntries', () => ({
@@ -51,13 +24,19 @@ jest.mock('../hooks/useQueueEntries', () => ({
51
24
  }));
52
25
 
53
26
  jest.mock('./transition-queue-entry.resource', () => ({
54
- requeueQueueEntry: jest.fn(() => Promise.resolve({ status: 200 })),
27
+ requeueQueueEntry: jest.fn().mockResolvedValue({ status: 200 }),
55
28
  }));
56
29
 
57
30
  describe('TransitionQueueEntryModal', () => {
58
31
  const queueEntry = {
59
32
  visitUuid: 'c90386ff-ae85-45cc-8a01-25852099c5ae',
60
- identifiers: ['100GEJ'],
33
+ identifiers: [
34
+ {
35
+ identifier: '100GEJ',
36
+ display: 'OpenMRS ID',
37
+ uuid: 'ac1f1f1e-6b0e-4d4e-8f0b-0b0e4e6b1fac',
38
+ },
39
+ ],
61
40
  queueUuid: 'fa1e98f1-f002-4174-9e55-34d60951e710',
62
41
  queueEntryUuid: '712289ab-32c0-430f-87b6-d9c1e4e4686e',
63
42
  patientUuid: 'cc75ad73-c24b-499c-8db9-a7ef4fc0b36d',
@@ -66,13 +45,23 @@ describe('TransitionQueueEntryModal', () => {
66
45
  name: 'Triage Queue',
67
46
  },
68
47
  name: 'John Doe',
69
- };
48
+ } as unknown as MappedVisitQueueEntry;
49
+
50
+ beforeEach(() => {
51
+ mockUseConfig.mockReturnValue({
52
+ ...getDefaultsFromConfigSchema(configSchema),
53
+ concepts: {
54
+ defaultTransitionStatus: 'some-default-transition-status',
55
+ },
56
+ defaultIdentifierTypes: ['05ee9cf4-7242-4a17-b4d4-00f707265c8a', 'f85081e2-b4be-4e48-b3a4-7994b69bb101'],
57
+ } as ConfigObject);
58
+ });
70
59
 
71
60
  it('renders modal content', () => {
72
61
  const closeModal = jest.fn();
73
62
  render(<TransitionQueueEntryModal queueEntry={queueEntry} closeModal={closeModal} />);
74
63
 
75
- expect(screen.getByText('Serve patient')).toBeInTheDocument();
64
+ expect(screen.getByText(/Serve patient/i)).toBeInTheDocument();
76
65
  expect(screen.getByText(/Patient name :/i)).toBeInTheDocument();
77
66
  });
78
67
 
@@ -96,7 +85,7 @@ describe('TransitionQueueEntryModal', () => {
96
85
  await user.click(screen.getByText('Serve'));
97
86
 
98
87
  expect(updateQueueEntry).toHaveBeenCalled();
88
+ expect(mockNavigate).toHaveBeenCalled();
99
89
  expect(serveQueueEntry).toHaveBeenCalled();
100
- expect(mockedNavigate).toHaveBeenCalled();
101
90
  });
102
91
  });
@@ -1,18 +1,16 @@
1
1
  import React, { useCallback, useState } from 'react';
2
- import { InlineNotification, Search } from '@carbon/react';
2
+ import { InlineNotification, Search, SkeletonText } from '@carbon/react';
3
3
  import { Add } from '@carbon/react/icons';
4
- import { ExtensionSlot, isDesktop, launchWorkspace, showToast, useLayoutType } from '@openmrs/esm-framework';
5
4
  import { useTranslation } from 'react-i18next';
5
+ import { ExtensionSlot, isDesktop, launchWorkspace, showToast, useLayoutType } from '@openmrs/esm-framework';
6
+ import type { Concept, Queue, QueueEntry } from '../types';
6
7
  import { useQueueEntries } from '../hooks/useQueueEntries';
7
8
  import { useColumns } from '../queue-table/cells/columns.resource';
8
9
  import { QueueTableByStatusSkeleton } from '../queue-table/queue-table-by-status-skeleton.component';
9
10
  import QueueTable from '../queue-table/queue-table.component';
10
11
  import QueueTableMetrics from '../queue-table/queue-table-metrics.component';
11
- import styles from '../queue-table/queue-table.scss';
12
- import type { Concept, Queue, QueueEntry } from '../types';
13
12
  import PatientQueueHeader from '../patient-queue-header/patient-queue-header.component';
14
- import { SearchSkeleton } from '@carbon/react';
15
- import { SkeletonText } from '@carbon/react';
13
+ import styles from '../queue-table/queue-table.scss';
16
14
 
17
15
  interface QueueTablesForAllStatusesProps {
18
16
  selectedQueue: Queue; // the selected queue
@@ -173,14 +171,16 @@ function QueueTableForQueueAndStatus({
173
171
  const filteredQueueEntries = filterQueueEntries(queueEntries, searchTerm, statusUuid);
174
172
  return (
175
173
  <div className={styles.statusTableContainer}>
176
- <QueueTable
177
- key={statusUuid}
178
- queueEntries={filteredQueueEntries}
179
- header={status.display}
180
- isValidating={isValidating}
181
- queueUuid={queue.uuid}
182
- statusUuid={statusUuid}
183
- />
174
+ <h5 className={styles.statusTableHeader}>{status.display}</h5>
175
+ <div className={styles.container}>
176
+ <QueueTable
177
+ key={statusUuid}
178
+ queueEntries={filteredQueueEntries}
179
+ isValidating={isValidating}
180
+ queueUuid={queue.uuid}
181
+ statusUuid={statusUuid}
182
+ />
183
+ </div>
184
184
  </div>
185
185
  );
186
186
  }
@@ -34,10 +34,10 @@ import {
34
34
  ConfigurableLink,
35
35
  } from '@openmrs/esm-framework';
36
36
  import { useTranslation } from 'react-i18next';
37
- import styles from './visits-missing-inqueue.scss';
38
37
  import { type ActiveVisit, useMissingQueueEntries } from './visits-missing-inqueue.resource';
39
38
  import { Add } from '@carbon/react/icons';
40
39
  import { type ConfigObject } from '../config-schema';
40
+ import styles from './visits-missing-inqueue.scss';
41
41
 
42
42
  interface PaginationData {
43
43
  goTo: (page: number) => void;
@@ -81,7 +81,7 @@ export function useMissingQueueEntries() {
81
81
  return {
82
82
  activeVisits: formattedActiveVisits,
83
83
  isLoading: !data && !visitsError && !queueError,
84
- isError: !visitsError && !queueError,
84
+ error: !visitsError && !queueError,
85
85
  visitsIsValidating,
86
86
  mutateQueueEntries,
87
87
  };
@@ -1,6 +1,5 @@
1
- @use '@carbon/styles/scss/spacing';
2
- @use '@carbon/styles/scss/type';
3
- @import '../root.scss';
1
+ @use '@carbon/layout';
2
+ @use '@carbon/type';
4
3
 
5
4
  .activeVisitsContainer {
6
5
  background-color: $ui-background;
@@ -14,7 +13,7 @@
14
13
  display: flex;
15
14
  justify-content: space-between;
16
15
  align-items: center;
17
- padding: spacing.$spacing-04 0 spacing.$spacing-04 spacing.$spacing-05;
16
+ padding: layout.$spacing-04 0 layout.$spacing-04 layout.$spacing-05;
18
17
  background-color: $ui-background;
19
18
  }
20
19
 
@@ -48,15 +47,15 @@
48
47
  }
49
48
 
50
49
  .emptyRow {
51
- padding: 0 1rem;
50
+ padding: 0 layout.$spacing-05;
52
51
  display: flex;
53
52
  align-items: center;
54
53
  }
55
54
 
56
55
  .visitSummaryContainer {
57
56
  width: 100%;
58
- max-width: 768px;
59
- margin: 1rem auto;
57
+ max-width: 48rem;
58
+ margin: layout.$spacing-05 auto;
60
59
  }
61
60
 
62
61
  .expandedActiveVisitRow > td > div {
@@ -64,29 +63,29 @@
64
63
  }
65
64
 
66
65
  .expandedActiveVisitRow td {
67
- padding: 0 2rem;
66
+ padding: 0 layout.$spacing-07;
68
67
  }
69
68
 
70
69
  .expandedActiveVisitRow th[colspan] td[colspan] > div:first-child {
71
- padding: 0 1rem;
70
+ padding: 0 layout.$spacing-05;
72
71
  }
73
72
 
74
73
  .action {
75
- margin-bottom: spacing.$spacing-03;
74
+ margin-bottom: layout.$spacing-03;
76
75
  }
77
76
 
78
77
  .content {
79
78
  @include type.type-style('heading-compact-01');
80
79
  color: $text-02;
81
- margin-top: spacing.$spacing-05;
82
- margin-bottom: spacing.$spacing-03;
80
+ margin-top: layout.$spacing-05;
81
+ margin-bottom: layout.$spacing-03;
83
82
  }
84
83
 
85
84
  .desktopHeading,
86
85
  .tabletHeading {
87
86
  text-align: left;
88
87
  text-transform: capitalize;
89
- margin-bottom: spacing.$spacing-05;
88
+ margin-bottom: layout.$spacing-05;
90
89
 
91
90
  h4 {
92
91
  @include type.type-style('heading-compact-02');
@@ -95,7 +94,7 @@
95
94
  &:after {
96
95
  content: '';
97
96
  display: block;
98
- width: 2rem;
97
+ width: layout.$spacing-07;
99
98
  padding-top: 3px;
100
99
  border-bottom: 0.375rem solid;
101
100
  @include brand-03(border-bottom-color);
@@ -106,3 +105,7 @@
106
105
  .tile {
107
106
  text-align: center;
108
107
  }
108
+
109
+ .bodyLong01 {
110
+ @include type.type-style('body-01');
111
+ }
@@ -83,6 +83,8 @@
83
83
  "femaleLabelText": "Female",
84
84
  "fields": "of the following fields",
85
85
  "filter": "Filter (1)",
86
+ "filterByService": "Filter by service :",
87
+ "filterByStatus": "Filter by status :",
86
88
  "filterTable": "Filter table",
87
89
  "firstName": "First name",
88
90
  "firstNameSort": "First name (a-z)",
@@ -257,7 +259,6 @@
257
259
  "serviceQueue": "Service queue",
258
260
  "serviceQueues": "Service queues",
259
261
  "sex": "Sex",
260
- "showPatientsWaitingFor": "Show patients waiting for",
261
262
  "sortBy": "Sort by",
262
263
  "sortWeight": "Sort weight",
263
264
  "sp02": "Sp02",
@@ -268,12 +269,13 @@
268
269
  "startVisitQueueSuccessfully": "Patient has been added to active visits list and queue.",
269
270
  "status": "Status",
270
271
  "statusIsRequired": "Status is required",
271
- "submitting": "Submitting",
272
+ "submitting": "Submitting...",
272
273
  "success": "Success",
273
274
  "temperature": "Temperature",
274
275
  "ticketNumber": "Ticket number",
275
276
  "time": "Time",
276
277
  "timeCannotBeInFuture": "Time cannot be in the future",
278
+ "timeCannotBePriorToPreviousQueueEntry": "Time cannot be before start of previous queue entry: {{time}}",
277
279
  "timeOfTransition": "Time of transition",
278
280
  "tirageNotYetCompleted": "Triage has not yet been completed",
279
281
  "today": "Today",
@@ -83,6 +83,8 @@
83
83
  "femaleLabelText": "أنثى",
84
84
  "fields": "من الحقول التالية",
85
85
  "filter": "تصفية (1)",
86
+ "filterByService": "Filter by service :",
87
+ "filterByStatus": "Filter by status :",
86
88
  "filterTable": "جدول التصفية",
87
89
  "firstName": "الاسم الأول",
88
90
  "firstNameSort": "الاسم الأول (أ-ي)",
@@ -257,7 +259,6 @@
257
259
  "serviceQueue": "طابور الخدمة",
258
260
  "serviceQueues": "طوابير الخدمة",
259
261
  "sex": "الجنس",
260
- "showPatientsWaitingFor": "عرض المرضى في الانتظار لـ",
261
262
  "sortBy": "ترتيب حسب",
262
263
  "sortWeight": "ترتيب حسب الوزن",
263
264
  "sp02": "Sp02",
@@ -268,12 +269,13 @@
268
269
  "startVisitQueueSuccessfully": "تمت إضافة المريض إلى قائمة الزيارات النشطة والطابور.",
269
270
  "status": "الحالة",
270
271
  "statusIsRequired": "Status is required",
271
- "submitting": "Submitting",
272
+ "submitting": "Submitting...",
272
273
  "success": "نجاح",
273
274
  "temperature": "درجة الحرارة",
274
275
  "ticketNumber": "رقم التذكرة",
275
276
  "time": "الوقت",
276
277
  "timeCannotBeInFuture": "Time cannot be in the future",
278
+ "timeCannotBePriorToPreviousQueueEntry": "Time cannot be before start of previous queue entry: {{time}}",
277
279
  "timeOfTransition": "Time of transition",
278
280
  "tirageNotYetCompleted": "لم يتم الانتهاء من الترياج بعد",
279
281
  "today": "اليوم",
@@ -275,6 +275,7 @@
275
275
  "ticketNumber": "Ticket Number",
276
276
  "time": "Time",
277
277
  "timeCannotBeInFuture": "Time cannot be in the future",
278
+ "timeCannotBePriorToPreviousQueueEntry": "Time cannot be before start of previous queue entry: {{time}}",
278
279
  "timeOfTransition": "Time of transition",
279
280
  "tirageNotYetCompleted": "Triage has not yet been completed",
280
281
  "today": "Today",
@@ -83,6 +83,8 @@
83
83
  "femaleLabelText": "Female",
84
84
  "fields": "of the following fields",
85
85
  "filter": "Filter (1)",
86
+ "filterByService": "Filter by service :",
87
+ "filterByStatus": "Filter by status :",
86
88
  "filterTable": "Filter table",
87
89
  "firstName": "First name",
88
90
  "firstNameSort": "First name (a-z)",
@@ -257,7 +259,6 @@
257
259
  "serviceQueue": "Service queue",
258
260
  "serviceQueues": "Service queues",
259
261
  "sex": "Sex",
260
- "showPatientsWaitingFor": "Show patients waiting for",
261
262
  "sortBy": "Sort by",
262
263
  "sortWeight": "Sort weight",
263
264
  "sp02": "Sp02",
@@ -268,12 +269,13 @@
268
269
  "startVisitQueueSuccessfully": "Patient has been added to active visits list and queue.",
269
270
  "status": "Status",
270
271
  "statusIsRequired": "Status is required",
271
- "submitting": "Submitting",
272
+ "submitting": "Submitting...",
272
273
  "success": "Success",
273
274
  "temperature": "Temperature",
274
275
  "ticketNumber": "Ticket number",
275
276
  "time": "Time",
276
277
  "timeCannotBeInFuture": "Time cannot be in the future",
278
+ "timeCannotBePriorToPreviousQueueEntry": "Time cannot be before start of previous queue entry: {{time}}",
277
279
  "timeOfTransition": "Time of transition",
278
280
  "tirageNotYetCompleted": "Triage has not yet been completed",
279
281
  "today": "Today",
@@ -4,16 +4,16 @@
4
4
  "activeVisitsNotInQueue": "Active visits not in queue",
5
5
  "addAProviderQueueRoom": "Add a provider queue room?",
6
6
  "addEntry": "Add entry",
7
- "addisitToQueueTooltip": "Add to queue",
7
+ "addisitToQueueTooltip": "Add",
8
8
  "addNewQueueService": "Add New Queue Service",
9
9
  "addNewQueueServiceRoom": "Add new queue service room",
10
- "addNewService": "Add new service",
10
+ "addNewService": "Ajouter un nouveau service",
11
11
  "addNewServiceRoom": "Add new service room",
12
- "addPatientToQueue": "Add patient to queue",
12
+ "addPatientToQueue": "Ajouter un patient à la file d'attente",
13
13
  "addProviderQueueRoom": "Add provider queue room",
14
- "addQueue": "Add queue",
14
+ "addQueue": "Ajouter une file d'attente",
15
15
  "addQueueName": "Please add a queue name",
16
- "addQueueRoom": "Add queue room",
16
+ "addQueueRoom": "Ajouter une salle d'attente",
17
17
  "addQueueRoomName": "Please add a queue room name",
18
18
  "addQueueRoomService": "Please add a queue room service",
19
19
  "addRoom": "Add room",
@@ -21,13 +21,13 @@
21
21
  "addVisitToQueue": "Add Visit To Queue?",
22
22
  "advancedSearch": "Advanced search",
23
23
  "age": "Age",
24
- "alistOfClients": "A list of clients waiting for ",
24
+ "alistOfClients": "Liste de patients attendus",
25
25
  "all": "All",
26
26
  "and": "And",
27
- "anotherVisitType": "Start another visit type",
27
+ "anotherVisitType": "Commencer un autre type de visite",
28
28
  "any": "Any",
29
29
  "applyFilters": "Apply filters",
30
- "averageWaitTime": "Average wait time today",
30
+ "averageWaitTime": "Temps d'attente moyen du jour",
31
31
  "backToScheduledVisits": "Back to scheduled visits",
32
32
  "backToSearchResults": "Back to search results",
33
33
  "backToSimpleSearch": "Back to simple search",
@@ -35,15 +35,15 @@
35
35
  "bmi": "Bmi",
36
36
  "bp": "Bp",
37
37
  "call": "Call",
38
- "cancel": "Cancel",
39
- "checkedInPatients": "Checked in patients",
38
+ "cancel": "Annuler",
39
+ "checkedInPatients": "Patients arrivés",
40
40
  "checkFilters": "Check the filters above",
41
41
  "chooseRoom": "Select a room",
42
42
  "chooseService": "Select a service",
43
43
  "clearAllQueueEntries": "Clear all queue entries?",
44
44
  "clearAllQueueEntriesWarningMessage": "Clearing all queue entries will remove all the patients from the queues",
45
45
  "clearQueue": "Clear queue",
46
- "clinicMetrics": "Clinic metrics",
46
+ "clinicMetrics": "Indicateurs cliniques",
47
47
  "configurePriorities": "Please configure priorities to continue.",
48
48
  "configureServices": "Please configure services to continue.",
49
49
  "configureStatus": "Please configure status to continue.",
@@ -71,7 +71,7 @@
71
71
  "endVisit": "End Visit",
72
72
  "endVisitWarningMessage": "Ending this visit will remove this patient from the queue and will not allow you to fill another encounter form for this patient",
73
73
  "enterCommentHere": "Enter Comment here",
74
- "errorAddingQueue": "Error adding queue",
74
+ "errorAddingQueue": "Erreur lors de l'ajout de la file d'attente",
75
75
  "errorAddingQueueRoom": "Error adding queue room",
76
76
  "errorClearingQueues": "Error clearing queues",
77
77
  "errorFetchingAppointments": "Error fetching appointments",
@@ -83,6 +83,8 @@
83
83
  "femaleLabelText": "Female",
84
84
  "fields": "of the following fields",
85
85
  "filter": "Filter (1)",
86
+ "filterByService": "Filter by service :",
87
+ "filterByStatus": "Filter by status :",
86
88
  "filterTable": "Filter table",
87
89
  "firstName": "First name",
88
90
  "firstNameSort": "First name (a-z)",
@@ -91,7 +93,7 @@
91
93
  "gender": "Gender",
92
94
  "heartRate": "Heart rate",
93
95
  "height": "Height",
94
- "home": "Home",
96
+ "home": "Accueil",
95
97
  "hourAndMinuteFormatted": "{{hours}} hour(s) and {{minutes}} minute(s)",
96
98
  "idNumber": "ID Number",
97
99
  "indication": "Indication",
@@ -120,21 +122,21 @@
120
122
  "missingService": "Missing service",
121
123
  "missingVisitType": "Missing visit type",
122
124
  "modifyDefaultValue": "Modify default value",
123
- "movePatientToNextService": "Move patient to the next service?",
124
- "moveToNextService": "Move to next service",
125
+ "movePatientToNextService": "Déplacer le patient vers le service suivant?",
126
+ "moveToNextService": "Déplacer vers le service suivant",
125
127
  "name": "Name",
126
- "nextPage": "Next page",
127
- "noActiveVisitsForLocation": "There are no active visits to display for this location.",
128
+ "nextPage": "Page suivante",
129
+ "noActiveVisitsForLocation": "Il n'y a pas de visite en cours pour cet emplacement",
128
130
  "noAppointmentsFound": "No appointments found",
129
131
  "noColumnsDefined": "No table columns defined. Check Configuration",
130
132
  "noEncountersFound": "No encounters found",
131
133
  "noLastEncounter": "There is no last encounter to display for this patient",
132
- "noLocationsAvailable": "No locations available",
134
+ "noLocationsAvailable": "Aucun emplacement disponible",
133
135
  "noMedicationsFound": "No medications found",
134
136
  "noNotesFound": "No notes found",
135
137
  "noPatientFoundMessage": "Sorry, no patient has been found",
136
138
  "noPatientsToDisplay": "No patients to display",
137
- "noPreviousVisitFound": "No previous visit found",
139
+ "noPreviousVisitFound": "Aucune visite précédente trouvée",
138
140
  "noPrioritiesConfigured": "No priorities configured",
139
141
  "noPrioritiesForService": "The selected service does not have any allowed priorities. This is an error in configuration. Please contact your system administrator.",
140
142
  "noPrioritiesForServiceTitle": "No priorities available",
@@ -147,7 +149,7 @@
147
149
  "notableConfig": "No table configuration",
148
150
  "notes": "Notes",
149
151
  "noVisitsNotInQueueFound": "No visits currently not in queue found",
150
- "noVisitTypesMatchingSearch": "There are no visit types matching this search text",
152
+ "noVisitTypesMatchingSearch": "Il n'y a pas de visite correspondante à cette recherche",
151
153
  "noVitalsFound": "No vitals found",
152
154
  "oldest": "Oldest first",
153
155
  "onTime": "On time",
@@ -168,14 +170,14 @@
168
170
  "patientRemovedSuccessfully": "Paient removed from queue successfully",
169
171
  "patientRequeued": "Patient has been requeued",
170
172
  "patients": "Patients",
171
- "patientsCurrentlyInQueue": "Patients currently in queue",
173
+ "patientsCurrentlyInQueue": "Patients actuellement en file d'attente",
172
174
  "personalDetails": "Personal details",
173
175
  "phoneNumber": "Phone Number",
174
- "pleaseSelectLocation": "Please select a location",
176
+ "pleaseSelectLocation": "Veuillez sélectionner un emplacement",
175
177
  "pleaseSelectService": "Please select a service",
176
178
  "postCode": "Post code",
177
- "previousPage": "Previous page",
178
- "previousVisit": "Previous visit",
179
+ "previousPage": "Page précédente",
180
+ "previousVisit": "Visite précédente",
179
181
  "primaryHelperText": "Search for a patient",
180
182
  "priority": "Priority",
181
183
  "priorityComment": "Priority comment",
@@ -211,7 +213,7 @@
211
213
  "queueRoomAddFailed": "Error adding queue room",
212
214
  "queueRoomName": "Queue room name",
213
215
  "queueRoomUpdatedSuccessfully": "Queue room updated successfully",
214
- "queuesClearedSuccessfully": "Queues cleared successfully",
216
+ "queuesClearedSuccessfully": "Files d'attente vidées avec succès",
215
217
  "queueScreen": "Queue screen",
216
218
  "queueService": "Queue service",
217
219
  "queueStatus": "Queue status",
@@ -229,8 +231,8 @@
229
231
  "room": "Room",
230
232
  "rRate": "R. Rate",
231
233
  "save": "Save",
232
- "scheduledAppointmentsList": "Scheduled appointments patient list",
233
- "scheduledToday": "Scheduled for today",
234
+ "scheduledAppointmentsList": "Liste des patients avec un rendez-vous planifié",
235
+ "scheduledToday": "Prévu pour aujourd'hui",
234
236
  "search": "Search",
235
237
  "searchboxPlaceholder": "Search for a patient name or ID number",
236
238
  "searchForAVisitType": "Search for a visit type",
@@ -244,36 +246,36 @@
244
246
  "selectOption": "Select an option",
245
247
  "selectProgramType": "Select program type",
246
248
  "selectQueue": "Select a queue",
247
- "selectQueueLocation": "Select a queue location",
249
+ "selectQueueLocation": "Sélectionnez un emplacement de file d'attente",
248
250
  "selectQueueService": "Select a queue service",
249
251
  "selectRoom": "Select a room",
250
252
  "selectService": "Select a service",
251
- "selectServiceType": "Select a service type",
253
+ "selectServiceType": "Sélectionner un type de service",
252
254
  "selectVisitType": "Please select a Visit Type",
253
255
  "serve": "Serve",
254
256
  "servePatient": "Serve patient",
255
257
  "service": "Service",
256
258
  "serviceIsRequired": "Status is required",
257
259
  "serviceQueue": "Service queue",
258
- "serviceQueues": "Service queues",
260
+ "serviceQueues": "Files d'attente",
259
261
  "sex": "Sex",
260
- "showPatientsWaitingFor": "Show patients waiting for",
261
262
  "sortBy": "Sort by",
262
263
  "sortWeight": "Sort weight",
263
264
  "sp02": "Sp02",
264
- "startAgeRangeInvalid": "Start age range is not valid",
265
- "startAVisit": "Start a visit",
266
- "startVisit": "Start visit",
267
- "startVisitError": "Error starting visit",
265
+ "startAgeRangeInvalid": "La tranche d'âge de départ n'est pas valide",
266
+ "startAVisit": "Commencer une visite",
267
+ "startVisit": "Commencer une visite",
268
+ "startVisitError": "Erreur lors du démarrage de la visite",
268
269
  "startVisitQueueSuccessfully": "Patient has been added to active visits list and queue.",
269
270
  "status": "Status",
270
271
  "statusIsRequired": "Status is required",
271
- "submitting": "Submitting",
272
+ "submitting": "Submitting...",
272
273
  "success": "Success",
273
274
  "temperature": "Temperature",
274
275
  "ticketNumber": "Ticket number",
275
276
  "time": "Time",
276
277
  "timeCannotBeInFuture": "Time cannot be in the future",
278
+ "timeCannotBePriorToPreviousQueueEntry": "L’heure ne peut être antérieure au début de la file d’attente précédente: {{time}}",
277
279
  "timeOfTransition": "Time of transition",
278
280
  "tirageNotYetCompleted": "Triage has not yet been completed",
279
281
  "today": "Today",
@@ -298,7 +300,7 @@
298
300
  "vitals": "Vitals",
299
301
  "vitalsForm": "Vitals form",
300
302
  "vitalsNotRecordedForVisit": "Vitals has not been recorded for this patient for this visit",
301
- "waitingFor": "Waiting for",
303
+ "waitingFor": "En attente",
302
304
  "weight": "Weight",
303
305
  "years": "Years",
304
306
  "youngest": "Youngest first"
@@ -83,6 +83,8 @@
83
83
  "femaleLabelText": "נקבה",
84
84
  "fields": "מהשדות הבאים",
85
85
  "filter": "סנן",
86
+ "filterByService": "Filter by service :",
87
+ "filterByStatus": "Filter by status :",
86
88
  "filterTable": "סנן טבלה",
87
89
  "firstName": "שם פרטי",
88
90
  "firstNameSort": "שם פרטי (א-ת)",
@@ -257,7 +259,6 @@
257
259
  "serviceQueue": "תור השירות",
258
260
  "serviceQueues": "תורי השירות",
259
261
  "sex": "מגדר",
260
- "showPatientsWaitingFor": "הצג מטופלים הממתינים ל",
261
262
  "sortBy": "מיין לפי",
262
263
  "sortWeight": "מיון לפי חוזק",
263
264
  "sp02": "רמת חמצן",
@@ -268,12 +269,13 @@
268
269
  "startVisitQueueSuccessfully": "המטופל הוסף לרשימת הביקורים הפעילים ולתור בהצלחה",
269
270
  "status": "מצב",
270
271
  "statusIsRequired": "Status is required",
271
- "submitting": "Submitting",
272
+ "submitting": "Submitting...",
272
273
  "success": "הצלחה",
273
274
  "temperature": "טמפרטורה",
274
275
  "ticketNumber": "מספר כרטיס",
275
276
  "time": "זמן",
276
277
  "timeCannotBeInFuture": "Time cannot be in the future",
278
+ "timeCannotBePriorToPreviousQueueEntry": "Time cannot be before start of previous queue entry: {{time}}",
277
279
  "timeOfTransition": "Time of transition",
278
280
  "tirageNotYetCompleted": "הטריאז' עדיין לא הושלם",
279
281
  "today": "היום",