首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为癌症登记机构构建HL7 CCD (基于CDA) (有意义地使用Lvl2)

为癌症登记机构构建HL7 CCD (基于CDA) (有意义地使用Lvl2)
EN

Stack Overflow用户
提问于 2013-06-26 22:59:42
回答 2查看 1.1K关注 0票数 0

关于为癌症登记处生成CCD消息,我有两个问题。我已经有了一个从CCD模式(XSD)生成的CCD类。

首先,这是一个较旧的模式。它似乎是完全兼容的,但我希望能够基于最新的CDA模式生成一个新类。每当我使用从新模式生成的类并替换原始类时,

代码语言:javascript
运行
复制
serializer.Serialize(textWriterObj, cdaObj);

我正在使用MS的XSD.exe来生成这个类。我运行的是VS2012,XSD.exe版本似乎是特定于.Net Framework4.0的,但我正在处理的项目停留在2.0版本。生成的类基本相同,除了一个标记表明它是在FW4.0版本的XSD.exe中生成的。

另一个问题是在生成消息并使用官方muCrValidation工具进行验证后得到的一组错误。

代码语言:javascript
运行
复制
ERROR: In IHE PCC Cancer Diagnosis Section (1.3.6.1.4.1.19376.1.7.3.1.3.14.1), a Cancer Diagnosis must contain a Problem Concern Entry (1.3.6.1.4.1.19376.1.5.3.1.4.5.2) that contains a Cancer Diagnosis Entry (1.3.6.1.4.1.19376.1.7.3.1.4.14.1). See Section 2.5.3.2.
LOCATION: /ClinicalDocument[1]/component[1]/structuredBody[1]/component[1]/section[1]
TEST : cda:entry/cda:act[cda:templateId[@root = "1.3.6.1.4.1.19376.1.5.3.1.4.5.2"]]//cda:entryRelationship[@typeCode="SUBJ" and @inversionInd="false"]//cda:templateId[@root = "1.3.6.1.4.1.19376.1.7.3.1.4.14.1"]

这是一个奇怪的错误,因为我已经对此进行了补偿,正确的字段将显示在消息输出中。注意,它需要一个特定的动作模板ID,动作下的一个EntryRelationship,它有一个特定的TypeCode和InversionInd值,以及EntryRelationship下的另一个模板ID。

我在消息构建类中对此进行了补偿。

代码语言:javascript
运行
复制
act.templateId = new II[3];
for (int i = 0; i < act.templateId.Length; i++)
act.templateId[i] = new II();
act.templateId[0].root = "1.3.6.1.4.1.19376.1.5.3.1.4.5.2";
act.templateId[1].root = "1.3.6.1.4.1.19376.1.5.3.1.4.5.1";
act.templateId[2].root = "2.16.840.1.113883.10.20.1.27";
...
act.entryRelationship[0].typeCode = x_ActRelationshipEntryRelationship.SUBJ;
act.entryRelationship[0].inversionInd = false;
act.entryRelationship[0].templateId = new II[1];
act.entryRelationship[0].templateId[0] = new II();
act.entryRelationship[0].templateId[0].root = @"1.3.6.1.4.1.19376.1.7.3.1.4.14.1";

我已经能够消除大多数错误(和部分错误),但这种类型仍然存在。我会列出其余的,但我没有足够的字符。我想,如果我能解决这个问题,我就能相当容易地解决剩下的问题。

EN

回答 2

Stack Overflow用户

发布于 2013-11-15 18:08:06

你看过珠穆朗玛峰(http://everest.marc-hi.ca)吗?它是一个更通用的HL7v3框架,但它能够构造CDA实例。它还有一些更好的特性,比如像对待原生.NET数据类型一样对待CDA数据类型:

代码语言:javascript
运行
复制
ClinicalDocument doc = new ClinicalDocument();
doc.Title = "My CDA";
doc.EffectiveTime = DateTime.Now;

还有一个全面的eBook,其中涵盖了许多与使用该框架相关的主题(主要适用于v3消息,但也适用于CDA )。http://www.lulu.com/shop/justin-fyfe/advanced-everest-developers-handbook-ebook/ebook/product-21278619.html

票数 2
EN

Stack Overflow用户

发布于 2013-06-29 07:14:34

您是否为XmlSerializer设置了默认命名空间?

代码语言:javascript
运行
复制
XmlSerializer ser = new XmlSerializer(typeof(POCD_MT000040ClinicalDocument), "urn:hl7-org:v3");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17323660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档