- Azurite storage emulator
- SQL Server 2019 with full text index feature
- .NET core SDK version specified here
- Install Visual Studio 2022
- Clone the Medical Imaging Server for DICOM repo
- Navigate to the cloned repository
- Open
Microsoft.Health.Dicom.sln
in VS - Build
- Make sure the storage emulator is running
- Run all tests from the Test Explorer
- Set Microsoft.Health.Dicom.Web as your startup project
- Run the project
- Web server is now running at https://localhost:63838/
- Install fiddler
- Go to Tools->Options->HTTPS on fiddler. Click protocols and add "tls1.2" to the list of protocols.
- Download DCM example file from here
- Upload DCM file
- Use
Upload file...
link at request body section as shown in picture below- Located in
Parsed
tab inside theComposer
tab
- Located in
- Use
- Update request header:
Accept: application/dicom+json
Content-Type: multipart/related
(don't change boundary part)
- Update request body:
Content-Type: application/dicom
- Post the request to
https://localhost:63838/v<version>/studies
- Hit Execute button
- If the POST is successful, you should be see an HTTP 200 response.
- Note: you cannot upload the same DCM file again unless it is first deleted. Doing so will result in an HTTP 409 Conflict error.
Postman only supports uploading DICOM files using the single part payload defined in the DICOM standard. This is because Postman cannot support custom separators in a multipart/related POST request.
- Install Postman
- Set the request to be a post request to the url
https://localhost:63838/v<version>/studies
- In the
Body
tab of Postman selectbinary
and and then select the single part DICOM file you would like to upload - In the headers section add the following. All the headers should match as in the image below
- Accept:
application/dicom+json
- Content-Type:
application/dicom
- Accept:
- Click
Send
, a successful post will result in a 200 OK
- Example QIDO to get all studies
GET https://localhost:63838/v<version>/studies
accept: application/dicom+json