I'm implementing a pacs system using dcmtk. I've got some questions.
These are the steps i have done using instructions:
1- I created "./home/dicom/db" folder and "COMMON", "ACME_STORE" and "UNITED_STORE" folders inside db folder.
2- I copied "dcmqrscp.cfg", "storescp.cfg" and "storescu.cfg" file from dcmtk's "etc" folder to my "./home/dicom/db" folder
3- ran storescp using this command:
Code: Select all
storescp -v -dhl --fork -xf ./home/dicom/db/storescp.cfg Default -od ./home/dicom/db/COMMON --aetitle FPH_SCP --sort-on-patientname 1000
Code: Select all
storescu -v -d --aetitle FPH_SCU --call FPH_SCP -xf ./home/dicom/db/storescu.cfg Default localhost 1000 test.dcm
5- Then i added a dot ( . ) at the first of paths in dcmqrscp.cfg file and I ran query retrieve service using this command:
Code: Select all
dcmqrscp -v -d -c ./home/dicom/db/dcmqrscp.cfg 104
Code: Select all
findscu -v -d --aetitle FPH_FIND --call COMMON --patient --key 0008,0052=PATIENT --key 0010,0010="T*" localhost 104
/home/dicom/db/COMMON\index.dat: No such file or directory
dispatch: cannot create DB Handle
DIMSE Failure (aborting association): 000c:0001 DcmQR Index Database Error
7- Then i used dcmqridx file to register my stored file in database index file. i ran this command:
Code: Select all
dcmqridx -v -d ./home/dicom/db/COMMON ./home/dicom/db/COMMON/Test_Test_20140522_114638024/CR.1.2.826.0.1.3680043.2.1074.90089.1.71.10001008.1
8- Now i tried find query again and i got this in dcmqrscp window:
I: Association Received (MYRIAN-PC:FPH_FIND -> COMMON) Thu May 22 12:52:47 2014
I:
I: Association Acknowledged (Max Send PDV: 16372)
I: Received Find SCP:
I: ===================== INCOMING DIMSE MESSAGE ====================
I: Message Type : C-FIND RQ
I: Message ID : 1
I: Affected SOP Class UID : FINDPatientRootQueryRetrieveInformationModel
I: Data Set : present
I: Priority : low
I: ======================= END DIMSE MESSAGE =======================
I: Find SCP Request Identifiers:
I:
I: # Dicom-Data-Set
I: # Used TransferSyntax: Little Endian Explicit
I: (0008,0052) CS [PATIENT] # 8, 1 QueryRetriev
eLevel
I: (0010,0010) PN [T*] # 2, 1 PatientName
I:
I: Find SCP Response 1 [status: Pending]
I: Find SCP Response 2 [status: Success]
I: Association Release
and this one in findscu window:
D: Request Parameters:
I: Requesting Association
I: Association Accepted (Max Send PDV: 16372)
I: ===================== OUTGOING DIMSE MESSAGE ====================
I: Message Type : C-FIND RQ
I: Presentation Context ID : 1
I: Message ID : 1
I: Affected SOP Class UID : FINDPatientRootQueryRetrieveInformationModel
I: Data Set : present
I: Priority : low
I: ======================= END DIMSE MESSAGE =======================
I: Find SCU Request Identifiers:
I:
I: # Dicom-Data-Set
I: # Used TransferSyntax: Unknown Transfer Syntax
I: (0008,0052) CS [PATIENT] # 8, 1 QueryRetriev
eLevel
I: (0010,0010) PN [T*] # 2, 1 PatientName
I:
W: ---------------------------
W: Find Response: 1 (Pending)
W:
W: # Dicom-Data-Set
W: # Used TransferSyntax: Little Endian Explicit
W: (0008,0052) CS [PATIENT ] # 8, 1 QueryRetriev
eLevel
W: (0008,0054) AE [COMMON] # 6, 1 RetrieveAETi
tle
W: (0010,0010) PN [Test^Test ] # 10, 1 PatientName
W:
I: ===================== INCOMING DIMSE MESSAGE ====================
I: Message Type : C-FIND RSP
I: Message ID Being Responded To : 1
I: Affected SOP Class UID : FINDPatientRootQueryRetrieveInformationModel
I: Data Set : none
I: DIMSE Status : 0x0000: Success
I: ======================= END DIMSE MESSAGE =======================
I: Releasing Association
I see that it has found the target file.
And these are my questions:
A) First of all I'd like to know if my steps are correct?
B) Do i have to have a index database file to use find and move services?
C) To register files in index file should I call dcmqridx in -xcr parameter of storescp service?
D) How can i use movescu after finding the target file?
E) How can I use responses (like found image) in other programming languages like PHP?
Any help would be appreciated.