浙江预约挂号平台HIS接口设计
- 格式:doc
- 大小:615.00 KB
- 文档页数:14
文档编号:密级:预约挂号系统接口设计说明书(HIS部分)编制:审核:批准:2010年 101 总体设计 (3)1.1 总体要求 (3)1.2 系统拓扑 (3)1.3 模块说明 (3)1.4 系统改进 (4)2 平台与医院HIS接口 (4)2.1 HisToEbs (4)2.1.1 初始化服务器设置 (5)2.1.2 HIS数据上传 (5)2.2 EbsToHis (9)2.2.1 患者信息传送到医院并验证(HIS) (10)2.2.2 预约挂号 (11)2.2.3 取消预约 (12)2.2.4 查询预约结果 (13)2.2.5 患者姓名信息修改 (13)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.1 HisToEbs该接口主要用于HIS系统向平台传输院方相关基础及变更信息,如:医院介绍、科室设置、医生、排班等。
该接口的实现采用HIS调用Dll函数的方式,Dll函数接口由平台提供。
函数封装了底层通讯协议和交易逻辑。
2.1.1初始化服务器设置Int SetIpAndPort(char*szHospitalID,char *szIp,int nPort)函数说明:设置医院编号、His Server(HIS前置)的ip和端口号。
在HIS系统启动(初始化)时加载调用,必须先调用该函数进行初始化,否则会提示调用失败。
输入参数:szHospitalID 医院ID,由省平台统一分配(6位字符)szIp HIS前置服务器的ip,如192.168.1.202,具体到实施时确定nPort HIS前置服务器的port,如8098(最大65535),具体到实施时确定输出参数:无返回值:0 成功1 连接服务器失败2.1.2HIS数据上传Int SendPack(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医院信息上传2.1.2.2科室信息上传2.1.2.3医生信息上传2.1.2.4排班信息上传2.1.2.5停诊信息上传2.1.2.6预约就诊情况上传2.1.2.7患者姓名信息修改2.2 EbsToHis该接口用于平台向医院HIS提交实时交易请求,并获取HIS方交易结果。
该接口由HIS提供数据库存储过程包或者WebService服务。
HIS前置机布署了HisServer程序,接受到平台交易任务后,调用该接口包中的存储过程来完成交易(或者调用webservice的服务来完成交易)。
HIS系统对平台提供一个数据库存储过程包,包名为:BookPackage,存储过程名为:BizExec。
该存储过程有4个参数。
2.2.1患者信息传送到医院并验证(HIS)本平台为实名使用,因此患者在平台注册时需提供个人必备的身份信息,平台在本地记录患者信息。
当该患者通过平台向某家医院预约挂号时,需将相关信息传送到医院HIS系统,如果该患者填写了本人医保卡、市民卡或就诊卡等信息时,将这些信息同步传送到医院进行校验。
同一个有效证件号码只允许注册一条记录,未成年人通过此平台预约挂号,看病时需持有效证件。
交易名称:患者信息注册(医院)功能说明:把患者在平台注册的信息传送到医院HIS系统中,同一个有效证件号码只允许注册一条记录(未成年人看病需持有效证件),这个规则由平台实现。
交易类型:2001输入参数:该参数由多个字段拼成一个字符串形成,各个字段之间用“|”符号区隔,每次交易只能传入一个患者信息。
字段说明如下表:交易结果:0(成功)或者1(失败)输出参数:His交易处理逻辑:当前置机调用本交易时,接口首先根据患者ID查找HIS内是否存在患者记录,如果存在,则修改;否则插入新的记录。
2.2.2预约挂号该交易为平台核心功能,患者在与平台对接的服务商处进行医院、科室、医生、排班(何时就诊)的选择,确定某一排班后提交预约挂号请求,由省平台将该预约请求提交医院His 系统。
交易名称:预约挂号功能说明:患者在与平台对接的服务商处进行预约挂号,由平台将预约请求提交医院His 系统。
交易类型:2002输入参数:该参数由多个字段拼成一个字符串形成,各个字段之间用“|”符号区隔,每次交易结果:0(成功)或者1(失败)输出参数:如果交易成功:如果交易失败:His交易处理逻辑:当前置机调用本交易时,接口应判断患者预约的号源是否可用。
2.2.3取消预约该交易为“预约挂号”交易的反向交易,即对原交易进行取消。
注意:业务约定,就诊当天7点开始后不能取消预约交易名称:预约挂号取消功能说明:患者在与平台对接的服务商处进行预约挂号的取消,由平台将预约取消请求提交医院His系统。
交易类型:2003输入参数:该参数由多个字段拼成一个字符串形成,各个字段之间用“|”符号区隔,每次交易结果:0(成功)或者1(失败)输出参数:2.2.4查询预约结果该交易查询某笔预约交易在HIS的交易状态,在特殊情况下(如网络异常)当不确定双方交易状态是否一致的时候,用来确认His方的交易状态。
交易名称:查询预约结果功能说明:平台发起向His查询某笔预约交易的结果。
交易类型:2004输入参数:该参数由多个字段拼成一个字符串形成,各个字段之间用“|”符号区隔,每次交易结果:0(成功)或者1(失败)输出参数:2.2.5患者姓名信息修改因平台为实名使用,当患者在平台登记的姓名信息有误时,将无法正常就诊。
若患者在平台登记信息时将姓名信息登记错误,则可发起此交易,修改平台患者姓名信息并传送到医院。
交易名称:查询预约结果功能说明:平台发起向His提交修改患者姓名的交易请求。
交易类型:2005输入参数:该参数由多个字段拼成一个字符串形成,各个字段之间用“|”符号区隔,每次交易只能传入一个患者姓名修改信息。
字段说明如下表:交易结果:0(成功)或者1(失败)输出参数:如果交易成功:如果交易失败:。