@thrustdevs/esm-procedure-orders-app 1.0.2-pre.6

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 (207) hide show
  1. package/.turbo/turbo-build.log +41 -0
  2. package/README.md +7 -0
  3. package/dist/122.js +1 -0
  4. package/dist/122.js.map +1 -0
  5. package/dist/144.js +2 -0
  6. package/dist/144.js.LICENSE.txt +19 -0
  7. package/dist/144.js.map +1 -0
  8. package/dist/182.js +1 -0
  9. package/dist/182.js.map +1 -0
  10. package/dist/205.js +1 -0
  11. package/dist/205.js.map +1 -0
  12. package/dist/216.js +2 -0
  13. package/dist/216.js.LICENSE.txt +9 -0
  14. package/dist/216.js.map +1 -0
  15. package/dist/290.js +2 -0
  16. package/dist/290.js.LICENSE.txt +5 -0
  17. package/dist/290.js.map +1 -0
  18. package/dist/300.js +1 -0
  19. package/dist/341.js +2 -0
  20. package/dist/341.js.LICENSE.txt +29 -0
  21. package/dist/341.js.map +1 -0
  22. package/dist/41.js +2 -0
  23. package/dist/41.js.LICENSE.txt +9 -0
  24. package/dist/41.js.map +1 -0
  25. package/dist/470.js +1 -0
  26. package/dist/470.js.map +1 -0
  27. package/dist/495.js +1 -0
  28. package/dist/495.js.map +1 -0
  29. package/dist/506.js +2 -0
  30. package/dist/506.js.LICENSE.txt +39 -0
  31. package/dist/506.js.map +1 -0
  32. package/dist/537.js +1 -0
  33. package/dist/537.js.map +1 -0
  34. package/dist/647.js +2 -0
  35. package/dist/647.js.LICENSE.txt +5 -0
  36. package/dist/647.js.map +1 -0
  37. package/dist/7.js +1 -0
  38. package/dist/7.js.map +1 -0
  39. package/dist/719.js +2 -0
  40. package/dist/719.js.LICENSE.txt +5 -0
  41. package/dist/719.js.map +1 -0
  42. package/dist/720.js +1 -0
  43. package/dist/720.js.map +1 -0
  44. package/dist/876.js +1 -0
  45. package/dist/876.js.map +1 -0
  46. package/dist/883.js +1 -0
  47. package/dist/883.js.map +1 -0
  48. package/dist/89.js +1 -0
  49. package/dist/89.js.map +1 -0
  50. package/dist/892.js +1 -0
  51. package/dist/892.js.map +1 -0
  52. package/dist/895.js +1 -0
  53. package/dist/895.js.map +1 -0
  54. package/dist/913.js +2 -0
  55. package/dist/913.js.LICENSE.txt +32 -0
  56. package/dist/913.js.map +1 -0
  57. package/dist/924.js +1 -0
  58. package/dist/924.js.map +1 -0
  59. package/dist/943.js +1 -0
  60. package/dist/943.js.map +1 -0
  61. package/dist/99.js +2 -0
  62. package/dist/99.js.LICENSE.txt +5 -0
  63. package/dist/99.js.map +1 -0
  64. package/dist/kenyaemr-esm-procedure-orders-app.js +1 -0
  65. package/dist/kenyaemr-esm-procedure-orders-app.js.buildmanifest.json +786 -0
  66. package/dist/kenyaemr-esm-procedure-orders-app.js.map +1 -0
  67. package/dist/main.js +2 -0
  68. package/dist/main.js.LICENSE.txt +35 -0
  69. package/dist/main.js.map +1 -0
  70. package/dist/routes.json +1 -0
  71. package/jest.config.js +8 -0
  72. package/package.json +55 -0
  73. package/src/completed-list/completed-list.component.tsx +40 -0
  74. package/src/completed-list/completed-list.resource.ts +0 -0
  75. package/src/completed-list/completed-list.scss +223 -0
  76. package/src/components/create-dashboard-link.component.tsx +35 -0
  77. package/src/components/overlay/hook.ts +47 -0
  78. package/src/components/overlay/overlay.component.tsx +42 -0
  79. package/src/components/overlay/overlay.scss +92 -0
  80. package/src/config-schema.ts +78 -0
  81. package/src/constants.ts +5 -0
  82. package/src/declarations.d.ts +6 -0
  83. package/src/empty-state/empty-state-component.tsx +21 -0
  84. package/src/empty-state/empty-state.scss +23 -0
  85. package/src/form/post-procedures/post-procedure-form.component.tsx +468 -0
  86. package/src/form/post-procedures/post-procedure-form.scss +189 -0
  87. package/src/form/post-procedures/post-procedure.resource.tsx +71 -0
  88. package/src/form/procedures-orders/add-procedures-order/add-procedures-order.scss +44 -0
  89. package/src/form/procedures-orders/add-procedures-order/add-procedures-order.workspace.tsx +93 -0
  90. package/src/form/procedures-orders/add-procedures-order/procedures-order-form.component.tsx +476 -0
  91. package/src/form/procedures-orders/add-procedures-order/procedures-order-form.scss +80 -0
  92. package/src/form/procedures-orders/add-procedures-order/procedures-order.ts +17 -0
  93. package/src/form/procedures-orders/add-procedures-order/procedures-type-search.scss +115 -0
  94. package/src/form/procedures-orders/add-procedures-order/procedures-type-search.tsx +236 -0
  95. package/src/form/procedures-orders/add-procedures-order/useProceduresTypes.ts +93 -0
  96. package/src/form/procedures-orders/api.ts +282 -0
  97. package/src/form/procedures-orders/order-config.ts +48 -0
  98. package/src/form/procedures-orders/procedures-order-basket-panel/procedures-icon.component.tsx +39 -0
  99. package/src/form/procedures-orders/procedures-order-basket-panel/procedures-order-basket-item-tile.component.tsx +100 -0
  100. package/src/form/procedures-orders/procedures-order-basket-panel/procedures-order-basket-item-tile.scss +72 -0
  101. package/src/form/procedures-orders/procedures-order-basket-panel/procedures-order-basket-panel.extension.tsx +190 -0
  102. package/src/form/procedures-orders/procedures-order-basket-panel/procedures-order-basket-panel.scss +74 -0
  103. package/src/form/procedures-orders/procedures-order-basket-panel/procedures-order-basket.scss +55 -0
  104. package/src/header/procedure-header.component.tsx +32 -0
  105. package/src/header/procedure-header.scss +70 -0
  106. package/src/header/procedure-illustration.component.tsx +52 -0
  107. package/src/hooks/useOrdersWorklist.ts +70 -0
  108. package/src/hooks/useSearchGroupedResults.ts +22 -0
  109. package/src/hooks/useSearchResults.ts +39 -0
  110. package/src/index.ts +59 -0
  111. package/src/left-panel-link.tsx +40 -0
  112. package/src/not-done-list/not-done-list.component.tsx +44 -0
  113. package/src/not-done-list/not-done.scss +207 -0
  114. package/src/patient-chart/patient-procedure-order-results-table.resource.ts +43 -0
  115. package/src/patient-chart/patient-procedure-order-results.component.tsx +12 -0
  116. package/src/patient-chart/patient-procedure-order-results.resource.ts +485 -0
  117. package/src/patient-chart/patient-procedure-results.component.tsx +30 -0
  118. package/src/patient-chart/procedure-active-order/procedure-active-order-results.component.tsx +390 -0
  119. package/src/patient-chart/procedure-active-order/procedure-active-order-results.scss +78 -0
  120. package/src/patient-chart/procedure-order-referals/procedure-order-referals.component.tsx +394 -0
  121. package/src/patient-chart/procedure-order-referals/procedure-order-referals.resource.tsx +0 -0
  122. package/src/patient-chart/procedure-order-referals/procedure-order-referals.scss +78 -0
  123. package/src/patient-chart/procedure-past-test/laboratory-past-test-order-results.component.tsx +366 -0
  124. package/src/patient-chart/procedure-past-test/laboratory-past-test-order-results.scss +74 -0
  125. package/src/patient-chart/procedure-tabs/laboratory-order-tabs.component.tsx +44 -0
  126. package/src/patient-chart/procedure-tabs/laboratory-order-tabs.scss +7 -0
  127. package/src/patient-chart/procedure-workspaces/laboratory-referral.workspace.component.tsx +11 -0
  128. package/src/patient-chart/procedure-workspaces/laboratory-referral.workspace.scss +0 -0
  129. package/src/patient-chart/results-summary/print-results-summary.component.tsx +152 -0
  130. package/src/patient-chart/results-summary/print-results-summary.scss +80 -0
  131. package/src/patient-chart/results-summary/print-results-table.component.tsx +134 -0
  132. package/src/patient-chart/results-summary/results-summary.resource.tsx +174 -0
  133. package/src/patient-chart/results-summary/results-summary.scss +158 -0
  134. package/src/patient-chart/results-summary/send-email-dialog.component.tsx +59 -0
  135. package/src/patient-chart/results-summary/test-children-results.component.tsx +177 -0
  136. package/src/patient-chart/results-summary/test-print-results-table.component.tsx +105 -0
  137. package/src/patient-chart/results-summary/test-results-table.component.tsx +103 -0
  138. package/src/print/print-procedure-results.component.tsx +49 -0
  139. package/src/print/print-procedure.component.tsx +105 -0
  140. package/src/print/print-procedure.scss +98 -0
  141. package/src/procedure-tabs/completed-tab.component.tsx +12 -0
  142. package/src/procedure-tabs/not-done-tab.component.tsx +12 -0
  143. package/src/procedure-tabs/referred-tab.component.tsx +12 -0
  144. package/src/procedure-tabs/work-list-tab.component.tsx +13 -0
  145. package/src/procedure.component.tsx +24 -0
  146. package/src/procedures-ordered/_pick-procedure-request-menu.component.tsx +33 -0
  147. package/src/procedures-ordered/pick-procedure-order/add-to-worklist-dialog.component.tsx +105 -0
  148. package/src/procedures-ordered/pick-procedure-order/add-to-worklist-dialog.resource.ts +106 -0
  149. package/src/procedures-ordered/pick-procedure-order/add-to-worklist-dialog.scss +38 -0
  150. package/src/procedures-ordered/pick-procedure-request-menu.component.tsx +32 -0
  151. package/src/procedures-ordered/procedure-dialogs/add-to-worklist-dialog.component.tsx +300 -0
  152. package/src/procedures-ordered/procedure-dialogs/add-to-worklist-dialog.resource.ts +153 -0
  153. package/src/procedures-ordered/procedure-dialogs/add-to-worklist-dialog.scss +38 -0
  154. package/src/procedures-ordered/procedure-instructions/instructions.scss +24 -0
  155. package/src/procedures-ordered/procedure-instructions/procedure-instructions-menu.component.tsx +32 -0
  156. package/src/procedures-ordered/procedure-instructions/procedure-instructions.component.tsx +78 -0
  157. package/src/procedures-ordered/procedure-instructions/procedure-instructions.scss +24 -0
  158. package/src/procedures-ordered/procedure-queue.scss +211 -0
  159. package/src/procedures-ordered/procedure-tabs.component.tsx +104 -0
  160. package/src/procedures-ordered/procedure-tests/procedure-tests.component.tsx +83 -0
  161. package/src/procedures-ordered/procedure-tests/procedure-tests.resource.ts +14 -0
  162. package/src/procedures-ordered/procedure-tests/procedure-tests.scss +12 -0
  163. package/src/procedures-ordered/procedures-ordered-list.component.tsx +38 -0
  164. package/src/procedures-ordered/reject-order-dialog/reject-order-dialog.scss +14 -0
  165. package/src/procedures-ordered/reject-order-dialog/reject-procedure-order-dialog.component.tsx +98 -0
  166. package/src/procedures-ordered/reject-reason/procedure-reject-reason-menu.component.tsx +32 -0
  167. package/src/procedures-ordered/reject-reason/procedure-reject-reason.component.tsx +40 -0
  168. package/src/procedures-ordered/transition-patient-new-queue/transition-latest-queue-entry-button.component.tsx +42 -0
  169. package/src/procedures-ordered/transition-patient-new-queue/transition-latest-queue-entry-button.scss +14 -0
  170. package/src/procedures-ordered/transition-patient-new-queue/transition-latest-queue-entry-button.test.tsx +67 -0
  171. package/src/referred-procedures/referred-procedures.component.tsx +37 -0
  172. package/src/results/result-form-field.component.tsx +141 -0
  173. package/src/results/result-form.component.tsx +120 -0
  174. package/src/results/result-form.resource.ts +361 -0
  175. package/src/results/result-form.scss +22 -0
  176. package/src/root.component.tsx +16 -0
  177. package/src/routes.json +152 -0
  178. package/src/setup-tests.ts +7 -0
  179. package/src/shared/ui/common/action-button/action-button.component.tsx +68 -0
  180. package/src/shared/ui/common/action-button/action-button.scss +12 -0
  181. package/src/shared/ui/common/action-button/order-action-extension.component.tsx +21 -0
  182. package/src/shared/ui/common/grouped-orders-table.component.tsx +176 -0
  183. package/src/shared/ui/common/grouped-orders-table.scss +30 -0
  184. package/src/shared/ui/common/grouped-procedure-types.ts +47 -0
  185. package/src/shared/ui/common/list-order-details.component.tsx +171 -0
  186. package/src/shared/ui/common/list-order-details.resource.ts +41 -0
  187. package/src/shared/ui/common/list-order-details.scss +118 -0
  188. package/src/shared/ui/common/orders-date-range-picker.scss +15 -0
  189. package/src/shared/ui/common/orders-date-range-picker.tsx +38 -0
  190. package/src/summary-tiles/procedure-summary-tiles.component.tsx +36 -0
  191. package/src/summary-tiles/procedure-summary-tiles.scss +11 -0
  192. package/src/summary-tiles/procedure-summary.resource.tsx +79 -0
  193. package/src/summary-tiles/summary-tile.component.tsx +41 -0
  194. package/src/summary-tiles/summary-tile.scss +53 -0
  195. package/src/types/index.ts +661 -0
  196. package/src/types/patient-queue.ts +77 -0
  197. package/src/ui-components/overflow-menu.component.tsx +74 -0
  198. package/src/ui-components/overflow-menu.scss +39 -0
  199. package/src/utils/functions.ts +236 -0
  200. package/src/utils/orders-table/orders-data-table.component.tsx +129 -0
  201. package/src/utils/orders-table/orders-data-table.scss +50 -0
  202. package/src/work-list/work-list.component.tsx +38 -0
  203. package/src/work-list/work-list.resource.ts +26 -0
  204. package/src/work-list/work-list.scss +207 -0
  205. package/translations/en.json +141 -0
  206. package/tsconfig.json +5 -0
  207. package/webpack.config.js +1 -0
@@ -0,0 +1,661 @@
1
+ import { type OrderUrgency, type OrderBasketItem } from '@openmrs/esm-patient-common-lib';
2
+ import { type Link } from './patient-queue';
3
+ import { type OpenmrsResource } from '@openmrs/esm-framework';
4
+
5
+ export enum SearchTypes {
6
+ BASIC = 'basic',
7
+ ADVANCED = 'advanced',
8
+ SEARCH_RESULTS = 'search_results',
9
+ SCHEDULED_VISITS = 'scheduled-visits',
10
+ VISIT_FORM = 'visit_form',
11
+ QUEUE_SERVICE_FORM = 'queue_service_form',
12
+ QUEUE_ROOM_FORM = 'queue_room_form',
13
+ }
14
+
15
+ export interface Patient {
16
+ uuid: string;
17
+ display: string;
18
+ identifiers: Array<any>;
19
+ person: Person;
20
+ }
21
+
22
+ export interface Attribute {
23
+ attributeType: OpenmrsResource;
24
+ display: string;
25
+ uuid: string;
26
+ value: string | number;
27
+ }
28
+
29
+ export interface Person {
30
+ age: number;
31
+ attributes: Array<Attribute>;
32
+ birthDate: string;
33
+ gender: string;
34
+ display: string;
35
+ preferredAddress: OpenmrsResource;
36
+ uuid: string;
37
+ }
38
+
39
+ export interface ServiceTypes {
40
+ duration: number;
41
+ name: string;
42
+ uuid: string;
43
+ }
44
+
45
+ export interface AppointmentService {
46
+ appointmentServiceId: number;
47
+ color: string;
48
+ creatorName: string;
49
+ description: string;
50
+ durationMins: string;
51
+ endTime: string;
52
+ initialAppointmentStatus: string;
53
+ location: OpenmrsResource;
54
+ maxAppointmentsLimit: number | null;
55
+ name: string;
56
+ speciality: OpenmrsResource;
57
+ startTime: string;
58
+ uuid: string;
59
+ serviceTypes: Array<ServiceTypes>;
60
+ }
61
+
62
+ export interface Note {
63
+ concept: OpenmrsResource;
64
+ note: string;
65
+ provider: {
66
+ name: string;
67
+ role: string;
68
+ };
69
+ time: string;
70
+ }
71
+ export interface Order {
72
+ uuid: string;
73
+ dateActivated: string;
74
+ dateStopped?: Date | null;
75
+ dose: number;
76
+ dosingInstructions: string | null;
77
+ dosingType?: 'org.openmrs.FreeTextDosingInstructions' | 'org.openmrs.SimpleDosingInstructions';
78
+ doseUnits: {
79
+ uuid: string;
80
+ display: string;
81
+ };
82
+ drug: {
83
+ uuid: string;
84
+ name: string;
85
+ strength: string;
86
+ };
87
+ duration: number;
88
+ durationUnits: {
89
+ uuid: string;
90
+ display: string;
91
+ };
92
+ frequency: {
93
+ uuid: string;
94
+ display: string;
95
+ };
96
+ numRefills: number;
97
+ orderNumber: string;
98
+ orderReason: string | null;
99
+ orderReasonNonCoded: string | null;
100
+ orderer: {
101
+ uuid: string;
102
+ person: {
103
+ uuid: string;
104
+ display: string;
105
+ };
106
+ };
107
+ orderType: {
108
+ uuid: string;
109
+ display: string;
110
+ };
111
+ route: {
112
+ uuid: string;
113
+ display: string;
114
+ };
115
+ quantity: number;
116
+ quantityUnits: OpenmrsResource;
117
+ type: string;
118
+ display: string;
119
+ links: Link[];
120
+ }
121
+
122
+ export interface OrderItem {
123
+ order: Order;
124
+ provider: {
125
+ name: string;
126
+ role: string;
127
+ };
128
+ time: string;
129
+ }
130
+
131
+ export interface DiagnosisItem {
132
+ diagnosis: string;
133
+ }
134
+
135
+ export interface Encounter {
136
+ uuid: string;
137
+ encounterDatetime: string;
138
+ encounterProviders: Array<{
139
+ uuid: string;
140
+ display: string;
141
+ encounterRole: {
142
+ uuid: string;
143
+ display: string;
144
+ };
145
+ provider: {
146
+ uuid: string;
147
+ person: {
148
+ uuid: string;
149
+ display: string;
150
+ };
151
+ };
152
+ }>;
153
+ encounterType: {
154
+ uuid: string;
155
+ display: string;
156
+ };
157
+ obs: Array<Observation>;
158
+ form: OpenmrsResource;
159
+ patient: OpenmrsResource;
160
+ orders: Array<Order>;
161
+ }
162
+
163
+ export interface Observation {
164
+ uuid: string;
165
+ concept: {
166
+ uuid: string;
167
+ display: string;
168
+ conceptClass: {
169
+ uuid: string;
170
+ display: string;
171
+ };
172
+ };
173
+ display: string;
174
+ groupMembers: null | Array<{
175
+ uuid: string;
176
+ concept: {
177
+ uuid: string;
178
+ display: string;
179
+ };
180
+ value: {
181
+ uuid: string;
182
+ display: string;
183
+ };
184
+ }>;
185
+ value: any;
186
+ obsDatetime: string;
187
+ }
188
+
189
+ export interface PatientVitals {
190
+ systolic?: number;
191
+ diastolic?: number;
192
+ pulse?: number;
193
+ temperature?: number;
194
+ oxygenSaturation?: number;
195
+ height?: number;
196
+ weight?: number;
197
+ bmi?: number | null;
198
+ respiratoryRate?: number;
199
+ muac?: number;
200
+ provider?: {
201
+ name: string;
202
+ role: string;
203
+ };
204
+ time?: string;
205
+ }
206
+
207
+ export interface MappedEncounter {
208
+ id: string;
209
+ datetime: string;
210
+ encounterType: string;
211
+ form: OpenmrsResource;
212
+ obs: Array<Observation>;
213
+ provider: string;
214
+ visitUuid?: string;
215
+ }
216
+
217
+ export interface FormattedEncounter {
218
+ id: string;
219
+ datetime: string;
220
+ encounterType: string;
221
+ form: OpenmrsResource;
222
+ obs: Array<Observation>;
223
+ provider: string;
224
+ }
225
+
226
+ export interface ObsMetaInfo {
227
+ [_: string]: any;
228
+ assessValue?: (value: number) => OBSERVATION_INTERPRETATION;
229
+ }
230
+
231
+ export type OBSERVATION_INTERPRETATION =
232
+ | 'NORMAL'
233
+ | 'HIGH'
234
+ | 'CRITICALLY_HIGH'
235
+ | 'OFF_SCALE_HIGH'
236
+ | 'LOW'
237
+ | 'CRITICALLY_LOW'
238
+ | 'OFF_SCALE_LOW'
239
+ | '--';
240
+ export interface PatientProgram {
241
+ uuid: string;
242
+ display: string;
243
+ patient: OpenmrsResource;
244
+ program: OpenmrsResource;
245
+ dateEnrolled: string;
246
+ dateCompleted: string;
247
+ location: OpenmrsResource;
248
+ }
249
+
250
+ export interface AppointmentCountMap {
251
+ allAppointmentsCount: number;
252
+ missedAppointmentsCount;
253
+ appointmentDate: number;
254
+ appointmentServiceUuid: string;
255
+ }
256
+
257
+ export interface AppointmentSummary {
258
+ appointmentService: { name: string };
259
+ appointmentCountMap: Record<string, AppointmentCountMap>;
260
+ }
261
+ export interface QueueEntryPayload {
262
+ visit: { uuid: string };
263
+ queueEntry: {
264
+ status: { uuid: string };
265
+ priority: { uuid: string };
266
+ queue: { uuid: string };
267
+ patient: { uuid: string };
268
+ startedAt: Date;
269
+ sortWeight: number;
270
+ };
271
+ }
272
+
273
+ export interface QueueServiceInfo {
274
+ uuid: string;
275
+ display: string;
276
+ name: string;
277
+ description: string;
278
+ }
279
+
280
+ export interface MappedServiceQueueEntry {
281
+ id: string;
282
+ name: string;
283
+ age: string;
284
+ gender: string;
285
+ phoneNumber: string;
286
+ visitType: string;
287
+ returnDate: string;
288
+ patientUuid: string;
289
+ }
290
+
291
+ export enum FilterTypes {
292
+ SHOW,
293
+ HIDE,
294
+ }
295
+ export interface Provider {
296
+ uuid: string;
297
+ display: string;
298
+ comments: string;
299
+ response?: string;
300
+ person: OpenmrsResource;
301
+ location: string;
302
+ serviceType: string;
303
+ }
304
+
305
+ export interface MappedQueueEntry {
306
+ id: string;
307
+ name: string;
308
+ patientAge: string;
309
+ patientSex: string;
310
+ patientDob: string;
311
+ patientUuid: string;
312
+ priority: string;
313
+ priorityComment: string;
314
+ priorityUuid: string;
315
+ service: string;
316
+ status: string;
317
+ statusUuid: string;
318
+ visitStartDateTime: string;
319
+ visitType: string;
320
+ visitUuid: string;
321
+ waitTime: string;
322
+ queueUuid: string;
323
+ queueEntryUuid: string;
324
+ queueLocation: string;
325
+ sortWeight: string;
326
+ visitNumber: string;
327
+ dateCreated: string;
328
+ }
329
+
330
+ export interface EndVisitPayload {
331
+ location: string;
332
+ startDatetime: Date;
333
+ visitType: string;
334
+ stopDatetime: Date;
335
+ }
336
+
337
+ export interface LocationResponse {
338
+ type: string;
339
+ total: number;
340
+ resourceType: string;
341
+ meta: {
342
+ lastUpdated: string;
343
+ };
344
+ link: Array<{
345
+ relation: string;
346
+ url: string;
347
+ }>;
348
+ id: string;
349
+ entry: Array<LocationEntry>;
350
+ }
351
+
352
+ export interface LocationEntry {
353
+ resource: Resource;
354
+ }
355
+ export interface Resource {
356
+ id: string;
357
+ name: string;
358
+ resourceType: string;
359
+ status: 'active' | 'inactive';
360
+ meta?: {
361
+ tag?: Array<{
362
+ code: string;
363
+ display: string;
364
+ system: string;
365
+ }>;
366
+ };
367
+ }
368
+
369
+ export interface Identifer {
370
+ identifier: string;
371
+ display: string;
372
+ uuid: string;
373
+ identifierType: {
374
+ uuid: string;
375
+ display: string;
376
+ };
377
+ }
378
+
379
+ export interface NewVisitPayload {
380
+ uuid?: string;
381
+ location: string;
382
+ patient?: string;
383
+ startDatetime: Date;
384
+ visitType: string;
385
+ stopDatetime?: Date;
386
+ attributes?: Array<{
387
+ attributeType: string;
388
+ value: string;
389
+ }>;
390
+ }
391
+
392
+ export interface QueueRoom {
393
+ uuid: string;
394
+ display: string;
395
+ name: string;
396
+ description: string;
397
+ }
398
+
399
+ export interface ProvidersQueueRoom {
400
+ uuid: string;
401
+ provider: {
402
+ uuid: string;
403
+ display: string;
404
+ };
405
+ queueRoom: {
406
+ uuid: string;
407
+ name: string;
408
+ display: string;
409
+ };
410
+ }
411
+
412
+ export interface WaitTime {
413
+ metric: string;
414
+ averageWaitTime: string;
415
+ }
416
+
417
+ export interface ProcedureOrderBasketItem extends OrderBasketItem {
418
+ testType?: {
419
+ label: string;
420
+ conceptUuid: string;
421
+ };
422
+ labReferenceNumber?: string;
423
+ urgency?: OrderUrgency;
424
+ instructions?: string;
425
+ previousOrder?: string;
426
+ orderReason?: string;
427
+ orderReasonNonCoded?: string;
428
+ scheduledDate?: Date;
429
+ commentsToFulfiller?: string;
430
+ laterality?: string;
431
+ numberOfRepeats?: string;
432
+ frequency?: string;
433
+ specimenSource?: string;
434
+ specimenType?: string;
435
+ scheduleDate?: Date;
436
+ bodySite?: string;
437
+ }
438
+
439
+ export type OrderFrequency = CommonProceduresValueCoded;
440
+ export type DurationUnit = CommonProceduresValueCoded;
441
+
442
+ interface CommonProceduresProps {
443
+ value: string;
444
+ default?: boolean;
445
+ }
446
+
447
+ export interface CommonProceduresValueCoded extends CommonProceduresProps {
448
+ valueCoded: string;
449
+ }
450
+
451
+ export * from './patient-queue';
452
+
453
+ export type CodedCondition = {
454
+ concept: {
455
+ uuid: string;
456
+ display: string;
457
+ };
458
+ conceptName: {
459
+ uuid: string;
460
+ display: string;
461
+ };
462
+ display: string;
463
+ };
464
+
465
+ export type CodedProvider = {
466
+ uuid: string;
467
+ display: string;
468
+ };
469
+ export type DateFilterContext = {
470
+ dateRange: Array<Date>;
471
+ setDateRange: React.Dispatch<React.SetStateAction<Array<Date>>>;
472
+ };
473
+
474
+ export type ProcedurePayload = {
475
+ patient: string;
476
+ procedureOrder: string;
477
+ concept: string;
478
+ procedureReason: string;
479
+ category: string;
480
+ status: string;
481
+ outcome: string;
482
+ location: string;
483
+ startDatetime: string;
484
+ endDatetime: string;
485
+ procedureReport: string;
486
+ encounters?: Array<{
487
+ encounterDatetime: Date;
488
+ encounterProviders: Array<{
489
+ provider: string;
490
+ encounterRole: string;
491
+ }>;
492
+ patient: string;
493
+ encounterType: string;
494
+ obs: Array<{
495
+ concept: string;
496
+ value: number;
497
+ }>;
498
+ }>;
499
+ };
500
+
501
+ export type OrderStatusFilterType =
502
+ | 'All'
503
+ | 'EXCEPTION'
504
+ | 'RECEIVED'
505
+ | 'COMPLETED'
506
+ | 'IN_PROGRESS'
507
+ | 'ON_HOLD'
508
+ | 'DECLINED';
509
+
510
+ export interface WorklistProps {
511
+ fulfillerStatus: string;
512
+ }
513
+
514
+ export interface ResultsOrderProps {
515
+ order: Result;
516
+ patientUuid: string;
517
+ }
518
+
519
+ export interface RejectOrderProps {
520
+ order: Result;
521
+ }
522
+
523
+ export interface InstructionsProps {
524
+ order: Result;
525
+ }
526
+
527
+ export interface GroupedOrders {
528
+ patientId: string;
529
+ orders: Array<Result>;
530
+ }
531
+ export interface GroupedOrdersTableProps {
532
+ orders: Array<Result>;
533
+ showStatus: boolean;
534
+ showActions: boolean;
535
+ showOrderType: boolean;
536
+ showStatusFilter: boolean;
537
+ showDateFilter: boolean;
538
+ actions: Array<OrderAction>;
539
+ }
540
+
541
+ export interface ListOrdersDetailsProps {
542
+ groupedOrders: GroupedOrders;
543
+ showStatus: boolean;
544
+ showActions: boolean;
545
+ showOrderType: boolean;
546
+ actions: Array<OrderAction>;
547
+ }
548
+
549
+ export interface OrderAction {
550
+ actionName: string;
551
+ displayPosition: 0 | number;
552
+ }
553
+
554
+ export interface Result {
555
+ uuid: string;
556
+ orderNumber: string;
557
+ accessionNumber: string;
558
+ patient: Patient;
559
+ concept: Concept;
560
+ action: string;
561
+ careSetting: CareSetting;
562
+ previousOrder: PreviousOrder;
563
+ dateActivated: string;
564
+ scheduledDate: any;
565
+ dateStopped: any;
566
+ autoExpireDate: any;
567
+ encounter: Encounter;
568
+ orderer: Orderer;
569
+ orderReason: any;
570
+ orderReasonNonCoded: any;
571
+ orderType: OrderType;
572
+ urgency: string;
573
+ instructions: any;
574
+ commentToFulfiller: any;
575
+ display: string;
576
+ auditInfo: AuditInfo;
577
+ fulfillerStatus: string;
578
+ fulfillerComment: any;
579
+ specimenSource: SpecimenSource;
580
+ laterality: any;
581
+ clinicalHistory: any;
582
+ frequency: any;
583
+ numberOfRepeats: any;
584
+ procedures: any;
585
+ links: Link[];
586
+ type: string;
587
+ resourceVersion: string;
588
+ }
589
+
590
+ export interface Concept {
591
+ conceptClass: ConceptClass;
592
+ uuid: string;
593
+ display: string;
594
+ links: Link[];
595
+ }
596
+
597
+ export interface ConceptClass {
598
+ uuid: string;
599
+ }
600
+
601
+ export interface CareSetting {
602
+ uuid: string;
603
+ name: string;
604
+ description: string;
605
+ retired: boolean;
606
+ careSettingType: string;
607
+ display: string;
608
+ links: Link[];
609
+ resourceVersion: string;
610
+ }
611
+
612
+ export interface PreviousOrder {
613
+ uuid: string;
614
+ display: string;
615
+ links: Link[];
616
+ type: string;
617
+ }
618
+
619
+ export interface Encounter {
620
+ uuid: string;
621
+ display: string;
622
+ links: Link[];
623
+ }
624
+
625
+ export interface Orderer {
626
+ uuid: string;
627
+ display: string;
628
+ links: Link[];
629
+ }
630
+
631
+ export interface OrderType {
632
+ uuid: string;
633
+ display: string;
634
+ name: string;
635
+ javaClassName: string;
636
+ retired: boolean;
637
+ description: string;
638
+ conceptClasses: any[];
639
+ parent: any;
640
+ links: Link[];
641
+ resourceVersion: string;
642
+ }
643
+
644
+ export interface AuditInfo {
645
+ creator: Creator;
646
+ dateCreated: string;
647
+ changedBy: any;
648
+ dateChanged: any;
649
+ }
650
+
651
+ export interface Creator {
652
+ uuid: string;
653
+ display: string;
654
+ links: Link[];
655
+ }
656
+
657
+ export interface SpecimenSource {
658
+ uuid: string;
659
+ display: string;
660
+ links: Link[];
661
+ }
@@ -0,0 +1,77 @@
1
+ export interface UuidDisplay {
2
+ uuid: string;
3
+ display: string;
4
+ }
5
+
6
+ export interface Encounter {
7
+ uuid: string;
8
+ display: string;
9
+ encounterDatetime: string;
10
+ patient: Patient;
11
+ location: Location;
12
+ form: Form;
13
+ encounterType: EncounterType;
14
+ obs: Ob[];
15
+ orders: Order[];
16
+ voided: boolean;
17
+ visit: Visit;
18
+ encounterProviders: EncounterProvider[];
19
+ diagnoses: any[];
20
+ links: Link[];
21
+ resourceVersion: string;
22
+ }
23
+
24
+ export interface Patient {
25
+ uuid: string;
26
+ display: string;
27
+ links: Link[];
28
+ }
29
+
30
+ export interface Link {
31
+ rel: string;
32
+ uri: string;
33
+ resourceAlias: string;
34
+ }
35
+
36
+ export interface Location {
37
+ uuid: string;
38
+ display: string;
39
+ links: Link[];
40
+ }
41
+
42
+ export interface Form {
43
+ uuid: string;
44
+ display: string;
45
+ links: Link[];
46
+ }
47
+
48
+ export interface EncounterType {
49
+ uuid: string;
50
+ display: string;
51
+ links: Link[];
52
+ }
53
+
54
+ export interface Ob {
55
+ uuid: string;
56
+ display: string;
57
+ links: Link[];
58
+ }
59
+
60
+ export interface Order {
61
+ uuid: string;
62
+ display: string;
63
+ links: Link[];
64
+ type: string;
65
+ }
66
+
67
+ export interface Visit {
68
+ uuid: string;
69
+ display: string;
70
+ links: Link[];
71
+ }
72
+
73
+ export interface EncounterProvider {
74
+ uuid: string;
75
+ display: string;
76
+ links: Link[];
77
+ }