Сегодня организации социального назначения активно используют системы электронного документооборота. Однако существующие проблемы автоматизации документооборота заставляют данные предприятия осуществлять поиск путей их решения. Так, например, в настоящее время в ООО «Поликлиника доктора Парамонова», структурном подразделении АО «Клиника доктора Парамонова», расположенном в г. Балашов [1], существовала проблема автоматизации передачи данных между клинико-диагностической лабораторией и регистратурой. Решением названной проблемы стала разработка системы электронного документооборота. Рассмотрим ее более подробно.
При реализации проекта по созданию системы электронного документооборота была развернута виртуальная машина c установленным сервером ubuntuserver 16.04.2 LTS. На данной виртуальной машине был настроен и сконфигурирован LAMP сервер
MySQL 5.5.
PHP 5.5
Apache 2.2
Установка ядра системы CMS достаточно проста, поэтому нет необходимости ее описывать.
На web-сервере была установлена CMSDrupal 7.54
Также для разработки в систему были установлены следующие модули:
Display Suite – модуль, отвечающий за вывод информации на экран без необходимости изменений шаблона сайта.
Automatic Nodetitles, который представляет собой небольшой и эффективный модуль, позволяющий скрывать поля заголовка контента в форме. Для предотвращения пустых полей заголовка содержимого можно настроить его так, чтобы генерировать заголовок по заданному шаблону.
Date. Этот пакет содержит гибкую настройку ввода/вывода даты/времени. Другие модули тоже могут использовать данное API. Также данное поле имеет всплывающий календарь.
Printer, email and PDF versions. Данный модуль позволяет создавать шаблон выводимого материала на печать, отправлять данные по электронной почте или сохранять в pdf формате.
Entity API позволяет модулям работать с любыми типами сущностей и предоставлять сущности.
Transliteration конвертирует не латинский текст в кодировку US-ASCII и адаптирует имена файлов.
Localization update предоставляет возможность автоматической загрузки и обновления переводов.
Entity Reference. Данный модуль предоставляет поле, которое может ссылаться на другие сущности.
Views позволяет создавать списки и запросы из базы данных сайта.
Для упрощения разработки заказчику было предложено разделить программный комплекс на модули или рабочие места. Для каждой группы было разработано персональное рабочее место, которое включает в себя следующие элементы: 1. Набор шаблонов ввода информации; 2. Набор форм вывода информации; 3. Определение уровня доступа к данной информации.
В качестве примера предлагаем рассмотреть таблицу хранения данных о пациентах.
Таблица 1
Таблица хранения данных пациента
МЕТКА |
МАШИННОЕ ИМЯ |
ТИП ПОЛЯ |
ВИДЖЕТ |
Title |
title |
|
|
Дата рождения |
field_date_of_birth |
||
Настройки адресов |
path |
|
|
Фамилия |
field_surname |
||
Имя |
field_name |
||
Отчество |
field_middle_name |
||
Пол |
field_sex |
||
Примечание |
body |
Форма «пациенты»
Title – данное поле является системным, и оно заполняется автоматически. Длязаполненияданногополяиспользуетсяследующийобразец: [node:field_surname] [node:field_name] [node:field_middle_name] [node:field-date-of-birth:custom:d m Y]. Для реализации автоматической генерации заголовка был использован модуль drupalAutomatic Nodetitles.
Дата рождения – данное поле содержит информацию о дате рождения пациента. В качестве типа материала использован модуль Date.
Настройка адресов – это поле, являющееся служебным и генерирующееся автоматически. Фактически данное поле становится путем для просмотра и редактирования данных о пациенте.
Фамилия, Имя, Отчеств. Данные типы полей представляют собой текстовые поля varchar длиной в 255 символов.
Пол – текстовое поле в виде списка. Для заполнения данного поля используется виджет флажки/переключатели. При вводе информации отображается как «radiobutton». Может быть выбрано только одно значение.
Примечание – текстовое поле «longtext». Содержит неограниченное количество текстовой информации.
Таблица 2
Форма хранения данных о пациенте
Рисунок 1 – Форма пользовательского интерфейса для добавления пациента.
Доступ к модулю «пациенты».
В процессе реализации данного проекта доступ к созданию, просмотру и редактированию разрешен всем группам пользователей, зарегистрированным в системе. Для данного модуля не предусмотрена отдельная страница вывода информации.
Модуль лаборатория.
Для работы лаборантов в системе имеется специальная страница «лаборатория». Данная страница состоит из 2-х блоков. Первый блок - блок быстрых действий для лаборантов. Данный блок доступен для пользователей с уровнем доступа «лаборант» и позволяет выбрать шаблон для добавления информации в систему. Второй блок представляет таблицу с формой быстрой фильтрации по содержимому. На каждой странице через модуль views в табличном формате выводятся одновременно 50 исследований. По умолчанию сортировка идет от новых к старым. Также имеется ручная сортировка от старых к новым. Доступ к просмотру результатов исследований имеется у всех групп пользователей, зарегистрированных в системе.
Рисунок 2 – Рабочее место лаборатории
Для удобства регистраторов на главной странице системы создан отдельный блок с выводом результатов исследований за текущей день.
Формы для добавления результатов исследований аналогичны форме добавления пациентов. Отличие составляет только название полей, для каждого исследования данный набор уникален.
Таблица 3
Таблица хранения биохимического исследования сыворотки (плазмы) крови, мочи
МЕТКА |
МАШИННОЕ ИМЯ |
ТИП ПОЛЯ |
ВИДЖЕТ |
Title |
title |
Элемент модуля Node |
|
Настройки адресов |
path |
Элементы формы модуля Path |
|
Номер исследования |
field_biochemical_number |
||
Пациент |
field_biochemical_patient |
||
Дата исследования |
field_biochemical_date |
||
Глюкоза |
field_biochemical_glucose |
||
Холестерин общий |
field_biochemical_cholesterol_to |
||
Триглицериды |
field_biochemical_triglycerides |
||
Хс лпвп |
field_biochemical_xs_lpvp |
||
Хс лпнп |
field_biochemical_xs_lpnp |
||
Индекс атерогенности |
field_biochemical_atherogenicity |
||
Аст |
field_biochemical_ast |
||
Алт |
field_biochemical_alt |
||
Ггт |
field_biochemical_ggt |
||
Амилаза |
field_biochemical_amylase |
||
Щелочная фосфатаза |
field_biochemical_alkaline_phos |
||
Кфк |
field_biochemical_kfk |
||
Лдг |
field_biochemical_ldg |
||
Билирубин общий |
field_biochemical_bilirubin_gene |
||
Билирубин прямой |
field_biochemical_bilirubin_stra |
||
Белок общий |
field_biochemical_protein_total |
||
Альбумин |
field_biochemical_albumen |
||
Мочевина |
field_biochemical_urea |
||
Креатинин |
field_biochemical_creatinine |
||
Мочевая кислота |
field_biochemical_uric_acid |
||
Кальции |
field_biochemical_calcium |
||
Железо |
field_biochemical_iron |
||
C-реактивный белок |
field_biochemical_c_reag_prot |
||
Ревматоидный фактор |
field_biochemical_rheumatoid_fa |
Теперь определимся с содержимым каждого поля.
Title – данное поле является системным и оно заполняется автоматически. Для заполнения данного поля используется следующий образец: Биохимическое исследование сыворотки (плазмы) крови, мочи № [node:field_biochemical_number]. Для реализации автоматической генерации заголовка был использован модуль drupalAutomatic Nodetitles.
Настройка адресов – это поле, которое является служебным и генерируется автоматически. Фактически данное поле является путем для просмотра и редактирования данных лабораторного исследования.
Номер исследования. Данное поле представляет целочисленное (Integer) значение. Содержимое данного поля используются при автоматической генерации заголовка исследования.
Пациент. Данное поле является ссылочным на таблицу с пациентами. В качестве подстановки из таблицы пациентов используется поле title.
Дата исследования. Данное поле хранит дату исследования. По умолчанию во время заполнения формы подставляется текущая дата.
Глюкоза, Холестерин общий, Триглицериды и прочие биохимические показатели. В данных полях хранятся результаты исследований.
Таблица 3
Подстановочная форма для вывода биохимического исследования
Биохимическое исследование сыворотки (плазмы) крови, мочи № [node:field_biochemical_number]
ФИО: [node:field_biochemical_patient]
Исследование |
Результат |
Единицы измерения |
Нормальные значения |
Глюкоза |
[node:field_biochemical_glucose] |
ммоль/л |
3,1-6,4 |
Холестерин общ |
[node:field_biochemical_cholesterol_to] |
ммоль/л |
3,5 - 5,2 |
Триглицериды |
[node:field_biochemical_triglycerides] |
ммоль/л |
1,0 - 2,3 |
Хс лпвп |
[node:field_biochemical_xs_lpvp] |
ммоль/л |
более 1,0 |
Хс лпнп |
[node:field_biochemical_xs_lpnp] |
ммоль/л |
1,5-3,4 |
Индекс атерогенности |
[node:field_biochemical_atherogenicity] |
1,0-3,0 |
|
Аст |
[node:field_biochemical_ast] |
ед/л |
5-40 |
Алт |
[node:field_biochemical_alt] |
ед/л |
5-40 |
Ггт |
[node:field_biochemical_ggt] |
ед/л |
18-49 |
Амилаза |
[node:field_biochemical_amylase] |
ед/л |
кровь 23-100 ; моча ж 10-447 ; м 10-491 |
Щелочная фосфатаза |
[node:field_biochemical_alkaline_phos] |
ед/л |
80 - 306 |
Кфк |
[node:field_biochemical_kfk] |
ед/л |
Жен 24-170; Муж 24-195 |
Лдг |
[node:field_biochemical_ldg] |
ед/л |
170 - 480 |
Билирубин общий |
[node:field_biochemical_bilirubin_gene] |
мкмоль/л |
7,5-21,0 |
Билирубин прям |
[node:field_biochemical_bilirubin_stra] |
мкмоль/л |
2,2-3,4 |
Белок общий |
[node:field_biochemical_protein_total] |
г/л |
64-83 |
Альбумин |
[node:field_biochemical_albumen] |
г/л |
35-50 |
Мочевина |
[node:field_biochemical_urea] |
ммоль/л |
2,5-83,0 |
Креатинин |
[node:field_biochemical_creatinine] |
мкмоль/л |
Жен 44-96 ; Муж 62-124 |
Мочевая кислота |
[node:field_biochemical_uric_acid] |
ммоль/л |
ж180-340 ; м200-420 |
Кальции |
[node:field_biochemical_calcium] |
ммоль/л |
2,15-2,57 |
Железо |
[node:field_biochemical_iron] |
ммоль/л |
8,9-31,2 |
С-реактив. Белок |
[node:field_biochemical_c_reag_prot] |
мг/л |
Отрицательный, менее 6,0мг\л |
Ревматоид. Фактор |
[node:field_biochemical_rheumatoid_fa] |
мг/л |
Отрицательный, менее 8,0 мг\л |
Дата исследования: [node:field_biochemical_date]
АНАЛИЗ ВЫПОЛНИЛ: [node:author:field_surname] [node:author]
Поля типа [node:*] являются подстановочными. Данные поля при выводе на печать заполняются информацией, содержащейся в соответствующих полях с аналогичным машинным именем.
Таким образом, при внедрении данной системы стало наблюдаться значительное сокращение требуемого времени для обработки данных и получения необходимой информации, произошел рост производительности труда, рабочее временя сотрудников поликлиники стало использоваться более эффективно. В связи с тем, что разработанная автоматизированная система использует данные, которые основаны на специфике работы медицинских организаций, ее можно использовать другим медицинским учреждениям без дополнительных изменений.