HealthSamurai / hl7-parser

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

hl7-parser

Принцип работы

Поведение парсера управляется файлами метаданных - metadata/segments.edn и metadata/types.edn. Они описывают структуру представления сообщения HL7v2. Файл segments.edn на момент написания документации содержит лишь некоторые из сегментов HL7v2, полные метаданные хранятся в resources/full_segments.edn. Сам по себе этот файл не используется в работе парсера. Его можно использовать как источник сырых метаданных при необходимости добавить поддержку других сегментов.

Схема выходной структуры данных описывается в файле metadata/rules.edn. Каждый ключ описывает отдельное правило обработки данных. Конфигурация правила состоит из трех ключевых слов - :starts, :consumes и :groups.

:starts указывает, наличие какого сегмента (или правила) необходимо, чтобы данное правило сработало. Из этого следует ограничение - каждое правило может быть потребовано только один раз.

:consumes перечисляет сегменты HL7v2, результат разбора которых будет включен в данное правило. Указанный сегмент может отсутствовать в исходном сообщении.

:groups позволяет собрать результат работы других правил и поместить его внутрь данного правила. Правила, обработанные с помощью этого ключевого слова, исключаются из выходной структуры данных.

С чего начать?

Поиграть с примерами использования в test/api_test.clj

Особенности работы

Любое изменение существующих правил в metadata/rules.edn должно быть согласовано с другими пользователями парсера для сохранения обратной совместимости.

About


Languages

Language:Clojure 100.0%