ПЕРЕЧЕНЬ СОКРАЩЕНИЙ И ОБОЗНАЧЕНИЙ 4
ВВЕДЕНИЕ 5
1 Анализ предметной области 8
1.1 Описание системы учета данных об общеобразовательных
учреждениях 8
1.2 Поиск в рамках спецификации FHIR 9
1.2.1 Тип параметра String 10
1.2.2 Тип параметра Token 10
1.2.3 Тип параметра Reference 12
1.2.4 Тип параметра Date или Datetime 12
1.2.5 Обработка ошибок 13
1.3 Параметры поиска системы 14
1.3.1 Общие параметры 14
1.3.2 Специальные параметры 15
1.3.3 Параметры, определяющие результат поиска 24
1.4 Теоретическое обоснование транслятора 25
1.5 Правила трансляции 32
2 Разработка машины вывода 56
3 Тестирование 66
3.1 Позитивное функциональное тестирование 66
3.2 Негативное функциональное тестирование 81
ЗАКЛЮЧЕНИЕ 83
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 84
ПРИЛОЖЕНИЕ А Листинг программы 85
ПРИЛОЖЕНИЕ Б Презентация 114
В современном постиндустриальном обществе информационные технологии стали одним из инструментов повышения эффективности государственного и муниципального управления. Активно развиваются технологии управления бюджетной, налоговой системами, технологии государственных информационных порталов, реализующих взаимодействие граждан и органов управления через компьютерные сети, технологии накопления информации в единых государственных базах данных, технологии муниципальных информационных систем, информационных систем жилищно-коммунальной сферы (в направлении создания единых расчетнокассовых центров), геоинформационных систем (в направлении создания земельных и городских кадастров), электронного документооборота.
Главным российским ИТ-проектом последних лет стал переход к оказанию государственных услуг в электронном виде. С 1 июля 2012 года все регионы и муниципалитеты начали постепенный переход на электронное межведомственное взаимодействие [1]. В рамках данного проекта было написано решение по информатизации сферы образовательных услуг - информационная система «Реестр организаций, осуществляющих образовательную деятельность».
Система учета данных об общеобразовательных учреждениях разработана на языке Java, фреймворк Spring [2,3], на основе спецификации FHIR. FHIR - это стандарт обмена данными в области здравоохранения, опубликованный компанией HL7 [4]. Спецификация FHIR описывает набор ресурсов и несколько различных фреймворков для обмена ресурсами между различными системами в форматах XML, JSON, RDF. Спецификация носит общий характер, за счет чего имеет широкую применимость. FHIR определяет множество достаточно общих типов данных для использования в ресурсах. Спецификация имеет полную общедоступную документацию: ознакомиться с составом полей типов данных Meta, Identifier, Reference, Coding и других использованных в системе типов возможно на официальном сайте стандарта.
FHIR описывается как RESTful спецификация, основанная на общепринятом на отраслевом уровне использовании термина REST [5]. FHIR основан на стандартизации структур ресурсов и интерфейсов, это может рассматриваться как нарушение принципов REST, но является ключом к обеспечению согласованной совместимости между различными системами.
Для каждого типа ресурса определен один и тот же набор операций, которые могут использоваться для управления ресурсами, в их числе поиск экземпляров ресурса по параметрам.
Цель исследования: создание механизма поиска экземпляров ресурсов в нереляционной базе данных под управлением СУБД MongoDB в соответствии со спецификацией FHIR.
Объект исследования: электронное взаимодействие государственных и региональных ведомств, в чьей юрисдикции полностью или частично находится сбор, анализ, обработка и хранение данных об организациях, осуществляющих образовательную деятельность.
Предмет исследования: механизм поиска в системе сбора и анализа данных об общеобразовательных учреждениях.
Задачи исследования:
• проанализировать входные и агрегирующие запросы в контексте грамматики,
• определить состав поисковых параметров системы, их класс по спецификации FHIR, ассоциированные поля,
• выявить правила трансляции в направлении от входного URL-запроса с поисковыми параметрами к агрегирующим запросам к СУБД MongoDB,
• спроектировать механизм трансляции,
• определить используемые технологии разработки,
• разработать и протестировать механизм поиска в составе системы сбора и анализа данных об общеобразовательных учреждениях.
Методы и подходы: для достижения поставленных целей в работе применяются методы системного анализа и объективности, метод комплексного исследования; объектно-ориентированное программирование на языке JAVA, применение фреймворков для быстрой разработки, использование паттернов проектирования.
Теоретическая и практическая значимость результатов: в процессе исследования были выведены продукционные правила трансляции с опорой на типы FHIR, типы ассоциированных полей, вложенность и кратность. Написан и отлажен механизм поиска, основанный на продукционной модели знаний. Решение обеспечит функционал поиска по критериям в нереляционной базе данных под управлением СУБД MongoDB в соответствии со спецификацией FHIR, будет интегрировано в систему сбора и анализа данных об общеобразовательных учреждениях и может быть использовано в иных системах с похожим стеком технологий.
В рамках данной магистерской работе были выведены и зафиксированы две укорачивающие леволинейные контекстно-свободные грамматики, выведены продукционные правила вывода, разработан, отлажен и протестирован механизм продукционного вывода с опорой на типы FHIR, типы ассоциированных полей, вложенность и кратность. Библиотека соответствует предъявляемым к ней функциональным требованиям.
Решение обеспечивает функционал поиска по критериям в нереляционной базе данных под управлением СУБД MongoDB в соответствии со спецификацией FHIR, интегрировано в систему сбора и анализа данных об общеобразовательных учреждениях и может быть использовано в иных системах с похожим стеком технологий, в частности, в дальнейшем библиотека будет использоваться в системах «Реестры обучающихся» и «Реестры педагогических рабтников».