You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -291,6 +304,37 @@ The following APIs are supported to interact with the ACR-DSI API:
291
304
292
305
---
293
306
307
+
### Data Plug-in Engines
308
+
309
+
[REQ-FNC-06] MIG Data Plug-in Engines provide a plug-in architecture to enable customization of zero or more plug-ins
310
+
to be executed on the inbound and outbound data pipelines.
311
+
312
+
#### Inbound Data Plug-in Engine
313
+
314
+
When data arrives at one of the supported data-receiving services, the MIG passes the raw data through the plug-in engine to enable data manipulation.
315
+
316
+
- For DICOM DIMSE, a list of plug-ins may be configured for each AE Title
317
+
- For DICOMWeb STOW-RS, a list of plug-ins may be configured for each virtual AE Title and a single list for the default API endpoint
318
+
- For the ACR Inference API, a single list of plug-ins may be defined
319
+
- For FHIR, a single list of plug-ins may be defined
320
+
- For HL7, a single list of plug-ins may be defined
321
+
- Each plug-in is executed in the order that it is saved in the list
322
+
- If any plug-in in the configured list fails, the data is dropped and may return an error to the sender, depending on the design of the receiving service.
323
+
- Plug-ins MUST be lightweight and not hinder the upload process
324
+
- Plug-ins SHALL not accumulate files in memory or storage for bulk processing
325
+
326
+
327
+
#### Outbound Data Plug-in Engine
328
+
329
+
When the export service receives an export request and downloads the files included in the request, the export data pipeline passes each file through the plug-in engine for data manipulation.
330
+
331
+
- A list of plug-ins can be included with each export request
332
+
- Each plug-in is executed in the order that it is saved in the list
333
+
- Plug-ins MUST be lightweight and not hinder the export process
334
+
- Plug-ins SHALL not accumulate files in memory or storage for bulk processing
335
+
-
336
+
---
337
+
294
338
### Storage & Subsystems
295
339
296
340
#### Data Storage
@@ -327,54 +371,18 @@ Each event is associated with a specific type and is serialized to JSON before s
| Bucket | string | Name of the bucket/directory name, which can be used to locate the payload on the shared storage. |
335
-
| PayloadId | string (UUID) | A UUID generated by Informatics Gateway for internal use. |
336
-
| Workflows | string[]| Workflows associated with the payload, if any. |
337
-
| FileCount | int | Number of files in the payload. |
338
-
| CorrelationId | string | For DIMSE, the correlation ID is the UUID associated with the first DICOM association received. For an ACR inference request, the correlation ID is the Transaction ID in the original request. |
339
-
| CallingAeTitle | string | For DIMSE, the sender/calling AE Title of the DICOM dataset. For ACR requests, this is the transaction ID. |
340
-
| CalledAeTitle | string | For DIMSE, the receiving AE Title of the DICOM dataset. For ACR requests, this field is empty. |
341
-
| Timestamp | DateTime | Date & time in, UTC, when the payload was created. |
342
-
| Payload | BlockStorageInfo[]| List of files in the payload . |
| Path | string | Path to the file located relatively to the root of the bucket. |
349
-
| Metadata | string | Path to the metadata file located relatively to the root of the bucket. *See notes below.*|
350
-
351
-
Notes:
352
-
For DICOM files, the metadata file contains the serialized representation of a [DICOM JSON Model](https://dicom.nema.org/dicom/2013/output/chtml/part18/sect_F.2.html).
353
-
The serialized file may or may not contain any binary blob depending on user's configuration as defined in [DicomConfiguration](../src/Configuration/DicomConfiguration.cs).
374
+
- Class name: [WorkflowRequestEvent](https://github.com/Project-MONAI/monai-deploy-messaging/blob/develop/src/Messaging/Events/WorkflowRequestEvent.cs)
| Message | string | Optional for error messages. |
378
+
- Class name: [ExportCompleteEvent](https://github.com/Project-MONAI/monai-deploy-messaging/blob/develop/src/Messaging/Events/ExportCompleteEvent.cs)
| WorkflowId | string (UUID) | A UUID generated by the Workflow Manager. |
377
-
| ExportTaskId | string (UUID) | A UUID generated by the Workflow Manager for the export task. |
378
-
| Files | string[]| A list of files to be exported. |
379
-
| Destination | string | Export destination. For DICOM C-STORE, a named DICOM destination. For ACR request, use the Transaction ID in the original request. |
380
-
| CorrelationId | string | For DIMSE, the correlation ID is the UUID associated with the first DICOM association received. For an ACR inference request, use the Transaction ID in the original request. |
386
+
- FHIR: TBD
387
+
- HL7: TBD
388
+
- Class name: [ExportRequestEvent](https://github.com/Project-MONAI/monai-deploy-messaging/blob/develop/src/Messaging/Events/ExportRequestEvent.cs)
0 commit comments