Browsing this Thread:
1 Anonymous Users
Level-based validation conditions |
||
|---|---|---|
|
Not too shy to talk
![]()
Joined:
2011/3/27 23:49 Group:
Registered Users Posts:
4
Level : 1; EXP : 21
HP : 0 / 5 MP : 1 / 34 ![]() |
Hello there,
I've just installed the newest DVTk's QR SCP Emulator (v. 4.0.2) and, while attempting to test it, encountered a very odd set of errors. Can somebody explain them to me please? I'm querying using the Patient Root QR Information Model - FIND SOP Class, sending the following tags in a dataset: To my surprise the first type of error messages is related to SOP Instance UID, Series Instance UID and Study Instance UID tags and they look like this: "Error: Type 2 attribute (gggg,eeee) should be present with at least a zero-length". It is very odd because, well, as far as anybody can be certain about anything in the DICOM world, I should not include unique keys from lower levels than I'm using in a query, should I? It would not make sense anyway. Does the emulator take a query level into account when performing validation? The second error, or actually a group of errors, is with respect to the Patient ID. Apparently the emulator doesn't see the blanked value I'm sending because messages say: "Error: Type 1 (mandatory) attribute (0010,0020) should be present with at least one value" and "Error: Type 2 attribute (0010,0020) should be present with at least a zero-length". Perhaps there is something wrong with my set-up? When I changed the SOP Class to Study Root, the emulator wouldn't validate incoming datasets at all. It just said there was no definition file for this class. However browsing C:\Program Files\Common Files\DVTk\Definition Files\DICOM proved otherwise.
Posted on: 2011/3/28 0:22
|
|
Transfer
|
||
Re: Level-based validation conditions |
||
|---|---|---|
|
Quite a regular
![]()
Joined:
2007/1/30 18:46 From USA
Group:
Registered Users Posts:
22
Level : 3; EXP : 41
HP : 0 / 60 MP : 7 / 1112 ![]() |
Based on the latest C:\Program Files\Common Files\DVTk\Definition Files\DICOM\Patient Root Query-Retrieve Information Model - Find.def,
Your query should have at least the following search parameter: (0x00080052, "PATIENT") #QR Level (0x00100020, LO, "1234567") # Patient ID OR (0x00080052, "PATIENT") #QR Level 0x00100020, LO, "") # Patient ID I don't think Patient Name (0x00100010) is useful without Patient ID.
Posted on: 2011/3/29 2:23
|
|
Transfer
|
||
Re: Level-based validation conditions |
||
|---|---|---|
|
Not too shy to talk
![]()
Joined:
2011/3/27 23:49 Group:
Registered Users Posts:
4
Level : 1; EXP : 21
HP : 0 / 5 MP : 1 / 34 ![]() |
Hello,
Well, this is the same as what I have shown in my excerpt. I'm querying on appropriate level with blank patient name and ID. And the emulator still maintains: "Error: Type 2 attribute (0010,0020) should be present with at least a zero-length".
Posted on: 2011/4/13 21:05
|
|
Transfer
|
||
Re: Level-based validation conditions |
||
|---|---|---|
|
Quite a regular
![]()
Joined:
2007/1/30 18:46 From USA
Group:
Registered Users Posts:
22
Level : 3; EXP : 41
HP : 0 / 60 MP : 7 / 1112 ![]() |
Using the original excerpt for reference.
******** C-Find Request Info******** ("0x00080052", VR.CS, "PATIENT") ' Query/Retrieve Level ("0x00100010", VR.PN) 'Patient's Name ("0x00100020", VR.LO) 'Patient ID The above excerpt has no value entered after VR.PN and VR.LO . I suggest the following revision where you enter "" or "abc" in the value field after the VR.PN and VR.LO as the validation process expect string values for VR.PN and VR.LO. A blank does not translate into a string value. A blank translate to nothing or no entry and this causes the validation check to generate Type 1 and 2 errors. If "" is entered, this will pass the Type 1 validation check where it expects the presence of at least one-value ("" is a one-value) and Type 2 where it expects a value with at least a zero-length ("" is zero-length). ******** C-Find Request Info******** ("0x00080052", VR.CS, "PATIENT") ' Query/Retrieve Level ("0x00100020", VR.LO, "") 'Patient ID I want to reiterated that there is no need for Patient Name as input parameter in the C-FIND-RQ structure as defined in the Patient Root Query-Retrieve Information Model - Find.def file. -bfsantosjr.
Posted on: 2011/4/14 23:48
|
|
Transfer
|
||
Re: Level-based validation conditions |
||
|---|---|---|
|
Not too shy to talk
![]()
Joined:
2011/3/27 23:49 Group:
Registered Users Posts:
4
Level : 1; EXP : 21
HP : 0 / 5 MP : 1 / 34 ![]() |
Hello and thank you for your responses. I have problems with receiving notifications from this forum, that's why I'm responding with such a delay.
Regardless of what the notation is, it indicates a tag with no-value, i.e. with a zero length. There's no \0 character terminating string values in DICOM, in contrary to C language for instance, so an empty string: "" and no value at all (a blank, as I like to call it) are virtually the same. In fact, you'll find that before a validation results table, where emulator displays received request, it uses quotes, like so: and after the table it omits them like I've shown in my original post. Furthermore, and what struggles me the most, even if I do provide a value, Q/R Emulator still doesn't recognize it. Please see attached screen shot. This issue doesn't seem to affect Storage SCP and Print SCP emulators from the Validation Tool, but since I'm currently testing queries...
Posted on: 2011/4/20 22:06
|
|
Transfer
|
||
Re: Level-based validation conditions |
||
|---|---|---|
|
Not too shy to talk
![]()
Joined:
2009/12/12 10:34 Group:
Registered Users Posts:
6
Level : 1; EXP : 47
HP : 0 / 11 MP : 2 / 118 ![]() |
Seems that this thread didn't catch much attention yet.
Since I'm running into the same dissapointing validation result using the new QR Emulator I'm trying to restart. I agree with the OP comment that it doesn't make sense at all to complain that tag (0008,0018), (0020,000D), (0020,000E) were not provided/requested in a Patient Level query. Obviously the definition files are wrong -- an advice what and where to fix that would be quite useful. I also confirm the strange error message in a Study Root QR: Skipping definition file validation: unable to find correct definition file for Dimse Command "CFINDRQ" and SOP Class UID "1.2.840.10008.5.1.4.1.2.2.1". No idea how to fix this either. Kind regards Marcus
Posted on: 2011/5/4 9:57
|
|
Transfer
|
||
Re: Level-based validation conditions |
||
|---|---|---|
|
Quite a regular
![]()
Joined:
2007/1/30 18:46 From USA
Group:
Registered Users Posts:
22
Level : 3; EXP : 41
HP : 0 / 60 MP : 7 / 1112 ![]() |
>>Obviously the definition files are wrong -- an advice what
and where to fix that would be quite useful. Ans: Definition files are never wrong you just have understand how they are structured. I need more specifics on your problem before I can help you. >> Skipping definition file validation: unable to find correct definition file for Dimse Command "CFINDRQ" and SOP Class UID "1.2.840.10008.5.1.4.1.2.2.1". Ans: There is no CFINDRQ Dimse Command in the definition file. I believe it is C-FIND-RQ. Try this and it should get you further. I have encountered the same issues that you have but I need more detailed description before I can give an answer that helps you move forward.
Posted on: 2011/5/7 0:22
|
|
Transfer
|
||
Re: Level-based validation conditions |
||
|---|---|---|
|
Not too shy to talk
![]()
Joined:
2009/12/12 10:34 Group:
Registered Users Posts:
6
Level : 1; EXP : 47
HP : 0 / 11 MP : 2 / 118 ![]() |
>>>Obviously the definition files are wrong --
> Ans: Definition files are never wrong you just > have understand how they are structured. I need > more specifics on your problem before I can help you. True statement. I managed to get it running as expected some days ago, but I can't recall what I did.... ![]() Most likely I reverted back to the older definition files. The header of "Patient Root Query-Retrieve Information Model - Find.def" gives: # DVTk Defintion File created on 10-11-2010 15:33:47 # Is that the new or old one ? >Ans: There is no CFINDRQ Dimse Command in the > definition file. I believe it is C-FIND-RQ. > Try this and it should get you further. Not sure what I shall try here... The text "CFINDRQ" is not a part of my DICOM message since the message is defined via Command Field (value 0x0020). Here is what the emulator receives and prints: Received: C-FIND-RQ (0x00000000,"0x0000004C") # Group 0000 Length (0x00000002,"1.2.840.10008.5.1.4.1.2.2.1") # Affected SOP Class UID (0x00000100,"0x0020") # Command Field (0x00000110,"0x0001") # Message ID (0x00000700,"0x0000") # Priority (0x00000800,"0x0000") # Data Set Type (0x00080020,"") # Study Date (0x00080052,"STUDY ") # Query/Retrieve Level (0x00081030,"* ") # Study Description (0x00100010,"* ") # Patient's Name (0x00100020,"") # Patient ID (0x00100030,"") # Patient's Birth Date (0x00100040,"") # Patient's Sex (0x00101000,"") # Other Patient IDs (0x0020000D,"") # Study Instance UID ... Dicom message with Dimse Command CFINDRQ received. Skipping definition file validation: unable to find correct definition file for Dimse Command "CFINDRQ" and SOP Class UID "1.2.840.10008.5.1.4.1.2.2.1". Link to Summary Result DISPLAY: Command Set attributes (0x00000000,"0x0000004C") # Group 0000 Length (0x00000002,"1.2.840.10008.5.1.4.1.2.2.1") # Affected SOP Class UID (0x00000100,"0x0020") # Command Field (0x00000110,"0x0001") # Message ID (0x00000700,"0x0000") # Priority (0x00000800,"0x0000") # Data Set Type Data Set attributes (0x00080020,"") # Study Date (0x00080052,"STUDY ") # Query/Retrieve Level (0x00081030,"* ") # Study Description (0x00100010,"* ") # Patient's Name (0x00100020,"") # Patient ID (0x00100030,"") # Patient's Birth Date (0x00100040,"") # Patient's Sex (0x00101000,"") # Other Patient IDs (0x0020000D,"") # Study Instance UID ... Still no idea how to fix that. Needless to say that the def file "Study Root Query-Retrieve Information Model - Find.def" exists - if that file is needed. Kind regards Marcus
Posted on: 2011/5/18 12:22
|
|
Transfer
|
||
You can view topic.
You cannot start a new topic.
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.





Transfer

