Как определить строку ошибки CCD из HealthKit CDADocumentSampleWithData: validationError

Я пытаюсь сохранить архитектуру клинического документа (CDA) Документ о непрерывности лечения (CCD) в HealthKit для отображения в подразделе HK Health Records.

CDADocumentSampleWithData:startDate:endDate:metadata:validationError: HealthKit дает мне:

Код ошибки 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», возможно, является подсказкой. К сожалению, слово "reference" встречается на 422 строках в ПЗС, "translation" - 46 на 46 строках.

Я хотел бы опубликовать CCD, но он содержит PHI (защищенную медицинскую информацию), поэтому я не могу.

Любые подсказки или советы приветствуются!


person Cerniuk    schedule 20.10.2018    source источник
comment
Вы действительно чувствуете себя одиноким, когда ищете в stackoverflow метод какао, такой как CDADocumentSampleWithData, и единственный ответ, который вы получаете, это ваш собственный вопрос. :-)   -  person Cerniuk    schedule 20.10.2018
comment
Я здесь, чтобы помочь :)   -  person naXa    schedule 25.10.2018


Ответы (3)


Для проверки CDA я всегда использую официальные схемы или схемы HL7, если я выполняю локальные проверки на своем рабочем столе с помощью инструментов XML, таких как Oxygen XML, или если я делаю это на Java. В обоих случаях я получаю подробную информацию и местонахождение ошибок, поэтому я рекомендую этот вариант. надеюсь полезно.

person Marti Pàmies Solà    schedule 29.10.2018
comment
Я искал приложение для macOS, которое является приличным валидатором XML. Xcode анализирует XML, но, похоже, не указывает, где синтаксический анализ терпит неудачу, за исключением изменения цвета в форматировании. Слишком тонко. Не склонен иметь Java на своей рабочей станции по ряду причин. Глядя на родной. (приложение) - person Cerniuk; 18.11.2018

Ключом оказались бродячие пустые теги 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/

person Cerniuk    schedule 02.11.2018
comment
Да, у Lantana Consulting Group есть отличные инструменты для работы с CDA. - person naXa; 18.11.2018

  1. Скорее всего, вы пытаетесь использовать неправильный тип документа, например. анализировать HITSP CCD как HL7 CCD. Определите свой тип CDA (есть разные вкусы и версии). Вот хорошая статья о том, как это сделать: https://motorcycleguy.blogspot.com/2017/01/what-version-of-ccda-document-is-this.html

  2. Подтвердите документ CDA. Убедитесь, что элемент reference не находится там, где он находится по ошибке. Воспользуйтесь любым из этих сервисов:

person naXa    schedule 25.10.2018
comment
На самом деле нет, это было плохое форматирование XML из источника, но чтобы удовлетворить ваше любопытство, заявление клинического документа: <ClinicalDocument xmlns="urn:hl7-org:v3" xmlns:sdtc="urn:hl7-org:sdtc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:hl7-org:v3 CDA.xsd"> - person Cerniuk; 18.11.2018