Главная
АИ #50 (232)
Статьи журнала АИ #50 (232)
Практическая реализация карты прививок для медкарты частной клиники

Практическая реализация карты прививок для медкарты частной клиники

Рубрика

Информационные технологии

Ключевые слова

карта прививок
медицинская карта
интерфейс пользователя
инфоблоки Битрикс
обработка данных
генерация документов
автоматизация процессов

Аннотация статьи

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

Текст статьи

Введение

В процессе разработки карты прививок для медкарты частной клиники важнейшим этапом является создание кода программного приложения карты прививок. Этот инструмент медкарты предоставляет пользователю удобный доступ к информации о прививках, поддерживает внесение, редактирование и удаление данных, а также обеспечивает возможность выгрузки данных в различных форматах. В данной статье подробно рассматриваются основные этапы практической реализации карты прививок: от проектирования интерфейса до обработки данных и генерации документов.

Вёрстка дизайна компонентов медкарты клиента

Первым этапом в непосредственной разработке сервиса является определение пользовательского интерфейса медкарты клиента и вёрстка его прототипа. Цель этого этапа состоит в создании внешнего вида интерфейса, который предоставит пользователю удобное взаимодействие с системой и обеспечит заказчику соответствие его требованиям.

image.png

Рис. 1. Шаблон страницы в Sketch

Сначала формируется дизайн, учитывающий требования брендинга компании, особое внимание уделяется эргономике: расположению элементов, удобству навигации и читаемости данных – для этого подходят такие онлайн-сервисы как Sketch, Figma. Проектируется адаптивная вёрстка, которая корректно отображается на устройствах с различными размерами экранов. Прототипы должны предусматривать основные пользовательские сценарии: просмотр данных медкарты, добавление/редактирование записей, поиск информации. Проверяется корректность отображения элементов интерфейса на популярных браузерах.

Создание хранилища, получение и вывод данных клиента

Этот этап включает в себя настройку структуры хранения данных в виде инфоблоков Битрикс (ИБ), реализацию методов получения данных и их корректного отображения в пользовательском интерфейсе. Для начала в административной панели Bitrix создаётся инфоблок, отдельно описываются свойства ИБ и задаются нужные поля для профиля пользователя Bitrix [4].

image.png

Рис. 2. Редактирование ИБ в административной панели

После завершения вёрстки дизайна сервиса и создания структуры хранения данных можно перейти на этап разработки бэкенда. Прежде чем формировать массивы для вывода информации в медицинскую карту клиента, необходимо проверить авторизацию пользователя. В Битриксе для этого используется метод CUser: IsAuthorized() применяемый для глобального объекта global $USER. Также к объекту $USER применяются два метода CUser: GetID() и CUser :GetByID(). – они позволяют извлечь массив данных пользователя.

Чтобы получить данные о прививках пользователя используется метод CIBlockElement: GetList(). Этот метод позволяет отфильтровать элементы инфоблока, указав его ID и значение свойства «ID пользователя», а также выбрать нужные поля для вывода. Дополнительно можно задать сортировку – в случае инфоблока «Карта прививок» она выполняется по возрастанию полей: «Наименование», «Дата». Результаты, возвращаемые методом, обрабатываются в цикле, а полученные данные выводятся в виде строк таблицы.

Сохранение, изменение и удаление данных

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

Обработка данных формы и их валидация на стороне клиента

Для отправки данных используется JavaScript, с подключением jQuery. Основной функцией здесь является обработка события submit для формы. Перед отправкой данных осуществляется проверка введённых значений – проверяются обязательные поля и поля с особыми условиями (например, даты) Неправильный формат даты или недопустимый возраст вызывают соответствующие сообщения об ошибке.

При успешной валидации данные формируются в объект FormData и передаются на сервер с помощью AJAX-запроса методом POST.

image.png

Рис. 3. Форма добавления прививки

Сохранение и обновление данных в инфоблоке

На сервере данные обрабатываются через PHP-скрипт, взаимодействующий с инфоблоками. Алгоритм:

  1. Проверяется авторизация пользователя с помощью метода CUser: IsAuthorized().
  2. Полученные данные сортируются, при этом ID элемента выделяется отдельно, а ID пользователя добавляется в массив данных для записи.
  3. Если ID элемента уже существует, используется метод CIBlockElement: Update() для обновления свойств. Перед обновлением выполняется проверка текущих данных с использованием CIBlockElement: GetProperty(), чтобы сохранить уже существующие значения и добавить новые.
  4. Если ID элемента не задан, создаётся новый элемент методом CIBlockElement: Add().

Удаление данных

Для удаления данных можно использовать метод CIBlockElement: Delete(), указав ID элемента. Это действие происходит при нажатии пользователем кнопки удаления записи. Предусмотреть подтверждение операции на клиентской стороне, чтобы избежать случайного удаления.

Обработка ошибок и возврат ответов

На сервере предусмотрена проверка результата каждой операции. В случае успешного выполнения команды возвращается сообщение с подтверждением. Если операция завершается с ошибкой, возвращается JSON-ответ с описанием проблемы, $el->LAST_ERROR.

Выгрузка карты прививок

На этом этапе реализуется функционал выгрузки данных пользователя в виде документов в форматах .docx или .pdf. Основная задача – обеспечить пользователю удобный способ получения данных в нужном формате по форме 063-у.

Формирование запросов на стороне клиента

Для выгрузки данных используется интерфейс, где пользователь выбирает тип документа и формат файла. Обработчик событий кнопки «Скачать» определяет маршрут для выполнения запроса. Для карты прививок это – /getvaccination/{userID}/{selectedFormat}. Клиент получает в ответе адрес на файл, по которому создаётся временная ссылка. Она автоматически активируется для начала загрузки.

image.png

Рис. 4. Форма выбора файла для скачивания

Генерация карты прививок

Данные о прививках извлекаются с использованием PHP-скрипта, вызываемого через библиотеку execPhp [2]. Они группируются по типу прививки и подготавливаются в виде, совместимом с шаблоном документа.

На основе шаблона документа и обработанных данных, с помощью библиотеки easy-template-x создаётся файл .docx – он сохраняется в директории с уникальным именем [1].

Если выбран формат PDF, .docx файл преобразуется в PDF с использованием команды из библиотеки LibreOffice: /usr/bin/soffice --headless --convert-to pdf --outdir {output_dir} {input_file} [3].

Конечный файл сохраняется в директории /vacFiles/, затем сервер возвращает клиенту URL для скачивания.

image.png

Рис. 5. Записи о прививках в формате 063-у

Заключение

Предложенное программное решение позволяет эффективно реализовать систему управления картой прививок в медицинской карте клиента за счёт продуманного интерфейса, надежной системы хранения и обработки данных, а также функционала выгрузки документов. Внедрение данного сервиса в частной клинике не только оптимизирует внутренние процессы, но и повысит качество обслуживания пациентов. Разработанная система может быть масштабирована и адаптирована для внедрения в сервис дополнительных функций, что подчеркивает её практическую значимость и потенциал для дальнейшего развития.

Список литературы

  1. Документация easy-template-x [Электронный ресурс]. – Режим доступа: https://www.npmjs.com/package/easy-template-x (дата обращения: 13.12.2024).
  2. Документация execPhp [Электронный ресурс]. – Режим доступа: https://github.com/kerimdzhanov/execphp (дата обращения: 13.12.2024).
  3. Документация LibreOffice [Электронный ресурс]. – Режим доступа: https://help.ubuntu.ru/wiki/libreoffice (дата обращения: 13.12.2024).
  4. Документация для разработчиков Bitrix Framework [Электронный ресурс]. – Режим доступа: https://dev.1c-bitrix.ru/api_help/ (дата обращения: 26.11.2024).

Поделиться

47

Зебрев И. И., Клепикова Т. Е., Клепиков А. К. Практическая реализация карты прививок для медкарты частной клиники // Актуальные исследования. 2024. №50 (232). Ч.I.С. 35-40. URL: https://apni.ru/article/10816-prakticheskaya-realizaciya-karty-privivok-dlya-medkarty-chastnoj-kliniki

Обнаружили грубую ошибку (плагиат, фальсифицированные данные или иные нарушения научно-издательской этики)? Напишите письмо в редакцию журнала: info@apni.ru

Другие статьи из раздела «Информационные технологии»

Все статьи выпуска
Актуальные исследования

#51 (233)

Прием материалов

14 декабря - 20 декабря

осталось 3 дня

Размещение PDF-версии журнала

25 декабря

Размещение электронной версии статьи

сразу после оплаты

Рассылка печатных экземпляров

17 января