| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2672 人关注过本帖, 1 人收藏
标题:VFP如何连接四川银海医保接口
只看楼主 加入收藏
dylms
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2014-2-17
结帖率:50%
收藏(1)
已结贴  问题点数:20 回复次数:16 
VFP如何连接四川银海医保接口
医疗保险支付接口应用编程规范(Version 1.0.)
使用对象为使用银海医保支付组件库(以下简称组件库)来完成医保支付的定点医疗机构的应用软件提供供应商、药店 MIS 供应商或其它第三方应用软件供应商。
应用模式 银海医保支付组件库是一组运行在 WINDOWS 32 位环境下的 COM 组件,第三方应用软件使用相应 的 COM 组件调用方式来调用它。
接口交易组件库提供了六个公共方法(yh_interface_init 初始化,yh_interface_destroy 资源释放, yh_interface_call 业务方法调用,yh_interface_confirm 业务办理确认,yh_interface_cancel 业务办理取消, yh_interface_getuncertaintytrade 不确定交易查询),交易参数组织采用 xml(所有医保经办机构交易调用及 交易参数统一),差别处理对于 HIS 透明。
接口 COM 说明 组件库提供交易的 COM 组件属性如下: 属性 值 App ID {1093BEAA-F4C6-4B10-B652-1F555DF0BAE0} Type Library ID {068CA2B4-19A6-4811-BEA5-24B0752B986A} Program ID YinHai.SCMYInterface2 COM ClassName COClass_n_yh_interface COM ClassID {FC9F5EC8-DA56-441D-9D98-43F2840796AF} Interface Type Dual Interface Interface Name In_yh_interface Interface ID {A994B414-B737-4FAB-BCD3-0B30DDEBD404}
接口调用示例  yh_interface_call(astr_jybh,lstr_jykz_xml,lstr_jysr_xml ,ref lstr_pcbh,ref lstr_jylsh,ref lstr_jyyzm,ref lstr_jysc_xml,ref lint_appcode,ref lstr_appmsg)

Dim yinhaiobject As Object '定义存放引用对象的变量。
Set yinhaiobject = CreateObject ("YINHAI.SCMYINTERFACE ") '检查连接是否建立
If yinhaiobject Is Nothing Then
 MsgBox "对象为空!"
End If
 Dim BusinessID As String
 Dim Ctrlxml As String
 Dim Dataxml As String
 Dim Pcbh As String
 Dim Businesssequence As String
 Dim Businessvalidate As String
 Dim Outputxml As String
 Dim Appcode as Long
 Dim Appmsg As String
 BusinessID="01"
 Ctrlxml ="" '组织参数
 Dataxml ="" '组织参数
 yinhaiobject.yh_interface_call( BusinessID,Ctrlxml,Dataxml,Pcbh,Businesssequence,Businessvalidate,Outputxml,Appcode,App msg) '判断返回信息 'HIS 业务处理
 Set yinhaiobject = Nothing '关闭对象
请问用VFP如何写程序?
搜索更多相关主题的帖子: Dim COM 接口 String 组件 
2021-08-17 22:49
dylms
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2014-2-17
收藏(1)
得分:0 
我编写的VFP语句如下,总是连接不上,请问是哪有问题?
thisform.Edit1.Value =''
PUBLIC yinhaiobject as Object
ProgramID=ALLTRIM(thisform.text4.Value)
yinhaiobject= CREATEOBJECT("&ProgramID")   &&建立对象YinHai.DY.Actual.Interface.1.0
&&yinhaiobject= CREATEOBJECT("YINHAI.SCMYINTERFACE")  &&建立对象
IF  TYPE('yinhaiobject')='O'  && C字符型 D日期型 O 对像 G 通用型 L 逻辑型 M 备注型 N 数值型。。
PUBLIC  BusinessID As String
PUBLIC  Ctrlxml As String
PUBLIC  Dataxml As String
PUBLIC  Pcbh As String
PUBLIC  Businesssequence As String
PUBLIC  Businessvalidate As String
PUBLIC  Outputxml As String
PUBLIC  Appcode as Long
PUBLIC  Appmsg As String

  BusinessID=""
  Ctrlxml=""
  Dataxml=""
  Pcbh=""
  Businesssequence=""
  Businessvalidate=""
  Outputxml=""
  Appcode=0
  Appmsg=""

BusinessID="01"
Ctrlxml ="" &&组织参数
Dataxml ="" &&组织参数
yinhaiobject.yh_interface_call(BusinessID,Ctrlxml,Dataxml,Pcbh,Businesssequence,Businessvalidate,Outputxml,Appcode,Appmsg)

thisform.Edit1.Value ='Program ID:'+ProgramID +' Business ID:'+BusinessID+' '+Pcbh+' '+Businesssequence+' '+Businessvalidate +' '+Outputxml+' '+Appmsg

yinhaiobject.DisconnectObject()
release  yinhaiobject
ELSE  
 Messagebox("接口连接失败!调用程序可能没有安装和注册。", 0, "系统提示")
ENDIF

[此贴子已经被作者于2021-8-18 08:37编辑过]

2021-08-18 08:34
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:10 
先试试
? CreateObject("YINHAI.SCMYINTERFACE")
2021-08-18 10:36
dylms
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2014-2-17
收藏
得分:0 
回复 3楼 吹水佬
谢谢与我讨论,就是这个连接不通。我不知道这种方式是否正确。
2021-08-18 14:38
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
以下是引用dylms在2021-8-17 22:49:05的发言:
 银海医保支付组件库是一组运行在 WINDOWS 32 位环境下的 COM 组件,第三方应用软件使用相应 的 COM 组件调用方式来调用它。


可能是COM组件的注册问题或引用的ProgID(YINHAI.SCMYINTERFACE)不对
2021-08-18 16:05
dylms
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2014-2-17
收藏
得分:0 
接口说明书上说:组件库注册在每一台需要进行医保支付业务的客户机上(该客户端也必须能连接到医保网络),通过
被动调用的方式将医保支付业务功能嵌入到定点医疗机构的系统中(以下简称 HIS);
所以应该是不需要再对COM组件的注册。如这个方法是正确的,那就是也许是软件公司告诉我们的YINHAI.SCMYINTERFACE的不正确。或是没有经过他们同意,无法连接。谢谢!我现在就是想求证我这程序是否正确。有没有问题?或有更好的方法。
2021-08-18 17:05
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
“组件库注册在每一台需要进行医保支付业务的客户机上”
理解一下这句话
2021-08-18 17:11
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
以下是引用吹水佬在2021-8-18 17:11:28的发言:

“组件库注册在每一台需要进行医保支付业务的客户机上”
理解一下这句话

个人理解是:首先,在每一台需要进行医保支付业务的客户机上注册组件库。

2021-08-18 17:17
厨师王德榜
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:199
帖 子:989
专家分:4966
注 册:2013-2-16
收藏
得分:10 
既然是COM方式,那么首先检查这台电脑是否 有DLL库,
如果有,再检查是否执行了 regsvr32.exe *.dll 的注册步骤?
如果已经注册,那么可以打开注册表,查看 特征字符串 :
Type Library ID {068CA2B4-19A6-4811-BEA5-24B0752B986A}是否已经在注册表中?
以上都没问题,那么 再尝试 CreateObject('....') 是否正常?
2021-08-18 17:31
dylms
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2014-2-17
收藏
得分:0 
回复 9楼 厨师王德榜
谢谢大家讨论,我选用的电脑是本身就是能正常启用医保软件并能正常划医保卡和打印药品清单的,专线电脑,所以不需要再进行注册。但的确是难查到这些注册项。所以我怀疑医保发那个接口说明是有问题的,而那个说明本身到处都有错误(内行才明白的错误,如(和/缺少,不成对。
2021-08-18 20:56
快速回复:VFP如何连接四川银海医保接口
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017811 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved