PACS Retrieve Pull to Client - FNNDSC/pfdcm GitHub Wiki

pfdcm PACS Retrieve Pull to Client

Abstract

This page describes how to pull data that has been received by pfdcm to a local client.

Preconditions

  • A HOST_IP environment variable that denotes the IP of the host housing the service. In Linux, you can do:
export HOST_IP=$(ip route | grep -v docker | awk '{if(NF==11) print $9}')
  • Make sure that pfdcm has been started (see here for more info)
pfcon --forever --httpResponse
  • Have the following information pertaining to the remote PACS server:

    • IP
    • port
    • AETITLE
    • CALLED AETITLE
  • Set the internal values specifying the remote PACS host according to here.

  • Make sure you have a series UID from a previous call to PACS query here.

Pulling based on SeriesInstanceUID

Data is typically retrieved on SeriesInstanceUID, and this is also used to pull data from pfdcm to the local client.

./pfurl --verb POST --raw --http ${HOST_IP}:5015/api/v1/cmd \
 --jsonwrapper 'payload' --msg '{  "action": "pullPath",
    "meta": {
                "on" : {
                   "series_uid": "1.3.12.2.1107.5.2.32.35235.2011120608041225195630230.0.0.0"
                         },
                "to": {
                   "path": "/some/path",
                   "createDir": true
                      }
            }
}'

Checking on the status of a PACS Retrieve

The PACS retrieve is an asynchronous process. First, the remote PACS is asked to push DICOM data to a destination service running on a host that has been preconfigured in the PACS. Then, on this host, a separate listener service intercepts transmission and unpacks the data according to some schema.

In our system, the listener system is part of pypx and a specific subcomponent unpacks the data on the listener file system.

All of this is not directly relevant, however, to an end user, who merely interrogates pfdcm for the status of a retrieve:

./pfurl --verb POST --raw --http ${HOST_IP}:5015/api/v1/cmd \
 --jsonwrapper 'payload' --msg '{  "action": "PACSinteract",
    "meta": {
                "do":  "retrieveStatus",
                "on" : {
                   "series_uid": "1.3.12.2.1107.5.2.32.35235.2011120608041225195630230.0.0.0"
                         },
                "PACS" : "orthanc"
            }
}'

--30--

⚠️ **GitHub.com Fallback** ⚠️