Применение Agile Kanban для автоматизации работы городской больницы (часть 2)

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

Аннотация: в статье детально проанализирована методология внедрения Agile Kanban, идентифицированы и приоритизованы требования, спроектированы процессы и оргструктура в моделях AS-IS и TO-BE на базе нотации UML Activity Diagram до 3-го уровня детализации, заданы пользовательские формы приложения, смоделирована и нормализована структура баз данных, реализованы ключевые бизнес-процессы по назначению диагностики, расшифровке результатов диагностики, а также составлению курса терапии в среде MS Access.
СкачатьPDF (статья), PDF (выпуск №16).
Ключевые слова: проектирование приложений, моделирование экранов, назначить терапию, результаты диагностики, правила нормализации, нормальная форма, классы данных, схема данных, kanban-доска, вывод информации на экран, сравнение диагностических показателей, ввод жалоб пациента, язык VBA, лечащий врач, печать данных, обеспечение конфиденциальности, пароль программы.

4. Первая итерация - проектирование приложений

4.1 Схема приложения

Ссылка на 1-ю часть статьи. Главная задача этапа моделирования экранов пользовательского приложения состоит в формировании наиболее простого для понимания и использования интерфейса, используя который, пользователи не будут сталкиваться с большим количеством препятствий и проблем. В процессе проектирования необходимо принимать во внимание следующие условия: для кого и для чего предназначено разрабатываемое программное обеспечение; как распределяются функции системы по конкретным страницам, и какова их последовательность. На рисунках 4.1-4.2 продемонстрирована схема приложения, отображающая взаимодействие пользовательских форм между собой. 

Схема приложения (часть 1)

Рис. 4.1. Схема приложения (часть 1)

Схема приложения (часть 2)

Рис. 4.2. Схема приложения (часть 2) 

4.2 Структура таблиц баз данных

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

Данные, описанные в части 2, необходимо нормализовать. Существует несколько правил нормализации, называющиеся нормальной формой [13]. Основными нормальными формами являются:

  • первая нормальная форма (1NF), подразумевает соблюдение следующих правил:
    • определение ключевых полей;
    • устранение повторяющихся групп: на пересечении каждого столбца и каждой строки содержится только одно (атомарное значение), а не множество значений;
    • все атрибуты должны зависеть от первичного ключа. Таким образом, необходимо задать ключевые поля для таблиц, описанных в функциональных требованиях в части 2 и привести поля в таблицах к соответствию условию атомарности: одно поле – одно значение;
  • вторая нормальная форма (2NF). Отношения находится во второй нормальной форме, если они находится в первой нормальной форме, а так же все не ключевые атрибуты зависят только от первичного ключа. Для приведения разрабатываемого программного обеспечения ко второй нормальной форме необходимо создание таблиц справочников для не ключевых атрибутов. В проектируемой БД были созданы следующие таблицы-справочники:
    • жалобы;
    • диагнозы;
    • виды диагностики;
    • лекарства;
  • третья нормальная форма (3NF). Отношение находится в третьей нормальной форме (3NF), если оно находится во второй нормальной форме, и каждый не ключевой атрибут зависит только от первичного ключа и не зависит от другого.

Представим классы данных, нормализованные до 3-й нормальной формы, в таблице 4.1.

Таблица 4.1. Классы и объекты данных
Класс данных Данные Тип данных Размерность
Пациенты 🔑идПациента Счетчик Длинное целое
Фамилия Текстовый 20
Имя Текстовый 20
Отчество Текстовый 20
Дата рождения Дата/время Краткий формат даты
Дата регистрации Дата/время Краткий формат даты
Пол Текстовый 10
Специалисты 🔑идСпециалиста Счетчик Длинное целое
Фамилия Текстовый 20
Имя Текстовый 20
Отчество Текстовый 20
Диагнозы 🔑идДиагноза Счетчик Длинное целое
Наименование диагноза Текстовый 50
Жалобы 🔑идЖалобы Счетчик Длинное целое
Жалоба Текстовый 50
Виды диагностики 🔑идДиагностики Счетчик Длинное целое
Наименование диагностики Текстовый 50
Показатели нормы 🔑идПоказателя Счетчик Длинное целое
Наименование показателя Текстовый 50
минЗначение Числовой Одинарное с плавающей точкой
максЗначение Числовой Одинарное с плавающей точкой
идДиагностики Подстановка и отношение Длинное целое
Проведенная диагностика 🔑Код Счетчик Длинное целое
Дата Дата/Время Краткий формат даты
идПациента Постановка и отношение Длинное целое
идПоказателя Постановка и отношение Длинное целое
значениеПоказателя Числовой Одинарное с плавающей точкой
идСпециалиста Постановка и отношение Длинное целое
Лекарства 🔑Код  Счетчик Длинное целое
Наименование Текстовый 50
Диагнозы и лекарства  🔑Код Счетчик Длинное целое
идДиагноза Постановка и отношение Длинное целое
идЛекарства Постановка и отношение Длинное целое
Вид Текстовый  50 
частотаПриема  Текстовый  50 
Дозировка возраст 1 Числовой  Длинное целое 
Дозировка возраст 2 Числовой Длинное целое
частотаПриема Текстовый 50
приемПищи Текстовый 50
продолжительностьПриема Числовой Длинное целое
Комментарий Поле МЕМО 255
Первичный прием 🔑идПриема Счетчик  Длинное целое
Дата Дата/Время Краткий формат даты
 идПациента Числовой  Длинное целое
 идСпециалиста Числовой  Длинное целое
 данныеАнамнеза Поле МЕМО 255
ПациентыЖалобы  🔑Код Счетчик  Длинное целое
 идПациента Постановка и отношение  Длинное целое
идЖалобы Постановка и отношение Длинное целое
Дата Дата/Время Краткий формат даты
Направление по жалобам 🔑идЖалобы Постановка и отношение Длинное целое
🔑идДиагностики Постановка и отношение Длинное целое
Назначения 🔑идНазначения Счетчик Длинное целое
Дата Дата/Время Краткий формат даты
идСпециалиста Постановка и отношение Длинное целое
идПрепДоз Постановка и отношение Длинное целое

Схема БД – совокупность таблиц, которые определяют все классы данных, характеристика всех колонок, их видов, уместных значений, связей между таблицами, игнорирующая определение данных [14]. Построим схему данных, для информации, содержащейся в таблице 4.2 (рис. 4.3). 

Схема данных

Рис. 4.3. Схема данных

5. Итерации 2-4 - разработка программного обеспечения

5.1 Итерация 2: реализация требований 1–3

Согласно методологии разработки программного обеспечения Agile Kanban, отобразим Kanban-доску на начальном этапе разработки программного обеспечения, что соответствует итерации 2 (рис 5.1).

Kanban-доска на этапе реализации итерации 2

Рис. 5.1. Kanban-доска на этапе реализации итерации 2

В ходе реализации итерации 2 необходимо выполнить следующие пользовательские требования: хранение данных, ввод и редактирование данных, а также вывод информации на экран. Реализация требования «Хранение данных» заключается в создании в среде разработки программного обеспечения Microsoft Access таблиц, описанных в функциональных требованиях в части 2 (рисунок 5.2). 

Созданные в среде MS Access таблицы

Рис. 5.2. Созданные в среде MS Access таблицы

Электронный бланк диагностики

Рис. 5.3. Электронный бланк диагностики

Выполнение требования «Ввод и редактирование данных» требует реализации пользовательских форм. Пользовательские формы – это объекты, предназначенные для ввода и отображения данных. На рисунке 5.3 дан пример реализации экрана «Составить бланк диагностики».

Для реализации пользовательского требования «Вывод информации на экран» подготовит отчетные форы. На рисунке 5.4 представлена функция поиска информации о пациенте.

Функция поиска данных о пациенте

Рис. 5.4. Функция поиска данных о пациенте

5.2 Итерация 3: реализация требований 4–6

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

Kanban-доска для реализации итерации 3

Рис. 5.5. Kanban-доска для реализации итерации 3

Для выполнения требования «Автоматическое назначение диагностики на основе жалоб пациента» необходимо совершить следующие действия:

  • установить комбинации между жалобами из таблицы «Жалобы» и видами диагностики из таблицы «Виды диагностики»;
  • создать запрос на предоставление данных;
  • создать отчет для отображения данных. 

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

Разработка требования «Автоматическая расшифровка результатов диагностики» подразумевает выполнение следующих задач: запись диапазона нормальных значений для каждого диагностического показателя и создание параметрического параметра. Для выполнения функции сравнения диагностических показателей необходимо в создаваемый параметрический SQL-запрос добавить следующее условие:

If([Анализы]![значениеПоказателя]<[ПоказателиНормы] ! [минЗначение] Or [Анализы] ! [значениеПоказателя] >[ПоказателиНормы] ! [максЗначение]; "Отклонение"; "Норма").

В данном алгоритме проходит проверка условия: если значение показателя пациента меньше минимального значения или больше максимального значения (из таблицы «Показатели нормы»), то в поле "Результат" выводится сообщение "Отклонение". В противном случае в поле "Результат" выводится сообщение "Норма". Отобразим пример результата выполнения данной функции на рисунке 5.7. 

Форма ввода жалоб пациента

Рис. 5.6. Форма ввода жалоб пациента

Автоматическая расшифровка результатов диагностики

Рис. 5.7. Автоматическая расшифровка результатов диагностики

Реализация требования «Автоматическое назначение курса терапии» осуществляется за счет выполнения следующих задач:

  • установить соотношение между диагнозами из таблицы «Диагнозы» и лекарственными препаратами из таблицы «Лекарства»;
  • осуществляется дозировки лекарственных препаратов для возрастной группы до 12 лет («Дозировка 1») и после 12 лет («Дозировка 2»);
  • запрограммировать код на языке VBA для автоматического определения возраста пациента (рис. 5.8);
  • выполнить SQL-запрос на установку дозировки лекарственных препаратов на основе вычисленного возраста пациента и установленного диагноза.

Листинг VBA-программы

Рис. 5.8. Листинг VBA-программы

На рисунке 5.9 дан пример работы функции по автоматическому назначению курса терапии.

Автоматическое назначение курса терапии

Рис. 5.9. Автоматическое назначение курса терапии

5.3 Итерация 4: реализация требований 7–8

Реализация текущей итерации требует выполнения следующих пользовательских требований: обеспечение конфиденциальности и печать данных (рис. 5.10).

Kanban-доска для итерации 4

Рис. 5.10. Kanban-доска для итерации 4

Для покрытия пользовательского требования «Обеспечение конфиденциальности» был задан пароль для разработанной программы (рис. 5.11). 

Запрос на ввод пароля при входе в программу

Рис. 5.11. Запрос на ввод пароля при входе в программу

Выполнение требования «Печать данных» потребовало использование стандартного функционала MS Access для передачи данных на устройство печати. Для этого в ранее созданные отчеты добавлена кнопки «Печать данных». Финальная структура данных, описывающая все итерации разработки решения, приведена на рис. 5.12.

Схема данных разработанной программы

Рис. 5.12. Схема данных разработанной программы

Заключение

Целью данной работы была автоматизация ключевых бизнес-процессов городской больницы. В результате чего была детально изучена деятельность городской больницы, определены и спроектированы процессы в модели As-Is с использованием нотации UML Activity Diagram. Далее, в результате анализа модели As-Is была предложена деятельность городской больницы в модели To-Be, в которой выполнена оптимизация текущих процессов.

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

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

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

Литература 

  1. Agile-манифест разработки программного обеспечения, статья «Agile мани-фест»// [Интернет–ресурс]. Режим доступа: http://agilemanifesto.org (Дата об-ращения 21.03.2019).
  2. Андерсон Д., Кармайкл Э. Канбан: краткое руководство [Текст] / Д.Андерсон, Э. Кармайкл – LeanKanban University – 2015. – 79с.
  3. Свободная энциклопедия Википедия, статья «Канбан (разработка)»// [Интернет–ресурс]. Режим доступа: https://ru.wikipedia.org (Дата обращения 21.03.2019).
  4. Грин Д. Постигая Agile [Текст] / Грин Д. – Манн, Иванов и Фербер –2016.–288 с.
  5. Книберг Х., Скарин М. Kanban и Scrum: выжимаем максимум [Текст] / Х. Книберг, М. Скарин – InfoQ.com – 2010. – 76с.
  6. Свободная энциклопедия Википедия, статья «Анализ требований» // [Интернет–ресурс]. Режим доступа: https://ru.wikipedia.org/wiki/Анализ_требований (Дата обращения 25.03.2019).
  7. Вигерс К. Разработка требований к программному обеспечению [Текст] / К.Вигерс – М.: Русская редакция – 2014. — 736 с.
  8. Химонин Ю. И. Сбор и анализ требований к программному продукту (Версия 1.03). – 2009, – 51 с.
  9. Воронков, А.Н. Словарь по менеджменту [Текст]: учебное пособие/ А.Н. Ворон-ков, Т.В. Колосова; Нижегород. гос. архит.-строит. ун-т. – Н. Новгород: ННГАСУ, 2013 – 125 с.
  10. Статья «Описание бизнес-процессов» // [Интернет-ресурс] режим доступа: http://regcons.ru (Дата обращения 2.04.2019).
  11. Онлайн библиотека Studbooks.net, статья «Модель AS-IS и Модель TO-BE» // [Интернет–ресурс]. Режим доступа: https://studbooks.net (Дата обращения 12.04.2019).
  12. Буч Г., Якобсон А., Рамбо Дж. UML. Классика CS [Текст] / Г. Буч, А. Якобсон, Дж. Рамбо – СПб.: Питер – 2006. – 736с.
  13. Официальный сайт компании Microsoft, статья «Описание основных приемов нормализации базы данных» // [Интернет–ресурс]. Режим доступа: https://support.microsoft.com/ru-ru/help/283878/description-of-the-database-normalization-basics (Дата обращения 19.04.2019).
  14. Официальный сайт компании Microsoft, статья «Создание связей между таблицами в базе данных» // [Интернет – ресурс]. Режим доступа: https://support.microsoft.com/ru-ru/help/304466/how-to-define-relationships-between-tables-in-an-access-database (Дата обращения 19.04.2019).

Выходные данные статьи

Мартынов М.В. Применение Agile Kanban для автоматизации работы городской больницы (Часть 2) // Корпоративные информационные системы. – 2021. – №4 (16) – С. 82-99. – URL: https://corpinfosys.ru/archive/issue-16/181-2021-16-agilekanban.

Применение Agile Kanban для автоматизации работы городской больницы (Часть 2)

Об авторе

Мартынов Михаил Васильевич Мартынов Михаил Васильевич – студент 4-го курса кафедры оптических и биотехнических систем и технологий физико-технологического института РТУ МИРЭА. Тема выпускной квалификационной работы бакалавра «Применение методологии Agile Kanban для автоматизации ключевых бизнес-процессов городской больницы». Электронная почта: Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.

Статьи выпуска №16

  1. Банкротство юридического лица: ликвидационный баланс (часть 2);
  2. Soft skills в проектах внедрения корпоративных информационных систем;
  3. Цифровизация и корпоративные информационные системы;
  4. Годовой бухгалтерский отчет организации за 2021 год;
  5. Agile Kanban для автоматизации работы городской больницы (часть 2).