vb.net中东软医保接口的调用

前段时间接了个医院管理系统的小项目,要求接入本市医保接口,本市的医保接口采用的是东软的接口平台,为动态库版,只提供了几个配置文件和几个DLL动态库,文档中写的不够详细,并没有各种语言平台的例子,只能一点一点的摸索,虽然自己做项目也做了七八年了,但也是第一次使用vb.net,就索性一边做一边摸索吧!

查遍了搜索引擎,也没有找到相似的案例,只有自己琢磨,东软提供的文档内容如下:

1.1 INIT 初始化函数
1.1.1 功能说明
系统启动前调用init函数进行初始化,检查配置文件等完成动态库初始化准备工作。
1.1.2 语法规则 Syntax:
对外提供接口:
SiInterface.dll
 Int INIT(char *pOutputInfo)
输入参数:无
输出参数:outputData char*
返回值: 成功 0    失败 -1   
 
1.1.3 出参格式: outputData char*
提示信息,如出错则为错误提示,HIS开发商需提示出错误信息。

1.2 BUSINESS_HANDLE 业务函数
1.2.1 语法规则 Syntax:
对外提供接口:
SiInterface.dll
int WINAPI BUSINESS_HANDLE(const char* inputData,
                                 char* outputData)
输入参数:inputData 
输出参数:outputData char*
返回值: 成功 0    失败 -1   
输入参数是以“^、$、|”分割的字符串

输出也是以“^”“@、^、$、|”分割的字符串

调用输入参数的函数经常用,但输出参数却没用过,并且所有对医保平台进行的操作都是通过BUSINESS_HANDLE函数来进行,这个问题琢磨了一个星期,终于弄明白了。

我的解决方法如下:

1、导入动态库

<DllImport("SiInterface.dll", EntryPoint:="INIT")> Public Shared Function INIT(ByVal OutputInfo As String) As Integer

End Function
    <DllImport("SiInterface.dll", EntryPoint:="BUSINESS_HANDLE")> Public Shared Function BUSINESS_HANDLE(ByVal inputData As String, <Out> ByVal outputData As StringBuilder) As Integer

End Function

2、调用动态库

Dim inputdata As String ‘入参
        Dim outputdata As New StringBuilder() ‘出参

outputdata.Capacity = 1024 ’由于调用出参需要分配内存,现分配内存空间用于存储出参

inputdata="入参字符串"

BUSINESS_HANDLE(inputdata, outputdata)‘调用函数

此时执行后,outputdata将会有医保接口返回的信息

其中 Dim outputdata As New StringBuilder() 此句最重要,我试了好多重方法,都不好用,只有这句才能用。

希望能对码农同行们有些帮助。

时间: 2024-12-05 18:28:06

vb.net中东软医保接口的调用的相关文章

在深圳有娃的家长必须要懂的社保少儿医保,不然亏大了!(收藏)

在深圳有娃的家长必须要懂的社保少儿医保,不然亏大了!(收藏) 转载2016-07-26 17:21:47 标签:深圳少儿医保社保医疗保险住院 在深圳工作或生活的家长们可能还有人不清楚,其实小孩子最大的基础保障福利就是少儿医保.如果以前没重视关注的,现在您看到这篇文章还来得及!少儿医保每年政府财政补贴384元,自己只需交200元左右,就可以享受门诊报销1000元,住院报销比例90%,最高报销额度达148万,大病门诊最高报销比例90%!如何享受?有哪些待遇?接下来就详细来做一个介绍: 少儿医保投保需

铁科院医保项目第一版測试

短短的一个多月的时间已经做出来一个简单版本号.能够完毕基本的医保流程.当中加上十月一以及周六日放假等,实际上做项目的时间也就是一个月的时间.这个系统是一个大的综合系统.我们做的仅仅是里面的一个小的子系统,到眼下为止这个系统能够执行了,里面一些关于统计分析.数据图等补充的内容没有加入外已经都昨晚.可能还会再第二版中把这些功能做上. 系统尽管已经提交測试.能够执行可是在做项目的还是有非常多感悟的,这个项目是从前期数据库设计到代码实现都參与了进来.考虑着哪里easy出问题怎么设计等等.有些问题非常ea

铁科院医保项目第一版测试

短短的一个多月的时间已经做出来一个简单版本,可以完成主要的医保流程,其中加上十月一以及周六日放假等,实际上做项目的时间也就是一个月的时间,这个系统是一个大的综合系统,我们做的只是里面的一个小的子系统,到目前为止这个系统可以运行了,里面一些关于统计分析.数据图等补充的内容没有添加外已经都昨晚,可能还会再第二版中把这些功能做上. 系统虽然已经提交测试,可以运行但是在做项目的还是有很多感悟的,这个项目是从前期数据库设计到代码实现都参与了进来,考虑着哪里容易出问题怎么设计等等.有些问题很简单却值得我们在

医保知识的相关概念

统筹区: 统筹地区也叫统筹单位.根据国发[1998]44号文件规定,原则上确定地级以上行政区(包括地.市.州.盟)为统筹单位,达到一定人口数的县(市)也可以作为统筹单位.所有单位和职工都要按照属地原则参加所在统筹地区的基本医疗保险,执行统一政策,实行基本医疗保险基金的统一筹集.管理和使用.铁路.电力.远洋运输等跨地区.生产流动性比较大的企业及职工,可以以相对集中的方式异地参加统筹地区的基本医疗保险 个人帐户支付范围:门诊.急诊的费用:到定点零售药店购买规定药品的费用:统筹基金起付标准以下的费用:

苏州儿童医保

网址:http://bbs.2500sz.com/bbs/thread-8876898-1-1.html 1.儿童医保是什么? 儿童医保是针对未成年少儿饮患有保险报章内的一些疾病,而产生出来的住院.治疗.手术等医疗费用的保障.现在我国的基本医疗制度,对少儿的医疗保障状态基本上是非常低的,因此建议可以考虑参考一些商业保障,减低家庭风险. 2.参保有什么要求? 2015年度,苏州市区学生参加居民医疗保险的参保对象分三类:一是在本市统筹区内托儿所.幼儿园.小学.初中.高中.中专.特殊学校.技校与职校就

成 都 简 阳 套 现 医 保 卡-2020/3/24 第79次课

成 都 简 阳 套 现 医 保 卡+███[4153.0556]q.v同号███成都当面办理██;就感到莫名的矫正针对着我;;被眼前绑缚.它们有;上岸的是春天,我爱上了一个人.;;;上岸的是春天,我爱上了一个人.;要么窗子是哑的,要么我搁浅在屋内;换取另一物;读懂这首诗,需要了解一些关于桉树的知识.桉树是外来物种,经济作物,吸水力极强,成片的人工桉树林能释放一种毒素,杀死其他植物,导致土地荒漠化并造成生态灾害.此诗的写作就是出于这种忧虑,同时又恰当地描写了桉树种植者致富的心理和艰辛,因此诗意就产

关于类中定义的内部接口

首先举一个简单的例子,如果你想实现一个接口,但是这个接口中的一个方法和你构想的这个类中的一个方法的名称,参数相同,你应该怎么办?这时候,你可以建一个内部类实现这个接口.由于内部类对外部类的所有内容都是可访问的,所以这样做可以完成所有你直接实现这个接口的功能.不过你可能要质疑,更改一下方法的不就行了吗?的确,以此作为设计内部类的理由,实在没有说服力.真正的原因是这样的,java中的内部类和接口加在一起,可以的解决常被C++程序员抱怨java中存在的一个问题 没有多继承.实际上,C++的多继承设计起

Java语言中反射动态代理接口的解释与演示

Java语言中反射动态代理接口的解释与演示 Java在JDK1.3的时候引入了动态代理机制.可以运用在框架编程与平台编程时候捕获事件.审核数据.日志等功能实现,首先看一下设计模式的UML图解: 当你调用一个接口API时候,实际实现类继承该接口,调用时候经过proxy实现. 在Java中动态代理实现的两个关键接口类与class类分别如下: java.lang.reflect.Proxy java.lang.reflect.InvocationHandler 我们下面就通过InvocationHan

VB.NET中的除法运算符 与 C#中的除法运算符

VB.NET中的除法运算符有两个:/(浮点除法).\(整数除法) C#中的除法运算符只有一个:/(除法) VB.NET中的除法运算符与C#中的除法运算符存在很大的差异,使用时注意区分. 关于VB.NET中的除法运算符的介绍(摘自MSDN): /(浮点除法):将两个数相除并返回以浮点数表示的结果. 所得结果的数据类型取决于操作数的类型. 下表显示如何确定结果的数据类型. 操作数数据类型 结果数据类型 两个表达式都是整数数据类型(SByte.Byte.Short.UShort.Integer.UIn