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

СОЗДАНИЕ АВТОМАТИЗИРОВАННОЙ СИСТЕМЫ МЕДИЦИНСКОЙ ДИАГНОСТИКИ И ВЫБОРА ОПТИМАЛЬНЫХ РЕШЕНИЙ

ВВЕДЕНИЕ

Темой данного дипломного проекта является «Cоздание автоматизированной системы медицинской диагностики и выбора оптимальных решений».

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

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

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

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

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

В процессе выполнения проекта были проделаны следующие виды работ:

· Изучена новая предметная область медицины;

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

· Найдены и рассмотрены существующие методы решения данной задачи;

· Реализовано два алгоритма выбора лечения;

· Реализован алгоритм комбинирования лечений;

· Разработана и реализована база данных пациентов;

· Разработана и реализована база медицинских знаний;

· Разработана и реализована программная система решающая задачу;

· Разработан и реализован пользовательский интерфейс;

· Сделан анализ проделанной работы.

Работа проводилась под операционной системой MS Windows XP. В работе также использовались Microsoft Visual Studio 2005, MS SQL Server 2005, Power CHM и платформа Microsoft.Net.

1. ПОСТАНОВКА ЗАДАЧИ

1.1 Описание предметной области

1.1.1 Экспертная система

В начале восьмидесятых годов сформировалось направление, получившее название “экспертные системы” (ЭС)[1]. Экспертные системы помогают и позволяют решать интеллектуальные задачи на основе накапливаемой базы знаний, отражающей опыт работы экспертов в рассматриваемой области. В настоящее время экспертные системы используются в различных проблемных областях. Чаще всего они применяются в бизнесе, в производстве и в медицине. Экспертные системы применяются для решения трудных практических задач, но по качеству и эффективности решения экспертные системы не уступают решениям эксперта – человека. С другой стороны, они способны пополнять свои базы знания во взаимосвязи с экспертом.

ЭС состоит из следующих компонентов:

· Базы знаний

· Базы данных (рабочая память)

· Решатель

· Компонентов приобретения знаний

· Диалоговый компонент

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

База данных (рабочая память) хранит промежуточные данные решаемой в текущий момент задачи.

Решатель формирует отношения между объектами системы по правилам.

Компонент приобретения знаний автоматизирует процесс наполнения ЭС знаниями, осуществляемый пользователем экспертом.

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

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

В режиме приобретения знаний общение с ЭС осуществляет эксперт. В этом режиме эксперт, используя компонент приобретения знаний, наполняет систему знаниями, которые позволяют ЭС в режиме решений самостоятельно (без эксперта) решать задачи из проблемной области.

Данные определяют объекты существующие в области экспертизы. Правила определяют способы манипулирования с данными.

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

1.1.2 Действия врача

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

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

1.2 Постановка задачи

Основной задачей проекта является разработка экспертной системы диагностики и выбора оптимальных решений.

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

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

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

Данная задача разделилась на следующие подзадачи:

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

· Определение и реализация структуры базы данных пациентов;

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

· Реализация функциональных блоков системы;

· Отладка и тестирование приложения.

1.3 Требования к программному средству

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

Общие требования:

· Понятный и интуитивный пользовательский интерфейс;

· Бесплатность программного продукта;

· Бесперебойность работы.

Функциональные требования:

· Добавление пациентов в базу данных;

· Выбор пациента, дальнейшая работа с ним;

· Добавление новых симптомов и заболеваний в базу данных;

· Добавление и редактирование правил для отношений между симптомами и заболеваниями в базу данных, на естественном языке;

· Добавление новых методов лечения;

· Комбинирование методов лечения;

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

· Предоставление пользователю справки по использованию данного программного средства.

Требования качества и надежности:

· Показатель надежности:

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

§ Работоспособность – способность программы функционировать в заданных режимах и объемах обрабатываемой информации в соответствии с программными документами при отсутствии сбоев технических средств;

· Показатели сопровождения:

§ Структурность – организация всех взаимосвязанных частей программы в единое целое с использованием логических структур «последовательность», «выбор», «повторение»;

§ Простота конструкции модульной структуры – построение модульной структуры программы наиболее рациональным с точки зрения восприятия и понимания образом;

§ Наглядность – наличие и представление в наиболее легко воспринимаемом виде исходных модулей ПС, полное их описание в соответствующих программных продуктах.

· Показатели удобства применения:

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

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

· Показатели эффективности

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

§ Ресурсоемкость – минимально необходимые вычислительные ресурсы и число обслуживающего персонала для эксплуатации.

· Показатели универсальности:

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

1.4 Аналоги системы

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

· HEALTH 5.3 см.[8]

· Рефлексолог 5.3 см.[9]

· Диагноз.RU сервер онлайн диагностики см. [10]

· РЕПРОКОД см.[11] – диагностирует сосудистые заболевания (атеросклероз, гипертония)

· ES 4.0 [12] – диагностика заболевания молочных желез и щитовидной железы

Первые две системы построены на основе нетрадиционной медицины (методика Риодораку, Брату, Фолля, аурикулодиагностика, психологическое тестирование, пульсовая диагностика, диагностика вторичных энергосистем, Су Джок диагностика). Третья система построена на основе логики, но разработанная система предоставляет методы лечения и построена на основе правил отношения болезней и симптомов. Последние две системы предполагают использование в узкой области и в отдельных случаях со специализированным оборудованием (например, ES 4.0), что ограничивает круг потенциального использования.

1.5 Выбранные программные средства

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

Платформа Microsoft.NET – это современность используемых в рамках платформы решений. Платформа .Net, наряду с наличием многих замечательных новаторских решений, вбирает в себя самые передовые технологии разработки масштабного ПО. Можно сказать, что для получения MS.Net была выполнена переплавка всей лучшей “руды” информационной индустрии, в результате чего удалось получить надежную современную основу производства и использования сложных программных систем.

Современные средства разработки – платформа MS.Net включает в себя как готовые компоненты для построения ПО, так и интегрированную среду разработки обеспечивающая возможность многоязыковой разработки программных систем с использованием разных языков программирования (C#, C++, VBasic.Net, Java# и др.). Как результат, разработчик программ уже не ограничивается выбором одного какого-либо языка программирования, а может варьировать средства разработки с учетом собственного опыта и свойств разрабатываемых программ даже в пределах одной программной системы.

Компонентное представление ПО – MS.Net развивает существующие подходы к основному способу снижения сложности ПО – компонентному представлению программных систем – предлагая более простой, удобный и надежный метод формирования программных компонент.

Распределенные вычисления – использование платформы MS.Net в значительной степени снижает сложность современной формы разработки ПО в виде распределенных программных систем или клиент-серверных приложений

2. РЕШЕНИЕ ЗАДАЧИ

2.1 Методы постановки диагноза

Рассмотрим модель, предложенную Р.Ледли и Л.Лестедом [2] и Костюковой [4]

Пусть n – число симптомов, а m – число болезней. Обозначим симптомы:

S(1),S(2)…S(n), (2.1)

а болезни:

D(1),D(2)…D(m). (2.2)

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

. (2.3)

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

Таблица 1. Правила отношений симптомов и болезней и их логическое представление

Формулировка

Запись

У пациента с заболеванием D(l) и одновременно D(2) или D(3) должны обнаруживаться симптомы S(1), S(3).

В отсутствие D(2) не может обнаруживаться симптом S(2).

У пациента с заболеваниями D(2), D(3) при отсутствии D(l) должен обнаруживаться симптом S(3).

В формуле логическое произведение этих предложений является булевской функцией

, (2.4)

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

Пусть теперь перед нами конкретный больной и мы должны поставить диагноз. Какие-то симптомы у него обнаружены, какие-то другие – нет; в общем случае есть еще и третья группа симптомов, относительно которых в данный момент мы не располагаем сведениями. Такая совокупность симптомов, быть может, не полная, называется профилем симптомов больного и обозначается G. Одновременно рассматривается совокупность заболеваний (так же может быть неполная) – профиль заболеваний f. Оба профиля вместе образуют профиль симптомов и заболеваний f * G. Профиль G есть булевская функция симптомов

(2.5)

Теперь мы можем сформулировать логическую задачу: по заданным профилю симптомов G и функции E найти профиль заболеваний f, как булевскую функцию аргументов:

(2.6)

Эту задачу можно решить двумя способами:

o Алгоритм полного поиска – полный поиск состоит в том, что просматриваются столбцы, образующие приведенный базис E и отмечаются те из них, комплекс симптомов которых согласуется с G, профилем симптомов больного. Искомый диагноз f получится, если взять логическую сумму подходящих комплексов заболеваний. Если комплекс не один, этот вариант может быть только в том случае, если информация о некоторых симптомах неизвестна, то применяется вероятностный анализ по формуле Байеса.

o Алгоритм построения ветвящейся схемы, который подобен методу последовательного поиска см. рис. 1.

Алгоритм построения ветвящейся схемы

Рис. 1.

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

Часто врач должен произвести выбор между несколькими диагнозами. В этом случае применяется вероятностная формула Байеса. Пусть заданы комплекс заболеваний и комплекс симптомов – формула Байеса устанавливает связь между условными вероятностями P(|) и P(|), а именно выражение (2.7)

(2.7)

В выражении (2.7) в знаменателе выполняется суммирование по всевозможным комплексам заболеваний.

Множитель P(|) есть вероятность того что при данном комплексе заболеваний больной обнаружит комплекс симптомов . Эту вероятность заполняет эксперт на основе медицинских данных.

Множитель есть вероятность того что больной выбранный, наугад страдает комплексом заболеваний . Эта вероятность увеличивается, когда врач – пользователь ставит окончательный диагноз (значение увеличивается на 1).

2.2 Методы выбора лечения

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

2.2.1 Решение о лечении в бесспорной ситуации

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

Разумеется, всегда выбирается тот метод, мера эффективности которого максимальна.

Пример простого случая задачи выбора метода лечения в бесспорной ситуации, где – комплекс заболеваний, Т1 и Т2 – возможные методы лечения, V1j и V2j – соответствующие меры эффективности (согласно прогнозам) этих методов.

2.2.2 Решение о лечении при риске

Под Решением о лечении при риске” подразумевается выбор метода лечения, когда альтернативные диагнозы были поставлены не абсолютно точно, а с известными вероятностями. Предположим, что в такой ситуации известно значение V1j эффективности методов лечения Тк одного и того же комплекса заболеваний djt, которым с вероятностью Pj страдает больной. Пусть, например, высказаны два конкурирующих диагноза, d2 и d3 соответственно с вероятностями и . Предположим, что мы располагаем методом лечения Т1 имеющим 90%-ную эффективность при заболевании d2, то есть и 30%-ную эффективность при заболевании d3 . Пусть одновременно имеется метод лечения Т2, обладающий всего 10%-ной эффективностью при заболевании d2 и 100% эффективностью при заболевании d3. Перечисленные данные собранны в табл.3.

Таблица 3.

Пример данных для задачи выбора лечения в условиях риска

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

(2.8)

В нашем примере . , так что нам следует отдать предпочтение методу Т1.

2.2.3 Комбинирование методов лечения

Врач – эксперт может выбрать какие методы лечений из доступных методов нужно скомбинировать. Допустим, имеются две возможности лечения рака – лучевая терапия и химиотерапия, причем эффективность обоих методов выражена экспертом в некоторых общих единицах. Например, лекарственный препарат обладает эффективностью в 1000 единиц на грамм препарата, а облучение – 1000 единиц в минуту. Допустим, что для выздоровления больному требуется не менее 3000 единиц эффективности. Однако оба метода токсичны. Поэтому ни тот, ни другой нельзя применять неограниченно. Пусть токсичность методов также выражена в общих единицах, например, токсичность лекарства равна 400 единицам на грамм, а токсичность облучения 1000 единицам в минуту. Допустим, что конкретный больной не должен получить более 2000 таких единиц.

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

z=3x1+x2 (2.9)

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

Переходя на математический язык, мы можем сформулировать задачу следующим образом: в плоскости х1Ох2 нужно найти такую точку (х12), чтобы величина (2.7) была наименьшей, и при этом выполнялись условия:

В формуле (2.8) указано требование на эффективность

1000х1+1000х2 ? 3000. (2.10)

В формуле (2.9) указано ограничение на токсичность

400х1+1000х2 ? 2000. (2.10)

К этим двум ограничениям следует добавить еще одно условие:

х1 ? 0 и х2 ?0, (2.12)

Следующее из того, что х1 и х2 по сути задачи не могут принимать отрицательные значения.

Очевидно, далее, что решение (, должно лежать в одной из вершин заштрихованного треугольника (см. рис.2). Вычислим значение в этих вершинах, т.е. в точках (3,0), (5,0) и (5/3,4/3); получим соответственно z=9, z=15, z=6,3. Таким образом, следует назначить комбинированное лечение – введение 5/3 грамм лекарственного препарата и облучение в течение 4/3 минуты.

Решение задачи о совместном применении лекарства и облучения

Рис.2.

Алгоритм решения этой задачи показан в Приложение 1 рис П.1.

2.3 Структура программного средства

Одним из первых шагов в создании программного средства (ПС) является создание структуры взаимодействия модулей ПС.

Определим основные модули и их подзадачи

· Form1.cs (Главный модуль)

· Editor.cs (Редактирование симптомов заболеваний и правил между ними)

· EditorP.cs (Вероятности проявления заболевания при каком либо симптоме)

· HealthForm.cs (Добавление и редактирование методов лечения)

· AddPatient.cs (Добавление пациента)

· LoadPatient.cs (Загрузить пациента)

· VisitPatient.cs (Прием пациента)

· Contact.cs(Ввод дополнительных данных при вводе лечения)

· Help.cs(Справочная система)

На рис. 3 представлена структура программного средства.

Структура программного средства

Рис.3

2.4 Работа с базами данных

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

База данных знаний:

Таблица 3. ComplexOfDisease

Имя поля

Тип

Описание

ID

int

Первичный ключ

P

REAL

Вероятность появления данного комплекса заболеваний

CS

int

Таблица 3 ComplexOfDisease хранит информацию об комплексах заболеваний.

Таблица 4. Disease

Имя поля

Тип

Описание

ID

int

Первичный ключ

Disease

Varchar(70)

Вероятность проявления данного комплекса заболеваний

Таблица 4 Disease хранит информацию о заболеваниях

Таблица 5 DetailsOfDisease

Имя поля

Тип

Описание

idCd

int

Первичный ключ

idD

int

Первичный ключ

Таблица 5 DetailsOfDisease дополнительная таблица, связывающая таблицу 3 ComplexOfDisease и таблицу 4 Disease

Таблица 6. ComplexOfSymptom

Имя поля

Тип

Описание

ID

int

Первичный ключ

idCd

int

Внешний ключ к таблице ComplexOfDisease

P

int

Вероятность проявления комплекса симптомов при комплексе заболеваний

Таблица 6 ComplexOfSymptoms хранит информацию о комплексах Симптомов.

экспертный диагностика медицинский база

Таблица 7. Таблица Symptoms

Имя поля

Тип

Описание

id

int

Первичный ключ

Symptoms

Varchar(70)

Название симтома

Таблица 7 Symptoms хранит информацию о симптомах.

Таблица 8. DetailsOfSymptoms

Имя поля

Тип

Описание

id

int

Первичный ключ

idCd

int

Первичный ключ

Таблица 8 DetailsOfSymptoms дополнительная таблица, связывающая таблицу 6 ComplexOfSymptoms и таблицу 7 Symptoms

Таблица 9 Rules

Имя поля

Тип

Описание

id

int

Первичный ключ

Rule

string

Правило

Таблица 9 Rules хранит информацию об правилах между симптомами и заболеваниями.

Таблица 10. Health

Имя поля

Тип

Описание

id

int

Первичный ключ

Health

Varchar(max)

Название лечения

Effectiveness

Real

Эффективность лечения

Toxicity

Real

Вредность

Description

text

Дополнительные сведения об лечении

Pain

Real

Болезненность

Unit

Varchar(max)

Единицы измерения

idHealth

int

Хранит Id лечение, с каким может быть связано.

Unit2

Varchar(max)

Вторая единица измерения.

Таблица 10 Health хранит информацию об методах лечений болезней.

Таблица 11. DetailsHealth

Имя поля

Тип

Описание

id

int

Первичный ключ

idCd

int

Первичный ключ

Таблица 11 DetailsHealth – дополнительная таблица, связывающая таблицу 3 ComplexOfDisease и таблицу Health.

База данных пациентов (рис. 3):

Схема базы данных пациентов

Рис.3.

Таблица 12 AddPatient

Имя поля

Тип

Описание

id

int

Первичный ключ

FIO

Varchar(max)

ФИО пациента

Record

datetime

Дата записи

Adress

Varchar(max)

Адресс

Phone

Varchar(max)

Телефон

idMedicalCard

int

Id Медецинской карты

Таблица 13 MedicalCard

Имя поля

Тип

Описание

id

int

Первичный ключ

SymptomS

Varbin(max)

Комплекс симптомов найденый у пациента

DisiaseD

int

Текущий диагноз

LastDisiase

Varbin (max)

Списки отвергнутых диагнозов

Таблица 13 MedicalCard хранит информацию о пациенте

2.5 Функционирование программного средства

На рис.4 изображена схема функционирования программы.

2.6 Справочная система ПС

Справочная система выполнена в виде прикрепленного к проекту файла (CHM). Структура и внешний вид справки показана на рис. 3.

Рис.3.

3. ОТЛАДКА И ТЕСТИРОВАНИЕ

Отладка и тестирование проводилось на операционных системах Windows XP SP2, Windows Vista, Windows 7 release candidate. Для проверки работоспособности системы были созданы тестовые таблицы данных по симптомам и заболеваниям (21 симптомов и 6 заболеваний). По этим таблицам проведена диагностика 10 виртуальных пациентов.

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

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

· Создать новое правило отношений симптомов и заболеваний;

· Добавлять и удалять симптомы и болезни в базу;

· Завести карту нового пациента;

· Создать профиль симптомов для пациента и попытаться поставить диагноз;

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

Тестирование проводилось в Институте вычислительной математики и математической геофизике СО РАН (ИВМ и МГ СО РАН)

4. РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ

4.1 Режим работы: эксперт

В этом режиме может работать эксперт для заполнения базы знаний. Чтобы включить этот режим необходимо выбрать пункт меню «Файл», а затем подпункт «Включить режим эксперта» см. рис 4.1.

Рис. 4.1

После включения режима эксперта в меню появится пункт «Формирование медицинской базы», в нем имеются пункты для редактирования отношений между заболеваниями и симптомами и редактор методов лечения.

4.1.1 Добавление правил

Пункт «Добавление и редактирование заболеваний, симптомов и их отношений» запускает редактор правил, в котором эксперт может добавлять новые симптомы, заболевания и правила отношений между ними. Для открытия редактора нужно выбрать пункт «Формирование медицинской базы», в появившемся меню выбрать подпункт «Добавление и редактирование заболеваний, симптомов и их отношений» см. Рис. 4.2.

Рис.4.2

После выбора эксперт попадает на форму «Редактирование симптомов, заболеваний и правил между ними»

Рис. 4.3.

Для добавления нового симптома нужно ввести его название в поле находящееся под списком симптомов, а затем нажать кнопку «Добавить». Для удаления нужно выделить в списке симптомов значение и нажать кнопку «Удалить». Для удаления и создания заболеваний нужно проделать схожие действия, только со списком заболеваний.

Для добавления новых правил нужно сделать следующее: выбрать в списке симптом или заболевание (пункт 1 или 3), выбрать одно из действий (пункт 2): И, ИЛИ, ТО, НЕТ, ( , ). Допустим у нас есть симптом С1 и заболевание D1. Действие И обозначает что выполняются оба симптома сразу, действие ИЛИ обозначает что может выполняться либо симптом С1 либо D2, действие НЕТ обозначает отрицание, действие ТО обозначает что из части (пункт 4) следует (пункт 5). После любого действия можно выбрать еще симптом или диагноз затем выбрать действие и т.д.

После ввода всех данных нужно нажать кнопу сформировать базу знаний см. рис. 4.4.

При нажатии на клавишу —–> открывается следующая форма «Вероятности проявления заболеваний при каком-либо симптоме» (см. рис 4.5)

Рис. 4.5.

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

После всех действий описанных выше нужно закрыть форму редактирования или выбрать пункт меню см.рис и рис. «Формирование медицинской базы» и выбрать нужный подпункт.

Рис. 4.6.

4.1.2 Добавление и редактирование методов лечения

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

Рис. 4.7.

Для добавления нового метода лечения нужно ввести его название в поле находящееся под списком методов лечений, а затем нажать кнопку «Добавить метод лечения». Для удаления – выделить в списке методов значение и нажать кнопку «Удалить». Слева представлен список заболеваний, которые излечиваются выделенным методом лечения.

Чтобы заполнить поля метода лечения нужно выбрать нужное поле щелкнуть на него два раза и вписать необходимое значение.

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

В элемент Дополнительные сведения можно ввести дополнительные данные о методе лечения.

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

Методы лечения можно комбинировать по показаниям эффективности и вредности.

4.2 Режим работы: диагностика

В этом режиме работает врач-пользователь, который принимает пациентов.

4.2.1 Добавление пациента

В диалоге «Добавление пациента» пользователь может заполнять данные пациента. Чтобы войти в этот диалог нужно нажать кнопку «Добавить пациента» или выбрать в меню «Работа с пациентом» пункт «Добавление нового пациента».

Рис. 4.8.

После выбора пользователь попадает на форму «Добавление пациента».

Рис. 4.9.

Пользователь должен заполнить поля на форме (рис. 4.9). В поле «ФИО» содержится фамилия имя и отчество пациента, в поле «Запись» храниться дата приема пациента, в полях «Адрес» и «Телефон» соответственно адрес и телефон пациента. После ввода данных нужно нажать кнопку «Добавить».

4.2.2 Первый прием пациента

После ввода данных о пациенте появляется форма «Прием пациента».

Рис. 4.10.

На появившейся форме (рис. 4.10) пользователь заполняет данные о симптомах, обнаруженных у пациента. Имя пациента написано выше списка симптомов. Есть три возможных состояния симптома: нет, обнаружен, неизвестно. Статус «Нет» обозначает, что симптома точно нет, статус «Обнаружен» значит, что у пациента симптом точно наблюдается, а статус «Неизвестно» – что симптом может быть, а может и не быть. Чтобы изменить состояние нужно нажать на выпадающее меню в поле столбца «Состояние» напротив нужного симптома и выбрать требующийся пункт.

Если пользователь оставляет поле состояния пустым, то это соответствует состоянию симптома «Неизвестно».

После ввода симптомов пациента нажмите кнопку «Рассчитать вероятный диагноз».

В таблице Возможные заболевания выводятся наиболее возможные заболевания.

В таблице лечение выводятся возможные лечения.

Чтобы посмотреть весь список возможных комплексов заболеваний и возможных необходимо нажать на клавише «показать все варианты».

Рис. 4.11.

Если выводится несколько лечений, то их можно комбинировать. Появляется кнопка «Объединить возможные методы лечения», при нажатии на кнопку появляется форма «Связывание лечений» в ней вводятся параметры ограничения. После ввода параметров нужно нажать кнопку «Связать». На рис. 4.12 таблице лечений изображен результат связи влечений. Чтобы поставить диагноз необходимо нажать на кнопку «поставить диагноз».

Рис. 4.12.

4.2.3 Повторный прием пациентов

Рис.4.12.

Чтобы выбрать пациента нужно щелкнуть на его «ФИО» в списке, после чего откроется форма. Искать пациентов можно по «ФИО», «дате записи» и «адресу», вводя соответствующие данные в поля. После того как ввели хотя – бы одно поле можно нажать кнопку найти. В полях поиска ФИО и адрес можно указывать не полные данные, например в поле ФИО ввести только фамилию, а в поле адрес только улицу. На рисунке (4.13) представлен результат поиска по фамилии Иванов и дате записи 11.06.09

Результат работы поиска

Рис.4.13

Чтобы вернуть список пациентов нужно нажать на кнопку «Вернуть весь список».

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

Рис.4.14.

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

ЗАКЛЮЧЕНИЕ

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

Была реализована система медицинской диагностики. Все реализованные компоненты отлажены и работают корректно. Во время выполнения дипломной работы были выполнены следующие виды работ:

· Изучен язык C# и стандартные объекты Visual Studio 2005;

· Изучены методы для решения данной задачи;

· Изучены и реализованы алгоритмы лечения и выбора оптимального решения;

· Разработан и реализован алгоритм решения линейных уравнений;

· Реализован алгоритм разбора выражений;

· Разработан и реализован удобный пользовательский интерфейс с использованием Windows.Forms;

· Спроектированы и построены базы данных знаний и пациентов;

· Разработана и реализована удобная справка

Были выявлены особенности системы и возможные улучшения:

· Повышение скорости работы системы;

· Добавление системы анализов;

· Добавление карты медицинского прошлого пациента;

· Улучшение интерфейса программного средства;

· Добавление новых методов связей между лечениями.

Объем разработанного программного средства: 1584 строки

СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ

1. Статические и динамические экспертные системы: Учебное пособие / Э.В.Попов, И.Б.Фоминых, Е.Б.Кисель, М.Д.Шапот.– М.:Финансы и статистика, 1996. — 320 с.

2. Ледли Р., Ластед Л. Медицинская диагностика и современные методы выбора решения // Математические проблемы в биологии. М., 1966. С. 141–198

3. Компьютерные медицинские консультативные системы, основанные на представлении знаний эксперта в виде семантической сети / Киликовский В.В., Олимпиева С.П., Киликовский Вл.В. // Медицинский научный и учебно методический журнал – 2001, – №2, – С.17-27.

4. Костюкова Н.И Автоматизация медицинской диагностики и современных методов выбора решений // Труды ИВМиМГ, Информатика, 7 Новосибирск, 2007, с. 69-74

5. Витяев Е.Е. Извлечение знаний из данных. Компьютерное познание. Модели когнитивных процессов. : Новосибирск, НГУ, 2006. 293с.

6. Шилдг. Г. Полный справочник по С#. : Пер. с англ. — М. : Издательский дом “Вильяме”, 2004. — 752 с.

7. Троелсен. Э. С# и платформа .NET. Библиотека программиста. — СПб. : Питер, 2004. –796 с

8. Health 5.3 – [http://www.acupuncture.ru/pvh-r4.htm] – [14.06.09]

9. Медицинская компьютерная диагностика “Рефлексолог 5.3” – [http://medafarm.ru/php/content.php?id=485] – [14.06.09]

10. Диагноз.RU – сервер онлайн диагностики [http://diagnos.narmed.ru] – [14.06.09]

ПРИЛОЖЕНИЕ 1

Схема базы знаний

Рис.П.1

Рис.П.2

Поделиться статьёй
Поделиться в telegram
Поделиться в whatsapp
Поделиться в vk
Поделиться в facebook
Поделиться в twitter
Леонид Федотов
Леонид Федотов
Окончил НИУ ВШЭ факультет компьютерных наук. Сам являюсь кандидатом наук. По специальности работаю 13 лет, за это время создал 8 научных статей и 2 диссертации. В компании подрабатываю в свободное от работы время уже более 5 лет. Нравится помогать школьникам и студентам в решении контрольных работ и написании курсовых проектов. Люблю свою профессию за то, что это направление с каждым годом становится все более востребованным и актуальным.

Ещё статьи

Нет времени делать работу? Закажите!
Вид работы
Тема
Email

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