Skip to content

4.0 PACS Query

janakitti edited this page Jan 26, 2021 · 2 revisions

pfdcm PACS Query

Abstract

This page describes how to directly perform a PACS query using pfdcm.

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.

Running an actual PACS Query

Now we are ready to perform an actual PACS Query.

It might first be necessary to set the internal findscu variable. The default is /usr/local/bin/findscu however on non-containerized systems it might /usr/bin/findscu.

pfurl   --verb POST                             \
        --raw                                   \
        --http ${HOST_IP}:4055/api/v1/cmd       \
        --jsonwrapper 'payload'                 \
        --msg '{  
            "action": "internalctl",          
            "meta": {
                "var":     "/bin/findscu",
                "set":     "/usr/bin/findscu"
            }
        }'
pfurl   --verb POST                             \
        --raw                                   \
        --http ${HOST_IP}:4055/api/v1/cmd       \
        --jsonwrapper 'payload'                 \
        --msg '{  
            "action": "PACSinteract",          
            "meta": {
                "do":  "query",
                "on" : {
                   "PatientID": "LILLA-9731"
                },
                "PACS" : "orthanc"
            }
        }'

--30--