如何从HealthKit CDADocumentSampleWithData确定CCD错误行:validationError

时间:2018-10-20 17:01:16

标签: health-kit ccd cda

我正试图将Clinical Document Architecture (CDA) Continuity of Care Document (CCD)存储到HealthKit中以显示在香港的“健康记录”小节下。

HealthKit的CDADocumentSampleWithData:startDate:endDate:metadata:validationError:给我:

错误代码3

userInfo显示:

[0]
Key: NSLocalizedDescription
Value: Failed to validate XML, error code 1871
[1]
Key: HKDetailedCDAValidationErrorKey
Value: Element '{urn:hl7-org:v3}reference': This element is not expected. Expected is ( {urn:hl7-org:v3}translation ).\nElement '{urn:hl7-org:v3}reference': This element is not expected. Expected is ( {urn:hl7-org:v3}translation ).\n

关于CDA CCD中问题所在的位置(哪行),这没有任何线索。更令人困惑的是,Value元素将字符串显示为两次,如上所示...并且没有行号。

reference”和“ translation”可能是一个线索。不幸的是,在CCD的422行中发现了“ reference”一词,在46行中发现了46条“ translation”。

我希望可以张贴CCD,但其中包含PHI (protected health information),所以我不能。

任何提示或技巧表示赞赏!

3 个答案:

答案 0 :(得分:1)

要验证CDA,无论我是使用Oxygen XML之类的XML工具在桌面上进行本地验证还是在Java上进行验证,我始终使用HL7官方架构或schematrons。在这两种情况下,我都可以获得详细的信息和错误的位置,因此这就是为什么我建议使用此选项的原因。 我希望有用。

答案 1 :(得分:1)

该键原来是空的xml标记:

<reference \>

而有人认为做出回应会有所帮助:

Expected is ( {urn:hl7-org:v3}translation )

这根本没有用。 HealthKit错误基本上是没有用的,如果在克林贡语中,它将更加清楚。

要查找存在问题的行 ...我找到了一个很棒的(不太漂亮的)在线验证器,该验证器提供了相同的错误和行号:

lineNumber: 9709; columnNumber: 24; cvc-complex-type.2.4.a: Invalid content was found starting with element 'reference'. One of '{"urn:hl7-org:v3":translation}' is expected.

以及执行HealthKit无法完成的操作的在线验证器的链接:

https://www.lantanagroup.com/validator/

答案 2 :(得分:0)

  1. 您可能正在尝试使用错误的文档类型,例如将HITSP CCD解析为HL7 CCD。 确定您的CDA类型(有不同的口味和版本)。这是一篇有关如何执行此操作的好文章-https://motorcycleguy.blogspot.com/2017/01/what-version-of-ccda-document-is-this.html

  2. 验证CDA文档。确保data() { return{ msg: 'make post', content:'', posts: [], bUrl: 'http://localhost/pathikhome', } }, 元素没有出现错误。使用以下任何服务: