changeset 7152:bcbf76afb3b2

renamed files DicomConformanceStatement.* as DicomConformance.*
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 22 Sep 2026 11:25:08 +0200
parents b1f7adfc3847
children 5d0e92f4cccf
files OrthancServer/CMakeLists.txt OrthancServer/Resources/DicomConformance.mustache OrthancServer/Resources/DicomConformance.py OrthancServer/Resources/DicomConformance.txt OrthancServer/Resources/DicomConformanceStatement.mustache OrthancServer/Resources/DicomConformanceStatement.py OrthancServer/Resources/DicomConformanceStatement.txt
diffstat 7 files changed, 649 insertions(+), 649 deletions(-) [+]
line wrap: on
line diff
--- a/OrthancServer/CMakeLists.txt	Thu Sep 17 19:49:04 2026 +0200
+++ b/OrthancServer/CMakeLists.txt	Tue Sep 22 11:25:08 2026 +0200
@@ -264,7 +264,7 @@
 #####################################################################
 
 set(ORTHANC_EMBEDDED_FILES
-  DICOM_CONFORMANCE_STATEMENT       ${CMAKE_SOURCE_DIR}/Resources/DicomConformanceStatement.txt
+  DICOM_CONFORMANCE_STATEMENT       ${CMAKE_SOURCE_DIR}/Resources/DicomConformance.txt
   FONT_UBUNTU_MONO_BOLD_16          ${CMAKE_SOURCE_DIR}/Resources/Fonts/UbuntuMonoBold-16.json
   LUA_TOOLBOX                       ${CMAKE_SOURCE_DIR}/Resources/Toolbox.lua
   PREPARE_DATABASE                  ${CMAKE_SOURCE_DIR}/Sources/Database/PrepareDatabase.sql
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/OrthancServer/Resources/DicomConformance.mustache	Tue Sep 22 11:25:08 2026 +0200
@@ -0,0 +1,147 @@
+======================================
+DICOM Conformance Statement of Orthanc
+======================================
+
+
+---------------------
+Echo SCP Conformance
+---------------------
+
+Orthanc supports the following SOP Classes as an SCP for C-Echo:
+
+  VerificationSOPClass      | 1.2.840.10008.1.1
+
+
+---------------------
+Store SCP Conformance
+---------------------
+
+Orthanc supports the following SOP Classes as an SCP for C-Store:
+
+  {{#store_scp}}
+  {{name}} | {{uid}}
+  {{/store_scp}}
+
+  {{#retired_store_scp}}
+  {{name}} | {{uid}}
+  {{/retired_store_scp}}
+
+  {{#draft_store_scp}}
+  {{name}} | {{uid}}
+  {{/draft_store_scp}}
+
+
+--------------------
+Find SCP Conformance
+--------------------
+
+Orthanc supports the following SOP Classes as an SCP for C-Find:
+
+  FINDPatientRootQueryRetrieveInformationModel   | 1.2.840.10008.5.1.4.1.2.1.1
+  FINDStudyRootQueryRetrieveInformationModel     | 1.2.840.10008.5.1.4.1.2.2.1
+  FINDModalityWorklistInformationModel           | 1.2.840.10008.5.1.4.31
+
+
+--------------------
+Move SCP Conformance
+--------------------
+
+Orthanc supports the following SOP Classes as an SCP for C-Move:
+
+  MOVEPatientRootQueryRetrieveInformationModel   | 1.2.840.10008.5.1.4.1.2.1.2
+  MOVEStudyRootQueryRetrieveInformationModel     | 1.2.840.10008.5.1.4.1.2.2.2
+
+
+-------------------
+Get SCP Conformance
+-------------------
+
+Orthanc supports the following SOP Classes as an SCP for C-Get:
+
+  GETPatientRootQueryRetrieveInformationModel    | 1.2.840.10008.5.1.4.1.2.1.3
+  GETStudyRootQueryRetrieveInformationModel      | 1.2.840.10008.5.1.4.1.2.2.3
+
+
+---------------------
+Echo SCU Conformance
+---------------------
+
+Orthanc supports the following SOP Classes as an SCU for C-Echo:
+
+  VerificationSOPClass      | 1.2.840.10008.1.1
+
+
+---------------------
+Store SCU Conformance
+---------------------
+
+All the SOP Classes that are listed in the "Store SCP Conformance"
+(see above) section are available as an SCU for C-Store.
+
+
+--------------------
+Find SCU Conformance
+--------------------
+
+Orthanc supports the following SOP Classes as an SCU for C-Find:
+
+  FINDPatientRootQueryRetrieveInformationModel  | 1.2.840.10008.5.1.4.1.2.1.1
+  FINDStudyRootQueryRetrieveInformationModel    | 1.2.840.10008.5.1.4.1.2.2.1
+
+
+--------------------
+Move SCU Conformance
+--------------------
+
+Orthanc supports the following SOP Classes as an SCU for C-Move:
+
+  MOVEPatientRootQueryRetrieveInformationModel  | 1.2.840.10008.5.1.4.1.2.1.2
+  MOVEStudyRootQueryRetrieveInformationModel    | 1.2.840.10008.5.1.4.1.2.2.2
+
+
+-------------------
+Get SCU Conformance
+-------------------
+
+Orthanc supports the following SOP Classes as an SCU for C-Get:
+
+  GETPatientRootQueryRetrieveInformationModel    | 1.2.840.10008.5.1.4.1.2.1.3
+  GETStudyRootQueryRetrieveInformationModel      | 1.2.840.10008.5.1.4.1.2.2.3
+
+
+-----------------
+Transfer Syntaxes
+-----------------
+
+Orthanc will accept and negotiate presentation contexts for all of the
+abovementioned supported SOP Classes using any of the following
+transfer syntaxes:
+
+  {{#transfer_syntaxes}}
+  {{name}} | {{uid}}
+  {{/transfer_syntaxes}}
+
+It is possible to disable a subset of these transfer syntaxes thanks
+to the "AcceptedTransferSyntaxes" and "*TransferSyntaxAccepted"
+options in the Orthanc configuration file.
+
+When possible, Orthanc will prefer the
+LittleEndianExplicitTransferSyntax transfer syntax
+(1.2.840.10008.1.2.1).
+
+Orthanc does not support extended negotiation.
+
+
+--------------------
+Implementation notes
+--------------------
+
+The information above about the SCP support is readily extracted from
+the function "Orthanc::Internals::AcceptAssociation()" from file
+"OrthancFramework/Sources/DicomNetworking/Internals/CommandDispatcher.cpp".
+
+The information above about the SCU support is derived from the
+classes "Orthanc::DicomControlUserConnection" and
+"Orthanc::DicomStoreUserConnection" from file
+"OrthancFramework/Sources/DicomNetworking/DicomControlUserConnection.cpp" and
+"OrthancFramework/Sources/DicomNetworking/DicomStoreUserConnection.cpp".
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/OrthancServer/Resources/DicomConformance.py	Tue Sep 22 11:25:08 2026 +0200
@@ -0,0 +1,118 @@
+#!/usr/bin/env python3
+
+# Orthanc - A Lightweight, RESTful DICOM Store
+# Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics
+# Department, University Hospital of Liege, Belgium
+# Copyright (C) 2017-2023 Osimis S.A., Belgium
+# Copyright (C) 2024-2026 Orthanc Team SRL, Belgium
+# Copyright (C) 2021-2026 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
+#
+# This program is free software: you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+
+
+
+# This file injects the UID information into the DICOM conformance
+# statement of Orthanc
+
+import io
+import json
+import os
+import pystache
+import re
+import requests
+import tarfile
+
+BASE = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..'))
+
+
+# Read the current version of DCMTK
+with open(os.path.join(BASE, 'OrthancFramework', 'Resources', 'CMake', 'OrthancFrameworkParameters.cmake'), 'r') as f:
+    version = None
+    for match in re.findall(r'^set\(DCMTK_STATIC_VERSION "([0-9.]+)"', f.read(), re.MULTILINE):
+        if version != None:
+            raise Exception('Two versions of DCMTK were found')
+        elif match != '3.6.9':  # Ignore the version for Windows XP
+            version = match
+
+    if version == None:
+        raise Exception('Unable to detect the DCMTK version')
+
+    print('Detected DCMTK version: %s' % version)
+
+    url = 'https://orthanc.uclouvain.be/downloads/third-party-downloads/dcmtk-%s.tar.gz' % version
+    r = requests.get(url)
+    r.raise_for_status()
+
+    dcuid = None
+    tar = tarfile.open(fileobj = io.BytesIO(r.content), mode = 'r:gz')
+    for i in tar.getmembers():
+        if i.name.endswith('dcmdata/include/dcmtk/dcmdata/dcuid.h'):
+            dcuid = tar.extractfile(i)
+
+    assert(dcuid != None)
+    dcmtk = dcuid.readlines()
+
+
+# Create an index of all the DICOM Store SCP UIDs that are known to DCMTK
+all_store_scp = []
+longest = 0
+for l in dcmtk:
+    m = re.match(r'#define UID_(.+?Storage)\s*"(.+?)"', l.decode('ascii'))
+    if m != None:
+        longest = max(longest, len(m.group(1)))
+        all_store_scp.append({
+            'name' : m.group(1),
+            'uid' : m.group(2),
+        })
+
+all_store_scp = sorted(all_store_scp, key = lambda x: x['name'])
+
+for i in range(len(all_store_scp)):
+    all_store_scp[i]['name'] = all_store_scp[i]['name'].ljust(longest)
+
+store_scp = list(filter(lambda x: not x['name'].startswith('DRAFT') and not x['name'].startswith('RETIRED'), all_store_scp))
+retired_store_scp = list(filter(lambda x: x['name'].startswith('RETIRED'), all_store_scp))
+draft_store_scp = list(filter(lambda x: x['name'].startswith('DRAFT'), all_store_scp))
+
+
+# Read all the transfer syntaxes
+with open(os.path.join(BASE, 'OrthancFramework', 'Resources', 'CodeGeneration', 'DicomTransferSyntaxes.json')) as f:
+    a = json.loads(f.read())
+
+transfer_syntaxes = []
+longest = 0
+for i in range(len(a)):
+    item = {
+        'name' : '%sTransferSyntax' % a[i]['Value'],
+        'uid' : a[i]['UID'],
+    }
+    transfer_syntaxes.append(item)
+    longest = max(longest, len(item['name']))
+
+transfer_syntaxes = sorted(transfer_syntaxes, key = lambda x: x['uid'])
+
+for i in range(len(transfer_syntaxes)):
+    transfer_syntaxes[i]['name'] = transfer_syntaxes[i]['name'].ljust(longest)
+
+
+# Inject into the template conformance statement of Orthanc
+with open(os.path.join(os.path.dirname(__file__), 'DicomConformance.mustache'), 'r') as f:
+    with open(os.path.join(os.path.dirname(__file__), 'DicomConformance.txt'), 'w') as g:
+        g.write(pystache.render(f.read(), {
+            'store_scp' : store_scp,
+            'draft_store_scp' : draft_store_scp,
+            'retired_store_scp' : retired_store_scp,
+            'transfer_syntaxes' : transfer_syntaxes,
+        }))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/OrthancServer/Resources/DicomConformance.txt	Tue Sep 22 11:25:08 2026 +0200
@@ -0,0 +1,383 @@
+======================================
+DICOM Conformance Statement of Orthanc
+======================================
+
+
+---------------------
+Echo SCP Conformance
+---------------------
+
+Orthanc supports the following SOP Classes as an SCP for C-Echo:
+
+  VerificationSOPClass      | 1.2.840.10008.1.1
+
+
+---------------------
+Store SCP Conformance
+---------------------
+
+Orthanc supports the following SOP Classes as an SCP for C-Store:
+
+  AcquisitionContextSRStorage                                       | 1.2.840.10008.5.1.4.1.1.88.71
+  AdvancedBlendingPresentationStateStorage                          | 1.2.840.10008.5.1.4.1.1.11.8
+  AmbulatoryECGWaveformStorage                                      | 1.2.840.10008.5.1.4.1.1.9.1.3
+  ArterialPulseWaveformStorage                                      | 1.2.840.10008.5.1.4.1.1.9.5.1
+  AutorefractionMeasurementsStorage                                 | 1.2.840.10008.5.1.4.1.1.78.2
+  BasicStructuredDisplayStorage                                     | 1.2.840.10008.5.1.4.1.1.131
+  BasicTextSRStorage                                                | 1.2.840.10008.5.1.4.1.1.88.11
+  BasicVoiceAudioWaveformStorage                                    | 1.2.840.10008.5.1.4.1.1.9.4.1
+  BlendingSoftcopyPresentationStateStorage                          | 1.2.840.10008.5.1.4.1.1.11.4
+  BodyPositionWaveformStorage                                       | 1.2.840.10008.5.1.4.1.1.9.8.1
+  BreastTomosynthesisImageStorage                                   | 1.2.840.10008.5.1.4.1.1.13.1.3
+  CArmPhotonElectronRadiationRecordStorage                          | 1.2.840.10008.5.1.4.1.1.481.19
+  CArmPhotonElectronRadiationStorage                                | 1.2.840.10008.5.1.4.1.1.481.13
+  CTDefinedProcedureProtocolStorage                                 | 1.2.840.10008.5.1.4.1.1.200.1
+  CTImageStorage                                                    | 1.2.840.10008.5.1.4.1.1.2
+  CTPerformedProcedureProtocolStorage                               | 1.2.840.10008.5.1.4.1.1.200.2
+  CardiacElectrophysiologyWaveformStorage                           | 1.2.840.10008.5.1.4.1.1.9.3.1
+  ChestCADSRStorage                                                 | 1.2.840.10008.5.1.4.1.1.88.65
+  ColonCADSRStorage                                                 | 1.2.840.10008.5.1.4.1.1.88.69
+  ColorPaletteStorage                                               | 1.2.840.10008.5.1.4.39.1
+  ColorSoftcopyPresentationStateStorage                             | 1.2.840.10008.5.1.4.1.1.11.2
+  CompositingPlanarMPRVolumetricPresentationStateStorage            | 1.2.840.10008.5.1.4.1.1.11.7
+  Comprehensive3DSRStorage                                          | 1.2.840.10008.5.1.4.1.1.88.34
+  ComprehensiveSRStorage                                            | 1.2.840.10008.5.1.4.1.1.88.33
+  ComputedRadiographyImageStorage                                   | 1.2.840.10008.5.1.4.1.1.1
+  ConfocalMicroscopyImageStorage                                    | 1.2.840.10008.5.1.4.1.1.77.1.8
+  ConfocalMicroscopyTiledPyramidalImageStorage                      | 1.2.840.10008.5.1.4.1.1.77.1.9
+  ContentAssessmentResultsStorage                                   | 1.2.840.10008.5.1.4.1.1.90.1
+  CornealTopographyMapStorage                                       | 1.2.840.10008.5.1.4.1.1.82.1
+  DICONDE_EddyCurrentImageStorage                                   | 1.2.840.10008.5.1.4.1.1.601.1
+  DICONDE_EddyCurrentMultiframeImageStorage                         | 1.2.840.10008.5.1.4.1.1.601.2
+  DICONDE_ThermographyImageStorage                                  | 1.2.840.10008.5.1.4.1.1.601.3
+  DICONDE_ThermographyMultiFrameImageStorage                        | 1.2.840.10008.5.1.4.1.1.601.4
+  DICONDE_UltrasoundWaveformStorage                                 | 1.2.840.10008.5.1.4.1.1.601.5
+  DICOS_2DAITStorage                                                | 1.2.840.10008.5.1.4.1.1.501.4
+  DICOS_3DAITStorage                                                | 1.2.840.10008.5.1.4.1.1.501.5
+  DICOS_CTImageStorage                                              | 1.2.840.10008.5.1.4.1.1.501.1
+  DICOS_QuadrupoleResonanceStorage                                  | 1.2.840.10008.5.1.4.1.1.501.6
+  DICOS_ThreatDetectionReportStorage                                | 1.2.840.10008.5.1.4.1.1.501.3
+  DeformableSpatialRegistrationStorage                              | 1.2.840.10008.5.1.4.1.1.66.3
+  DermoscopicPhotographyImageStorage                                | 1.2.840.10008.5.1.4.1.1.77.1.7
+  ElectromyogramWaveformStorage                                     | 1.2.840.10008.5.1.4.1.1.9.7.2
+  ElectrooculogramWaveformStorage                                   | 1.2.840.10008.5.1.4.1.1.9.7.3
+  EncapsulatedCDAStorage                                            | 1.2.840.10008.5.1.4.1.1.104.2
+  EncapsulatedMTLStorage                                            | 1.2.840.10008.5.1.4.1.1.104.5
+  EncapsulatedOBJStorage                                            | 1.2.840.10008.5.1.4.1.1.104.4
+  EncapsulatedPDFStorage                                            | 1.2.840.10008.5.1.4.1.1.104.1
+  EncapsulatedSTLStorage                                            | 1.2.840.10008.5.1.4.1.1.104.3
+  EnhancedCTImageStorage                                            | 1.2.840.10008.5.1.4.1.1.2.1
+  EnhancedContinuousRTImageStorage                                  | 1.2.840.10008.5.1.4.1.1.481.24
+  EnhancedMRColorImageStorage                                       | 1.2.840.10008.5.1.4.1.1.4.3
+  EnhancedMRImageStorage                                            | 1.2.840.10008.5.1.4.1.1.4.1
+  EnhancedPETImageStorage                                           | 1.2.840.10008.5.1.4.1.1.130
+  EnhancedRTImageStorage                                            | 1.2.840.10008.5.1.4.1.1.481.23
+  EnhancedSRStorage                                                 | 1.2.840.10008.5.1.4.1.1.88.22
+  EnhancedUSVolumeStorage                                           | 1.2.840.10008.5.1.4.1.1.6.2
+  EnhancedXAImageStorage                                            | 1.2.840.10008.5.1.4.1.1.12.1.1
+  EnhancedXRFImageStorage                                           | 1.2.840.10008.5.1.4.1.1.12.2.1
+  EnhancedXRayRadiationDoseSRStorage                                | 1.2.840.10008.5.1.4.1.1.88.76
+  ExtensibleSRStorage                                               | 1.2.840.10008.5.1.4.1.1.88.35
+  General32BitECGWaveformStorage                                    | 1.2.840.10008.5.1.4.1.1.9.1.4
+  GeneralAudioWaveformStorage                                       | 1.2.840.10008.5.1.4.1.1.9.4.2
+  GeneralECGWaveformStorage                                         | 1.2.840.10008.5.1.4.1.1.9.1.2
+  GenericImplantTemplateStorage                                     | 1.2.840.10008.5.1.4.43.1
+  GrayscalePlanarMPRVolumetricPresentationStateStorage              | 1.2.840.10008.5.1.4.1.1.11.6
+  GrayscaleSoftcopyPresentationStateStorage                         | 1.2.840.10008.5.1.4.1.1.11.1
+  HangingProtocolStorage                                            | 1.2.840.10008.5.1.4.38.1
+  HeightMapSegmentationStorage                                      | 1.2.840.10008.5.1.4.1.1.66.8
+  HemodynamicWaveformStorage                                        | 1.2.840.10008.5.1.4.1.1.9.2.1
+  ImplantAssemblyTemplateStorage                                    | 1.2.840.10008.5.1.4.44.1
+  ImplantTemplateGroupStorage                                       | 1.2.840.10008.5.1.4.45.1
+  ImplantationPlanSRStorage                                         | 1.2.840.10008.5.1.4.1.1.88.70
+  IntraocularLensCalculationsStorage                                | 1.2.840.10008.5.1.4.1.1.78.8
+  InventoryStorage                                                  | 1.2.840.10008.5.1.4.1.1.201.1
+  KeratometryMeasurementsStorage                                    | 1.2.840.10008.5.1.4.1.1.78.3
+  KeyObjectSelectionDocumentStorage                                 | 1.2.840.10008.5.1.4.1.1.88.59
+  LabelMapSegmentationStorage                                       | 1.2.840.10008.5.1.4.1.1.66.7
+  LegacyConvertedEnhancedCTImageStorage                             | 1.2.840.10008.5.1.4.1.1.2.2
+  LegacyConvertedEnhancedMRImageStorage                             | 1.2.840.10008.5.1.4.1.1.4.4
+  LegacyConvertedEnhancedPETImageStorage                            | 1.2.840.10008.5.1.4.1.1.128.1
+  LensometryMeasurementsStorage                                     | 1.2.840.10008.5.1.4.1.1.78.1
+  MRImageStorage                                                    | 1.2.840.10008.5.1.4.1.1.4
+  MRSpectroscopyStorage                                             | 1.2.840.10008.5.1.4.1.1.4.2
+  MacularGridThicknessAndVolumeReportStorage                        | 1.2.840.10008.5.1.4.1.1.79.1
+  MammographyCADSRStorage                                           | 1.2.840.10008.5.1.4.1.1.88.50
+  MediaStorageDirectoryStorage                                      | 1.2.840.10008.1.3.10
+  MicroscopyBulkSimpleAnnotationsStorage                            | 1.2.840.10008.5.1.4.1.1.91.1
+  MultichannelRespiratoryWaveformStorage                            | 1.2.840.10008.5.1.4.1.1.9.6.2
+  MultiframeGrayscaleByteSecondaryCaptureImageStorage               | 1.2.840.10008.5.1.4.1.1.7.2
+  MultiframeGrayscaleWordSecondaryCaptureImageStorage               | 1.2.840.10008.5.1.4.1.1.7.3
+  MultiframeSingleBitSecondaryCaptureImageStorage                   | 1.2.840.10008.5.1.4.1.1.7.1
+  MultiframeTrueColorSecondaryCaptureImageStorage                   | 1.2.840.10008.5.1.4.1.1.7.4
+  MultipleVolumeRenderingVolumetricPresentationStateStorage         | 1.2.840.10008.5.1.4.1.1.11.11
+  NuclearMedicineImageStorage                                       | 1.2.840.10008.5.1.4.1.1.20
+  OphthalmicAxialMeasurementsStorage                                | 1.2.840.10008.5.1.4.1.1.78.7
+  OphthalmicOpticalCoherenceTomographyBscanVolumeAnalysisStorage    | 1.2.840.10008.5.1.4.1.1.77.1.5.8
+  OphthalmicOpticalCoherenceTomographyEnFaceImageStorage            | 1.2.840.10008.5.1.4.1.1.77.1.5.7
+  OphthalmicPhotography16BitImageStorage                            | 1.2.840.10008.5.1.4.1.1.77.1.5.2
+  OphthalmicPhotography8BitImageStorage                             | 1.2.840.10008.5.1.4.1.1.77.1.5.1
+  OphthalmicThicknessMapStorage                                     | 1.2.840.10008.5.1.4.1.1.81.1
+  OphthalmicTomographyImageStorage                                  | 1.2.840.10008.5.1.4.1.1.77.1.5.4
+  OphthalmicVisualFieldStaticPerimetryMeasurementsStorage           | 1.2.840.10008.5.1.4.1.1.80.1
+  ParametricMapStorage                                              | 1.2.840.10008.5.1.4.1.1.30
+  PatientRadiationDoseSRStorage                                     | 1.2.840.10008.5.1.4.1.1.88.73
+  PerformedImagingAgentAdministrationSRStorage                      | 1.2.840.10008.5.1.4.1.1.88.75
+  PhotoacousticImageStorage                                         | 1.2.840.10008.5.1.4.1.1.6.3
+  PlannedImagingAgentAdministrationSRStorage                        | 1.2.840.10008.5.1.4.1.1.88.74
+  PositronEmissionTomographyImageStorage                            | 1.2.840.10008.5.1.4.1.1.128
+  ProcedureLogStorage                                               | 1.2.840.10008.5.1.4.1.1.88.40
+  ProtocolApprovalStorage                                           | 1.2.840.10008.5.1.4.1.1.200.3
+  PseudoColorSoftcopyPresentationStateStorage                       | 1.2.840.10008.5.1.4.1.1.11.3
+  RTBeamsDeliveryInstructionStorage                                 | 1.2.840.10008.5.1.4.34.7
+  RTBeamsTreatmentRecordStorage                                     | 1.2.840.10008.5.1.4.1.1.481.4
+  RTBrachyApplicationSetupDeliveryInstructionStorage                | 1.2.840.10008.5.1.4.34.10
+  RTBrachyTreatmentRecordStorage                                    | 1.2.840.10008.5.1.4.1.1.481.6
+  RTDoseStorage                                                     | 1.2.840.10008.5.1.4.1.1.481.2
+  RTImageStorage                                                    | 1.2.840.10008.5.1.4.1.1.481.1
+  RTIonBeamsTreatmentRecordStorage                                  | 1.2.840.10008.5.1.4.1.1.481.9
+  RTIonPlanStorage                                                  | 1.2.840.10008.5.1.4.1.1.481.8
+  RTPatientPositionAcquisitionInstructionStorage                    | 1.2.840.10008.5.1.4.1.1.481.25
+  RTPhysicianIntentStorage                                          | 1.2.840.10008.5.1.4.1.1.481.10
+  RTPlanStorage                                                     | 1.2.840.10008.5.1.4.1.1.481.5
+  RTRadiationRecordSetStorage                                       | 1.2.840.10008.5.1.4.1.1.481.16
+  RTRadiationSalvageRecordStorage                                   | 1.2.840.10008.5.1.4.1.1.481.17
+  RTRadiationSetDeliveryInstructionStorage                          | 1.2.840.10008.5.1.4.1.1.481.21
+  RTRadiationSetStorage                                             | 1.2.840.10008.5.1.4.1.1.481.12
+  RTSegmentAnnotationStorage                                        | 1.2.840.10008.5.1.4.1.1.481.11
+  RTStructureSetStorage                                             | 1.2.840.10008.5.1.4.1.1.481.3
+  RTTreatmentPreparationStorage                                     | 1.2.840.10008.5.1.4.1.1.481.22
+  RTTreatmentSummaryRecordStorage                                   | 1.2.840.10008.5.1.4.1.1.481.7
+  RadiopharmaceuticalRadiationDoseSRStorage                         | 1.2.840.10008.5.1.4.1.1.88.68
+  RawDataStorage                                                    | 1.2.840.10008.5.1.4.1.1.66
+  RealWorldValueMappingStorage                                      | 1.2.840.10008.5.1.4.1.1.67
+  RespiratoryWaveformStorage                                        | 1.2.840.10008.5.1.4.1.1.9.6.1
+  RoboticArmRadiationStorage                                        | 1.2.840.10008.5.1.4.1.1.481.15
+  RoboticRadiationRecordStorage                                     | 1.2.840.10008.5.1.4.1.1.481.20
+  RoutineScalpElectroencephalogramWaveformStorage                   | 1.2.840.10008.5.1.4.1.1.9.7.1
+  SecondaryCaptureImageStorage                                      | 1.2.840.10008.5.1.4.1.1.7
+  SegmentationStorage                                               | 1.2.840.10008.5.1.4.1.1.66.4
+  SegmentedVolumeRenderingVolumetricPresentationStateStorage        | 1.2.840.10008.5.1.4.1.1.11.10
+  SimplifiedAdultEchoSRStorage                                      | 1.2.840.10008.5.1.4.1.1.88.72
+  SleepElectroencephalogramWaveformStorage                          | 1.2.840.10008.5.1.4.1.1.9.7.4
+  SpatialFiducialsStorage                                           | 1.2.840.10008.5.1.4.1.1.66.2
+  SpatialRegistrationStorage                                        | 1.2.840.10008.5.1.4.1.1.66.1
+  SpectaclePrescriptionReportStorage                                | 1.2.840.10008.5.1.4.1.1.78.6
+  StereometricRelationshipStorage                                   | 1.2.840.10008.5.1.4.1.1.77.1.5.3
+  SubjectiveRefractionMeasurementsStorage                           | 1.2.840.10008.5.1.4.1.1.78.4
+  SurfaceScanMeshStorage                                            | 1.2.840.10008.5.1.4.1.1.68.1
+  SurfaceScanPointCloudStorage                                      | 1.2.840.10008.5.1.4.1.1.68.2
+  SurfaceSegmentationStorage                                        | 1.2.840.10008.5.1.4.1.1.66.5
+  TomotherapeuticRadiationRecordStorage                             | 1.2.840.10008.5.1.4.1.1.481.18
+  TomotherapeuticRadiationStorage                                   | 1.2.840.10008.5.1.4.1.1.481.14
+  TractographyResultsStorage                                        | 1.2.840.10008.5.1.4.1.1.66.6
+  TwelveLeadECGWaveformStorage                                      | 1.2.840.10008.5.1.4.1.1.9.1.1
+  UltrasoundImageStorage                                            | 1.2.840.10008.5.1.4.1.1.6.1
+  UltrasoundMultiframeImageStorage                                  | 1.2.840.10008.5.1.4.1.1.3.1
+  VLEndoscopicImageStorage                                          | 1.2.840.10008.5.1.4.1.1.77.1.1
+  VLMicroscopicImageStorage                                         | 1.2.840.10008.5.1.4.1.1.77.1.2
+  VLPhotographicImageStorage                                        | 1.2.840.10008.5.1.4.1.1.77.1.4
+  VLSlideCoordinatesMicroscopicImageStorage                         | 1.2.840.10008.5.1.4.1.1.77.1.3
+  VLWholeSlideMicroscopyImageStorage                                | 1.2.840.10008.5.1.4.1.1.77.1.6
+  VariableModalityLUTSoftcopyPresentationStateStorage               | 1.2.840.10008.5.1.4.1.1.11.12
+  VideoEndoscopicImageStorage                                       | 1.2.840.10008.5.1.4.1.1.77.1.1.1
+  VideoMicroscopicImageStorage                                      | 1.2.840.10008.5.1.4.1.1.77.1.2.1
+  VideoPhotographicImageStorage                                     | 1.2.840.10008.5.1.4.1.1.77.1.4.1
+  VisualAcuityMeasurementsStorage                                   | 1.2.840.10008.5.1.4.1.1.78.5
+  VolumeRenderingVolumetricPresentationStateStorage                 | 1.2.840.10008.5.1.4.1.1.11.9
+  WaveformAcquisitionPresentationStateStorage                       | 1.2.840.10008.5.1.4.1.1.9.100.2
+  WaveformAnnotationSRStorage                                       | 1.2.840.10008.5.1.4.1.1.88.77
+  WaveformPresentationStateStorage                                  | 1.2.840.10008.5.1.4.1.1.9.100.1
+  WideFieldOphthalmicPhotography3DCoordinatesImageStorage           | 1.2.840.10008.5.1.4.1.1.77.1.5.6
+  WideFieldOphthalmicPhotographyStereographicProjectionImageStorage | 1.2.840.10008.5.1.4.1.1.77.1.5.5
+  XADefinedProcedureProtocolStorage                                 | 1.2.840.10008.5.1.4.1.1.200.7
+  XAPerformedProcedureProtocolStorage                               | 1.2.840.10008.5.1.4.1.1.200.8
+  XAXRFGrayscaleSoftcopyPresentationStateStorage                    | 1.2.840.10008.5.1.4.1.1.11.5
+  XRay3DAngiographicImageStorage                                    | 1.2.840.10008.5.1.4.1.1.13.1.1
+  XRay3DCraniofacialImageStorage                                    | 1.2.840.10008.5.1.4.1.1.13.1.2
+  XRayAngiographicImageStorage                                      | 1.2.840.10008.5.1.4.1.1.12.1
+  XRayRadiationDoseSRStorage                                        | 1.2.840.10008.5.1.4.1.1.88.67
+  XRayRadiofluoroscopicImageStorage                                 | 1.2.840.10008.5.1.4.1.1.12.2
+
+  RETIRED_HardcopyColorImageStorage                                 | 1.2.840.10008.5.1.1.30
+  RETIRED_HardcopyGrayscaleImageStorage                             | 1.2.840.10008.5.1.1.29
+  RETIRED_NuclearMedicineImageStorage                               | 1.2.840.10008.5.1.4.1.1.5
+  RETIRED_StandaloneCurveStorage                                    | 1.2.840.10008.5.1.4.1.1.9
+  RETIRED_StandaloneModalityLUTStorage                              | 1.2.840.10008.5.1.4.1.1.10
+  RETIRED_StandaloneOverlayStorage                                  | 1.2.840.10008.5.1.4.1.1.8
+  RETIRED_StandalonePETCurveStorage                                 | 1.2.840.10008.5.1.4.1.1.129
+  RETIRED_StandaloneVOILUTStorage                                   | 1.2.840.10008.5.1.4.1.1.11
+  RETIRED_StoredPrintStorage                                        | 1.2.840.10008.5.1.1.27
+  RETIRED_UltrasoundImageStorage                                    | 1.2.840.10008.5.1.4.1.1.6
+  RETIRED_UltrasoundMultiframeImageStorage                          | 1.2.840.10008.5.1.4.1.1.3
+  RETIRED_VLImageStorage                                            | 1.2.840.10008.5.1.4.1.1.77.1
+  RETIRED_VLMultiframeImageStorage                                  | 1.2.840.10008.5.1.4.1.1.77.2
+  RETIRED_XRayAngiographicBiPlaneImageStorage                       | 1.2.840.10008.5.1.4.1.1.12.3
+
+  DRAFT_RTBeamsDeliveryInstructionStorage                           | 1.2.840.10008.5.1.4.34.1
+  DRAFT_SRAudioStorage                                              | 1.2.840.10008.5.1.4.1.1.88.2
+  DRAFT_SRComprehensiveStorage                                      | 1.2.840.10008.5.1.4.1.1.88.4
+  DRAFT_SRDetailStorage                                             | 1.2.840.10008.5.1.4.1.1.88.3
+  DRAFT_SRTextStorage                                               | 1.2.840.10008.5.1.4.1.1.88.1
+  DRAFT_WaveformStorage                                             | 1.2.840.10008.5.1.4.1.1.9.1
+
+
+--------------------
+Find SCP Conformance
+--------------------
+
+Orthanc supports the following SOP Classes as an SCP for C-Find:
+
+  FINDPatientRootQueryRetrieveInformationModel   | 1.2.840.10008.5.1.4.1.2.1.1
+  FINDStudyRootQueryRetrieveInformationModel     | 1.2.840.10008.5.1.4.1.2.2.1
+  FINDModalityWorklistInformationModel           | 1.2.840.10008.5.1.4.31
+
+
+--------------------
+Move SCP Conformance
+--------------------
+
+Orthanc supports the following SOP Classes as an SCP for C-Move:
+
+  MOVEPatientRootQueryRetrieveInformationModel   | 1.2.840.10008.5.1.4.1.2.1.2
+  MOVEStudyRootQueryRetrieveInformationModel     | 1.2.840.10008.5.1.4.1.2.2.2
+
+
+-------------------
+Get SCP Conformance
+-------------------
+
+Orthanc supports the following SOP Classes as an SCP for C-Get:
+
+  GETPatientRootQueryRetrieveInformationModel    | 1.2.840.10008.5.1.4.1.2.1.3
+  GETStudyRootQueryRetrieveInformationModel      | 1.2.840.10008.5.1.4.1.2.2.3
+
+
+---------------------
+Echo SCU Conformance
+---------------------
+
+Orthanc supports the following SOP Classes as an SCU for C-Echo:
+
+  VerificationSOPClass      | 1.2.840.10008.1.1
+
+
+---------------------
+Store SCU Conformance
+---------------------
+
+All the SOP Classes that are listed in the "Store SCP Conformance"
+(see above) section are available as an SCU for C-Store.
+
+
+--------------------
+Find SCU Conformance
+--------------------
+
+Orthanc supports the following SOP Classes as an SCU for C-Find:
+
+  FINDPatientRootQueryRetrieveInformationModel  | 1.2.840.10008.5.1.4.1.2.1.1
+  FINDStudyRootQueryRetrieveInformationModel    | 1.2.840.10008.5.1.4.1.2.2.1
+
+
+--------------------
+Move SCU Conformance
+--------------------
+
+Orthanc supports the following SOP Classes as an SCU for C-Move:
+
+  MOVEPatientRootQueryRetrieveInformationModel  | 1.2.840.10008.5.1.4.1.2.1.2
+  MOVEStudyRootQueryRetrieveInformationModel    | 1.2.840.10008.5.1.4.1.2.2.2
+
+
+-------------------
+Get SCU Conformance
+-------------------
+
+Orthanc supports the following SOP Classes as an SCU for C-Get:
+
+  GETPatientRootQueryRetrieveInformationModel    | 1.2.840.10008.5.1.4.1.2.1.3
+  GETStudyRootQueryRetrieveInformationModel      | 1.2.840.10008.5.1.4.1.2.2.3
+
+
+-----------------
+Transfer Syntaxes
+-----------------
+
+Orthanc will accept and negotiate presentation contexts for all of the
+abovementioned supported SOP Classes using any of the following
+transfer syntaxes:
+
+  LittleEndianImplicitTransferSyntax                              | 1.2.840.10008.1.2
+  LittleEndianExplicitTransferSyntax                              | 1.2.840.10008.1.2.1
+  DeflatedLittleEndianExplicitTransferSyntax                      | 1.2.840.10008.1.2.1.99
+  BigEndianExplicitTransferSyntax                                 | 1.2.840.10008.1.2.2
+  MPEG2MainProfileAtMainLevelTransferSyntax                       | 1.2.840.10008.1.2.4.100
+  MPEG2MainProfileAtHighLevelTransferSyntax                       | 1.2.840.10008.1.2.4.101
+  MPEG4HighProfileLevel4_1TransferSyntax                          | 1.2.840.10008.1.2.4.102
+  MPEG4BDcompatibleHighProfileLevel4_1TransferSyntax              | 1.2.840.10008.1.2.4.103
+  MPEG4HighProfileLevel4_2_For2DVideoTransferSyntax               | 1.2.840.10008.1.2.4.104
+  MPEG4HighProfileLevel4_2_For3DVideoTransferSyntax               | 1.2.840.10008.1.2.4.105
+  MPEG4StereoHighProfileLevel4_2TransferSyntax                    | 1.2.840.10008.1.2.4.106
+  HEVCMainProfileLevel5_1TransferSyntax                           | 1.2.840.10008.1.2.4.107
+  HEVCMain10ProfileLevel5_1TransferSyntax                         | 1.2.840.10008.1.2.4.108
+  JPEGXLLosslessTransferSyntax                                    | 1.2.840.10008.1.2.4.110
+  JPEGXLJPEGRecompressionTransferSyntax                           | 1.2.840.10008.1.2.4.111
+  JPEGXLTransferSyntax                                            | 1.2.840.10008.1.2.4.112
+  HighThroughputJPEG2000LosslessOnlyTransferSyntax                | 1.2.840.10008.1.2.4.201
+  HighThroughputJPEG2000withRPCLOptionsLosslessOnlyTransferSyntax | 1.2.840.10008.1.2.4.202
+  HighThroughputJPEG2000TransferSyntax                            | 1.2.840.10008.1.2.4.203
+  JPEGProcess1TransferSyntax                                      | 1.2.840.10008.1.2.4.50
+  JPEGProcess2_4TransferSyntax                                    | 1.2.840.10008.1.2.4.51
+  JPEGProcess3_5TransferSyntax                                    | 1.2.840.10008.1.2.4.52
+  JPEGProcess6_8TransferSyntax                                    | 1.2.840.10008.1.2.4.53
+  JPEGProcess7_9TransferSyntax                                    | 1.2.840.10008.1.2.4.54
+  JPEGProcess10_12TransferSyntax                                  | 1.2.840.10008.1.2.4.55
+  JPEGProcess11_13TransferSyntax                                  | 1.2.840.10008.1.2.4.56
+  JPEGProcess14TransferSyntax                                     | 1.2.840.10008.1.2.4.57
+  JPEGProcess15TransferSyntax                                     | 1.2.840.10008.1.2.4.58
+  JPEGProcess16_18TransferSyntax                                  | 1.2.840.10008.1.2.4.59
+  JPEGProcess17_19TransferSyntax                                  | 1.2.840.10008.1.2.4.60
+  JPEGProcess20_22TransferSyntax                                  | 1.2.840.10008.1.2.4.61
+  JPEGProcess21_23TransferSyntax                                  | 1.2.840.10008.1.2.4.62
+  JPEGProcess24_26TransferSyntax                                  | 1.2.840.10008.1.2.4.63
+  JPEGProcess25_27TransferSyntax                                  | 1.2.840.10008.1.2.4.64
+  JPEGProcess28TransferSyntax                                     | 1.2.840.10008.1.2.4.65
+  JPEGProcess29TransferSyntax                                     | 1.2.840.10008.1.2.4.66
+  JPEGProcess14SV1TransferSyntax                                  | 1.2.840.10008.1.2.4.70
+  JPEGLSLosslessTransferSyntax                                    | 1.2.840.10008.1.2.4.80
+  JPEGLSLossyTransferSyntax                                       | 1.2.840.10008.1.2.4.81
+  JPEG2000LosslessOnlyTransferSyntax                              | 1.2.840.10008.1.2.4.90
+  JPEG2000TransferSyntax                                          | 1.2.840.10008.1.2.4.91
+  JPEG2000MulticomponentLosslessOnlyTransferSyntax                | 1.2.840.10008.1.2.4.92
+  JPEG2000MulticomponentTransferSyntax                            | 1.2.840.10008.1.2.4.93
+  JPIPReferencedTransferSyntax                                    | 1.2.840.10008.1.2.4.94
+  JPIPReferencedDeflateTransferSyntax                             | 1.2.840.10008.1.2.4.95
+  RLELosslessTransferSyntax                                       | 1.2.840.10008.1.2.5
+  RFC2557MimeEncapsulationTransferSyntax                          | 1.2.840.10008.1.2.6.1
+  XMLTransferSyntax                                               | 1.2.840.10008.1.2.6.2
+
+It is possible to disable a subset of these transfer syntaxes thanks
+to the "AcceptedTransferSyntaxes" and "*TransferSyntaxAccepted"
+options in the Orthanc configuration file.
+
+When possible, Orthanc will prefer the
+LittleEndianExplicitTransferSyntax transfer syntax
+(1.2.840.10008.1.2.1).
+
+Orthanc does not support extended negotiation.
+
+
+--------------------
+Implementation notes
+--------------------
+
+The information above about the SCP support is readily extracted from
+the function "Orthanc::Internals::AcceptAssociation()" from file
+"OrthancFramework/Sources/DicomNetworking/Internals/CommandDispatcher.cpp".
+
+The information above about the SCU support is derived from the
+classes "Orthanc::DicomControlUserConnection" and
+"Orthanc::DicomStoreUserConnection" from file
+"OrthancFramework/Sources/DicomNetworking/DicomControlUserConnection.cpp" and
+"OrthancFramework/Sources/DicomNetworking/DicomStoreUserConnection.cpp".
--- a/OrthancServer/Resources/DicomConformanceStatement.mustache	Thu Sep 17 19:49:04 2026 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,147 +0,0 @@
-======================================
-DICOM Conformance Statement of Orthanc
-======================================
-
-
----------------------
-Echo SCP Conformance
----------------------
-
-Orthanc supports the following SOP Classes as an SCP for C-Echo:
-
-  VerificationSOPClass      | 1.2.840.10008.1.1
-
-
----------------------
-Store SCP Conformance
----------------------
-
-Orthanc supports the following SOP Classes as an SCP for C-Store:
-
-  {{#store_scp}}
-  {{name}} | {{uid}}
-  {{/store_scp}}
-
-  {{#retired_store_scp}}
-  {{name}} | {{uid}}
-  {{/retired_store_scp}}
-
-  {{#draft_store_scp}}
-  {{name}} | {{uid}}
-  {{/draft_store_scp}}
-
-
---------------------
-Find SCP Conformance
---------------------
-
-Orthanc supports the following SOP Classes as an SCP for C-Find:
-
-  FINDPatientRootQueryRetrieveInformationModel   | 1.2.840.10008.5.1.4.1.2.1.1
-  FINDStudyRootQueryRetrieveInformationModel     | 1.2.840.10008.5.1.4.1.2.2.1
-  FINDModalityWorklistInformationModel           | 1.2.840.10008.5.1.4.31
-
-
---------------------
-Move SCP Conformance
---------------------
-
-Orthanc supports the following SOP Classes as an SCP for C-Move:
-
-  MOVEPatientRootQueryRetrieveInformationModel   | 1.2.840.10008.5.1.4.1.2.1.2
-  MOVEStudyRootQueryRetrieveInformationModel     | 1.2.840.10008.5.1.4.1.2.2.2
-
-
--------------------
-Get SCP Conformance
--------------------
-
-Orthanc supports the following SOP Classes as an SCP for C-Get:
-
-  GETPatientRootQueryRetrieveInformationModel    | 1.2.840.10008.5.1.4.1.2.1.3
-  GETStudyRootQueryRetrieveInformationModel      | 1.2.840.10008.5.1.4.1.2.2.3
-
-
----------------------
-Echo SCU Conformance
----------------------
-
-Orthanc supports the following SOP Classes as an SCU for C-Echo:
-
-  VerificationSOPClass      | 1.2.840.10008.1.1
-
-
----------------------
-Store SCU Conformance
----------------------
-
-All the SOP Classes that are listed in the "Store SCP Conformance"
-(see above) section are available as an SCU for C-Store.
-
-
---------------------
-Find SCU Conformance
---------------------
-
-Orthanc supports the following SOP Classes as an SCU for C-Find:
-
-  FINDPatientRootQueryRetrieveInformationModel  | 1.2.840.10008.5.1.4.1.2.1.1
-  FINDStudyRootQueryRetrieveInformationModel    | 1.2.840.10008.5.1.4.1.2.2.1
-
-
---------------------
-Move SCU Conformance
---------------------
-
-Orthanc supports the following SOP Classes as an SCU for C-Move:
-
-  MOVEPatientRootQueryRetrieveInformationModel  | 1.2.840.10008.5.1.4.1.2.1.2
-  MOVEStudyRootQueryRetrieveInformationModel    | 1.2.840.10008.5.1.4.1.2.2.2
-
-
--------------------
-Get SCU Conformance
--------------------
-
-Orthanc supports the following SOP Classes as an SCU for C-Get:
-
-  GETPatientRootQueryRetrieveInformationModel    | 1.2.840.10008.5.1.4.1.2.1.3
-  GETStudyRootQueryRetrieveInformationModel      | 1.2.840.10008.5.1.4.1.2.2.3
-
-
------------------
-Transfer Syntaxes
------------------
-
-Orthanc will accept and negotiate presentation contexts for all of the
-abovementioned supported SOP Classes using any of the following
-transfer syntaxes:
-
-  {{#transfer_syntaxes}}
-  {{name}} | {{uid}}
-  {{/transfer_syntaxes}}
-
-It is possible to disable a subset of these transfer syntaxes thanks
-to the "AcceptedTransferSyntaxes" and "*TransferSyntaxAccepted"
-options in the Orthanc configuration file.
-
-When possible, Orthanc will prefer the
-LittleEndianExplicitTransferSyntax transfer syntax
-(1.2.840.10008.1.2.1).
-
-Orthanc does not support extended negotiation.
-
-
---------------------
-Implementation notes
---------------------
-
-The information above about the SCP support is readily extracted from
-the function "Orthanc::Internals::AcceptAssociation()" from file
-"OrthancFramework/Sources/DicomNetworking/Internals/CommandDispatcher.cpp".
-
-The information above about the SCU support is derived from the
-classes "Orthanc::DicomControlUserConnection" and
-"Orthanc::DicomStoreUserConnection" from file
-"OrthancFramework/Sources/DicomNetworking/DicomControlUserConnection.cpp" and
-"OrthancFramework/Sources/DicomNetworking/DicomStoreUserConnection.cpp".
--- a/OrthancServer/Resources/DicomConformanceStatement.py	Thu Sep 17 19:49:04 2026 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,118 +0,0 @@
-#!/usr/bin/env python3
-
-# Orthanc - A Lightweight, RESTful DICOM Store
-# Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics
-# Department, University Hospital of Liege, Belgium
-# Copyright (C) 2017-2023 Osimis S.A., Belgium
-# Copyright (C) 2024-2026 Orthanc Team SRL, Belgium
-# Copyright (C) 2021-2026 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
-#
-# This program is free software: you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-
-
-
-# This file injects the UID information into the DICOM conformance
-# statement of Orthanc
-
-import io
-import json
-import os
-import pystache
-import re
-import requests
-import tarfile
-
-BASE = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..'))
-
-
-# Read the current version of DCMTK
-with open(os.path.join(BASE, 'OrthancFramework', 'Resources', 'CMake', 'OrthancFrameworkParameters.cmake'), 'r') as f:
-    version = None
-    for match in re.findall(r'^set\(DCMTK_STATIC_VERSION "([0-9.]+)"', f.read(), re.MULTILINE):
-        if version != None:
-            raise Exception('Two versions of DCMTK were found')
-        elif match != '3.6.9':  # Ignore the version for Windows XP
-            version = match
-
-    if version == None:
-        raise Exception('Unable to detect the DCMTK version')
-
-    print('Detected DCMTK version: %s' % version)
-
-    url = 'https://orthanc.uclouvain.be/downloads/third-party-downloads/dcmtk-%s.tar.gz' % version
-    r = requests.get(url)
-    r.raise_for_status()
-
-    dcuid = None
-    tar = tarfile.open(fileobj = io.BytesIO(r.content), mode = 'r:gz')
-    for i in tar.getmembers():
-        if i.name.endswith('dcmdata/include/dcmtk/dcmdata/dcuid.h'):
-            dcuid = tar.extractfile(i)
-
-    assert(dcuid != None)
-    dcmtk = dcuid.readlines()
-
-
-# Create an index of all the DICOM Store SCP UIDs that are known to DCMTK
-all_store_scp = []
-longest = 0
-for l in dcmtk:
-    m = re.match(r'#define UID_(.+?Storage)\s*"(.+?)"', l.decode('ascii'))
-    if m != None:
-        longest = max(longest, len(m.group(1)))
-        all_store_scp.append({
-            'name' : m.group(1),
-            'uid' : m.group(2),
-        })
-
-all_store_scp = sorted(all_store_scp, key = lambda x: x['name'])
-
-for i in range(len(all_store_scp)):
-    all_store_scp[i]['name'] = all_store_scp[i]['name'].ljust(longest)
-
-store_scp = list(filter(lambda x: not x['name'].startswith('DRAFT') and not x['name'].startswith('RETIRED'), all_store_scp))
-retired_store_scp = list(filter(lambda x: x['name'].startswith('RETIRED'), all_store_scp))
-draft_store_scp = list(filter(lambda x: x['name'].startswith('DRAFT'), all_store_scp))
-
-
-# Read all the transfer syntaxes
-with open(os.path.join(BASE, 'OrthancFramework', 'Resources', 'CodeGeneration', 'DicomTransferSyntaxes.json')) as f:
-    a = json.loads(f.read())
-
-transfer_syntaxes = []
-longest = 0
-for i in range(len(a)):
-    item = {
-        'name' : '%sTransferSyntax' % a[i]['Value'],
-        'uid' : a[i]['UID'],
-    }
-    transfer_syntaxes.append(item)
-    longest = max(longest, len(item['name']))
-
-transfer_syntaxes = sorted(transfer_syntaxes, key = lambda x: x['uid'])
-
-for i in range(len(transfer_syntaxes)):
-    transfer_syntaxes[i]['name'] = transfer_syntaxes[i]['name'].ljust(longest)
-
-
-# Inject into the template conformance statement of Orthanc
-with open(os.path.join(os.path.dirname(__file__), 'DicomConformanceStatement.mustache'), 'r') as f:
-    with open(os.path.join(os.path.dirname(__file__), 'DicomConformanceStatement.txt'), 'w') as g:
-        g.write(pystache.render(f.read(), {
-            'store_scp' : store_scp,
-            'draft_store_scp' : draft_store_scp,
-            'retired_store_scp' : retired_store_scp,
-            'transfer_syntaxes' : transfer_syntaxes,
-        }))
--- a/OrthancServer/Resources/DicomConformanceStatement.txt	Thu Sep 17 19:49:04 2026 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,383 +0,0 @@
-======================================
-DICOM Conformance Statement of Orthanc
-======================================
-
-
----------------------
-Echo SCP Conformance
----------------------
-
-Orthanc supports the following SOP Classes as an SCP for C-Echo:
-
-  VerificationSOPClass      | 1.2.840.10008.1.1
-
-
----------------------
-Store SCP Conformance
----------------------
-
-Orthanc supports the following SOP Classes as an SCP for C-Store:
-
-  AcquisitionContextSRStorage                                       | 1.2.840.10008.5.1.4.1.1.88.71
-  AdvancedBlendingPresentationStateStorage                          | 1.2.840.10008.5.1.4.1.1.11.8
-  AmbulatoryECGWaveformStorage                                      | 1.2.840.10008.5.1.4.1.1.9.1.3
-  ArterialPulseWaveformStorage                                      | 1.2.840.10008.5.1.4.1.1.9.5.1
-  AutorefractionMeasurementsStorage                                 | 1.2.840.10008.5.1.4.1.1.78.2
-  BasicStructuredDisplayStorage                                     | 1.2.840.10008.5.1.4.1.1.131
-  BasicTextSRStorage                                                | 1.2.840.10008.5.1.4.1.1.88.11
-  BasicVoiceAudioWaveformStorage                                    | 1.2.840.10008.5.1.4.1.1.9.4.1
-  BlendingSoftcopyPresentationStateStorage                          | 1.2.840.10008.5.1.4.1.1.11.4
-  BodyPositionWaveformStorage                                       | 1.2.840.10008.5.1.4.1.1.9.8.1
-  BreastTomosynthesisImageStorage                                   | 1.2.840.10008.5.1.4.1.1.13.1.3
-  CArmPhotonElectronRadiationRecordStorage                          | 1.2.840.10008.5.1.4.1.1.481.19
-  CArmPhotonElectronRadiationStorage                                | 1.2.840.10008.5.1.4.1.1.481.13
-  CTDefinedProcedureProtocolStorage                                 | 1.2.840.10008.5.1.4.1.1.200.1
-  CTImageStorage                                                    | 1.2.840.10008.5.1.4.1.1.2
-  CTPerformedProcedureProtocolStorage                               | 1.2.840.10008.5.1.4.1.1.200.2
-  CardiacElectrophysiologyWaveformStorage                           | 1.2.840.10008.5.1.4.1.1.9.3.1
-  ChestCADSRStorage                                                 | 1.2.840.10008.5.1.4.1.1.88.65
-  ColonCADSRStorage                                                 | 1.2.840.10008.5.1.4.1.1.88.69
-  ColorPaletteStorage                                               | 1.2.840.10008.5.1.4.39.1
-  ColorSoftcopyPresentationStateStorage                             | 1.2.840.10008.5.1.4.1.1.11.2
-  CompositingPlanarMPRVolumetricPresentationStateStorage            | 1.2.840.10008.5.1.4.1.1.11.7
-  Comprehensive3DSRStorage                                          | 1.2.840.10008.5.1.4.1.1.88.34
-  ComprehensiveSRStorage                                            | 1.2.840.10008.5.1.4.1.1.88.33
-  ComputedRadiographyImageStorage                                   | 1.2.840.10008.5.1.4.1.1.1
-  ConfocalMicroscopyImageStorage                                    | 1.2.840.10008.5.1.4.1.1.77.1.8
-  ConfocalMicroscopyTiledPyramidalImageStorage                      | 1.2.840.10008.5.1.4.1.1.77.1.9
-  ContentAssessmentResultsStorage                                   | 1.2.840.10008.5.1.4.1.1.90.1
-  CornealTopographyMapStorage                                       | 1.2.840.10008.5.1.4.1.1.82.1
-  DICONDE_EddyCurrentImageStorage                                   | 1.2.840.10008.5.1.4.1.1.601.1
-  DICONDE_EddyCurrentMultiframeImageStorage                         | 1.2.840.10008.5.1.4.1.1.601.2
-  DICONDE_ThermographyImageStorage                                  | 1.2.840.10008.5.1.4.1.1.601.3
-  DICONDE_ThermographyMultiFrameImageStorage                        | 1.2.840.10008.5.1.4.1.1.601.4
-  DICONDE_UltrasoundWaveformStorage                                 | 1.2.840.10008.5.1.4.1.1.601.5
-  DICOS_2DAITStorage                                                | 1.2.840.10008.5.1.4.1.1.501.4
-  DICOS_3DAITStorage                                                | 1.2.840.10008.5.1.4.1.1.501.5
-  DICOS_CTImageStorage                                              | 1.2.840.10008.5.1.4.1.1.501.1
-  DICOS_QuadrupoleResonanceStorage                                  | 1.2.840.10008.5.1.4.1.1.501.6
-  DICOS_ThreatDetectionReportStorage                                | 1.2.840.10008.5.1.4.1.1.501.3
-  DeformableSpatialRegistrationStorage                              | 1.2.840.10008.5.1.4.1.1.66.3
-  DermoscopicPhotographyImageStorage                                | 1.2.840.10008.5.1.4.1.1.77.1.7
-  ElectromyogramWaveformStorage                                     | 1.2.840.10008.5.1.4.1.1.9.7.2
-  ElectrooculogramWaveformStorage                                   | 1.2.840.10008.5.1.4.1.1.9.7.3
-  EncapsulatedCDAStorage                                            | 1.2.840.10008.5.1.4.1.1.104.2
-  EncapsulatedMTLStorage                                            | 1.2.840.10008.5.1.4.1.1.104.5
-  EncapsulatedOBJStorage                                            | 1.2.840.10008.5.1.4.1.1.104.4
-  EncapsulatedPDFStorage                                            | 1.2.840.10008.5.1.4.1.1.104.1
-  EncapsulatedSTLStorage                                            | 1.2.840.10008.5.1.4.1.1.104.3
-  EnhancedCTImageStorage                                            | 1.2.840.10008.5.1.4.1.1.2.1
-  EnhancedContinuousRTImageStorage                                  | 1.2.840.10008.5.1.4.1.1.481.24
-  EnhancedMRColorImageStorage                                       | 1.2.840.10008.5.1.4.1.1.4.3
-  EnhancedMRImageStorage                                            | 1.2.840.10008.5.1.4.1.1.4.1
-  EnhancedPETImageStorage                                           | 1.2.840.10008.5.1.4.1.1.130
-  EnhancedRTImageStorage                                            | 1.2.840.10008.5.1.4.1.1.481.23
-  EnhancedSRStorage                                                 | 1.2.840.10008.5.1.4.1.1.88.22
-  EnhancedUSVolumeStorage                                           | 1.2.840.10008.5.1.4.1.1.6.2
-  EnhancedXAImageStorage                                            | 1.2.840.10008.5.1.4.1.1.12.1.1
-  EnhancedXRFImageStorage                                           | 1.2.840.10008.5.1.4.1.1.12.2.1
-  EnhancedXRayRadiationDoseSRStorage                                | 1.2.840.10008.5.1.4.1.1.88.76
-  ExtensibleSRStorage                                               | 1.2.840.10008.5.1.4.1.1.88.35
-  General32BitECGWaveformStorage                                    | 1.2.840.10008.5.1.4.1.1.9.1.4
-  GeneralAudioWaveformStorage                                       | 1.2.840.10008.5.1.4.1.1.9.4.2
-  GeneralECGWaveformStorage                                         | 1.2.840.10008.5.1.4.1.1.9.1.2
-  GenericImplantTemplateStorage                                     | 1.2.840.10008.5.1.4.43.1
-  GrayscalePlanarMPRVolumetricPresentationStateStorage              | 1.2.840.10008.5.1.4.1.1.11.6
-  GrayscaleSoftcopyPresentationStateStorage                         | 1.2.840.10008.5.1.4.1.1.11.1
-  HangingProtocolStorage                                            | 1.2.840.10008.5.1.4.38.1
-  HeightMapSegmentationStorage                                      | 1.2.840.10008.5.1.4.1.1.66.8
-  HemodynamicWaveformStorage                                        | 1.2.840.10008.5.1.4.1.1.9.2.1
-  ImplantAssemblyTemplateStorage                                    | 1.2.840.10008.5.1.4.44.1
-  ImplantTemplateGroupStorage                                       | 1.2.840.10008.5.1.4.45.1
-  ImplantationPlanSRStorage                                         | 1.2.840.10008.5.1.4.1.1.88.70
-  IntraocularLensCalculationsStorage                                | 1.2.840.10008.5.1.4.1.1.78.8
-  InventoryStorage                                                  | 1.2.840.10008.5.1.4.1.1.201.1
-  KeratometryMeasurementsStorage                                    | 1.2.840.10008.5.1.4.1.1.78.3
-  KeyObjectSelectionDocumentStorage                                 | 1.2.840.10008.5.1.4.1.1.88.59
-  LabelMapSegmentationStorage                                       | 1.2.840.10008.5.1.4.1.1.66.7
-  LegacyConvertedEnhancedCTImageStorage                             | 1.2.840.10008.5.1.4.1.1.2.2
-  LegacyConvertedEnhancedMRImageStorage                             | 1.2.840.10008.5.1.4.1.1.4.4
-  LegacyConvertedEnhancedPETImageStorage                            | 1.2.840.10008.5.1.4.1.1.128.1
-  LensometryMeasurementsStorage                                     | 1.2.840.10008.5.1.4.1.1.78.1
-  MRImageStorage                                                    | 1.2.840.10008.5.1.4.1.1.4
-  MRSpectroscopyStorage                                             | 1.2.840.10008.5.1.4.1.1.4.2
-  MacularGridThicknessAndVolumeReportStorage                        | 1.2.840.10008.5.1.4.1.1.79.1
-  MammographyCADSRStorage                                           | 1.2.840.10008.5.1.4.1.1.88.50
-  MediaStorageDirectoryStorage                                      | 1.2.840.10008.1.3.10
-  MicroscopyBulkSimpleAnnotationsStorage                            | 1.2.840.10008.5.1.4.1.1.91.1
-  MultichannelRespiratoryWaveformStorage                            | 1.2.840.10008.5.1.4.1.1.9.6.2
-  MultiframeGrayscaleByteSecondaryCaptureImageStorage               | 1.2.840.10008.5.1.4.1.1.7.2
-  MultiframeGrayscaleWordSecondaryCaptureImageStorage               | 1.2.840.10008.5.1.4.1.1.7.3
-  MultiframeSingleBitSecondaryCaptureImageStorage                   | 1.2.840.10008.5.1.4.1.1.7.1
-  MultiframeTrueColorSecondaryCaptureImageStorage                   | 1.2.840.10008.5.1.4.1.1.7.4
-  MultipleVolumeRenderingVolumetricPresentationStateStorage         | 1.2.840.10008.5.1.4.1.1.11.11
-  NuclearMedicineImageStorage                                       | 1.2.840.10008.5.1.4.1.1.20
-  OphthalmicAxialMeasurementsStorage                                | 1.2.840.10008.5.1.4.1.1.78.7
-  OphthalmicOpticalCoherenceTomographyBscanVolumeAnalysisStorage    | 1.2.840.10008.5.1.4.1.1.77.1.5.8
-  OphthalmicOpticalCoherenceTomographyEnFaceImageStorage            | 1.2.840.10008.5.1.4.1.1.77.1.5.7
-  OphthalmicPhotography16BitImageStorage                            | 1.2.840.10008.5.1.4.1.1.77.1.5.2
-  OphthalmicPhotography8BitImageStorage                             | 1.2.840.10008.5.1.4.1.1.77.1.5.1
-  OphthalmicThicknessMapStorage                                     | 1.2.840.10008.5.1.4.1.1.81.1
-  OphthalmicTomographyImageStorage                                  | 1.2.840.10008.5.1.4.1.1.77.1.5.4
-  OphthalmicVisualFieldStaticPerimetryMeasurementsStorage           | 1.2.840.10008.5.1.4.1.1.80.1
-  ParametricMapStorage                                              | 1.2.840.10008.5.1.4.1.1.30
-  PatientRadiationDoseSRStorage                                     | 1.2.840.10008.5.1.4.1.1.88.73
-  PerformedImagingAgentAdministrationSRStorage                      | 1.2.840.10008.5.1.4.1.1.88.75
-  PhotoacousticImageStorage                                         | 1.2.840.10008.5.1.4.1.1.6.3
-  PlannedImagingAgentAdministrationSRStorage                        | 1.2.840.10008.5.1.4.1.1.88.74
-  PositronEmissionTomographyImageStorage                            | 1.2.840.10008.5.1.4.1.1.128
-  ProcedureLogStorage                                               | 1.2.840.10008.5.1.4.1.1.88.40
-  ProtocolApprovalStorage                                           | 1.2.840.10008.5.1.4.1.1.200.3
-  PseudoColorSoftcopyPresentationStateStorage                       | 1.2.840.10008.5.1.4.1.1.11.3
-  RTBeamsDeliveryInstructionStorage                                 | 1.2.840.10008.5.1.4.34.7
-  RTBeamsTreatmentRecordStorage                                     | 1.2.840.10008.5.1.4.1.1.481.4
-  RTBrachyApplicationSetupDeliveryInstructionStorage                | 1.2.840.10008.5.1.4.34.10
-  RTBrachyTreatmentRecordStorage                                    | 1.2.840.10008.5.1.4.1.1.481.6
-  RTDoseStorage                                                     | 1.2.840.10008.5.1.4.1.1.481.2
-  RTImageStorage                                                    | 1.2.840.10008.5.1.4.1.1.481.1
-  RTIonBeamsTreatmentRecordStorage                                  | 1.2.840.10008.5.1.4.1.1.481.9
-  RTIonPlanStorage                                                  | 1.2.840.10008.5.1.4.1.1.481.8
-  RTPatientPositionAcquisitionInstructionStorage                    | 1.2.840.10008.5.1.4.1.1.481.25
-  RTPhysicianIntentStorage                                          | 1.2.840.10008.5.1.4.1.1.481.10
-  RTPlanStorage                                                     | 1.2.840.10008.5.1.4.1.1.481.5
-  RTRadiationRecordSetStorage                                       | 1.2.840.10008.5.1.4.1.1.481.16
-  RTRadiationSalvageRecordStorage                                   | 1.2.840.10008.5.1.4.1.1.481.17
-  RTRadiationSetDeliveryInstructionStorage                          | 1.2.840.10008.5.1.4.1.1.481.21
-  RTRadiationSetStorage                                             | 1.2.840.10008.5.1.4.1.1.481.12
-  RTSegmentAnnotationStorage                                        | 1.2.840.10008.5.1.4.1.1.481.11
-  RTStructureSetStorage                                             | 1.2.840.10008.5.1.4.1.1.481.3
-  RTTreatmentPreparationStorage                                     | 1.2.840.10008.5.1.4.1.1.481.22
-  RTTreatmentSummaryRecordStorage                                   | 1.2.840.10008.5.1.4.1.1.481.7
-  RadiopharmaceuticalRadiationDoseSRStorage                         | 1.2.840.10008.5.1.4.1.1.88.68
-  RawDataStorage                                                    | 1.2.840.10008.5.1.4.1.1.66
-  RealWorldValueMappingStorage                                      | 1.2.840.10008.5.1.4.1.1.67
-  RespiratoryWaveformStorage                                        | 1.2.840.10008.5.1.4.1.1.9.6.1
-  RoboticArmRadiationStorage                                        | 1.2.840.10008.5.1.4.1.1.481.15
-  RoboticRadiationRecordStorage                                     | 1.2.840.10008.5.1.4.1.1.481.20
-  RoutineScalpElectroencephalogramWaveformStorage                   | 1.2.840.10008.5.1.4.1.1.9.7.1
-  SecondaryCaptureImageStorage                                      | 1.2.840.10008.5.1.4.1.1.7
-  SegmentationStorage                                               | 1.2.840.10008.5.1.4.1.1.66.4
-  SegmentedVolumeRenderingVolumetricPresentationStateStorage        | 1.2.840.10008.5.1.4.1.1.11.10
-  SimplifiedAdultEchoSRStorage                                      | 1.2.840.10008.5.1.4.1.1.88.72
-  SleepElectroencephalogramWaveformStorage                          | 1.2.840.10008.5.1.4.1.1.9.7.4
-  SpatialFiducialsStorage                                           | 1.2.840.10008.5.1.4.1.1.66.2
-  SpatialRegistrationStorage                                        | 1.2.840.10008.5.1.4.1.1.66.1
-  SpectaclePrescriptionReportStorage                                | 1.2.840.10008.5.1.4.1.1.78.6
-  StereometricRelationshipStorage                                   | 1.2.840.10008.5.1.4.1.1.77.1.5.3
-  SubjectiveRefractionMeasurementsStorage                           | 1.2.840.10008.5.1.4.1.1.78.4
-  SurfaceScanMeshStorage                                            | 1.2.840.10008.5.1.4.1.1.68.1
-  SurfaceScanPointCloudStorage                                      | 1.2.840.10008.5.1.4.1.1.68.2
-  SurfaceSegmentationStorage                                        | 1.2.840.10008.5.1.4.1.1.66.5
-  TomotherapeuticRadiationRecordStorage                             | 1.2.840.10008.5.1.4.1.1.481.18
-  TomotherapeuticRadiationStorage                                   | 1.2.840.10008.5.1.4.1.1.481.14
-  TractographyResultsStorage                                        | 1.2.840.10008.5.1.4.1.1.66.6
-  TwelveLeadECGWaveformStorage                                      | 1.2.840.10008.5.1.4.1.1.9.1.1
-  UltrasoundImageStorage                                            | 1.2.840.10008.5.1.4.1.1.6.1
-  UltrasoundMultiframeImageStorage                                  | 1.2.840.10008.5.1.4.1.1.3.1
-  VLEndoscopicImageStorage                                          | 1.2.840.10008.5.1.4.1.1.77.1.1
-  VLMicroscopicImageStorage                                         | 1.2.840.10008.5.1.4.1.1.77.1.2
-  VLPhotographicImageStorage                                        | 1.2.840.10008.5.1.4.1.1.77.1.4
-  VLSlideCoordinatesMicroscopicImageStorage                         | 1.2.840.10008.5.1.4.1.1.77.1.3
-  VLWholeSlideMicroscopyImageStorage                                | 1.2.840.10008.5.1.4.1.1.77.1.6
-  VariableModalityLUTSoftcopyPresentationStateStorage               | 1.2.840.10008.5.1.4.1.1.11.12
-  VideoEndoscopicImageStorage                                       | 1.2.840.10008.5.1.4.1.1.77.1.1.1
-  VideoMicroscopicImageStorage                                      | 1.2.840.10008.5.1.4.1.1.77.1.2.1
-  VideoPhotographicImageStorage                                     | 1.2.840.10008.5.1.4.1.1.77.1.4.1
-  VisualAcuityMeasurementsStorage                                   | 1.2.840.10008.5.1.4.1.1.78.5
-  VolumeRenderingVolumetricPresentationStateStorage                 | 1.2.840.10008.5.1.4.1.1.11.9
-  WaveformAcquisitionPresentationStateStorage                       | 1.2.840.10008.5.1.4.1.1.9.100.2
-  WaveformAnnotationSRStorage                                       | 1.2.840.10008.5.1.4.1.1.88.77
-  WaveformPresentationStateStorage                                  | 1.2.840.10008.5.1.4.1.1.9.100.1
-  WideFieldOphthalmicPhotography3DCoordinatesImageStorage           | 1.2.840.10008.5.1.4.1.1.77.1.5.6
-  WideFieldOphthalmicPhotographyStereographicProjectionImageStorage | 1.2.840.10008.5.1.4.1.1.77.1.5.5
-  XADefinedProcedureProtocolStorage                                 | 1.2.840.10008.5.1.4.1.1.200.7
-  XAPerformedProcedureProtocolStorage                               | 1.2.840.10008.5.1.4.1.1.200.8
-  XAXRFGrayscaleSoftcopyPresentationStateStorage                    | 1.2.840.10008.5.1.4.1.1.11.5
-  XRay3DAngiographicImageStorage                                    | 1.2.840.10008.5.1.4.1.1.13.1.1
-  XRay3DCraniofacialImageStorage                                    | 1.2.840.10008.5.1.4.1.1.13.1.2
-  XRayAngiographicImageStorage                                      | 1.2.840.10008.5.1.4.1.1.12.1
-  XRayRadiationDoseSRStorage                                        | 1.2.840.10008.5.1.4.1.1.88.67
-  XRayRadiofluoroscopicImageStorage                                 | 1.2.840.10008.5.1.4.1.1.12.2
-
-  RETIRED_HardcopyColorImageStorage                                 | 1.2.840.10008.5.1.1.30
-  RETIRED_HardcopyGrayscaleImageStorage                             | 1.2.840.10008.5.1.1.29
-  RETIRED_NuclearMedicineImageStorage                               | 1.2.840.10008.5.1.4.1.1.5
-  RETIRED_StandaloneCurveStorage                                    | 1.2.840.10008.5.1.4.1.1.9
-  RETIRED_StandaloneModalityLUTStorage                              | 1.2.840.10008.5.1.4.1.1.10
-  RETIRED_StandaloneOverlayStorage                                  | 1.2.840.10008.5.1.4.1.1.8
-  RETIRED_StandalonePETCurveStorage                                 | 1.2.840.10008.5.1.4.1.1.129
-  RETIRED_StandaloneVOILUTStorage                                   | 1.2.840.10008.5.1.4.1.1.11
-  RETIRED_StoredPrintStorage                                        | 1.2.840.10008.5.1.1.27
-  RETIRED_UltrasoundImageStorage                                    | 1.2.840.10008.5.1.4.1.1.6
-  RETIRED_UltrasoundMultiframeImageStorage                          | 1.2.840.10008.5.1.4.1.1.3
-  RETIRED_VLImageStorage                                            | 1.2.840.10008.5.1.4.1.1.77.1
-  RETIRED_VLMultiframeImageStorage                                  | 1.2.840.10008.5.1.4.1.1.77.2
-  RETIRED_XRayAngiographicBiPlaneImageStorage                       | 1.2.840.10008.5.1.4.1.1.12.3
-
-  DRAFT_RTBeamsDeliveryInstructionStorage                           | 1.2.840.10008.5.1.4.34.1
-  DRAFT_SRAudioStorage                                              | 1.2.840.10008.5.1.4.1.1.88.2
-  DRAFT_SRComprehensiveStorage                                      | 1.2.840.10008.5.1.4.1.1.88.4
-  DRAFT_SRDetailStorage                                             | 1.2.840.10008.5.1.4.1.1.88.3
-  DRAFT_SRTextStorage                                               | 1.2.840.10008.5.1.4.1.1.88.1
-  DRAFT_WaveformStorage                                             | 1.2.840.10008.5.1.4.1.1.9.1
-
-
---------------------
-Find SCP Conformance
---------------------
-
-Orthanc supports the following SOP Classes as an SCP for C-Find:
-
-  FINDPatientRootQueryRetrieveInformationModel   | 1.2.840.10008.5.1.4.1.2.1.1
-  FINDStudyRootQueryRetrieveInformationModel     | 1.2.840.10008.5.1.4.1.2.2.1
-  FINDModalityWorklistInformationModel           | 1.2.840.10008.5.1.4.31
-
-
---------------------
-Move SCP Conformance
---------------------
-
-Orthanc supports the following SOP Classes as an SCP for C-Move:
-
-  MOVEPatientRootQueryRetrieveInformationModel   | 1.2.840.10008.5.1.4.1.2.1.2
-  MOVEStudyRootQueryRetrieveInformationModel     | 1.2.840.10008.5.1.4.1.2.2.2
-
-
--------------------
-Get SCP Conformance
--------------------
-
-Orthanc supports the following SOP Classes as an SCP for C-Get:
-
-  GETPatientRootQueryRetrieveInformationModel    | 1.2.840.10008.5.1.4.1.2.1.3
-  GETStudyRootQueryRetrieveInformationModel      | 1.2.840.10008.5.1.4.1.2.2.3
-
-
----------------------
-Echo SCU Conformance
----------------------
-
-Orthanc supports the following SOP Classes as an SCU for C-Echo:
-
-  VerificationSOPClass      | 1.2.840.10008.1.1
-
-
----------------------
-Store SCU Conformance
----------------------
-
-All the SOP Classes that are listed in the "Store SCP Conformance"
-(see above) section are available as an SCU for C-Store.
-
-
---------------------
-Find SCU Conformance
---------------------
-
-Orthanc supports the following SOP Classes as an SCU for C-Find:
-
-  FINDPatientRootQueryRetrieveInformationModel  | 1.2.840.10008.5.1.4.1.2.1.1
-  FINDStudyRootQueryRetrieveInformationModel    | 1.2.840.10008.5.1.4.1.2.2.1
-
-
---------------------
-Move SCU Conformance
---------------------
-
-Orthanc supports the following SOP Classes as an SCU for C-Move:
-
-  MOVEPatientRootQueryRetrieveInformationModel  | 1.2.840.10008.5.1.4.1.2.1.2
-  MOVEStudyRootQueryRetrieveInformationModel    | 1.2.840.10008.5.1.4.1.2.2.2
-
-
--------------------
-Get SCU Conformance
--------------------
-
-Orthanc supports the following SOP Classes as an SCU for C-Get:
-
-  GETPatientRootQueryRetrieveInformationModel    | 1.2.840.10008.5.1.4.1.2.1.3
-  GETStudyRootQueryRetrieveInformationModel      | 1.2.840.10008.5.1.4.1.2.2.3
-
-
------------------
-Transfer Syntaxes
------------------
-
-Orthanc will accept and negotiate presentation contexts for all of the
-abovementioned supported SOP Classes using any of the following
-transfer syntaxes:
-
-  LittleEndianImplicitTransferSyntax                              | 1.2.840.10008.1.2
-  LittleEndianExplicitTransferSyntax                              | 1.2.840.10008.1.2.1
-  DeflatedLittleEndianExplicitTransferSyntax                      | 1.2.840.10008.1.2.1.99
-  BigEndianExplicitTransferSyntax                                 | 1.2.840.10008.1.2.2
-  MPEG2MainProfileAtMainLevelTransferSyntax                       | 1.2.840.10008.1.2.4.100
-  MPEG2MainProfileAtHighLevelTransferSyntax                       | 1.2.840.10008.1.2.4.101
-  MPEG4HighProfileLevel4_1TransferSyntax                          | 1.2.840.10008.1.2.4.102
-  MPEG4BDcompatibleHighProfileLevel4_1TransferSyntax              | 1.2.840.10008.1.2.4.103
-  MPEG4HighProfileLevel4_2_For2DVideoTransferSyntax               | 1.2.840.10008.1.2.4.104
-  MPEG4HighProfileLevel4_2_For3DVideoTransferSyntax               | 1.2.840.10008.1.2.4.105
-  MPEG4StereoHighProfileLevel4_2TransferSyntax                    | 1.2.840.10008.1.2.4.106
-  HEVCMainProfileLevel5_1TransferSyntax                           | 1.2.840.10008.1.2.4.107
-  HEVCMain10ProfileLevel5_1TransferSyntax                         | 1.2.840.10008.1.2.4.108
-  JPEGXLLosslessTransferSyntax                                    | 1.2.840.10008.1.2.4.110
-  JPEGXLJPEGRecompressionTransferSyntax                           | 1.2.840.10008.1.2.4.111
-  JPEGXLTransferSyntax                                            | 1.2.840.10008.1.2.4.112
-  HighThroughputJPEG2000LosslessOnlyTransferSyntax                | 1.2.840.10008.1.2.4.201
-  HighThroughputJPEG2000withRPCLOptionsLosslessOnlyTransferSyntax | 1.2.840.10008.1.2.4.202
-  HighThroughputJPEG2000TransferSyntax                            | 1.2.840.10008.1.2.4.203
-  JPEGProcess1TransferSyntax                                      | 1.2.840.10008.1.2.4.50
-  JPEGProcess2_4TransferSyntax                                    | 1.2.840.10008.1.2.4.51
-  JPEGProcess3_5TransferSyntax                                    | 1.2.840.10008.1.2.4.52
-  JPEGProcess6_8TransferSyntax                                    | 1.2.840.10008.1.2.4.53
-  JPEGProcess7_9TransferSyntax                                    | 1.2.840.10008.1.2.4.54
-  JPEGProcess10_12TransferSyntax                                  | 1.2.840.10008.1.2.4.55
-  JPEGProcess11_13TransferSyntax                                  | 1.2.840.10008.1.2.4.56
-  JPEGProcess14TransferSyntax                                     | 1.2.840.10008.1.2.4.57
-  JPEGProcess15TransferSyntax                                     | 1.2.840.10008.1.2.4.58
-  JPEGProcess16_18TransferSyntax                                  | 1.2.840.10008.1.2.4.59
-  JPEGProcess17_19TransferSyntax                                  | 1.2.840.10008.1.2.4.60
-  JPEGProcess20_22TransferSyntax                                  | 1.2.840.10008.1.2.4.61
-  JPEGProcess21_23TransferSyntax                                  | 1.2.840.10008.1.2.4.62
-  JPEGProcess24_26TransferSyntax                                  | 1.2.840.10008.1.2.4.63
-  JPEGProcess25_27TransferSyntax                                  | 1.2.840.10008.1.2.4.64
-  JPEGProcess28TransferSyntax                                     | 1.2.840.10008.1.2.4.65
-  JPEGProcess29TransferSyntax                                     | 1.2.840.10008.1.2.4.66
-  JPEGProcess14SV1TransferSyntax                                  | 1.2.840.10008.1.2.4.70
-  JPEGLSLosslessTransferSyntax                                    | 1.2.840.10008.1.2.4.80
-  JPEGLSLossyTransferSyntax                                       | 1.2.840.10008.1.2.4.81
-  JPEG2000LosslessOnlyTransferSyntax                              | 1.2.840.10008.1.2.4.90
-  JPEG2000TransferSyntax                                          | 1.2.840.10008.1.2.4.91
-  JPEG2000MulticomponentLosslessOnlyTransferSyntax                | 1.2.840.10008.1.2.4.92
-  JPEG2000MulticomponentTransferSyntax                            | 1.2.840.10008.1.2.4.93
-  JPIPReferencedTransferSyntax                                    | 1.2.840.10008.1.2.4.94
-  JPIPReferencedDeflateTransferSyntax                             | 1.2.840.10008.1.2.4.95
-  RLELosslessTransferSyntax                                       | 1.2.840.10008.1.2.5
-  RFC2557MimeEncapsulationTransferSyntax                          | 1.2.840.10008.1.2.6.1
-  XMLTransferSyntax                                               | 1.2.840.10008.1.2.6.2
-
-It is possible to disable a subset of these transfer syntaxes thanks
-to the "AcceptedTransferSyntaxes" and "*TransferSyntaxAccepted"
-options in the Orthanc configuration file.
-
-When possible, Orthanc will prefer the
-LittleEndianExplicitTransferSyntax transfer syntax
-(1.2.840.10008.1.2.1).
-
-Orthanc does not support extended negotiation.
-
-
---------------------
-Implementation notes
---------------------
-
-The information above about the SCP support is readily extracted from
-the function "Orthanc::Internals::AcceptAssociation()" from file
-"OrthancFramework/Sources/DicomNetworking/Internals/CommandDispatcher.cpp".
-
-The information above about the SCU support is derived from the
-classes "Orthanc::DicomControlUserConnection" and
-"Orthanc::DicomStoreUserConnection" from file
-"OrthancFramework/Sources/DicomNetworking/DicomControlUserConnection.cpp" and
-"OrthancFramework/Sources/DicomNetworking/DicomStoreUserConnection.cpp".