
详细设计说明书
修订记录
| 日期 | 修订版本 | 描述 | 作者 |
| 2010-6-10 | 1.0 | 宋辉 | |
1概述
1.1.目的
1.2.软件概述
为了兼容U8以及其它的财务软件,把系统从财务软件中获取基础数据以及提交凭证等业务处理封装成的组件。
为保证系统能够从其它的HIS系统中提取基础数据及相关业务数据,把这部分也封装成的组件。
1.3.定义
1.4.考参文献
《医院会计制度》、《U8帮助文档》
2改动部分
本部分改动是指的是基于” 后台运营\详细设计\数据接口-详细设计说明书.docx”进行旁变动部分.
1)取消科目与收入明细的直接对应关系, 改为在凭证模板上直接定义科目与收入明细的对应关系
2)在财务接口方案配置表中,增加接口组件类名称列,以供选择具体的接口
方案ID 组件名
1 UFHisU8Intf.CrdU8IntfImpl
3)增加HIS接入方案配置表
方案ID 组件名
1 UFHisV5Intf.CrdV5IntfImpl
4)在Bin同级目录增加CredenceMgr.ini配置文件,说明详见本文第四部分”CredenceMgr.ini文件使用说明”
5)在Bin同级目录增加CredenceSQL.dat, CredenceOracle.dat两个文件,用于存放建立数据表的脚本,在系统初使化功能中使用
6)取HIS端收入明细信息
门诊:从HIS表中取核算方法为4、10的项目
住院:从HIS表中取核算方法为6、10的项目
目前,如何获取基础字典的信息的SQL语句,配置在CRD_DIC_CONFIG表中,该表数据由初使化程序写入。
7)从财务系统中取科目信息、客户信息、科室信息的功能由手动集中下载变更为程序启动时自动下载。 客户信息、科室信息配置功能支持增加、修改、删除功能,支持手动下载新数据(不删除已下载的数据)。
8)上次讨论的生成凭证查询功能还需要实现, 需要增加已生成凭证与日报表的对应关系表
9)增加日志记录表,把日志信息传递到数据库中,以方便使用者在不同的主机上查询系统日志
10)增加设置连接参数配置的程序,以支持在安装程序调用。
3补充接口部分的详细设计
3.1工程列表
接口部分涉及五个工程:
1.UFHis_CrdMgrIntf : 通用凭证处理接口(没有实现部分,需要先于UFHis_U8Intf, UFHis_V5Intf编译并注册)
2.UFHis_U8Intf: 财务(U8)接口实现
3.UFHis_V5Intf: HIS端接口实现
4.UFHis_CredenceMgr: 凭证管理主工程
5.UFHisCredenceCfg: 数据据连接参数配置
3.2组件逻辑视图
注:目前服务程序部分暂不实现。
3.3接口概念模型
应用远程服务后的接口模型
3.4获取接口序列图
3.5接口部分类图
类名 :IUFCrdMgrIntf
描述 :凭证处理通用接口
类名 :TCrdIntfProxy
描述 :凭证处理接口代理
类名 :TCrdIntfFactory
描述 :凭证接口工厂类
类名 :ICrdHisIntf
描述 :HIS端接口抽象类
类名 :ICrdFinIntf
描述 :财务接口抽象类
类名 :TCrdV5IntfImpl
描述 :HIS端接口具体实现类
类名 :TCrdU8IntfImpl
描述 :财务接口具体实现类(U8)
3.6接口函数详细说明
接口的具体形式与物流系统基本相同。
Connect
原 型 : function Connect():SYSINT;stdcall;
描 述 : 连接数据库
参 数 : 无
返回值 : 0 - 成功 ; 其它值 - 失败
调用场景:程序启动时或每次调用业务操作以前
DisConnect
原 型 : function Connect():SYSINT;stdcall;
描 述 : 断开数据库连接
参 数 : 无
返回值 : 0 - 成功 ; 其它值 - 失败
调用场景:程序退出时或每次调用业务操作后
CallCommIntf
原 型 : function CallCommIntf(const ActionNO: WideString; const InParam: WideString;
out OutParam: WideString): SYSINT; stdcall;
描 述 : 通用业务接口
参 数 : ActionNO - 业务操作编码
InParam - 传入XML数据流地址
OutParam - 传出XML数据
返回值 : 0 - 成功 ; 其它值 - 失败
GetErrMsg
原 型 : function GetErrMsg(out ErrMsg: WideString): SYSINT; stdcall;
描 述 : 获取最后一次调用失败的错误信息
参 数 : ErrMsg - 错误消息
返回值 : 0 - 成功 ; 其它值 - 失败
3.7CallCommIntf函数传递参数说明
1)参数ActionNO(业务编号)划分
财务接口:
01– 取科目信息
02– 取科室信息
03– 取客户信息
04– 保存凭证
HIS接口:
01– 取收入分类信息
02– 取科室信息
03– 取客户信息
04– 取收入明细类别
05– 取门诊收入日报表数据
06– 取住院收入日报表数据
2)XML形式的传出数据集参数
…
XML文件由三部分构成:
(1)数据集描述信息Name,Caption
(2)字段信息列表
字段信息包括Name、Caption、Type、Length 信息
支持四种字段类型: Integer,String,DateTime,Double
字段值以字符串形式传递
(3)数据行 以Item做为结点名称,以”字段名”=”字段值”的形式表示列值
3)字典下载传出参数数据集字段信息
| 接口类别 | 业务 | 字段名 | 类型 | 长度 | 说明 |
| 财务 | 科室信息、科目信息、客户信息 | NO | String | 20 | 编码 |
| Name | String | 50 | 名称 | ||
| HIS | 取收入分类信息、取客户信息 | NO | String | 20 | 编码 |
| Name | String | 50 | 名称 | ||
| HIS | 取科室信息、收入明细 | NO | String | 20 | 编码 |
| Name | String | 50 | 名称 | ||
| Department | Integer | 4 | 部门(0:门诊1:住院) | ||
| HIS | 取住院收入日报表数据、门诊收入日报表数据 | IncomeDate | String | 10 | 日期 |
| Department | Integer | 4 | 部门(0:门诊1:住院) | ||
| IncomeType | String | 10 | 收入分类 | ||
| IncomeSubType | String | 10 | 收入明细 | ||
| DMoney | Double | 8 | 金额 | ||
| IncomeUnit | String | 20 | 科室/客户 | ||
| AttchmentCount | Integer | 4 | 附件张数 |
表名及字段名采用大写英文方式命名,表名以CRD_开头,各字段详细说明参考《设计阶段\开发计划\His2U8Table.pdm》
| 表名 | 描述 |
| CRD_CONFIG | 配置信息表,目前存放的主要是U8用的一些配置 |
| CRD_FIN_CUSTOMER | 财务客户字典 |
| CRD_FIN_INTF | 财务接口方案表 |
| CRD_FIN_DEPT | 财务科室表 |
| CRD_HIS_CUSTOMER | HIS用户表 |
| CRD_HIS_INTF | HIS接口方案表 |
| CRD_HIS_DEPT | HIS科室字典 |
| CRD_FIN_CUSTOMER | 财务客户字典 |
| CRD_FIN_INTF | 财务接口方案表 |
| CRD_ACC_CLASS | 科目字典 |
| CRD_CUSTOMER_MAP | 客户对应关系表 |
| CRD_DEPT_MAP | 科室对应关系表 |
| CRD_DIC_CONFIG | 字典数据来源配置(主要是配置SQL) |
| CRD_INCOME_CLASS | 收入分类字典 |
| CRD_INCOME_ITEM | 收入项目字典 |
| CRD_TEMPLET | 凭证模板 |
| CRD_TEMPLET_ACC | 凭证模板与分录对应关系 |
| CRD_ACC_INCOME_ITEM | 凭证模板中分录科目与收入项目对应关系表 |
| CRD_LOG | 系统日志 |
| CRD_MAXID | 最大ID |
| CRD_OPER_LOG | 记录凭证生成日志 |
| CRD_CREDENCE | 已生成凭证表 |
| CRD_CREDENCE_ACCENTRY | 已生成凭证分录信息 |
| CRD_CREDENCE_INCOME | 已生成凭证分录与收入对应关系 |
| CRD_INCOME | 收入报表临时存放收入数据 |
CredenceMgr.ini 分为四部分内容:
1)基本配置信息
[Common]
IntfMode=接口类型
IP=U8数据库主机的IP
FIN_DATABASE_NAME= U8数据库名称
FIN_LOGIN_USER= U8登录对象名称
FIN_LOGIN_PASSWORD= U8登录对象密码
IntfMode 有三个可选值,目前只用到第一项,其它值保留以后扩充使用。
Local - 本地接口
RemoteProxy - 使用远程接口
RemoteImpl - 服务端使用
注:U8登录对象指的是U8登录的操作员,在调用U8接口时使用。
2)初使化数据配置
[InitData] ;初使化数据段
Count=4 ;初使化数据表个数
[InitData_1] ;初使化数据段1..n , 本段是财务接口配置表初使化数据段
TableName=CRD_FIN_INTF ;表名
Columns=ID,NAME,ENABLE ;列名,以“,”分隔
RowCount=1 ;行数
RowData_1=1,'UFHisU8Intf.CrdU8IntfImpl',1 ;字段值,“,”分隔
[InitData_2] ; His接口配置表初使化数据段
[InitData_3] ;基本配置表初使化数据段
[InitData_4] ;基础数据字典数据业源配置段
3)数据字典配置
[DicCfgHis_IncomeClass]
TableName=CRD_INCOME_CLASS ;配置表表名
Title=HIS收入类别 ;窗口标题
IntfType=1 ;接口类型 0 – HIS , 1 – 财务
ActionNO=01 ;功能编号,参考Action编号表
ColumnCount=4 ;列个数
KeyFields=NO ;关键字段,以”;”分隔,不配置的情况下默认为NO
Column_1=ColName=NO,Caption=编码,Type=Text,Width=150,ReadOnly=False ;列信息描述
Column_2=ColName=Name,Caption=名称,Type=Text,Width=200,ReadOnly=False
Column_3=ColName=Enable,Caption=是否启用,Type=List,Width=80,Value=1:是|0:否
数据字典配置的作用是通过配置信息的定义,动态在程序中增加配置功能,不需要再修改程序源代码, 段名称可以任意定义,在程序菜单配置项Param 中要增加Config= DicCfgHis_IncomeClass(段名称),以供具体的配置功能读取相关的信息。
列信息描述:
ColName - 字段名
Caption - 显示名称
Type - 列类型,目前支持Text,List,Assoc两种, Text是普通的输入方式标识;List类型用于标识下拉列表框类型的输入列,列值的来源比较简单,如1表示”是”,0表示否之类的简单的配置; Assoc
Width - 表格列显示宽度
ReadOnly - 只读列标识 Ture|False
Value - 下拉框的数据来源,格式: 值:显示名称|值:显示名称|值:显示名称 …
TableName - 配合Type=Assoc使用,指示下拉框的数据来源于另一个表,值对应NO字段,显示名称对应Name字段,目前没有进行配置.
4)对应关系配置
目前仅用于支持科室、客户的对应关系配置,支持进行一对多的关系配置。段名称可以任意定义,在程序菜单配置项Param 中要增加Config= DicMapDept (段名称) 的配置项
[DicMapDept] ;段名称
TableName=CRD_DEPT_MAP ;关系表表名
Title=科室对应关系配置 ;显示标题
LeftField=FIN_NO ;表一的关键字段
RightField=HIS_NO ;表二的关键字段
LeftSql=SELECT * FROM CRD_FIN_DEPT ;表一的数据来源
RightSql=SELECT * FROM CRD_HIS_DEPT ;表二的数据来源
LeftColumnCount=2 ;左侧树显示的列个数
LeftColumn_1=NO ;左侧树对应的数据表字段一
LeftColumn_2=NAME ;左侧树对应的数据表字段二
RightColumnCount=2 ;右侧表格显示的列个数
RightColumn_1=NO,编码,150 ;右侧表格列一,字段名,显示名称,显示宽度
RightColumn_2=Name,名称,250 ;右侧表格列二,字段名,显示名称,显示宽度
