Skip to main content
Skip table of contents

PACS APIs

Authorization

Every HTTP request sent to any of the following API endpoints must include the following header:

CODE
Authorization: {APIkey}

The PACS will reject any request that does not contain the Authorization header or contains a wrong API Key value. The returned response status in these cases will be HTTP 401 (Unauthorized).

The value of the API key can be configured in the PACS through the ServletAuthorizationHeader field in the Tenant configuration page.

Count studies API

Returns the number of studies that match the given filters. Studies with zero series are excluded from the count.

URL

/o3-dpacs-wado/studies/count

Method

GET

Request headers

Authorization

API Key

Required

Query parameters

See the PACS APIs | Count-studies-API-query-parameters section

Response body

JSON
{
  "study_count": 568
}

Count studies API query parameters

Parameter

Type

Multiplicity

Description

example

receivedAt

Optional

1

Range of dates (from is inclusive, to is exclusive).

Date format is YYYYMMDD.

receivedAt=20210101-20211231

studySize

Optional

1

Range of size, in KB (inclusive).

studySize=0-10 or studySize=0-

aet

Optional

1-n

List of AETs to include in the count.

aet=FEED1&aet=FEED2

excludeAet

Optional

1-n

List of AETs to exclude from the count.

excludeAet=UPLOAD1&excludeAet=UPLOAD2

stationName

Optional

1-n

List of Station Names to include in the count.

stationName=MOD1&stationName=MOD2

excludeStationName

Optional

1-n

List of Station Names to exclude from the count.

excludeStation=PACS1&excludeStation=PACS2

Deprecation APIs

Series deprecation API

Deprecate the requested series.

URL

/o3-dpacs-wado/series/deprecation

Method

POST

Request headers

Authorization

API Key

Required

Request body

JSON
{
  "seriesInstanceUid": "1.2.826.0.1.3680043.9.6116.181913404117131616172218.1",
  "author": "JaneDoe",
  "reason": "Wrong series"
}

Mandatory fields are:

  • Only one among seriesInstanceUidand containerIdentifier;

  • author;

  • reason.

Response body

JSON
{
    "message": "deprecation successful",
    "request": {
        "seriesInstanceUid": "1.2.826.0.1.3680043.9.6116.181913404117131616172218.1",
        "reason": "Wrong series",
        "author": "JaneDoe"
    }
}

Response code

  • 200 - OK;

  • 400 - Bad request - Invalid relocation request: the request's body wasn't formatted correctly;

  • 404 - Study of requested series not found: PACS was unable to find the study of the requested series;

  • 404 - Series not found: it was impossible to load every useful data to proceed with the deprecation;

  • 409 - Multiple series found: multiple series with the same Container Identifier were found. This only happens when in the request body the containerIdentifier is valued instead of the seriesInstanceUid;

  • 409 - Series has already a pending deprecation: there was at least one ongoing deprecation for the study of the requested series;

  • 409 - System error deprecating study: a SQL error or a file system error (both local or bucket one) was thrown while deprecating the series.

Study deprecation API

Deprecate the requested study.

URL

/o3-dpacs-wado/studies/deprecation

Method

POST

Request headers

Authorization

API Key

Required

Request body

JSON
{
  "studyInstanceUid": "1.2.826.0.1.3680043.9.6116.181913404117131616172218.1" | "accessionNumber": "AN123",
  "author": "JaneDoe",
  "reason": "Wrong study"
}

Mandatory fields are:

  • Only one among studyInstanceUid and accessionNumber;

  • author;

  • reason.

Response body

JSON
{
    "message": "deprecation successful",
    "request": {
        "studyInstanceUid": "1.2.826.0.1.3680043.9.6116.181913404117131616172218.1" | "accessionNumber": "AN123",
        "author": "JaneDoe",
        "reason": "Wrong study"
    }
}

Note:

Based on the provided parameters passed in the Request body, the Response body will include either the studyInstanceUID or the accessionNumber.

Response code

  • 200 - OK;

  • 400 - Bad request - Invalid relocation request: the request's body wasn't formatted correctly;

  • 404 - Not found - Study not found: it was impossible to load every useful data to proceed with the deprecation;

  • 409 - Conflict - Multiple studies found: multiple studies with the same Accession Number were found. This only happens when in the request body the accessionNumber is valued instead of the studyInstanceUid;

  • 409 - Conflict - Study has already a pending deprecation: there was at least one ongoing deprecation for the requested study;

  • 409 - Conflict - System error deprecating study: a SQL error or a file system error (both local or bucket one) was thrown while deprecating the study.

DICOMweb APIs

For details, see the https://o3enterprise.atlassian.net/wiki/x/GwBqn page.

Digital Pathology APIs

Digital Pathology storage API

Store a non-DICOM digital pathology image. Use this request only when dealing with single slide’s files. For MIRAX archives refer to PACS APIs | Digital-Pathology-storage-API---Mirax-archives .

URL

/o3-dpacs-wado/pathoRsListener/<CALLING_AET>/studies

Method

POST

Request headers

Authorization

API Key

Required

Content-type

multipart/form-data

Required

Url part

CALLING_AET

The name of the AE to call when storing a Digital Pathology file. This must be configured in the “Nodes“ page

Required

Request body

The request parts are:

  • metadata (required);

  • file (required);

  • fileHash (optional);

  • fileLength (optional).

Metadata part

The metadata part must contain a valid JSON which describe the slide sent, like in the following example

JSON
{
    "attributes": {
        "AccessionNumber": "I23-00102",
        "ContainerIdentifier": "I23-00102-A-1-1",
        "PatientBirthDate": "20240115",
        "PatientID": "Test",
        "PatientName": "TEST^TEST",
        "PatientSex": "M",
        "StudyDescription": "Test"
    },
    "hierarchy": {
        "specimen": {
            "alias": "B",
            "bodySite": "Specimen B Body Site",
            "identifier": "213",
            "procedure": "Specimen procedure"
        },
        "block": {
            "alias": "B-1",
            "identifier": "456",
            "procedure": "Block procedure"
        },
        "slide": {
            "alias": "B-1-1",
            "identifier": "222",
            "procedure": "Slide procedure",
            "stain": {
                "code": "EE"
            }
        }
    }
}

It is mandatory for the metadata JSON to contain at least the PatientID, the AccessionNumber and the ContainerIdentifier attributes.

The attributes object can contain any valid DICOM tag, recognized with their respective tag’s keyword. For sequences nested tags, they must included using the / charactes, such as ScheduledProcedureStepSequence/ScheduledStationAET: this will create the ScheduledProcedureStepSequence containing the ScheduledStationAET tag with the correspoing value found inside the JSON metadata part.

File part

The file part must include the file to upload.

FileHash part

The fileHash part is optional and must include the sent file fingerprint, using the SHA-1 algorithm. If specified, the PACS will check the stored file hash against the provided one.

FileLength part

The fileLength part is optional and must include the size of the sent file in bytes. If specified, the PACS will check the stored file hash against the provided one.

Response codes

  • 200 - OK: either the instance was successfully stored or it already existed;

  • 400 - Bad Request: the request sent is not valid. Either the CALLING_AET url part was not included, the metadata part does not contain the required attributes or the file part was not sent correctly;

  • 409 - Conflict: either the specified metadata is in conflict with data already present in the system (e.g. study/series mismatch), or the provided fileHash or fileLength do not match with the computed ones.

Notes:

  • If not specified by the sender, the StudyInstaceUID will be derived from the AccessionNumber;

  • If not specified by the sender, the SopInstanceUID will be derived from the ContainerIdentifier;

  • The Modality of the generated DICOM file will be SM;

  • The generated DICOM file will contain the tag ReferencedFileID valued with the name of the WSI file;

  • The SOP Class of the generated dicom file will be 1.2.826.0.1.3680043.2.619.20220407.1 (custom).

Digital Pathology storage API - MIRAX archives

Store a MIRAX digital pathology archive.

URL

/o3-dpacs-wado/pathoRsListener/<CALLING_AET>/studies

Method

POST

Request headers

Authorization

API Key

Required

Content-type

multipart/form-data

Required

Url part

CALLING_AET

The name of the AE to call when storing a Digital Pathology file. This must be configured in the “Nodes“ page

Required

Request body

The request parts are:

  • metadata (required);

  • file (required);

  • fileHash (optional);

  • fileLength (optional).

Metadata part

The metadata part must contain a valid JSON which describe the sent slide, like in the following example

JSON
{
    "attributes": {
        "AccessionNumber": "I23-00102",
        "ContainerIdentifier": "I23-00102-A-1-1",
        "PatientBirthDate": "20240115",
        "PatientID": "Test",
        "PatientName": "TEST^TEST",
        "PatientSex": "M",
        "StudyDescription": "Test"
    },
    "hierarchy": {
        "specimen": {
            "alias": "B",
            "bodySite": "Specimen B Body Site",
            "identifier": "213",
            "procedure": "Specimen procedure"
        },
        "block": {
            "alias": "B-1",
            "identifier": "456",
            "procedure": "Block procedure"
        },
        "slide": {
            "alias": "B-1-1",
            "identifier": "222",
            "procedure": "Slide procedure",
            "stain": {
                "code": "EE"
            }
        }
    }
}

It is mandatory, for the metadata JSON, to contain at least the PatientID, the AccessionNumber and the ContainerIdentifier attributes.

The attributes object can contain any valid DICOM tag, recognized with their respective tag’s keyword. For sequences nested tags, they must included using the / charactes, such as ScheduledProcedureStepSequence/ScheduledStationAET: this will create the ScheduledProcedureStepSequence containing the ScheduledStationAET tag with the correspoing value found inside the JSON metadata part.

File part

The file part must include the file to upload. In addition to the PACS APIs | Digital-Pathology-storage-API request, this part must contain a .zip archive containing a valid MIRAX file system. Moreover, the part must include the Content-Type header valued to application/zip.

FileHash part

The fileHash part is optional and must include the Mirax index file (.mrxs) fingerprint, using the SHA-1 algorithm. If specified, the PACS will check the stored file hash against the provided one.

FileLength part

The fileLength part is optional and must include the size of the Mirax zip archive in bytes. If specified, the PACS will check the stored file hash against the provided one.

Response codes

  • 200 - OK: either the instance was successfully stored or it already existed;

  • 400 - Bad Request: the request sent is not valid. Either the CALLING_AET url part was not included, the metadata part does not contain the required attributes or the file part was not sent correctly;

  • 400 - Bad Request: the uploaded archive does not containt the Mirax descriptor file (.mrxs file);

  • 409 - Conflict: either the specified metadata is in conflict with data already present in the system (e.g. study/series mismatch), or the provided fileHash or fileLength do not match with the computed ones.

Notes:

  • If not specified by the sender, the StudyInstaceUID will be derived from the AccessionNumber;

  • If not specified by the sender, the SopInstanceUID will be derived from the ContainerIdentifier;

  • The Modality of the generated DICOM file will be SM;

  • The generated DICOM file will contain the tag ReferencedFileID valued with the name of the WSI file;

  • The SOP Class of the generated dicom file will be 1.2.826.0.1.3680043.2.619.20220407.1 (custom).

Digital Pathology storage API with PACS sidecar

It is possible to call the Digital Pathology storage API sending also its previously generated DICOM file, proprietary for the PACS, called sidecar. The slide will be, therefore, stored with the data contained in this file instead of using the provided metadata JSON object or by derivation.

This variant supports both the store of slides and MIRAX archives.

URL

/o3-dpacs-wado/pathoRsListener/<CALLING_AET>/studies

Method

POST

Request headers

Authorization

API Key

Required

Content-type

multipart/form-data

Required

Url part

CALLING_AET

The name of the AE to call when storing a Digital Pathology file. This must be configured in the “Nodes“ page

Required

Request body

The request parts are:

  • sidecar (required);

  • file (required);

  • fileHash (optional);

  • fileLength (optional).

Sidecar part

The sidecar part must contain a valid PACS generated DICOM file referencing the file which is being sent.

File part

The file part must include the file to upload. It can be either a slide or a MIRAX archive. For more information regarding the format of this part, please refer to the related chapters above.

FileHash part

The fileHash part is optional and must include the sent file fingerprint, using the SHA-1 algorithm. If specified, the PACS will check the stored file hash against the provided one.

FileLength part

The fileLength part is optional and must include the size of the sent file in bytes. If specified, the PACS will check the stored file hash against the provided one.

Response codes

  • 200 - OK: either the instance was successfully stored or it already existed;

  • 400 - Bad Request: the request sent is not valid. Either the CALLING_AET url part was not included or the sidecar or file parts was not sent correctly;

  • 400 - Bad Request: the uploaded archive does not containt the correct slide type;

  • 409 - Conflict: either the specified metadata is in conflict with data already present in the system (e.g. study/series mismatch), or the provided fileHash or fileLength do not match with the computed ones.

Get whole slide API

Returns the whole slide corresponding to the requested barcode (Container Identifier).

URL

/o3-dpacs-wado/wholeslide

Method

GET

Request header

Authorization

API Key

Required

Query parameters

barcode

The barcode used to identify the slide

Required

Response body

The slide if the request ended successfully, otherwise a JSON body which briefly describes the error thrown. See PACS APIs | Special-cases for more details.

Response headers

If the returned status code is 200 - OK, then the Response headers will include the Content-Disposition, valued to the name of the whole slide file.

Response codes

  • 200 - OK;

  • 401 - Unauthorized: the call to the servlet didn't send any or the wrong authorization header;

  • 400 - Bad request: the call to the servlet didn't send any or an empty barcode parameter;

  • 404 - Not found: no wholeslide was found with the specified barcode;

  • 409 - Conflict: more than one wholeslide was found with the provided barcode;

Special cases

  • if the whole slide is made of a single-file (e.g. .svs, .ndpi, .tiff), then the file is simply returned, and the name of the file is specified in the Content-Disposition header;

  • if the whole slide is a DICOM file, then only the “baseline” instance (the highest resolution one) is returned;

  • if the whole slide is a MIRAX one (.mrxs), then a ZIP file is returned, containing the .mrxs file plus the data folder.

Get instance preview API

This service will return a JPEG thumbnail of the objectUID if valued. Otherwise, if seriesUID is valued, the thumbnail of the image with the lowest instance number of the series will be returned.

URL

/o3-dpacs-wado/preview

Method

GET

Request headers

Authorization

API Key

Required

Query parameters

seriesUID

If present, the service returns the preview of the series.

Optional

objectUID

If present, the service returns the preview of the instance.

Optional

Response code

  • 200 - OK;

  • 400 - Bad request: no input parameter specified

Get study events API

This service will return all events related to a study with a given Offset ID.

URL

/o3-dpacs-wado/studyEvents

Method

GET

Request headers

Authorization

API Key

Required

Query parameters

offsetId

Offset ID inside StudyEvents table.

Required

Response code

  • 200 - OK;

  • 400 - Bad request: no offset specified

Get study instance metadata API

Given the studyUid, the service will provide a collection of instances. Each one of these will have all the data displayed in the response body below.

URL

/o3-dpacs-wado/studyInstances

Method

GET

Request headers

Authorization

API Key

Required

Query parameters

studyUid

Study UID instances metadata needed

Required

Response body

The result is a JSON with an array of instances, each one with the following attributes:

  • acquisitionTime

  • bodyPartExamined

  • codeMeaning

  • contentDate

  • contentTime

  • imageLaterality

  • imageType

  • laterality

  • modality

  • numberOfFrames

  • protocolName

  • seriesDescription

  • seriesInstanceUid

  • seriesNumber

  • sopClassUid

  • sopInstanceUid

  • studyDescription

  • studyInstanceUid

  • viewPosition

Response code

  • 200 - OK;

  • 404 - Not found: no study found

KOS APIs

Create KOS in study API

Creates a new KOS for the given study and stores it as a new instance inside the study.

URL

/o3-dpacs-wado/studies/createKos

Method

POST

Request headers

Authorization

API Key

Required

Request body

JSON
{
    "studyInstanceUid": "1.3.76.13.167044.2.20200108215450.8178430.1",
    "callingAE": "NGV"
}

Response body

JSON
{
    "success": true,
    "sopInstanceUid": "1.2.826.0.1.3680043.2.619.9540.1624352961706.1.1"
}

If an exception was thrown during the servlet life cycle, the sopInstanceUid parameter will be replaced with the errorCode entry.

Example

JSON
{
    "success": false,
    "errorCode": "INTERNAL_DICOM_ERROR"
}

Possible errorCodes:

  • STUDY_NOT_FOUND

  • MALFORMED_JSON

  • INTERNAL_IO_ERROR

  • INTERNAL_SQL_ERROR

  • INTERNAL_DICOM_ERROR

  • INTERNAL_GENERIC_ERROR

Response codes

  • 200 - OK;

  • 404 - Not found: study not found

  • 400 - Bad request: the request body is not valid

Generate KOS for study API

Generates and returns a new kos for the given study without storing it inside the study. The KOS can be used as the MANIFEST for an “IHE RAD-68” transaction (XDS Provide and Register Imaging Document Set).

URL

/o3-dpacs-wado/studies/kos

Method

GET

Request headers

Authorization

API Key

Required

Query parameters

studyUid

Study Instance UID

Required

Response body

The DICOM KOS file is returned in the body of the response.

Response headers

The SOP Instance UID of the generated KOS is included in the response headers:
Content-Disposition: attachment; filename="SOP_INSTANCE_UID"

Response codes

  • 200 - OK;

  • 404 - Not found: the requested study is not present

  • 400 - Bad request: the required parameter studyUid is missing

Move study API

Reassigns a study to a different patient. Creates a new patient demographics if it does not exist.

URL

/o3-dpacs-wado/studies/move

Method

POST

Request headers

Authorization

API Key

Required

Request body

JSON
{
    "studyInstanceUid": "1.2.826.0.1582626144587",
    "targetPatientID": "PID3",
    "patientName": "POE^BLACK",
    "patientBirthDate": "20210801",
    "patientSex": "M",
    "userName": "operator"
}

Mandatory fields are:

  • studyInstanceUid;

  • targetPatientID;

  • patientName;

  • userName.

Response code

  • 200 - OK;

  • 400 - Bad Request: the json content is not valid

  • 409 - Conflict: study not found or multiple patients found with same PatientID

Orders APIs

Create Order API

Create a new order with the provided configuration.

URL

/o3-dpacs-wado/orders/create

Method

POST

Request headers

Authorization

API Key

Required

Content-Type

text/json; charset=utf-8

Required

Request body

JSON
{
    "ScheduledStationAETitle": "STATION-AET",
    "ScheduledProcedureStepStartDate": "20221205",
    "ScheduledProcedureStepStartTime": "155430",
    "Modality": "CT",
    "ScheduledPerformingPhysiciansName": "TEST",
    "ScheduledProcedureStepDescription": "Procedure step description",
    "ScheduledProcedureStepID": "1234",
    "RequestedProcedureDescription": "Procedure description",
    "RequestedProcedureID": "4567",
    "StudyInstanceUID": "1.2.752.24.5.2584605181.20150129083013.816906",
    "AccessionNumber": "AN123",
    "RequestingPhysician": "REQUESTING^PHYSICIAN",
    "ReferringPhysicianName": "REFERRING^PHYSICIAN",
    "AdmissionID": "789",
    "CurrentPatientLocation": "bar",
    "PatientName": "SURNAME^NAME",
    "PatientID": "NONE",
    "PatientBirthDate": "19860130",
    "PatientSex": "M",
    "ConfidentialityConstraintOnPatientDataDescription": "No constraint",
    "PatientState": "Some state",
    "PregnancyStatus": "Some status",
    "MedicalAlerts": "Some medical alert",
    "PlacerOrderNumberImagingServiceRequest": "2345566",
    "ServiceEpisodeID": "episode id",
    "ScheduledStationName": "STATION-NAME"
}

Mandatory fields are:

  • PatientID;

  • StudyInstanceUID (order unique identifier);

  • PatientName;

  • ScheduledStationAETitle;

  • ScheduledProcedureStepDescription;

  • ScheduledProcedureStepStartDate;

  • ScheduledProcedureStepStartTime;

  • Modality;

  • AccessionNumber;

Response codes

  • 200 - OK;

  • 400 - Bad request: no request body has been provided or it is does not contain the mandatory fields;

  • 409 - Conflict: an order with the provided StudyInstanceUID already exists.

Delete Order API

Delete the order corresponding to the provided StudyInstanceUID.

URL

/o3-dpacs-wado/orders/delete

Method

DELETE

Request headers

Authorization

API Key

Required

Query parameters

studyUid

The StudyInstanceUID used to identify the order

Required

Response codes

  • 200 - OK;

  • 404 - Not found: no order with the provided studyUid has been found.

Patient APIs

Create patient API

Creates a new patient, given that the patientId, is not already used for another patient from the same idIssuer.

URL

/o3-dpacs-wado/patients/create

Method

POST

Request Headers

Authorization

API Key

Required

Request Body

JSON
{
    "patientID": "PID-123",
    "patientName": "DOE^JOHN",
    "patientBirthDate": "20211224",    //OPTIONAL
    "patientSex": "M",                 //OPTIONAL
    "idIssuer": "ISSUER",              //OPTIONAL
    "userName": "user543"
}

Mandatory fields are:

  • patientName;

  • patientID;

  • userName.

Response code

  • 200 - OK;

  • 409 - Conflict: the provided patientID identifies more than one patient;

  • 400 - Bad request: at least one mandatory field was not provided.

Merge patient information API

Reassign all the studies of the source patient to the target patient. Creates the target patient if not present.

URL

/o3-dpacs-wado/patients/merge

Method

POST

Request headers

Authorization

API Key

Required

Request body

JSON
{
    "sourcePatientID": "PID-123",
    "targetPatientID": "PID-124",
    "patientName": "TEST^NAME",
    "patientBirthDate": "19700101",
    "patientSex": "O",
    "operatorName": "operator 5",
    "userName": "john"
}

Response code

  • 200 - OK;

  • 409 - Conflict: multiple patients found with source patient, no patient found with source patient, no study found for source patient, multiple patient found for tarter patient,

Update patient information API

This service will update the patient’s information relative to the specified Patient ID. See the Request Body section for the supported attributes. Orders relative to the specified patient will also be updated.

URL

/o3-dpacs-wado/patients/update

Method

POST

Request headers

Authorization

API Key

Required

Request body

JSON
 {
    "patientID": "PID-123",
    "patientName": "DOE^JOHN",
    "patientBirthDate": "20211224",
    "patientSex": "M",
    "operatorName": "operator",
    "userName": "user543"
}

Mandatory fields are:

  • patientID;

  • patientName;

  • userName.

Response code

  • 200 - OK;

  • 409 - Conflict: the provided patientID identifies more than one patient;

  • 400 - Bad request: at least one mandatory was not provided.

Reconcile studies API

Moves all series from the source study sourceStudyInstanceUID to the target study targetStudyInstanceUID. The image availability message will also be generated for the target study.

If the target study already exists, no study attribute will be changed. On the other hand, if the study does not exist, it will be created with all the data provided in the message.

If the patient already exists (the check is done only on PatientID), the target study is simply hooked to the existing patient, otherwise a new patient demographics entry is created.

URL

/o3-dpacs-wado/studies/reconcile

Method

POST

Request headers

Authorization

API Key

Required

Request body

JSON
{
	"sourceStudyInstanceUID": "1.950.94590.1",
	"targetStudyInstanceUID": "1.950.94590.2",
	"patientID": "RECON-123",
	"patientName": "PATIENT^NEW",
	"patientBirthDate": "19010101",
	"patientSex": "M",
	"accessionNumber": "AN201191249",
	"studyDescription": "Reconciled study",
	"studyDate": "20211229",
	"userName": "operator"
}

Mandatory fields are:

  • sourceStudyInstanceUID;

  • targetStudyInstanceUID;

  • patientID;

  • userName.

Response code

  • 200 - OK;

  • 400 - Bad Request: the body sent is not valid;

  • 404 - Not found: the requested sourceStudyInstanceUID is not available at the time of the request;

  • 409 - Conflict: the target study exists but has a patientID different from the one included in the request.

Study relocation API

Relocate the requested study to another physical medium or a bucket. Relocation from one bucket to another one is not supported.

Note that the service is synchronous, meaning that the relocation will be performed immediately; the response will contain the actual relocation outcome.

URL

/o3-dpacs-wado/studies/relocation

Method

POST

Request headers

Authorization

API Key

Required

Request body

JSON
{
  "studyInstanceUid": "1.2.826.0.1.3680043.9.6116.181913404117131616172218.1" | "accessionNumber": "AN123",
  "bucketName": "online-bucket" | "physicalMediumName": "physical-media-name",
  "author": "JaneDoe"
}

Mandatory fields are:

  • Only one among studyInstanceUid and accessionNumber;

  • Only one among bucketName and physicalMediumName;

  • author.

Response body

JSON
{
    "message": "relocation successful",
    "request": {
        "studyInstanceUid": "1.2.826.0.1.3680043.9.6116.181913404117131616172218.1" | "accessionNumber": "AN123",
        "bucketName": "online-bucket" | "physicalMediumName": "physical-media-name",
        "author": "JaneDoe"
    }
}

Note:

Based on the provided parameters passed in the Request body, the Response body will include either the studyInstanceUID or the accessionNumber and either the physicalMediumName or the bucketName.

Response code

  • 200 - OK - the study has been relocated;

  • 400 - Bad request - Invalid relocation request: the request's body wasn't formatted correctly;

  • 404 - Not found - Physical medium not found: the physical medium requested does not exist;

  • 409 - Conflict - Multiple studies found: multiple studies with the same Accession Number were found. This only happens when in the request body the accessionNumber is valued instead of the studyInstanceUid;

  • 409 - Conflict - Relocation not supported: this error is thrown when a user tries to relocate a bucket study to another bucket (this operation is not currently supported);

  • 409 - Conflict - Bucket error: the requested bucket does not exist or it was impossible to load its configuration;

  • 409 - Conflict - System error relocating study: a SQL error or another exception was thrown while relocating the study.

Swap series API

Reassigns all the series of the source study to the target study and vice-versa.

URL

/o3-dpacs-wado/studies/swap

Method

POST

Request headers

Authorization

API Key

Required

Request body

JSON
{
    "sourceStudyInstanceUID": "1.3.76.6.149036212421207",
    "targetStudyInstanceUID": "1.3.6.1..1.7.1.6358916",
    "userName": "Test"
}

Response codes

  • 200 - OK;

  • 400 - Bad request: the request body is not valid;

  • 404 - Not found: study not found.

Forward DICOM series API

Provided that an API destination node is already configured within a Forward Series job, this service will enqueue the series in the forward pipeline. The series will then be forwarded asynchronously according to the job’s configuration.

URL

/o3-dpacs-wado/series/forward

Method

POST

Request headers

Authorization

API Key

Required

Request body

JSON
{
    "seriesInstanceUID": "1.2.3",
    "author": "john"
}

Response codes

  • 200 - OK;

  • 400 - Bad request: both parameters are mandatory;

  • 404 - Not found: series not found.

  • 500 - Internal Server Error: database error

  • 500 - Internal Server Error: forward node not found

  • 500 - Internal Server Error: forward node not configured

  • 500 - Internal Server Error: forward job not configured

Forward non-DICOM Digital Pathology wholeslides API

Provided that an API endpoint along with an optional authorization header are already configured within a Forward Non DICOM Slides job, this service will enqueue the non DICOM slides identified by a container identifier in the forward pipeline. The series will then be forwarded asynchronously according to the job’s configuration.

URL

/o3-dpacs-wado/series/forward

Method

POST

Request headers

Authorization

API Key

Required

Request body

JSON
{
    "containerIdentifier": "ABC-001-001",
    "author": "john"
}

Response codes

  • 200 - OK;

  • 400 - Bad request: both parameters are mandatory;

  • 404 - Not found: container identifier not found.

  • 500 - Internal Server Error: database error

  • 500 - Internal Server Error: forward job not configured

  • 500 - Internal Server Error: forward endpoint not configured

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.