Разработка программного модуля для автоматизации процесса проверки цветоощущения человека (тест Рабкина) в среде Delphi 7

 

МИНОБРНАУКИ РОССИИ

Государственное образовательное учреждение высшего профессионального образования

Санкт-Петербургский государственный электротехнический университет ЛЭТИ им. В. И. Ульянова (Ленина)

(СПбГЭТУ)

Кафедра БТС







Индивидуальное домашнее задание по дисциплине:

Программные средства создания медицинских информационных систем на тему: «Разработка программного модуля для автоматизации процесса проверки цветоощущения человека (тест Рабкина) в среде Delphi 7»


Выполнили: Опаснова М.И.

Талипова А. И.

гр. 9503

Проверил: Болсунов К.Н.







Санкт-Петербург

г

Цель работы: разработка в среде Delphy 7 программного модуля для автоматизации процесса проверки цветоощущения человека.

Исходные данные: набор таблиц Рабкина, таблица для диагностики нарушений цветоощущения, правила прохождения теста, среда программирования Delphi7.

Задачи:

·Разработка базы данных

·Программная реализация алгоритма диагностики нарушения цветоощущения

·Разработка интерфейса приложения

·Тестирование разработанной программы



Введение


Дальтони?зм, цветовая слепота - наследственная, реже приобретённая особенность зрения человека и приматов, выражающаяся в неспособности различать один или несколько цветов.

Причина нарушений цветового зрения

У человека в центральной части сетчатки расположены цветочувствительные рецепторы - нервные клетки, которые называются колбочками. Каждый из трёх видов колбочек имеет свой тип цветочувствительного пигмента белкового происхождения. Один тип пигмента чувствителен к красному цвету с максимумом 552-557 нм, другой - к зелёному (максимум около 530 нм), третий - к синему (426 нм). Люди с нормальным цветным зрением имеют в колбочках все три пигмента (красный, зелёный и синий) в необходимом количестве. Их называют трихроматами.

Диагностика

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

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

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


Общие сведения о тесте на цветоощущение (тесте Рабкина)


Назначение


Таблицы предназначены для исследования цветового зрения и диагностики различных форм и степеней цветовой патологии. Набор таблицы содержит две группы - основную (таблицы 1, 2, 5, 6, 9, 10), предназначенную для определения адекватного состояния исследуемого, и контрольную (таблицы 3, 4, 7, 8) - для дифференциальной диагностики форм и степеней расстройства цветового зрения.


Применение

цветоощущение человек диагностика зрение

Исследуемого усаживают спиной к окну или источнику света и предлагают ему держать голову прямо, не двигая и не поворачивая ее в разные стороны. Таблицы располагают в строго вертикальной плоскости на уровне глаз исследуемого на расстоянии 0,5 - 1 м от него. Время демонстрации одной таблицы не должно превышать 8 сек. Не рекомендуется класть таблицы на стол или держать их в наклонной плоскости: это может отразиться на точности методики и выводах исследования.

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

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


Классификация цветового зрения


Таблица 1 Классификация цветового зрения

ВидФормаНормальная трихромазия-ДихромазияПротанопияДейтеранопияТританопия

Таблица 2 - Таблица для диагностики нарушений цветоощущения

№ таблицыЧитаемость таблицНДихромазияПрДе19696962??????313668, 6966, 694????555563636367301061689696914141410999Н - нормальные трихроматы, Пр - протанопы, Де - дейтеранопы



Программная разработка


Общие сведения


Для разработки программного модуля проверки цветоощущения человека использовалась среда программирования Delphi 7. Операционная система, необходимая для обеспечения функционирования программы - Windows 7 (64 разрядная операционная система с установленной памятью 4 ГБ).


Функциональное назначение


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



Описание логической структуры


Структура и принцип работы программы


Программа представляет собой приложение с графическим интерфейсом пользователя, которая ссылается на 6 других программ, отвечающих за соответствующие формы. Первая форма - «Тест Рабкина» отображает правила прохождения теста и предлагает пройти регистрацию. Вторая форма - «Регистрация» запрашивает фамилию, имя, отчество пользователя, сохраняет их в базе данных и позволяет перейти к тесту. Третья форма - «Прохождение теста» отображает поочередно таблицы Рабкина, сопровождаемые вариантами ответов. Четвертая форма оповещает об окончании теста и предлагает посмотреть результат. Пятая форма - «Заключение» представляет заключение теста в виде тестового сообщения и круговой диаграммы. Шестая форма позволяет окончить тест на любом этапе его прохождения.

На рисунке 1 представлен алгоритм проверки цветоощущения.


Рис.1 Алгоритм проверки цветоощущения

При запуске программы на экране появляется окно приложения, на котором отображены правила прохождения теста и имеется кнопка «Регистрация» (рисунок 2), активация которой вызывает следующее окно «Регистрация».


Рис.2 Окно приложения «Тест Рабкина»


В ячейки вызванного окна необходимо вбить данные испытуемого (рисунок 3).


Рис. 3 Окно приложения «Регистрация»


При нажатии на кнопку «ОК» будет вызвано окно «Прохождение теста», которое отвечает за процесс тестирования (рисунок 4).


Рис. 4 Окно приложения «Прохождение теста»


В окне «Прохождение теста» имеется кнопка «Завершить тест», которая вызывает диалоговое окно, позволяющее прервать процедуру теста на любом этапе его прохождения (рисунок 5).


Рис. 5 Окно приложения «Прохождение теста» при активации кнопки «Завершить тест»


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


Рис. 6 Окно приложения «Заключение»


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


Рис. 7 База данных


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

Коды программ каждой формы представлены в разделе ПРИЛОЖЕНИЯ.



Принципы работы программ


Программную реализацию теста обеспечивают 6 программ: «test_rabkina.dfm», «Unit5.dfm», «Unit1.dfm», «Unit3.dfm», «Unit4.dfm», «Unit2.dfm».

На рисунке 8 представлен алгоритм программы «test_rabkina.dfm»


Рис. 8 Алгоритм программы «test_rabkina.dfm»


Окно программы «test_rabkina.dfm» имеет кнопку «Регистрация», которая отвечает за вызов следующей программы «Unit5.dfm» и базы данных.

На рисунке 9 представлен алгоритм программы «Unit5.dfm».


Рис. 9 Алгоритм программы «Unit5.dfm»


Программа «Unit5.dfm» осуществляет ввод данных в базу данных и вызывает следующую программу «Unit1.dfm».

Алгоритм программы «Unit1.dfm» представлен на рисунке 10.


















Рис. 10 Алгоритм программы «Unit1.dfm»


Программа «Unit1.dfm» отвечает за запуск таймера и смену таблиц. Каждая таблица сопровождается вопросом и вариантами ответов, из которых необходимо выбрать один. Время демонстрации каждой таблицы составляет 8 сек, по истечении которых программа автоматически перелистывает на следующую таблицу. Всего таблиц 10. И после показа последней таймер прекращает работу. После остановки таймера программа вызывает форму «Тест пройден». Если во время теста пользователь нажмет на кнопку «Завершить тест» процедура теста прервется.


Рис. 11 алгоритм программы «Unit3.dfm»


Алгоритм программы «Unit3.dfm» представлен на рисунке 11.

Когда вызывается программа «Unit3.dfm» на экране появляется окно с кнопкой «Посмотреть результаты», нажав на которую, вызовется программа «Unit4.dfm» и форма «Заключение».

На рисунке 12 представлен алгоритм программы «Unit4.dfm».


























Рис. 12 Алгоритм программы «Unit4.dfm»


Программа «Unit4.dfm» отвечает за вывод заключения о прохождении теста. Если количество правильных ответов на таблицы из 1й группы составляет меньше 75%, то тест признают недействительным. Если количество правильных ответов на таблицы из 2й группы составляет 50% и в ответах были в равной степени признаки протанопии и дейтеранопии, то тест также признают недействительным. Если количество правильных ответов на таблицы из 1й группы составляет больше 75% и количество правильных ответов на таблицы из 2й группы составляет 50%, то пациент является нормальным трихроматом. Если количество ответов, отвечающих за признаки протанопии перевешивают количество ответов, отвечающих за признаки дейтеранопии, то пациент является протонопом, если наоборот - дейтеранопом. На форме «Заключение» имеется кнопка, при нажатии которой программа полностью закрывается.


Вывод


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


ПРИЛОЖЕНИЕ А


Код программы «test_rabkina.dfm», отвечающей за форму «Тест Рабкина»

unit test_rabkina;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, Buttons;= class(TForm)zapusktesta: TButton;: TBitBtn;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;Button1zapusktestaClick(Sender: TObject);BitBtn1Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: TTest;a, b, c, d: integer;Unit1, Unit5;

{$R *.dfm}TTest.Button1zapusktestaClick(Sender: TObject);.Show;.timer1.Enabled:=true;;TTest.BitBtn1Click(Sender: TObject);.Show;.ADOQuery1.Insert;

BitBtn1.Visible:=False;;.



ПРИЛОЖЕНИЕ Б


Код программы «Unit5.dfm», отвечающей за форму «Регистрация»

unit Unit5;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, StdCtrls, Buttons, Mask, DBCtrls, ADODB;= class(TForm): TADOConnection;: TADOQuery;: TDBEdit;: TDBEdit;: TDBEdit;: TBitBtn;: TDataSource;: TStaticText;: TStaticText;: TStaticText;BitBtn1Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm5; outfile: TextFile;test_rabkina, Unit4;

{$R *.dfm}TForm5.BitBtn1Click(Sender: TObject);.Post;.Button1zapusktesta.Visible:=True;(outfile, 'F:\kursovaja\outfile.txt');(outfile);(outfile, DBEdit1.Text);(outfile, DBEdit2.Text);(outfile, DBEdit3.Text);;;.



ПРИЛОЖЕНИЕ В


Код программы «Unit1.dfm», отвечающей за форму «Прохождение теста»

unit Unit1;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, ExtCtrls, XPMan, IniFiles;= class(TForm): TXPManifest;: TLabel;: TTimer;: TLabel;: TLabel;: TImage;: TLabel;: TButton;: TRadioButton;: TRadioButton;: TRadioButton;FormCreate(Sender: TObject);Timer1Timer(Sender: TObject);Button1Click(Sender: TObject);

{ Private declarations }, b, c, d: integer;;: Tsamtest; sec, n, a, b, c, d: integer; secs, s, m: string; T:TIniFile;Unit2, test_rabkina, Unit3, Unit4;

{$R *.dfm}Tsamtest.FormCreate(Sender: TObject);:=0;:=8;;Tsamtest.Timer1Timer(Sender: TObject);:=sec-1;:='0'+inttostr(sec);:=ExtractFilePath(Application.ExeName);:=TIniFile.Create(m+'\'+'t.ini');sec<1 then begin n:=n+1; sec:=8; end;(sec=8) then begin RadioButton1.Checked:=false; RadioButton2.Checked:=false;RadioButton3.Checked:=false;end;

if (sec=1) then if (RadioButton1.Caption=T.ReadString('v'+IntToStr(n), 'm', 'âñå')) then if RadioButton1.Checked then a:=a+1;

if (sec=1) then if (RadioButton1.Caption=T.ReadString('v'+IntToStr(n), 'n', 'âñå')) then if RadioButton1.Checked then b:=b+1;(sec=1) then if (RadioButton2.Caption=T.ReadString('v'+IntToStr(n), 'p', 'âñå')) then if RadioButton2.Checked then c:=c+1;

if (sec=1) then if (RadioButton3.Caption=T.ReadString('v'+IntToStr(n), 'd', 'âñå')) then if RadioButton3.Checked then d:=d+1;

if n>9 then timer1.Enabled:=false;n>9 then samtest.Close;.Caption:=secs;:=ExtractFileDir(IntToStr(n)+'.bmp');.Picture.LoadFromFile(s+'pictures\'+IntToStr(n)+'.bmp');.Caption:=T.ReadString('v'+IntToStr(n), 'var1', 'âñå');.Caption:=T.ReadString('v'+IntToStr(n), 'var2', 'âñå');.Caption:=T.ReadString('v'+IntToStr(n), 'var3', 'âñå');

T.Free;(n=10) then Form3.Show;;Tsamtest.Button1Click(Sender: TObject);.Enabled:=false;.ShowModal;Form2.ModalResult=mrYes then Test.Close; samtest.Close;Form2.ModalResult=mrNo then n:=n; timer1.Enabled:=true; samtest.Show;

end;.



ПРИЛОЖЕНИЕ Г


Код программы «Unit2.dfm», отвечающей за форму прекращения теста

unit Unit2;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls;= class(TForm): TButton;: TButton;: TLabel;

{ Private declarations }

{ Public declarations };: TForm2;

{$R *.dfm}

end.



ПРИЛОЖЕНИЕ Д


Код программы «Unit3.dfm», отвечающей за диалоговое окно «Тест пройден»

unit Unit3;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls;= class(TForm): TLabel;: TButton;Button1Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm3;Unit4;

{$R *.dfm}TForm3.Button1Click(Sender: TObject);.Show;.Close;

end;.

ПРИЛОЖЕНИЕ Е


Код программы «Unit4.dfm», отвечающей за форму «Заключение»

unit Unit4;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, TeEngine, Series, ExtCtrls, TeeProcs, Chart, DBCtrls, ADODB, ShellApi,;= class(TForm): TChart;: TPieSeries;: TLabel;: TLabel;: TLabel;: TLabel;: TBitBtn;FormShow(Sender: TObject);BitBtn1Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm4; e, f, g, h: extended;Unit1, Unit5;

{$R *.dfm}TForm4.FormShow(Sender: TObject);:=round((samtest.a*100)/6);:=round((samtest.b*100)/4);:=round((samtest.c*100)/4);:=round((samtest.d*100)/4);.Caption:=Floattostr(e);Series1 do;(f, 'нормальный трихромат',clYellow);

Add(g,'протаноп',clBlue);

Add(h,'дейтераноп',clRed);

end;(e<75) Label4.Caption:= 'Результат теста не соответствует действительности.';

end;(e>=75) then((f=50) and (f=g) or (h=f)) then4.Caption:= 'Результат теста не соответствует действительности.'

else if (g=50) and (h=g) then Label4.Caption:= 'Результат теста не соответствует действительности.';

if (e>=75) then(f>g) AND (f>h) then4.Caption:=Пациент является нормальным трихроматом';

end;;(e>=75) then(g>h) AND (g>f) then4.Caption:= 'У пациента обнаружено нарушение цветового зрения - протанопия ';

end;;(e>=75) then(h>g) AND (h>f) then4.Caption:= 'У пациента обнаружено нарушение цветового зрения - тританопия ';

end;;.ADOQuery1.Edit;

Form5.ADOQuery1.FieldByName('Çàêëþ÷åíèå').AsString:=Label4.Caption;

Form5.ADOQuery1.Post;(outfile, Label4.Caption);(outfile);;TForm4.BitBtn1Click(Sender: TObject);

begin;; end.


МИНОБРНАУКИ РОССИИ Государственное образовательное учреждение высшего профессионального образования Санкт-Петербургский государственный электротехнический

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ