Search

DICOM Ingestion Pipeline For AWS HealthImaging

Find out how DICOM Ingestion Pipeline are used for AWS HealthImaging to transform the healthcare sector through digital imaging.
AWS HealthImaging

Table of Content

Subscribe to latest Insights

By clicking "Subscribe", you are agreeing to the our Terms of Use and Privacy Policy.

Introduction

In healthcare, the capability of effectively analyzing and managing medical images is essential for research, treatment, planning, and diagnosis. With the approach of digital imaging and communication in medicine (DICOM) standards, medical imaging has changed from traditional methods to digital formats. 

Still, processing and managing large amounts of DICOM images poses many challenges for the healthcare industry. To solve these challenges, AWS provides an AWS HealthImaging service for managing, storing, and analyzing medical images in the cloud. 

In this blog, we will explore how to build a scalable DICOM Ingestion pipeline using AWS HealthImaging.

What Are DICOM Images?

DICOM (Digital Imaging and Communication in Medicine) Image format is an international standard for storing, retrieving, transferring, processing, and displaying medical imaging information. 

DICOM is generally used in healthcare for different medical imaging modalities, such as X-rays, CT scans, ultrasounds, MRIs, and more. The file is a global format that can be understood by different software and systems.

DICOM files contain image data and metadata that are encoded in a structured format. One can easily access important information on patient demographics and diagnose medical conditions by extracting data from a DICOM file.  

The extension of DICOM file is .dcm.

DICOM Images

Figure 1

What Is AWS HealthImaging?

AWS HealthImaging is a world-changing cloud-based, HIPAA (Health Insurance Portability and Accountability Act) eligible cloud-based service that allows the healthcare industry to analyze, store, and share medical images in the cloud. 

Key Features

  • Storage and Analysis – AWS HealthImaging allows users to analyze and store medical images such as X-rays, ultrasounds, CT scans, and MRIs on a petabyte scale.
  • Accessibility and Performance – AWS HealthImaging allows users to access DICOM images effectively and quickly, which helps healthcare professionals view patient images on time and accurately diagnose them.
  • High-speed Image Decoding – AWS HealthImaging helps decode DICOM images quickly and accurately, especially for large datasets. AWS HealthImaging can easily process DICOM images at scale.

Getting Started With Implementation

For building a DICOM ingestion pipeline using AWS HealthImaging you must set up your AWS environment. 

Steps to set up your AWS Environment

  1. Sign up for an AWS account
  2. Install the AWS CLI (as in this implementation we are using AWS CLI commands)
  3. Create an administrative user
  4. Create S3 buckets
  5. Create an IAM user (with AWS HealthImaging full-access permissions)
  6. Create an IAM role for an import job in AWS HealthImaging
  7. Managing Datastore
  8. Importing Imaging data
  9. Accessing Image sets

Sign up for an AWS account

Note – As a security measure, assign administrative access to an administrative user and use only the root user to perform tasks that require root user access.

  1. Login into the AWS account.
  2. Go to the sign up page and follow online instructions to create an AWS account.

Install the AWS CLI

To install AWS CLI on your machine, write the following commands.

1. Open Terminal and paste the command.

create an AWS accountFigure 2

2. After AWS CLI is installed, type the following command to list that version of the AWS CLI.

AWS CLI. Figure 3

Now that AWS CLI is installed on your machine, you can easily run AWS commands.

Create an administrative user

After you sign up to your AWS account, create an administrative user.

Steps to create an administrative user

  1. Enable IAM Identity Center.
  2. Grant administrative access to an administrative user in the IAM identity center.

Create S3 Bucket

To import DICOM images into the AWS HealthImaging service, it is important to create two S3 buckets, one for storing input data and one for storing output data. 

For this, we will specify the following s3 input and output buckets in the IAM role for import jobs.

Steps to create S3 Buckets 

1. Open Terminal and paste the command to create a bucket.

create a bucketFigure 4

It will create a s3 bucket with the name dicomimage.

Output

s3 bucket Figure 5

2. Now to create a folder in s3 bucket with name input and output write the following command.

s3 bucket Figure 6

s3 bucket Figure 7

It will create two folders in the dicomimage bucket with name input and output folder.

Output

dicomimage bucket
Figure 8

Create an IAM (with AWS HealthImaging full-access permissions)

For accessing AWS HealthImaging service create an IAM user.

  1. Go to the AWS Management Console in your AWS account, choose the user, and assign the AWS HealthImaging full access managed policy to the IAM User.

Create an IAM role for an import job in AWS HealthImaging

To import DICOM data from the s3 bucket to the AWS HealthImaging service, creating an IAM role with an attached user policy will grant access to the s3 bucket for reading DICOM images for further import job processing results.

Steps to create an IAM role for import job

1. Use the IAM console and  create a role name importjob. 
2. Attach an IAM permission policy to the IAM role. This policy will grant access to both s3 input and output buckets. Attach the permission policy below to the IAM role importjob.

create an IAM
Figure 9

3. Also, attach below given trust relationship policy to the importjob IAM role.

IAM role Figure 10

Replace accountId , region, and datastoreId with your specific AWS account.

Managing Datastore

It is important to create a data store in AWS HealthImaging to store the results of your DICOM image file.
1. Creating a data store

Write the following command on AWS CLI

command on AWS CLI Figure 11

It will create a data store with the name DICOM on your AWS HealthImaging service.

2. Getting created datastore properties.

Write the following command on AWS CLI.

AWS CLIFigure 12

It will print all the information of the data store created on your AWS HealthImaging service. 

3. Listing Data store

Write the following command on AWS CLI

Data storeFigure 13

It will print all the data stores created on your AWS HealthImaging service.

Importing Imaging data

After creating a data store, you will import your medical imaging data from your AWS s3 input bucket to your AWS HealthImaging service data store.

For this, you have to create an import job that will import data from S3 to the data store, list all the information of the DICOM image file in the form of an Imageset, and save the data into the S3 output bucket.

1. Starting an import jobs

Write the following command on AWS CLI.

command on AWS CLIFigure 14

Output

OutputAWS
Figure 15

Output on AWS
Figure 16

Like this, it will store data from DICOM images in the s3 output folder as imageset.

2. Getting import job properties

Write the following command in AWS CLI

command in AWS CLI Figure 17

It will print the information of the created import job.

3. Listing import jobs

Write the following command in AWS CLI

command in AWS CLIFigure 18

It will print all the import jobs created on AWS HealthImaging.

Accessing Image set

An image set is an AWS concept for grouping information extracted from a DICOM image file. It combines metadata and image frames(Pixel data).

1. Searching image sets

Write the following command to search the image set extracted from the DICOM image.

DICOM imageFigure 19

It will list the result of the image set extracted from the DICOM image imported into the AWS HealthImaging data store.

2. Getting image set properties

Write the following command on AWS CLI.

DICOM imageFigure 20

It will list the properties of the image set created.

3. Getting image set metadata

Write the following commands on AWS CLI

AWS CLI Figure 21

It will give the compressed file of imageset data, which will contain JSON with all metadata information of the DICOM image.

4. Getting image set pixel data

Write the following commands on AWS CLI.

commands on AWS CLI
Figure 22

It will provide the pixel data of the DICOM image from the image set and convert it into a .jph extension, which is basically HTJ2K decoding. To view it, you can use different HTJ2K libraries.
Output

HTJ2K librariesFigure 23

Conclusion

In conclusion, DICOM Ingestion Pipeline for AWS HealthImaging provides an efficient solution for managing medical imaging data in the cloud. 

By using it, the healthcare industry builds a pipeline that provides seamless storage, integration, and retrieval of medical images. It can also handle large volumes of data, support parallel processing, and integrate with existing systems.

FAQs

The benefits of using a DICOM Ingestion Pipeline on AWS HealthImaging is that it enables the sharing, storage and analysis of large medical imaging data. AWS HealthImaging also reduces costs up to 40% by using advanced techniques of compression and storing copies of images in the cloud.

We can ensure data security in a DICOM Ingestion Pipeline on AWS by using various methods, such as multi-factor authentication (MFA), setting up APIs, and using user activity logging with AWS services such as CloudTrail.

There are many challenges in implementing DICOM Ingestion on AWS. For example, DICOM files are very large and contain high-resolution images and metadata, so transferring these files across the network requires time and high bandwidth. Also, making the pipeline secure is a challenge because there is a high chance of malware and an increasing frequency of cyber attacks targeting the healthcare system.

Best Practices for Managing DICOM Ingestion on AWS include creating a scalable architecture that can easily handle the volumes of DICOM data. Take advantage of different AWS services, such as creating Amazon S3 for storage, Lambda for serverless processing, Cloudwatch to log the process, and many more.