From 08c21a7b5274cd0c8776098cac223b459a06e217 Mon Sep 17 00:00:00 2001 From: Victor Chang Date: Thu, 24 Aug 2023 14:01:28 -0700 Subject: [PATCH] Update user guide and changelog Signed-off-by: Victor Chang --- docs/changelog.md | 3 +- docs/index.md | 55 ++++++++------------ docs/setup/services.md | 113 +++++++++++++++++++++++++++++++++++++++++ docs/setup/toc.md | 1 + 4 files changed, 136 insertions(+), 36 deletions(-) create mode 100644 docs/setup/services.md diff --git a/docs/changelog.md b/docs/changelog.md index 83388e56a..fe843f619 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -22,7 +22,8 @@ [GitHub Milestone 0.4.0](https://github.com/Project-MONAI/monai-deploy-informatics-gateway/milestone/5) - gh-435 Fix CLI to read log dir path from NLog config file. -- New Virtual Application Entity support for DICOMWeb STOW-RS APIs to enable dynamic endpoints. +- gh-425 New Virtual Application Entity support for DICOMWeb STOW-RS APIs to enable dynamic endpoints. +- gh-421 Integrate updated Workflow Request data structure to support multiple sources. - New data [plug-ins](./plug-ins/overview.md) feature to manipulate incoming outgoing data. diff --git a/docs/index.md b/docs/index.md index b3d1a1b79..4b6f8b9d0 100644 --- a/docs/index.md +++ b/docs/index.md @@ -27,51 +27,36 @@ MIG uses standard protocols like DICOM and FHIR. It stores studies and resources After inference completes, MIG receives notifications for exporting the results to the proper consumers, usually PACS or viewers for visualization, VNAs for storage, and EHRs (Electronic Healthcare Records). -## Services +A list of supported protocols and services are available on the [MONAI Deploy Informatics Gateway Services](./setup/services.md) page. -MIG contains the following standard protocols for communicating with medical devices: -* **DICOM SCP**: C-ECHO, C-STORE -* **DICOM SCU**: C-STORE -* **HL7 Server**: A HL7 MLLP listener. -* **ACR DSI API**: [The American College of Radiology’s Data Science Institute API](https://www.acrdsi.org/-/media/DSI/Files/ACR-DSI-Model-API.pdf) -* **DICOMweb client**: QIDO-RS, WADO-RS, STOW-RS -* **FHIR client**: GET +## Contributing +For guidance on making a contribution, see the [contributing guidelines](https://github.com/Project-MONAI/monai-deploy/blob/main/CONTRIBUTING.md). -> [!Note] -> The ACR DSI API uses the DICOMweb client and FHIR client. +## Community +To participate, please join the MONAI Deploy App SDK weekly meetings on the [calendar](https://calendar.google.com/calendar/u/0/embed?src=c_954820qfk2pdbge9ofnj5pnt0g@group.calendar.google.com&ctz=America/New_York) and review the [meeting notes](https://docs.google.com/document/d/1nw7JX-1kVaHiK8wBteM96xAWE3dh5wRUeC691bGuFjk/edit?usp=sharing). -### DICOM SCP +Join the conversation on Twitter [@ProjectMONAI](https://twitter.com/ProjectMONAI) or join our [Slack channel](https://forms.gle/QTxJq3hFictp31UM9). -The *DICOM SCP Service* accepts standard DICOM C-ECHO and C-STORE commands, which receive DICOM instances for processing. In addition, the Informatics Gateway groups received DICOM instances by the study or series based on the configuration. Once DICOM instances are grouped, they are assembled into a payload for the [MONAI Deploy Workflow Manager](https://github.com/Project-MONAI/monai-deploy-workflow-manager) to consume. +Ask and answer questions over on [MONAI Deploy Informatics Gateway's GitHub Discussions tab](https://github.com/Project-MONAI/monai-deploy-informatics-gateway/discussions). -### DICOM SCU +## License -The *DICOM SCU Service* enables users to export application-generated DICOM results to external DICOM devices. It subscribes to the `md.export.request.monaiscu` events generated by the [MONAI Deploy Workflow Manager](https://github.com/Project-MONAI/monai-deploy-workflow-manager) and then exports the data to user-configured DICOM destination(s). +Copyright (c) MONAI Consortium. All rights reserved. +Licensed under the [Apache-2.0](https://github.com/Project-MONAI/monai-deploy-informatics-gateway/blob/develop/LICENSE) license. -> [!Note] -> DICOM instances are sent as-is; no codec conversion is done as part of the SCU process. -> See the [DICOM Interface SCU](./compliance/dicom.md#dimse-services-scu) section for more information. +This software uses the Microsoft .NET 6.0 library, and the use of this software is subject to the [Microsoft software license terms](https://dotnet.microsoft.com/en-us/dotnet_library_license.htm). -### DICOMWeb STOW-RS +By downloading this software, you agree to the license terms & all licenses listed on the [third-party licenses](./compliance/third-party-licenses.md) page. -The *DICOMWeb STOW-RS Service* allows users to trigger a new workflow request by uploading a DICOM dataset. The entire DICOM dataset is assembled into a payload for the [MONAI Deploy Workflow Manager](https://github.com/Project-MONAI/monai-deploy-workflow-manager) to consume. -It provides options to trigger a workflow with or without specifying a workflow ID/name. See the -[DICOMWeb STOW-RS](./api/rest/dicomweb-stow.md) section for more information. +## Links -### HL7 MLLP Server +- Website: +- API documentation: +- Code: +- Project tracker: +- Issue tracker: +- Wiki: +- Test status: -The *HL7 MLLP Server* accepts Health Level 7 messages via the MLLP (Minimal Lower Layer Protocol). The received messages are validated and assembled into a payload for the [MONAI Deploy Workflow Manager](https://github.com/Project-MONAI/monai-deploy-workflow-manager) to consume. -### ACR DSI API - -The ACR DSI API allows users to trigger inference requests via RESTful calls, utilizing DICOMweb and FHIR to -retrieve data specified in the request. Upon data retrieval, the Informatics Gateway uploads the data to the -shared storage and generates an `md.workflow.request` event, which notifies the -[MONAI Deploy Workflow Manager](https://github.com/Project-MONAI/monai-deploy-workflow-manager) for processing. - -### DICOMweb Export - -A DICOMweb export agent can export any user-generated DICOM content to configured DICOM destinations. The agent -subscribes to the `md.export.request.monaidicomweb` events generated by the [MONAI Deploy Workflow Manager](https://github.com/Project-MONAI/monai-deploy-workflow-manager) -and then exports the data to user-configured DICOMweb destination(s). diff --git a/docs/setup/services.md b/docs/setup/services.md new file mode 100644 index 000000000..f1c48c181 --- /dev/null +++ b/docs/setup/services.md @@ -0,0 +1,113 @@ + + + +# MONAI Deploy Informatics Gateway Services + +MONAI Deploy Informatics Gateway supports the following standard protocols for communicating with medical devices: + +* **DICOM SCP**: C-ECHO, C-STORE +* **DICOM SCU**: C-STORE +* **HL7 Server**: A HL7 MLLP listener. +* **ACR DSI API**: [The American College of Radiology�s Data Science Institute API](https://www.acrdsi.org/-/media/DSI/Files/ACR-DSI-Model-API.pdf) +* **DICOMweb client**: QIDO-RS, WADO-RS, STOW-RS +* **FHIR Server**: POST +* **FHIR client**: GET + +> [!Note] +> The ACR DSI API uses the DICOMweb client and FHIR client. + +## DICOM SCP + +The *DICOM SCP Service* accepts standard DICOM C-ECHO and C-STORE commands, which receive DICOM instances for processing. In addition, the Informatics Gateway groups received DICOM instances by the study or series based on the configuration. Once DICOM instances are grouped, they are assembled into a payload for the [MONAI Deploy Workflow Manager](https://github.com/Project-MONAI/monai-deploy-workflow-manager) to consume. + +### Workflow Request + +With a DICOM SCP triggered workflow request, the data trigger contains the following: + +- `DataService`: `DataService.DIMSE` +- `Source`: `` +- `Destination`: `` + +## DICOM SCU + +The *DICOM SCU Service* enables users to export application-generated DICOM results to external DICOM devices. It subscribes to the `md.export.request.monaiscu` events generated by the [MONAI Deploy Workflow Manager](https://github.com/Project-MONAI/monai-deploy-workflow-manager) and then exports the data to user-configured DICOM destination(s). + +> [!Note] +> DICOM instances are sent as-is; no codec conversion is done as part of the SCU process. +> See the [DICOM Interface SCU](../compliance/dicom.md#dimse-services-scu) section for more information. + +## DICOMWeb STOW-RS + +The *DICOMWeb STOW-RS Service* allows users to trigger a new workflow request by uploading a DICOM dataset. The entire DICOM dataset is assembled into a payload for the [MONAI Deploy Workflow Manager](https://github.com/Project-MONAI/monai-deploy-workflow-manager) to consume. +It provides options to trigger a workflow with or without specifying a workflow ID/name. See the +[DICOMWeb STOW-RS](../api/rest/dicomweb-stow.md) section for more information. + +### Workflow Request + +With a DICOMWeb STOW-RS triggered workflow request, the data trigger contains the following: + +- `DataService`: `DataService.DicomWeb` +- `Source`: `` +- `Destination`: `default` or `` + +## HL7 MLLP Server + +The *HL7 MLLP Server* accepts Health Level 7 messages via the MLLP (Minimal Lower Layer Protocol). The received messages are validated and assembled into a payload for the [MONAI Deploy Workflow Manager](https://github.com/Project-MONAI/monai-deploy-workflow-manager) to consume. + +### Workflow Request + +With an HL7 MLLP Server triggered workflow request, the data trigger contains the following: + +- `DataService`: `DataService.HL7` +- `Source`: `` +- `Destination`: `` + +## ACR DSI API + +The ACR DSI API allows users to trigger inference requests via RESTful calls, utilizing DICOMweb and FHIR to +retrieve data specified in the request. Upon data retrieval, the Informatics Gateway uploads the data to the +shared storage and generates an `md.workflow.request` event, which notifies the +[MONAI Deploy Workflow Manager](https://github.com/Project-MONAI/monai-deploy-workflow-manager) for processing. +See the [Inference API](../api/rest/inference.md) for more information. + +### Workflow Request + +With an ACR DSI API triggered workflow request, the data trigger contains the following: + +- `DataService`: `DataService.ACR` +- `Source`: `` +- `Destination`: `` + +## DICOMweb Export + +A DICOMweb export agent can export any user-generated DICOM content to configured DICOM destinations. The agent +subscribes to the `md.export.request.monaidicomweb` events generated by the [MONAI Deploy Workflow Manager](https://github.com/Project-MONAI/monai-deploy-workflow-manager) +and then exports the data to user-configured DICOMweb destination(s). + +## FHIR Server + +The *FHIR Server* accepts FHIR resources as described in the [FHIR API](../api/rest/fhir.md) section. When data arrives at the service, each resource is packaged into a payload and a workflow request is +sent to the [MONAI Deploy Workflow Manager](https://github.com/Project-MONAI/monai-deploy-workflow-manager). + + +### Workflow Request + +With an FHIR Server triggered workflow request, the data trigger contains the following: + +- `DataService`: `DataService.FHIR` +- `Source`: `` +- `Destination`: `` diff --git a/docs/setup/toc.md b/docs/setup/toc.md index 6232254cb..12e41dacf 100644 --- a/docs/setup/toc.md +++ b/docs/setup/toc.md @@ -17,3 +17,4 @@ # [Setup](setup.md) # [Configuration](schema.md) # [CLI](cli.md) +# [Services](services.md)