Worklist and Kodak CR950
Moderator: Moderator Team
Worklist and Kodak CR950
Hi,
Connecting to a new Kodak CR950 was successful. Unfortunately I never got a record back (0 record does match criteria) even I had created dozens of *.wl files with all the necessary tags:
(0010,0010)Tester^Hans
(0010,0020)007
(0010,0040)M
(0008,0050)939692
(0008,0020)20050121
(0008,0024)105400
(0008,0069)CR
(0040,0020)20050402
Does anybody has experiences with Kodak CRs and how they control worklists?
BTW: wlmscpfs.exe works fine together with another WorklistSCU.
Kind regards
Beat
Connecting to a new Kodak CR950 was successful. Unfortunately I never got a record back (0 record does match criteria) even I had created dozens of *.wl files with all the necessary tags:
(0010,0010)Tester^Hans
(0010,0020)007
(0010,0040)M
(0008,0050)939692
(0008,0020)20050121
(0008,0024)105400
(0008,0069)CR
(0040,0020)20050402
Does anybody has experiences with Kodak CRs and how they control worklists?
BTW: wlmscpfs.exe works fine together with another WorklistSCU.
Kind regards
Beat
-
- DCMTK Developer
- Posts: 117
- Joined: Tue, 2004-11-02, 17:21
- Location: Oldenburg, Germany
- Contact:
Worklist -v Verbose
We worked with -v statment and everything seemed to be ok. The session is always terminated with status "Success" but "0 records matched the criteria".
When I start the wlmspfs.exe I always get the message "Autocorrection is disabled". Could this be a reason?
When I start the wlmspfs.exe I always get the message "Autocorrection is disabled". Could this be a reason?
-
- DCMTK Developer
- Posts: 117
- Joined: Tue, 2004-11-02, 17:21
- Location: Oldenburg, Germany
- Contact:
The message "0 records matched the criteria" does not have __anything__ to do with the message "Autocorrection is disabled". It simply means that none of the .wl files contains information which matches the query that is passed by the modality.
If e.g. the modality queries all examinations which are scheduled for __today__ and at the same time all examinations in the .wl files have a scheduled examination date of "20040101" then there will be no matches and no information from the .wl files will be sent back to the modality.
This is what you have to do:
- run wlmscpfs.exe in verbose mode (-v)
- look for query that is sent by the modality; you will find the query below the message "Expanded C-Find RQ message" (or similar)
- analyse the query: what kind of exams are queried by the modality?
- analyse the information in the .wl files (use dcmdump to display the contents of the .wl files)
- adjust the information in the .wl files so that the modality's search criteria will be met (modify the dcmdump'ed information from one or more .wl files using a texteditor, then use dump2dcm to convert the textinformation to a dicom file)
- try communication between modality and wlmscpfs.exe again
Make sure you have understood what the DICOM worklist management service is about, then all this should be no problem at all.
If e.g. the modality queries all examinations which are scheduled for __today__ and at the same time all examinations in the .wl files have a scheduled examination date of "20040101" then there will be no matches and no information from the .wl files will be sent back to the modality.
This is what you have to do:
- run wlmscpfs.exe in verbose mode (-v)
- look for query that is sent by the modality; you will find the query below the message "Expanded C-Find RQ message" (or similar)
- analyse the query: what kind of exams are queried by the modality?
- analyse the information in the .wl files (use dcmdump to display the contents of the .wl files)
- adjust the information in the .wl files so that the modality's search criteria will be met (modify the dcmdump'ed information from one or more .wl files using a texteditor, then use dump2dcm to convert the textinformation to a dicom file)
- try communication between modality and wlmscpfs.exe again
Make sure you have understood what the DICOM worklist management service is about, then all this should be no problem at all.
Worklist and CR 950
Thanks for your help. You described what we tried the last few days (without any success).
I only wondered why all the conditions in brackets have a space character after the condition (e.g. Patient's Name [* ] or Date [20050404-20050404 ]). Is the Space character added by wlmscpfs.exe or included in the query of the Kodak CR950? If the second would be true I could imagine why always 0 records are given back.
I only wondered why all the conditions in brackets have a space character after the condition (e.g. Patient's Name [* ] or Date [20050404-20050404 ]). Is the Space character added by wlmscpfs.exe or included in the query of the Kodak CR950? If the second would be true I could imagine why always 0 records are given back.
-
- DCMTK Developer
- Posts: 117
- Joined: Tue, 2004-11-02, 17:21
- Location: Oldenburg, Germany
- Contact:
In DICOM, all attribute values must have an even length. If an attribute value has an odd length by itself, a padding character - in this case a space character - will be added to the value. This padding character does not have any significance, not even during the matching process.
In case you cant get any matches, please provide me with wlmscp's output (verbose mode) and I will specify the contents of a .wl file that will lead to a match.
In case you cant get any matches, please provide me with wlmscp's output (verbose mode) and I will specify the contents of a .wl file that will lead to a match.
Worklist and CR 950: Log
Below you will find the log generated by "wlmscpfs.exe -v -dfp C:\Radiologie\Worklist 104":
------------------------
$dcmtk: wlmscpfs v3.5.3 2004-05-27 $
(notice: dcmdata auto correction disabled.)
Association Received (CR950:CR950 -> Hipax)
Association Acknowledged (Max Send PDV: 65524)
Received C-FIND Request, MessageID 0.
Find SCP Request Identifiers:
# Dicom-Data-Set
# Used TransferSyntax: LittleEndianImplicit
(0008,0050) SH (no value available) # 0, 0 AccessionNumber
(0008,0090) PN (no value available) # 0, 0 ReferringPhysiciansName
(0008,1110) SQ (Sequence with explicit length #=1) # 24, 1 ReferencedStudySequence
(fffe,e000) na (Item with explicit length #=2) # 16, 1 Item
(0008,1150) UI (no value available) # 0, 0 ReferencedSOPClassUID
(0008,1155) UI (no value available) # 0, 0 ReferencedSOPInstanceUID
(fffe,e00d) na (ItemDelimitationItem for re-encoding) # 0, 0 ItemDelimitationItem
(fffe,e0dd) na (SequenceDelimitationItem for re-encod.) # 0, 0 SequenceDelimitationItem
(0010,0010) PN [* ] # 2, 1 PatientsName
(0010,0020) LO (no value available) # 0, 0 PatientID
(0010,0030) DA (no value available) # 0, 0 PatientsBirthDate
(0010,0032) TM (no value available) # 0, 0 PatientsBirthTime
(0010,0040) CS (no value available) # 0, 0 PatientsSex
(0010,1000) LO (no value available) # 0, 0 OtherPatientIDs
(0010,1001) PN (no value available) # 0, 0 OtherPatientNames
(0010,1010) AS (no value available) # 0, 0 PatientsAge
(0010,1020) DS (no value available) # 0, 0 PatientsSize
(0010,1030) DS (no value available) # 0, 0 PatientsWeight
(0010,2160) SH (no value available) # 0, 0 EthnicGroup
(0010,2180) SH (no value available) # 0, 0 Occupation
(0010,4000) LT (no value available) # 0, 0 PatientComments
(0020,000d) UI (no value available) # 0, 0 StudyInstanceUID
(0032,1033) LO (no value available) # 0, 0 RequestingService
(0032,1060) LO (no value available) # 0, 0 RequestedProcedureDescription
(0032,1064) SQ (Sequence with explicit length #=1) # 40, 1 RequestedProcedureCodeSequence
(fffe,e000) na (Item with explicit length #=4) # 32, 1 Item
(0008,0100) SH (no value available) # 0, 0 CodeValue
(0008,0102) SH (no value available) # 0, 0 CodingSchemeDesignator
(0008,0103) SH (no value available) # 0, 0 CodingSchemeVersion
(0008,0104) LO (no value available) # 0, 0 CodeMeaning
(fffe,e00d) na (ItemDelimitationItem for re-encoding) # 0, 0 ItemDelimitationItem
(fffe,e0dd) na (SequenceDelimitationItem for re-encod.) # 0, 0 SequenceDelimitationItem
(0038,0008) CS (no value available) # 0, 0 VisitStatusID
(0038,0400) LO (no value available) # 0, 0 PatientsInstitutionResidence
(0040,0100) SQ (Sequence with explicit length #=1) # 124, 1 ScheduledProcedureStepSequence
(fffe,e000) na (Item with explicit length #=7) # 116, 1 Item
(0008,0060) CS [* ] # 2, 1 Modality
(0032,1070) LO (no value available) # 0, 0 RequestedContrastAgent
(0040,0002) DA [20050404-20050405 ] # 18, 1 ScheduledProcedureStepStartDate
(0040,0003) TM (no value available) # 0, 0 ScheduledProcedureStepStartTime
(0040,0007) LO (no value available) # 0, 0 ScheduledProcedureStepDescription
(0040,0008) SQ (Sequence with explicit length #=1) # 40, 1 ScheduledProtocolCodeSequence
(fffe,e000) na (Item with explicit length #=4) # 32, 1 Item
(0008,0100) SH (no value available) # 0, 0 CodeValue
(0008,0102) SH (no value available) # 0, 0 CodingSchemeDesignator
(0008,0103) SH (no value available) # 0, 0 CodingSchemeVersion
(0008,0104) LO (no value available) # 0, 0 CodeMeaning
(fffe,e00d) na (ItemDelimitationItem for re-encoding) # 0, 0 ItemDelimitationItem
(fffe,e0dd) na (SequenceDelimitationItem for re-encod.) # 0, 0 SequenceDelimitationItem
(0040,0009) SH (no value available) # 0, 0 ScheduledProcedureStepID
(fffe,e00d) na (ItemDelimitationItem for re-encoding) # 0, 0 ItemDelimitationItem
(fffe,e0dd) na (SequenceDelimitationItem for re-encod.) # 0, 0 SequenceDelimitationItem
(0040,1001) SH (no value available) # 0, 0 RequestedProcedureID
(0040,1003) SH (no value available) # 0, 0 RequestedProcedurePriority
(0040,1005) LO (no value available) # 0, 0 RequestedProcedureLocation
=============================
Checking the search mask.
- Unsupported (non-sequence) attribute encountered in the search mask.
This attribute will not be existent in any result dataset.
- Unsupported (non-sequence) attribute encountered in the search mask.
This attribute will not be existent in any result dataset.
- Unsupported (non-sequence) attribute encountered in the search mask.
This attribute will not be existent in any result dataset.
- Unsupported (non-sequence) attribute encountered in the search mask.
This attribute will not be existent in any result dataset.
- Unsupported (non-sequence) attribute encountered in the search mask.
This attribute will not be existent in any result dataset.
Expanded Find SCP Request Identifiers:
# Dicom-Data-Set
# Used TransferSyntax: LittleEndianImplicit
(0008,0050) SH (no value available) # 0, 0 AccessionNumber
(0008,0090) PN (no value available) # 0, 0 ReferringPhysiciansName
(0008,1110) SQ (Sequence with explicit length #=1) # 24, 1 ReferencedStudySequence
(fffe,e000) na (Item with explicit length #=2) # 16, 1 Item
(0008,1150) UI (no value available) # 0, 0 ReferencedSOPClassUID
(0008,1155) UI (no value available) # 0, 0 ReferencedSOPInstanceUID
(fffe,e00d) na (ItemDelimitationItem for re-encoding) # 0, 0 ItemDelimitationItem
(fffe,e0dd) na (SequenceDelimitationItem for re-encod.) # 0, 0 SequenceDelimitationItem
(0010,0010) PN [* ] # 2, 1 PatientsName
(0010,0020) LO (no value available) # 0, 0 PatientID
(0010,0030) DA (no value available) # 0, 0 PatientsBirthDate
(0010,0040) CS (no value available) # 0, 0 PatientsSex
(0010,1000) LO (no value available) # 0, 0 OtherPatientIDs
(0010,1001) PN (no value available) # 0, 0 OtherPatientNames
(0010,1020) DS (no value available) # 0, 0 PatientsSize
(0010,1030) DS (no value available) # 0, 0 PatientsWeight
(0010,2160) SH (no value available) # 0, 0 EthnicGroup
(0010,4000) LT (no value available) # 0, 0 PatientComments
(0020,000d) UI (no value available) # 0, 0 StudyInstanceUID
(0032,1033) LO (no value available) # 0, 0 RequestingService
(0032,1060) LO (no value available) # 0, 0 RequestedProcedureDescription
(0032,1064) SQ (Sequence with explicit length #=1) # 40, 1 RequestedProcedureCodeSequence
(fffe,e000) na (Item with explicit length #=4) # 32, 1 Item
(0008,0100) SH (no value available) # 0, 0 CodeValue
(0008,0102) SH (no value available) # 0, 0 CodingSchemeDesignator
(0008,0103) SH (no value available) # 0, 0 CodingSchemeVersion
(0008,0104) LO (no value available) # 0, 0 CodeMeaning
(fffe,e00d) na (ItemDelimitationItem for re-encoding) # 0, 0 ItemDelimitationItem
(fffe,e0dd) na (SequenceDelimitationItem for re-encod.) # 0, 0 SequenceDelimitationItem
(0040,0100) SQ (Sequence with explicit length #=1) # 124, 1 ScheduledProcedureStepSequence
(fffe,e000) na (Item with explicit length #=7) # 116, 1 Item
(0008,0060) CS [* ] # 2, 1 Modality
(0032,1070) LO (no value available) # 0, 0 RequestedContrastAgent
(0040,0002) DA [20050404-20050405 ] # 18, 1 ScheduledProcedureStepStartDate
(0040,0003) TM (no value available) # 0, 0 ScheduledProcedureStepStartTime
(0040,0007) LO (no value available) # 0, 0 ScheduledProcedureStepDescription
(0040,0008) SQ (Sequence with explicit length #=1) # 40, 1 ScheduledProtocolCodeSequence
(fffe,e000) na (Item with explicit length #=4) # 32, 1 Item
(0008,0100) SH (no value available) # 0, 0 CodeValue
(0008,0102) SH (no value available) # 0, 0 CodingSchemeDesignator
(0008,0103) SH (no value available) # 0, 0 CodingSchemeVersion
(0008,0104) LO (no value available) # 0, 0 CodeMeaning
(fffe,e00d) na (ItemDelimitationItem for re-encoding) # 0, 0 ItemDelimitationItem
(fffe,e0dd) na (SequenceDelimitationItem for re-encod.) # 0, 0 SequenceDelimitationItem
(0040,0009) SH (no value available) # 0, 0 ScheduledProcedureStepID
(fffe,e00d) na (ItemDelimitationItem for re-encoding) # 0, 0 ItemDelimitationItem
(fffe,e0dd) na (SequenceDelimitationItem for re-encod.) # 0, 0 SequenceDelimitationItem
(0040,1001) SH (no value available) # 0, 0 RequestedProcedureID
(0040,1003) SH (no value available) # 0, 0 RequestedProcedurePriority
(0040,1005) LO (no value available) # 0, 0 RequestedProcedureLocation
=============================
Determining matching records from worklist files.
=============================
Worklist Database Files:
C:\Radiologie\Worklist\Hipax\1.wl
=============================
Information from worklist file C:\Radiologie\Worklist\Hipax\1.wl does not match query.
Matching results: 0 matching records found in worklist files.
=============================
Worklist Find SCP Response 1 [status: Success]
Association Release
+++++++++++++++++++++++++++++
We tried differerent worklist files like the one below:
(0010,0010) Master^Hannes
(0010,0020) 50645991
(0010,0040) M
(0010,0030) 19510101
(0008,0050) 2000000057
(0008,0020) 20050403
(0008,0030) 095000
(0000,1030) HIPAX
(0008,0060) CR
(0008,0090) Dr.Sommer
The file above was transformed into a *.wl file with "dumpdcm" and saved within the subdirectory HIPAX.
I look forward to receive a text-file which fulfills the demands of the CR950.
Kind regards and thanks in advance
Beat
------------------------
$dcmtk: wlmscpfs v3.5.3 2004-05-27 $
(notice: dcmdata auto correction disabled.)
Association Received (CR950:CR950 -> Hipax)
Association Acknowledged (Max Send PDV: 65524)
Received C-FIND Request, MessageID 0.
Find SCP Request Identifiers:
# Dicom-Data-Set
# Used TransferSyntax: LittleEndianImplicit
(0008,0050) SH (no value available) # 0, 0 AccessionNumber
(0008,0090) PN (no value available) # 0, 0 ReferringPhysiciansName
(0008,1110) SQ (Sequence with explicit length #=1) # 24, 1 ReferencedStudySequence
(fffe,e000) na (Item with explicit length #=2) # 16, 1 Item
(0008,1150) UI (no value available) # 0, 0 ReferencedSOPClassUID
(0008,1155) UI (no value available) # 0, 0 ReferencedSOPInstanceUID
(fffe,e00d) na (ItemDelimitationItem for re-encoding) # 0, 0 ItemDelimitationItem
(fffe,e0dd) na (SequenceDelimitationItem for re-encod.) # 0, 0 SequenceDelimitationItem
(0010,0010) PN [* ] # 2, 1 PatientsName
(0010,0020) LO (no value available) # 0, 0 PatientID
(0010,0030) DA (no value available) # 0, 0 PatientsBirthDate
(0010,0032) TM (no value available) # 0, 0 PatientsBirthTime
(0010,0040) CS (no value available) # 0, 0 PatientsSex
(0010,1000) LO (no value available) # 0, 0 OtherPatientIDs
(0010,1001) PN (no value available) # 0, 0 OtherPatientNames
(0010,1010) AS (no value available) # 0, 0 PatientsAge
(0010,1020) DS (no value available) # 0, 0 PatientsSize
(0010,1030) DS (no value available) # 0, 0 PatientsWeight
(0010,2160) SH (no value available) # 0, 0 EthnicGroup
(0010,2180) SH (no value available) # 0, 0 Occupation
(0010,4000) LT (no value available) # 0, 0 PatientComments
(0020,000d) UI (no value available) # 0, 0 StudyInstanceUID
(0032,1033) LO (no value available) # 0, 0 RequestingService
(0032,1060) LO (no value available) # 0, 0 RequestedProcedureDescription
(0032,1064) SQ (Sequence with explicit length #=1) # 40, 1 RequestedProcedureCodeSequence
(fffe,e000) na (Item with explicit length #=4) # 32, 1 Item
(0008,0100) SH (no value available) # 0, 0 CodeValue
(0008,0102) SH (no value available) # 0, 0 CodingSchemeDesignator
(0008,0103) SH (no value available) # 0, 0 CodingSchemeVersion
(0008,0104) LO (no value available) # 0, 0 CodeMeaning
(fffe,e00d) na (ItemDelimitationItem for re-encoding) # 0, 0 ItemDelimitationItem
(fffe,e0dd) na (SequenceDelimitationItem for re-encod.) # 0, 0 SequenceDelimitationItem
(0038,0008) CS (no value available) # 0, 0 VisitStatusID
(0038,0400) LO (no value available) # 0, 0 PatientsInstitutionResidence
(0040,0100) SQ (Sequence with explicit length #=1) # 124, 1 ScheduledProcedureStepSequence
(fffe,e000) na (Item with explicit length #=7) # 116, 1 Item
(0008,0060) CS [* ] # 2, 1 Modality
(0032,1070) LO (no value available) # 0, 0 RequestedContrastAgent
(0040,0002) DA [20050404-20050405 ] # 18, 1 ScheduledProcedureStepStartDate
(0040,0003) TM (no value available) # 0, 0 ScheduledProcedureStepStartTime
(0040,0007) LO (no value available) # 0, 0 ScheduledProcedureStepDescription
(0040,0008) SQ (Sequence with explicit length #=1) # 40, 1 ScheduledProtocolCodeSequence
(fffe,e000) na (Item with explicit length #=4) # 32, 1 Item
(0008,0100) SH (no value available) # 0, 0 CodeValue
(0008,0102) SH (no value available) # 0, 0 CodingSchemeDesignator
(0008,0103) SH (no value available) # 0, 0 CodingSchemeVersion
(0008,0104) LO (no value available) # 0, 0 CodeMeaning
(fffe,e00d) na (ItemDelimitationItem for re-encoding) # 0, 0 ItemDelimitationItem
(fffe,e0dd) na (SequenceDelimitationItem for re-encod.) # 0, 0 SequenceDelimitationItem
(0040,0009) SH (no value available) # 0, 0 ScheduledProcedureStepID
(fffe,e00d) na (ItemDelimitationItem for re-encoding) # 0, 0 ItemDelimitationItem
(fffe,e0dd) na (SequenceDelimitationItem for re-encod.) # 0, 0 SequenceDelimitationItem
(0040,1001) SH (no value available) # 0, 0 RequestedProcedureID
(0040,1003) SH (no value available) # 0, 0 RequestedProcedurePriority
(0040,1005) LO (no value available) # 0, 0 RequestedProcedureLocation
=============================
Checking the search mask.
- Unsupported (non-sequence) attribute encountered in the search mask.
This attribute will not be existent in any result dataset.
- Unsupported (non-sequence) attribute encountered in the search mask.
This attribute will not be existent in any result dataset.
- Unsupported (non-sequence) attribute encountered in the search mask.
This attribute will not be existent in any result dataset.
- Unsupported (non-sequence) attribute encountered in the search mask.
This attribute will not be existent in any result dataset.
- Unsupported (non-sequence) attribute encountered in the search mask.
This attribute will not be existent in any result dataset.
Expanded Find SCP Request Identifiers:
# Dicom-Data-Set
# Used TransferSyntax: LittleEndianImplicit
(0008,0050) SH (no value available) # 0, 0 AccessionNumber
(0008,0090) PN (no value available) # 0, 0 ReferringPhysiciansName
(0008,1110) SQ (Sequence with explicit length #=1) # 24, 1 ReferencedStudySequence
(fffe,e000) na (Item with explicit length #=2) # 16, 1 Item
(0008,1150) UI (no value available) # 0, 0 ReferencedSOPClassUID
(0008,1155) UI (no value available) # 0, 0 ReferencedSOPInstanceUID
(fffe,e00d) na (ItemDelimitationItem for re-encoding) # 0, 0 ItemDelimitationItem
(fffe,e0dd) na (SequenceDelimitationItem for re-encod.) # 0, 0 SequenceDelimitationItem
(0010,0010) PN [* ] # 2, 1 PatientsName
(0010,0020) LO (no value available) # 0, 0 PatientID
(0010,0030) DA (no value available) # 0, 0 PatientsBirthDate
(0010,0040) CS (no value available) # 0, 0 PatientsSex
(0010,1000) LO (no value available) # 0, 0 OtherPatientIDs
(0010,1001) PN (no value available) # 0, 0 OtherPatientNames
(0010,1020) DS (no value available) # 0, 0 PatientsSize
(0010,1030) DS (no value available) # 0, 0 PatientsWeight
(0010,2160) SH (no value available) # 0, 0 EthnicGroup
(0010,4000) LT (no value available) # 0, 0 PatientComments
(0020,000d) UI (no value available) # 0, 0 StudyInstanceUID
(0032,1033) LO (no value available) # 0, 0 RequestingService
(0032,1060) LO (no value available) # 0, 0 RequestedProcedureDescription
(0032,1064) SQ (Sequence with explicit length #=1) # 40, 1 RequestedProcedureCodeSequence
(fffe,e000) na (Item with explicit length #=4) # 32, 1 Item
(0008,0100) SH (no value available) # 0, 0 CodeValue
(0008,0102) SH (no value available) # 0, 0 CodingSchemeDesignator
(0008,0103) SH (no value available) # 0, 0 CodingSchemeVersion
(0008,0104) LO (no value available) # 0, 0 CodeMeaning
(fffe,e00d) na (ItemDelimitationItem for re-encoding) # 0, 0 ItemDelimitationItem
(fffe,e0dd) na (SequenceDelimitationItem for re-encod.) # 0, 0 SequenceDelimitationItem
(0040,0100) SQ (Sequence with explicit length #=1) # 124, 1 ScheduledProcedureStepSequence
(fffe,e000) na (Item with explicit length #=7) # 116, 1 Item
(0008,0060) CS [* ] # 2, 1 Modality
(0032,1070) LO (no value available) # 0, 0 RequestedContrastAgent
(0040,0002) DA [20050404-20050405 ] # 18, 1 ScheduledProcedureStepStartDate
(0040,0003) TM (no value available) # 0, 0 ScheduledProcedureStepStartTime
(0040,0007) LO (no value available) # 0, 0 ScheduledProcedureStepDescription
(0040,0008) SQ (Sequence with explicit length #=1) # 40, 1 ScheduledProtocolCodeSequence
(fffe,e000) na (Item with explicit length #=4) # 32, 1 Item
(0008,0100) SH (no value available) # 0, 0 CodeValue
(0008,0102) SH (no value available) # 0, 0 CodingSchemeDesignator
(0008,0103) SH (no value available) # 0, 0 CodingSchemeVersion
(0008,0104) LO (no value available) # 0, 0 CodeMeaning
(fffe,e00d) na (ItemDelimitationItem for re-encoding) # 0, 0 ItemDelimitationItem
(fffe,e0dd) na (SequenceDelimitationItem for re-encod.) # 0, 0 SequenceDelimitationItem
(0040,0009) SH (no value available) # 0, 0 ScheduledProcedureStepID
(fffe,e00d) na (ItemDelimitationItem for re-encoding) # 0, 0 ItemDelimitationItem
(fffe,e0dd) na (SequenceDelimitationItem for re-encod.) # 0, 0 SequenceDelimitationItem
(0040,1001) SH (no value available) # 0, 0 RequestedProcedureID
(0040,1003) SH (no value available) # 0, 0 RequestedProcedurePriority
(0040,1005) LO (no value available) # 0, 0 RequestedProcedureLocation
=============================
Determining matching records from worklist files.
=============================
Worklist Database Files:
C:\Radiologie\Worklist\Hipax\1.wl
=============================
Information from worklist file C:\Radiologie\Worklist\Hipax\1.wl does not match query.
Matching results: 0 matching records found in worklist files.
=============================
Worklist Find SCP Response 1 [status: Success]
Association Release
+++++++++++++++++++++++++++++
We tried differerent worklist files like the one below:
(0010,0010) Master^Hannes
(0010,0020) 50645991
(0010,0040) M
(0010,0030) 19510101
(0008,0050) 2000000057
(0008,0020) 20050403
(0008,0030) 095000
(0000,1030) HIPAX
(0008,0060) CR
(0008,0090) Dr.Sommer
The file above was transformed into a *.wl file with "dumpdcm" and saved within the subdirectory HIPAX.
I look forward to receive a text-file which fulfills the demands of the CR950.
Kind regards and thanks in advance
Beat
-
- DCMTK Developer
- Posts: 117
- Joined: Tue, 2004-11-02, 17:21
- Location: Oldenburg, Germany
- Contact:
From your example, it is obvious that you have not quite understood what the DICOM worklist management service is about. Read part 4 of the DICOM standard, Annex K, the DICOM worklist management is explained in detail here. You would have found the solution to your problem yourself if you had read the standard.
Two Facts from your example:
- the call to wlmscpfs is correct
- your worklist file example has problems: firstly, the tags should be sorted in an ascending way, and secondly the attributes (0000,1030), (0008,0020), and (0008,0030) are meaningless in a worklist file, since they will never occur in any query (Who told you to include these attributes in a query? If you had read Annex K, you would have known about table K.6-1 (ATTRIBUTES FOR THE MODALITY WORKLIST INFORMATION MODEL) in the standard that shows all possible attributes in a worklist query).
Here is a worklist file that would lead to a match if there was not one more problem (see below):
(0010,0010) PN [Master^Hannes] # 2, 1 PatientsName
(0010,0020) LO [9876543210] # 0, 0 PatientID
(0010,0030) DA [19530627] # 0, 0 PatientsBirthDate
(0010,0040) CS [M] # 0, 0 PatientsSex
(0040,0100) SQ (Sequence with explicit length #=1) # 124, 1 ScheduledProcedureStepSequence
(fffe,e000) na (Item with explicit length #=7) # 116, 1 Item
(0008,0060) CS [CR] # 2, 1 Modality
(0040,0002) DA [20050405] # 18, 1 ScheduledProcedureStepStartDate
(0040,0003) TM [1000] # 0, 0 ScheduledProcedureStepStartTime
(fffe,e00d) na (ItemDelimitationItem for re-encoding) # 0, 0 ItemDelimitationItem
(fffe,e0dd) na (SequenceDelimitationItem for re-encod.) # 0, 0 SequenceDelimitationItem
Unfortunately in your case, this worklist file will not lead to a match, because there is one more problem: The Kodak CR950 sends a query with attribute (0008,0060) Modality set to "* ". In other words, the Kodak modality tries to use wildcard matching with this attribute. The problem is, that wildcard matching is not allowed with attribute Modality. This is a violation of the DICOM standard. See Table K.6-1 "The Modality shall be retrieved with Single Value Matching." (Again: if you had read the standard, you would have found the solution yourself!!) Since Single Value Matching is the correct matching process, wlmscpfs will try to match the string "CR" to "*" which will (on a character-by-character comparison) never lead to a match. So its not your fault there is no match, Kodak violates the standard and hence no match can be found.
What can you do now? Firstly, you should let Kodak know about this violation. Secondly, you could try to re-configure the Kodak modality, so that it wont send a "* " value in attribute Modality; then matching should work. If that doesnt help, you could modify the source code of wlmscpfs.exe and add an option to filter out the "*" symbol in attribute Modality from a corresponding incoming query, and treat such a value as a (in this case correct) empty value.
Two Facts from your example:
- the call to wlmscpfs is correct
- your worklist file example has problems: firstly, the tags should be sorted in an ascending way, and secondly the attributes (0000,1030), (0008,0020), and (0008,0030) are meaningless in a worklist file, since they will never occur in any query (Who told you to include these attributes in a query? If you had read Annex K, you would have known about table K.6-1 (ATTRIBUTES FOR THE MODALITY WORKLIST INFORMATION MODEL) in the standard that shows all possible attributes in a worklist query).
Here is a worklist file that would lead to a match if there was not one more problem (see below):
(0010,0010) PN [Master^Hannes] # 2, 1 PatientsName
(0010,0020) LO [9876543210] # 0, 0 PatientID
(0010,0030) DA [19530627] # 0, 0 PatientsBirthDate
(0010,0040) CS [M] # 0, 0 PatientsSex
(0040,0100) SQ (Sequence with explicit length #=1) # 124, 1 ScheduledProcedureStepSequence
(fffe,e000) na (Item with explicit length #=7) # 116, 1 Item
(0008,0060) CS [CR] # 2, 1 Modality
(0040,0002) DA [20050405] # 18, 1 ScheduledProcedureStepStartDate
(0040,0003) TM [1000] # 0, 0 ScheduledProcedureStepStartTime
(fffe,e00d) na (ItemDelimitationItem for re-encoding) # 0, 0 ItemDelimitationItem
(fffe,e0dd) na (SequenceDelimitationItem for re-encod.) # 0, 0 SequenceDelimitationItem
Unfortunately in your case, this worklist file will not lead to a match, because there is one more problem: The Kodak CR950 sends a query with attribute (0008,0060) Modality set to "* ". In other words, the Kodak modality tries to use wildcard matching with this attribute. The problem is, that wildcard matching is not allowed with attribute Modality. This is a violation of the DICOM standard. See Table K.6-1 "The Modality shall be retrieved with Single Value Matching." (Again: if you had read the standard, you would have found the solution yourself!!) Since Single Value Matching is the correct matching process, wlmscpfs will try to match the string "CR" to "*" which will (on a character-by-character comparison) never lead to a match. So its not your fault there is no match, Kodak violates the standard and hence no match can be found.
What can you do now? Firstly, you should let Kodak know about this violation. Secondly, you could try to re-configure the Kodak modality, so that it wont send a "* " value in attribute Modality; then matching should work. If that doesnt help, you could modify the source code of wlmscpfs.exe and add an option to filter out the "*" symbol in attribute Modality from a corresponding incoming query, and treat such a value as a (in this case correct) empty value.
Worklist and Kodak CR950
Together with the example above and many more hours trying and hoping, the worklist is now installed and works. We had to add one more line:
(0008,0050) SH [135577]
(0010,0010) PN [Muster^Christine] # 2, 1 PatientsName
(0010,0020) LO [560921] # 0, 0 PatientID
(0010,0030) DA [19530215] # 0, 0 PatientsBirthDate
(0010,0040) CS [W] # 0, 0 PatientsSex
(0020,000d) UI [123.456.789.1.2] # Study Sequence ID
(0040,0100) SQ (Sequence with explicit length #=1) # 124, 1 ScheduledProcedureStepSequence
(fffe,e000) na (Item with explicit length #=7) # 116, 1 Item
(0008,0060) CS [CR] # 2, 1 Modality
(0040,0002) DA [20050407] # 18, 1 ScheduledProcedureStepStartDate
(fffe,e00d) na (ItemDelimitationItem for re-encoding) # 0, 0 ItemDelimitationItem
(fffe,e0dd) na (SequenceDelimitationItem for re-encod.) # 0, 0 SequenceDelimitationItem
The Study Sequence ID has to be delivered else an error is generated on the CR950 (and CR850 too).
Thanks very much for your help.
(0008,0050) SH [135577]
(0010,0010) PN [Muster^Christine] # 2, 1 PatientsName
(0010,0020) LO [560921] # 0, 0 PatientID
(0010,0030) DA [19530215] # 0, 0 PatientsBirthDate
(0010,0040) CS [W] # 0, 0 PatientsSex
(0020,000d) UI [123.456.789.1.2] # Study Sequence ID
(0040,0100) SQ (Sequence with explicit length #=1) # 124, 1 ScheduledProcedureStepSequence
(fffe,e000) na (Item with explicit length #=7) # 116, 1 Item
(0008,0060) CS [CR] # 2, 1 Modality
(0040,0002) DA [20050407] # 18, 1 ScheduledProcedureStepStartDate
(fffe,e00d) na (ItemDelimitationItem for re-encoding) # 0, 0 ItemDelimitationItem
(fffe,e0dd) na (SequenceDelimitationItem for re-encod.) # 0, 0 SequenceDelimitationItem
The Study Sequence ID has to be delivered else an error is generated on the CR950 (and CR850 too).
Thanks very much for your help.
Re: Worklist and Kodak CR950
I have the same problem and like to adapt the dump2dcm tool to automatically input a unique Study Sequence UID that can be generated using the function in DCMTK. However where do I have to put that in the code of dump2dcm or should I do it some other way?art wrote:The Study Sequence ID has to be delivered else an error is generated on the CR950 (and CR850 too).
Thanks very much for your help.
-
- ICSMED DICOM Services
- Posts: 2217
- Joined: Fri, 2004-10-29, 21:38
- Location: Oldenburg, Germany
Who is online
Users browsing this forum: Bing [Bot], Google [Bot], Semrush [Bot] and 1 guest