院内感染监控系统
开发工具Delphi7
报表工具FastReport
Delphi
unit U_Ymjg;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, RzButton, ExtCtrls, RzPanel, ImgList, Grids, RzGrids, StdCtrls,
RzCmboBx, DB, ADODB;
type
TFrm_ymjg = class(TForm)
ImageList1: TImageList;
RzPanel1: TRzPanel;
RzPanel2: TRzPanel;
RzBitBtn4: TRzBitBtn;
RzBitBtn5: TRzBitBtn;
RzBitBtn6: TRzBitBtn;
Label14: TLabel;
RzComboBox1: TRzComboBox;
Label15: TLabel;
RzComboBox2: TRzComboBox;
RzPanel3: TRzPanel;
RzStringGrid4: TRzStringGrid;
ADOQuery1: TADOQuery;
procedure FormCreate(Sender: TObject);
procedure RzBitBtn6Click(Sender: TObject);
procedure RzBitBtn4Click(Sender: TObject);
procedure RzStringGrid4SelectCell(Sender: TObject; ACol, ARow: Integer;
var CanSelect: Boolean);
procedure RzBitBtn5Click(Sender: TObject);
private
pid, id, ymid: string;
public
procedure browse(Apid, Aid, Aymid: string);
procedure textCombox;
procedure localStringGrid(sg: TRzStringGrid; v: string);
end;
var
Frm_ymjg: TFrm_ymjg;
implementation
uses u_dm;
{$R *.dfm}
procedure TFrm_ymjg.browse(Apid, Aid, Aymid: string);
var
ARow, i, j: integer;
begin
pid := Apid;
id := Aid;
ymid := Aymid;
for i := 1 to RzStringGrid4.RowCount - 1 do
for j := 0 to RzStringGrid4.ColCount - 1 do
RzStringGrid4.Cells[j, i] := '';
RzStringGrid4.RowCount := 2;
RzBitBtn4.Enabled := false;
RzBitBtn5.Enabled := false;
if (pid = '') or (id = '') or (ymid = '') then
exit;
RzBitBtn4.Enabled := true;
RzBitBtn5.Enabled := true;
with ADOQuery1 do
begin
close;
sql.Text := 'select [抗生素],[耐药性] from [药敏实验结果] where [住院号]=' + QuotedStr(pid) + ' and [明细序号]=' + id + ' and [药敏序号]=' + ymid;
open;
ARow := 0;
while not eof do
begin
inc(ARow);
for i := 0 to RzStringGrid4.ColCount - 1 do
begin
RzStringGrid4.Cells[i, ARow] := Fields[i].AsString;
end;
next;
end;
close;
if ARow = 0 then
RzStringGrid4.RowCount := 2
else
RzStringGrid4.RowCount := ARow + 1;
end;
end;
procedure TFrm_ymjg.FormCreate(Sender: TObject);
begin
with RzStringGrid4 do
begin
Cells[0, 0] := '抗生素';
Cells[1, 0] := '耐药性';
ColCount := 2;
RowCount := 2;
ColWidths[1] := 100;
ColWidths[0] := width - 16 - ColWidths[1];
end;
end;
procedure TFrm_ymjg.RzBitBtn6Click(Sender: TObject);
begin
CLOSE;
end;
procedure TFrm_ymjg.RzBitBtn4Click(Sender: TObject);
var
kss: string;
begin
textCombox;
kss := RzComboBox1.Text;
if kss = '' then
exit;
dm.ADOConn.Execute('delete * from [药敏实验结果] where [住院号]=' + QuotedStr(pid) + ' and [明细序号]=' + id + ' and [药敏序号]=' + ymid + ' and [抗生素]=' + QuotedStr(kss));
dm.ADOConn.Execute(format('insert into [药敏实验结果]([住院号],[明细序号],[药敏序号],[抗生素],[耐药性]) values(%s,%s,%s,%s,%s)',
[QuotedStr(pid), id, ymid, QuotedStr(kss), QuotedStr(Trim(RzComboBox2.Text))]));
browse(pid, id, ymid);
localStringGrid(RzStringGrid4, kss);
//
end;
procedure TFrm_ymjg.textCombox;
var
i, j: integer;
str: string;
begin
for i := 0 to Componentcount - 1 do
if Components[i] is TRzComboBox then
with TRzComboBox(Components[i]) do
begin
text := Trim(Text);
str := text;
j := pos('|', str);
if j > 0 then
text := copy(str, j + 1, MaxInt);
end;
end;
procedure TFrm_ymjg.localStringGrid(sg: TRzStringGrid; v: string);
var
i: integer;
begin
for i := 1 to sg.RowCount - 1 do
if sg.Cells[0, i] = v then
begin
sg.Row := i;
exit;
end;
end;
procedure TFrm_ymjg.RzStringGrid4SelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
begin
RzComboBox1.Text := RzStringGrid4.Cells[0, arow];
RzComboBox2.Text := RzStringGrid4.Cells[1, arow];
end;
procedure TFrm_ymjg.RzBitBtn5Click(Sender: TObject);
var
kss: string;
begin
kss := RzStringGrid4.Cells[0, RzStringGrid4.row]; ;
if kss = '' then
exit;
dm.ADOConn.Execute('delete * from [药敏实验结果] where [住院号]=' + QuotedStr(pid) + ' and [明细序号]=' + id + ' and [药敏序号]=' + ymid + ' and [抗生素]=' + QuotedStr(kss));
browse(pid, id, ymid);
RzComboBox1.Text := RzStringGrid4.Cells[0, RzStringGrid4.row];
RzComboBox2.Text := RzStringGrid4.Cells[1, RzStringGrid4.row];
end;
end.
附件
- 登记表:(感染病历登记表)( 录入)
A、
住院号:______ 姓名:_____ 性别:____ 年龄:___(岁、月、天)
入院日期:________ 出院日期:________ 住院天数:__________
出院诊断:1、______________________________________________(字典调用)
2、______________________________________________
3、______________________________________________
预后:1、治愈 2、好转 3、无变化 4、恶化 5、直接死亡 6、间接死亡 7、与死亡无关
B、
感染日期:___________ 感染部位:__(字典调用) 具体部位:(字典调用)
感染有关因素调查:__________________________________(字典调用)
病原学检查方法:1、镜检 2、培养 3、血清学检查
送检日期:_________________________________________
上报科室:________________(字典调用) 上报时间:_________________(精确到分秒)
上报人:_________________
C、
送检标本来源:________________________________(字典调用)
病原体名称:_________________________________(字典调用)
药敏实验结果:
抗生素(字典调用) 耐药性
备注:
根据登记表的内容,我建议分为三部分,三者的关系如下:A与B是一对多的关系,B与C是一对多的关系(B存在,C不一定存在,只有存在病原学检查方法才有C的存在)
附录:(字典数据)
感染部位:
1、呼吸系统感染:A、上呼吸道感染 B、下呼吸道感染 C、胸膜腔感染
2、心血管系统感染:
A、侵犯心脏瓣膜(包括人工心瓣膜)的心内膜炎
B、心肌炎或心包炎
3、血液系统 :A、血管相关性感染 B、败血症 C、输血相关感染
4、腹部和消化系统: A、感染性腹泻 B、胃肠道感染 C、抗菌药物相关性腹泻
D、病毒性肝炎 E、腹(盆)腔内组织感染 F、腹水感染
5、中枢神经系统:A、细菌性脑膜炎、脑室炎 B、颅内脓舯 C、椎管内感染
6、泌尿系统: A、泌尿器官
7、手术部位:A、表浅手术切口感染 B、深部手术切口感染 C、器官(或腔隙)感染
8、皮肤和软组织: A、皮肤感染 B、软组织感染 C、褥疮感染 D、烧伤感染
E、乳腺脓肿或乳腺炎 F、脐炎 G、婴儿脓疱病
9、骨关节: A、关节和关节囊感染 B、骨髓炎 C、椎间盘感染
10、生殖道: A、外阴切口感染 B、阴道穹隆部感染 C、急性盆腔炎
D、子宫内膜炎 E、男女性生殖道的其它感染
11、口腔:口腔组织
12、其他部位:除上其它器官或组织
病原体:(即微生物中细菌名称,例:变形杆菌、不动杆菌等)(可从微生物系统中倒入)
抗生素:(例:庆大霉素、头孢西丁等)(可从微生物系统中倒入)
科室:(例:消化内科、心内科等)
送检标本来源:(例:血液、痰、尿等)(可从微生物系统中倒入)
出院诊断:(见ICD10 信息)
ICD10编码 char(20)
ICD10名称 varchar(80)
- 科室每月住院人数登记:( 录入)
月份:______年_____月
|-------------|----------|
| 科 室 | 住院人数 |
| 心内科 | |
| 普外一 | |
| 普外二 | |
| 呼吸内科 | |
| 消化内科 | |
| | |
| | |
- 报表:
- 每月各科室医院感染发病率
统计月份:2005年6月
|--------|----------|-----------|----------|
| 科室 | 住院人数 | 感染病人数 | 感染率% |
| 心内科 | | | |
| 普外一 | | | |
| 普外二 | | | |
| 呼吸内科 | | | |
| 消化内科 | | | |
| | | | |
| | | | |
-
- 每月住院病人手术切口感染率
(数据来自感染部分为手术部位的病人)
统计月份:2005年6月
|--------|----------|---------------|----------|
| 科室 | 住院人数 | 手术病人切口感染数 | 感染率% |
| 心内科 | | | |
| 普外一 | | | |
| 普外二 | | | |
| 呼吸内科 | | | |
| 消化内科 | | | |
| | | | |
| | | | |
-
- 每月感染部分发病率
统计月份:2005年6月
|-------|------|------|-------|------|---------|--------|------|------|--------|-----|-----|----|------|
| 感染部分 科室 || 呼吸系统 | 心血管系统 | 血液系统 | 腹部和消化系统 | 中枢神经系统 | 泌尿系统 | 手术部位 | 皮肤和软组织 | 骨关节 | 生殖道 | 口腔 | 其他部位 |
| 心 内 科 | 住院人数 | | | | | | | | | | | | |
| 心 内 科 | 感染人数 | | | | | | | | | | | | |
| 心 内 科 | 感染率% | | | | | | | | | | | | |
| 普外一 | 住院人数 | | | | | | | | | | | | |
| 普外一 | 感染人数 | | | | | | | | | | | | |
| 普外一 | 感染率% | | | | | | | | | | | | |
| | | | | | | | | | | | | | |
| | | | | | | | | | | | | | |
-
- 抗菌药物敏感性检测汇总表
医院编号:__________ 检测月份:2005年6月 上报日期:2005年7月1日
|---------|-------|----|---|---|---|---|
| 病原体 | 菌株合计) | 血液 | 痰 | 尿 | | |
| 金黄色葡萄球菌 | | | | | | |
| 表皮葡萄球菌 | | | | | | |
| 不动杆菌属 | | | | | | |
| | | | | | | |
-
- 医院感染常见细菌对抗生素耐药率(%)
统计月份:2005年6月
|---------------|----------|----------|----------|-----------|---|
| 药物 细菌 | 庆大霉素 | 头孢西丁 | 替卡西林 | 氨苄青霉素 | |
| 金黄色葡萄球菌 | 72.2 | 87.3 | 46.8 | 61.2 | |
| 表皮葡萄球菌 | 50 | 0 | 0 | 35.7 | |
| 不动杆菌属 | | | | | |
| | | | | | |
-
- 某一疾病(ICD10)在每月感染率
统计月份:2005年6月 统计疾病:肾综合征出血热
|------|--------|------|------|------|
| || 住院人数 | 感染人数 | 感染率% |
| 呼吸系统 | 上呼吸道感染 | | | |
| 呼吸系统 | 下呼吸道感染 | | | |
| 呼吸系统 | 胸膜腔感染 | | | |
| | | | | |
| | | | | |
| | | | | |