致力于图形处理和移动开发。
分类: C/C++
2014-01-24 10:02:48
数字化医疗是一个巨大的产业,而且合情合理。不仅对企业来说是一个难得的机遇,而且还有助于改善人们的健康。那么这些机构如何继续使用他们的传统系统和设备,而又能为病患提供最高水准的医护呢?
医疗成像软件开发工具包提供的Print to PACS完美地解决了这些问题。本文我们将探讨Print to PACS的优势和用途,希望对LEADTOOLS Medical Imaging SDKs使用者有帮助。
Print to PACS的优势和用途
在进行医疗数字化的迁移过程中,许多医疗企业由于其天价费用而终止迁移。发生此种情况时,他们开始逐渐对设备进行升级,造成组织内存在多个不同系统。此时,Print to PACS应运而生。
Print to PACS是一个虚拟打印机驱动程序,可从带有打印功能的任意程序中捕获输出,随后进行转换并将信息存储到一个现成的系统。
这样做最大的好处就是,传统系统或模式可以符合有意义使用的标准,并使你的组织通向成功的最佳路径。其次,由于传统设备可以继续被使用,原来的一些材料和用品也不再必须,因此它会为你在升级和营业成本中节约一笔难以置信的金额。
LEADTOOLS Print to PACS 的使用
Print to PACS可以通过多种方式与系统进行集成,但典型的程包含相同的基本步骤:图像/数据采集,查询/检索病人信息,将数据集存储至PACS作为二次捕获或封装。
Stream _emfStream;
void printer_EmfEvent(object sender, EmfEventArgs e)
{
_emfStream = e.Stream; // Save globally to put in DICOM Data Set later
}
打印数据被捕获为封装元文件(EMF)并储存为Stream对象。利用EMF将打印数据转换为光栅图像或可搜索PDF。下一步是要查询MWL,检索任何所需的信息以正确关联打印捕捉与患者/研究/系列。
public void QueryMWL(DicomScp server, string strAccessionNumber)
{
// Create MWL Query
ModalityWorklistQuery query = new ModalityWorklistQuery();
query.AccessionNumber = strAccessionNumber;
// Query the server and receive the DICOM Data Set
// in the DicomMatchDelegate
QueryRetrieveScu client = new QueryRetrieveScu();
client.Find
new DicomMatchDelegate
}
private void FoundMatch(ModalityWorklistResult result, DicomDataSet ds)
{
// Do something with the results.
// Most likely there are multiple results, so one solution is to
// display them to the user to select and modify.
}
如今,你已获取了患者信息,你可以生成带有所需信息的DICOM数据集并添加图像。
public DicomDataSet CreateDataSet(ModalityWorklistResult result)
{
DicomDataSet ds;
// Set the data set modality (e.g. Secondary Capture or Encapsulated PDF)
DicomElement dElement = ds.FindFirstElement(
null, DicomTag.Modality, true);
if (ds.InformationClass == DicomClassType.EncapsulatedPdfStorage)
{
ds.SetValue(dElement, "DOC");
SetEncapsulatedDocument(_emfStream);
}
else
{
ds.SetValue(dElement, "OT"); // Other
SetImage(_emfStream);
}
// Set values relating to the study and patient
if (result.AccessionNumber != null)
{
dElement = ds.FindFirstElement(null, DicomTag.AccessionNumber, true);
ds.SetValue(dElement, result.AccessionNumber);
}
if (result.PatientName != null)
{
dElement = ds.FindFirstElement(null, DicomTag.PatientName, true);
ds.SetValue(dElement, result.PatientName.FullDicomEncoded);
}
// Continue like above for each value in the ModalityWorklistResult
// and other elements required by DICOM Speci?cations...
// Add the image or encapsulated document to the data set...
return ds;
}
最后,将DICOM数据集发送到PACS并存储。
public void PushToPACS(DicomScp server, DicomDataSet ds)
{
cstore = new StoreScu();
cstore.Store(server, ds);
}
通过上述步骤后,任何传统系统都可绑到您的PACS系统,并数字化您的整个业务。从前台到医生的私人办公室,甚至到服务器机房,Print to PACS都能够灵活地发挥效用。