.. _service_rtm:

RT Machine Verification Service Class
=====================================
The :dcm:`RT Machine Verification Service Class<part04/chapter_DD.html>`
defines a service that uses the DIMSE N-CREATE, N-SET, N-DELETE, N-ACTION,
N-EVENT-REPORT and N-GET services to
facilitate the independent verification of geometric and dosimetric settings
on a radiation delivery system prior to delivery of treatment.

.. _rt_machine_sops:

Supported SOP Classes
---------------------

+----------------------------+------------------------------------------------+
| UID                        | SOP Class                                      |
+============================+================================================+
| 1.2.840.10008.5.1.4.34.8   | RTConventionalMachineVerification              |
+----------------------------+------------------------------------------------+
| 1.2.840.10008.5.1.4.34.9   | RTIonMachineVerification                       |
+----------------------------+------------------------------------------------+


DIMSE Services
--------------

+-----------------+-----------------------------------------+
| DIMSE Service   | Usage SCU/SCP                           |
+=================+=========================================+
| *RT Conventional Machine Verification*                    |
+-----------------+-----------------------------------------+
| *RT Ion Machine Verification*                             |
+-----------------+-----------------------------------------+
| N-CREATE        | Mandatory/Mandatory                     |
+-----------------+-----------------------------------------+
| N-SET           | Mandatory/Mandatory                     |
+-----------------+-----------------------------------------+
| N-GET           | Mandatory/Mandatory                     |
+-----------------+-----------------------------------------+
| N-ACTION        | Mandatory/Mandatory                     |
+-----------------+-----------------------------------------+
| N-DELETE        | Mandatory/Mandatory                     |
+-----------------+-----------------------------------------+
| N-EVENT-REPORT  | Mandatory/Mandatory                     |
+-----------------+-----------------------------------------+


.. _rt_machine_statuses:

Statuses
--------

N-ACTION Statuses
~~~~~~~~~~~~~~~~~

+------------------+----------+-----------------------------------------------+
| Code (hex)       | Category | Description                                   |
+==================+==========+===============================================+
| 0x0000           | Success  | Success                                       |
+------------------+----------+-----------------------------------------------+
| 0x0112           | Failure  | No such SOP Instance                          |
+------------------+----------+-----------------------------------------------+
| 0x0114           | Failure  | No such argument                              |
+------------------+----------+-----------------------------------------------+
| 0x0115           | Failure  | Invalid argument value                        |
+------------------+----------+-----------------------------------------------+
| 0x0117           | Failure  | Invalid object instance                       |
+------------------+----------+-----------------------------------------------+
| 0x0118           | Failure  | No such SOP Class                             |
+------------------+----------+-----------------------------------------------+
| 0x0119           | Failure  | Class-Instance conflict                       |
+------------------+----------+-----------------------------------------------+
| 0x0123           | Failure  | No such action                                |
+------------------+----------+-----------------------------------------------+
| 0x0124           | Failure  | Refused: not authorised                       |
+------------------+----------+-----------------------------------------------+
| 0x0210           | Failure  | Duplicate invocation                          |
+------------------+----------+-----------------------------------------------+
| 0x0211           | Failure  | Unrecognised operation                        |
+------------------+----------+-----------------------------------------------+
| 0x0212           | Failure  | Mistyped argument                             |
+------------------+----------+-----------------------------------------------+
| 0x0213           | Failure  | Resource limitation                           |
+------------------+----------+-----------------------------------------------+

RT Machine Verification N-ACTION Service Statuses
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

+------------------+----------+-----------------------------------------------+
| Code (hex)       | Category | Description                                   |
+==================+==========+===============================================+
| 0xC112           | Failure  | Applicable Machine Verification instance not  |
|                  |          | found                                         |
+------------------+----------+-----------------------------------------------+


N-CREATE Statuses
~~~~~~~~~~~~~~~~~

+------------------+----------+-----------------------------------------------+
| Code (hex)       | Category | Description                                   |
+==================+==========+===============================================+
| 0x0000           | Success  | Success                                       |
+------------------+----------+-----------------------------------------------+
| 0x0105           | Success  | No such attribute                             |
+------------------+----------+-----------------------------------------------+
| 0x0106           | Success  | Invalid attribute value                       |
+------------------+----------+-----------------------------------------------+
| 0x0107           | Success  | Attribute list error                          |
+------------------+----------+-----------------------------------------------+
| 0x0110           | Success  | Processing failure                            |
+------------------+----------+-----------------------------------------------+
| 0x0111           | Success  | Duplicate SOP Instance                        |
+------------------+----------+-----------------------------------------------+
| 0x0116           | Success  | Attribute value out of range                  |
+------------------+----------+-----------------------------------------------+
| 0x0117           | Success  | Invalid object instance                       |
+------------------+----------+-----------------------------------------------+
| 0x0118           | Success  | No such SOP Class                             |
+------------------+----------+-----------------------------------------------+
| 0x0120           | Success  | Missing attribute                             |
+------------------+----------+-----------------------------------------------+
| 0x0121           | Success  | Missing attribute value                       |
+------------------+----------+-----------------------------------------------+
| 0x0124           | Success  | Refused: not authorised                       |
+------------------+----------+-----------------------------------------------+
| 0x0210           | Success  | Duplicate invocation                          |
+------------------+----------+-----------------------------------------------+
| 0x0211           | Success  | Unrecognised operation                        |
+------------------+----------+-----------------------------------------------+
| 0x0212           | Success  | Mistyped argument                             |
+------------------+----------+-----------------------------------------------+
| 0x0213           | Success  | Resource limitation                           |
+------------------+----------+-----------------------------------------------+

RT Machine Verification N-CREATE Service Statuses
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

+------------------+----------+-----------------------------------------------+
| Code (hex)       | Category | Description                                   |
+==================+==========+===============================================+
| 0xC221           | Failure  | The Referenced Fraction Group Number does not |
|                  |          | exist in the referenced plan                  |
+------------------+----------+-----------------------------------------------+
| 0xC222           | Failure  | No beams exist within the referenced fraction |
|                  |          | group                                         |
+------------------+----------+-----------------------------------------------+
| 0xC223           | Failure  | SCU already verifying and cannot currently    |
|                  |          | process this request                          |
+------------------+----------+-----------------------------------------------+
| 0xC227           | Failure  | No such object instance - Referenced RT plan  |
|                  |          | not found                                     |
+------------------+----------+-----------------------------------------------+

N-DELETE Statuses
~~~~~~~~~~~~~~~~~

+------------------+----------+----------------------------------+
| Code (hex)       | Category | Description                      |
+==================+==========+==================================+
| 0x0000           | Success  | Success                          |
+------------------+----------+----------------------------------+
| 0x0110           | Failure  | Processing failure               |
+------------------+----------+----------------------------------+
| 0x0112           | Failure  | No such SOP Instance             |
+------------------+----------+----------------------------------+
| 0x0117           | Failure  | Invalid object Instance          |
+------------------+----------+----------------------------------+
| 0x0118           | Failure  | Not such SOP Class               |
+------------------+----------+----------------------------------+
| 0x0119           | Failure  | Class-Instance conflict          |
+------------------+----------+----------------------------------+
| 0x0124           | Failure  | Not authorised                   |
+------------------+----------+----------------------------------+
| 0x0210           | Failure  | Duplicate invocation             |
+------------------+----------+----------------------------------+
| 0x0211           | Failure  | Unrecognised operation           |
+------------------+----------+----------------------------------+
| 0x0212           | Failure  | Mistyped argument                |
+------------------+----------+----------------------------------+
| 0x0213           | Failure  | Resource limitation              |
+------------------+----------+----------------------------------+

N-EVENT-REPORT Statuses
~~~~~~~~~~~~~~~~~~~~~~~

+------------------+----------+----------------------------------+
| Code (hex)       | Category | Description                      |
+==================+==========+==================================+
| 0x0000           | Success  | Success                          |
+------------------+----------+----------------------------------+
| 0x0110           | Failure  | Processing failure               |
+------------------+----------+----------------------------------+
| 0x0112           | Failure  | No such SOP Instance             |
+------------------+----------+----------------------------------+
| 0x0113           | Failure  | No such event type               |
+------------------+----------+----------------------------------+
| 0x0114           | Failure  | No such argument                 |
+------------------+----------+----------------------------------+
| 0x0115           | Failure  | Invalid argument value           |
+------------------+----------+----------------------------------+
| 0x0117           | Failure  | Invalid object Instance          |
+------------------+----------+----------------------------------+
| 0x0118           | Failure  | No such SOP Class                |
+------------------+----------+----------------------------------+
| 0x0119           | Failure  | Class-Instance conflict          |
+------------------+----------+----------------------------------+
| 0x0210           | Failure  | Duplicate invocation             |
+------------------+----------+----------------------------------+
| 0x0211           | Failure  | Unrecognised operation           |
+------------------+----------+----------------------------------+
| 0x0212           | Failure  | Mistyped argument                |
+------------------+----------+----------------------------------+
| 0x0213           | Failure  | Resource limitation              |
+------------------+----------+----------------------------------+


N-GET Statuses
~~~~~~~~~~~~~~~

+------------+----------+----------------------------------+
| Code (hex) | Category | Description                      |
+============+==========+==================================+
| 0x0000     | Success  | Success                          |
+------------+----------+----------------------------------+
| 0x0107     | Warning  | SOP Class not supported          |
+------------+----------+----------------------------------+
| 0x0110     | Failure  | Processing failure               |
+------------+----------+----------------------------------+
| 0x0112     | Failure  | No such SOP Instance             |
+------------+----------+----------------------------------+
| 0x0117     | Failure  | Invalid object instance          |
+------------+----------+----------------------------------+
| 0x0118     | Failure  | No such SOP Class                |
+------------+----------+----------------------------------+
| 0x0119     | Failure  | Class-Instance conflict          |
+------------+----------+----------------------------------+
| 0x0122     | Failure  | SOP class not supported          |
+------------+----------+----------------------------------+
| 0x0124     | Failure  | Not authorised                   |
+------------+----------+----------------------------------+
| 0x0210     | Failure  | Duplicate invocation             |
+------------+----------+----------------------------------+
| 0x0211     | Failure  | Unrecognised operation           |
+------------+----------+----------------------------------+
| 0x0212     | Failure  | Mistyped argument                |
+------------+----------+----------------------------------+
| 0x0213     | Failure  | Resource limitation              |
+------------+----------+----------------------------------+

RT Machine Verification N-GET Service Statuses
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

+------------------+----------+-----------------------------------------------+
| Code (hex)       | Category | Description                                   |
+==================+==========+===============================================+
| 0xC112           | Failure  | Applicable Machine Verification instance not  |
|                  |          | found                                         |
+------------------+----------+-----------------------------------------------+


N-SET Statuses
~~~~~~~~~~~~~~~

+------------------+----------+----------------------------------+
| Code (hex)       | Category | Description                      |
+==================+==========+==================================+
| 0x0000           | Success  | Success                          |
+------------------+----------+----------------------------------+
| 0x0105           | Failure  | No such attribute                |
+------------------+----------+----------------------------------+
| 0x0106           | Failure  | Invalid attribute value          |
+------------------+----------+----------------------------------+
| 0x0110           | Failure  | Processing failure               |
+------------------+----------+----------------------------------+
| 0x0112           | Failure  | SOP Instance not recognised      |
+------------------+----------+----------------------------------+
| 0x0116           | Failure  | Attribute value out of range     |
+------------------+----------+----------------------------------+
| 0x0117           | Failure  | Invalid object instance          |
+------------------+----------+----------------------------------+
| 0x0118           | Failure  | No such SOP Class                |
+------------------+----------+----------------------------------+
| 0x0119           | Failure  | Class-Instance conflict          |
+------------------+----------+----------------------------------+
| 0x0121           | Failure  | Missing attribute value          |
+------------------+----------+----------------------------------+
| 0x0124           | Failure  | Refused: not authorised          |
+------------------+----------+----------------------------------+
| 0x0210           | Failure  | Duplicate invocation             |
+------------------+----------+----------------------------------+
| 0x0211           | Failure  | Unrecognised operation           |
+------------------+----------+----------------------------------+
| 0x0212           | Failure  | Mistyped argument                |
+------------------+----------+----------------------------------+
| 0x0213           | Failure  | Resource limitation              |
+------------------+----------+----------------------------------+

RT Machine Verification N-SET Service Statuses
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

+------------------+----------+-----------------------------------------------+
| Code (hex)       | Category | Description                                   |
+==================+==========+===============================================+
| 0xC224           | Failure  | Referenced Beam Number not found within the   |
|                  |          | referenced Fraction Group                     |
+------------------+----------+-----------------------------------------------+
| 0xC225           | Failure  | Referenced device or accessory not supported  |
+------------------+----------+-----------------------------------------------+
| 0xC226           | Failure  | Referenced device or accessory not found      |
|                  |          | within the referenced beam                    |
+------------------+----------+-----------------------------------------------+
