浙江预约挂号平台HIS接口设计.docx
- 文档编号:9227794
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:20
- 大小:146.24KB
浙江预约挂号平台HIS接口设计.docx
《浙江预约挂号平台HIS接口设计.docx》由会员分享,可在线阅读,更多相关《浙江预约挂号平台HIS接口设计.docx(20页珍藏版)》请在冰豆网上搜索。
浙江预约挂号平台HIS接口设计
文档编号:
密级:
预约挂号系统
接口设计说明书
(HIS部分)
编制:
审核:
批准:
2010年10
1总体设计
1.1总体要求
预约挂号系统平台与各医院HIS之间是一对多的接入关系,因医院HIS系统各不相同:
建设厂家不同,版本不同,环境不同;与平台间的网络连接方式也存在差异。
为保证平台的兼容性和可扩展性,要求该接口规范具备高通用性,可跨平台、跨语言实现,且适用于不同的网络环境和硬件设备。
1.2系统拓扑
1.3模块说明
本文档涉及的接口应用布署于拓扑图中的“医院His前置”上。
预约挂号系统包括两大类应用:
一.HIS向预约挂号平台上传预约挂号系统所需的基本信息(如:
医院信息、科室信息、医生信息、排班信息、停诊信息等)和其他交易信息(如:
患者预约后的实际就诊情况、患者投诉情况、患者注册信息等)。
该类交易平台为服务端,HIS为客户端。
平台方提供DLL函数接口,供HIS调用。
二.平台向HIS发起的实时交易请求(如:
预约挂号、预约取消、患者信息向医院传送等)。
该类交易平台为客户端,HIS为服务端。
HIS提供存储过程或WEBSERVICE接口,供平台调用。
1.4系统改进
针对前期省平台验收过程中暴露的问题,系统专门设计了有效的改进措施,主要有:
1.由于原系统在获取HIS信息数据(如科室、排班等)时,采用定时轮询HIS变更情况的方式,导致平台获取His信息不及时产生双方号源数量差异,且His无法即时获知与平台同步情况的问题。
因此,新方案采用socket通讯方式实现平台与HIS之间的信息传递的实时性,通过socket的握手机制实现双方交易信息的一致性。
通讯交易模块封装在DLL中;
2.原系统各服务商本地建有与省平台类似的数据库,与省平台之间也采用定时轮询的方式进行数据同步,导致各服务商获取平台信息不及时产生双方号源数量差异。
新方案提供统一的服务商接入接口(该接口另行提供),所有关于交易的信息(如排班、停诊等)直接从省平台获取,各服务商本地无须向省平台同步数据。
即确保省平台是数据信息的唯一出口,有效解决各服务商之间、服务商与平台之间信息不一致的问题;
3.HIS信息由被动轮询改为主动推送,各医院信息操作人员能及时获知平台与HIS间数据信息的同步情况,有效解决目前由于操作人员操作不规范等原因引起的平台与HIS数据不一致的问题。
2平台与医院HIS接口
平台与医院HIS前置之间采用TCP/IP通讯协议,建立两对SOCKET端口(互为客户/服务端):
一对用于医院HIS系统发起的交易(HisToEbs),一对用于平台发起的交易(EbsToHis)。
其中客户端作为发送数据端口,服务端作为接收数据端口。
HIS作为客户端时,通过调用平台提供的DLL函数发起交易请求;HIS作为服务端时,向平台开放存储过程或Webservice。
交易方式采用短链接的方式。
在一个TCP/IP连接上完成数据包的发送和接收,在成功发送了一个数据包,并收到成功应答后,即中断该连接。
HisToEbs和EbsToHis均采用同步方式。
文件传输采用FTP方式。
2.1HisToEbs
该接口主要用于HIS系统向平台传输院方相关基础及变更信息,如:
医院介绍、科室设置、医生、排班等。
该接口的实现采用HIS调用Dll函数的方式,Dll函数接口由平台提供。
函数封装了底层通讯协议和交易逻辑。
2.1.1初始化服务器设置
IntSetIpAndPort(char*szHospitalID,char*szIp,intnPort)
函数说明:
设置医院编号、HisServer(HIS前置)的ip和端口号。
在HIS系统启动(初始化)时加载调用,必须先调用该函数进行初始化,否则会提示调用失败。
输入参数:
szHospitalID医院ID,由省平台统一分配(6位字符)
szIpHIS前置,具体到实施时确定
nPortHIS前置服务器的port,如8098(最大65535),具体到实施时确定
输出参数:
无
返回值:
0成功
1连接服务器失败
2.1.2HIS数据上传
IntSendPack(char*szTradeCode,char*szOperNo,char*szSendContent,char*szRet);
函数说明:
向中心服务器发送数据通讯包
输入参数:
szTradeCode(字符串)交易代码(4位字符)
szOperNo(字符串)his系统中的操作员号
szSendContent(字符串)本次发送的数据报文
输出参数:
szRet(字符串)调用成功返回交易定义的返回结果,调用失败则为调用失败的具体原因,如报文格式不正确等。
返回值:
0调用成功
1调用失败
附:
szTradeCode的取值说明
1101医院信息上传处理
1102科室信息上传处理
1103医生信息上传处理
1104排班信息上传处理
1105停诊信息上传处理
1106预约就诊情况上传处理
1107查询平台某排班剩余号源数量
1108患者姓名信息修改
szSendContent的取值格式:
各字段间以“|”分隔,如内容为空则直接加“|”。
处理结果存放在szRet中,szRet的取值格式:
各字段间以“|”分隔,如内容为空则直接加“|”。
2.1.2.1医院信息上传
序号
字段
类型/长度
备注
必填
1
变更类型
Char/1
0:
新增;1:
修改;2:
删除
y
1
医院名称
Varchar2/50
医院全称
y
2
医院机构代码
Varchar2/6
y
3
医院介绍
Varchar2/1000
y
4
地址
Varchar2/100
y
5
医院等级
Char/4
三甲;三乙…
y
6
医院性质
Char/4
公立;民营;合资;外资;其他
y
7
医院类别
Char/4
综合;专科
n
8
公开电话
Varchar2/50
加区号
n
9
网址
Varchar2/50
n
2.1.2.2科室信息上传
序号
字段
类型/长度
备注
必填
1
变更类型
Char/1
0:
新增;1:
修改;2:
删除
y
2
科室编号
Varchar2/20
科室在医院内的ID
y
3
科室名称
Varchar2/20
y
4
科室描述
Varchar2/200
科室描述
y
5
对应标准码
Varchar2/20
科室对应的标准科室代码
y
6
年龄限制
char/1
0:
无限制1:
14周岁以上
2:
18周岁以下
y
7
变更时间
datetime
Yyyymmdd24hhmmss
y
2.1.2.3医生信息上传
序号
字段
类型/长度
备注
必填
1
变更类型
Char/1
0:
新增;1:
修改;2:
删除
y
2
医生编号
Varchar2/20
医生在HIS中的主键
y
3
医生名称
Varchar2/20
Y
4
医生性别
Char/2
男;女
Y
5
医生职称
Varchar(30)
n
6
医生学历
Varchar2(10)
n
7
医生简历
Varchar2/200
n
8
医生介绍
Varchar2/200
N
9
照片
Varchar2/20
照片文件名称
N
10
变更时间
datetime
Yyyymmdd24hhmmss
Y
2.1.2.4排班信息上传
序号
字段
类型/长度
备注
必填
1
变更类型
Char/1
0:
新增;1:
修改;2:
删除
修改排班须由His先做判断,若影响到已预约患者,则不允许修改
y
2
排班ID
Varchar2/10
排班在HIS中的主键
Y
3
星期
Char/1
1:
星期一。
。
。
。
7:
星期天
Y
4
科室代码
Varchar2/20
Y
5
医生工号
Varchar2/20
可以为空
n
6
挂号类别
Char
(2)
Y
7
挂号费
Varchar2/10
Y
8
诊疗费
Varchar2/10
Y
9
上午号源
Varchar2/200
例如:
1,8:
30&3,9:
00&5,9:
30&
或者:
10-20,8:
30-9:
00&50-60,10:
00-10:
30(格式待确认)
上下午号源至少有一个不为空
10
下午号源
Varchar2/200
11
变更时间
Datetime
Yyyymmdd24hhmmss
y
12
变更生效日期
Date
为了尽量避免影响已经预约出去的排班,请医院尽可能提前制定排班变更计划,而不是立即更新排班。
(yyyymmdd)
n
13
变更失效日期
date
14
人均就诊时间
int
以分钟为单位
n
2.1.2.5停诊信息上传
序号
字段
类型/长度
备注
必填
1
变更类型
Char/1
0:
增加1:
修改2:
删除
y
2
停诊计划ID
Varchar2/10
停诊计划在HIS系统的主键
Y
3
排班ID
Varchar2/10
排班在HIS系统中的主键
Y
4
停诊/恢复标志
Char/1
1:
停诊(将正常排班置为停诊)2:
恢复(将停诊排班恢复正常)
若部分恢复,则将原停诊全恢复,再按实际停诊时间分别做停诊处理
y
5
开始日期
Date
排班停诊/(恢复)开始日期
yyyymmdd
Y
6
结束日期
Date
排班停诊/(恢复)结束日期
yyyymmdd
Y
7
上午停诊标志
Int
-1:
停诊1:
不停诊
Y
8
下午停诊标志
int
-1:
停诊1:
不停诊
Y
9
停诊原因
Varchar2(100)
n
10
变更时间
Datetime
使用数据库系统时间
Yyyymmdd24hhmmss
y
2.1.2.6预约就诊情况上传
序号
字段
类型/长度
备注
必填
1
取号代码
Char/8
预约取号代码
y
2
是否取号
Char/1
0:
违约未取号1:
取号2:
取号后退号3:
未取号但不违约
Y
3
取号时间
Datetime
Yyyymmdd24hhmmss
n
4
就诊时间
DateTime
Yyyymmdd24hhmmss
n
5
医嘱时间
DateTime
Yyyymmdd24hhmmss
n
6
最后收费时间
Datetime
Yyyymmdd24hhmmss
n
7
取药时间
Datetime
Yyyymmdd24hhmmss
n
8
不违约原因
Varchar2/50
仅在“是否取号”状态为3时使用
n
9
卡类型
Char/1
本次就诊使用何种卡:
0省医保1市医保2市民卡3农保。
。
。
n
10
卡号码
Varchar2/25
n
11
本次就诊卡号
Varchar2/25
n
2.1.2.7患者姓名信息修改
序号
字段
类型/长度
备注
必填
1
患者编号
varchar/10
y
2
患者姓名
varchar/20
y
2.2EbsToHis
该接口用于平台向医院HIS提交实时交易请求,并获取HIS方交易结果。
该接口由HIS提供数据库存储过程包或者WebService服务。
HIS前置机布署了HisServer程序,接受到平台交易任务后,调用该接口包中的存储过程来完成交易(或者调用webservice的服务来完成交易)。
HIS系统对平台提供一个数据库存储过程包,包名为:
BookPackage,存储过程名为:
BizExec。
该存储过程有4个参数。
序号
输入/输出
参数名称
类型
说明
1
输入参数
交易类型
Int
2
输入参数
交易参数
Varchar2/4000
根据交易类型拼装的字符串
3
输出参数
交易结果
Int
0:
交易成功
1:
交易失败
4
输出参数
交易输出
Varchar2/4000
如果交易成功的话,根据交易类型返回不同的交易结果,如果交易失败的话,返回交易失败的原因
HIS厂商也可以用WebService的方式提供接口,接口输入和输出都是Trade对象。
2.2.1患者信息传送到医院并验证(HIS)
本平台为实名使用,因此患者在平台注册时需提供个人必备的身份信息,平台在本地记录患者信息。
当该患者通过平台向某家医院预约挂号时,需将相关信息传送到医院HIS系统,如果该患者填写了本人医保卡、市民卡或就诊卡等信息时,将这些信息同步传送到医院进行校验。
同一个有效证件号码只允许注册一条记录,未成年人通过此平台预约挂号,看病时需持有效证件。
交易名称:
患者信息注册(医院)
功能说明:
把患者在平台注册的信息传送到医院HIS系统中,同一个有效证件号码只允许注册一条记录(未成年人看病需持有效证件),这个规则由平台实现。
交易类型:
2001
输入参数:
该参数由多个字段拼成一个字符串形成,各个字段之间用“|”符号区隔,每次交易只能传入一个患者信息。
字段说明如下表:
序号
字段
类型/长度
说明
必填
1
患者ID
varchar2/10
患者在平台的ID
Y
2
患者姓名
Varchar2/20
患者姓名
y
3
性别
Char/2
男女
y
4
证件类型
Char/1
0:
身份证1:
军官证2:
驾驶证3:
其他(护照、台胞证、港澳证)
y
5
证件号码
Varchar2/30
y
6
医保卡类型
Char/1
0:
省医保1:
市医保2:
市民卡
3:
农保
n
7
医保卡号
Varchar2/25
n
8
电话号码
Varchar2/12
y
9
联系地址
Varchar2/255
n
10
联系邮编
Varchar2/50
n
交易结果:
0(成功)或者1(失败)
输出参数:
如果交易成功:
序号
字段
类型/长度
说明
必填
1
校验结果
Char/1
0:
在HIS中找到医保卡信息,且与姓名匹配
1:
找到卡号但姓名不匹配
2:
没有找到卡号
如果交易失败:
序号
字段
类型/长度
说明
必填
1
错误原因
Varchar2/50
His交易处理逻辑:
当前置机调用本交易时,接口首先根据患者ID查找HIS内是否存在患者记录,如果存在,则修改;否则插入新的记录。
2.2.2预约挂号
该交易为平台核心功能,患者在与平台对接的服务商处进行医院、科室、医生、排班(何时就诊)的选择,确定某一排班后提交预约挂号请求,由省平台将该预约请求提交医院His系统。
交易名称:
预约挂号
功能说明:
患者在与平台对接的服务商处进行预约挂号,由平台将预约请求提交医院His系统。
交易类型:
2002
输入参数:
该参数由多个字段拼成一个字符串形成,各个字段之间用“|”符号区隔,每次交易只能传入一个预约信息。
字段说明如下表:
序号
字段
类型/长度
说明
必填
1
患者ID
varchar2/10
患者在平台的ID
Y
2
就诊日期
Char/8
yyyymmdd
y
3
上午/下午
Char/1
0:
上午1:
下午
y
4
排班ID
Char/10
在医院的排班ID
y
5
取号凭证代码
char/8
8位(在1周时间内)不可重复。
随机编码,可0开头,不可字母。
y
6
预约序号
Char/2
预约在(上午/下午)的第几位就诊
y
7
服务商编码
Char/4
y
8
工号
Varchar2/15
若为电话服务商,则为操作员工号;
若为网络服务商,则为用户IP
y
交易结果:
0(成功)或者1(失败)
输出参数:
如果交易成功:
序号
字段
类型/长度
说明
必填
1
空
如果交易失败:
序号
字段
类型/长度
说明
必填
1
错误原因
Varchar2/50
His交易处理逻辑:
当前置机调用本交易时,接口应判断患者预约的号源是否可用。
2.2.3取消预约
该交易为“预约挂号”交易的反向交易,即对原交易进行取消。
注意:
业务约定,就诊当天7点开始后不能取消预约
交易名称:
预约挂号取消
功能说明:
患者在与平台对接的服务商处进行预约挂号的取消,由平台将预约取消请求提交医院His系统。
交易类型:
2003
输入参数:
该参数由多个字段拼成一个字符串形成,各个字段之间用“|”符号区隔,每次交易只能传入一个预约取消信息。
字段说明如下表:
序号
字段
类型/长度
说明
必填
1
就诊日期
Char/8
yyyymmdd
y
2
取号凭证代码
char/8
8位(在1周时间内)不可重复。
随机编码,可0开头,不可字母。
y
3
患者编号
Char/10
y
交易结果:
0(成功)或者1(失败)
输出参数:
如果交易成功:
序号
字段
类型/长度
说明
必填
1
空
如果交易失败:
序号
字段
类型/长度
说明
必填
1
错误原因
Varchar2/50
2.2.4查询预约结果
该交易查询某笔预约交易在HIS的交易状态,在特殊情况下(如网络异常)当不确定双方交易状态是否一致的时候,用来确认His方的交易状态。
交易名称:
查询预约结果
功能说明:
平台发起向His查询某笔预约交易的结果。
交易类型:
2004
输入参数:
该参数由多个字段拼成一个字符串形成,各个字段之间用“|”符号区隔,每次交易只能传入一个预约取消信息。
字段说明如下表:
序号
字段
类型/长度
说明
必填
1
就诊日期
Char/8
yyyymmdd
y
2
取号凭证代码
char/8
8位(在1周时间内)不可重复。
随机编码,可0开头,不可字母。
y
3
患者编号
Varchar2/10
y
交易结果:
0(成功)或者1(失败)
输出参数:
如果交易成功:
序号
字段
类型/长度
说明
必填
1
空
如果交易失败:
序号
字段
类型/长度
说明
必填
1
错误原因
Varchar2/50
2.2.5患者姓名信息修改
因平台为实名使用,当患者在平台登记的姓名信息有误时,将无法正常就诊。
若患者在平台登记信息时将姓名信息登记错误,则可发起此交易,修改平台患者姓名信息并传送到医院。
交易名称:
查询预约结果
功能说明:
平台发起向His提交修改患者姓名的交易请求。
交易类型:
2005
输入参数:
该参数由多个字段拼成一个字符串形成,各个字段之间用“|”符号区隔,每次交易只能传入一个患者姓名修改信息。
字段说明如下表:
序号
字段
类型/长度
说明
必填
1
患者编号
Varchar2/10
y
2
患者姓名
Varchar2/20
8位(在1周时间内)不可重复。
随机编码,可0开头,不可字母。
y
交易结果:
0(成功)或者1(失败)
输出参数:
如果交易成功:
序号
字段
类型/长度
说明
必填
1
空
如果交易失败:
序号
字段
类型/长度
说明
必填
1
错误原因
Varchar2/50
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 浙江 预约 挂号 平台 HIS 接口 设计