Use the GetDICOMImportJob
action to learn more about AWS HealthImaging import job properties. For instance,
after starting an import job, you can run GetDICOMImportJob
to find the status of the job. Once the jobStatus
returns as COMPLETED
, you're ready to access your image sets.
The jobStatus
refers to the execution of the import job. Therefore, an import job can return a jobStatus
as
COMPLETED
even if validation issues are discovered during the import process. If a jobStatus
returns
as COMPLETED
, we still recommend you review the output manifests written to Amazon S3, as they provide details on the success
or failure of individual P10 object imports.
The following menus provide a procedure for the AWS Management Console and code examples for the AWS CLI and AWS SDKs. For more information,
see GetDICOMImportJob
in the AWS HealthImaging API Reference.
To get import job properties
Choose a menu based on your access preference to AWS HealthImaging.
-
Open the HealthImaging console Data stores page.
-
Choose a data store.
The Data store details page opens. The Image sets
tab is selected by default.
-
Choose the Imports tab.
-
Choose an import job.
The Import job details page opens and displays
properties about the import job.
- C++
-
- SDK for C++
-
//! Routine which gets a HealthImaging DICOM import job's properties.
/*!
\param dataStoreID: The HealthImaging data store ID.
\param importJobID: The DICOM import job ID
\param clientConfig: Aws client configuration.
\return GetDICOMImportJobOutcome: The import job outcome.
*/
Aws::MedicalImaging::Model::GetDICOMImportJobOutcome
AwsDoc::Medical_Imaging::getDICOMImportJob(const Aws::String &dataStoreID,
const Aws::String &importJobID,
const Aws::Client::ClientConfiguration &clientConfig) {
Aws::MedicalImaging::MedicalImagingClient client(clientConfig);
Aws::MedicalImaging::Model::GetDICOMImportJobRequest request;
request.SetDatastoreId(dataStoreID);
request.SetJobId(importJobID);
Aws::MedicalImaging::Model::GetDICOMImportJobOutcome outcome = client.GetDICOMImportJob(
request);
if (!outcome.IsSuccess()) {
std::cerr << "GetDICOMImportJob error: "
<< outcome.GetError().GetMessage() << std::endl;
}
return outcome;
}
- CLI
-
- AWS CLI
-
To get a dicom import job's properties
The following get-dicom-import-job
code example gets a dicom import job's properties.
aws medical-imaging get-dicom-import-job \
--datastore-id "12345678901234567890123456789012"
\
--job-id "09876543210987654321098765432109"
Output:
{
"jobProperties": {
"jobId": "09876543210987654321098765432109",
"jobName": "my-job",
"jobStatus": "COMPLETED",
"datastoreId": "12345678901234567890123456789012",
"dataAccessRoleArn": "arn:aws:iam::123456789012:role/ImportJobDataAccessRole",
"endedAt": "2022-08-12T11:29:42.285000+00:00",
"submittedAt": "2022-08-12T11:28:11.152000+00:00",
"inputS3Uri": "s3://medical-imaging-dicom-input/dicom_input/",
"outputS3Uri": "s3://medical-imaging-output/job_output/12345678901234567890123456789012-DicomImport-09876543210987654321098765432109/"
}
}
- Java
-
- SDK for Java 2.x
-
public static DICOMImportJobProperties getDicomImportJob(MedicalImagingClient medicalImagingClient,
String datastoreId,
String jobId) {
try {
GetDicomImportJobRequest getDicomImportJobRequest = GetDicomImportJobRequest.builder()
.datastoreId(datastoreId)
.jobId(jobId)
.build();
GetDicomImportJobResponse response = medicalImagingClient.getDICOMImportJob(getDicomImportJobRequest);
return response.jobProperties();
} catch (MedicalImagingException e) {
System.err.println(e.awsErrorDetails().errorMessage());
System.exit(1);
}
return null;
}
- JavaScript
-
- SDK for JavaScript (v3)
-
import { GetDICOMImportJobCommand } from "@aws-sdk/client-medical-imaging";
import { medicalImagingClient } from "../libs/medicalImagingClient.js";
/**
* @param {string} datastoreId - The ID of the data store.
* @param {string} jobId - The ID of the import job.
*/
export const getDICOMImportJob = async (
datastoreId = "xxxxxxxxxxxxxxxxxxxx",
jobId = "xxxxxxxxxxxxxxxxxxxx"
) => {
const response = await medicalImagingClient.send(
new GetDICOMImportJobCommand({ datastoreId: datastoreId, jobId: jobId })
);
console.log(response);
// {
// '$metadata': {
// httpStatusCode: 200,
// requestId: 'a2637936-78ea-44e7-98b8-7a87d95dfaee',
// extendedRequestId: undefined,
// cfId: undefined,
// attempts: 1,
// totalRetryDelay: 0
// },
// jobProperties: {
// dataAccessRoleArn: 'arn:aws:iam::xxxxxxxxxxxx:role/dicom_import',
// datastoreId: 'xxxxxxxxxxxxxxxxxxxxxxxxx',
// endedAt: 2023-09-19T17:29:21.753Z,
// inputS3Uri: 's3://healthimaging-source/CTStudy/',
// jobId: ''xxxxxxxxxxxxxxxxxxxxxxxxx'',
// jobName: 'job_1',
// jobStatus: 'COMPLETED',
// outputS3Uri: 's3://health-imaging-dest/ouput_ct/'xxxxxxxxxxxxxxxxxxxxxxxxx'-DicomImport-'xxxxxxxxxxxxxxxxxxxxxxxxx'/',
// submittedAt: 2023-09-19T17:27:25.143Z
// }
// }
return response;
};
- Python
-
- SDK for Python (Boto3)
-
class MedicalImagingWrapper:
def __init__(self, health_imaging_client):
self.health_imaging_client = health_imaging_client
def get_dicom_import_job(self, datastore_id, job_id):
"""
Get the properties of a DICOM import job.
:param datastore_id: The ID of the data store.
:param job_id: The ID of the job.
:return: The job properties.
"""
try:
job = self.health_imaging_client.get_dicom_import_job(
jobId=job_id, datastoreId=datastore_id
)
except ClientError as err:
logger.error(
"Couldn't get DICOM import job. Here's why: %s: %s",
err.response["Error"]["Code"],
err.response["Error"]["Message"],
)
raise
else:
return job["jobProperties"]
The following code instantiates the MedicalImagingWrapper object.
client = boto3.client("medical-imaging")
medical_imaging_wrapper = MedicalImagingWrapper(client)
Can't find what you need? Request a code example using the Provide feedback
link at the bottom of this page.