Upload DICOMs

To upload your DICOM images, include the DICOM files you wish to upload in the request. Ensure that the Modality field in the DICOM metadata is correctly populated with one of the accepted values (CR, CX, DR, DX) before uploading.

API Format

POST /upload

or

POST /studies

Request Formats

curl -X POST \\
-L 'Base_URL/studies/' \\
-H 'Content-Type: multipart/form-data' \\
-H 'Authorization: Token <PASTE_YOUR_TOKEN>' \\
-H 'Source: <PASTE_YOUR_SOURCE>' \\
-H 'User-Agent: <YOUR_USER_AGENT>' \\
-F 'file_1=@"</path/to/your/dicom_file1.dcm>"' \\
-F 'file_2=@"</path/to/your/dicom_file2.dcm>"' \\
-F 'file_3=@"</path/to/your/dicom_file3.dcm>"' 

Success Response

Upon successfully uploading the DICOM images, you will receive a 200 OK response along with the following JSON body:

{
    "message": "Success",
    "status": "success",
    "messages": {
        "file0": {
            "message": "DICOM registered successfully.",
            "created": true,
            "license_expired": false,
            "metadata": {
                "AccessionNumber": "<accession_number>",
                "AcquisitionDate": "<acquisition_date>",
                "AcquisitionTime": "<acquisition_time>",
                "ImageUUID": "<image_uuid>",
                "InstancesList": "<instances_list>",
                "InstanceNumber": "<instance_number>",
                "Modality": "CT",
                "PatientAge": "<patient_age>",
                "PatientBirthDate": "<patient_birth_date>",
                "PatientID": "<patient_id>",
                "PatientName": "<patient_name>",
                "PatientSex": "<patient_sex>",
                "SeriesInstanceUID": "<series_instance_uid>",
                "SeriesList": "<series_list>",
                "SeriesNumber": "<series_number>",
                "SOPClassUID": "<sop_class_uid>",
                "SOPInstanceUID": "<sop_instance_uid>",
                "StudyDate": "<study_date>",
                "StudyInstanceUID": "<study_instance_uid>",
                "StudyTime": "<study_time>",
                "TransferSyntaxUID": "<transfer_syntax_uid>"
            }
        },
				"file2": {
            "message": "DICOM registered successfully.",
            "created": true,
            "license_expired": false,
            "metadata": {
                "AccessionNumber": "<accession_number>",
                "AcquisitionDate": "<acquisition_date>",
                "AcquisitionTime": "<acquisition_time>",
                "ImageUUID": "<image_uuid>",
                "InstancesList": "<instances_list>",
                "InstanceNumber": "<instance_number>",
                "Modality": "CT",
                "PatientAge": "<patient_age>",
                "PatientBirthDate": "<patient_birth_date>",
                "PatientID": "<patient_id>",
                "PatientName": "<patient_name>",
                "PatientSex": "<patient_sex>",
                "SeriesInstanceUID": "<series_instance_uid>",
                "SeriesList": "<series_list>",
                "SeriesNumber": "<series_number>",
                "SOPClassUID": "<sop_class_uid>",
                "SOPInstanceUID": "<sop_instance_uid>",
                "StudyDate": "<study_date>",
                "StudyInstanceUID": "<study_instance_uid>",
                "StudyTime": "<study_time>",
                "TransferSyntaxUID": "<transfer_syntax_uid>"
            }
        },
				...
				"file99": {
            "message": "DICOM registered successfully.",
            "created": true,
            "license_expired": false,
            "metadata": {
                "AccessionNumber": "<accession_number>",
                "AcquisitionDate": "<acquisition_date>",
                "AcquisitionTime": "<acquisition_time>",
                "ImageUUID": "<image_uuid>",
                "InstancesList": "<instances_list>",
                "InstanceNumber": "<instance_number>",
                "Modality": "CT",
                "PatientAge": "<patient_age>",
                "PatientBirthDate": "<patient_birth_date>",
                "PatientID": "<patient_id>",
                "PatientName": "<patient_name>",
                "PatientSex": "<patient_sex>",
                "SeriesInstanceUID": "<series_instance_uid>",
                "SeriesList": "<series_list>",
                "SeriesNumber": "<series_number>",
                "SOPClassUID": "<sop_class_uid>",
                "SOPInstanceUID": "<sop_instance_uid>",
                "StudyDate": "<study_date>",
                "StudyInstanceUID": "<study_instance_uid>",
                "StudyTime": "<study_time>",
                "TransferSyntaxUID": "<transfer_syntax_uid>"
            }
        }
    },
    },
    },
    "series_instance_uids": [
        "<series_instance_uid>"
    ],
    "detailed_info": [
        {
            "SeriesInstanceUID": "<series_instance_uid>",
            "NumberOfSeriesRelatedInstances": "<number_of_series_related_instances_1>"
        }
    ]
}

To learn more about the various keys and parameters in the JSON response, refer to the Upload DICOMs API Reference.

Other Responses

  1. 401 Unauthorized

    This response occurs when the Authorization header has either no token or a wrong token.

    {
        "message": "Invalid token header. No credentials provided.",
        "next": "/accounts/login/",
        "authenticated": false
    }
  2. 400 Bad Request

    This response is returned when no DICOMs are uploaded.

    {
        "message": "No DICOM files were uploaded!"
    }

Last updated