Полный текст статьи
Печать

Сегодня организации социального назначения активно используют системы электронного документооборота. Однако существующие проблемы автоматизации документооборота заставляют данные предприятия осуществлять поиск путей их решения. Так, например, в настоящее время в ООО «Поликлиника доктора Парамонова», структурном подразделении АО «Клиника доктора Парамонова», расположенном в г. Балашов [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:*] являются подстановочными. Данные поля при выводе на печать заполняются информацией, содержащейся в соответствующих полях с аналогичным машинным именем.

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