前段时间接了个医院管理系统的小项目,要求接入本市医保接口,本市的医保接口采用的是东软的接口平台,为动态库版,只提供了几个配置文件和几个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() 此句最重要,我试了好多重方法,都不好用,只有这句才能用。

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

转载于:https://blog.51cto.com/yushihai/1569357

vb.net中东软医保接口的调用相关推荐

  1. 关于东软医保和首信医保及其他医保接口的开发

    东软接口分大体两个版本:一般是普通dll接口:暂时最新的是api接口  : 1.api接口方式 主要是HIS生成xml最为入参 传给(秦皇岛)东软API函数,因为接口只提供了一个comminterfa ...

  2. java 医保接口对接_读:HIS 与医保系统的接入方案及实现

    HIS 与医保系统的接入方案及实现 刘剑锋 李刚荣 第三军医大学西南医院信息科(重庆 400038) 医院HIS和医保系统的接口设计方案涉及两个部分,分别由医院和医保中心分别完成相,应的程序设计,这两 ...

  3. java调用银海社保接口,银海医保接口调用演示程序

    [实例简介] 努力很长时间终于解决了银海医保接口在.NET里面调用问题.已测试成功! 供大家参考! 1.开发平台VisualStudio 2010 2..NET 框架版本 4.0 3.开发语言 C# ...

  4. IDEA中报错:java: -source 1.5 中不支持静态接口方法调用

    用到java的一些新特性的时候,必须是在新的java版本中才能体现出来,否则会报错. 例如使用java8的Stream流或者lambadas特性,就会报如下错误: **Error:(11, 35) j ...

  5. Delphi医保支付【支持重庆,湖南,湖北,河南,江苏,黑龙江,吉林等医保接口】

    sm2签名,sm4加解密,签到签退,文件上传下载,医保结算,冲正交易,目录下载,医保对账 { "infno": "9001", "msgid" ...

  6. SSM+医保业财一体化管理系统 毕业设计-附源码151023

    目  录 摘要 1 绪论 1.1 研发目的及设计思路 1.2研究现状 1.3论文结构与章节安排 2医保业财一体化管理系统系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1 数据增加流程 2 ...

  7. HIS 与医保系统的接入方案及实现

    HIS 与医保系统的接入方案及实现 刘剑锋 李刚荣 第三军医大学西南医院信息科(重庆 400038) 摘要: 目的 建设HIS,迎接医疗改革的挑战.方法 分析HIS与地方医疗保险系统的不同特点, 提出 ...

  8. HIS系统门急诊医保实时结算接口测试

    本文由Markdown语法编辑器编辑完成. 1. 医保实时结算 医保实时结算,关键是"实时"两个字.意思就是说,当医保患者持医保卡到患者指定的医保定点医院,从门诊挂号.看病到取药等 ...

  9. 中央重磅文件明确互联网医疗服务可用医保支付!

    文章目录 中央重磅文件明确互联网医疗服务可用医保支付! 中央重磅文件明确互联网医疗服务可用医保支付! 当下,互联网医疗机构已加入到新冠防治的"主战场",在分流线下诊疗发挥了很大作用 ...

最新文章

  1. 2018 蓝桥杯省赛 B 组模拟赛(一)-年龄
  2. HTTP 加速器 Varnish
  3. 第二十七讲 微分方程组解的图像
  4. 如何将加密PDF转换成Word文档
  5. .Net思想篇:为何我们需要思想大洗礼?
  6. 安装 Tensorflow
  7. js中值得推荐的Memoization
  8. 集成ueditor后显示html问题处理
  9. centos7网卡配置文件详解与固定服务器ip
  10. php+将json转字符串,php实现json转字符串的方法
  11. Quartus破解成功,但出现不支持某些设备的问题解决
  12. .NET 使用MD5加盐加密
  13. android 自定义Preference CheckBoxPreference ListPreference的用法
  14. 四级语法2——主谓一致+时态语态
  15. 平面设计教程:PS新手如何制作好透视立体字海报
  16. 路由器芯片和服务器,软路由就是软路由,还是回归它本该有的身份吧。一个越折腾越迷茫者的经历...
  17. 寒武纪笔试——嵌入式
  18. java aes 中文_java实现AES加密(解决中文解密后乱码问题,解决传输字符串后解密报错的问题)...
  19. python中readlines是什么意思_python中read、readline、readlines之间的区别
  20. IT真的不如卖爆米花的?

热门文章

  1. springboot——kaptcha
  2. C++:30 ---C++类成员,成员函数的内存布局
  3. SpringBoot 集成Nacos报错(一)
  4. 为什么我要转载文章?
  5. Notepad++ 6.0 发布,优化了大文件加载性能
  6. Linux定时任务Crontab命令详解
  7. 举例说明Java中代码块的执行顺序
  8. 跟我一起玩Win32开发(20):浏览文件夹
  9. 高性能mysql 第10章 复制
  10. 详解HashMap数据结构实现