Глоссарий
*********

Общие термины
=============

.. glossary::
   :sorted:

   **VCLib**
      VCLib (``VitaCore Library``) — это универсальная библиотека, которая служит *фреймворком* или *ядром* для системы IES. Библиотека предоставляет общую функциональность, стандартизированные компоненты и паттерны для интеграции между различными проектами экосистемы VitaCore.

   **IES**
    (``АИС``, ``МедЭксперт`` или ``Система``) — информационная система, предназначенная для комплексной автоматизации деятельности территориальных фондов ОМС. Подробнее см. на сайте: `<https://vitacore.ru/products/>`_.

   **Клиентские модули**
      Клиентские модули — компоненты системы, отвечающие за определённую функциональность в зависимости от роли пользователя.

   **Роли**
      Наборы прав доступа, определяющие возможности пользователей в системе. Подробнее см. в разделе :ref:`roles`.

   **Шаблоны**
      Предопределённые структуры для автоматизации процессов (например, текстовые шаблоны для описания сущностей).

   **Группировщик**  
      Инструмент для организации данных в отчетах по заданным критериям. Он определяет структуру осей отчета (например, заголовки строк или столбцов), позволяя группировать и агрегировать данные (суммы, количество записей) по выбранным атрибутам сущности.

   **Вложенный отчёт**  
      Составной элемент отчёта с собственными правилами отбора данных.

   **Шаблон печатной формы**  
      Файл (например, ``.docx`` или ``.xlsx``), определяющий внешний вид отчета.

   **Списочный отчёт**  
      :term:`Отчет`, выводящий данные в виде списка на основе шаблона. Такой формат позволяет удобно структурировать информацию и облегчает её восприятие, что особенно полезно для анализа и представления больших объёмов данных.

   **МО**
      (*Медицинское учреждение*) это организация, предоставляющая медицинские услуги, такие как больницы, поликлиники, медицинские центры и другие учреждения здравоохранения.

   **СМО** 
      (*Страховая медицинская организация*) — это организация, занимающаяся медицинским страхованием, которая предоставляет услуги по обязательному или добровольному медицинскому страхованию и организует доступ граждан к медицинским услугам.

   **ОМС**
      (*Обязательное медицинское страхование*) — система, обеспечивающая гражданам доступ к медицинским услугам за счет средств, собранных от страховых взносов.

   **ТФОМС** 
      (*Территориальный фонд обязательного медицинского страхования*) — это государственный орган, который управляет средствами обязательного медицинского страхования на уровне региона. Отвечает за финансирование медицинских учреждений и контроль за качеством предоставляемых медицинских услуг.

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

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

   **Сущность**
      Логическая модель какого-либо реально существующего объекта – например, организации, физического лица, документа и т.д., факт существования и определенные характеристики которого необходимо учесть в системе. Каждая сущность имеет ключ – один или несколько :term:`атрибутов <атрибут>`, однозначно идентифицирующих экземпляр сущности.

   **Атрибут**
      Характеристика или свойство сущности, которое описывает её особенности и хранит определённые значения. В контексте форм и баз данных атрибуты могут иметь различные типы, такие как обычные атрибуты, атрибуты-ссылки на другие таблицы (Parent, Child, Link) и числовые атрибуты с перечислениями (Choice), что позволяет структурировать и организовывать данные в системе.

   **Экземпляр сущности**
      Набор конкретных значений :term:`атрибутов <атрибут>` сущности, которой принадлежит этот экземпляр. Каждый экземпляр сущности имеет уникальный идентификатор (значение ключа). Экземпляры сущности образуют список, структура которого определяется описанием сущности в системе.

   **Коллекция**
      Набор связанных объектов (элементов) одной сущности, объединённых по определённому признаку.

   **Лицензирование**
      Механизм контроля доступа к разработанным функциям на основе программных продуктов и :term:`схем<схема>`. Подробнее в главе см. в главе *Лицензирование*.
   
   **Управляющие инструкции**
      Управляющие инструкции представляют собой набор правил и команд, которые определяют, как данные должны быть извлечены, обработаны и представлены в :term:`списочном отчете <Списочный отчёт>`. Инструкции включают в себя определение сущности, правила отбора данных, права доступа и форматирование данных, что позволяет автоматизировать процесс создания отчетов и настраивать их в соответствии с потребностями пользователя.

   **Генератор управляющих инструкций**
      Специализированный инструмент, который позволяет создавать готовые :term:`управляющие инструкции` для создания :term:`отчетов<отчет>`. Генератор позволяет пользователям быстро и эффективно разрабатывать инструкции, которые определяют, как данные должны быть извлечены и обработаны. В системе имеется обновленный 

   **Отчет**
      Документ, формируемый на основе данных, которые хранятся в базе данных приложения. Отчеты нужны для автоматизированного создания структурированных документов (таблиц, форм, статистики) на основе данных системы, чтобы упростить анализ, отчётность и принятие решений без участия разработчиков. Обычно отчет представлен в виде таблицы (или нескольких таблиц).

   
   **МТР**
      Межтерриториальные расчеты — это система финансовых взаиморасчетов между территориальными фондами ОМС за медицинскую помощь, оказанную застрахованным лицам вне региона их постоянного проживания.

   **ФЛК**
      Формально-Логический Контроль — это процедура проверки электронных документов на соответствие формальным правилам, включая полноту данных, корректность форматов, валидность кодов и логическую согласованность показателей.

   **ФРЗЛ**
      Форма Регистрации Застрахованных Лиц  — это электронный документ (или соответствующий раздел в системе), содержащий персональные данные и страховую информацию о застрахованном гражданине. Основное назначение ФРЗЛ — учёт и идентификация застрахованных лиц в системе обязательного медицинского страхования.

   **МЭК**
      Медико-Экономический Контроль представляет экспертизу, проводимую для проверки объёма, сроков и стоимости оказанной медицинской помощи на соответствие законодательным нормативам. По результатам МЭК формируется акт с указанием выявленных нарушений и сумм к удержанию.

   **Платежные поручения**
      Документы, формируемые в системе для осуществления расчетов с медицинскими организациями и территориальными фондами ОМС на основании проверенных и принятых к оплате счетов-реестров. Платежные поручения обеспечивает связь между реестрами оказанных услуг и фактическими платежами, что необходимо для финансового учета и контроля.
   **Акты от СМО**
      Документы, поступающие в систему от страховых медицинских организаций по результатам проведенной ими экспертизы качества медицинской помощи. Содержат результаты проверок случаев лечения застрахованных лиц. На основании актов от СМО в системе может проводиться реэкспертиза и формироваться претензионная работа. Подробнее см. в :ref:`smo_acts`.

   **Претензия**
      Документ, формируемый в системе на основании актов от СМО или результатов медицинской экспертизы. Направляется в адрес медицинской организации для урегулирования нарушений, выявленных в ходе экспертизы качества медицинской помощи. Создаются с помощью :term:`актов от СМО <акты от СМО>`.

   **Счет-реестр**
      Основной документ расчетов между участниками системы ОМС, содержащий сведения об оказанной медицинской помощи и предъявляемый к оплате. Система имеет отдельный модуль для работы со счетами-реестрами — см. раздел :ref:`regaccref0`.
      
   **МЭЭ**
      Медико-экономическая экспертиза — проверка документации (медицинской и финансовой) на соответствие установленным требованиям. Проводится штатными экспертами СМО (чаще педиатрами и терапеватами). Экспертизы МЭЭ требуют меньшей квалификации, т.к. обычно проверяется заполнение ПМД. Сведение об эксперте не передаются в ТФОМС и не контролируются. Подробнее см. в разделе :ref:`medexpref`.

   **ЭКМП**
      Экспертизы качества медицинской помощи — оценка своевременности, правильности и эффективности оказанной медицинской помощи. Требует привлечения внештатных и узконаправленных специалистов (кардиологи, хирурги и т.д.). Такие экспертизы могут проводится в других городах и могут занять больше времени (в отличие от МЭЭ). Сведения передаются в ТФОМС и ФФОМС. Подробнее см. в разделе :ref:`medexpref`.

   **пМЭК**
      Повторный :term:`МЭК` — это повторное проведение медико-экономического контроля для устранения разночтений или подтверждения выводов первичной экспертизы. Подробнее см. в разделе :ref:`medexpref`.

   **Отбор**
      В контексте :term:`счетов-реестров <счет-реестр>`, процесс выбора медицинских случаев (законченных случаев лечения) из реестров для проведения :term:`МЭЭ` или :term:`ЭКМП`. Осуществляется по заданным критериям (фильтрам) — например, по диагнозу, виду помощи, стоимости лечения, категории пациента и др. Результатом отбора является список случаев, направляемых на экспертизу. Подробнее см. в разделе :ref:`medexpref`.

   **МДЭ**
      Мультидисциплинарная экспертиза —  это коллегиальная экспертиза комиссией врачей-экспертов разных специальностей для установления диагноза, степени утраты функций и других экспертных вопросов. Подробнее см. в разделе :ref:`medexpref`.

   **Реэкспертиза**
      Повторное проведение медицинской экспертизы (:term:`ЭКМП`/:term:`МЭЭ`/:term:`пМЭК`), осуществляемое для проверки и оценки обоснованности заключения первичной экспертизы. Подробнее см. в разделе :ref:`medexpref`.


Технические термины
===================

.. glossary::
   :sorted:

   **Парсер**
      Парсер лексем (``Parser`` или ``ANTLR Parser``) анализирует структуру и синтаксис кода лексем, преобразуя их в понятный для системы формат. Парсер проверяет корректность написания лексем, выявляет ошибки и предупреждает пользователя о возможных проблемах. После успешной обработки лексемы передаются в :term:`интерпретатор`.

   **Лексема**
      Это код со специальным синтаксисом для создания запросов, условий и критериев для поиска данных, фильтрации и другой работы с данными. Лексемы обрабатываются :term:`парсером <Парсер>`. Подробнее см. в главе :ref:`lexemref`.
      
   **Интерпретатор**
      Интерпретатор (``Evaluate``) — это компонент системы, который выполняет (интерпретирует) обработанные парсером лексемы, превращая их в конкретные операции над данными.

   **Репликация**
      Механизм синхронизации данных между основной базой данных и её копиями (репликами). Они используются для распределения нагрузки и повышения отказоустойчивости системы.

   **Фильтры веб-сервисов**
      Правила отбора данных для :term:`API`. Например, фильтр *только активные записи*.

   **Маппирование**
      Процесс сопоставления или преобразования данных из одной структуры или формата в другой. Часто используется для связывания объектов с записями в базе данных, а также для преобразования данных между различными уровнями приложения.

   **Инструкция**
      Код или команда, которая выполняется в ответ на определённые действия с сущностью метаданных. Она может быть представлена в виде хранимой процедуры или :term:`лексемы <Лексема>`, позволяя настраивать автоматические реакции системы на изменения данных. Выбор типа инструкции определяет способ реализации и выполнения заданного кода.

   **API** 
      (*Application Programming Interface*) — это набор правил и протоколов, который позволяет различным программным приложениям взаимодействовать друг с другом. Определяет методы и форматы, с помощью которых одна программа может запрашивать и обмениваться данными с другой.

   **Каскадное удаление**
      Механизм в реляционных базах данных, который автоматически удаляет связанные записи в других таблицах при удалении записи из основной таблицы. Позволяет поддерживать целостность данных, предотвращая наличие "сиротских" записей, которые ссылаются на удалённые объекты.
   
   **Модель DTO**  
      Модель передачи данных между клиентом и сервером. Модели DTO (Data Transfer Object) содержат настройки отображения сущности на web-платформе и помогают обозначить объем передаваемых данных, упрощая процесс обмена информацией.

   **Холдер**  
      Компонент для кэширования данных и уменьшения нагрузки на сервер. Он временно хранит данные, чтобы избежать повторных запросов к серверу, что особенно полезно при работе с часто запрашиваемой информацией. Подробнее см. в разделе :ref:`holdersref`.

   **Веб-алиас** 
      Наименование или псевдоним сущности (например, для *отделения* это *DIVISON*). Используется для упрощения передачи данных через API. Также позволяет обращаться к сущности под более удобным или понятным именем для различных операций (например, чтобы настроить фильтрацию данных или задать правила отображения :term:`атрибутов <атрибут>`).

   **Веб-сервис**
      Механизм для интеграции системы с внешними приложениями через :term:`API`. Позволяет передавать данные сущностей (например, справочников или документов) в веб-приложения, мобильные приложения или другие системы в стандартизированном формате (чаще JSON/XML). Подробнее см. в разделе :ref:`webserv0`.

   **XML-редактор**  
      Инструмент для работы с XML-кодом выражений. Позволяет напрямую работать с кодом, когда графического конструктора недостаточно для сложных задач. Используется для тонкой настройки правил валидации, шаблонов отчётов и интеграционных процессов. Подробнее см. в разделе :ref:`editor`.

   **Обработчик процессов**
      Механизм автоматического выполнения заданных действий (скриптов или процедур) при наступлении определённых событий в системе. Он позволяет реализовать сложную бизнес-логику без изменения исходного кода приложения. Подробнее см. в разделе :ref:`processor`.

   **Серверы-реплики**
      Копии базы данных для распределения нагрузки. Например, отдельный сервер для отчётов.

   **Валидация данных**
      Процесс проверки корректности и соответствия данных установленным правилам и условиям перед их сохранением или обработкой. Включает в себя определение условий валидации, типов валидации (*ошибка* или *предупреждение*) и контекста, в котором применяется проверка, что позволяет обеспечить целостность и качество данных в системе.


   **Выражение**
      В контексте :term:`Редактора выражений<редактор выражений>` и  :term:`лексем <Лексема>`, набор инструкций для операций с данными. Например, фильтрация, валидация и т.д.
   
   **Оператор**  
      В контексте :term:`лексем <Лексема>`, символ или функция для выполнения операций. Например, ``=``, ``LIKE``, ``AND``.

   **Тестировщик**
      Тестировщик :term:`лексем <Лексема>` предназначен для проверки работоспособности заданных лексем, что важно для обеспечения корректности и функциональности кода. Выполняет парсинг указанного кода, что позволяет выявлять синтаксические и логические ошибки, а также предоставляет информацию о возможных проблемах. Кроме того, может конвертировать код в формат XML, что может упростить его дальнейшую обработку. Также помогает разработчикам быстрее находить и исправлять ошибки перед использованием лексем в других редакторах.

   **Функция**  
      В контексте :term:`лексем <Лексема>` является предопределённой операцией. Например, функция ``DateDiff`` для расчёта разницы дат.

   **Редактор выражений**  
      Редактор выражений (или *графический конструктор*) — это инструмент в составе системы для визуального создания и редактирования формул, условий фильтрации и правил валидации данных. Он позволяет собирать выражения из готовых элементов (полей, операторов, функций) без работы с кодом. Подробнее см. в разделе :ref:`editor`.

   **Ref-таблица**
      (*RefTable* или *таблица-справочник*) — это таблица в базе данных, которая содержит фиксированный набор значений, используемых для ссылки из других таблиц. При выборе :term:`маппирования <маппирование>` «Ссылка на таблицу» указывается конкретная таблица-справочник, что позволяет устанавливать связи между данными и обеспечивать целостность данных.

   **Схема**
      Структурированный набор функциональных компонентов, которые могут быть использованы в различных проектах. Каждая схема, такая как VClib, FIAS, IES или FNS, включает специфические настройки и функции, соответствующие определённым требованиям и задачам проекта. Выбор схемы зависит от того, какой функционал необходим для конкретной сущности. См. главу :ref:`licensingref`.

   **Процедура**
      Заранее написанный алгоритм (набор инструкций), выполняющий определённые действия с данными. Хранимые процедуры выполняются на уровне базы данных (SQL) и используется для сложных операций: массовые обновления, расчёты и т.д.

   **Сплиттер**
      Разделяет области или панели, также позволяя изменять их размеры. Обычно представлен в виде вертикальной или горизонтальной линии, которую можно перетаскивать. 

   **Трассировка**
      Запись последовательности событий или вызовов в системе для отладки и анализа.

   **Трэйсинг**
      Частный случай :term:`трассировки<трассировка>`, отслеживающий запросы между микросервисами с использованием уникальных идентификаторов.
   
   **Snapshot**
      Фиксированное состояние данных и системы на определённый момент времени, используемое для согласованности.

   **Cross Apply**
      Оператор SQL, который выполняет коррелированный подзапрос или табличную функцию для каждой строки основного запроса, возвращая объединённый результат в виде единого набора данных.

   **Join**
      Операция в SQL, которая объединяет данные из двух или более таблиц на основе логической связи между ними, позволяя получать результирующий набор, содержащий колонки из всех участвующих таблиц.

   **Менеджер процессов**
      Системный компонент, отвечающий за создание, выполнение, контроль и завершение процессов в рамках приложения, обеспечивая их изоляцию, распределение ресурсов и обработку ошибок.

   **Сериализация**
      Процесс преобразования объекта или структуры данных в последовательность байтов или формат, пригодный для хранения или передачи по сети, с возможностью последующего восстановления (десериализации) в исходное состояние.

   **Heartbeat**
      Периодический сигнал или сообщение, отправляемое для подтверждения активности соединения между клиентом и сервером, предотвращая его разрыв из-за таймаута и поддерживая соединение в активном состоянии.
   
   **Пул**
      Созданный заранее набор ресурсов (например, подключений к базе данных, потоков или объектов), которые многократно переиспользуются, чтобы избежать накладных расходов на создание и уничтожение каждого ресурса заново.

   **Контролы**
      Это визуальные компоненты интерфейса, такие как поля ввода, кнопки, выпадающие списки, таблицы и другие виджеты, которые размещаются на форме для взаимодействия с пользователем. Они используются для отображения, ввода и редактирования данных, а также для инициирования действий.

   **СМЭВ**
      (*Система Межведомственного Электронного Взаимодействия*) — информационная система, которая позволяет федеральным, региональным и местным органам власти, банкам и иным участникам обмениваться данными в электронном виде.

   **Хандлер**
      (*Handler*) — компонент системы, отвечающий за обработку конкретных типов запросов или процессов. В отличие от :term:`холдера <Холдер>`, хандлер выполняет активные действия (вычисления, проверки, запуск процессов).

   **Маршрутизация**
      Механизм распределения вычислительной нагрузки в системе, определяющий, на каком сервере должен выполняться конкретный процесс. Позволяет перенаправлять ресурсоемкие операции чтения на реплики, а операции изменения данных — на основной сервер.