使用 Fo-Dicom,如何制作不区分大小写的 MWL CFindRequest?
我可以像这样进行出色的工作列表查询...
//Worklist MWL PATIENTID query
var cf = DicomCFindRequest.CreateWorklistQuery();
cf.Dataset.AddOrUpdate(DicomTag.PatientID, szPatientIDsearch);
cf.OnResponseReceived = (DicomCFindRequest rq, DicomCFindResponse rp) =>
{
if (rp.HasDataset)
{
worklistItems.Add(rp.Dataset);
}
};
Dicom.Network.Client.DicomClient client = new Dicom.Network.Client.DicomClient(IPAddress, mwlserver.port, false, Preferences.SendingAETitle, mwlserver.AETitle, 5000, 10000, 50, 5);
await client.AddRequestAsync(cf);
await client.SendAsync();
但是如何制作Patient ID (0010,0020)
或Patient's Name (0010,0010)
案例不敏感? MWL 请求中是否有要添加/设置的 DICOM 标签?
I can make these great worklist queries like this one...
//Worklist MWL PATIENTID query
var cf = DicomCFindRequest.CreateWorklistQuery();
cf.Dataset.AddOrUpdate(DicomTag.PatientID, szPatientIDsearch);
cf.OnResponseReceived = (DicomCFindRequest rq, DicomCFindResponse rp) =>
{
if (rp.HasDataset)
{
worklistItems.Add(rp.Dataset);
}
};
Dicom.Network.Client.DicomClient client = new Dicom.Network.Client.DicomClient(IPAddress, mwlserver.port, false, Preferences.SendingAETitle, mwlserver.AETitle, 5000, 10000, 50, 5);
await client.AddRequestAsync(cf);
await client.SendAsync();
But how do you make the Patient ID (0010,0020)
or a Patient's Name (0010,0010)
case insensitive? Is there a DICOM Tag to add/set in MWL Request?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
作为 MWL SCU,控制 MWL 查询的大小写敏感性实际上(解释如下)是不可能的。此外,这更多的是关于规格;与工具包无关。所以FO-DICOM或其他,没有太大区别。
这个答案中解释了MWL通信的工作流程,可能会对您有所帮助。
C-FIND
) 发送到第三方 MWL SCP。患者 ID (0010,0020)
或患者姓名 (0010,0010)
)),SCP将生成 SQL 查询。正如您现在所看到的,在生成和执行查询(或者说底层 RDBMS 的行为)时,区分大小写完全由 SCP 控制。
作为 SCU,您无法控制这种行为。
不;没有 SCU 可以在
C-FIND
请求中添加/设置的标准 DICOM 标签来指示 SCP 运行区分大小写/不敏感的查询。正如 @kritzel_sw 在 评论中所说< /a>:
扩展协商可能是解决方案;但在实践中,我从未遇到过任何 SCP 实现了它。
作为 SCU,您不应依赖 SCP 的可选功能。
As an MWL SCU, controlling the case sensitivity of MWL Query is practically (explained below) not possible. Also, this is more about specifications; not about toolkit. So FO-DICOM or other, does not make much difference.
Workflow of MWL communication is explained in this answer which may help you.
C-FIND
) to third party MWL SCP.Patient ID (0010,0020)
or aPatient's Name (0010,0010)
as you said in question)), SCP will generate SQL Query.As you can see now, case sensitivity is controlled entirely on SCP while generating and executing the query (or say behaviour of underlying RDBMS).
You as SCU cannot control this behaviour.
No; there is no standard DICOM Tag that SCU can add/set in
C-FIND
request that indicates SCP to run case sensitive/insensitive query.As @kritzel_sw said in the comment:
Extended Negotiation may be the solution; but in practice, I never come across any SCP implemented it.
As an SCU, you should not rely on optional features of SCP.