Разработка экспертной системы диагностики заболеваний с помощью серологических маркеров

Анализ организационно-штатной структуры Государственного бюджетного учреждения здравоохранения "Городская клиническая больница №5". Существующие программно-аппаратные комплексы для диагностики заболеваний. Листинг программы "Окно добавления маркера".

Рубрика Медицина
Вид дипломная работа
Язык русский
Дата добавления 24.06.2015
Размер файла 1,7 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

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;

finallyTb.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.

Приложение Д

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

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.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.

Приложение З

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

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

Приложение И

Структура подчинения листингов программы

Рисунок И.1 - Структура подчинения листингов программы

Размещено на Allbest.ru


Подобные документы

  • Место и роль услуг здравоохранения в экономике. Особенности маркетинга медицинских услуг. Предпосылки использования маркетинга в сфере здравоохранения. Анализ маркетинговой деятельности учреждения здравоохранения ГБУЗ "Городская клиническая больница № 2".

    дипломная работа [741,2 K], добавлен 14.01.2015

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

    презентация [310,1 K], добавлен 14.07.2012

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

    презентация [1,4 M], добавлен 06.02.2011

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

    отчет по практике [25,1 K], добавлен 16.02.2016

  • Исследование принципов и общая характеристика методов диагностики инфекционных заболеваний. Лабораторная диагностика: иммуноферментный анализ и блоттинг, микробиологический, бактериологический, вирусологический, биологический и иммунологический методы.

    реферат [41,1 K], добавлен 23.02.2011

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

    презентация [890,7 K], добавлен 27.04.2016

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

    презентация [436,8 K], добавлен 12.10.2015

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

    презентация [5,3 M], добавлен 31.01.2016

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

    реферат [187,2 K], добавлен 07.10.2011

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

    презентация [522,9 K], добавлен 29.04.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.