一个小工具

news2025/2/28 17:32:22

院内感染监控系统

开发工具Delphi7

报表工具FastReport

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)

  • 科室每月住院人数登记:(录入)

月份:______年_____月

科 

   住院人数

心内科

普外一

普外二

呼吸内科

消化内科

  • 报表:
    1. 每月各科室医院感染发病率

统计月份:2005年6月

科室

住院人数

感染病人数

感染率%

心内科

普外一

普外二

呼吸内科

消化内科

    1. 每月住院病人手术切口感染率

(数据来自感染部分为手术部位的病人)

统计月份:2005年6月

科室

住院人数

手术病人切口感染数

感染率%

心内科

普外一

普外二

呼吸内科

消化内科

    1. 每月感染部分发病率

统计月份:2005年6月

感染部分

科室

呼吸系统

心血管系统

血液系统

腹部和消化系统

中枢神经系统

泌尿系统

手术部位

皮肤和软组织

骨关节

生殖道

口腔

其他部位

住院人数

感染人数

感染率%

普外一

住院人数

感染人数

感染率%

    1. 抗菌药物敏感性检测汇总表

医院编号:__________   检测月份:2005年6月     上报日期:2005年7月1日

病原体

菌株合计)

血液

尿

金黄色葡萄球菌

表皮葡萄球菌

不动杆菌属

    1. 医院感染常见细菌对抗生素耐药率(%)

统计月份:2005年6月

药物

细菌

庆大霉素

头孢西丁

替卡西林

氨苄青霉素

金黄色葡萄球菌

  72.2

87.3

46.8

61.2

表皮葡萄球菌

50

0

0

35.7

不动杆菌属

    1. 某一疾病(ICD10)在每月感染率

统计月份:2005年6月    统计疾病:肾综合征出血热

住院人数

感染人数

感染率%

呼吸系统

上呼吸道感染

下呼吸道感染

胸膜腔感染

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2261026.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python:程序中如何引用环境变量

应用场景:具有安全性的信息(如密钥),为方式代码提交被同时提交到公共环境(如git),可以通过环境变量配置后,在代码中直接引用。 优点:安全、复用性强、持久化&#xff08…

电力场景绝缘子缺陷识别分割数据集labelme格式1099张3类别

数据集格式:labelme格式(不包含mask文件,仅仅包含jpg图片和对应的json文件) 图片数量(jpg文件个数):1099 标注数量(json文件个数):1099 标注类别数:3 标注类别名称:["brokenpart","brokeninsulator…

C++ -- 哈希表封装实现unordered_map 和 unordered_set

本章内容分为源码看框架讲解和结构模拟实现两部分,源码框架是让我们了解容器结构在设计时的思路,模拟实现才是重点。因此如果在看源码结构式感到疑惑,不妨继续往下看,相信一切都会慢慢了解~ 源码及框架分析 在C98 / SGI-STL30版本…

修改vscode中emmet中jsx和tsx语法中className的扩展符号从单引号到双引号 - HTML代码补全 - 单引号双引号

效果图 实现步骤 文件 > 首选项 > 设置搜索“”在settings.json中修改,增加 "emmet.syntaxProfiles": {"html": {"attr_quotes": "single"},"jsx": {"attr_quotes": "double","…

CSS学习记录12

CSS浮动 CSSfloat属性规定元素如何浮动 CSSclear属性规定哪些元素可以在清除的元素旁边以及在哪一侧浮动。 float属性 float属性用于定位和格式化内容,例如让图像向左浮动到容器的文本那里。 float属性可以设置以下值之一: left - 元素浮动到其容器…

IDEA搭建SpringBoot,MyBatis,Mysql工程项目

目录 一、前言 二、项目结构 三、初始化项目 四、SpringBoot项目集成Mybatis编写接口 五、代码仓库 一、前言 构建一个基于Spring Boot框架的现代化Web应用程序,以满足[公司/组织名称]对于[业务需求描述]的需求。通过利用Spring Boot简化企业级应用开发的优势&…

Redis应用—4.在库存里的应用

大纲 1.库存模块设计 2.库存缓存分片和渐进式同步方案 3.基于缓存分片的下单库存扣减方案 4.商品库存设置流程与异步落库的实现 6.库存入库时"缓存分片写入 渐进式写入 写入失败进行MQ补偿"的实现 7.库存扣减时"基于库存分片依次扣减 合并扣减 扣不了…

25. 深浅拷贝

一、什么是浅拷贝 只对对象的最顶层进行的拷贝称为 浅拷贝。我们可以用 copy 模块中的 copy() 方法实现浅拷贝。 import copya [11, 22, 33] b [44, 55, 66] c [a, b] d copy.copy(c)print(f"c: {c}") print(f"d: {d}") print(f"c d: {c d}&q…

【GCC】2015: draft-alvestrand-rmcat-congestion-03 机器翻译

腾讯云的一个分析,明显是看了这个论文和草案的 : 最新的是应该是这个 A Google Congestion Control Algorithm for Real-Time Communication draft-ietf-rmcat-gcc-02 下面的这个应该过期了: draft-alvestrand-rmcat-congestion-03

学习笔记:Verilog VHDL硬件描述语言简介及在线仿真Verilog环境

RTL Verilog VHDL HLS等概念 RTL Register Transfer Level,寄存器传输级。它是数字电路设计中的一种抽象层次,描述了电路中寄存器之间的数据传输和逻辑操作。RTL代码通常用Verilog或VHDL语言编写,是后续综合、仿真等工作的基础。 VHDL全名Ve…

druid图形化监控 + MyBatis优化器使用

文章目录 1.集成druid图形化监控1.配置application.yml2.测试访问 http://localhost:项目端口/druid 2.MyBatis优化器(显示完整sql)1.目录2.SqlBeautyInterceptor.java:sql拦截器3.MybatisConfiguration.java:将sql拦截器注入容器4.测试5.MyBatis优化器动…

1216作业

思维导图 作业 使用无名信号量实现输出春夏秋冬 #include <myhead.h> sem_t sem1,sem2,sem3,sem4; void *fun1() {while(1){sem_wait(&sem1);sleep(1);printf("春\n");sem_post(&sem2);} }void *fun2() {while(1){sem_wait(&sem2);sleep(1);prin…

学习maven(maven 项目模块化,继承,聚合)

前言 本篇博客的核心&#xff1a;理解maven 项目模块化&#xff0c;继承&#xff0c;聚合 的含义 maven 项目模块化 含义 maven项目模块化&#xff1a;使用maven 构建项目&#xff0c;管理项目的方式&#xff0c;我们可以将maven项目根据内在的关系拆分成很多个小项目【模块】…

【Linux】自定义项目-进度条

更多精彩内容..... &#x1f389;❤️播主の主页✨&#x1f618; Stark、-CSDN博客 准备工作&#xff1a;"\r"与"\n"字符 ①&#xff1a;基本含义 在C语言和Linux环境中&#xff0c;\r是回车符&#xff0c;\n是换行符&#xff0c;用于控制文本格式和输出…

OpenLinkSaas 2025年1月开发计划

先来看看OpenLinkSaas的大目标 在OpenLinkSaas的产品目标中&#xff0c;让开发人员更加方便的使用云资源是目标之一。通过各大云厂商的API&#xff0c;来可视化云上基础设施的数据是远远不够的。我们准备在2025年1月份增加方便管理和运营研发场景下服务器的能力。 这部分的功能…

电工电子技术实验:电压比较器及其应用电路

实验目的 1&#xff0e;了解电压比较器与运算放大器的性能区别&#xff1b; 2&#xff0e;掌握电压比较器的结构及特点&#xff1b; 3&#xff0e;掌握电压比较器电压传输特性的测试方法&#xff1b; 4&#xff0e;学习比较器在电路设计中的应用 实验原理 电压比较器是一…

代理 IP 行业现状与未来趋势分析

随着互联网的飞速发展&#xff0c;代理 IP 行业在近年来逐渐兴起并成为网络技术领域中一个备受关注的细分行业。它在数据采集、网络营销、隐私保护等多个方面发挥着重要作用&#xff0c;其行业现状与未来发展趋势值得深入探讨。 目前&#xff0c;代理 IP 行业呈现出以下几个显著…

旅游系统旅游小程序PHP+Uniapp

旅游门票预订系统&#xff0c;支持景点门票、导游产品便捷预订、美食打卡、景点分享、旅游笔记分享等综合系统 更新日志 V1.3.0 1、修复富文本标签 2、新增景点入驻【高级版本】3、新增门票核销【高级版】4、新增门票端口【高级版】

【日常笔记】Spring boot:编写 Content type = ‘text/plain‘ 接口

一、项目场景&#xff1a; 接口&#xff1a;Context-Type&#xff1a;text/plain 方式&#xff1a;POST 项目场景&#xff1a;硬件回调接口 二、实战 PostMapping(value "/xx/xxx", consumes "text/plain" ) 2.1、接口 /*** return String* time 202…

STM32F407+LAN8720A +LWIP +FreeRTOS UDP通讯

STM32F407+LAN8720A +LWIP +FreeRTOS ping通 上一篇实现了LWIP ping 通 本篇实现UDP通讯 实现如下功能: 串口1空闲中断+DMA接收,收到数据用UDP发送UDP接收,收到数据用串口1发送STM32CUBEIDE配置和代码 1. 配置UARAT1的空闲中断+DMA接收 UART1接收到数据,释放信号量,在任…