我知道如何在DICOM RIS中找到患者,但如何将患者插入/更新? 我使用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;
}
答案 0 :(得分:2)
DICOM模态工作清单不提供插入和更新数据的功能。它纯粹是一种用于查询工作清单中已存在的数据的服务。
工作清单通常通过HL7协议发送相关的订购消息来填充,这是一种完全不同的医疗保健信息交换标准。因此,完整的工作列表服务器通常具有用于从RIS或HIS接收信息的HL7接口和用于查询该信息的DICOM模式的DICOM接口。
这个难题的第三个方面是DICOM MPPS(模态执行过程步骤)服务,它允许DICOM模式将信息传递回工作列表服务器,但这只是关于从中接收的订单状态的信息。工作清单。他们可能会将订单状态更新为已启动,已完成,已取消,并提供一些其他信息,例如拍摄的图像数量等。
答案 1 :(得分:1)
统一工作清单和程序2009年添加到DICOM标准的步骤(DICOM supplement 96)具有请求SCP通过SCU添加工作清单的机制。在这种情况下,工作清单是Unified Procedure Step(UPS)实例的列表。您可以使用UPS Push SOP Class作为SCU(N-CREATE命令)来指示SCP创建新的UPS实例(SCP工作清单中的新工作项)。
请注意,SCP可以是RIS等工作清单管理器,用于维护其他系统的工作清单,也可以是管理内部工作清单的执行系统。有关详细信息,请参阅PS3.4部分CC.2.5。