OsiriX can not query a PACS server developed using dcmtk

All other questions regarding DCMTK

Moderator: Moderator Team

Post Reply
Message
Author
htcindyl
Posts: 4
Joined: Wed, 2009-12-09, 03:17

OsiriX can not query a PACS server developed using dcmtk

#1 Post by htcindyl »

I'm new to DICOM and have a question to ask.

When use OsiriX to Query/Retrieve a PACS server developed using dcmtk, verification of the PACS server node in OsiriX is OK. However, when click the "query" button of OsiriX, nothing happens and can not see the right AE title and IP address of the PACS server at the bottom of OsiriX query screen. The message is:

0 study found
127.0.0:00

or just

0 study found


But when use OsiriX to query another OsiriX, the message is right as below:
...study found
AETitle(of the queried)/IP address:4096(of the queried)


P.S. can telnet from OsiriX to PACS server, and also from PACS server to OsiriX.

Any one can help?
Thanks a lot.

Michael Onken
DCMTK Developer
Posts: 2051
Joined: Fri, 2004-11-05, 13:47
Location: Oldenburg, Germany
Contact:

#2 Post by Michael Onken »

Hi,

no way to help you on that detail level...any dcmnet logs on DCMTK side from your tool?

Regards,
Michael

htcindyl
Posts: 4
Joined: Wed, 2009-12-09, 03:17

#3 Post by htcindyl »

No other detailed logs on DCMTK side from my tool.
But there are massages from OsiriX log:

osirix[145] Our Max PDU Receive Size: 16384
osirix[145] Their Max PDU Receive Size: 131072
osirix[145] Presentation Contexts:
osirix[145] Context ID: 1(Accepted)
osirix[145] Abstract Syntax:=FINDStudyRootQueryRetrieveInformationModel
osirix[145] Proposed SCP/SCU Role:Default
osirix[145] Accepted SCP/SCU Role:Default
osirix[145] Accepted Transfer Syntax:=LittleEndianExplicit
osirix[145] Requested Extended negotiation:none
osirix[145] Accepted Extended negotiation:none
osirix[145] Find SCU RQ:MsgID 1
osirix[145] REQUEST:
osirix[145] #Dicom-Data-Set
osirix[145] #Used TransferSyntax:UnknownTransferSyntax
osirix[145] (0008,0005)CS[ISO_IR 100] #10,1 SpecificCharacterSet
osirix[145] ...
osirix[145] (0020,1208)IS[no value available] #0,0 NumberOfStudyRelatedInstances
osirix[145] DCMTKQueryNode:Find Failed
osirix[145] Condition
osirix[145] 0006:0317 Peer aborted Association(or never connected)
osirix[145] -------
osirix[145] Peer Aborted Asssociation

P.S. Some one said maybe it's the DNS issue on MacOS causing the problem, but not sure.

Thanks.


[/img]

htcindyl
Posts: 4
Joined: Wed, 2009-12-09, 03:17

#4 Post by htcindyl »

MacBook2 is the Apple notebook installed with OsiriX, CHAN is the AE Title of OsiriX.
mdmaqrscp is the AE Title of my tool using DCMTK, installed on a Linux server.

Now the problem is OsiriX on MacOS can not query my tool(mdmaqrscp) developed using DCMTK.

Below is the message when verify the node(mdmaqrscp) in OsiriX, and verification showed successful.
-----------------------------------------------
Association Received (MacBook2:CHAN -> mdmaqrscp) Mon Dec 14 11:30:19 2009
Association Acknowledged (Max Send PDV: 16372)
Received Echo SCP RQ: MsgID 1
Association Release
Cleaned up after child (13295) Mon Dec 14 11:30:20 2009
-----------------------------------


Below is the message when query mdmaqrscp using OsiriX, and nothing happened in OsiriX.
----------------------------------
Association Received (MacBook2:CHAN -> mdmaqrscp) Mon Dec 14 11:30:19 2009
Association Acknowledged (Max Send PDV: 16372)
Association Received (MacBook2:CHAN -> mdmaqrscp) Mon Dec 14 11:33:05 2009
Association Acknowledged (Max Send PDV: 16372)
Received Find SCP: C-Find RQ: MsgID: 1
AffectedSOPClassUID: =FINDStudyRootQueryRetrieveInformationModel
Priority: 2
Data Set: Present
Find SCP Request Identifiers:

# Dicom-Data-Set
# Used TransferSyntax: LittleEndianExplicit
(0008,0005) CS [ISO_IR 100] # 10, 1 SpecificCharacterSet
(0008,0020) DA (no value available) # 0, 0 StudyDate
(0008,0030) TM (no value available) # 0, 0 StudyTime
(0008,0050) SH (no value available) # 0, 0 AccessionNumber
(0008,0052) CS [STUDY] # 6, 1 QueryRetrieveLevel
(0008,0061) CS (no value available) # 0, 0 ModalitiesInStudy
(0008,1030) LO (no value available) # 0, 0 StudyDescription
(0010,0010) PN (no value available) # 0, 0 PatientsName
(0010,0020) LO (no value available) # 0, 0 PatientID
(0010,0030) DA (no value available) # 0, 0 PatientsBirthDate
(0020,000d) UI (no value available) # 0, 0 StudyInstanceUID
(0020,0010) SH (no value available) # 0, 0 StudyID
(0020,1208) IS (no value available) # 0, 0 NumberOfStudyRelatedInstances
Cleaned up after child (13297) Mon Dec 14 11:33:06 2009
-----------------------------------

Any ideas?Thanks.

Michael Onken
DCMTK Developer
Posts: 2051
Joined: Fri, 2004-11-05, 13:47
Location: Oldenburg, Germany
Contact:

#5 Post by Michael Onken »

Hi,

it just seems that you abort the association and you do not send any responses. I would suggest going through it with a debugger. Also, (especially for debugging) I would suggest starting your tool in single process mode for testing.

I don't expect that this is a DNS problem; your tool receives the request but it seems it just fails to answer it but instead drops the association (connection).

Also, try using findscu for testing your server impolementation. From the Osirix log you posted it seems Osirix uses findscu code, too.

Best regards,
Michael

htcindyl
Posts: 4
Joined: Wed, 2009-12-09, 03:17

#6 Post by htcindyl »

Below are log messages under debugging mode of my tool:
-------------------------------------------------------------
PDU Type: Associate Request, PDU Length: 441 + 6 bytes PDU header
01 00 00 00 01 b9 00 01 00 00 6d 64 6d 61 71 72
73 63 70 20 20 20 20 20 20 20 43 48 41 4e 20 20
20 20 20 20 20 20 20 20 20 20 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 10 00 00 15 31 2e
32 2e 38 34 30 2e 31 30 30 30 38 2e 33 2e 31 2e
31 2e 31 20 00 01 1a 01 00 ff 00 30 00 00 1b 31
2e 32 2e 38 34 30 2e 31 30 30 30 38 2e 35 2e 31
2e 34 2e 31 2e 32 2e 32 2e 31 40 00 00 13 31 2e
32 2e 38 34 30 2e 31 30 30 30 38 2e 31 2e 32 2e
31 40 00 00 11 31 2e 32 2e 38 34 30 2e 31 30 30
30 38 2e 31 2e 32 40 00 00 13 31 2e 32 2e 38 34
30 2e 31 30 30 30 38 2e 31 2e 32 2e 32 40 00 00
16 31 2e 32 2e 38 34 30 2e 31 30 30 30 38 2e 31
2e 32 2e 34 2e 39 30 40 00 00 16 31 2e 32 2e 38
34 30 2e 31 30 30 30 38 2e 31 2e 32 2e 34 2e 39
31 40 00 00 16 31 2e 32 2e 38 34 30 2e 31 30 30
30 38 2e 31 2e 32 2e 34 2e 37 30 40 00 00 16 31
2e 32 2e 38 34 30 2e 31 30 30 30 38 2e 31 2e 32
2e 34 2e 35 30 40 00 00 16 31 2e 32 2e 38 34 30
2e 31 30 30 30 38 2e 31 2e 32 2e 34 2e 35 31 40
00 00 13 31 2e 32 2e 38 34 30 2e 31 30 30 30 38
2e 31 2e 32 2e 35 40 00 00 17 31 2e 32 2e 38 34
30 2e 31 30 30 30 38 2e 31 2e 32 2e 34 2e 31 30
30 50 00 00 3a 51 00 00 04 00 00 40 00 52 00 00
1b 31 2e 32 2e 32 37 36 2e 30 2e 37 32 33 30 30
31 30 2e 33 2e 30 2e 33 2e 35 2e 34 55 00 00 0f
4f 46 46 49 53 5f 44 43 4d 54 4b 5f 33 35 34
Association Received (MacBook2:CHAN -> mdmaqrscp) Sun Dec 20 14:21:11 2009
Parameters:
Our Implementation Class UID: 1.2.276.0.7230010.3.0.3.5.4
Our Implementation Version Name: OFFIS_DCMTK_354
Their Implementation Class UID: 1.2.276.0.7230010.3.0.3.5.4
Their Implementation Version Name: OFFIS_DCMTK_354
Application Context Name: 1.2.840.10008.3.1.1.1
Calling Application Name: CHAN
Called Application Name: mdmaqrscp
Responding Application Name:
Our Max PDU Receive Size: 131072
Their Max PDU Receive Size: 16384
Presentation Contexts:
Context ID: 1 (Proposed)
Abstract Syntax: =FINDStudyRootQueryRetrieveInformationModel
Proposed SCP/SCU Role: Default
Accepted SCP/SCU Role: Default
Proposed Transfer Syntax(es):
=LittleEndianExplicit
=LittleEndianImplicit
=BigEndianExplicit
=JPEG2000LosslessOnly
=JPEG2000
=JPEGLossless:Non-hierarchical-1stOrderPrediction
=JPEGBaseline
=JPEGExtended:Process2+4
=RLELossless
=MPEG2MainProfile@MainLevel
Requested Extended Negotiation: none
Accepted Extended Negotiation: none
Constructing Associate AC PDU
Association Acknowledged (Max Send PDV: 16372)
Our Implementation Class UID: 1.2.276.0.7230010.3.0.3.5.4
Our Implementation Version Name: OFFIS_DCMTK_354
Their Implementation Class UID: 1.2.276.0.7230010.3.0.3.5.4
Their Implementation Version Name: OFFIS_DCMTK_354
Application Context Name: 1.2.840.10008.3.1.1.1
Calling Application Name: CHAN
Called Application Name: mdmaqrscp
Responding Application Name:
Our Max PDU Receive Size: 131072
Their Max PDU Receive Size: 16384
Presentation Contexts:
Context ID: 1 (Accepted)
Abstract Syntax: =FINDStudyRootQueryRetrieveInformationModel
Proposed SCP/SCU Role: Default
Accepted SCP/SCU Role: Default
Accepted Transfer Syntax: =LittleEndianExplicit
Requested Extended Negotiation: none
Accepted Extended Negotiation: none
DIMSE receiveCommand
DIMSE receiveCommand: 1 pdv's (88 bytes), presID=1
DIMSE Command Received:

# Dicom-Data-Set
# Used TransferSyntax: LittleEndianImplicit
(0000,0002) UI =FINDStudyRootQueryRetrieveInformationModel # 28, 1 AffectedSOPClassUID
(0000,0100) US 32 # 2, 1 CommandField
(0000,0110) US 1 # 2, 1 MessageID
(0000,0700) US 2 # 2, 1 Priority
(0000,0800) US 1 # 2, 1 DataSetType
Received Find SCP: C-Find RQ: MsgID: 1
AffectedSOPClassUID: =FINDStudyRootQueryRetrieveInformationModel
Priority: 2
Data Set: Present
DIMSE receiveFileData: 128 bytes read (last: YES)
DIMSE receiveCommand
Find SCP Request Identifiers:

# Dicom-Data-Set
# Used TransferSyntax: LittleEndianExplicit
(0008,0005) CS [ISO_IR 192] # 10, 1 SpecificCharacterSet
(0008,0020) DA (no value available) # 0, 0 StudyDate
(0008,0030) TM (no value available) # 0, 0 StudyTime
(0008,0050) SH (no value available) # 0, 0 AccessionNumber
(0008,0052) CS [STUDY] # 6, 1 QueryRetrieveLevel
(0008,0061) CS (no value available) # 0, 0 ModalitiesInStudy
(0008,1030) LO (no value available) # 0, 0 StudyDescription
(0010,0010) PN (no value available) # 0, 0 PatientsName
(0010,0020) LO [ANON6024] # 8, 1 PatientID
(0010,0030) DA (no value available) # 0, 0 PatientsBirthDate
(0020,000d) UI (no value available) # 0, 0 StudyInstanceUID
(0020,0010) SH (no value available) # 0, 0 StudyID
(0020,1208) IS (no value available) # 0, 0 NumberOfStudyRelatedInstances
DB:SELECT DISTINCT st.StudyDate, st.StudyTime, st.AccessionNumber, st.StudyDescription, pa.PatientsName, pa.PatientID, pa.PatientsBirthDate, st.StudyInstanceUID, st.StudyID, st.NumberOfStudyRelatedInstances FROM patient pa, study st, series se, image im WHERE 1 = 1 AND 1 = 1 AND 1 = 1 AND 1 = 1 AND 1 = 1 AND pa.PatientID = 'ANON6024' AND 1 = 1 AND 1 = 1 AND 1 = 1 AND 1 = 1 AND pa.patient_key = st.FK_patient_key AND st.study_key = se.FK_study_key AND se.series_key = im.FK_series_key

Cleaned up after child (30852) Sun Dec 20 14:21:12 2009
---------------------------------------------------

Thanks.

Michael Onken
DCMTK Developer
Posts: 2051
Joined: Fri, 2004-11-05, 13:47
Location: Oldenburg, Germany
Contact:

#7 Post by Michael Onken »

It just seems that you accept the connect, query the database based on the query keys sent by Osirix and then you do nothing, ie. you don't send C-FIND-Response messages as you should do.

Regards,
Michael

Post Reply

Who is online

Users browsing this forum: Bing [Bot] and 1 guest