Mercurial > hg > orthanc-book
diff Sphinx/source/faq/rest-samples.rst @ 0:901e8961f46e
initial commit
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 22 Apr 2016 12:57:38 +0200 |
parents | |
children | 02399e86f046 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Sphinx/source/faq/rest-samples.rst Fri Apr 22 12:57:38 2016 +0200 @@ -0,0 +1,86 @@ +.. highlight:: bash +.. _rest-samples: + +Finding samples for the REST API +================================ + +* This "Orthanc Book" proposes a :ref:`number of samples showing how + to use the REST API <rest>` of Orthanc. +* Many working examples written in Python are `available in the source + distribution + <https://bitbucket.org/sjodogne/orthanc/src/default/Resources/Samples/Python/>`__. +* If you cannot find an example for some feature in this manual or in + the Python examples, please check the `publicly available + integration tests + <https://bitbucket.org/sjodogne/orthanc-tests/src/default/Tests/Tests.py>`__ + that span most of the REST API. +* Samples for the deprecated APIs are available below. + + + +Deprecated APIs +--------------- + +You will find below code snippets for APIs that have been deprecated +over the releases of Orthanc. They are reproduced here for backward +compatibility and should not be used in new developments. + + +.. _deprecated-find-scu: + +C-Find SCU (Deprecated) +^^^^^^^^^^^^^^^^^^^^^^^ + +1. Retrieve the PatientID:: + + $ curl http://localhost:8042/modalities/pacs/find-patient -X POST -d '{"PatientName":"JOD*","PatientSex":"M"}' + +2. Retrieve the studies of this patient (using the "PatientID" returned from Step 1):: + + $ curl http://localhost:8042/modalities/pacs/find-study -X POST -d '{"PatientID":"0555643F"}' + +3. Retrieve the series of one study (using the "PatientID" from Step 1, and the "StudyInstanceUID" from Step 2):: + + $ curl http://localhost:8042/modalities/pacs/find-series -X POST -d '{"PatientID":"0555643F","StudyInstanceUID":"1.2.840.113704.1.111.276 + +You will have to define the modality "pacs" in the :ref:`configuration file +<configuration>` of Orthanc (under the section ``DicomModalities``). + +*Note:* This API has been superseded by the ``/modalities/.../query`` +URI. Please check the ``test_rest_query_retrieve`` `integration test +<https://bitbucket.org/sjodogne/orthanc-tests/src/default/Tests/Tests.py>`__. + + +Using Orthanc to Ease WADO Querying (Deprecated) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +As of Orthanc 0.6.1, it will be possible to use Orthanc to easily +gather the three identifiers that are required to run a `WADO query +<ftp://medical.nema.org/medical/dicom/2006/06_18pu.pdf>`__ against a +remote modality (without storing the files inside Orthanc). These +identifiers are: + +* StudyInstanceUID (0020,000d), +* SeriesInstanceUID (0020,000e), +* ObjectUID, that exactly corresponds to the SOPInstanceUID tag + (0008,0018) (cf. the `WADO specification + <ftp://medical.nema.org/medical/dicom/2006/06_18pu.pdf>`__, Section + 8.1.4). + +The trick consists in using the experimental C-Find SCU API, going down to the instance level:: + + $ curl http://localhost:8042/modalities/pacs/find-patient -X POST -d '{"PatientName":"JOD*","PatientSex":"M"}' + $ curl http://localhost:8042/modalities/pacs/find-study -X POST -d '{"PatientID":"0555643F"}' + $ curl http://localhost:8042/modalities/pacs/find-series -X POST -d '{"PatientID":"0555643F","StudyInstanceUID":"1.2.840.113704.1.111.2768.1239195678.57"}' + $ curl http://localhost:8042/modalities/pacs/find-instance -X POST -d '{"PatientID":"0555643F","StudyInstanceUID":"1.2.840.113704.1.111.2768.1239195678.57","SeriesInstanceUID":"1.3.46.670589.28.2.7.2200939417.2.13493.0.1239199523"}' + +The first three steps are described in this :ref:`other FAQ entry +<deprecated-find-scu>`. The fourth step retrieves the list of the +instances of the series. The latter query was not possible until +Orthanc 0.6.1. As a result of this sequence of four commands, the +StudyInstanceUID, SeriesInstanceUID and SOPInstanceUID are readily +available for each instance of the series. + +*Note:* This API has been superseded by the ``/modalities/.../query`` +URI. Please check the ``test_rest_query_retrieve`` `integration test +<https://bitbucket.org/sjodogne/orthanc-tests/src/default/Tests/Tests.py>`__.