先进的电子病历核心编辑器-UniEditor(200901227已停用,请下载升级版本3.0)

来源:互联网 发布:部落冲突法术工厂数据 编辑:程序博客网 时间:2024/04/29 01:03

UniEditor帮助文档

功能说明:

    此编辑器为门诊及住院专用设计,可灵活在设计模式与编写模式进行切换,提供数据库直连技术,可以不通过ADOODBCOLEDB等复杂的方式与数据库建立连接,存取效率更高更快,适应WINDOWS开发环境,只需通过动态库函数的调用,即可轻松实现书写病历和设计模板所需的复杂功能。

主要功能:

设计模式( DesignMode)

1.新建空白病历

2.打开、导入已存在病历编辑

3.自定义动态数据接入(str_QueyBrxxSQL 可以检索的有效字段都可定义成为动态数据)

4.第三方数据导入

需导入的相关数据需要定义为(在str_QueyBrxxSQL 中的有效字段),提供一键导入相关检查化验数据的功能。

5.自定义数据(如有选择项的字段等,可定义为存档项,存档于UNI_MZBLTJ/UNI_ZYBLTJB)

6.统计数据(此类键用于需要统计的数据,会在病历中生成带按钮的表格),存档病历时会自动存档于UNI_MZBLTJ/UNI_ZYBLTJB中,相关表结构见数据库脚本。

7.数据窗口的字段检索功能

8.数据字段可通过鼠标的拖放插入病历的相应位置

9.表格样式的定义,共提供五种样式

10.页面样式自定义,可定义特殊的病历格式,即每页的页眉或页脚可以独立设置

11.提供与Word相似的文字编辑功能,所见即所得的病历编辑及设计。

12.提供自定义页眉页脚功能。

13.提供特殊符号面板,可以通过鼠标点击插入相应位置。

13.强大的表格功能,支持对表格的各种常见操作。

写病历模式(WriteMode)

1.提供病历历史记录列表

2.自动调入指定空白病历

3.自由插入模板病历作为当前病历

4.提供特殊符号的选择面板

5.激活/关闭自定义字段的选择面板,可以随时修改某个字段的选项

6.可随时编辑自定义模板,方便在写病历的同时丰富模板内容

7.另存为病历模板功能

8.选页、全部及续打印病历功能

9.在选项上回车自动跳入下一字段,有选项的会自动弹出选项,无选项则停留。

10.病历修改痕迹,自动提示功能。

11.所见即所得病历。

12.必填项未填写提示功能。

其它功能

1.本编辑器采用SQLAPI++3.7.23数据库直联技术,可以连接下列数据库:

SA_ODBC_Client;

SA_Oracle_Client;

SA_SQLServer_Client;

SA_InterBase_Client;

SA_SQLBase_Client;

SA_DB2_Client;

SA_Informix_Client;

SA_Sybase_Client;

SA_MySQL_Client;

SA_PostgreSQL_Client

2.提供调试及运行模式支持,详细见UniEditor.ini文件

[Db_Link]

;服务器

server=.

;数据库

database=TEST

;用户

user=sa

;密码

password=

;数据库类型 SA_Oracle_Client ,SA_SQLServer_Client

dbtype=SA_SQLServer_Client

;存储方式0直连方式1ADO连接

storetype=1

;调试模式1,运行模式0

debug=1

程序运行部分截图

1、写病历模式

选择,单选,多选面板,运行时医生可以自已进行编辑,以符合自已的需要

带按键方式的运行面板,可自定义个人模板,数据分组等

随时变更个人模板

设计病历

灵活定义数据

动态数据:病人基本信息等

辅助检查数据:B超,CT ,化验,检查申请单,处方药品等写病历时需要导入病历的数据。

自定义数据:自定义的选择项,如是否,正常,非正常等

统计数据:将病历上内容单独存储于另一个独立的表中,方便进行科研统计等之用。

 

 

 

 

 

 

 

动态库调用相关参数说明:

[UniEditor.ini]

[Db_Link]

;服务器

server=.

;数据库

database=HISTEST

;用户

user=sa

;密码

password=

;数据库类型 SA_Oracle_Client ,SA_SQLServer_Client

dbtype=SA_SQLServer_Client

;存储方式0直连方式1ADO连接

storetype=1

;调试模式1,运行模式0

debug=1

导出函数

   char * str_QueyBrxxSQL;//查询病人基本信息 --写病历必填

   int  GSBH ;           //写病历时自动调用的空白病历编号--写病历必填,设计模式即为模板对应的编号,为0或小于0的数表示新增模板

   char * Author ;       //工作人员姓名或卡号   --必填

   int  BLBZ;            //门诊病历为0,住院病历为1  --必填

   int  CheckLevel;      //0写病历模式 1一级审核 二级审核 三级审核

 

//1.初始化动态库

 bool __stdcall Enter(HWND hdl)

 

//2.写病历模模式

bool __stdcall Wirte(char *str_queybrxxsql , int gsbh,char *author ,int blbz,int checklevel)

 

//3.编辑模式

bool __stdcall Design(char *author ,int blbz,int gsbh)

 

//4.释放动态库资源

bool __stdcall Quit()

C++调用示例

头文件定义

HINSTANCE dll;

bool (PASCAL *Enter)  (HWND hdl);

bool (PASCAL *Wirte)  (char *str_queybrxxsql ,

 int gsbh,char *author ,int blbz,int checklevel);

bool (PASCAL *Design)  (char *author ,int blbz,int gsbh)

bool (PASCAL *Quit)  ();

//1.装入动态库

AnsiString RegPathDir = ExtractFileDir(Application->ExeName) + "//UniEdit.dll";

dll = LoadLibrary(RegPathDir.c_str());

c_basedata=new stu_BaseData();

//2.初始化动态库

   (FARPROC &) Enter = GetProcAddress(dll, "Enter");

   if(Enter!=NULL)

   {

 Enter(Application->Handle);

   }

//3.进入写病历模式

   (FARPROC &) Wirte = GetProcAddress(dll, "Wirte");

   if(Wirte!=NULL)

   {

 Wirte(...);

   }

 

 

//4.进入病历设计模式 

   (FARPROC &) Design = GetProcAddress(dll, "Design");

   if(Design!=NULL)

   {

   Design(...);

   }

 

//5.退出--释放动态库中的使用的相关资源

   (FARPROC &) Quit = GetProcAddress(dll, "Quit");

   if(Quit!=NULL)

   {

 Quit();

 ShowMessage("成功退出");

   }

//6.释放动态库

FreeLibrary(dll);

 

 

 

 

 

 

数据库脚本

--门诊病历流水表

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[UNI_MZBLLSB]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)

drop table [dbo].[UNI_MZBLLSB]

GO

--门诊病历内容表

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[UNI_MZBLNRB]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)

drop table [dbo].[UNI_MZBLNRB]

GO

--门诊统计字段内容表

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[UNI_MZBLTJB]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)

drop table [dbo].[UNI_MZBLTJB]

GO

--门诊病历模板表,存空白模板及病症模板

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[UNI_MZMBGSB]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)

drop table [dbo].[UNI_MZMBGSB]

GO

--住院病历流水表

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[UNI_ZYBLLSB]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)

drop table [dbo].[UNI_ZYBLLSB]

GO

 

--住院病历内容表

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[UNI_ZYBLNRB]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)

drop table [dbo].[UNI_ZYBLNRB]

GO

--住院统计字段内容表

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[UNI_ZYBLTJB]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)

drop table [dbo].[UNI_ZYBLTJB]

GO

--住院病历模板表,存空白模板及病症模板

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[UNI_ZYMBGSB]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)

drop table [dbo].[UNI_ZYMBGSB]

GO

 

CREATE TABLE [dbo].[UNI_MZBLLSB] (

[BH] [int] NOT NULL ,

[JGBH] [int] NOT NULL ,--结构编号

[GSBH] [int] NULL ,--模板编号

[BLH] [varchar] (20)  NOT NULL ,--病历号

[LSH] [varchar] (20)NOT NULL ,--流水号

[BLNR] [image] NOT NULL ,--病历内容,大文本存储

[ZSK] [image] NULL ,

[XGHJ] [image] NULL ,

[DYBZ] [int] NULL ,--0可编辑 1 只读

[GDBZ] [int] NULL ,

[GKBZ] [int] NULL ,

[QRBZ] [int] NULL ,

[SZQM] [varchar] (255)  NULL ,--页面样式

[CJR] [varchar] (40)  NOT NULL ,

[CJRQ] [datetime] NOT NULL ,

[ZHXGR] [varchar] (40)  NOT NULL ,

[ZHXGRQ] [datetime] NOT NULL ,

[BLMC] [varchar] (50)  NULL 

) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO

 

CREATE TABLE [dbo].[UNI_MZBLNRB] (

[GSBH] [int] IDENTITY (1, 1) NOT NULL ,

[BLNR] [image] NULL ,--病历内容,大文本存储

[KSBH] [varchar] (10)  NULL ,

[BLJG] [varchar] (50)  NOT NULL ,--病历结构,主诉、现病史等自定义的统计字段

[GKBZ] [int] NULL ,

[CJR] [varchar] (40)  NULL ,--创建人

[CJRQ] [datetime] NULL ,

[ZHXGR] [varchar] (40)  NULL ,

[ZHXGRQ] [datetime] NULL ,

[BZ] [varchar] (255)  NULL ,

[XSSX] [int] NULL ,

[ZDMC] [varchar] (50)  NULL 

) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO

 

CREATE TABLE [dbo].[UNI_MZBLTJB] (

[BH] [int] IDENTITY (1, 1) NOT NULL ,

[BLBH] [int] NOT NULL ,--病历编号与MZBLLSB编号对应

[TJZD] [varchar] (50)  NOT NULL ,--统计字段与设定的统计数据对应

    [TJNR] [varchar] (900)  NULL , --相关统计内容

[CJR] [varchar] (40)  NULL ,

[CJRQ] [datetime] NULL ,

[ZHXGR] [varchar] (40)  NULL ,

[ZHXGRQ] [datetime] NULL ,

[BZ] [varchar] (255)  NULL 

) ON [PRIMARY]

GO

 

CREATE TABLE [dbo].[UNI_MZMBGSB] (

[GSBH] [int] NOT NULL ,--模板编号

[KSBH] [varchar] (10)  NULL ,

[ZBBH] [int] NOT NULL ,

[JGBH] [int] NOT NULL ,--结构编号,如果是病症模板,对应的是空白模板的编号

[MC] [varchar] (50)  NOT NULL ,--模板名称

[GKBZ] [int] NOT NULL ,--共享标识 0共享 1私有

[MBLB] [int] NOT NULL ,--空白模板 0 病症模板 2

[GSNR] [image] NULL , --模板大文本

[ZSK] [image] NULL ,

[KEYID] [int] NOT NULL ,

[PBBZ] [char] (1)  NOT NULL ,

[GLBZ] [char] (1)  NOT NULL ,

[CJR] [varchar] (40)  NULL ,

[CJRQ] [datetime] NULL ,

[ZHXGR] [varchar] (40)  NULL ,

[ZHXGRQ] [datetime] NOT NULL ,

[BZ] [varchar] (255)  NULL ,--页面样式

[OUTFIELD] [varchar] (255)  NULL 

) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO

 

CREATE TABLE [dbo].[UNI_ZYBLLSB] (

[BH] [int] NOT NULL ,

[JGBH] [int] NOT NULL ,--结构编号

[GSBH] [int] NULL ,--模板编号

[BLH] [varchar] (20)  NOT NULL ,--住院号

[LSH] [varchar] (20) NOT NULL ,--住院流水号 必须唯一

[BLNR] [image] NOT NULL ,--病历内容

[ZSK] [image] NULL ,

[XGHJ] [image] NULL ,

[DYBZ] [int] NULL ,--0可编辑 1 只读

[GDBZ] [int] NULL ,

[GKBZ] [int] NULL ,

[QRBZ] [int] NULL ,

[SZQM] [varchar] (255)  NULL ,--页面样式

[CJR] [varchar] (40)  NOT NULL ,

[CJRQ] [datetime] NOT NULL ,

[ZHXGR] [varchar] (40)  NOT NULL ,

[ZHXGRQ] [datetime] NOT NULL ,

[BLMC] [varchar] (50)  NULL 

) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO

 

CREATE TABLE [dbo].[UNI_ZYBLNRB] (

[GSBH] [int] IDENTITY (1, 1) NOT NULL ,

[BLNR] [image] NULL ,

[KSBH] [varchar] (10)  NULL ,

[BLJG] [varchar] (50)  NOT NULL ,

[GKBZ] [int] NULL ,

[CJR] [varchar] (40)  NULL ,

[CJRQ] [datetime] NULL ,

[ZHXGR] [varchar] (40)  NULL ,

[ZHXGRQ] [datetime] NULL ,

[BZ] [varchar] (255)  NULL ,

[XSSX] [int] NULL ,

[ZDMC] [varchar] (50)  NULL 

) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO

 

CREATE TABLE [dbo].[UNI_ZYBLTJB] (

[BH] [int] IDENTITY (1, 1) NOT NULL ,

[BLBH] [int] NOT NULL ,

[TJZD] [varchar] (50)  NOT NULL ,

[TJNR] [varchar] (900)  NULL ,

[CJR] [varchar] (40)  NULL ,

[CJRQ] [datetime] NULL ,

[ZHXGR] [varchar] (40)  NULL ,

[ZHXGRQ] [datetime] NULL ,

[BZ] [varchar] (255)  NULL 

) ON [PRIMARY]

GO

 

CREATE TABLE [dbo].[UNI_ZYMBGSB] (

[GSBH] [int] NOT NULL ,

[KSBH] [varchar] (10)  NULL ,

[ZBBH] [int] NOT NULL ,

[JGBH] [int] NOT NULL ,

[MC] [varchar] (50)  NOT NULL ,

[GKBZ] [int] NOT NULL ,

[MBLB] [int] NOT NULL ,

[GSNR] [image] NULL ,

[ZSK] [image] NULL ,

[KEYID] [int] NOT NULL ,

[PBBZ] [char] (1)  NOT NULL ,

[GLBZ] [char] (1)  NOT NULL ,

[CJR] [varchar] (40)  NULL ,

[CJRQ] [datetime] NULL ,

[ZHXGR] [varchar] (40)  NULL ,

[ZHXGRQ] [datetime] NOT NULL ,

[BZ] [varchar] (255)  NULL ,--页面样式

[OUTFIELD] [varchar] (255)  NULL 

) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO

 

ALTER TABLE [dbo].[UNI_MZBLLSB] WITH NOCHECK ADD 

CONSTRAINT [DF__UNI_MZBLLSB__BH__787EE5A0] DEFAULT (0) FOR [BH],

CONSTRAINT [DF__UNI_MZBLLS__DYBZ__797309D9] DEFAULT (0) FOR [DYBZ],

CONSTRAINT [DF__UNI_MZBLLS__GDBZ__7A672E12] DEFAULT (0) FOR [GDBZ],

CONSTRAINT [DF__UNI_MZBLLS__GKBZ__7B5B524B] DEFAULT (0) FOR [GKBZ],

CONSTRAINT [DF__UNI_MZBLLS__QRBZ__7C4F7684] DEFAULT (0) FOR [QRBZ],

CONSTRAINT [DF__UNI_MZBLLSB__CJR__7D439ABD] DEFAULT ('') FOR [CJR],

CONSTRAINT [DF__UNI_MZBLLS__CJRQ__7E37BEF6] DEFAULT (getdate()) FOR [CJRQ],

CONSTRAINT [DF__UNI_MZBLL__ZHXGR__7F2BE32F] DEFAULT ('') FOR [ZHXGR],

CONSTRAINT [DF__UNI_MZBLL__ZHXGR__00200768] DEFAULT (getdate()) FOR [ZHXGRQ],

CONSTRAINT [PK_UNI_MZBLLSB] PRIMARY KEY  CLUSTERED 

(

[BH]

)  ON [PRIMARY] 

GO

 

ALTER TABLE [dbo].[UNI_MZBLTJB] WITH NOCHECK ADD 

CONSTRAINT [PK_UNI_MZBLTJB] PRIMARY KEY  CLUSTERED 

(

[BLBH],

[TJZD]

)  ON [PRIMARY] 

GO

 

ALTER TABLE [dbo].[UNI_MZMBGSB] WITH NOCHECK ADD 

CONSTRAINT [DF__UNI_MZMBGS__GSBH__0F624AF8] DEFAULT (0) FOR [GSBH],

CONSTRAINT [DF__UNI_MZMBGS__ZBBH__10566F31] DEFAULT (0) FOR [ZBBH],

CONSTRAINT [DF__UNI_MZMBGS__JGBH__114A936A] DEFAULT (0) FOR [JGBH],

CONSTRAINT [DF__UNI_MZMBGSB__MC__123EB7A3] DEFAULT ('') FOR [MC],

CONSTRAINT [DF__UNI_MZMBGS__GKBZ__1332DBDC] DEFAULT (0) FOR [GKBZ],

CONSTRAINT [DF__UNI_MZMBGS__MBLB__14270015] DEFAULT (0) FOR [MBLB],

CONSTRAINT [DF__UNI_MZMBG__KEYID__151B244E] DEFAULT (0) FOR [KEYID],

CONSTRAINT [DF__UNI_MZMBGS__PBBZ__160F4887] DEFAULT (0) FOR [PBBZ],

CONSTRAINT [DF__UNI_MZMBGS__GLBZ__17036CC0] DEFAULT (0) FOR [GLBZ],

CONSTRAINT [DF__UNI_MZMBGS__CJRQ__17F790F9] DEFAULT (getdate()) FOR [CJRQ],

CONSTRAINT [DF__UNI_MZMBG__ZHXGR__18EBB532] DEFAULT (getdate()) FOR [ZHXGRQ],

CONSTRAINT [PK_UNI_MZMBGSB] PRIMARY KEY  CLUSTERED 

(

[GSBH]

)  ON [PRIMARY] 

GO

 

ALTER TABLE [dbo].[UNI_ZYBLLSB] WITH NOCHECK ADD 

CONSTRAINT [DF__UNI_ZYBLLSB__BH__04E4BC85] DEFAULT (0) FOR [BH],

CONSTRAINT [DF__UNI_ZYBLLS__DYBZ__05D8E0BE] DEFAULT (0) FOR [DYBZ],

CONSTRAINT [DF__UNI_ZYBLLS__GDBZ__06CD04F7] DEFAULT (0) FOR [GDBZ],

CONSTRAINT [DF__UNI_ZYBLLS__GKBZ__07C12930] DEFAULT (0) FOR [GKBZ],

CONSTRAINT [DF__UNI_ZYBLLS__QRBZ__08B54D69] DEFAULT (0) FOR [QRBZ],

CONSTRAINT [DF__UNI_ZYBLLSB__CJR__09A971A2] DEFAULT ('') FOR [CJR],

CONSTRAINT [DF__UNI_ZYBLLS__CJRQ__0A9D95DB] DEFAULT (getdate()) FOR [CJRQ],

CONSTRAINT [DF__UNI_ZYBLL__ZHXGR__0B91BA14] DEFAULT ('') FOR [ZHXGR],

CONSTRAINT [DF__UNI_ZYBLL__ZHXGR__0C85DE4D] DEFAULT (getdate()) FOR [ZHXGRQ],

CONSTRAINT [PK_UNI_ZYBLLSB] PRIMARY KEY  CLUSTERED 

(

[BH]

)  ON [PRIMARY] 

GO

 

ALTER TABLE [dbo].[UNI_ZYBLTJB] WITH NOCHECK ADD 

CONSTRAINT [PK_UNI_ZYBLTJB] PRIMARY KEY  CLUSTERED 

(

[BLBH],

[TJZD]

)  ON [PRIMARY] 

GO

 

ALTER TABLE [dbo].[UNI_ZYMBGSB] WITH NOCHECK ADD 

CONSTRAINT [DF__UNI_ZYMBGS__GSBH__1BC821DD] DEFAULT (0) FOR [GSBH],

CONSTRAINT [DF__UNI_ZYMBGS__ZBBH__1CBC4616] DEFAULT (0) FOR [ZBBH],

CONSTRAINT [DF__UNI_ZYMBGS__JGBH__1DB06A4F] DEFAULT (0) FOR [JGBH],

CONSTRAINT [DF__UNI_ZYMBGSB__MC__1EA48E88] DEFAULT ('') FOR [MC],

CONSTRAINT [DF__UNI_ZYMBGS__GKBZ__1F98B2C1] DEFAULT (0) FOR [GKBZ],

CONSTRAINT [DF__UNI_ZYMBGS__MBLB__208CD6FA] DEFAULT (0) FOR [MBLB],

CONSTRAINT [DF__UNI_ZYMBG__KEYID__2180FB33] DEFAULT (0) FOR [KEYID],

CONSTRAINT [DF__UNI_ZYMBGS__PBBZ__22751F6C] DEFAULT (0) FOR [PBBZ],

CONSTRAINT [DF__UNI_ZYMBGS__GLBZ__236943A5] DEFAULT (0) FOR [GLBZ],

CONSTRAINT [DF__UNI_ZYMBGS__CJRQ__245D67DE] DEFAULT (getdate()) FOR [CJRQ],

CONSTRAINT [DF__UNI_ZYMBG__ZHXGR__25518C17] DEFAULT (getdate()) FOR [ZHXGRQ],

CONSTRAINT [PK_UNI_ZYMBGSB] PRIMARY KEY  CLUSTERED 

(

[GSBH]

)  ON [PRIMARY] 

下载地址:

http://download.csdn.net/source/2028817