Chinaunix首页 | 论坛 | 博客
  • 博客访问: 409165
  • 博文数量: 159
  • 博客积分: 372
  • 博客等级: 一等列兵
  • 技术积分: 1693
  • 用 户 组: 普通用户
  • 注册时间: 2012-01-13 17:05
个人简介

致力于图形处理和移动开发。

文章分类

全部博文(159)

文章存档

2014年(77)

2013年(67)

2012年(15)

我的朋友

分类: 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(server, query,
new DicomMatchDelegate(FoundMatch));
}
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都能够灵活地发挥效用。

阅读(574) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~