Ошибка CFind на уровне обучения - класс SOP не поддерживается или не найден принятый контекст представления для абстрактного синтаксиса - PullRequest
6 голосов
/ 06 марта 2019

Приложение пытается выполнить CFind на уровне пациента, получить исследования, провести исследование, получить серию и, наконец, изображения.

Код работает при запросе двух разных реализаций PACS, ноне удается на третьем уровне исследования.

Часть кода, которая делает запрос пациента

var request = DicomCFindRequest.CreatePatientQuery(patientId: _patientid, patientName: _patientname);

var client = new DicomClient();
client.AddRequest(request);
await client.SendAsync(destip, port, useTLS, callingAE, calledAE);

И для уровня исследования

request = DicomCFindRequest.CreateStudyQuery(patientId: _patientid);

Кажется, чтоИзучая журналы, а также сравнивая журналы из инструмента, должен ли быть список абстрактных синтаксисов, а не только один?Или в чем проблема?

    2019-02-24 02:32:49.1671 INFO Dicom.Log.NLogManager+NLogger.Log DICOM_STORAGE -> Association request:
    Calling AE Title:       TEST_01
    Called AE Title:        DICOM_STORAGE
    Remote host:            xxx.29.

51.150
Remote port:            7817
Implementation Class:   Implementation Class UID [1.3.6.1.4.1.30071.8]
Implementation Version: fo-dicom 4.0.0
Maximum PDU Length:     16384
Async Ops Invoked:      1
Async Ops Performed:    1
Presentation Contexts:  1
  Presentation Context:  1 [Proposed]
       Abstract Syntax:  Study Root Query/Retrieve Information Model - FIND
       Transfer Syntax:  Implicit VR Little Endian: Default Transfer Syntax for DICOM 
2019-02-24 02:32:49.1671 INFO Dicom.Log.NLogManager+NLogger.Log DICOM_STORAGE <- Association accept:
Calling AE Title:       TEST_01
Called AE Title:        DICOM_STORAGE
Remote host:            xxx.29.51.150
Remote port:            7817
Implementation Class:   Unknown [1.2.752.24.3.3.25.7]
Implementation Version: WISSTOSCP_20_1
Maximum PDU Length:     28672
Async Ops Invoked:      1
Async Ops Performed:    1
Presentation Contexts:  1
  Presentation Context:  1 [RejectAbstractSyntaxNotSupported]
       Abstract Syntax:  Study Root Query/Retrieve Information Model - FIND
       Transfer Syntax:  Implicit VR Little Endian: Default Transfer Syntax for DICOM 
2019-02-24 02:32:49.1671 INFO DicomHandler.DicomHandler+<>c__DisplayClass8_0.<QueryRetrieveSCU>b__0 DicomCFindRequest.QueryRetrieveSCU response rp.status=Failure [0122: Refused: SOP class not supported] 
2019-02-24 02:32:49.1671 INFO Dicom.Network.DicomCFindRequest.PostResponse DicomCFindRequest.QueryRetrieveSCU response return. 
2019-02-24 02:32:49.1671 ERROR Dicom.Log.NLogManager+NLogger.Log No accepted presentation context found for abstract syntax: Study Root Query/Retrieve Information Model - FIND [1.2.840.10008.5.1.4.1.2.2.1] 
2019-02-24 02:32:49.2288 INFO Dicom.Log.NLogManager+NLogger.Log DICOM_STORAGE -> Association release request 
2019-02-24 02:32:49.2288 INFO Dicom.Log.NLogManager+NLogger.Log DICOM_STORAGE <- Association release response 

Журнал от jdicom, который может выполнить запрос cfind на уровне обучения

jdicom: *** request ***
application context UID: null
called title: DICOM_QR_SCP
calling title: jdicom
max pdu size: 32768
max operation invoked: 1
max operation performed: 1
implementation class UID: 1.2.826.0.1.3680043.2.60.0.1
implementation version Name: softlink_jdt103
abstract syntax                 scu scp 
1.2.840.10008.1.1               -1  -1  
1.2.840.10008.5.1.4.1.2.1.1     -1  -1  
1.2.840.10008.5.1.4.1.2.2.1     -1  -1  
1.2.840.10008.5.1.4.1.2.3.1     -1  -1  
1.2.840.10008.5.1.4.1.2.1.2     -1  -1  
1.2.840.10008.5.1.4.1.2.2.2     -1  -1  
1.2.840.10008.5.1.4.1.2.3.2     -1  -1  
nr   abstract syntax                 pcid  description                                            
0    1.2.840.10008.1.1               1     Verification SOP Class                                 
  ts-0     1.2.840.10008.1.2               Implicit VR Little Endian Transfer Syntax              
1    1.2.840.10008.5.1.4.1.2.1.1     3     Patient Root Query/Retrieve Information Model - FIND SOP Cl...
  ts-0     1.2.840.10008.1.2               Implicit VR Little Endian Transfer Syntax              
2    1.2.840.10008.5.1.4.1.2.2.1     5     Study Root Query/Retrieve Information Model - FIND SOP Cl...
  ts-0     1.2.840.10008.1.2               Implicit VR Little Endian Transfer Syntax              
3    1.2.840.10008.5.1.4.1.2.3.1     7     Patient/Study Only Query/Retrieve Information Model - FIND SOP Cl...
  ts-0     1.2.840.10008.1.2               Implicit VR Little Endian Transfer Syntax              
4    1.2.840.10008.5.1.4.1.2.1.2     9     Patient Root Query/Retrieve Information Model - MOVE SOP Cl...
  ts-0     1.2.840.10008.1.2               Implicit VR Little Endian Transfer Syntax              
5    1.2.840.10008.5.1.4.1.2.2.2     11    Study Root Query/Retrieve Information Model - MOVE SOP Cl...
  ts-0     1.2.840.10008.1.2               Implicit VR Little Endian Transfer Syntax              
6    1.2.840.10008.5.1.4.1.2.3.2     13    Patient/Study Only Query/Retrieve Information Model - MOVE SOP Cl...
  ts-0     1.2.840.10008.1.2               Implicit VR Little Endian Transfer Syntax              
***************

Waiting for AssociationRsp

ASSOCIATE_ACKNOWLEDGE detected

jdicom: #17:DICOM_QR_SCP >> A-ASSOCIATE-AC PDU

jdicom: *** acknowledge ***
max pdu size: 28672
max operation invoked: 1
max operation performed: 1
implementation class UID: 1.2.752.24.3.3.25.7
implementation version name: WIQRSCP_20_1
abstract syntax                 scu scp 
nr   pcid  result                          transfer syntax     
0    1     accepted                        1.2.840.10008.1.2   
1    3     accepted                        1.2.840.10008.1.2   
2    5     accepted                        1.2.840.10008.1.2   
3    7     accepted                        1.2.840.10008.1.2   
4    9     accepted                        1.2.840.10008.1.2   
5    11    accepted                        1.2.840.10008.1.2   
6    13    accepted                        1.2.840.10008.1.2   
*******************

Редактировать,
Вот заявление о соответствии.https://sectramedical.blob.core.windows.net/uploads/2018/04/pacs-dicom-conformance-statement-20.1.pdf

Но если CFind не поддерживается, какой метод следует использовать для получения исследований и серий?Я немного растерялся, но я действительно ценю, что вы нашли время, чтобы дать подсказки.

Вот журнал (урезанный из-за максимальной длины сообщения) из другого инструмента, который умеет перечислять пациентов и исследования и некоторыеснимки экрана, которые показывают, что это возможно.Также есть снимок экрана с Radiant, который также может подключаться, отображать пациентов и отображать изображение.

PatientRootLog

                            #  14      1  PatientID
(0020,000d) UI [1.3.6.1.4.1.30071.8.345050320220.6024574499476158]#  50      1  StudyInstanceUID
(0020,000e) UI []                                           #  0       0  SeriesInstanceUID
(0020,0011) IS []                                           #  0       0  SeriesNumber
(0020,1209) IS []                                           #  0       0  NumberOfSeriesRelatedImages
jdicom: DICOM_QR_SCP PDU received

jdicom: #16:DICOM_QR_SCP >> C-FIND-RSP Patient Root Query/Retrieve Information Model - FIND SOP Class, status #ff00H[StatusEntry.PENDING]

(0000,0002) UI [1.2.840.10008.5.1.4.1.2.1.1]                #  28      1  AffectedSOPClassUID
(0000,0100) US [32800]                                      #  2       1  CommandField
(0000,0120) US [1]                                          #  2       1  MessageIDBeingRespondedTo
(0000,0800) US [258]                                        #  2       1  DataSetType
(0000,0900) US [65280]                                      #  2       1  Status
jdicom: #16:DICOM_QR_SCP >> Dataset

(0008,0005) CS [ISO_IR 100]                                 #  10      1  SpecificCharacterSet
(0008,0050) SH [1912121-0034201]                           #  16      1  AccessionNumber
(0008,0052) CS [SERIES]                                     #  6       1  QueryRetrieveLevel
(0008,0054) AE [DICOM_QR_SCP]                               #  12      1  RetrieveAETitle
(0008,0060) CS [OP]                                         #  2       1  Modality
(0010,0020) LO [19121212-1212]                              #  14      1  PatientID
(0020,000d) UI [1.3.6.1.4.1.30071.8.345050320220.6024574499476158]#  50      1  StudyInstanceUID
(0020,000e) UI [1.3.6.1.4.1.30071.8.345050320220.6024574499476159]#  50      1  SeriesInstanceUID
(0020,0010) SH [1912121-0034201]                           #  16      1  StudyID
(0020,0011) IS [1]                                          #  2       1  SeriesNumber
(0020,1209) IS [1]                                          #  2       1  NumberOfSeriesRelatedImages
jdicom: DICOM_QR_SCP Waiting for PDU

jdicom: DICOM_QR_SCP PDU received

jdicom: #16:DICOM_QR_SCP >> C-FIND-RSP Patient Root Query/Retrieve Information Model - FIND SOP Class, status #0000H[Success]

(0000,0002) UI [1.2.840.10008.5.1.4.1.2.1.1]                #  28      1  AffectedSOPClassUID
(0000,0100) US [32800]                                      #  2       1  CommandField
(0000,0120) US [1]                                          #  2       1  MessageIDBeingRespondedTo
(0000,0800) US [257]                                        #  2       1  DataSetType
(0000,0900) US [0]                                          #  2       1  Status
jdicom: DICOM_QR_SCP Waiting for PDU

jdicom: Enter _dimseSCUs.waitUntilEmpty(

jdicom: Enter _as.sendReleaseRequest()

jdicom: #16:DICOM_QR_SCP << A-RELEASE-RQ PDU

jdicom: Leave DimseExchange.releaseAssoc()

jdicom: DICOM_QR_SCP PDU received

jdicom: #16:DICOM_QR_SCP >> A-RELEASE-RP PDU

jdicom: #16:DICOM_QR_SCP closing socket

jdicom: DICOM_QR_SCP Leave DimseExchange.run()

jdicom: #17:DICOM_QR_SCP << A-ASSOCIATE-RQ PDU

jdicom: *** request ***
application context UID: null
called title: DICOM_QR_SCP
calling title: jdicom
max pdu size: 32768
max operation invoked: 1
max operation performed: 1
implementation class UID: 1.2.826.0.1.3680043.2.60.0.1
implementation version Name: softlink_jdt103
abstract syntax                 scu scp 
1.2.840.10008.1.1               -1  -1  
1.2.840.10008.5.1.4.1.2.1.1     -1  -1  
1.2.840.10008.5.1.4.1.2.2.1     -1  -1  
1.2.840.10008.5.1.4.1.2.3.1     -1  -1  
1.2.840.10008.5.1.4.1.2.1.2     -1  -1  
1.2.840.10008.5.1.4.1.2.2.2     -1  -1  
1.2.840.10008.5.1.4.1.2.3.2     -1  -1  
nr   abstract syntax                 pcid  description                                            
0    1.2.840.10008.1.1               1     Verification SOP Class                                 
  ts-0     1.2.840.10008.1.2               Implicit VR Little Endian Transfer Syntax              
1    1.2.840.10008.5.1.4.1.2.1.1     3     Patient Root Query/Retrieve Information Model - FIND SOP Cl...
  ts-0     1.2.840.10008.1.2               Implicit VR Little Endian Transfer Syntax              
2    1.2.840.10008.5.1.4.1.2.2.1     5     Study Root Query/Retrieve Information Model - FIND SOP Cl...
  ts-0     1.2.840.10008.1.2               Implicit VR Little Endian Transfer Syntax              
3    1.2.840.10008.5.1.4.1.2.3.1     7     Patient/Study Only Query/Retrieve Information Model - FIND SOP Cl...
  ts-0     1.2.840.10008.1.2               Implicit VR Little Endian Transfer Syntax              
4    1.2.840.10008.5.1.4.1.2.1.2     9     Patient Root Query/Retrieve Information Model - MOVE SOP Cl...
  ts-0     1.2.840.10008.1.2               Implicit VR Little Endian Transfer Syntax              
5    1.2.840.10008.5.1.4.1.2.2.2     11    Study Root Query/Retrieve Information Model - MOVE SOP Cl...
  ts-0     1.2.840.10008.1.2               Implicit VR Little Endian Transfer Syntax              
6    1.2.840.10008.5.1.4.1.2.3.2     13    Patient/Study Only Query/Retrieve Information Model - MOVE SOP Cl...
  ts-0     1.2.840.10008.1.2               Implicit VR Little Endian Transfer Syntax              
***************

Waiting for AssociationRsp

ASSOCIATE_ACKNOWLEDGE detected

jdicom: #17:DICOM_QR_SCP >> A-ASSOCIATE-AC PDU

jdicom: *** acknowledge ***
max pdu size: 28672
max operation invoked: 1
max operation performed: 1
implementation class UID: 1.2.752.24.3.3.25.7
implementation version name: WIQRSCP_20_1
abstract syntax                 scu scp 
nr   pcid  result                          transfer syntax     
0    1     accepted                        1.2.840.10008.1.2   
1    3     accepted                        1.2.840.10008.1.2   
2    5     accepted                        1.2.840.10008.1.2   
3    7     accepted                        1.2.840.10008.1.2   
4    9     accepted                        1.2.840.10008.1.2   
5    11    accepted                        1.2.840.10008.1.2   
6    13    accepted                        1.2.840.10008.1.2   
*******************

jdicom: DICOM_QR_SCP Enter DimseExchange.run()

jdicom: #17:DICOM_QR_SCP << C-FIND-RQ Patient Root Query/Retrieve Information Model - FIND SOP Class

jdicom: DICOM_QR_SCP Waiting for PDU

(0000,0002) UI [1.2.840.10008.5.1.4.1.2.1.1]                #  28      1  AffectedSOPClassUID
(0000,0100) US [32]                                         #  2       1  CommandField
(0000,0110) US [1]                                          #  2       1  MessageID
(0000,0700) US [0]                                          #  2       1  Priority
(0000,0800) US [65278]                                      #  2       1  DataSetType
jdicom: #17:DICOM_QR_SCP << Dataset

(0008,0018) UI []                                           #  0       0  SOPInstanceUID
(0008,0052) CS [IMAGE]                                      #  6       1  QueryRetrieveLevel
(0010,0020) LO [19121212-1212]                              #  14      1  PatientID
(0020,000d) UI [1.3.6.1.4.1.30071.8.345050320220.6024574499476158]#  50      1  StudyInstanceUID
(0020,000e) UI [1.3.6.1.4.1.30071.8.345050320220.6024574499476159]#  50      1  SeriesInstanceUID
(0020,0013) IS []                                           #  0       0  InstanceNumber
jdicom: DICOM_QR_SCP PDU received

jdicom: #17:DICOM_QR_SCP >> C-FIND-RSP Patient Root Query/Retrieve Information Model - FIND SOP Class, status #ff00H[StatusEntry.PENDING]

(0000,0002) UI [1.2.840.10008.5.1.4.1.2.1.1]                #  28      1  AffectedSOPClassUID
(0000,0100) US [32800]                                      #  2       1  CommandField
(0000,0120) US [1]                                          #  2       1  MessageIDBeingRespondedTo
(0000,0800) US [258]                                        #  2       1  DataSetType
(0000,0900) US [65280]                                      #  2       1  Status
jdicom: #17:DICOM_QR_SCP >> Dataset

(0008,0005) CS [ISO_IR 100]                                 #  10      1  SpecificCharacterSet
(0008,0018) UI [1.3.6.1.4.1.30071.8.345050320220.6024575915205577]#  50      1  SOPInstanceUID
(0008,0050) SH [1912121-0034201]                           #  16      1  AccessionNumber
(0008,0052) CS [IMAGE]                                      #  6       1  QueryRetrieveLevel
(0008,0054) AE [DICOM_QR_SCP]                               #  12      1  RetrieveAETitle
(0010,0020) LO [19121212-1212]                              #  14      1  PatientID
(0020,000d) UI [1.3.6.1.4.1.30071.8.345050320220.6024574499476158]#  50      1  StudyInstanceUID
(0020,000e) UI [1.3.6.1.4.1.30071.8.345050320220.6024574499476159]#  50      1  SeriesInstanceUID
(0020,0010) SH [1912121-0034201]                           #  16      1  StudyID
(0020,0013) IS [1]                                          #  2       1  InstanceNumber
jdicom: DICOM_QR_SCP Waiting for PDU

jdicom: DICOM_QR_SCP PDU received

jdicom: #17:DICOM_QR_SCP >> C-FIND-RSP Patient Root Query/Retrieve Information Model - FIND SOP Class, status #0000H[Success]

(0000,0002) UI [1.2.840.10008.5.1.4.1.2.1.1]                #  28      1  AffectedSOPClassUID
(0000,0100) US [32800]                                      #  2       1  CommandField
(0000,0120) US [1]                                          #  2       1  MessageIDBeingRespondedTo
(0000,0800) US [257]                                        #  2       1  DataSetType
(0000,0900) US [0]                                          #  2       1  Status
jdicom: DICOM_QR_SCP Waiting for PDU

jdicom: Enter _dimseSCUs.waitUntilEmpty(

jdicom: Enter _as.sendReleaseRequest()

jdicom: #17:DICOM_QR_SCP << A-RELEASE-RQ PDU

jdicom: Leave DimseExchange.releaseAssoc()

jdicom: DICOM_QR_SCP PDU received

jdicom: #17:DICOM_QR_SCP >> A-RELEASE-RP PDU

jdicom: #17:DICOM_QR_SCP closing socket

jdicom: DICOM_QR_SCP Leave DimseExchange.run()



Studyroot LOG:

   1  Priority
(0000,0800) US [65278]                                      #  2       1  DataSetType
jdicom: #23:DICOM_QR_SCP << Dataset

(0008,0052) CS [SERIES]                                     #  6       1  QueryRetrieveLevel
(0008,0060) CS []                                           #  0       0  Modality
(0020,000d) UI [1.3.6.1.4.1.30071.8.345050320220.6024574499476158]#  50      1  StudyInstanceUID
(0020,000e) UI []                                           #  0       0  SeriesInstanceUID
(0020,0011) IS []                                           #  0       0  SeriesNumber
(0020,1209) IS []                                           #  0       0  NumberOfSeriesRelatedImages
jdicom: DICOM_QR_SCP PDU received

jdicom: #23:DICOM_QR_SCP >> C-FIND-RSP Study Root Query/Retrieve Information Model - FIND SOP Class, status #ff00H[StatusEntry.PENDING]

(0000,0002) UI [1.2.840.10008.5.1.4.1.2.2.1]                #  28      1  AffectedSOPClassUID
(0000,0100) US [32800]                                      #  2       1  CommandField
(0000,0120) US [1]                                          #  2       1  MessageIDBeingRespondedTo
(0000,0800) US [258]                                        #  2       1  DataSetType
(0000,0900) US [65280]                                      #  2       1  Status
jdicom: #23:DICOM_QR_SCP >> Dataset

(0008,0005) CS [ISO_IR 100]                                 #  10      1  SpecificCharacterSet
(0008,0050) SH [1912121-0034201]                           #  16      1  AccessionNumber
(0008,0052) CS [SERIES]                                     #  6       1  QueryRetrieveLevel
(0008,0054) AE [DICOM_QR_SCP]                               #  12      1  RetrieveAETitle
(0008,0060) CS [OP]                                         #  2       1  Modality
(0020,000d) UI [1.3.6.1.4.1.30071.8.345050320220.6024574499476158]#  50      1  StudyInstanceUID
(0020,000e) UI [1.3.6.1.4.1.30071.8.345050320220.6024574499476159]#  50      1  SeriesInstanceUID
(0020,0010) SH [1912121-0034201]                           #  16      1  StudyID
(0020,0011) IS [1]                                          #  2       1  SeriesNumber
(0020,1209) IS [1]                                          #  2       1  NumberOfSeriesRelatedImages
jdicom: DICOM_QR_SCP Waiting for PDU

jdicom: DICOM_QR_SCP PDU received

jdicom: #23:DICOM_QR_SCP >> C-FIND-RSP Study Root Query/Retrieve Information Model - FIND SOP Class, status #0000H[Success]

(0000,0002) UI [1.2.840.10008.5.1.4.1.2.2.1]                #  28      1  AffectedSOPClassUID
(0000,0100) US [32800]                                      #  2       1  CommandField
(0000,0120) US [1]                                          #  2       1  MessageIDBeingRespondedTo
(0000,0800) US [257]                                        #  2       1  DataSetType
(0000,0900) US [0]                                          #  2       1  Status
jdicom: DICOM_QR_SCP Waiting for PDU

jdicom: Enter _dimseSCUs.waitUntilEmpty(

jdicom: Enter _as.sendReleaseRequest()

jdicom: #23:DICOM_QR_SCP << A-RELEASE-RQ PDU

jdicom: Leave DimseExchange.releaseAssoc()

jdicom: DICOM_QR_SCP PDU received

jdicom: #23:DICOM_QR_SCP >> A-RELEASE-RP PDU

jdicom: #23:DICOM_QR_SCP closing socket

jdicom: DICOM_QR_SCP Leave DimseExchange.run()

jdicom: #24:DICOM_QR_SCP << A-ASSOCIATE-RQ PDU

jdicom: *** request ***
application context UID: null
called title: DICOM_QR_SCP
calling title: jdicom
max pdu size: 32768
max operation invoked: 1
max operation performed: 1
implementation class UID: 1.2.826.0.1.3680043.2.60.0.1
implementation version Name: softlink_jdt103
abstract syntax                 scu scp 
1.2.840.10008.1.1               -1  -1  
1.2.840.10008.5.1.4.1.2.1.1     -1  -1  
1.2.840.10008.5.1.4.1.2.2.1     -1  -1  
1.2.840.10008.5.1.4.1.2.3.1     -1  -1  
1.2.840.10008.5.1.4.1.2.1.2     -1  -1  
1.2.840.10008.5.1.4.1.2.2.2     -1  -1  
1.2.840.10008.5.1.4.1.2.3.2     -1  -1  
nr   abstract syntax                 pcid  description                                            
0    1.2.840.10008.1.1               1     Verification SOP Class                                 
  ts-0     1.2.840.10008.1.2               Implicit VR Little Endian Transfer Syntax              
1    1.2.840.10008.5.1.4.1.2.1.1     3     Patient Root Query/Retrieve Information Model - FIND SOP Cl...
  ts-0     1.2.840.10008.1.2               Implicit VR Little Endian Transfer Syntax              
2    1.2.840.10008.5.1.4.1.2.2.1     5     Study Root Query/Retrieve Information Model - FIND SOP Cl...
  ts-0     1.2.840.10008.1.2               Implicit VR Little Endian Transfer Syntax              
3    1.2.840.10008.5.1.4.1.2.3.1     7     Patient/Study Only Query/Retrieve Information Model - FIND SOP Cl...
  ts-0     1.2.840.10008.1.2               Implicit VR Little Endian Transfer Syntax              
4    1.2.840.10008.5.1.4.1.2.1.2     9     Patient Root Query/Retrieve Information Model - MOVE SOP Cl...
  ts-0     1.2.840.10008.1.2               Implicit VR Little Endian Transfer Syntax              
5    1.2.840.10008.5.1.4.1.2.2.2     11    Study Root Query/Retrieve Information Model - MOVE SOP Cl...
  ts-0     1.2.840.10008.1.2               Implicit VR Little Endian Transfer Syntax              
6    1.2.840.10008.5.1.4.1.2.3.2     13    Patient/Study Only Query/Retrieve Information Model - MOVE SOP Cl...
  ts-0     1.2.840.10008.1.2               Implicit VR Little Endian Transfer Syntax              
***************

Waiting for AssociationRsp

ASSOCIATE_ACKNOWLEDGE detected

jdicom: #24:DICOM_QR_SCP >> A-ASSOCIATE-AC PDU

jdicom: *** acknowledge ***
max pdu size: 28672
max operation invoked: 1
max operation performed: 1
implementation class UID: 1.2.752.24.3.3.25.7
implementation version name: WIQRSCP_20_1
abstract syntax                 scu scp 
nr   pcid  result                          transfer syntax     
0    1     accepted                        1.2.840.10008.1.2   
1    3     accepted                        1.2.840.10008.1.2   
2    5     accepted                        1.2.840.10008.1.2   
3    7     accepted                        1.2.840.10008.1.2   
4    9     accepted                        1.2.840.10008.1.2   
5    11    accepted                        1.2.840.10008.1.2   
6    13    accepted                        1.2.840.10008.1.2   
*******************

jdicom: DICOM_QR_SCP Enter DimseExchange.run()

jdicom: #24:DICOM_QR_SCP << C-FIND-RQ Study Root Query/Retrieve Information Model - FIND SOP Class

jdicom: DICOM_QR_SCP Waiting for PDU

(0000,0002) UI [1.2.840.10008.5.1.4.1.2.2.1]                #  28      1  AffectedSOPClassUID
(0000,0100) US [32]                                         #  2       1  CommandField
(0000,0110) US [1]                                          #  2       1  MessageID
(0000,0700) US [0]                                          #  2       1  Priority
(0000,0800) US [65278]                                      #  2       1  DataSetType
jdicom: #24:DICOM_QR_SCP << Dataset

(0008,0018) UI []                                           #  0       0  SOPInstanceUID
(0008,0052) CS [IMAGE]                                      #  6       1  QueryRetrieveLevel
(0020,000d) UI [1.3.6.1.4.1.30071.8.345050320220.6024574499476158]#  50      1  StudyInstanceUID
(0020,000e) UI [1.3.6.1.4.1.30071.8.345050320220.6024574499476159]#  50      1  SeriesInstanceUID
(0020,0013) IS []                                           #  0       0  InstanceNumber
jdicom: DICOM_QR_SCP PDU received

jdicom: #24:DICOM_QR_SCP >> C-FIND-RSP Study Root Query/Retrieve Information Model - FIND SOP Class, status #ff00H[StatusEntry.PENDING]

(0000,0002) UI [1.2.840.10008.5.1.4.1.2.2.1]                #  28      1  AffectedSOPClassUID
(0000,0100) US [32800]                                      #  2       1  CommandField
(0000,0120) US [1]                                          #  2       1  MessageIDBeingRespondedTo
(0000,0800) US [258]                                        #  2       1  DataSetType
(0000,0900) US [65280]                                      #  2       1  Status
jdicom: #24:DICOM_QR_SCP >> Dataset

(0008,0005) CS [ISO_IR 100]                                 #  10      1  SpecificCharacterSet
(0008,0018) UI [1.3.6.1.4.1.30071.8.345050320220.6024575915205577]#  50      1  SOPInstanceUID
(0008,0050) SH [1912121-0034201]                           #  16      1  AccessionNumber
(0008,0052) CS [IMAGE]                                      #  6       1  QueryRetrieveLevel
(0008,0054) AE [DICOM_QR_SCP]                               #  12      1  RetrieveAETitle
(0020,000d) UI [1.3.6.1.4.1.30071.8.345050320220.6024574499476158]#  50      1  StudyInstanceUID
(0020,000e) UI [1.3.6.1.4.1.30071.8.345050320220.6024574499476159]#  50      1  SeriesInstanceUID
(0020,0010) SH [1912121-0034201]                           #  16      1  StudyID
(0020,0013) IS [1]                                          #  2       1  InstanceNumber
jdicom: DICOM_QR_SCP Waiting for PDU

jdicom: DICOM_QR_SCP PDU received

jdicom: #24:DICOM_QR_SCP >> C-FIND-RSP Study Root Query/Retrieve Information Model - FIND SOP Class, status #0000H[Success]

(0000,0002) UI [1.2.840.10008.5.1.4.1.2.2.1]                #  28      1  AffectedSOPClassUID
(0000,0100) US [32800]                                      #  2       1  CommandField
(0000,0120) US [1]                                          #  2       1  MessageIDBeingRespondedTo
(0000,0800) US [257]                                        #  2       1  DataSetType
(0000,0900) US [0]                                          #  2       1  Status
jdicom: DICOM_QR_SCP Waiting for PDU

jdicom: Enter _dimseSCUs.waitUntilEmpty(

jdicom: Enter _as.sendReleaseRequest()

jdicom: #24:DICOM_QR_SCP << A-RELEASE-RQ PDU

jdicom: Leave DimseExchange.releaseAssoc()

jdicom: DICOM_QR_SCP PDU received

jdicom: #24:DICOM_QR_SCP >> A-RELEASE-RP PDU

jdicom: #24:DICOM_QR_SCP closing socket

jdicom: DICOM_QR_SCP Leave DimseExchange.run()


PatientStudyOnly

OM_QR_SCP << C-FIND-RQ Patient/Study Only Query/Retrieve Information Model - FIND SOP Class

jdicom: DICOM_QR_SCP Waiting for PDU

(0000,0002) UI [1.2.840.10008.5.1.4.1.2.3.1]                #  28      1  AffectedSOPClassUID
(0000,0100) US [32]                                         #  2       1  CommandField
(0000,0110) US [1]                                          #  2       1  MessageID

] Журнал усечен при достижении максимальной длины сообщения.
PatientStudies Series image Radiant

1 Ответ

7 голосов
/ 06 марта 2019

Из вашего превосходного описания проблемы мне кажется совершенно очевидным, что третий PACS, с которым вы тестируете, явно не поддерживает Study Root Query Retrieve.

Ваш запрос на ассоциацию сформирован правильно, и невозможно предложить иной, чем только один абстрактный синтаксис для контекста презентации.Однако PACS тогда отвечает:

Presentation Contexts:  1
  Presentation Context:  1 [RejectAbstractSyntaxNotSupported]
       Abstract Syntax:  Study Root Query/Retrieve Information Model - FIND
       Transfer Syntax:  Implicit VR Little Endian: Default Transfer Syntax for DICOM 

Что говорит о том, что эта служба вообще не поддерживается.

Журнал из-за сбоя связи, похоже, сокращен.Из журнала dcm4chee вы можете получить информацию о другой информационной модели для Q / R.Это модель «Корень пациента»:

1    1.2.840.10008.5.1.4.1.2.1.1     3     Patient Root Query/Retrieve Information Model - FIND SOP Cl...
  ts-0     1.2.840.10008.1.2               Implicit VR Little Endian Transfer Syntax              

Было бы интересно узнать, поддерживается ли это или нет.Потому что в противном случае систему, с которой вы разговариваете, вряд ли можно назвать «PACS».Я рекомендую ознакомиться с Заявлением о соответствии DICOM рассматриваемой системы.Он должен сообщать, говорите ли вы с правильным объектом приложения (заголовком) и какие конкретные информационные модели для класса обслуживания Query / Retrieve поддерживаются.

В случае, если вы разместили полный файл журнала, контексты представления, вероятно, являютсяопределяется тем, как вы задаете запрос:

var request = DicomCFindRequest.CreatePatientQuery(patientId: _patientid, patientName: _patientname);

В этом случае вы можете попробовать CreateStudyQuery (), который также позволяет указывать параметры пациента.

DICOM Информационные модели в двух словах:

  • Корень пациента: идентификатор пациента однозначно идентифицирует пациента.
  • Корень исследования: информация о пациенте обрабатывается как вторичная информация на уровне исследования

[РЕДАКТИРОВАТЬ] После просмотра заявления о соответствии DICOM для Sectra PACS: возможновы подключаетесь не к тому приложениюКажется, что Sectra PACS имеет разные прикладные объекты (т. Е. Один и тот же IP, может быть, тот же / другой порт, но разные AET) для обработки сервисов хранения и запросов / получения.AET, к которому вы обращаетесь, выглядит подозрительно:

Calling AE Title:       TEST_01
Called AE Title:        DICOM_STORAGE
Remote host:            xxx.29.51.150
Remote port:            7817
Implementation Class:   Unknown [1.2.752.24.3.3.25.7]
Implementation Version: WISSTOSCP_20_1

Обратите внимание на название вызываемого AE и версию реализации.Похоже, что оба они принадлежат Storage SCP, который - согласно DCS - вообще не поддерживает никаких служб запросов / извлечения.

Так что я думаю, что вам нужно изменить свою конфигурацию для АЕ, к которому вы обращаетесь по запросу.

...