- •Аннотация
- •Работа изложена на 72 страницах, содержит 14 таблиц, 18 рисунков, 31 источник, 9 приложений.
- •Содержание
- •1Анализ организационно-штатной структуры Государственного Бюджетного Учреждения Здравоохранения «Городская Клиническая Больница №5 »
- •1.1Описание подразделений
- •2 Анализ существующих программно-аппаратных комплексов для диагностики заболеваний
- •2.1 Аппаратно-программный комплекс димол
- •3 Создание аппаратно-программного комплекса
- •3.1 Обоснование выбора субд и программного обеспечения
- •3.2 Структура программы
- •3.3 Интерфейс программы
- •4 Экономическая часть
- •4.1 Технико-экономическое обоснование разработки
- •4.2 Расчёт себестоимости программного продукта
- •4.3 Расчёт экономического эффекта
- •Заключение
- •Список использованных источников
- •Приложение а (обязательное) Листинг программы «Главное окно программы»
- •Приложение б (обязательное) Листинг программы «Окно добавления маркера»
- •Приложение в (обязательное) Листинг программы «Окно добавление болезни»
- •Приложение г (обязательное) Листинг программы «Окно добавления пациента»
- •Приложение д (обязательное) Листинг программы «Окно добавление болезни»
- •Приложение е (обязательное) Листинг программы «Окно о программе»
- •Приложение ж (обязательное) Листинг программы «Окно сформировать отчет»
Приложение в (обязательное) Листинг программы «Окно добавление болезни»
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.
