Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Список использованных источников. 1 Назаренко Г.И., Гулиев Я.И., Ермаков Д.Е




 

 

1 Назаренко Г.И., Гулиев Я.И., Ермаков Д.Е. Медицинские информационные системы: теория и практика. / Под. ред. Г.И. Назаренко, Г.С. Осипова. – Москва: Физматлит, 2005, – 320 с.

2 Рэнд Моримото, Кентон Гардиньер, Майкл Ноэл, Джо Кока. Microsoft Exchange Server 2003. Полное руководство = Microsoft Exchange Server 2003 Unleashed. - М.:«Вильямс», 2006. -С. 1024. - ISBN 0-672-32581-0.

3 Сайт http://www.mgkb5oren.ru/ Сайт Государственного бюджетного учреждения здравоохранения «Городская клиническая больница № 5» города Оренбурга.

4 Эльянов М. М. Медицинские информационные технологии. Каталог. Вып. 5. – Москва: Третья медицина, 2005, – 320 с.

5 Зорин А.В., Шакула А.В., Бадретдинов Р.Р. Система оценки эффективности восстановительных мероприятий и автоматизации работы лечебно-профилактического учреждения. / Вестник восстановительной медицины №4 (14). – Москва, 2005.

6 Сайт http://www.minzdrav.orb.ru/ Сайт Министерства здравоохранения Оренбургской области

7 Боэм Б.У. Инженерное проектирование программного обеспечения. – Москва: Радио и связь, 1985. – 512.

8 Фундаментальные исследования: ежемес. журн. / учредитель Академия Естествознания, 2003, Москва, ISSN 1812-7339. 2015, №1(810).

9 Фундаментальные исследования: ежемес. журн. / учредитель Академия Естествознания, 2003, Москва, ISSN 1812-7339. 2013, №7(589).

10 Кардио-ИТ: ежемес. журн. / учредитель ООО «Наука и Инновации», 2000, Саратов, ISSN 2313-0318. 2014, №2.

11 Виейра, Р. Программирование баз данных MySQL Server 2005. Базовый курс.: Пер. с англ. – Москва: ООО «И.Д. Вильямс», 2007. – 832с.: – Парал. тит. англ. ISBN 978-5-8459-1202-2 (рус.)

12 Режеуцкая С.Ю. Базы данных. Язык SQL: учеб. Пособие / С.Ю. Режеуцкая. – Вологда: ВоГТУ, 2010. – 159 с.

13 Сорокин А.В. Delphi. Разработка баз данных. – Санкт-Петербург: Питер, 2005. – 477 с.

14 Врач и информационные технологии: ежемес. журн. / учредитель «Менеджер здравоохранения», 2000, Москва, 2009, №6 (4).

15 Кузнецов П. П. Основные направления развития информатизации Российского здравоохранения: [Электронный ресурс] / П. П.Кузнецов. Режим доступа: http://www.worldbank.org.ru. – 15.09.2014.

16 Эльянов М. М. Медицинские информационные технологии. Каталог. Вып. 3. / М. М. Эльянов. Москва: Третья медицина, 2002. – 320 с.

17 Эльянов М. М. Медицинские информационные технологии: цивилизованный рынок или «зоопарк» / М. М. Эльянов // Информационные технологии в медицине-2002: Сборник тезисов. Москва: ВК ВВЦ «Наука и образование», 2002. С. 54 – 58.

18 Рот Г. З. Проблемы организации и перспективы внедрения компьютерных технологий в многопрофильной больнице / Г. З. Рот, В. Н. Денисов, Е. И. Шульман. // Бюллетень СО РАМН. 1998. №1. С.134 – 140.

19 Назаренко Г.И., Гулиев Я.И., Ермаков Д.Е. Медицинские информационные системы: теория и практика. Под редакцией Г. И. Назаренко, Г. С. Осипова. Москва: ФИЗМАТЛИТ, 2005. – 320 с.

20 Кобринский Б.А., Зарубина Т.В. Медицинская информатика: Учебник. Москва: изд. "Академия", 2009. – 192 с.

21 Карась С.И. Информационные основы принятия решений в медицине: Учебное пособие. – Томск: Печатная мануфактура, 2003. – 145с.

22 Медицинская информатика: учебное пособие / Чернов В.И. [и др]. – Воронеж, 2004. – 282с.:

23 Гельман В.Я. Медицинская информатика: практикум. – Санкт-Петербург: Питер, 2001. – 480с.

24 Рот Г.3. Медицинские информационные системы: учеб. пособие / Г.3. Рот, М.И. Фихман, Е.И. Шульман. – Новосибирск: Изд-во НГТУ, 2005. – 70 с.

25 Крис Фиайли. SQL: Руководство по изучению языка. - М.: Peachpit Press, 2003. – 456 с.

26 Дюк В., Эммануэль В. Информационные технологии в медико-биологических исследованиях. Санкт-Петербург: Питер, 2003. – 528 с.

27 Голицына О.Л., Максимов Н.В., Попов И.И. Базы данных: учеб. Пособие. – Москва: «Форум»: ИНФРА-М, 2007. – 400 с.

28 Информационные системы 3-е издание / Ю. Избачков [и др.]. – Санкт-Петербург: Питер, 2010. – 544 с.

29 Гнеденко В.Г., Иоселиани Д.Г., Файнберг Е.М. и др. “Аппаратно-программный комплекс для диагностики, мониторирования и лечения сердечно-сосудистых заболеваний ДИМОЛ”, технический проект, РНЦ “Курчатовский институт”, 1994.

30 Гнеденко В.Г., Иоселиани Д.Г., Файнберг Е.М. и др. “Разработка автоматизированных рабочих мест врача-ангиографиста для НПЦ “Интервенционной кардиоангиологии”, технический проект, РНЦ “Курчатовский институт”, 1999.

31 В.А. Востриков (1995) “Отчет по оценке медико-технических характеристик дефибриллятора - монитора ДКИ-Н-04М”, НИИ общей реаниматологии РАМН.

 

 

Приложение А

(обязательное)

Листинг программы «Главное окно программы»

unit Main;

 

interface

 

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, DBGridEhGrouping, Menus, GridsEh, DBGridEh, RzButton, ImgList,

ExtCtrls, RzPanel, RzTabs, DB, ADODB, SysUtilites, shellapi;

 

type

TfmMain = class(TForm)

ADOConnection1: TADOConnection;

ImageList1: TImageList;

RzPanel1: TRzPanel;

RzPageControl1: TRzPageControl;

TabSheet1: TRzTabSheet;

DBGridEh1: TDBGridEh;

RzToolbar2: TRzToolbar;

BtnInsertRecord: TRzToolButton;

BtnEdit: TRzToolButton;

BtnDelete: TRzToolButton;

TabSheet2: TRzTabSheet;

TabSheet3: TRzTabSheet;

mm1: TMainMenu;

N1: TMenuItem;

N3: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

N2: TMenuItem;

N5: TMenuItem;

N4: TMenuItem;

RzToolbar1: TRzToolbar;

RzToolButton1: TRzToolButton;

RzToolButton2: TRzToolButton;

RzToolButton3: TRzToolButton;

DBGridEh2: TDBGridEh;

RzToolbar3: TRzToolbar;

RzToolButton4: TRzToolButton;

RzToolButton5: TRzToolButton;

RzToolButton6: TRzToolButton;

DBGridEh3: TDBGridEh;

DataSource1: TDataSource;

qPatients: TADOQuery;

qMarkers: TADOQuery;

DataSource2: TDataSource;

DataSource3: TDataSource;

qDisease: TADOQuery;

qDiseaseID: TAutoIncField;

qDiseaseNAME: TStringField;

qDiseaseDESCRIPTION: TStringField;

qDiseaseSYMPTOM: TStringField;

qDiseaseTYPE: TSmallintField;

qMarkersID: TAutoIncField;

qMarkersNAME: TStringField;

qMarkersDESCRIPTION: TStringField;

qMarkersNORMAL_VALUE: TBCDField;

qPatientsNAME: TStringField;

qPatientsNORMAL_VALUE: TBCDField;

qPatientsID: TAutoIncField;

qPatientsFIO: TStringField;

qPatientsPOL: TStringField;

qPatientsDATE_OF_BIRTH: TDateTimeField;

qPatientsDATE_OF_SURVEY: TDateTimeField;

qPatientsSMOKES: TStringField;

qPatientsEXPECTANT: TStringField;

qPatientsRESULT: TBCDField;

qPatientsRESULT_S: TStringField;

qPatientsMRT: TStringField;

qPatientsUZI: TStringField;

qPatientsRADIOGRAPHY: TStringField;

qPatientsDISEASE_NAME: TStringField;

procedure N3Click(Sender: TObject);

procedure RzToolButton1Click(Sender: TObject);

procedure RzToolButton2Click(Sender: TObject);

procedure RzToolButton4Click(Sender: TObject);

procedure FormShow(Sender: TObject);

procedure RzToolButton5Click(Sender: TObject);

procedure RzToolButton3Click(Sender: TObject);

procedure qMarkersAfterOpen(DataSet: TDataSet);

procedure RzToolButton6Click(Sender: TObject);

procedure BtnInsertRecordClick(Sender: TObject);

procedure BtnDeleteClick(Sender: TObject);

procedure BtnEditClick(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure N5Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

procedure RefreshData;

end;

 

var

fmMain: TfmMain;

 

implementation

 

uses AddMarker, AddDisease, AddPatients, About;

 

{$R *.dfm}

 

procedure TfmMain.RefreshData;

begin

if qPatients.Active then

qPatients.Close;

qPatients.Open;

 

if qMarkers.Active then

qMarkers.Close;

qMarkers.Open;

 

if qDisease.Active then

qDisease.Close;

qDisease.Open;

end;

 

procedure TfmMain.N3Click(Sender: TObject);

begin

Close;

end;

 

procedure TfmMain.RzToolButton1Click(Sender: TObject);

begin

if fmAddMarker=nil then

Application.CreateForm(TfmAddMarker,fmAddMarker);

fmAddMarker.MODE:=wmAdd;

fmAddMarker.ShowModal;

end;

 

procedure TfmMain.RzToolButton2Click(Sender: TObject);

begin

if fmAddMarker=nil then

Application.CreateForm(TfmAddMarker,fmAddMarker);

fmAddMarker.MODE:=wmEdit;

fmAddMarker.MARKER_ID:=qMarkers.FieldByName('ID').AsInteger;

fmAddMarker.ShowModal;

end;

 

procedure TfmMain.RzToolButton4Click(Sender: TObject);

begin

if fmAddDisease=nil then

Application.CreateForm(TfmAddDisease,fmAddDisease);

fmAddDisease.MODE:=wmAdd;

fmAddDisease.ShowModal;

end;

 

procedure TfmMain.FormShow(Sender: TObject);

begin

RefreshData;

end;

 

procedure TfmMain.RzToolButton5Click(Sender: TObject);

begin

if fmAddDisease=nil then

Application.CreateForm(TfmAddDisease,fmAddDisease);

fmAddDisease.MODE:=wmEdit;

fmAddDisease.DISEASE_ID:=qDisease.FieldByName('ID').AsInteger;

fmAddDisease.ShowModal;

end;

 

procedure TfmMain.RzToolButton3Click(Sender: TObject);

var

Tb:TADOQuery;

begin

if MessageDlg('Вы действительно хотите удалить маркер?',mtConfirmation,[mbYes,mbNo], 0) = mrNo then

exit;

 

Tb:=TADOQuery.Create(nil);

Tb.Connection:=fmMain.ADOConnection1;

try

Tb.SQL.Text:='delete from oncological_diseases where marder_id =:ID1;'+

'delete from markers where id =:ID2;';

Tb.Parameters[0].Value:=qMarkers.FieldByName('ID').AsInteger;

Tb.Parameters[1].Value:=qMarkers.FieldByName('ID').AsInteger;

Tb.ExecSQL;

finally

Tb.Free;

end;

 

RefreshData;

end;

 

procedure TfmMain.qMarkersAfterOpen(DataSet: TDataSet);

begin

RzToolButton2.Enabled:=not qMarkers.IsEmpty;

RzToolButton3.Enabled:=not qMarkers.IsEmpty;

end;

 

procedure TfmMain.RzToolButton6Click(Sender: TObject);

var

Tb:TADOQuery;

begin

if MessageDlg('Вы действительно хотите удалить болезнь?',mtConfirmation,[mbYes,mbNo], 0) = mrNo then

exit;

 

Tb:=TADOQuery.Create(nil);

Tb.Connection:=fmMain.ADOConnection1;

try

Tb.SQL.Text:='delete from oncological_diseases where disease_id =:ID1;'+

'delete from disease where id =:ID2;';

Tb.Parameters[0].Value:=qDisease.FieldByName('ID').AsInteger;

Tb.Parameters[1].Value:=qDisease.FieldByName('ID').AsInteger;

Tb.ExecSQL;

finally

Tb.Free;

end;

 

RefreshData;

end;

 

procedure TfmMain.BtnInsertRecordClick(Sender: TObject);

begin

if fmAddPatients = nil then

Application.CreateForm(TfmAddPatients,fmAddPatients);

fmAddPatients.MODE:=wmAdd;

fmAddPatients.ShowModal;

end;

 

procedure TfmMain.BtnDeleteClick(Sender: TObject);

var

Tb:TADOQuery;

begin

if MessageDlg('Вы действительно хотите удалить пациента?',mtConfirmation,[mbYes,mbNo], 0) = mrNo then

exit;

 

Tb:=TADOQuery.Create(nil);

Tb.Connection:=fmMain.ADOConnection1;

try

Tb.SQL.Text:='delete from patients where id =:ID';

Tb.Parameters[0].Value:=qPatients.FieldByName('ID').AsInteger;

Tb.ExecSQL;

finally

Tb.Free;

end;

RefreshData;

end;

 

procedure TfmMain.BtnEditClick(Sender: TObject);

begin

if fmAddPatients = nil then

Application.CreateForm(TfmAddPatients,fmAddPatients);

fmAddPatients.MODE:=wmEdit;

fmAddPatients.PATIENT_ID:=qPatients.FieldByName('ID').AsInteger;

fmAddPatients.ShowModal;

end;

 

procedure TfmMain.N4Click(Sender: TObject);

begin

if fmAbout = nil then

Application.CreateForm(TfmAbout, fmAbout);

fmAbout.ShowModal;

end;

 

procedure TfmMain.N5Click(Sender: TObject);

begin

ShellExecute(Handle, 'open', 'C:\Medical.chm',nil, nil, SW_SHOW);

end;

end.

Приложение Б

(обязательное)

Листинг программы «Окно добавления маркера»

unit AddMarker;

 

interface

 

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, SysUtilites, StdCtrls, DBGridEhGrouping, RzButton, GridsEh,

DBGridEh, ImgList, ExtCtrls, RzPanel, DB, ADODB, Mask, DBCtrlsEh,

DBLookupEh;

 

type

TfmAddMarker = class(TForm)

Label1: TLabel;

Edit1: TEdit;

Label2: TLabel;

Memo1: TMemo;

GroupBox1: TGroupBox;

GroupBox2: TGroupBox;

Label3: TLabel;

Edit2: TEdit;

GroupBox3: TGroupBox;

Button1: TButton;

Button2: TButton;

RzToolbar1: TRzToolbar;

ImageList1: TImageList;

RzToolbar2: TRzToolbar;

DBGridEh2: TDBGridEh;

BtnInsertRecord: TRzToolButton;

BtnDeleteRecord: TRzToolButton;

BtnInsertRecord1: TRzToolButton;

BtnDeleteRecord1: TRzToolButton;

DBLookupComboboxEh1: TDBLookupComboboxEh;

DBLookupComboboxEh2: TDBLookupComboboxEh;

ADOQuery1: TADOQuery;

ADOQuery2: TADOQuery;

DataSource1: TDataSource;

DataSource2: TDataSource;

DataSource3: TDataSource;

ADOQuery3: TADOQuery;

ADOQuery4: TADOQuery;

DataSource4: TDataSource;

DBGridEh1: TDBGridEh;

ADOQuery1ID: TAutoIncField;

ADOQuery1NAME: TStringField;

ADOQuery1DESCRIPTION: TStringField;

ADOQuery1SYMPTOM: TStringField;

ADOQuery1TYPE: TSmallintField;

procedure Button2Click(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure FormDestroy(Sender: TObject);

procedure FormShow(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Edit2KeyPress(Sender: TObject; var Key: Char);

procedure RefreshDisease;

procedure BtnInsertRecordClick(Sender: TObject);

procedure BtnInsertRecord1Click(Sender: TObject);

procedure BtnDeleteRecordClick(Sender: TObject);

procedure BtnDeleteRecord1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

MODE:TWorkMode;

MARKER_ID:integer;

end;

 

var

fmAddMarker: TfmAddMarker;

 

implementation

 

uses Main;

 

{$R *.dfm}

 

procedure TfmAddMarker.Button2Click(Sender: TObject);

begin

Close;

end;

 

procedure TfmAddMarker.FormClose(Sender: TObject;

var Action: TCloseAction);

var

Tb:TADOQuery;

begin

Tb:=TADOQuery.Create(nil);

Tb.Connection:=fmMain.ADOConnection1;

try

Tb.SQL.Text:='delete from oncological_diseases where marder_id = 0';

Tb.ExecSQL;

finally

Tb.Free;

end;

Action:=caFree;

end;

 

procedure TfmAddMarker.FormDestroy(Sender: TObject);

begin

fmAddMarker:=nil;

end;

 

procedure TfmAddMarker.FormShow(Sender: TObject);

var

Tb:TADOQuery;

begin

ADOQuery1.Open;

ADOQuery2.Open;

 

RefreshDisease;

 

if MODE=wmAdd then

begin

fmAddMarker.Caption:='Добавление маркера';

end else

begin

fmAddMarker.Caption:='Изменение маркера';

 

Tb:=TADOQuery.Create(nil);

Tb.Connection:=fmMain.ADOConnection1;

try

Tb.SQL.Text:='select * from markers where id =:id';

Tb.Parameters[0].Value:=MARKER_ID;

Tb.Open;

if not Tb.IsEmpty then begin

Edit1.Text:=Tb.FieldByName('NAME').AsString;

Memo1.Lines.Text:=Tb.FieldByName('DESCRIPTION').AsString;

Edit2.Text:=Tb.FieldByName('NORMAL_VALUE').AsString;

end;

Tb.Close;

finally

Tb.Free;

end;

 

end;

end;

 

procedure TfmAddMarker.RefreshDisease;

begin

if ADOQuery3.Active then

ADOQuery3.Close;

 

if ADOQuery4.Active then

ADOQuery4.Close;

 

if MODE=wmAdd then

begin

ADOQuery3.SQL.Text:='SELECT '+

'disease.ID, '+

'disease.NAME '+

'FROM dbo.oncological_diseases '+

'INNER JOIN dbo.disease '+

'ON oncological_diseases.disease_id = disease.ID where oncological_diseases.marder_id = 0 and disease.type = 0';

ADOQuery3.Open;

 

ADOQuery4.SQL.Text:='SELECT '+

'disease.ID, '+

'disease.NAME '+

'FROM dbo.oncological_diseases '+

'INNER JOIN dbo.disease '+

'ON oncological_diseases.disease_id = disease.ID where oncological_diseases.marder_id = 0 and disease.type = 1';

ADOQuery4.Open;

end else

begin

 

ADOQuery3.SQL.Text:='SELECT '+

'disease.ID, '+

'disease.NAME '+

'FROM dbo.oncological_diseases '+

'INNER JOIN dbo.disease '+

'ON oncological_diseases.disease_id = disease.ID where oncological_diseases.marder_id =:ID and disease.type = 0';

ADOQuery3.Parameters[0].Value:=MARKER_ID;

ADOQuery3.Open;

 

ADOQuery4.SQL.Text:='SELECT '+

'disease.ID, '+

'disease.NAME '+

'FROM dbo.oncological_diseases '+

'INNER JOIN dbo.disease '+

'ON oncological_diseases.disease_id = disease.ID where oncological_diseases.marder_id =:ID and disease.type = 1';

ADOQuery4.Parameters[0].Value:=MARKER_ID;

ADOQuery4.Open;

end;

end;

 

procedure TfmAddMarker.Button1Click(Sender: TObject);

var

Tb:TADOQuery;

begin

Tb:=TADOQuery.Create(nil);

Tb.Connection:=fmMain.ADOConnection1;

try

if MODE=wmAdd then

begin

Tb.SQL.Text:='insert into markers(NAME,DESCRIPTION,NORMAL_VALUE) values(:NAME,:DESCRIPTION,:NORMAL_VALUE);'+

'select Max(ID) from markers;';

Tb.Parameters[0].Value:=Trim(Edit1.Text);

Tb.Parameters[1].Value:=Trim(Memo1.Lines.Text);

try

Tb.Parameters[2].Value:=StrToFloat(Edit2.Text);

except

Tb.Parameters[2].Value:=0;

end;

Tb.Open;

if not Tb.IsEmpty then

MARKER_ID:=Tb.Fields[0].AsInteger;

Tb.Close;

 

Tb.SQL.Text:='update oncological_diseases set marder_id =:marder_id where marder_id = 0';

Tb.Parameters[0].Value:=MARKER_ID;

Tb.ExecSQL;

end else

begin

///Edit

end;

finally

Tb.Free;

end;

fmMain.RefreshData;

Close;

end;

 

procedure TfmAddMarker.Edit2KeyPress(Sender: TObject; var Key: Char);

begin

if not (Key in ['0'..'9', #8, DecimalSeparator])then Key:=#0;

end;

 

procedure TfmAddMarker.BtnInsertRecordClick(Sender: TObject);

var

Tb:TADOQuery;

begin

Tb:=TADOQuery.Create(nil);

Tb.Connection:=fmMain.ADOConnection1;

try

if MODE=wmAdd then

begin

Tb.SQL.Text:='insert into oncological_diseases(marder_id,disease_id) values(:marder_id,:disease_id)';

Tb.Parameters[0].Value:=0;

Tb.Parameters[1].Value:=DBLookupComboboxEh1.KeyValue;

Tb.ExecSQL;

end else

begin

Tb.SQL.Text:='insert into oncological_diseases(marder_id,disease_id) values(:marder_id,:disease_id)';

Tb.Parameters[0].Value:=MARKER_ID;

Tb.Parameters[1].Value:=DBLookupComboboxEh1.KeyValue;

Tb.ExecSQL;

end;

finally

Tb.Free;

end;

RefreshDisease;

end;

 

procedure TfmAddMarker.BtnInsertRecord1Click(Sender: TObject);

var

Tb:TADOQuery;

begin

Tb:=TADOQuery.Create(nil);

Tb.Connection:=fmMain.ADOConnection1;

try

if MODE=wmAdd then

begin

Tb.SQL.Text:='insert into oncological_diseases(marder_id,disease_id) values(:marder_id,:disease_id)';

Tb.Parameters[0].Value:=0;

Tb.Parameters[1].Value:=DBLookupComboboxEh2.KeyValue;

Tb.ExecSQL;

end else

begin

Tb.SQL.Text:='insert into oncological_diseases(marder_id,disease_id) values(:marder_id,:disease_id)';

Tb.Parameters[0].Value:=MARKER_ID;

Tb.Parameters[1].Value:=DBLookupComboboxEh2.KeyValue;

Tb.ExecSQL;

end;

finally

Tb.Free;

end;

RefreshDisease;

end;

 

procedure TfmAddMarker.BtnDeleteRecordClick(Sender: TObject);

var

Tb:TADOQuery;

begin

Tb:=TADOQuery.Create(nil);

Tb.Connection:=fmMain.ADOConnection1;

try

if MODE=wmAdd then

begin

Tb.SQL.Text:='delete from oncological_diseases where marder_id =:marder_id and disease_id =:disease_id';

Tb.Parameters[0].Value:=0;

Tb.Parameters[1].Value:=ADOQuery3.FieldByName('ID').AsInteger;

Tb.ExecSQL;

end else

begin

Tb.SQL.Text:='delete from oncological_diseases where marder_id =:marder_id and disease_id =:disease_id';

Tb.Parameters[0].Value:=MARKER_ID;

Tb.Parameters[1].Value:=ADOQuery3.FieldByName('ID').AsInteger;

Tb.ExecSQL;

end;

finally

Tb.Free;

end;

RefreshDisease;

end;

 

procedure TfmAddMarker.BtnDeleteRecord1Click(Sender: TObject);

var

Tb:TADOQuery;

begin

Tb:=TADOQuery.Create(nil);

Tb.Connection:=fmMain.ADOConnection1;

try

if MODE=wmAdd then

begin

Tb.SQL.Text:='delete from oncological_diseases where marder_id =:marder_id and disease_id =:disease_id';

Tb.Parameters[0].Value:=0;

Tb.Parameters[1].Value:=ADOQuery4.FieldByName('ID').AsInteger;

Tb.ExecSQL;

end else

begin

Tb.SQL.Text:='delete from oncological_diseases where marder_id =:marder_id and disease_id =:disease_id';

Tb.Parameters[0].Value:=MARKER_ID;

Tb.Parameters[1].Value:=ADOQuery4.FieldByName('ID').AsInteger;

Tb.ExecSQL;

end;

finally

Tb.Free;

end;

RefreshDisease;

end;

 

end.

 

 

Приложение В

(обязательное)

Листинг программы «Окно добавление болезни»

unit AddDisease;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, DB, ADODB, SysUtilites;

type

TfmAddDisease = class(TForm)

Label1: TLabel;

Label2: TLabel;

Edit1: TEdit;

Memo1: TMemo;

Label3: TLabel;

Memo2: TMemo;

Label4: TLabel;

ComboBox1: TComboBox;

Button1: TButton;

Button2: TButton;

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure FormDestroy(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure FormShow(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

MODE:TWorkMode;

DISEASE_ID:integer;

end;

var

fmAddDisease: TfmAddDisease;

implementation

uses Main;

{$R *.dfm}

procedure TfmAddDisease.FormClose(Sender: TObject;

var Action: TCloseAction);

begin

Action:=caFree;

end;

procedure TfmAddDisease.FormDestroy(Sender: TObject);

begin

fmAddDisease:=nil;

end;

procedure TfmAddDisease.Button1Click(Sender: TObject);

var

Tb:TADOQuery;

begin

Tb:=TADOQuery.Create(nil);

Tb.Connection:=fmMain.ADOConnection1;

try

if MODE = wmAdd then

begin

Tb.SQL.Text:='insert into disease(NAME,DESCRIPTION,SYMPTOM,TYPE) values(:NAME,:DESCRIPTION,:SYMPTOM,:TYPE)';

Tb.Parameters[0].Value:=Trim(Edit1.Text);

Tb.Parameters[1].Value:=Trim(Memo1.Lines.Text);

Tb.Parameters[2].Value:=Trim(Memo2.Lines.Text);

Tb.Parameters[3].Value:=ComboBox1.ItemIndex;

Tb.ExecSQL;

end else

begin

Tb.SQL.Text:='update disease set NAME=:NAME, DESCRIPTION=:DESCRIPTION, SYMPTOM=:SYMPTOM, TYPE=:TYPE where id =:id;';

Tb.Parameters[0].Value:=Trim(Edit1.Text);

Tb.Parameters[1].Value:=Trim(Memo1.Lines.Text);

Tb.Parameters[2].Value:=Trim(Memo2.Lines.Text);

Tb.Parameters[3].Value:=ComboBox1.ItemIndex;

Tb.Parameters[4].Value:=DISEASE_ID;

Tb.ExecSQL;

end;

finally

Tb.Free;

end;

fmMain.RefreshData;

Close;

end;

procedure TfmAddDisease.FormShow(Sender: TObject);

var

Tb:TADOQuery;

begin

if MODE = wmAdd then

begin

fmAddDisease.Caption:='Добавить болезнь';

end else

begin

fmAddDisease.Caption:='Изменить болезнь';

Tb:=TADOQuery.Create(nil);

Tb.Connection:=fmMain.ADOConnection1;

try

Tb.SQL.Text:='select * from disease where id =:id';

Tb.Parameters[0].Value:=DISEASE_ID;

Tb.Open;

if not Tb.IsEmpty then

begin

Edit1.Text:=Tb.FieldByName('NAME').AsString;

Memo1.Lines.Text:=Tb.FieldByName('DESCRIPTION').AsString;

Memo2.Lines.Text:=Tb.FieldByName('SYMPTOM').AsString;

Combobox1.ItemIndex:=Tb.FieldByName('TYPE').AsInteger;

end;

Tb.Close;

finally

Tb.Free;

end;

end;

end;

procedure TfmAddDisease.Button2Click(Sender: TObject);

begin

Close;

end;

end.

 

 

Приложение Г

(обязательное)

Листинг программы «Окно добавления пациента»

unit AddPatients;

 

interface

 

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, SysUtilites, DBGridEh, StdCtrls, ExtCtrls, ComCtrls, Mask,

DBCtrlsEh, DBLookupEh, DB, ADODB;

 

type

TfmAddPatients = class(TForm)

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

GroupBox1: TGroupBox;

CheckBox1: TCheckBox;

CheckBox2: TCheckBox;

CheckBox3: TCheckBox;

DBLookupComboboxEh1: TDBLookupComboboxEh;

Label7: TLabel;

Edit1: TEdit;

ComboBox1: TComboBox;

DateTimePicker1: TDateTimePicker;

ComboBox2: TComboBox;

DateTimePicker2: TDateTimePicker;

ComboBox3: TComboBox;

Label8: TLabel;

DBLookupComboboxEh2: TDBLookupComboboxEh;

Label9: TLabel;

Edit2: TEdit;

Bevel1: TBevel;

Button1: TButton;

Button2: TButton;

ADOQuery1: TADOQuery;

ADOQuery2: TADOQuery;

DataSource1: TDataSource;

DataSource2: TDataSource;

ADOQuery2ID: TAutoIncField;

ADOQuery2NAME: TStringField;

ADOQuery2DESCRIPTION: TStringField;

ADOQuery2NORMAL_VALUE: TBCDField;

ADOQuery1ID: TAutoIncField;

ADOQuery1NAME: TStringField;

ADOQuery1DESCRIPTION: TStringField;

ADOQuery1SYMPTOM: TStringField;

ADOQuery1TYPE: TSmallintField;

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure FormDestroy(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure FormShow(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

MODE:TWorkMode;

PATIENT_ID:integer;

end;

 

var

fmAddPatients: TfmAddPatients;

 

implementation

 

uses Main;

 

{$R *.dfm}

 

procedure TfmAddPatients.FormClose(Sender: TObject;

var Action: TCloseAction);

begin

Action:=caFree;

end;

 

procedure TfmAddPatients.FormDestroy(Sender: TObject);

begin

fmAddPatients:=nil;

end;

 

procedure TfmAddPatients.Button1Click(Sender: TObject);

begin

Close;

end;

 

procedure TfmAddPatients.Button2Click(Sender: TObject);

var

Tb:TADOQuery;

begin

Tb:=TADOQuery.Create(nil);

Tb.Connection:=fmMain.ADOConnection1;

try

if MODE=wmAdd then

begin

Tb.SQL.Text:='insert into patients(FIO,POL,DATE_OF_BIRTH,DATE_OF_SURVEY,PRELIMINARY_DIAGNOSIS,SMOKES,EXPECTANT,MARKER,RESULT,MRT,UZI,RADIOGRAPHY) '+

'values(:FIO,:POL,:DATE_OF_BIRTH,:DATE_OF_SURVEY,:PRELIMINARY_DIAGNOSIS,:SMOKES,:EXPECTANT,:MARKER,:RESULT,:MRT,:UZI,:RADIOGRAPHY)';

Tb.Parameters[0].Value:=Edit1.Text;

Tb.Parameters[1].Value:=ComboBox1.ItemIndex;

Tb.Parameters[2].Value:=DateTimePicker1.Date;

Tb.Parameters[3].Value:=DateTimePicker2.Date;

Tb.Parameters[4].Value:=DBLookupComboboxEh1.KeyValue;

Tb.Parameters[5].Value:=ComboBox2.ItemIndex;

Tb.Parameters[6].Value:=ComboBox3.ItemIndex;

Tb.Parameters[7].Value:=DBLookupComboboxEh2.KeyValue;

Tb.Parameters[8].Value:=Edit2.Text;

if not CheckBox1.Checked then

Tb.Parameters[9].Value:=0

else

Tb.Parameters[9].Value:=1;

if not CheckBox2.Checked then

Tb.Parameters[10].Value:=0

else

Tb.Parameters[10].Value:=1;

if not CheckBox3.Checked then

Tb.Parameters[11].Value:=0

else

Tb.Parameters[11].Value:=1;

Tb.ExecSQL;

end else

begin

Tb.SQL.Text:='update patients set FIO=:FIO,POL=:POL,DATE_OF_BIRTH=:DATE_OF_BIRTH,DATE_OF_SURVEY=:DATE_OF_SURVEY,PRELIMINARY_DIAGNOSIS=:PRELIMINARY_DIAGNOSIS,'+

'SMOKES=:SMOKES,EXPECTANT=:EXPECTANT,MARKER=:MARKER,RESULT=:RESULT,MRT=:MRT,UZI=:UZI,RADIOGRAPHY=:RADIOGRAPHY where ID =:ID';

Tb.Parameters[0].Value:=Edit1.Text;

Tb.Parameters[1].Value:=ComboBox1.ItemIndex;

Tb.Parameters[2].Value:=DateTimePicker1.Date;

Tb.Parameters[3].Value:=DateTimePicker2.Date;

Tb.Parameters[4].Value:=DBLookupComboboxEh1.KeyValue;

Tb.Parameters[5].Value:=ComboBox2.ItemIndex;

Tb.Parameters[6].Value:=ComboBox3.ItemIndex;

Tb.Parameters[7].Value:=DBLookupComboboxEh2.KeyValue;

Tb.Parameters[8].Value:=Edit2.Text;

if not CheckBox1.Checked then

Tb.Parameters[9].Value:=0

else

Tb.Parameters[9].Value:=1;

if not CheckBox2.Checked then

Tb.Parameters[10].Value:=0

else

Tb.Parameters[10].Value:=1;

if not CheckBox3.Checked then

Tb.Parameters[11].Value:=0

else

Tb.Parameters[11].Value:=1;

 

Tb.Parameters[12].Value:=PATIENT_ID;

Tb.ExecSQL;

end;

finally

Tb.Free;

end;

fmMain.RefreshData;

Close;

end;

 

procedure TfmAddPatients.FormShow(Sender: TObject);

var

Tb:TADOQuery;

begin

ADOQuery1.Open;

ADOQuery2.Open;

 

if MODE=wmAdd then

begin

fmAddPatients.Caption:= 'Добавление данных о пациенте';

end else

begin

fmAddPatients.Caption:='Изменение данных о пациенте';

 

Tb:=TADOQuery.Create(nil);

Tb.Connection:=fmMain.ADOConnection1;

try

Tb.SQL.Text:='select * from patients where id =:id';

Tb.Parameters[0].Value:=PATIENT_ID;

Tb.Open;

if not Tb.IsEmpty then begin

Edit1.Text:=Tb.FieldByName('FIO').AsString;

ComboBox1.ItemIndex:=Tb.FieldByName('POL').AsInteger;

DateTimePicker1.Date:=Tb.FieldByName('DATE_OF_BIRTH').AsDateTime;

DateTimePicker2.Date:=Tb.FieldByName('DATE_OF_SURVEY').AsDateTime;

DBLookupComboboxEh1.KeyValue:=Tb.FieldByName('PRELIMINARY_DIAGNOSIS').AsInteger;

ComboBox2.ItemIndex:=Tb.FieldByName('SMOKES').AsInteger;

ComboBox3.ItemIndex:=Tb.FieldByName('EXPECTANT').AsInteger;

DBLookupComboboxEh2.KeyValue:=Tb.FieldByName('MARKER').AsInteger;

Edit2.Text:=Tb.FieldByName('RESULT').AsString;

if Tb.FieldByName('MRT').AsInteger=1 then

CheckBox1.Checked:=true

else

CheckBox1.Checked:=false;

if Tb.FieldByName('UZI').AsInteger=1 then

CheckBox2.Checked:=true

else

CheckBox2.Checked:=false;

if Tb.FieldByName('RADIOGRAPHY').AsInteger=1 then

CheckBox3.Checked:=true

else

CheckBox3.Checked:=false;

end;

Tb.Close;

finally

Tb.Free;

end;

end;

end;

 

end.

 

Приложение Д

(обязательное)

Листинг программы «Окно добавление болезни»

unit AddDisease;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, DB, ADODB, SysUtilites;

type

TfmAddDisease = class(TForm)

Label1: TLabel;

Label2: TLabel;

Edit1: TEdit;

Memo1: TMemo;

Label3: TLabel;

Memo2: TMemo;

Label4: TLabel;

ComboBox1: TComboBox;

Button1: TButton;

Button2: TButton;

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure FormDestroy(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure FormShow(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

MODE:TWorkMode;

DISEASE_ID:integer;

end;

 

var

fmAddDisease: TfmAddDisease;

 

implementation

 

uses Main;

 

{$R *.dfm}

 

procedure TfmAddDisease.FormClose(Sender: TObject;

var Action: TCloseAction);

begin

Action:=caFree;

end;

 

procedure TfmAddDisease.FormDestroy(Sender: TObject);

begin

fmAddDisease:=nil;

end;

 

procedure TfmAddDisease.Button1Click(Sender: TObject);

var

Tb:TADOQuery;

begin

Tb:=TADOQuery.Create(nil);

Tb.Connection:=fmMain.ADOConnection1;

try

if MODE = wmAdd then

begin

Tb.SQL.Text:='insert into disease(NAME,DESCRIPTION,SYMPTOM,TYPE) values(:NAME,:DESCRIPTION,:SYMPTOM,:TYPE)';

Tb.Parameters[0].Value:=Trim(Edit1.Text);

Tb.Parameters[1].Value:=Trim(Memo1.Lines.Text);

Tb.Parameters[2].Value:=Trim(Memo2.Lines.Text);

Tb.Parameters[3].Value:=ComboBox1.ItemIndex;

Tb.ExecSQL;

end else

begin

Tb.SQL.Text:='update disease set NAME=:NAME, DESCRIPTION=:DESCRIPTION, SYMPTOM=:SYMPTOM, TYPE=:TYPE where id =:id;';

Tb.Parameters[0].Value:=Trim(Edit1.Text);

Tb.Parameters[1].Value:=Trim(Memo1.Lines.Text);

Tb.Parameters[2].Value:=Trim(Memo2.Lines.Text);

Tb.Parameters[3].Value:=ComboBox1.ItemIndex;

Tb.Parameters[4].Value:=DISEASE_ID;

Tb.ExecSQL;

end;

finally

Tb.Free;

end;

fmMain.RefreshData;

Close;

end;

 

procedure TfmAddDisease.FormShow(Sender: TObject);

var

Tb:TADOQuery;

begin

if MODE = wmAdd then

begin

fmAddDisease.Caption:='Добавить болезнь';

end else

begin

fmAddDisease.Caption:='Изменить болезнь';

Tb:=TADOQuery.Create(nil);

Tb.Connection:=fmMain.ADOConnection1;

try

Tb.SQL.Text:='select * from disease where id =:id';

Tb.Parameters[0].Value:=DISEASE_ID;

Tb.Open;

if not Tb.IsEmpty then

begin

Edit1.Text:=Tb.FieldByName('NAME').AsString;

Memo1.Lines.Text:=Tb.FieldByName('DESCRIPTION').AsString;

Memo2.Lines.Text:=Tb.FieldByName('SYMPTOM').AsString;

Combobox1.ItemIndex:=Tb.FieldByName('TYPE').AsInteger;

end;

Tb.Close;

finally

Tb.Free;

end;

end;

end;

 

procedure TfmAddDisease.Button2Click(Sender: TObject);

begin

Close;

end;

 

end.

 

 

Приложение Е

(обязательное)

Листинг программы «Окно о программе»

unit About;

 

interface

 

uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,

Buttons, ExtCtrls;

 

type

TfmAbout = class(TForm)

Panel1: TPanel;

ProgramIcon: TImage;

ProductName: TLabel;

Version: TLabel;

Copyright: TLabel;

Comments: TLabel;

OKButton: TButton;

procedure OKButtonClick(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure FormDestroy(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

fmAbout: TfmAbout;

 

implementation

 

{$R *.dfm}

 

procedure TfmAbout.OKButtonClick(Sender: TObject);

begin

Close;

end;

 

procedure TfmAbout.FormClose(Sender: TObject; var Action: TCloseAction);

begin

Action:=caFree;

end;

 

procedure TfmAbout.FormDestroy(Sender: TObject);

begin

fmAbout:=nil;

end;

 

end.

 

Приложение Ж

(обязательное)

Листинг программы «Окно сформировать отчет»

unit GenReport;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ComCtrls, StdCtrls, DB, ADODB, DateUtils, COMObj, frxClass,

frxADOComponents;

type

TfmGenReport = class(TForm)

Button1: TButton;

Button2: TButton;

Label1: TLabel;

DateTimePicker1: TDateTimePicker;

Label2: TLabel;

DateTimePicker2: TDateTimePicker;

frxReport1: TfrxReport;

frxADOComponents1: TfrxADOComponents;

procedure Button2Click(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure FormDestroy(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

fmGenReport: TfmGenReport;

implementation

uses Main;

{$R *.dfm}

procedure TfmGenReport.Button2Click(Sender: TObject);

begin

Close;

end;

procedure TfmGenReport.FormClose(Sender: TObject;

var Action: TCloseAction);

begin

Action:=caFree;

end;

procedure TfmGenReport.FormDestroy(Sender: TObject);

begin

fmGenReport:=nil;

end;

procedure TfmGenReport.Button1Click(Sender: TObject);

begin

frxReport1.LoadFromFile('report.fr3');

(frxReport1.FindObject('Memo14') as TfrxMemoView).Text:='Ñïèñîê ïàöèåíòîâ ïðîõîäèâøèõ îáñëåäîâàíèå çà ïåðèîä ñ '+DateToStr(DateTimePicker1.Date)+' ïî '+DateToStr(DateTimePicker2.Date);

(frxReport1.FindObject('ADOQuery1') as TfrxADOQuery).ParamByName('DATN').Value:=RecodeTime(DateTimePicker1.Date, 00, 00, 00, 00);

(frxReport1.FindObject('ADOQuery1') as TfrxADOQuery).ParamByName('DATK').Value:=RecodeTime(DateTimePicker2.Date, 23, 59, 59, 00);

frxReport1.ShowReport();

end;

end.

 

 

Приложение И

(обязательное)

Архитектура программы

Рисунок И.1 – Архитектура программы

Приложение К

(обязательное)





Поделиться с друзьями:


Дата добавления: 2015-11-23; Мы поможем в написании ваших работ!; просмотров: 532 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Самообман может довести до саморазрушения. © Неизвестно
==> читать все изречения...

2487 - | 2330 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.013 с.