如何将 Insert/Update 患者输入 DICOM WorkList RIS?
How to Insert/Update a Patient into a DICOM WorkList RIS?
我知道如何在 DICOM RIS 中查找患者,但如何 insert/update 将患者放入其中?
我使用 fo-dicom,这是我用于查找患者的代码。
我该如何插入或更新患者信息?
非常感谢!!!
public void FindFinished(DicomCFindRequest rq, DicomCFindResponse rp)
{
if (rp.Dataset != null)
{
string strNewMessage = "";
string strSep = "";
strNewMessage += strSep + "PatientID: " + rp.Dataset.Get<string>(DicomTag.PatientID);
strSep = " ";
strNewMessage += strSep + "PatientName: " + rp.Dataset.Get<string>(DicomTag.PatientName);
strSep = " ";
strNewMessage += strSep + "PatientAge: " + rp.Dataset.Get<int>(DicomTag.PatientAge);
strSep = " ";
strResult += strSepRisultato + strNewMessage;
strSepResult = "\r\n";
}
}
private void btnFetch_Click(object sender, EventArgs e)
{
DicomCFindRequest cfind = DicomCFindRequest.CreatePatientQuery(patientId: "1234");
cfind.OnResponseReceived = FindFinished;
strResult = "";
strSepResult = "";
DicomClient client = new DicomClient();
client.AddRequest(cfind);
client.Send(txtHost.Text, Convert.ToInt16(txtPort.Text), ckTLS.Checked, txtFromAETitle.Text, txtToAETitle.Text);
txtResponse.Text = strRisultato;
}
DICOM 模态工作列表不提供插入和更新数据的功能。它纯粹是一个查询工作列表中已经存在的数据的服务。
通常通过 HL7 协议发送相关的订购消息来填充工作列表,HL7 协议是一种完全不同的医疗保健信息交换标准。因此,一个完整的工作列表服务器通常有一个 HL7 接口,用于从 RIS 或 HIS 接收信息,还有一个 DICOM 接口,用于 DICOM 模态查询该信息。
这个难题的第三个方面是 DICOM MPPS(模态执行程序步骤)服务,它允许 DICOM 模态将信息传回工作列表服务器,但这只是关于订单状态的信息从工作列表中收到。他们可能会将订单状态更新为“已开始”、“已完成”、“已取消”,并提供一些附加信息,例如拍摄了多少张图片等。
2009年加入DICOM标准的Unified Worklist and Procedure Step(DICOM supplement 96)具有SCU请求SCP添加worklist的机制。在这种情况下,工作列表是统一程序步骤 (UPS) 实例的列表。您可以使用 UPS Push SOP Class 作为 SCU(N-CREATE 命令)来指示 SCP 创建新的 UPS 实例(SCP 工作列表中的新工作项)。
请注意,SCP 可以是一个工作列表管理器,例如为其他系统维护工作列表的 RIS,也可以是一个执行系统本身,用于管理内部工作列表。有关详细信息,请参阅 PS3.4 节 CC.2.5。
我知道如何在 DICOM RIS 中查找患者,但如何 insert/update 将患者放入其中? 我使用 fo-dicom,这是我用于查找患者的代码。 我该如何插入或更新患者信息? 非常感谢!!!
public void FindFinished(DicomCFindRequest rq, DicomCFindResponse rp)
{
if (rp.Dataset != null)
{
string strNewMessage = "";
string strSep = "";
strNewMessage += strSep + "PatientID: " + rp.Dataset.Get<string>(DicomTag.PatientID);
strSep = " ";
strNewMessage += strSep + "PatientName: " + rp.Dataset.Get<string>(DicomTag.PatientName);
strSep = " ";
strNewMessage += strSep + "PatientAge: " + rp.Dataset.Get<int>(DicomTag.PatientAge);
strSep = " ";
strResult += strSepRisultato + strNewMessage;
strSepResult = "\r\n";
}
}
private void btnFetch_Click(object sender, EventArgs e)
{
DicomCFindRequest cfind = DicomCFindRequest.CreatePatientQuery(patientId: "1234");
cfind.OnResponseReceived = FindFinished;
strResult = "";
strSepResult = "";
DicomClient client = new DicomClient();
client.AddRequest(cfind);
client.Send(txtHost.Text, Convert.ToInt16(txtPort.Text), ckTLS.Checked, txtFromAETitle.Text, txtToAETitle.Text);
txtResponse.Text = strRisultato;
}
DICOM 模态工作列表不提供插入和更新数据的功能。它纯粹是一个查询工作列表中已经存在的数据的服务。
通常通过 HL7 协议发送相关的订购消息来填充工作列表,HL7 协议是一种完全不同的医疗保健信息交换标准。因此,一个完整的工作列表服务器通常有一个 HL7 接口,用于从 RIS 或 HIS 接收信息,还有一个 DICOM 接口,用于 DICOM 模态查询该信息。
这个难题的第三个方面是 DICOM MPPS(模态执行程序步骤)服务,它允许 DICOM 模态将信息传回工作列表服务器,但这只是关于订单状态的信息从工作列表中收到。他们可能会将订单状态更新为“已开始”、“已完成”、“已取消”,并提供一些附加信息,例如拍摄了多少张图片等。
2009年加入DICOM标准的Unified Worklist and Procedure Step(DICOM supplement 96)具有SCU请求SCP添加worklist的机制。在这种情况下,工作列表是统一程序步骤 (UPS) 实例的列表。您可以使用 UPS Push SOP Class 作为 SCU(N-CREATE 命令)来指示 SCP 创建新的 UPS 实例(SCP 工作列表中的新工作项)。
请注意,SCP 可以是一个工作列表管理器,例如为其他系统维护工作列表的 RIS,也可以是一个执行系统本身,用于管理内部工作列表。有关详细信息,请参阅 PS3.4 节 CC.2.5。