XML-RPC is a popular standard for remote procedure calling. In OnePacs Workstation for macOS XML-RPC is used to allow external tools to integrate with the app.
XML-RPC runs in background and can be configured in the Listener preferences. It can be reached by XML-RPC clients, running on the same workstation or on another computer. XML-RPC is based on HTTP: by properly setting up your network infrastructure, you should be able to get your RIS/HIS to talk to OnePacs Workstation for macOS.
Methods
The implementation ignores letter case for method names, but not in parameters. These methods accept one parameter that should be a struct, and extracts values from the struct by their name; their response is also a struct, containing a numerical value with key error that contains a zero upon success.
The following methods are exposed by the XML-RPC listener. Additional methods may be exposed by plugins.
DisplayStudy
This method opens the study, specified by the parameters:
- PatientID - a string matched against the studies Patient ID values (0010,0020);
- StudyInstanceUID - a string matched against the studies Study Instance UID values (0020,000d);
- AccessionNumber - a string matched against the studies Accession Number values (0008,0050);
- StudyID - a string matched against the studies Study ID values (0020,0010).
All parameters are optional, but at least one should be defined.
Upon success, the return struct will contain an array named elements, detailing the opened studies.
DisplaySeries
This method opens the series, specified by the parameters.
- PatientID - a string matched against the series Patient ID values (0010,0020);
- SeriesInstanceUID - a string matched against the series Series Instance UID values (0020,000e);
All parameters are optional, but at least one should be defined.
Upon success, the return struct will contain an array named elements, detailing the opened series.
FindObject
Also exposed with the alias DBWindowFind, this method is a versatile database tool. Its behavior depends on the parameters.
- request - a required string specifying an SQL query in the Predicate Format String Syntax in the database structure context.
- table - a required string specifying the query level: either Study, Series or Image;
- execute - a string specifying what should be done with the matching items: Open, Select or Delete, the default behavior being to simply return them.
Upon success, the return struct will contain an array named elements, detailing the matching items.
DownloadURL
This method downloads the specified URL and adds its contents to the database.
- URL - a string specifying the URL to download;
- Display - a boolean specifying if the downloaded dataset should be displayed.
Currently, the URL may point to the following file formats: DICOM, ZIP or WADO XML.
CloseAllWindows
This method closes all open viewers.
OpenDB
This method opens the specified database.
- path - a string specifying the local database path.
SwitchToDefaultDBIfNeeded
This method opens the default database, in case another database is selected.
SelectAlbum
This method opens the specified album.
- name - a string specifying the album name.
GetDisplayed2DViewerSeries
This method details the displayed series.
GetDisplayed2DViewerStudies
This method details the displayed studies.
Close2DViewerWithSeriesUID
This method closes the viewers that display the specified series.
- uid - a string specifying the Series Instance UID value to match (0020,000e).
Close2DViewerWithStudyUID
This method closes the viewers that display the specified study.
- uid - a string specifying the Study Instance UID value to match (0020,000d).
DisplayStudyListByPatientName
This method sets the database window search string to the specified patient name.
- PatientName - a string specifying the patient name to search for.
DisplayStudyListByPatientID
This method sets the database window search string to the specified value.
- PatientID - a string specifying the patient ID to search for.
CMove
This method retrieves the specified dataset from the specified server.
server - a string specifying the server to retrieve from, matched against the DICOM nodes descriptions;
accessionNumber - a string specifying the Accession Number of the dataset to retrieve.
Retrieve
This method retrieves the specified dataset from the specified server.
- serverName - a string specifying the server to retrieve from, matched against the DICOM nodes descriptions;
- retrieveMode - a string representing the retrieve mode: 1 for C-GET, 2 for WADO, is optional;
filterKeyN and filterValueN, with N between 1 and 9 - pairs of strings representing search key-values that specify the dataset to retrieve.
PathToFrontDCM
This method returns the file name or path of the file displayed in the active viewer.
onlyfilename - a string, if equal to yes then the filename will be returned instead of its path.
Kill
This method quits OnePacs Workstation for macOS.