先锋医谷卫生信息平台接口规范.doc_第1页
先锋医谷卫生信息平台接口规范.doc_第2页
先锋医谷卫生信息平台接口规范.doc_第3页
先锋医谷卫生信息平台接口规范.doc_第4页
先锋医谷卫生信息平台接口规范.doc_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

先锋医谷卫生信息平台接口规范 版本:V 6.0先锋医谷科技有限公司(2010年09月)目 录一、接口设计思路41.1、区域卫生信息数据交换与共享41.2、医保或新农合对接5二、接入部署72.1、接入网络的部署72.2、接口程序的部署8三、实现对接的示例123.1、VB代码的实现133.2、Delphi代码的实现143.3、PB代码的实际163.4、HTML代码的实现173.5、VF代码的实现223.6、获取命令的帮助23四、命令列表254.1、帮助254.2、读卡254.3、门诊结算254.4、取消门诊结算254.5、查询门诊结算254.6、入院登记264.7、取消入院登记264.8、出院结算264.9、出院结算明细264.10、查询出院结算264.11、费用登记274.12、取消费用登记274.13、民政救助274.14、取消民政救助274.15、查询民政救助284.16、打印284.17、调阅健康档案284.18、读卡调阅健康档案284.19、上传健康体检信息294.20、撤消上传健康体检信息294.21、上传门诊记录294.22、撤消上传门诊记录294.23、上传住院记录294.24、撤消上传住院记录294.25、上传转诊记录304.26、撤消上传转诊记录304.27、上传检验结果304.28、撤消上传检验结果304.29、上传检查结果304.30、撤消上传检查结果304.31、填报上报报表314.32、填报传染病报告31一、接口设计思路采用文本文件或XML交换信息的方式,每个业务接口主要步骤均为:第三方程序删除应答文件response.txt或response.xml(如果存在,这两个文件可以指定),提交一个请求文件request.txt或request.xml到设定的交换目录中,执行eg_exchange.exe接口程序(或调用eg_exchange.dll或eg_exchange.ocx),接口程序检测到文件后自动解析,与数据中心完成数据交换与共享,最后生成一个回答文件response.txt或response.xml,并删除原来的请求文件request.txt或request.xml。数据交换采用XML,因一些旧的软件技术对XML支持的不便,文件格式同时支持Windows系统通用的信息文件格式(*.ini),接口程序会自动完成INI文件到XML文件的转换。为安全起见,接口程序必须通过授权才可以使用。同时为方便起见,对交换文件不进行加密处理,采用文本文件,处理完后接口会其删除。1.1、区域卫生信息数据交换与共享要实现区域内各个医疗机构的卫生信息共享,提供的数据交换接口。医疗机构数据内部管理系统(主要是HIS产品)医谷平台接口程序区域卫生信息数据中心数据交换目录数据交换XML文件请求文件,返回结果(应答)1.2、医保或新农合对接对于新农合(医保与此一致,非医谷平台提供医保软件除外)数据的对接,为了数据的一致性,病种编码(采用标准ICD10),药品项目和诊疗项目编码将统一标准(通过接口程序可以下载),平台提供统一标准的目录,医疗机构将自己使用的病种目录、药品目录及诊疗项目录与农合系统一一对应。对应医院数据库农合平台统一的病种、药品、诊疗三大目录医院用到病种ICD10标准的ICD10统一的药品目录统一的诊疗目录医院用到的药品医院用到的诊疗项目为了双方对接,医疗机构通过自己的信息系统(主要是HIS系统),将病人参合信息、本次的诊断(主诊断、第二诊断)、收费明细等传到新农合接口中,新农合接口根据病人的信息及收费项目,按当地的报账方案,计算出病人实现报账金额。传回实际补偿金额;项目的报帐比例;起付金额、封顶线、及分段比例等信息。传输病人基本信息、诊断、收费明细(参合人姓名、医疗证号、费用)医院系统中三个目录与统一目录对应统一病种目录统一药品目录统一诊疗目录医院库新农合数据中心新农合接口注:如果政策或实施细则有变化,本规范将作相应调整。二、接入部署2.1、接入网络的部署医谷卫生信息平台采用Internet网络,因此,接入单位要有互联网接入线路(ADSL宽带、光纤线路、医谷卫生信息平台专线等)接入数据中心,网络的线路方式有几种方式:一、直接连接每台机上安装接口程序,接口程序直接与医谷卫生信息平台连接。二、代理方式在局域网内,指定一台机器(或服务器),启用其接口程序的代理功能,其它电脑只连接到指定的代理主机上,除代理机器外,内部机器不直接与外网连接。2.2、接口程序的部署一、接口程序的安装运行安装程序安装,按提示进行安装。安装完成后,相关接口规范文件和示例以及接口数据库都会安装在指定的目录中。示例详细可以参考安装的samples目录。默认接口程序使用的ACCESS数据库,对于大中型医疗机构,建议使用SQL Server网络数据库,可用SQL Server 2000及以上版本(附加或还原相关的数据,也可以通过脚本创建,可以与HIS等系统的库整合在一起)二、接口程序的运行直接通过快捷方式或运行EG_Interface.exe文件,启动接口程序,如果出现升级提示,请点“是”完成接口的升级。升级过程采用向导模式,按提示一步步进行。启动接口程序后,主界面如下:默认使用的单机的接口库,可以设置连接到自建的接口库上。接口程序功能:1、下载标准字典2、实时查看数据交换格式的定义3、接入的授权4、配制读卡和数据交换目录等5、接口代理6、升级接口三、实现对接的示例详细参考接口程序安装目录下的samples目录首先要机子上安装接口程序,并配置好接口软件(接口程序菜单“工具”-“选项”)。 使用授权,接口必须通过授权才能正常使用。(接口程序菜单“工具”-“使用授权”)3.1、VB代码的实现一、采用外挂模式:通过读写INI或直接写文本文件的方式,生成请求文件request.txt,(或生成请求XML文件)存放位置与设置的数据交换目录。通过shell或windows api 中的shellexecute 执行 接口安装程序目录下 EG_exchange.exe文件读取返回的结果文件response.txt(如果提交的是XML格式的请求,返回的response.xml文件)二、调用接口函数可调用eg_exchange.dll和使用OCX控件eg_exchange.ocxPublic Declare Function readcard Lib eg_exchange.dll () As StringPublic Declare Function exchange_process Lib eg_exchange.dll (ByVal req_file As String, ByVal res_file As String) As Integer函数readcard(),读取卡上信息(IC芯片上的信息),如果失败,返回的空字符串函数exchange_process (),执行数据交换,如果失败,返回0,成功,返回1备注:eg_exchange.dll在系统目录下(windowssystem32),调用时无须指定DLL路径Private Sub Command2_Click()Text1.Text = readcard()End SubPrivate Sub Command1_Click() If exchange_process(txt_req.Text, txt_res.Text) 1 Then MsgBox (执行数据交换错误,请查看返回结果response.txt或response.xml) Else MsgBox (执行数据交换成功!) End IfEnd Sub3.2、Delphi代码的实现一、采用外挂模式:通过读写INI或直接写文本文件的方式,生成请求文件request.txt,(或生成请求XML文件)存放位置与设置的数据交换目录。通过windows api 中的shellexecute 执行 接口程序目录下EG_exchange.exe文件读取返回的结果文件response.txt(如果提交的是XML格式的请求,返回的response.xml文件)二、调用接口函数:可调用eg_exchange.dll和使用OCX控件eg_exchange.ocx/数据交换处理函数, request_file请求文件,response_file为回复文件,request_file必须要存在,response_file必须可写入function exchange_process(request_file, response_file: pchar): integer; stdcall; external eg_exchange.dll;/读取卡上信息function readcard: pchar; stdcall; external eg_exchange.dll;函数readcard(),读取卡上信息(IC芯片上的信息),如果失败,返回的空字符串函数exchange_process (),执行数据交换,如果失败,返回0,成功,返回1procedure TForm1.btn_reacardClick(Sender: TObject);var card_info:pchar;begin /直接读卡 card_info:=readcard; if strpas(card_info)= then begin Messagebox(handle, 无法获取卡上信息获卡上无任何信息, 错误, MB_OK + MB_ICONERROR); end else begin Messagebox(handle, pchar(获取的卡上信息:+#13#10+strpas(card_info), 提示, MB_OK + MB_ICONINFORMATION); end;end;procedure TForm1.btn_actionClick(Sender: TObject);var str_err: TStrings; str_action: string; str_ext: string; request_file, response_file: string;begin str_action := (sender as TButton).Caption; if cbox_xml.Checked then begin str_ext := .xml; response_file := str_path + response.xml; end else begin str_ext := .txt; response_file := str_path + response.txt; end; /删除回复文件 deletefile(response_file); if not FileExists(str_path + 接口示例 + str_action + str_ext) then begin Messagebox(handle, pchar(文件 + str_path + 接口示例 + str_action + str_ext + 不存在!), 错误, MB_OK + MB_ICONERROR); exit; end; request_file := str_path + str_action + str_ext; copyfile(pchar(str_path + 接口示例 + str_action + str_ext),pchar(request_file),false); str_err := TStringList.Create; if exchange_process(pchar(request_file), pchar(response_file) 1 then begin if FileExists(response_file) then str_err.LoadFromFile(response_file); Messagebox(handle, pchar(str_err.Text), 错误, MB_OK + MB_ICONERROR); end else begin if FileExists(response_file) then str_err.LoadFromFile(response_file); Messagebox(handle, pchar(str_action + 成功!返回信息: + #13#10 + str_err.Text), 提示, MB_OK + MB_ICONINFORMATION); end; str_err.free;end;3.3、PB代码的实际一、采用外挂模式:通过读写INI或直接写文本文件的方式,生成请求文件request.txt,(或生成请求XML文件)存放位置与设置的数据交换目录。通过run()函数或windows api 中的shellexecute 执行 接口程序目录下 eg_exchange.exe文件读取返回的结果文件response.txt(如果提交的是XML格式的请求,返回的response.xml文件)二、调用接口函数:可调用eg_exchange.dll和使用OCX控件eg_exchange.ocxFunction string readcard() LIBRARY eg_exchange.dllFunction int exchange_process(string req_file,string res_file) LIBRARY eg_exchange.dll函数readcard(),读取卡上信息(IC芯片上的信息),如果失败,返回的空字符串函数exchange_process (),执行数据交换,如果失败,返回0,成功,返回1sle_1.text=readcard()if exchange_process(sle_req.text,sle_res.text)1 thenmessagebox(错误,执行数据交换错误,请查看返回结果文件response.txt或response.xml);elsemessagebox(提示,执行数据交换成功!);end if3.4、HTML代码的实现HTML的实现(使用JavaScript,可用于ASP、ASPX、JSP、PHP等B/S结构系统),使用OCX控件,因为HTML的特殊性,OCX同时提供了文件读写函数读卡内信息readcardx()执行数据交换exchange_processx(req_file,res_file)写文件WriteFile(file_name,file_content)检查文件是否存在checkfile(file_name)删除文件DelFile(file_name)读取文件内容ReadFile(file_name)写INI文件WriteiniString(file_name,Section,Ident,value)读INI文件ReadiniString(file_name,Section,Ident,value)读INI文件内容段ReadiniSection(file_name,Section)数据交换测试 传入文件: 返回文件:     读卡测试   写入测试 文件名: 文件内容: 读取测试 文件名: 文件内容: INI写入测试 文件名: 块名: 标识: 写入值: INI读取测试 文件名: 块名: 标识: 默认值: 读出的值: INI整块读取 文件名: 块名: 读出的值: function readic() /读卡 form1.card_info.value=form1.EG_Exchange.readcardx();return false;function exchange() /数据交换if (form1.EG_Exchange.exchange_processx(form1.request_file.value,form1.response_file.value)=1)alter(执行成功!);elsealter(执行失败!);function WriteToFile() if (form1.EG_Exchange.WriteFile(form1.file_w.value,form1.txt_w.value) alert(写入+form1.file_w.value+成功!); else alert(写入+form1.file_w.value+失败。); function checkfile() if (form1.EG_Exchange.FileifExists(form1.file_w.value) alert(文件+form1.file_w.value+存在!); else alert(文件+form1.file_w.value+不存在。); function dfile() if (form1.EG_Exchange.DelFile(form1.file_w.value) ) alert(文件+form1.file_w.value+成功删除!); else alert(文件+form1.file_w.value+删除失败。); function ReadFromFile() var str=form1.EG_Exchange.ReadFile(form1.file_r.value); if (str!=) form1.txt_r.value=str; else alert(返回空); function WiniFile() if (form1.EG_Exchange.WriteiniString(form1.file_ini_w.value,form1.Section_w.value,form1.Ident_w.value,form1.value_w.value) alert(INI方式 写入成功!); else alert(INI方式 写入失败!); function RiniFile() form1.value_r.value=form1.EG_Exchange.ReadiniString(form1.file_ini_r.value,form1.Section_r.value,form1.Ident_r.value,form1.default_r.value); function RKiniFile() form1.value_s.value=form1.EG_Exchange.ReadiniSection(form1.file_ini_s.value,form1.Section_s.value); 3.5、VF代码的实现一、采用外挂模式:通过读写INI或直接写文本文件的方式,生成请求文件request.txt,(或生成请求XML文件)存放位置与设置的数据交换目录。通过 执行接口 eg_exchange.exe文件,然后读取返回的结果文件response.txt(如果提交的是XML格式的请求,返回的response.xml文件)二、调用接口函数:可调用eg_exchange.dll和使用OCX控件eg_exchange.ocxDECLARE string readcard in eg_exchange.dll as readcardDECLARE integer exchange_process in eg_exchange.dll as exchange_process string,string函数readcard(),读取卡上信息(IC芯片上的信息),如果失败,返回的空字符串函数exchange_process (),执行数据交换,如果失败,返回0,成功,返回1ThisForm.Text_Card_no.value=readcard()if exchange_process(ThisForm.Text_req.value,ThisForm.Text_res.value) =1 then messagebox(执行成功)else messagebox(执行失败)endif 3.6、获取命令的帮助“帮助”命令就是用于获取帮助,获取各命令相关格式第三方系统接口程序要查的命令项传入文件示例及说明传回请求文件(INI格式)返回结果文件requestaction=帮助执行失败的话返回错误提示信息:error:返回错误提示执行成功返回:detail1request_name=项目1detail2request_name=项目2detail.request_name=项目detailnrequest_name=项目.n请求文件(XML格式)返回结果文件 帮助 执行失败的话返回错误提示信息:error:返回错误提示 项目1 项目2 项目. 项目.N 如果想查某个执行命令的格式,请求与返回文件的格式如下:请求文件(INI格式)返回结果文件requestaction=帮助request_item=读卡file_format=iniinout=request返回指定命令文件格式request_item用于指定想查询的命令,file_format指定想知道文件格式,可选ini和xml两种格式,inout指定是请求还是返回文件,可选request和response请求文件(XML格式)返回结果文件 帮助 读卡xmlrequest 返回指定命令文件格式参考 “samples数据示例”目录下的文件:1.1获取请求命令列表.txt1.1获取请求命令列表.xml1.2获取请求文件格式.txt1.2获取请求文件格式.xml1.3获取返回结果文件格式.txt1.3获取返回结果文件格式.xml四、命令列表4.1、帮助参考 “samples数据示例”目录下的文件:1.1获取请求命令列表.txt1.1获取请求命令列表.xml1.2获取请求文件格式.txt1.2获取请求文件格式.xml1.3获取返回结果文件格式.txt1.3获取返回结果文件格式.xml4.2、读卡直接读取IC卡芯片上内容,采用调用函数读取,无需与数据中心交互。其它相关读卡,参考 “samples数据示例”目录下的文件:2.2读持卡人基本信息.txt2.2读持卡人基本信息.xml4.3、门诊结算门诊结算,用于新农合或医保报帐使用,将其门诊发生的费用和门诊信息传送到农合(医保)中心平台上,返回报帐情况。参考 “samples数据示例”目录下的文件:3.1门诊结算.txt3.1门诊结算.xml4.4、取消门诊结算可以对没有结算的门诊结算进行取消参考 “samples数据示例”目录下的文件:3.2取消门诊结算.txt3.2取消门诊结算.xml4.5、查询门诊结算通过查询门诊结算命令,可以查询到是否有结算,结算后补偿情况参考 “samples数据示例”目录下的文件:3.4查询门诊结算.txt3.4查询门诊结算.xml4.6、入院登记住院病人办理入院登记后,需要将其住院情况发送到农合(医保)中心平台上参考 “samples数据示例”目录下的文件:3.5入院登记.txt3.5入院登记.xml4.7、取消入院登记可以对入院登记进行撤消操作参考 “samples数据示例”目录下的文件:3.6取消入院登记.txt3.6取消入院登记.xml4.8、出院结算出院结算操作,传入出院信息和费用这里是汇总费用信息,结算后成功后,返回补偿的情况(注:如果每天做了费用登记,这里就不需要再传入汇总的费用明细了)参考 “samples数据示例”目录下的文件:3.10出院结算.txt3.10出院结算.xml4.9、出院结算明细这个命令,专门用于传输汇总费信息,支持分批继传。(如果项目过多,可以分几次传入)参考 “samples数据示例”目录下的文件:3.9出院结算明细.txt3.9出院结算明细.xml4.10、查询出院结算通过查询出院结算命令,可以查询到是否有结算,结算后补偿情况参考 “samples数据示例”目录下的文件:3.13查询出院结算.txt3.13查询出院结算.xml4.11、费用登记费用登记功能,是登记住院病人每天发生的费用情况参考 “samples数据示例”目录下的文件:3.7费用登记.txt3.7费用登记.xml4.12、取消费用登记如果发生退费或错误操作,可以进行取消操作参考 “samples数据示例”目录下的文件:3.8取消费用登记.txt3.8取消费用登记.xml4.13、民政救助民政救助,是属于二次补偿。针对贫困人群,新农合或医保病人,在住院补偿后,民政单位再其自费费用基础上再次进行救助。参考 “samples数据示例”目录下的文件:3.14民政救助.txt3.14民政救助.xml4.14、取消民政救助参考 “samples数据示例”目录下的文件:3.15取消民政救助.txt3.15取消民政救助.xml4.15、查询民政救助参考 “samples数据示例”目录下的文件:3.17查询民政救助.txt3.17查询民政救助.xml4.16、打印打印相关的补偿单据,可通过打印命令参考 “samples数据示例”目录下的文件:3.3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论