Awesome
Medical Imaging Server for DICOM
[!IMPORTANT] 📢 After more than 3 years, our team is planning to archive the DICOM server project to allow us to focus on delivering customer value to our managed service offering on Azure. We plan to archive the DICOM server project on April 30, 2024
Learn more in our recent discussion post
The Medical Imaging Server for DICOM is an open source DICOM server that is easily deployed on Azure. It allows standards-based communication with any DICOMwebâ„¢ enabled systems, and injects DICOM metadata into a FHIR server to create a holistic view of patient data. The Medical Imaging Server for DICOM integrates tightly with the FHIR Server for Azure enabling healthcare professionals, ISVs, and medical device vendors to create new and innovative solutions. FHIR is becoming an important standard for clinical data and provides extensibility to support integration of other types of data directly, or through references. By using the Medical Imaging Server for DICOM, organizations can store references to imaging data in FHIR and enable queries across clinical and imaging datasets.
The Medical Imaging Server for DICOM is a .NET Core implementation of DICOMwebâ„¢. DICOMwebâ„¢ is the DICOM Standard for web-based medical imaging. Details of our conformance to the standard can be found in our Conformance Statement.
Managed service
Azure Health Data Service DICOM service is a managed service and recommended for production deployment.
Only the Nuget libraries released from this repo are meant to be used in production. Review maintainance guide if you want to manage your own deployment from this repo.
Deploy the Medical Imaging Server for DICOM
The Medical Imaging Server for DICOM is designed to run on Azure. However, for development and test environments it can be deployed locally as a set of Docker containers to speed up development.
Deploy to Azure
If you already have an Azure subscription, deploy the Medical Imaging Server for DICOM directly to Azure: <br/> <a href="https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2Fmicrosoft%2Fdicom-server%2Fmain%2Fsamples%2Ftemplates%2Fdefault-azuredeploy.json" target="_blank"><img src="https://aka.ms/deploytoazurebutton"/></a>
To sync your Medical Imaging Server for DICOM metadata directly into a FHIR server, deploy DICOM Cast (alongside a FHIR OSS Server and Medical Imaging Server for DICOM) via: <br/> <a href="https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2Fmicrosoft%2Fdicom-server%2Fmain%2Fconverter%2Fdicom-cast%2Fsamples%2Ftemplates%2Fdefault-azuredeploy.json" target="_blank"><img src="https://aka.ms/deploytoazurebutton"/> </a>
For a complete set of instructions for how to deploy the Medical Imaging Server for DICOM to Azure, refer to the Quickstart Deploy to Azure .
Deploy locally
Follow the Development Setup Instructions to deploy a local copy of the Medical Imaging Server for DICOM. Be aware that this deployment leverages the Azurite container which emulates the Azure Storage API, and should not be used in production.
Note that the webapp library, ARM templates and Web.Zip package are for testing purposes only, they are not recommended for production scenarios. These will not be versioned. You can find the artifact feed generated by the Medical Imaging Server for DICOM at the Azure Devops Public Feed, including the versioned packages.
Quickstarts
- Deploy Medical Imaging Server for DICOM via Azure
- Deploy Medical Imaging Server for DICOM via Docker
- Set up DICOM Cast
Tutorials
- Use the Medical Imaging Server for DICOM APIs
- Use DICOMwebâ„¢ Standard APIs with C#
- Use DICOMwebâ„¢ Standard APIs with Python
- Use DICOMwebâ„¢ Standard APIs with cURL
How-to guides
- Configure Medical Imaging Server for DICOM server settings
- Enable Authentication and retrieve an OAuth token
- Enable Authorization
- Pull Changes from Medical Imaging Server for DICOM with Change Feed
- Sync DICOM metadata to FHIR
- Extended Query Tags
Concepts
Resources
Development
- Setup
- Code Organization
- Naming Guidelines
- Exception handling
- Tests
- Identity Server Authentication
- Roles
- API Versioning (developer)
Contributing
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.
When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repositories using our CLA.
There are many other ways to contribute to Medical Imaging Server for DICOM.
- Submit bugs and help us verify fixes as they are checked in.
- Review the source code changes.
- Engage with Medical Imaging Server for DICOM users and developers on StackOverflow.
- Join the #dicomonazure discussion on Twitter.
- Contribute bug fixes.
See Contributing to Medical Imaging Server for DICOM for more information.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.