Разработка информационной системы медицинского учреждения. Модуль 'Диспансеризация'

  • Вид работы:
    Дипломная (ВКР)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    945,58 Кб
  • Опубликовано:
    2017-03-20
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Разработка информационной системы медицинского учреждения. Модуль 'Диспансеризация'

Министерство образования Российской Федерации

Негосударственное образовательное учреждение

Среднего профессионального образования

Костромской технологический техникум ОАО "Костромакоопцентр"

Цикловая методическая комиссия информационно-экономических дисциплин.






ДИПЛОМНАЯ РАБОТА

Разработка информационной системы медицинского учреждения. Модуль "Диспансеризация"


Выполнил: студент Пономарев Александр Александрович

Руководитель: Мясников Андрей Владимирович






г. Кострома 2016 г.

Реферат


Данная дипломная работа состоит из 55 страниц, содержания, введения, 2 глав, заключения, глоссария, списка литературы и 4 приложений. В списке литературы представлено - 8-библиографических источников.

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

Предмет исследования составляет создание Информационные системы медицинского учреждения с соответствующим модулем "Диспансеризация".

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

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

·        Обеспечение работы информационной системы;

·        Организация взаимодействия персонала с информационной системой и модулем "Диспансеризация";

В заключение предлагаются следующие рекомендации по повышению эффективности лечебно-профилактического учреждения:

·        Повышение качества и скорости обслуживания пациента за счет использования электронного документооборота.

·        Внедрение совместимых с ИС программных модулей с целью автоматизации других сфер деятельности ЛПУ.

·        Использования системы скидок, для определенных групп населения

Содержание

Реферат

Введение

Глава 1. Медицинские информационные системы

1.1 Понятие МИС

1.2 История развития МИС в РФ

1.3 Концептуальные принципы построения АИС в сфере здравоохранении РФ

1.4 Анализ существующих МИС в РФ

2. Разработка модуля "Диспансеризация"

2.1 Проектирование модуля "Диспансеризация"

2.2 Формирование требований к МИС

2.3 Техническое задание

2.3.1 Разработка и утверждение технического задания на создание ИС

2.4 Технический проект

Заключение

Глоссарий

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

Приложения

Приложение 1

Приложение 2

Приложение 3

Введение


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

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

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

Актуальность развития информационных технологий подчеркивалось президентом Д.А. Медведевым на заседании президиума Государственного совета "О реализации Стратегии развития информационного общества в Российской Федерации", проведенной 17 июля 2008 года: "…У нас на наших заседаниях президиума всегда рассматриваются наиболее актуальные вопросы развития нашей страны. К числу таковых относится вопрос развития информационного общества в Российской Федерации…"

Также впервые выделены вопросы информатизации в проекте "Концепция развития системы здравоохранения в Российской Федерации до 2020 г." в разделах проекта Концепции 2.7 и 4.2.8 "Информатизация здравоохранения".

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

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

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

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

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

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

модуль диспансеризация медицинское учреждение

Глава 1. Медицинские информационные системы


1.1 Понятие МИС


Медицинская информационная система (МИС) - комплексная автоматизированная информационная система для автоматизации деятельности ЛПУ (Лечебно-профилактических учреждений), в которой объединены система поддержки принятия медицинских решений, электронные медицинские записи о пациентах, данные медицинских исследований в цифровой форме, данные мониторинга состояния пациента с медицинских приборов, средства общения между сотрудниками, финансовая и административная информация.

1.2 История развития МИС в РФ


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

От истоков и далее

Во второй половине двадцатого века начались попытки решения этой проблемы с помощью информационно-компьютерных технологий. В 60-е годы В.М. Глушков и А.И. Китов предложили идею создания общегосударственной автоматизированной системы учёта и обработки информации. Затем в 70-х годах А.И. Китов начал специализироваться уже на медицинских автоматизированных системах управления и стал главным конструктором АСУ "Здравоохранение", а в 1976-м выпустил пионерскую монографию "Автоматизация обработки информации и управления в здравоохранении", которая стала первым изданием в стране, посвященным медицинской информатике. Коллектив под его руководством разработал информационную модель системы здравоохранения СССР, а также создал самые разнообразные программные модули для решения практических задач советской медицины. Именно тогда были заложены идеи построения единого комплексного решения, единой сети передачи данных, единых информационно-технологических стандартов, т.е. многого того, что осталось нереализованным даже на сегодняшний день, спустя почти 60 лет. Предложенная тогда концепция информатизации очень напоминает современные GRID-системы. Работы продолжались и в 80-е годы, но до практической реализации им дойти не удалось, и официально проект был закрыт в начале 90-х годов, после распада СССР.

В Российской Федерации с 1992 г. продолжилась разработка и реализация программ информатизации здравоохранения. Группа авторов под руководством С.А. Гаспаряна разработала сначала программу информатизации здравоохранения России на 1993-1995 годы (приказ Минздрава РФ от 30.12.93 № 308), а затем целевую программу информатизации здравоохранения России на 1996-1998 годы (приказ Министерства здравоохранения и медицинской промышленности РФ от 23.04.96 № 158). В 1999-м был подписан приказ Минздрава РФ "Основные направления развития информатизации охраны здоровья населения России на 1999-2002 годы", а в 2002-м - приказ "О создании единой системы информатизации в здравоохранении" и многие другие документы.

Однако в ситуации ограниченного финансирования значимых результатов достичь не удалось, и все 80-е, 90-еи "нулевые" годы отрасль информатизации здравоохранения развивалась стихийно. Очень долго отсутствовала единая концепция, и лечебные учреждения занимались информатизацией самостоятельно - настолько, насколько им хватало сил и фантазии.

Информатизация "снизу"

В начале 80-х годов в соответствии с рекомендациями Совета Министров СССР в больницах начали создавать отделы автоматизированных систем управления. Был подписан приказ Минздрава СССР от 30.07.87 № 920 "Об утверждении Положения об отделе автоматизированных систем управления (вычислительном центре) учреждения здравоохранения", и это фактически единственный документ почти за 30 лет, который определял создание ИТ-служб в медицинских организациях. В нём говорится: "Организационная структура и штаты отдела АСУ утверждаются руководителем учреждения. Перечень должностей отдела АСУ устанавливается в соответствии с рекомендациями Минздрава СССР". Однако за все прошедшие годы этих "рекомендаций" так и не появилось, и по сей день главным врачам медицинских учреждений приходится решать вопрос кадрового обеспечения ИТ-службы исходя из собственных представлений о значимости информационных технологий для медицины. На практике это почти всегда приводило к недостаточному фонду заработной платы ИТ-службы, к очень высокой текучке ИТ-кадров, и сам статус ИТ-службы обычно был совсем незначительным.

Тем не менее, отделы АСУ в лечебных учреждениях создавать начали, и именно на их базе совершались первые практические эксперименты по информатизации здравоохранения. Слово "эксперименты" самое подходящее для описания тех работ в области информатизации. В качестве примера такого "эксперимента" можно вспомнить разработку единой информационной системы в НЦССХ им А.Н. Бакулева, которая началась еще в конце 70-х годов и продолжалась около двух десятилетий с привлечением самых лучших специалистов отрасли, настоящих "звезд" медицины и сферы ИТ, ныне всемирно известных авторитетов. Программное обеспечение было основано на серьезном математическом аппарате с планированием работы медицинского учреждения на основе линейного программирования, а подобными функциональными возможностями большинство современных информационных систем здравоохранения не обладают даже на сегодняшний день. Тем не менее по завершении работ приказ о запуске системы в эксплуатацию подписан не был из-за проблем с обеспечением защиты конфиденциальной информации.

Созданные отделы АСУ еще долгое время работали в отсутствие каких-либо стандартов отрасли, финансирование осуществлялось хаотично, при этом еще не существовало коммерческих ИТ-разработок, и единственной возможностью для автоматизации лечебного учреждения являлась собственная разработка алгоритмов. Несмотря на эти сложности в то время впервые в медицинских организациях начали решать задачи статистического учета и расчета заработной платы - настолько, насколько это было возможно на базе машин типа ЕС-1040, которые для этих целей, как правило, брали в аренду, а работали на них с помощью удаленных терминалов. При этом из-за отсутствия ИТ-бюджетов в лечебных учреждениях возможность использовать машины часто предоставлялась больницам в обмен на медицинское обслуживание сотрудников организации - владельца техники. Использование средств автоматизации было в то время прерогативой крупных лечебных учреждений, большинство же продолжало получать отчетные данные, собирать статистические карты пациентов и пересчитывать их вручную.

Как уже отмечалось, в 90-е и даже в "нулевые" годы информатизацией здравоохранения занимались стихийно. Задача обычно появлялась по инициативе "продвинутого" врача или заведующего отделением, которым надоедало вручную вести статистический учет выполненной работы. Разрабатываемые системы были довольно простыми, и создавали их настоящие ИТ-энтузиасты, часто непрофессионалы, иногда сами врачи или их друзья. Есть примеры, когда пациенты-программисты, находящиеся на госпитализации в больнице, в качестве благодарности за проведенное лечение разрабатывали для отделения информационную систему для статистического учета выполняемой в отделении работы, и врачи с радостью потом пользовались такой программой долгие годы. В ту пору основной сложностью программирования была ограниченность ресурсов компьютера, и необходимо было постоянно задумываться над оптимизацией кода для повышения быстродействия систем, над сокращением объемов хранимой информации. Эти информационные системы разрабатывались под конкретных пользователей, с учетом всех их пожеланий; они решали внутренние задачи службы, и пользователям было хорошо понятно, для чего они вводят информацию в систему и как система позволяет им облегчить рутинную работу. Тогда еще для запуска систем в эксплуатацию не требовались административное давление и ведомственные приказы. Всех опьянила простота разработки информационных систем в здравоохранении, стали появляться сотни программ, но из-за непрофессионального подхода к разработке, отсутствия стандартов и недостаточного финансирования качество их зачастую было невысокое, и программы, как правило, были любительскими, не обеспечивающими комплексного решения задачи информатизации даже на уровне одного учреждения, не говоря уже о всей отрасли здравоохранения.

ОМС как точка невозврата

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

При этом появление и развитие страховой медицины в России в свою очередь оказало огромное влияние на развитие информационных технологий в системе здравоохранения. Первая вычислительная техника и программное обеспечение, появившиеся в лечебных учреждениях страны, было призвано решать именно задачи организации учета пациентов с целью формирования реестров по прошедшим лечение пациентам для получения финансирования от фонда ОМС. Кроме того, и первые поставки персональных компьютеров в медицинские организации России во многих случаях осуществлял фонд ОМС. Программное обеспечение, разработанное специалистами территориальных фондов ОМС, использовалось большинством лечебных учреждений и для ведения реестров пациентов, и для формирования внутрибольничных статистических форм. Введение в стране страховой медицины стало для процесса информатизации лечебных учреждений так называемой "точкой невозврата" - когда работать исключительно с бумажными документами было уже просто невозможно и потребовалось вводить в работу компьютерные технологии. Компьютеризация стала очень важным вопросом для всех главных врачей отечественных медицинских организаций, без его решения невозможно было обеспечить элементарное финансирование, а, значит, и просто функционирование учреждений здравоохранения. И зачастую вплоть до настоящего времени в большинстве лечебных учреждений в области информатизации основной и ключевой задачей остается обеспечение взаимодействия с Фондом ОМС, а в последние годы еще и со страховыми медицинскими организациями.

На проектный уровень

Первые большие коммерческие проекты в информатизации здравоохранения стали появляться во второй половине 90-х годов. Тогда же начались и практические попытки создания региональных информационных систем, интеграции программ с медицинским оборудованием (насколько это можно было реализовать при технических возможностях того времени, при недоступности Интернета и отсутствии цифрового диагностического оборудования). Кризис 1998 г. внес коррективы в эти планы, и новые большие проекты были отложены на пару лет. Поскольку не было централизованного финансирования, все проекты могли стартовать только при поддержке министров здравоохранения регионов или главных врачей. Поэтому регионы и больницы очень сильно различались по уровню информатизации - когда одни уже готовились к переходу на электронную медицинскую карту, другие только пытались заменить печатные машинки на компьютеры.

Региональный уровень

В начале 2000-х годов в России стали создавать сеть медицинских информационно-аналитических центров (МИАЦ). Они, как правило, преобразовывались из бюро медицинской статистики (БМС), но при этом принципиально изменялась их ключевая функция. Если задачей БМС являлся сбор статистической информации в регионе, его обработка и передача на следующий уровень, то задачей МИАЦ становился процесс информатизации здравоохранения региона, и именно сеть МИАЦ реализовывала территориальные программы информатизации здравоохранения. Они разрабатывали или закупали программное обеспечение, проводили обучение пользователей, внедряли информационные системы. В дальнейшем сеть МИАЦ стала базой для реализации программы модернизации здравоохранения России по разделу информатизации.

В 2001 г. была создана некоммерческая организация "Ассоциация развития медицинских информационных технологий" (АРМИТ), которую возглавил М.М. Эльянов. АРМИТ проводит огромную работу: регулярно организует выставки, конференции, симпозиумы, издает каталог "Медицинские информационные технологии", здесь создали систему добровольной сертификации программ, выпускают аналитические материалы и готовят предложения для Минздрава. Этими вопросами АРМИТ начал заниматься тогда, когда министерство еще не обращало внимания на сферу информатизации, и после начала больших федеральных проектов постоянно выступает с острыми критическими замечаниями в его адрес. При этом в правление АРМИТ входят самые уважаемые члены медицинского ИТ-сообщества, и они регулярно выпускают чрезвычайно интересные документы с предложениями по информатизации здравоохранения.

О необходимости стандартов

Отсутствие стандартов в медицинской информатике - основная проблема отрасли девяностых и нулевых годов; на это постоянно жаловались ИТ-специалисты медицинских учреждений и компаний - разработчиков ПО. Не имея стандартов, сложно обеспечить интеграцию медицинских информационных систем, да и вообще сообществу крайне сложно вести диалог в отсутствие единой "терминосистемы". В 2004 г. были утверждены первые стандарты "Информационные системы в здравоохранении. Общие требования" и "Информационные системы в здравоохранении. Общие требования к форматам обмена данных", которые не удалось принять в качестве отраслевых, а только в качестве так называемых "стандартов организации". В дальнейшем для регулирования отношений между участниками разработки и эксплуатации медицинских информационных систем на базе ФГУ "ЦНИИОИЗ Росздрава" был создан национальный технический комитет по стандартизации № 468 "Информатизация здоровья" с функцией постоянно действующего национального рабочего органа ТК 215 ИСО. И вот в 2006-м Б.В. Зингерман и Н.Е. Шкловский разработали первый национальный стандарт "Электронная история болезни. Общие положения", который был утвержден приказом Федерального агентства по техническому регулированию и метрологии РФ и с 1 января 2008 г. введён в действие в стране. Стандарт решал очень важную задачу - определял, каким образом электронные медицинские записи могут иметь юридическую значимость. В последующем огромная работа по стандартизации была проведена именно этим техническим комитетом под руководством Г.С. Лебедева, на данный момент здесь разработано, утверждено и опубликовано 45 национальных стандартов, и эта работа активно продолжается. Стандарты очень важны для всей отрасли, потому что позволяют существенно повысить эффективность разработки и эксплуатации медицинских информационных технологий.

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

К единой государственной информационной системе

"Новейшая история" информатизации медицины началась в 2008 г., когда появилось поручение Президента РФ о создании и развитии государственной информационной системы персонифицированного учета оказания медицинской помощи гражданам России, а Министерство здравоохранения и социального развития РФ выпустило приказ "Об утверждении концепции создания единой государственной информационной системы в сфере здравоохранения". Впервые в работу была запущена программа информатизации здравоохранения с очень большим, около 30 млрд. руб., финансовым обеспечением. Были поставлены амбициозные задачи, связанные с поставками техники и ПО, с созданием компьютерных сетей, интеграцией с медицинским оборудованием, архивами медицинских снимков, обучением медперсонала и пр. Была создана федеральная электронная медицинская библиотека, в которой на сегодняшний день размещено более 20 тыс. документов.

Сроки были очень сжатые, всего на проект выделено два года, и на рынке было очень мало компаний, которые имели ресурсы для выполнения таких крупных инновационных проектов, немногие из них были готовы взяться за реализацию больших территориальных проектов. А те, кто решили участвовать, зачастую не могли обеспечить необходимое качество выполняемых работ одновременно в нескольких регионах России. Было очень много сложностей при запуске систем, немало конфликтных ситуаций между заказчиками и поставщиками. В 2014 г. завершилось федеральное финансирование информатизации здравоохранения, и теперь поддержка и развитие систем выполняется за счет бюджетов лечебных учреждений. Платежи составляют довольно существенную сумму, около миллиона рублей в год для крупной многопрофильной больницы только за медицинскую информационную систему, без учета затрат на аппаратное обеспечение - компьютеры, сети, принтеры. Это очень значительные расходы для лечебных учреждений, особенно учитывая непростую финансовую ситуацию, в которой оказалась система здравоохранения в 2014-2016 гг.

Ближайшие задачи

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

. По-прежнему, как и 20 лет назад, основная задача, поставленная перед разработчиками, - это обеспечение информационного взаимодействия со страховыми медицинскими организациями и формирование статистических отчетов. Работы по интеграции с медицинским оборудованием ведутся, но они далеки от завершения. Как и раньше, многие отчеты формируются в полуручном режиме, распечатываются, подписываются и сдаются в МИАЦ или Минздрав, там они вручную собираются в сводный. И это при наличии централизованной базы данных по медицинской помощи в регионе.

. Как и 30 лет назад, работа врача с информационной системой является дополнением к его работе с бумажной историей болезни. Отсутствуют электронные подписи, и медицинская информация в базах данных не имеет документального характера. Работа с такой системой воспринимается врачом просто как дополнительная нагрузка, целью которой является формирование статистических отчетов для анализа его деятельности и счетов на оплату для страховых медицинских организаций. Совсем недавно, 29 декабря 2014 г., Правительство РФ выпустило распоряжение № 2769-р, в котором говорится:

"Министерству здравоохранения Российской Федерации целесообразно обеспечивать утверждение форматов предоставления медицинских сведений и документов в электронной форме, порядок обмена такими сведениями, а также корректировку положений правовых актов в целях обеспечения ведения медицинской документации, учета медицинской информации и формирования отчетных форм в электронной форме, а также исключения дублирующего представления указанных сведений на бумажном носителе. [1]

3. Остаются нерешенными вопросы защиты информации о состоянии здоровья. С одной стороны, её необходимо закрывать от просмотра, с другой - основной задачей ИС в медицине является оперативный доступ пользователей к данным. В лечебном учреждении фактически любой врач в любой момент времени может оказаться "дежурным" врачом, может замещать своего коллегу, может потребоваться его консультация в сложном случае. То есть в любой момент времени любому врачу может потребоваться любая информация по любому пациенту клиники. Администратору безопасности перенастраивать права доступа с такой оперативностью не удастся. И однажды, не предоставив доступ врачу к необходимой информации из-за ограничения прав, можно нанести ущерб здоровью пациента и подорвать доверие врача к ИС. Как разрешить такой парадокс? Сейчас при создании региональной системы каждый врач может получить полный доступ к медицинской информации любого жителя региона, а этот подход вряд ли можно признать правильным.

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

В распоряжении Правительства РФ № 2769-р есть такие слова:

". рекомендуется создание и развитие на региональном уровне информационных систем поддержки принятия врачебных решений и контроля за исполнением стандартов медицинской помощи.". [1]

5. Медицинские организации взаимодействуют с десятками учреждений - Пенсионным фондом, Налоговой службой, Минфином, Министерством земельных и имущественных отношений, Федеральным казначейством, МИАЦ, Федеральной службой государственной статистики, страховыми медицинскими организациями, Фондом социального страхования и многими другими. Со всеми есть так называемое "электронное взаимодействие", но в реальности это означает, что у каждого ведомства существует программа, а иногда и несколько, с бесконечным повторением одних и тех же данных, и в эти программы нужно к определённому сроку вносить необходимую информацию. В результате требуется огромный штат сотрудников, задачей которых является "набивание" данных по требованиям разных ведомств. И объемы таких запросов растут с каждым годом.

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

Новые возможности - новые перспективы

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

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

1.3 Концептуальные принципы построения АИС в сфере здравоохранении РФ


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

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

2. Принцип целенаправленности. Целенаправленность - наличие конечной конкретной цели (в том числе нескольких промежуточных целей), которую необходимо достичь в процессе подготовки и принятия решений при создании АИС. Под целью понимается информационный образ целевого состояния АИС, определяемого желаемым/заданным состоянием ее выходов. Цель определяет назначение системы, смысл ее функционирования. Сформулированная цель выражает точку зрения на то, для чего создается АИС, что она должна делать и какова ее эффективность.

Цели не должны иметь абстрактных формулировок, они должны быть поставлены предельно четко и однозначно с конкретизацией конечного результата и времени его достижения, оговаривать только предъявляемые требования к АИС, не вдаваясь в детали и подробности. В общем случае, каждая конкретная цель должна быть четко определена с позиций следующих признаков:

·        предметного: должна быть полная ясность, с какими аспектами (медицинским, экономическим, социальным и т.п.) функционирования АИС связана цель;

·        временного: является ли цель стратегической (постоянной, долгосрочной) или тактической (текущей, оперативной);

·        пространственного: необходимо обозначить сферу деятельности объекта информатизации (республика, регион, область, район, организация здравоохранения), с которой связывается данная цель.

Цели классифицируются по следующим признакам:

·        по отношению целей к медицинскому объекту информатизации и АИС они подразделяются на внешние (устанавливаются вышестоящими органами) и внутренние (характеризуют функционирование и развитие конкретной системы);

·        по степени охвата функций информатизации в АИС они подразделяются на глобальные (включают всю крупномасштабную систему) и локальные (включают одну или несколько частных подсистем);

·        по периоду реализации в АИС они подразделяются на стратегические (с приблизительно определяемым длительным периодом реализации) и тактические (с установленным директивным сроком достижения).

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

3. Принцип оценки достижения цели. Из целевой установки АИС вытекает критерий эффективности ее функционирования - основной признак системы, по которому один вариант построения обеспечит лучший по сравнению с другими необходимый результат с наименьшими затратами энергии, ресурсов, времени и др. Для систем существует два основных типа критериев эффективности:

·        критерий первого рода, характеризующий степень достижения АИС поставленной цели;

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

Сложные медицинские системы характеризуются векторным (интегральным) критерием, включающим в себя несколько частных согласованных между собой критериев оценки эффективности различных сторон (технической, экономической, социальной и т.п.) функционирования АИС, вытекающих из глобального критерия всей системы. Всё множество методов векторной оптимизации функционирования многокритериальных систем можно разбить на пять групп:

·        выделение главного критерия и перевод остальных частных критериальных функций в ограничения;

·        ранжирование частных критериев по важности (приоритетности) и их последовательное применение;

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

·        организация человеко-машинных процедур принятия решений на основе математической модели.

Каждый частный критерий может быть охарактеризован совокупностью показателей (технических, экономических и т.п.). Эта совокупность должна обеспечивать:

·        единство, комплексность, взаимосвязь и соизмеримость отдельных показателей;

·        достоверность, точность и полноту учета изменений показателей;

·        динамичность, возможность выявления и оценки влияния различных факторов на медицинский объект информатизации.

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

·        стандартизацию обмена данными между системами;

·        устранение технических препятствий для связи систем;

·        повышение возможности обмена медицинскими данными между разнородными системами без создания интерфейсов с каждой стороны.

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

5. Принцип системной интеграции. Применение этого принципа гарантирует согласованное и скоординированное решение всех поставленных задач построения эффективной АИС в сфере здравоохранения. Интеграция АИС рассматривается с позиций объединения и совместимости:

·        разноплановых целевых и критериальных функций отдельных подсистем в одно общесистемное решение;

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

·        функциональной и организационной структур системы;

·        всех функциональных и обеспечивающих подсистем иерархических уровней системы;

·        материальных и информационных потоков информации на внешнем и внутреннем уровнях функционирования медицинской системы;

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

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

Принцип системной интеграции предусматривает решение комплекса задач и предоставления медицинских услуг АИС в течение ее жизненного цикла. Этот комплекс включает:

·        анализ существующей технологии обработки информации, разработку комплексного проекта создания АИС, ее здравоохранительной инфраструктуры и смежных составляющих;

·        авторское сопровождение проекта, его доработку при модернизации системы;

·        комплексную поставку вычислительной, сетевой, коммуникационной и организационной техники, другого медицинского оборудования;

·        комплексную инсталляцию и интеграцию медицинской АИС, тестирование и ввод ее в эксплуатацию;

·        интеграцию и сопрягаемость с имеющимся КАПС, с существующими каналами связи и телекоммуникациями;

·        создание организационно-технологической инфраструктуры медицинской АИС;

·        комплексную информационно-технологическую поддержку функционирования системы;

·        выполнение регрессивных гарантийных обязательств поставщиков оборудования и материалов;

·        реализацию системной гарантии соответствия технических параметров системы предъявляемым требованиям в течение ресурсного срока ее эксплуатации.

6. Принцип первого руководителя. Этот принцип состоит в том, что руководитель, глубоко понимая сущность и важность создания АИС в целом, а также ее подсистем, разумно взвешивает возможности КАПС обработки и передачи информации, сроки и качество разработки системы. Он непосредственно вникает и руководит коллективом специалистов-разработчиков, осуществляющих модернизацию существующей организационной структуры управления медицинским объектом информатизации в автоматизированную в рамках и условиях функционирования АИС.

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

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

С учетом перспектив создания АИС, многоэтапности ее построения и развития необходимо определить/перераспределить функции и задачи каждой группы исполнителей, точно оценить не только содержание полученных ими результатов, но и что и в какой форме передается другим участникам разработки АИС в сфере здравоохранения.

1.4 Анализ существующих МИС в РФ


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

Для анализа были выбраны 5 ключевых, для отечественного рынка, МИС, занимающих наибольшую его долю. Они представлены следующими брендами:

·        МИС "Медиалог"

·        МИС" "Карельская"

·        МИС "Интерин"

·        МИС "AKSi"

·        МИС"ТрастМед"

Таблица 1. Сравнительный анализ МИС в плане охвата рынка.

Наименование

МИС "Медиалог"

МИС "Карельская"

МИС "Интерин"

МИС "AKSi"

МИС "ТрастМед"

Собственность компании

Пост Модерн Текнолоджи

КМИС

Группа компаний Интерин

Аксимед

СофтТраст

Процент охвата рынка МИС

27%

27%

15%

7%

4%

Все остальные МИС (на 2016 год их более 240) занимают на рынке менее 1%.


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

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

Таблица 2. Сравнительный анализ МИС в плане наличия подсистем.

Наименование

МИС "Медиалог"

МИС" "Карельская"

МИС "Интерин"

МИС "AKSi"

МИС "ТрастМед"

ПС "Документооборота"

+

+

+

-

-

ПС "Регистратуры"

+

+

+

+

+

ПС "Отдела диагностики и лаборатории"

+

+

+

+

+

ПС "Профосмотр"

-

+

-

-

+

ПС "Статистика"

+

+

+

+

-

ПС "Административная"

+

+

+

+

+

ПС "Диспансеризации"

-

+

-

-

+


В результате анализа данных таблицы, можно сделать вывод, что далеко не каждая МИС, охватывает полный спектр потребностей ЛПУ. Наиболее проф. пригодными для медицинского учреждения оказались такие МИС, как:

·        МИС "Карельская"

·        МИС "Медиалог"

·        МИС "Интерин"

Не менее важным при выборе МИС, является стоимость её внедрения в ЛПУ.

Исходя из анализа стоимости внедрения МИС, можно сделать вывод, что цена у каждой МИС имеет собственные особенности, но между тем все они имеют высокую стоимость, в частности "ТрастМед", имея относительно низкую стоимость лицензии, довольно дорога в обучении работников её использованию (Таблица 3)

Таблица 3. Сравнительный анализ МИС в экономическом плане (в рублях).

Наименование

МИС "Медиалог"

МИС "Карельская"

МИС "Интерин"

МИС "AKSi"

МИС "ТрастМед"

Лицензия на 1р/м.

15 000

18 000

14 000

12 000

6 000

Техническая поддержка для одного рабочего места за год

9 250

9 250

7 600

5 300

6 000

Установка и настройка МИС на 1 р/м.

6 800

7 200

4 000

4 600

6 000

Модификация системы (доработка форм, элементов по требованию заказчика). За 1 чел/дн.

14 800

17 000

11 200

9 500

8 000

Обучение работы в МИС. За 1 чел.

4 000

5 000

5 300

3 400

8 000

 

*р/м - рабочее место.

В таблице 4 представлен сравнительный анализ МИС в плане охвата регионов РФ

Таблица 4. Сравнительный анализ МИС в плане охвата регионов РФ

Наименование федерального округа

МИС "Медиалог"

МИС" "Карельская"

МИС "Интерин"

МИС "AKSi"

МИС "ТрастМед"

Центральный.

16

22

18

7

12

Южный

6

7

16

2

5

Северо-Западный

7

12

6

4

11

Дальневосточный

2

-

1

-

2

Сибирский

8

9

7

6

2

Уральский

3

-

6

-

2

Приволжский

12

14

10

3

-

Северо-Кавказский

3

6

-

-

-

Всего охват городов

57

70

64

22

34

Исходя из данных анализа таблицы, можно выделить несколько важных тезисов:

·        Распространенность МИС в регионах, напрямую зависит от изначального географического положения компании.

·        Наибольшая сложность распространения МИС представляется в следующих регионах:

o          Дальневосточный

o          Северо-Кавказский

o          Уральский

Для наглядной демонстрации пропорций распространения приведенных выше МИС по регионам РФ, была создана карта. (Приложение №1, Рисунок 1)

Проанализировав карту, можно заметить, что наибольшая концентрация МИС сосредоточена в:

·        Центральном ФО - охвачено 75 населенных пунктов.

·        Северо-Западном ФО - охвачено 40 населенных пунктов.

·        Южном ФО - охвачено 36 населенных пунктов.

·        Приволжском ФО - охвачено 39 населенных пунктов.

В ходе анализа были рассмотрены 5 МИС, занимающих ключевые позиции на российском рынке МИС, в результате чего в составе рассмотренных МИС было выявлено отсутствие модулей по автоматизации таких основных деятельности ЛПУ, как профосмотр и диспансеризация. Автоматизация данных видов деятельности представлена всего лишь в двух медицинских информационных система, таких как МИС "Карельская" и МИС "ТрастМед". В связи с выявленным недостатком описанных МИС, в настоящей дипломной работе рассматривается разработка модуля "Диспансеризация" для лечебно-профилактических учреждений.

2. Разработка модуля "Диспансеризация"


2.1 Проектирование модуля "Диспансеризация"


При разработке модуля "Диспансеризация" был выбран канонический подход к проектированию МИС, как оптимальный для разработки программной части, как отдельного продукта.

Данный вид подхода к проектированию соответствует стандарту ГОСТ 34.601-90 "Информационная технология. Комплекс стандартов на автоматизированные системы. Автоматизированные системы. Стадии создания".

В соответствии с ГОСТ 34.601-90 разработка была разделена на стадии (таблица 5).

Таблица 5. Стадии и этапы создания МИС.

Стадии

Этапы работ

1. Формирование требований к ИС

1.1 Обследование объекта и обоснование необходимости создания ИС; (проведено общение с регистраторами, изучение ведомственной документации (приказы о проведении диспансеризации и т.д.). 1.2 Формирование требований пользователя к МИС; (представление моделей бизнес-процессов (описание)

2.1 Разработка и утверждение технического задания на создание МИС;

3. Технический проект

3.1 Разработка ИС (модуль "Диспансеризация");

4. Ввод в действие

4.1 Проведение предварительных испытаний;


2.2 Формирование требований к МИС


Обследование объекта и обоснование необходимости создания ИС;

Объектом автоматизации был выбран Филиал №1 Поликлиники взрослых №1 Муниципального учреждения здравоохранения "Первая городская больница". На этапе обследования объекта автоматизации было проведено:

·        Общение с мед. персоналом;

·        Изучение должностных регламентов;

·        Анализ компьютерной техники;

В результате общения со специалистами были изучены основные рабочие обязанности мед. персонала во время проведения диспансеризации, в которые входит:

·        первичный прием пациентов;

·        заполнение учетных форм диспансеризации пациентов;

·        своевременный подбор и доставка медицинской документации в кабинеты врачей, правильное ведение и хранение картотеки;

·        информирование терапевта о необходимости прохождения диспансеризации пациентом;

·        обеспечение своевременной адаптации поликлиники под новые нормативно-правовые акты, касающиеся диспансеризации.

Правила проведения диспансеризации в медицинском учреждении указаны в "Приказ Минздрава России от 03.12.2012 N1006н "Об утверждении порядка проведения диспансеризации определенных групп взрослого населения"

Формирование требований пользователя к МИС;

На данном этапе проектирования модуля "Диспансеризация" был создан ряд моделей бизнес-процессов в виде диаграмм процессов с помощью нотации BPMN, которые в полной мере отражают последовательность действий в каждом процессе разрабатываемого модуля.

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

Состав диаграмм бизнес-процессов:

1.      БП "Мед. работник. Авторизация" (Диаграмма 1.)

2.      БП "Врач-терапевт. Первичный прием пациента" (Диаграмма 2).

.        БП "Врач-терапевт. Вторичный прием" (Диаграмма 3).

.        БП "Мед. работник. Прием пациента" Диаграмма 4).

.        БП "Занесение данных в БД" (Диаграмма 5).

.        БП "Запрос в БД" (Диаграмма 6).

.        БП "Запрос к пациенту" (Диаграмма 7).

1)      Авторизация мед. работника;

Диаграмма 1. Мед. работник. Авторизация

На данной диаграмме отображен бизнес-процесс авторизации мед. работника (в том числе и терапевта) в программной части разрабатываемого модуля.

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

1.      Данные мед. работника подтверждены;

2.      Данные мед. работника не подтверждены;

Если введённая информация оказалась верной, то данный процесс завершается, и сотрудник может продолжать работу с программой. Если же введённая информация оказалась не правильной, то ИС возвращает мед. работника на этап ввода логина и пароля, где он должен попытаться снова ввести данные для авторизации.

2)      Первичный прием пациента врачом-терапевтом;

Диаграмма 2. Врач-терапевт. Первичный прием пациента

На данной диаграмме отображен бизнес-процесс первичного приема пациента терапевтом с задействованием модуля "Диспансеризация".

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

1.      Пациент может пройти диспансеризацию;

2.      Пациент не может пройти диспансеризацию;

Если оказалось, что пациент не может пройти диспансеризацию, то терапевт отправляет его в регистратуру. Если же он может пройти диспансеризацию, то терапевт переходит к анкетированию пациента. После занесения данных анкетирования, терапевт отправляет в БД запрос на получение плана посещения врачей пациентом, далее распечатывает и передает его пациенту. На этом первичный прием заканчивается.

3)      Вторичный прием пациента врачом-терапевтом;

Диаграмма 3. Врач-терапевт. Вторичный прием.

На данной модели бизнес-процессов отображён вторичный прием пациента терапевтом.

Первым этапом в представленной модели бизнес-процесса является сообщение пациентом информации о том, что он прошел всех необходимых врачей. Задействуя информационную систему, врач-терапевт получает из базы данных информацию о проценте завершения диспансеризации пациентом. После этого существуют два пути развития бизнес-процесса:

1.      Если пациент прошел достаточное количество необходимых мед. мероприятий.

2.      Если пациент не прошел достаточно количество необходимых мед. мероприятий;

Если пациент не прошел достаточно мед. мероприятий, то он отправляется проходить то, что не прошел. Если же он прошел достаточно мед. мероприятий, то терапевт отправляет в БД запрос на получение результатов прохождения их пациентом. Далее врач анализирует записи, определяет группу здоровья пациента, после чего опять же существует два пути развития бизнес-процессов:

1.      Дополнительное обследование требуется;

2.      Дополнительное обследование не требуется;

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

В случае же, если дополнительное обследование не требуется (такое также возможно, если человек уже дополнительно обследовался), то врач-терапевт подводит итоги диспансеризации, определяет медицинские рекомендации, заносит своё заключение в БД, передает мед. рекомендации пациенту. На это бизнес-процессы завершаются.

4)      Прием пациента медицинским работником;

Диаграмма 4. Мед. работник. Прием пациента.

Данная модель описывает бизнес-процесс приема мед. работником пациента.

Первым этапом в представленной модели бизнес-процесса, является сообщение пациентом информации о том, что терапевт направил его к этому медицинскому специалисту.

Далее мед. работник отправляет в БД запрос на проверку данных пациента. После этого существуют два пути развития бизнес-процесса:

.        Данные оказались верны;

2.      Данные оказались ложны;

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

5)      Занесение данных в БД;

Диаграмма 5. Занесение данных в БД;

Данная модель описывает бизнес-процесс занесения данных в БД.

Первым этапом в представленной модели бизнес-процесса, является занесение данных в необходимые таблицы, после чего пользователь нажимает кнопку сохранения, а введенные им данные сохраняются в БД. Опираясь на временной критерий, пользователь ожидает ответа от БД. После этого существуют два пути развития бизнес-процесса:

1.      Сохранение данных прошло успешно;

2.      Сохранить данные не удалось;

В случае если от ИС поступил положительный ответ о сохранении данных в БД, бизнес-процесс завершается. В противном случае, пользователю необходимо разрешить проблему препятствующую сохранению данных, после чего повторить бизнес-процесс сначала.

6)      Запрос в БД;

Диаграмма 6. Запрос в БД

Данная модель описывает бизнес-процесс отправки запроса в БД и получения ответа от неё.

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

.        Запрос был удовлетворен;

2.      Запрос не был удовлетворен;

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

7)      Запрос к пациенту;

Диаграмма 7. Запрос к пациенту

Данная модель описывает бизнес-процесс отправки запроса к пациенту и получения ответа от него.

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

2.3 Техническое задание


2.3.1 Разработка и утверждение технического задания на создание ИС


Техническое задание на разработку информационной системы (ИС) медицинского учреждения. Модуль "Диспансеризация"

Настоящее техническое задание (далее - ТЗ) описывает основание, назначение и требования к разработке информационной системы для нужд специалистов медицинских учреждений в части автоматизации бизнес-процессов по обеспечению приказа Министерства здравоохранения от 13.02.2016 №36ан "Об утверждении порядка проведения диспансеризации определенных групп взрослого населения" [2] (далее - Приказ).

Назначение и цели создания информационной системы.

Информационная систем (далее - ИС), разработанная в соответствии с настоящим ТЗ, обеспечивает автоматизированную ЛПУ (далее - Заказчик) по автоматизации ведения медицинской документации (Учетная форма № 131/у).

Целью разработки ИС является автоматизация деятельности Заказчика в части реализации требований Приказа.

Характеристика объекта автоматизации.

Объектом автоматизации является лечебно-профилактическое учреждение (далее - ЛПУ).

В ЛПУ проводится диспансеризация пациентов. Правила организации деятельности ЛПУ при проведении диспансеризации регламентируются в приказе Министерства здравоохранения от 13.02.2016 №36ан "Об утверждении порядка проведения диспансеризации определенных групп взрослого населения". [2]

Автоматизация деятельности Заказчика подразумевает коллективную работу сотрудников Заказчика в ИС. Предварительное число сотрудников - не регламентируется.

Автоматизация деятельности Заказчика подразумевает обработку персональных данных. Перечень необходимых мероприятий по обеспечению обработки персональных данных в полной мере возлагается на Заказчика.

Требования к информационной системе.

1.      Требования к информационному обеспечению. ИС обеспечивает обработку данных, определенных формами учетной медицинской документации Приказа. Определение дополнительного состава данных настоящим ТЗ не предусмотрено.

2.      Требования к техническому обеспечению. ИС использует архитектуру клиент-сервер. Для функционирования ИС требуется выделенный сервер и оборудование пользователей компьютерами.

3.      Требования к программному обеспечению. Заказчик обеспечивает инсталлированное системное программное обеспечение на всех компьютерах, на которых подразумевается использование разрабатываемой ИС. ИС функционирует на базе операционных систем семейства Windows (XP, 7,8). Серверное и клиентское приложение ИС полностью разрабатываются Исполнителем;

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

Сроки и этапы разработки ИС.

Этап №1. "Обследование объекта автоматизации". Проводится ознакомление с необходимыми бизнес-процессами, документацией, существующими информационными системами, автоматизирующими деятельность Заказчика. Проводится анализ работы сотрудников Заказчика с существующими информационными системами, замеряется время работы с программными модулями;

Этап №2. "Эскизный проект". Исполнитель разрабатывает эскизный проект, включающий: моделирование бизнес-процессов, структуру базы данных (ER-модель), эскизы интерфейса. Результаты согласовываются с Заказчиком;

Этап №3. "Разработка ИС". Разработка ИС подразумевает использование итерационной модели разработки ИС с предоставлением Заказчику промежуточных вариантов версий ИС для ознакомления и выявления замечаний;

Этап №4. "Тестирование ИС". Тестирование ИС проводится Исполнителем совместно с Заказчиком. На данном этапе Заказчик проводит полное тестирование ИС с фиксацией замечаний по работе ИС. Предоставляются инструктивные материалы;

Этап №5. "Опытная эксплуатация и внедрение". Этап подразумевает развертывание протестированной версии ИС на базе Заказчика. Ведется полноценная работа Заказчика в ИС. Фиксируются ошибки. В случае выявления ошибок, Исполнитель устраняет их.

2.4 Технический проект


Разработка ИС (модуль "Диспансеризация");

При разработке информационной системы, были задействованы следующие программные средства:

1       Borland Delphi 7 - интегрированная среда разработки (ИСР) программного приложения.

2       LucidChart - веб-приложение для разработки информационных схем.

3       MySQL - система управления базами данных.

4       Microsoft Word - текстовый редактор.

Обоснование выбора Borland Delphi 7

В качестве среды программирования, была выбрана Delphi версии 7 фирмы Borland, потому как она предоставляет широкие возможности для программирования приложений под ОС Windows.

Borland Delphi 7 - это высокопроизводительный инструмент визуального построения приложений включающий в себя компилятор кода и средства визуального программирования, позволяющий в кратчайшие сроки создать высококачественный программный продукт.

В Borland Delphi 7 также входят локальный SQL-сервер, генераторы отчетов, библиотеки визуальных компонентов, и прочее, необходимое для создания глубоко проработанного программного продукта необходимого для функционирования автоматизированной информационной систем

Особенности Borland Delphi 7:

-        оптимальное время разработки приложения;

-        высокая производительность разработанного приложения;

-        низкие требования разработанного приложения к ресурсам компьютера;

-        наращиваемость за счет встраивания новых компонент и инструментов в среду Borland Delphi 7;

-        возможность разработки новых компонентов и инструментов собственными средствами Delphi 7 Enterprise (существующие компоненты и инструменты доступны в исходных кодах);

-        удачная проработка иерархии объектов.

Обоснование выбора СУБД MySQL

В качестве системы управления базами данных (СУБД) выбрана MySQL. Данный выбор обусловлен принципом работы, который позволяет обеспечивать полнофункциональную работу базы данных при низких нагрузках на аппаратное обеспечение.

При сравнении производительности запросов, MySQL уверенно лидирует перед другими СУБД, например, такими как MSSQL и Oracle.

Кроме того, выбор данной СУБД обусловлен следующими ее характеристиками:

-        MySQL является клиент-серверной СУБД;

-        MySQL свободно распространяемый продукт;

-        MySQL является кросс-платформенным продуктом;

-        MySQL является реляционной базой данных;

Основные характеристики СУБД Mysql:

-        Многопоточность. Поддержка нескольких одновременных запросов;

-        Оптимизация связей с присоединением многих данных за один проход;

-        Записи фиксированной и переменной длины;

-        ODBC драйвер в комплекте с исходным файлом;

-        Гибкая система привилегий и паролей;

-        До 16 ключей в таблице. Каждый ключ может иметь до 15 полей;

-        Поддержка ключевых полей и специальных полей в операторе;

-        Поддержка чисел длинной от 1 до 4 байт (ints, float, double, fixed), строк переменной длины и меток времени;

-        Интерфейс с языками C и perl;

-        Основанная на потоках, быстрая система памяти;

-        Утилита проверки и ремонта таблицы (isamchk);

-        Все данные хранятся в формате ISO8859_1;

-        Все операции работы со строками не обращают внимания на регистр символов в обрабатываемых строках;

-        Псевдонимы применимы как к таблицам, так и к отдельным колонкам в таблице;

-        Все поля имеют значение по умолчанию. Можно использовать на любом подмножестве полей;

-        Легкость управления таблицей, включая добавление и удаление ключей и полей.

Обоснование выбора LucidChart

В качестве средства разработки моделей бизнес-процессов, было выбрано визуальное средство для построения диаграмм на основе HTML5 - LucidChart. Сервис содержит большое количество образцов и примеров:

-        блок схем;

-        UML-моделей;

-        ER-моделей данных;

-        каркасов / макетов;

-        системных диаграмм;

-        моделей бизнес-процессов (BPMN 2.0);

-        организационных схем;

-        схем связей;

-        схем сайтов;

Также сервис LucidChart даёт возможность сохранения созданных диаграмм в форматах: PDF, PNG и JPG

Обоснование выбора Microsoft Office Word

Microsoft Word является одной из самых востребованных программ современности, используемых в офисной работе. Данный текстовый редактор - наиболее мощный и распространенный.

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

Microsoft Word обеспечивает простое и удобное форматирование текстового файла за счет продуманных инструментов и понятного интерфейса. Благодаря широкому спектру функций текстовый процессор Microsoft Word напоминает настольную издательскую систему. Среди функциональных возможностей программы можно отметить:

-        наличие целого ряда шрифтов разного размера и начертания символов;

-        наличие способов выделения текста;

-        возможность установить параметры абзацев, междустрочные интервалы;

-        возможность проведения автоматической проверки правописания, подбора синонимов;

-        автоматическая нумерация страниц и переносы слов на новую строку;

-        возможность создания таблиц и гипертекста со ссылками и многое другое.

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

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

Описание базы данных.

На основе изучения процессов диспансеризации в Филиале №1 Поликлиники взрослых №1 Муниципального учреждения здравоохранения "Первая городская больница", была создана ER-модель базы данных (Приложение 1, Рисунок 2).

На данной модели отображены все существующие таблицы базы данных, а также связи между таблицами.

ER-модель базы данных создана с помощью онлайн-сервиса LucidChart.

Описание типов полей в каждой таблице базы данных отображены в (Приложение №2, Таблице 1).

Описание разработанных компонентов программной части ИС модуль "Диспансеризация".

В ходе процесса разработки программной части ИС модуль "Диспансеризация", был создан интерфейс, включающий в себя несколько частей:

-        Окно авторизации пользователя;

-        Окно работы со базой пациентов (поиск, фильтрация);

-        Окно оформления пациента (определение статуса диспансеризации, печать учетной формы диспансеризации, оформление медицинского заключения);

-        Окно оформления диагноза пациента.

1)      Окно авторизации пользователя;

Окно авторизации пользователя отвечает за идентификацию пользователя в информационной системе (Приложение 1, Рисунок 3).

В данном модуле пользователю необходимо корректно ввести данные присвоенные ему (логин и пароль), а также после этого нажать на кнопку "Войти", после чего ИС проверит правильность введённых пользователем данных.

После того, как ИС проверит правильность введённых пользователем данных, то у пользователя появляется два пути дальнейших действий:

1)      Информация введена корректно (появление кнопок "Пациенты" и "Выход");

2)      Информация введена некорректно (появление сообщения: "Ошибка: проверьте правильность данных. ").

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

В окне авторизации расположены стандартные компоненты Borland Delphi 7 такие как:

·        Label (надписи: авторизация, логин, пароль, пользователь);

·        Edit (формы для ввода данных);

·        Button (кнопка, отвечающая за проверку введённых пользователем данных).

·        Image (компонент, содержащий фоновый рисунок окна регистрации)

2)      Окно работы с данными пациентов (поиск, фильтрация);

Окно работы с данными пациентов отвечает за фильтрацию и поиск пациентов по установленным критериям (Приложение №1, Рисунок 4). Так же в данном окне расположены кнопки "Выход" и "Учетная форма диспансеризации пациента", отвечающие за полное закрытие всей программы и открытие окна с подробной информации о прохождении пациентом диспансеризации.

Данное окно разделено на несколько частей:

         Фильтрация (нижняя часть окна с маркерами для фильтрации данных);

-        Отображение данных (верхняя часть окна с таблицей);

         Кнопки выбора действий (подзаголовок окна и нижний правый угол).

В части фильтрации расположены стандартные компоненты Borland Delphi 7 такие как:

·        GroupBox (компонент, содержащий Labelс должностью и ФИО пользователя, работающего в данный момент с ИС).

·        Label (метки, отвечающие за название маркеров фильтрации);

·        Edit (графа для ввода данных с целью фильтрации и поиска);

В части отображения данных расположены стандартные компоненты Borland Delphi 7, такие как:

·        DBGrid (компонент, отвечающий за вывод данных из таблицы, хранящихся в базе данных);

В части, содержащей кнопки выбора действия, расположены стандартные компоненты Borland Delphi 7, такие как:

·        Button (кнопка, отвечающая переход к подробной информации пользователя)

·        MainMenu (панель, находящаяся под заголовком окна, содержащая в себе кнопку выхода из программы)

3)      Окно оформления пациента;

Окно оформления пациента отвечает, как за редактирование, так и за получение сведений о прохождении диспансеризации пациентом (Приложение №1, Рисунок 5).

Данное окно содержит стандартные компоненты Borland Delphi 7, такие как:

·        Label (метки, отвечающие за название граф);

·        Edit (графы с выведенными в них данными пациента);

·        Button (кнопка "Печать паспорта здоровья" и кнопка "Заключение", отвечающая за открытие шаблона с полем для ввода мед. рекомендаций терапевта);

·        ComboBox (поля для выбора значений);

·        DBChart (диаграмма с информацией о пройденных мед. мероприятиях).

Создание учетной формы диспансеризации пациента (Учетная форма № 131/у) производится посредством обработки программой шаблона документа Microsoft Office Word. После нажатия на кнопку "Печать учетной формы диспансеризации", расположенной в правой части окна пациента, ИС открывает каталог документов с перечнем доступных шаблонов документов, расположенным в папке с программой, в котором пользователю необходимо выбрать подходящую форму документа. После процедуры выбора шаблона документа, ИС осуществит открытие выбранного шаблона и автоматическое заполнение граф данными об итогах прохождения диспансеризации выбранным пациентом.

Работа ИС с шаблоном документа MSWord осуществляется с помощью стандартного компонента BorlandDelphi 7 - OpenDialog, который по заданному в коде пути, открывает каталог с нужными документами и после выбора нужного документа, заполняет его данными.

Содержание программного модуля.

Программный модуль ИС состоит из одного файла формата". exe" и папки с файлами - doc (содержит шаблоны документов) и images (содержит иконки, фоны окон программы и логотипы).

Заключение


Темой данной дипломной работы является "Разработка ИС медицинского учреждения. Модуль ДИСПАНСЕРИЗАЦИЯ". Выбор данной темы был обусловлен актуальностью разработки ИС для учреждений здравоохранения в настоящее время.

Главной целью работы является: разработка программного продукта для автоматизации деятельности медицинских специалистов при проведении диспансеризации в медицинских учреждениях, в виде модуля ИС; снижение нагрузки на медперсонал, сокращения времени обслуживания пациентов, печати карт учета диспансеризации (Форма № 025/у-04), а также возможность использования в составе ИС модулей сторонних разработчиков.

Для разработки ИС был рассмотрен стандарт ГОСТ 34.601-90 "Автоматизированные системы. Стадии создания", описывающий, в частности, стадии разработки информационной системы. Опираясь на данный стандарт, разработка была разделена на стадии и выполнялась поэтапно, согласно данным, представленным в стандарте.

На первом этапе проводилось обследование объекта автоматизации и обоснование необходимости создания ИС, а так же формирование требований пользователя к ИС, в котором были представлены модели бизнес-процессов в нотации BPMN.

Вторым этапом являлась разработка Технического задания на создание ИС, в котором были описаны: назначение и цели создания ИС, характеристика объекта автоматизации, требования к ИС, этапы создания ИС.

Третьим этапом, согласно выбранному стандарту, стало создание Технического проекта, в котором описывается обоснование выбора среды разработки программой части разрабатываемого модуля, обоснование выбора CASE-средства разработки моделей бизнес-процессов, обоснование выбора СУБД, подробное описание базы данных.

Программная часть ИС была разделена на несколько модулей, подробное описание которых приводится в Техническом проекте. Поставленная задача была решена в нескольких программных продуктах: Borland Delphi 7 (разработка интерфейса программы), MySQL (создание базы данных) и Word (шаблон медицинской карты амбулаторного больного).

Заключительным этапом разработки ИС стало проведение предварительных испытаний на базе ОГБУЗ "Медицинский информационно-аналитический центр Костромской области". Проводилась опытная эксплуатация ИС на трёх компьютерах с операционной системой Windows XP - Professional, предоставленных для тестирования ПО, один из них являлся сервером. В течении испытаний было:

         оформлено прохождение диспансеризации 10 пациентов;

-        распечатано 10 учетных форм диспансеризации (Форма № 131/у);

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

Цели и задачи, поставленные при создании дипломного проекта, были выполнены и реализованы в полной мере.

Глоссарий


№ п/п

Понятие

Значение

1

Бизнес-процесс

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

 2

Диспансеризация

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

3

ИС

Информационная система.

4

ИСР

Интегрированная среда разработки

5

ИТ

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

6

КАПС

Комплекс аппаратно - программных средств

7

ОМС

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

8

ЛПУ

Лечебно-профилактическое учреждение.

9

МИС

Медицинские информационные системы

10

СУБД

Система управления базами данных

11

BPMN

Графическая модель бизнес-процесса

12

CASE

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


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


1.      Распоряжение Правительства РФ от 29.12.2014 N 2769-р "Об утверждении Концепции региональной информатизации"

2.      Приказ Министерства здравоохранения от 13.02.2016 №36ан "Об утверждении порядка проведения диспансеризации определенных групп взрослого населения".

.        "ИТ в здравоохранении: от первых идей к современному состоянию" [Электронный ресурс] /Компьютерный еженедельник (#"897040.files/image008.gif">

Рисунок 1. Карта с пропорциональным изображением распространения лидирующих на рынке МИС по регионам РФ.

Рисунок 2. ER-модель базы данных.

Рисунок 3. Авторизация пользователя

Рисунок 4. Окно работы с данными пациентов

Рисунок 5. Окно оформления пациента

Диаграмма 1. Мед. работник. Авторизация

Диаграмма 2. Врач-терапевт. Первичный прием пациента

Диаграмма 3. Врач-терапевт. Вторичный прием.

Диаграмма 4. Мед. работник. Прием пациента.

Диаграмма 5. Занесение данных в БД;

Диаграмма 6. Запрос в БД.

Диаграмма 7. Запрос к пациенту.

Приложение 2


Таблица 1. Описание типов полей БД

Наименование таблицы

Наименование столбца

Тип поля

Таблица "Маршрутная карта" содержит данные с результатами приёмов пациентов у каждого из специалистов медицинского учреждения.

id_pz

INT


Опрос терапевтом

TEXT


Измерение АД

TEXT


ЭКГ

TEXT


Флюорография лёгких

TEXT


ЭФГДС

TEXT


Осмотр офтальмолога

TEXT


Осмотр невролога

TEXT


Осмотр врача хирурга

TEXT


УЗИ брюшной полости

TEXT


Other medical events (20)

TEXT

Таблица "Пациенты" содержит личные данные пациентов, прошедших процедуру регистрации в медицинском учреждении.

id_pz

INT


Фамилия

VARCHAR


Имя

VARCHAR


Отчество

VARCHAR


Пол

VARCHAR


Дата_рождения

VARCHAR


СНИЛС

VARCHAR


Полис_ОМС

VARCHAR


Адрес_фактический

VARCHAR


Телефон

VARCHAR


Other personal information (10)

VARCHAR

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

id


id_pz

INT


Медмероприятие

CHAR


Диагноз

VARCHAR


Дата

DATE


Врач

VARCHAR


Оценкапоказателей

VARCHAR

Таблица "Медперсонал" содержит данные о персонале медицинского учреждения.

id_sotr

INT


id_dolzj

INT


id_bol

INT


ФИО

VARCHAR

Таблица "Пользователи ИС" содержит данные пользователей для работы с ИС.

id_sotr

INT


ФИО

VARCHAR


login

CHAR


password

CHAR


dostup

CHAR


Должность

VARCHAR

Таблица "Мед. Учреждение" содержит данные о медицинских учреждениях.

id_adr

INT


id_pz

INT


Адрес

VARCHAR

Таблица "Должности" содержит данные о должностях сотрудников медицинского учреждения

Наименование

CHAR


id_sotr

INT


id_medmer

INT

Таблица "МедМероприятия-Возраста" содержит данные с возрастами пациентов

id_medmer

INT


МедМерпориятие

CHAR


Список возрастов

INT

Таблица "Организации" содержит данные с местами работы пациентов

Id_org

INT


Id_pz

INT


Место работы

CHAR


Приложение 3

Листинг программного модуля ИС для медицинского учреждения.

Модуль "ДИСПАНСЕРИЗАЦИЯ"

)        DataModule;

unit Unit3;, Classes, DB, ADODB;= class (TDataModule): TADOConnection;: TADOQuery;: TADOQuery;: TADOQuery;_Karta: TADOQuery;: TADOQuery;: TADOQuery;: TADOQuery;: TADOQuery;: TADOQuery;: TDataSource;: TDataSource;: TDataSource;_Karta: TDataSource;: TDataSource;: TDataSource;: TDataSource;: TDataSource;: TDataSource;: TADOQuery;: TDataSource;: TADOQuery;: TDataSource;_pz: TAutoIncField;: TWideStringField;: TWideStringField;: TWideStringField;: TWideStringField;: TDateField;: TWideStringField;: TWideStringField;: TWideStringField;: TWideStringField;: TWideStringField;: TWideStringField;: TWideStringField;: TWideStringField;: TWideStringField;: TWideStringField;: TWideStringField;: TDateField;: TIntegerField;DataModuleCreate (Sender: TObject);

{ Private declarations }

{ Public declarations };: TDM1;

{$R *. dfm}.

2)      Главная форма терапевта;

unit Unit1;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, Menus, ExtCtrls, Grids, DBGrids, Unit7, TeeProcs, TeEngine,, DbChart, StdCtrls, DateUtils, DBCtrls, Series, Mask;= class (TForm): TDBGrid;: TMainMenu;: TMenuItem;: TMenuItem;: TMenuItem;: TOpenDialog;: TPanel;: TRadioGroup;: TGroupBox;: TLabel;: TLabel;: TLabel;: TLabel;: TPanel;: TPanel;: TRadioGroup;: TPanel;: TPanel;: TGroupBox;: TEdit;: TButton;N4Click (Sender: TObject);DBGrid2Enter (Sender: TObject);DBGrid2CellClick (Column: TColumn);DBGrid1DrawColumnCell (Sender: TObject; const Rect: TRect;: Integer; Column: TColumn; State: TGridDrawState);

{ procedure N1Click (Sender: TObject);N2Click (Sender: TObject);N3Click (Sender: TObject); }N6Click (Sender: TObject);

{ procedure FormCreate (Sender: TObject); }DBGrid1DblClick (Sender: TObject);Button2Click (Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm1;, s,ClWhere: string;: integer;, Unit3, Unit4, Unit5, Unit6, Unit8;

{$R *. dfm}

// Функция записывает новый текст для закладки с именем aBmName.

// Функция возвращает значение True, если закладка найдена и её текст изменён

// и False - если закладка не найдена.

// Переустановка текста закладки выплоняется так:

// - Получаем ссылку на объект-диапазон, который содержит текст закладки.

// - Удаляем закладку.

// - Устанавливаем новый текст для объекта-диапазона.

// - Создаём новую закладку с диапазоном, который содержит новый текст.

function SetBmText (var aBms: Variant; const aBmName, aText: String): Boolean;

Bm, Rng: Variant;

begin

// Проверяем - существует ли закладка с заданным именем.

Result: = aBms. Exists (aBmName);

// Если закладка не найдена - выходим.

if not Result then Exit;

// Ссылка на закладку.

Bm: = aBms. Item (aBmName);

// Ссылка на диапазон, связанный с закладкой.

Rng: = Bm. Range;

// Удаление закладки.

Bm. Delete;

// Заменяем текст в диапазоне.

Rng. Text: = aText;

// Добавляем новую закладку с таким же именем.

// aBms. Add (aBmName, Rng);;TForm1. N4Click (Sender: TObject);. Terminate;;TForm1. DBGrid2Enter (Sender: TObject);

{DM1. QueryDiagnozy. Close;. QueryDiagnozy. SQL. Text: = ('SELECT DISTINCT * FROM diagnozy WHERE diagnozy. id_pz='+clWhere);. QueryDiagnozy. Open; };TForm1. DBGrid2CellClick (Column: TColumn);, i,d,n, KolvoStrokDiag: integer;,x,ClwhereOcenka,ClWherePZ, NowYear: string;,x2,x3,x4,x5,proverka: real;: array [1.27] of integer;. Series1. Clear;: =0;: =0;

// Label3. Caption: =DBText2. Caption+' '+DBText3. Caption+' '+DBText4. Caption;. QueryVozrastMedmer. Close;

// Label2. Font. Color: =clRed;

// Label4. Visible: =true;: =DBGrid2. DataSource. DataSet. Fields [0]. AsString;. QueryDiagnozy. Close;. QueryDiagnozy. SQL. Text: = ('SELECT DISTINCT * FROM diagnozy WHERE diagnozy. id_pz='+clWhere);. QueryDiagnozy. Open;: =DBGrid2. DataSource. DataSet. Fields [0]. AsString;. QueryDiagnozy. Close;. QueryDiagnozy. SQL. Text: = ('SELECT DISTINCT * FROM diagnozy WHERE diagnozy. id_pz='+clWhere);. QueryDiagnozy. Open;;TForm1. DBGrid1DrawColumnCell (Sender: TObject; const Rect: TRect;: Integer; Column: TColumn; State: TGridDrawState);: TDateTime;: string;,KolvoStrok,proverka: integer;,DateM,DateD,DateHour,DateMin,DateSec: Word;: string;: =DBGrid2. DataSource. DataSet. Fields [0]. AsString;: =Form8. DBGrid1. DataSource. DataSet. Fields [1]. AsString;. ZQuery7. Close;. ZQuery7. SQL. Text: = ('SELECT DISTINCT * FROM diagnozy WHERE diagnozy. id_pz='+clWhere+' and diagnozy. МедМероприятие='+#39+ClWhere2+#39);. ZQuery7. Open;: = FormatDateTime ('yyyy', Now);: =Form5. DBGrid1. DataSource. DataSet. RecordCount;KolvoStrok=0 then exiti: =1 to KolvoStrok do: =0;(StrToDate (Form5. DBGrid1. DataSource. DataSet. FieldByName ('Дата'). AsString),DateY, DateM, DateD);

// DiagnozDate: =StrToDate (Form5. DBGrid1. DataSource. DataSet. Fields [3]. AsString);

// DecodeDate (DiagnozDate, DateY, DateM, DateD);: =IntToStr (DateY);DiagnozYear=NowYear{ условие }Begin. DBGrid1. Canvas. Brush. Color: =clGreen;. DBGrid1. Canvas. Font. Color: =clWhite;. DBGrid1. Canvas. FillRect (Rect);: =1;. DBGrid1. Canvas. Brush. Color: =clTeal;. DBGrid1. Canvas. Font. Color: =clWhite;. DBGrid1. Canvas. FillRect (Rect);;

// если строка была выделена, оставляем "подсвеченные" цвета

{IF gdSelected IN StateBegin(Sender). Canvas. Brush. Color: = clHighLight;(Sender). Canvas. Font. Color: = clHighLightText;. Canvas. FillRect (Rect);; }(Sender). DefaultDrawColumnCell (Rect,DataCol,Column,State);proverka=1 then break else. DBGrid1. DataSource. DataSet. Next;;;

{TForm1. N1Click (Sender: TObject);. Visible: =false;. visible: =true;. Visible: =false;;TForm1. N2Click (Sender: TObject);. Visible: =false;. visible: =true;. Visible: =false;;TForm1. N3Click (Sender: TObject);. Visible: =true;;

}TForm1. N6Click (Sender: TObject); // ОТЧЕТ, wdDocs, wdDoc, wdBms: Variant;: TOpenDialog;: = OpenDialog1;Od. InitialDir = '' then. InitialDir: = ExtractFilePath (Application. ExeName)

;

Od. Title: = 'Выберите шаблон, на основе которого будет создан новый документ';

if not Od. Execute then Exit;not FileExists (Od. FileName) then begin (

'Файл с заданным именем не найден. Действие отменено. '

,mtWarning, [mbOK], 0

);;;: = CreateOleObject ('Word. Application');('Не удалось запустить MS Word. Действие отменено. ');

Exit;

end;

// Делаем видимым окно MS Word.

wdApp. Visible: = True;

// Ссылка на коллекцию документов.

wdDocs: = wdApp. Documents;

// Попытка открыть выбранный файл.

wdDoc: = wdDocs. Open (FileName: =Od. FileName);

// Подключаемся к коллекции закладок.

wdBms: = wdDoc. Bookmarks;

// Ищем закладки с нужными именами и изменяем их текст, в соответствие

// с данными, введёнными на форме.

try(wdBms, 'id_pz', DM1. QueryPacienty. FieldByName ('id_pz'). AsString);(wdBms, 'data_ofrml',DM1. QueryPacienty. FieldByName ('Дата оформления'). AsString);(wdBms, 'n_bol',DM1. QueryBolnica. FieldByName ('Наименование'). AsString);(wdBms, 'adr_bol',DM1. QueryBolnica. FieldByName ('Адрес'). AsString);(wdBms, 'kod_bol',DM1. QueryBolnica. FieldByName ('Код ОГРН'). AsString);(wdBms, 'FIO', DM1. QueryPacienty. FieldByName ('Фамилия'). AsString + ' ' + DM1. QueryPacienty. FieldByName ('Имя'). AsString + ' ' + DM1. QueryPacienty. FieldByName ('Отчество'). AsString);(wdBms, 'Data_rozhd', DM1. QueryPacienty. FieldByName ('Дата рождения'). AsString);(wdBms, 'pol', DM1. QueryPacienty. FieldByName ('Пол'). AsString);(wdBms, 'pasport', DM1. QueryPacienty. FieldByName ('Паспорт'). AsString);(wdBms, 'adres_pac', DM1. QueryPacienty. FieldByName ('Адрес'). AsString);(wdBms, 'telephon', DM1. QueryPacienty. FieldByName ('Телефон'). AsString);(wdBms, 'nomer_polis', DM1. QueryPacienty. FieldByName ('Полис ОМС'). AsString);

{QueryOtchet}

// Дописать поле DataTime в запросе

DM1. QueryOtchet. SQL. Text: = 'Select * from diagnozy where id_pz = '+ #39 + ClWhere + #39 + ' and ' + 'МедМероприятие = ' + #39 + 'Заключение врача терапевта' + #39;

DM1. QueryOtchet. Open;(wdBms, 'terapevt', DM1. QueryOtchet. FieldByName ('Диагноз'). AsString);. QueryOtchet. SQL. Text: = 'Select * from diagnozy where id_pz = '+ #39 + ClWhere + #39 + ' and ' + 'МедМероприятие = ' + #39 + 'Антропометрия' + #39;. QueryOtchet. Open;(wdBms, 'antropometria', DM1. QueryOtchet. FieldByName ('Диагноз'). AsString);. QueryOtchet. SQL. Text: = 'Select * from diagnozy where id_pz = '+ #39 + ClWhere + #39 + ' and ' + 'МедМероприятие = ' + #39 + 'Измерение АД' + #39;. QueryOtchet. Open;(wdBms, 'izmerenie_ad', DM1. QueryOtchet. FieldByName ('Диагноз'). AsString);. QueryOtchet. SQL. Text: = 'Select * from diagnozy where id_pz = '+ #39 + ClWhere + #39 + ' and ' + 'МедМероприятие = ' + #39 + 'Уровень общего холестерина в крови' + #39;. QueryOtchet. Open;(wdBms, 'holesterin', DM1. QueryOtchet. FieldByName ('Диагноз'). AsString);. QueryOtchet. SQL. Text: = 'Select * from diagnozy where id_pz = '+ #39 + ClWhere + #39 + ' and ' + 'МедМероприятие = ' + #39 + 'Определение уровня глюкозы в крови' + #39;. QueryOtchet. Open;(wdBms, 'glukoza', DM1. QueryOtchet. FieldByName ('Диагноз'). AsString);. QueryOtchet. SQL. Text: = 'Select * from diagnozy where id_pz = '+ #39 + ClWhere + #39 + ' and ' + 'МедМероприятие = ' + #39 + 'Определение суммарного сердечно-сосудистого риска' + #39;. QueryOtchet. Open;(wdBms, 'serdechny_risk', DM1. QueryOtchet. FieldByName ('Диагноз'). AsString);. QueryOtchet. SQL. Text: = 'Select * from diagnozy where id_pz = '+ #39 + ClWhere + #39 + ' and ' + 'МедМероприятие = ' + #39 + 'ЭКГ (мужчины) ' + #39;. QueryOtchet. Open;(wdBms, 'ekg', DM1. QueryOtchet. FieldByName ('Диагноз'). AsString);. QueryOtchet. SQL. Text: = 'Select * from diagnozy where id_pz = '+ #39 + ClWhere + #39 + ' and ' + 'МедМероприятие = ' + #39 + 'Осмотр фельдшера' + #39;. QueryOtchet. Open;(wdBms, 'osm_feldsher', DM1. QueryOtchet. FieldByName ('Диагноз'). AsString);. QueryOtchet. SQL. Text: = 'Select * from diagnozy where id_pz = '+ #39 + ClWhere + #39 + ' and ' + 'МедМероприятие = ' + #39 + 'Флюорография легких' + #39;. QueryOtchet. Open;(wdBms, 'flurogramma', DM1. QueryOtchet. FieldByName ('Диагноз'). AsString);. QueryOtchet. SQL. Text: = 'Select * from diagnozy where id_pz = '+ #39 + ClWhere + #39 + ' and ' + 'МедМероприятие = ' + #39 + 'Маммография' + #39;. QueryOtchet. Open;(wdBms, 'mammographia', DM1. QueryOtchet. FieldByName ('Диагноз'). AsString);. QueryOtchet. SQL. Text: = 'Select * from diagnozy where id_pz = '+ #39 + ClWhere + #39 + ' and ' + 'МедМероприятие = ' + #39 + 'Клинический анализ крови' + #39;

DM1. QueryOtchet. Open;(wdBms, 'klin_analiz_krovi', DM1. QueryOtchet. FieldByName ('Диагноз'). AsString);. QueryOtchet. SQL. Text: = 'Select * from diagnozy where id_pz = '+ #39 + ClWhere + #39 + ' and ' + 'МедМероприятие = ' + #39 + 'Клинический анализ крови развернутый' + #39;

DM1. QueryOtchet. Open;(wdBms, 'klin_analiz_krovi_razv', DM1. QueryOtchet. FieldByName ('Диагноз'). AsString);. QueryOtchet. SQL. Text: = 'Select * from diagnozy where id_pz = '+ #39 + ClWhere + #39 + ' and ' + 'МедМероприятие = ' + #39 + 'Анализ крови биохимический общетерапевтический' + #39;. QueryOtchet. Open;(wdBms, 'bio_analiz_krovi', DM1. QueryOtchet. FieldByName ('Диагноз'). AsString);. QueryOtchet. SQL. Text: = 'Select * from diagnozy where id_pz = '+ #39 + ClWhere + #39 + ' and ' + 'МедМероприятие = ' + #39 + 'Общий анализ мочи' + #39;. QueryOtchet. Open;(wdBms, 'mocha', DM1. QueryOtchet. FieldByName ('Диагноз'). AsString);. QueryOtchet. SQL. Text: = 'Select * from diagnozy where id_pz = '+ #39 + ClWhere + #39 + ' and ' + 'МедМероприятие = ' + #39 + 'Исследование кала на скрытую кровь' + #39;. QueryOtchet. Open;(wdBms, 'kal', DM1. QueryOtchet. FieldByName ('Диагноз'). AsString);. QueryOtchet. SQL. Text: = 'Select * from diagnozy where id_pz = '+ #39 + ClWhere + #39 + ' and ' + 'МедМероприятие = ' + #39 + 'Определение уровня ПСА в крови' + #39;. QueryOtchet. Open;(wdBms, 'psa', DM1. QueryOtchet. FieldByName ('Диагноз'). AsString);. QueryOtchet. SQL. Text: = 'Select * from diagnozy where id_pz = '+ #39 + ClWhere + #39 + ' and ' + 'МедМероприятие = ' + #39 + 'УЗИ органов брюшной полости' + #39;. QueryOtchet. Open;(wdBms, 'uzi', DM1. QueryOtchet. FieldByName ('Диагноз'). AsString);. QueryOtchet. SQL. Text: = 'Select * from diagnozy where id_pz = '+ #39 + ClWhere + #39 + ' and ' + 'МедМероприятие = ' + #39 + 'Измерение внутриглазного давление' + #39;. QueryOtchet. Open;(wdBms, 'glaz_davl', DM1. QueryOtchet. FieldByName ('Диагноз'). AsString);. QueryOtchet. SQL. Text: = 'Select * from diagnozy where id_pz = '+ #39 + ClWhere + #39 + ' and ' + 'МедМероприятие = ' + #39 + 'Дуплексное сканирование брахиоцефальных артерий' + #39;. QueryOtchet. Open;(wdBms, 'dsb_art', DM1. QueryOtchet. FieldByName ('Диагноз'). AsString);. QueryOtchet. SQL. Text: = 'Select * from diagnozy where id_pz = '+ #39 + ClWhere + #39 + ' and ' + 'МедМероприятие = ' + #39 + 'ЭФГДС' + #39;. QueryOtchet. Open;(wdBms, 'efgds', DM1. QueryOtchet. FieldByName ('Диагноз'). AsString);. QueryOtchet. SQL. Text: = 'Select * from diagnozy where id_pz = '+ #39 + ClWhere + #39 + ' and ' + 'МедМероприятие = ' + #39 + 'Осмотр врача хирурга' + #39;. QueryOtchet. Open;(wdBms, 'osm_vrach_hirurg', DM1. QueryOtchet. FieldByName ('Диагноз'). AsString);. QueryOtchet. SQL. Text: = 'Select * from diagnozy where id_pz = '+ #39 + ClWhere + #39 + ' and ' + 'МедМероприятие = ' + #39 + 'Осмотр врача хирурга-проктолога' + #39;. QueryOtchet. Open;(wdBms, 'osm_vrach_hirurg_proct', DM1. QueryOtchet. FieldByName ('Диагноз'). AsString);. QueryOtchet. SQL. Text: = 'Select * from diagnozy where id_pz = '+ #39 + ClWhere + #39 + ' and ' + 'МедМероприятие = ' + #39 + 'Колоноскопия (ректороманоскопия) ' + #39;. QueryOtchet. Open;(wdBms, 'kolonoskopia', DM1. QueryOtchet. FieldByName ('Диагноз'). AsString);. QueryOtchet. SQL. Text: = 'Select * from diagnozy where id_pz = '+ #39 + ClWhere + #39 + ' and ' + 'МедМероприятие = ' + #39 + 'Определение липидного спектра крови' + #39;. QueryOtchet. Open;(wdBms, 'spectr_krovi', DM1. QueryOtchet. FieldByName ('Диагноз'). AsString);. QueryOtchet. SQL. Text: = 'Select * from diagnozy where id_pz = '+ #39 + ClWhere + #39 + ' and ' + 'МедМероприятие = ' + #39 + 'Осмотр врача акушера-гинеколога' + #39;. QueryOtchet. Open;(wdBms, 'akusher', DM1. QueryOtchet. FieldByName ('Диагноз'). AsString);. QueryOtchet. SQL. Text: = 'Select * from diagnozy where id_pz = '+ #39 + ClWhere + #39 + ' and ' + 'МедМероприятие = ' + #39 + 'Определение концентрации гликированного Hb в крови' + #39;. QueryOtchet. Open;(wdBms, 'konc_hb_krovi', DM1. QueryOtchet. FieldByName ('Диагноз'). AsString);. QueryOtchet. SQL. Text: = 'Select * from diagnozy where id_pz = '+ #39 + ClWhere + #39 + ' and ' + 'МедМероприятие = ' + #39 + 'Осмотр врача офтальмолога' + #39;. QueryOtchet. Open;(wdBms, 'oftalmolog', DM1. QueryOtchet. FieldByName ('Диагноз'). AsString);. QueryOtchet. SQL. Text: = 'Select * from diagnozy where id_pz = '+ #39 + ClWhere + #39 + ' and ' + 'МедМероприятие = ' + #39 + 'Осмотр врача невролога' + #39;. QueryOtchet. Open;(wdBms, 'nevrolog', DM1. QueryOtchet. FieldByName ('Диагноз'). AsString);

finally

// Сохранять документ следует под другим именем, чтобы не перезаписать шаблон.

// wdApp. DisplayAlerts: = False; // Отключаем режим показа предупреждений.

// wdDoc. SaveAs (FileName: =.);

// wdApp. DisplayAlerts: = True; // Включаем режим показа предупреждений.

// Закрываем документ.

// wdDoc. Close;

// Закрываем MS Word.

// wdApp. Quit;;; {TForm1. FormCreate (Sender: TObject);. Visible: =false;. Visible: =false;; }TForm1. DBGrid1DblClick (Sender: TObject);: string;: =DM1. QueryPacienty. FieldByName ('id_pz'). AsString;: =DM1. QueryVozrastMedmer. FieldByName ('МедМероприятие'). AsString;. ZQuery8. Close;. ZQuery8. SQL. Text: = ('SELECT DISTINCT * FROM diagnozy WHERE diagnozy. id_pz='+clWhere+' and diagnozy. МедМероприятие='+#39+ClWhere2+#39);. ZQuery8. Open;. Show;;TForm1. Button2Click (Sender: TObject);. RadioGroup1. ItemIndex: =-1;. RadioGroup1. ItemIndex: =0;. ShowModal;;.

3)      Главная форма мед. работника;

unit Unit5;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, Menus, ExtCtrls, Grids, DBGrids, TeeProcs, TeEngine,, DbChart, StdCtrls, DateUtils, DBCtrls, Series, Mask, jpeg;= class (TForm): TDBGrid;: TDBGrid;: TMainMenu;: TMenuItem;DBGrid2DblClick (Sender: TObject);N1Click (Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm2;, Unit3, Unit4, Unit6, Unit7;

{$R *. dfm}TForm2. DBGrid2DblClick (Sender: TObject);, id_pz: string;_pz: =DM1. QueryPacienty. FieldByName ('id_pz'). AsString;: =DM1. QueryVozrastMedmer. FieldByName ('МедМероприятие'). AsString;. ZQuery8. Close;. ZQuery8. SQL. Text: = ('SELECT DISTINCT * FROM diagnozy WHERE diagnozy. id_pz='+id_pz+' and diagnozy. МедМероприятие='+#39+ClWhere2+#39); DM1. ZQuery8. Open;. Show;;TForm2. N1Click (Sender: TObject);. terminate;;.

4)      Форма редактирования диагноза;

unit Unit6;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, DBCtrls, Mask, Menus;

type= class (TForm): TDBEdit;: TDBEdit;_pz: TDBEdit;: TDBMemo;: TEdit;: TLabel;: TLabel;: TLabel;: TLabel;: TButton;: TButton;: TLabel;Button1Click (Sender: TObject);Button2Click (Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm3;, Unit3, Unit4, Unit5, Unit7;

{$R *. dfm}TForm3. Button1Click (Sender: TObject);dm1. QueryDiagnozy. Modified then. QueryDiagnozy. Post;;TForm3. Button2Click (Sender: TObject);. Close;;.

5)      Форма список диагнозов;

unit Unit7;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, Menus, Grids, DBGrids;= class (TForm): TDBGrid;: TMainMenu;: TMenuItem;: TDBGrid;N1Click (Sender: TObject);FormShow (Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm5;, Unit3, Unit4, Unit5, Unit6;

{$R *. dfm}TForm5. N1Click (Sender: TObject);. QueryDiagnozy. Close;. QueryDiagnozy. Open;

DM1. QueryDiagnozy. Append;. QueryDiagnozy. FieldByName ('Дата'). AsString: =DateToStr (Date);. QueryDiagnozy. FieldByName ('МедМероприятие'). AsString: =DM1. QueryVozrastMedmer. FieldByName ('МедМероприятие'). AsString;. QueryDiagnozy. FieldByName ('id_pz'). AsString: =DM1. QueryPacienty. FieldByName ('id_pz'). AsString;. Edit1. Text: =DM1. QueryPacienty. FieldByName ('Фамилия'). AsString+' '+DM1. QueryPacienty. FieldByName ('Имя'). AsString+' '+DM1. QueryPacienty. FieldByName ('Отчество'). AsString;. QueryDiagnozy. Post;. show;;TForm5. FormShow (Sender: TObject);dostup <> 1 then. Visible: =False;;.

6)      Форма пациента;

unit Unit8;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, Menus, ExtCtrls, Grids, DBGrids, Unit7, TeeProcs, TeEngine,, DbChart, StdCtrls, DateUtils, DBCtrls, Series, Mask, ComCtrls;= class (TForm): TPanel;: TDBChart;: TPieSeries;: TLabel;: TLabel;: TPanel;: TDBEdit;: TDBEdit;: TDBEdit;: TBevel;: TLabel;: TLabel;: TBevel;: TLabel;: TDBEdit;: TLabel;: TDBEdit;: TPanel;: TPageControl;: TTabSheet;: TTabSheet;: TDBGrid;: TButton;: TRadioGroup;: TRadioGroup;: TDBGrid;: TButton;: TButton;RadioGroup1Click (Sender: TObject);DBGrid1CellClick (Column: TColumn);

{ Private declarations }

{ Public declarations };: TForm8;Unit3, Unit1;

{$R *. dfm}TForm8. RadioGroup1Click (Sender: TObject);, i,d,n, KolvoStrokDiag: integer;,x,ClwhereOcenka,ClWherePZ, NowYear: string;,x2,x3,x4,x5,proverka: real;: array [1.27] of integer;. Series1. Clear;: =0;: =0;

// Label3. Caption: =DBText2. Caption+' '+DBText3. Caption+' '+DBText4. Caption;. QueryVozrastMedmer. Close;. Font. Color: =clRed;

// Label4. Visible: =true;[1]: =21;i: =2 to 27 do[i]: =mas [i-1] +3;: = YearsBetween (Date,DM1. QueryPacienty. FieldByName ('Дата рождения'). AsDateTime);. Caption: =IntToStr (years);i: =1 to 27 doyears=mas [i] then

// Label4. Visible: =false;. Font. Color: =clBlack;: =IntToStr (years);RadioGroup1. ItemIndex = 0 then. QueryVozrastMedmer. SQL. Text: = ('SELECT id_medmer, МедМероприятие FROM vozrast_medmer WHERE vozrast_medmer. '+ x + '=1' + ' and vozrast_medmer. Этап=1');. QueryVozrastMedmer. Open;: =Form1. DBGrid2. DataSource. DataSet. Fields [0]. AsString;: =DBGrid1. DataSource. DataSet. Fields [1]. AsString;. ZQuery8. Close;. ZQuery8. SQL. Text: = ('SELECT DISTINCT * FROM diagnozy WHERE diagnozy. id_pz='+clWhere+' and diagnozy. МедМероприятие='+#39+ClWhere2+#39);. ZQuery8. Open;: =1;. QueryVozrastMedmer. SQL. Text: = ('SELECT id_medmer, МедМероприятие FROM vozrast_medmer WHERE vozrast_medmer. '+ x + '=1');. QueryVozrastMedmer. Open;: =Form1. DBGrid2. DataSource. DataSet. Fields [0]. AsString;: =DBGrid1. DataSource. DataSet. Fields [1]. AsString;. ZQuery8. Close;. ZQuery8. SQL. Text: = ('SELECT DISTINCT * FROM diagnozy WHERE diagnozy. id_pz='+clWhere+' and diagnozy. МедМероприятие='+#39+ClWhere2+#39);. ZQuery8. Open;: =1;;;;

{Диаграмма}proverka=1 then: = FormatDateTime ('yyyy', Now);: =Form1. DBGrid2. DataSource. DataSet. Fields [0]. AsString;

{оценка Норма}: ='Норма';

DM1. QueryDiagnozyGraphik. Close;. QueryDiagnozyGraphik. SQL. Text: = ('SELECT DISTINCT * FROM diagnozy WHERE diagnozy. id_pz='+clWherePZ+' and diagnozy. ОценкаПоказателей='+#39+ClWhereOcenka+#39+' and YEAR (Дата) =' + NowYear);. QueryDiagnozyGraphik. Open;: =DM1. QueryDiagnozyGraphik. RecordCount;

{оценка Небольшие отклонения}

ClwhereOcenka: ='Небольшие отклонения';

DM1. QueryDiagnozyGraphik. Close;. QueryDiagnozyGraphik. SQL. Text: = ('SELECT DISTINCT * FROM diagnozy WHERE diagnozy. id_pz='+clWherePZ+' and diagnozy. ОценкаПоказателей='+#39+ClWhereOcenka+#39+' and YEAR (Дата) =' + NowYear);. QueryDiagnozyGraphik. Open;: =DM1. QueryDiagnozyGraphik. RecordCount;

{оценка Серьезные отклонения}

ClwhereOcenka: ='Серьезные отклонения';

DM1. QueryDiagnozyGraphik. Close;. QueryDiagnozyGraphik. SQL. Text: = ('SELECT DISTINCT * FROM diagnozy WHERE diagnozy. id_pz='+clWherePZ+' and diagnozy. ОценкаПоказателей='+#39+ClWhereOcenka+#39+' and YEAR (Дата) =' + NowYear);. QueryDiagnozyGraphik. Open;: =DM1. QueryDiagnozyGraphik. RecordCount;

{Не пройдено}: =DM1. QueryVozrastMedmer. RecordCount-x2-x3-x4;

{передача параметров}

if x1>=1 then Form8. Series1. Add (x1, 'Не пройдено', clWhite);

if x2>=1 then Form8. Series1. Add (x2, 'Норма', clGreen);x3>=1 then Form8. Series1. Add (x3, 'Небольшие отклонения', clYellow);

if x4>=1 then Form8. Series1. Add (x4, 'Серьезные отклонения', clRed);

end;

// Процент прохождения мед. мероприятий

try

Form8. Label9. Visible: =True;: =0;

x5: =x1+x2+x3+x4;: =100-x1/x5*100;. label10. Caption: = (FormatFloat ('0.0', x5));;

// завершение;TForm8. DBGrid1CellClick (Column: TColumn);: string;: =DM1. QueryPacienty. FieldByName ('id_pz'). AsString;: =DM1. QueryVozrastMedmer. FieldByName ('МедМероприятие'). AsString;. ZQuery8. Close;. ZQuery8. SQL. Text: = ('SELECT DISTINCT * FROM diagnozy WHERE diagnozy. id_pz='+clWhere+' and diagnozy. МедМероприятие='+#39+ClWhere2+#39);. ZQuery8. Open;. Show;;.

7)      Форма авторизации;

unit Unit4;Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, Menus, ExtCtrls, Grids, DBGrids, TeeProcs, TeEngine,, DbChart, StdCtrls, DateUtils, DBCtrls, Series, Mask, jpeg;= class (TForm): TImage;: TLabel;: TButton;: TButton;: TEdit;: TEdit;: TLabel;: TLabel;: TImage;: TDBText;: TButton;btnOKBtnClick (Sender: TObject);btnCancelBtnClick (Sender: TObject);Image1Click (Sender: TObject);Button1Click (Sender: TObject);

{ Private declarations }

{ Public declarations };: TPasswordDlg;: integer;Unit1, Unit7, Unit5, Unit3;

{$R *. dfm}TPasswordDlg. btnOKBtnClick (Sender: TObject);,x2: string;. QueryUsers. Close;. QueryUsers. SQL. Text: = 'Select * from users where login = '

+ #39 + edt1. Text + #39+ ' and password = ' + #39 + edt2. Text + #39;. QueryUsers. Open;: =0;: =DM1. QueryUsers. FieldByName ('password'). AsString;: =DM1. QueryUsers. FieldByName ('login'). AsString;x1=Edt1. Text thenx2=Edt2. Text then: =DM1. QueryUsers. FieldByName ('dostup'). AsInteger;dostup of

: begin('Ошибка: проверьте правильность данных. ');;

: // Терапевт. Show;. Caption: =DM1. QueryUsers. FieldByName ('Должность'). AsString + ': ' + DM1. QueryUsers. FieldByName ('ФИО'). AsString;. Visible: =False;;

: // Главврач. Show;. Caption: =DM1. QueryUsers. FieldByName ('Должность'). AsString + ': ' + DM1. QueryUsers. FieldByName ('ФИО'). AsString;. Visible: =False;;

: // Акушер/Гинеколог. Caption: =DM1. QueryUsers. FieldByName ('Должность'). AsString + ': ' + DM1. QueryUsers. FieldByName ('ФИО'). AsString;. Show;. QueryVozrastMedmer. SQL. Text: = ('Select МедМероприятие from vozrast_medmer where id_medmer IN (11,29,9) ');. QueryVozrastMedmer. Open;. Visible: =False;;

: // Лаборант. Caption: =DM1. QueryUsers. FieldByName ('Должность'). AsString + ': ' + DM1. QueryUsers. FieldByName ('ФИО'). AsString;. Show;. QueryVozrastMedmer. SQL. Text: = ('Select МедМероприятие from vozrast_medmer where id_medmer IN (2,3,4,5,12,13,14,15,16,17) ');. QueryVozrastMedmer. Open;. Visible: =False;;

: // Диагност. Caption: =DM1. QueryUsers. FieldByName ('Должность'). AsString + ': ' + DM1. QueryUsers. FieldByName ('ФИО'). AsString;. Show;. QueryVozrastMedmer. SQL. Text: = ('Select МедМероприятие from vozrast_medmer where id_medmer IN (10,18,23,24,28,30) ');. QueryVozrastMedmer. Open;. Visible: =False;;

: // Невролог. Caption: =DM1. QueryUsers. FieldByName ('Должность'). AsString + ': ' + DM1. QueryUsers. FieldByName ('ФИО'). AsString;. Show;. QueryVozrastMedmer. SQL. Text: = ('Select МедМероприятие from vozrast_medmer where id_medmer IN (32) ');. QueryVozrastMedmer. Open;. Visible: =False;;

: // Окулист. Caption: =DM1. QueryUsers. FieldByName ('Должность'). AsString + ': ' + DM1. QueryUsers. FieldByName ('ФИО'). AsString;. Show;. QueryVozrastMedmer. SQL. Text: = ('Select МедМероприятие from vozrast_medmer where id_medmer IN (31, 19) ');. QueryVozrastMedmer. Open;. Visible: =False;;

: // Хирург. Caption: =DM1. QueryUsers. FieldByName ('Должность'). AsString + ': ' + DM1. QueryUsers. FieldByName ('ФИО'). AsString;. Show;. QueryVozrastMedmer. SQL. Text: = ('Select МедМероприятие from vozrast_medmer where id_medmer IN (25,26,27) ');. QueryVozrastMedmer. Open;. Visible: =False;;

: // Кардиолог. Caption: =DM1. QueryUsers. FieldByName ('Должность'). AsString + ': ' + DM1. QueryUsers. FieldByName ('ФИО'). AsString;. Show;. QueryVozrastMedmer. SQL. Text: = ('Select МедМероприятие from vozrast_medmer where id_medmer IN (6,7,8) ');. QueryVozrastMedmer. Open;. Visible: =False;;;;TPasswordDlg. btnCancelBtnClick (Sender: TObject);. Terminate;;TPasswordDlg. Image1Click (Sender: TObject);. Terminate;;TPasswordDlg. Button1Click (Sender: TObject);x1,x2: string;: integer;. QueryUsers. Close;. QueryUsers. SQL. Text: = 'Select * from users where login = '

+ #39 + edt1. Text + #39+ ' and password = ' + #39 + edt2. Text + #39;. QueryUsers. Open;: =0;: =DM1. QueryUsers. FieldByName ('password'). AsString;: =DM1. QueryUsers. FieldByName ('login'). AsString;x1=Edt1. Text thenx2=Edt2. Text then: =DM1. QueryUsers. FieldByName ('dostup'). AsInteger;dostup > 0 then. Visible: =False;. Visible: =False;. Visible: =False;. Visible: =True;. Visible: =False;. Visible: =False;. Visible: =True;. Visible: =True;. Visible: =False;('Доступа нет');;

end.

Приложение 4

Приложение № 1 к приказу Министерства здравоохранения Российской Федерации от 6 марта 2016 г. № 87н

Медицинская документация Учетная форма № 131/у Утверждена приказом Минздрава России от 6 марта 2016 г. № 87н

Карта учета диспансеризации (профилактических медицинских осмотров)

Дата начала диспансеризации (профилактического медицинского осмотра)

1. Фамилия, имя, отчество

2. Пол: муж. - 1, жен. - 2,

3. Дата рождения: число, месяц, год, полных лет

4. Местность: городская - 1, сельская - 2

5. Место регистрации: субъект Российской Федерации, район, город, населенный пункт, улица, дом, корпус, кв.

6. Код категории льготы

. Принадлежность к коренным малочисленным народам Севера, Сибири и Дальнего Востока Российской Федерации: да - 1; нет - 2

8. Занятость: 1 - работает; 2 - не работает; 3 - обучающийся в образовательной организации по очной форме.

9. Диспансеризация (профилактический медицинский осмотр) проводится мобильной медицинской бригадой: да - 1; нет - 2

10. Проведение первого этапа диспансеризации (профилактического медицинского осмотра):

Осмотр, исследование, иное медицинское мероприятие  первого этапа диспансеризации

№ строки

Дата проведения

Выявлено отклонение (+/-)

Примечание (отказ (дата); проведено ранее (дата))

Опрос (анкетирование) на выявление хронических неинфекционных заболеваний, факторов риска их развития, потребления наркотических средств и психотропных веществ без назначения врача

1



Х

Антропометрия (измерение роста стоя, массы тела, окружности талии), расчет индекса массы тела

2



Измерение артериального давления

3



Определение уровня общего холестерина в крови

4



Определение уровня глюкозы в крови экспресс-методом

5



Определение относительного суммарного сердечно-сосудистого риска

6



Определение абсолютного суммарного сердечно-сосудистого риска

7



Электрокардиография (в покое)

8



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

9



Флюорография легких

10



Маммография обеих молочных желез

11



Клинический анализ крови

12



Клинический анализ крови развернутый

13



Анализ крови биохимический общетерапевтический

14



Общий анализ мочи

15



Исследование кала на скрытую кровь иммунохимическим методом

16



Ультразвуковое исследование (УЗИ) на предмет исключения новообразований органов брюшной полости, малого таза

17



Ультразвуковое исследование (УЗИ) в целях исключения аневризмы брюшной аорты

18



Измерение внутриглазного давления

19



Прием (осмотр) врача-терапевта

20



Х

11. Проведение второго этапа диспансеризации

Медицинское мероприятие второго этапа диспансеризации

№ строки

Дата

Выявлено отклонение (+/-)

Примечание (отказ (дата); проведено ранее (дата))



направления

проведения



1

2

3

4

5

6

Дуплексное сканирование брахицефальных артерий

1




Осмотр (консультация) врачом-неврологом

2




Эзофагогастродуоденоскопия

3




Осмотр (консультация) врачом-хирургом или врачом-урологом

4




Осмотр (консультация) врачом-хирургом или врачом-колопроктологом

5




Колоноскопия или ректороманоскопия

6




Определение липидного спектра крови

7




Спирометрия

8




Осмотр (консультация) врачом-акушером-гинекологом

9




Определение концентрации гликированного гемоглобина в крови или тест на толерантность к глюкозе

10




Осмотр (консультация) врачом-оториноларингологом

11




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

12




Осмотр (консультация) врачом-офтальмологом

13




Индивидуальное углубленное профилактическое консультирование

14




Х

Групповое профилактическое консультирование (школа пациента)

15




Х

Прием (осмотр) врача-терапевта

16




Х

. Выявленные при проведении диспансеризации (профилактического медицинского осмотра) факторы риска развития хронических неинфекционных заболеваний в соответствии с кодами МКБ-10:

Факторы риска (код МКБ-10)

R03.0

R73.9

R63.5

Z72.0

Z72.1

Z72.2

Z72.3

Z72.4

Z80, Z82.3, Z82.4, Z82.5, Z83.3

Выявлен фактор риска, нет (-), да (дата выявления)










. Относительный суммарный сердечно-сосудистый риск по шкале SCORE:


низкий


высокий

. Абсолютный суммарный сердечно-сосудистый риск по шкале SCORE:


высокий


очень высокий


16. Группа состояния здоровья


I группа;


II группа;


IIIa группа;


IIIб группа

17. Назначено лечение: да - 1; нет - 2

18. Дано направление на дополнительное обследование, не входящее в объем диспансеризации (профилактического медицинского осмотра): да - 1; нет - 2

18.1 Дано направление к врачу-сердечно-сосудистому хирургу: да - 1; нет - 2

18.2 Дано направление к врачу-психиатру (врачу-психиатру-наркологу): да - 1; нет - 2

. Направлен для получения специализированной, в том числе высокотехнологичной, медицинской помощи: да - 1; нет - 2

20. Направлен на санаторно-курортное лечение: да - 1; нет - 2

Ф. И.О. и подпись врача (фельдшера), ответственного за проведение диспансеризации (профилактического медицинского осмотра)

Похожие работы на - Разработка информационной системы медицинского учреждения. Модуль 'Диспансеризация'

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!