资源描述
农保接口文档
医院接口说明
(版本2.3)
2006年12月
1、 运行环境 3
2、 函数说明 4
2.1、函数说明 4
2.1.1 int InitData() 4
2.1.2 int SetDataset(char *strDataset) 4
2.1.3 int AddDataset(char *strDataset) 4
2.1.4 int AddRow() 4
2.1.5 long GetRowCount() 4
2.1.6 int FirstRow() 4
2.1.7 int LastRow() 4
2.1.8 int NextRow() 5
2.1.9 int PrevRow() 5
2.1.10 PutFieldValue(char *strName, char *strValue) 5
2.1.11 GetFieldValue(char *strName, char *strValue) 5
2.1.12 int StartProcess(long FuncNum) 5
2.1.13 long GetInfoMessage(char *strMessage) 5
2.1.14 int SaveFile(char *strFile) 6
2.1.15 void SetDebug(long flag) 6
2.2、函数调用说明 6
2.2.1 接口函数调用顺序 6
2.2.2 接口函数调用时指针 6
2.3、程序中接口函数定义 7
2.3.1 在PB中定义函数程序 7
2.3.2 在Delphi中定义函数程序 7
2.3.3 在C#中定义函数程序 8
3、 功能编号及功能描述 9
3.1、登录(8001) 9
3.2、门诊交易(8002) 10
3.2.1 门诊结算(800201) 10
3.2.2 门诊结算取消(800202) 12
3.3、住院交易(8003) 14
3.3.1 住院登记(800301) 16
3.3.2 住院明细上传(800302) 17
3.3.3 住院预结(800303) 19
3.3.4 住院结算(800304) 21
3.3.5 住院结算取消(800305) 22
3.3.6 住院登记撤销(800306) 24
3.3.7 删除未结算费用明细(800307) 24
3.3.8 查询住院明细(800308) 25
3.3.9 修改住院信息(800309) 27
3.3.10 查询住院病人信息 (800310) 28
3.3.11 删除单条费用明细(800311) 30
3.3.12 住院明细还原 (800312) 30
3.4、公共功能(8004) 31
3.4.1 查询农户信息(800401) 31
3.4.2查询农户个人信息(800402) 33
3.4.3 取中心药品目录(800403) 34
3.4.4 取中心诊疗项目目录(800404) 35
3.4.5 取中心疾病目录(800405) 36
3.4.6 取中心医疗项目类别(800406) 37
3.5 医院对帐 (8005) 38
3.5.1 医院日对帐(800501) 38
3.5.2 医院结算信息下载(800502) 39
3.5.2 医院结算单据明细下载(800503) 40
3.6. 项目匹配 43
3.6.1 取匹配项目信息(800601) 43
3.6.2 项目匹配(800602) 45
3.6.3 删除匹配信息(800603) 46
4、 医院调用His说明 46
4.1 门诊交易流程 46
4.2 住院交易流程 47
4.3 对帐 47
4.4 项目匹配 48
5、修订说明 48
6、 附录 49
1、 运行环境
本接口采用VC编写,可运行于Win98/Win2000/WinXP操作系统下,它必须在以下软件的支持下运行:
l Win98/Win2000/WinXP
l IE6.0
l MS SOAP Toolkit 3.0
l
2、 函数说明
2.1、函数说明
2.1.1 int InitData()
初始化上传信息,返回-1表示调用不成功,返回0表示调用成功。
2.1.2 int SetDataset(char *strDataset)
将当前记录集设置为由strDataset指定的记录集,如果记录集不存在,则不会改变当前记录集。如指定的记录集存在,则改变当前的记录集为存在的记录集,通过nextrow,prevrow,firstrow,lastrow。返回-1表示不成功,返回大于等于0的值为记录数。
2.1.3 int AddDataset(char *strDataset)
增加名为strDataset的记录集。返回-1表示不成功。
2.1.4 int AddRow()
在当前的记录集中增加行。返回-1表示不成功。
2.1.5 long GetRowCount()
返回当前记录集的行数。返回-1表示不成功。返回大于0表示当前记录集的行号。
2.1.6 int FirstRow()
跳到当前记录集的的第一行记录,返回-1表示不成功。返回0表示成功。
2.1.7 int LastRow()
跳到当前记录集的最后一行记录,返回-1表示不成功。返回大于0表示成功,同时此值为当前的行号。
2.1.8 int NextRow()
跳到当前记录集后一行记录,返回-1表示不成功。返回大于0表示成功,同时此值为当前的行号。
2.1.9 int PrevRow()
跳到当前记录集前一行记录,返回-1表示不成功。返回大于0表示成功,同时此值为当前的行号。
2.1.10 PutFieldValue(char *strName, char *strValue)
向接口调用中传入业务所需的参数。在当前的行,参数strName为字段名,以字符串表示,strValue为值,以字符串表示,返回-1表示没有Put成功,返回大于0表示Put成功,此值同时为当前的行号。
2.1.11 GetFieldValue(char *strName, char *strValue)
从接口中取得返回的参数值。在当前的行,参数strName为字段名,以字符串表示,strValue为值,以字符串表示。返回-1表示没有Get成功,返回大于0表示为当前的记录集的第几条记录。
2.1.12 int StartProcess(long FuncNum)
开始一次接口调用,把传入的记录集上打包传到服务器,并取得返回的记录集。参数FuncNum为要进行的功能号。返回-1表示没有成功,返回大于0的值表示返回的记录集数。
2.1.13 long GetInfoMessage(char *strMessage)
当所有函数出错时,调用它得到一个详细的错误信息,错误信息放在strMessage指定的字符串中。返回-1表示没有Get成功
2.1.14 int SaveFile(char *strFile)
把数据集以XML的格式文件中去,保存到返回-1表示没有成功。
2.1.15 void SetDebug(long flag)
该函数用来设置接口的运行模式,当flag为1时将产生调试信息并且写入运行目录的Log子目录下的日志文件中。返回值小于零, 表示没有成功,返回值大于等于零, 表示成功。flag 为调试标志,0表示不作调试,其它为可调试,
2.2、函数调用说明
2.2.1 接口函数调用顺序
每个功能执行顺序如下:
1、调用InitData() 初始化数据缓存;
2、调用AddDataset 设置传入参数的记录集,如有多个参数集,可多次调用AddDataset();
3、调用AddRow 设置记录行,如有多行,则可多次调用AddRow();
4、调用PutValue将参数传入接口;
5、如有多行,则可多次调用AddRow;
6、调用StartProcess将数据传入后台;
7、调用 SetDataSet 设置返回数据的记录集;
8、调用 GetRowCount得到记录数;
9、调用 NextRow,PrevRow,FirstRow,LastRow来移动行;
10、调用GetValue 得到返回的数据。
2.2.2 接口函数调用时指针
在接口中有许多指针参数,这些参数在传入时,PB都可以用字符串来代替,但必须先赋值来定义其空间,Delphi中可直接用指针,然后用StrAlloc 或者 StrNew 来定义空间,但一定要用StrDispose来释放空间。
2.3、程序中接口函数定义
2.3.1 在PB中定义函数程序
Function int StartProcess(long FuncNo) LIBRARY "HosInsure.dll"
Function int GetFieldValue(string strName,ref string strValue) LIBRARY "HosInsure.dll"
Function int IniData() LIBRARY "HosInsure.dll"
Function int AddDataSet(string strTable) LIBRARY "HosInsure.dll"
Function int SetDataSet(string strDataSet) LIBRARY "HosInsure.dll"
Function int AddRow() LIBRARY "HosInsure.dll"
Function int PutFieldValue(string strName,string strValue) LIBRARY "HosInsure.dll"
Function int LastRow() LIBRARY "HosInsure.dll"
Function int NextRow() LIBRARY "HosInsure.dll"
Function int PrevRow() LIBRARY "HosInsure.dll"
Function int FirstRow() LIBRARY "HosInsure.dll"
Function long GetInfoMessage(ref string Message) LIBRARY "HosInsure.dll"
Function long GetRowCount() LIBRARY "HosInsure.dll"
Function long GetDataSetCount() LIBRARY "HosInsure.dll"
Function int SaveFile(string strFileName) LIBRARY "HosInsure.dll"
2.3.2 在Delphi中定义函数程序
Function AddDataSet(strTable:string):Integer;stdcall; external 'HosInsure.dll';
Function AddRow():Integer;stdcall; external 'HosInsure.dll';
Function GetFieldValue(strName:string;strValue:Pchar):Integer;stdcall; external 'HosInsure.dll';
Function GetInfoMessage(ErrorMessage:Pchar):Integer;stdcall; external 'HosInsure.dll';
Function GetRowCount():Integer;stdcall; external 'HosInsure.dll';
Function GetDataSetCount():Integer;stdcall; external 'HosInsure.dll';
Function IniData():Integer;stdcall; external 'HosInsure.dll';
Function LastRow():Integer;stdcall; external 'HosInsure.dll';
Function NextRow():Integer;stdcall; external 'HosInsure.dll';
Function PrevRow():Integer;stdcall; external 'HosInsure.dll';
Function FirstRow():Integer;stdcall; external 'HosInsure.dll';
Function PutFieldValue(strName:string; strValue:string):Integer;stdcall; external 'HosInsure.dll';
Function SetDataSet(strDataSet:string):Integer;stdcall; external 'HosInsure.dll';
Function StartProcess(FuncNo:Integer):Integer;stdcall; external 'HosInsure.dll';
Function SaveFile(strFile:string):Integer;stdcall; external 'HosInsure.dll';
2.3.3 在C#中定义函数程序
[DllImport("HosInsure.DLL")]
public static extern int AddDataSet(string strTable);
[DllImport("HosInsure.DLL")]
public static extern int AddRow();
[DllImport("HosInsure.DLL")]
public static extern int GetFieldValue(string strName, StringBuilder strValue);
[DllImport("HosInsure.DLL")]
public static extern int GetInfoMessage(StringBuilder Message);
[DllImport("HosInsure.DLL")]
public static extern int GetRowCount();
[DllImport("HosInsure.DLL")]
public static extern int GetDataSetCount(); //GetTableCount
[DllImport("HosInsure.DLL")]
public static extern int IniData();
[DllImport("HosInsure.DLL")]
public static extern int LastRow();
[DllImport("HosInsure.DLL")]
public static extern int NextRow();
[DllImport("HosInsure.DLL")]
public static extern int PrevRow();
[DllImport("HosInsure.DLL")]
public static extern int FirstRow();
[DllImport("HosInsure.DLL")]
public static extern int PutFieldValue(string strName,string strValue); //Put
[DllImport("HosInsure.DLL")]
public static extern int SetDataSet(string strDataSet);
[DllImport("HosInsure.DLL")]
public static extern int StartProcess(long FuncNo);
[DllImport("HosInsure.DLL")]
public static extern int SaveFile(string strName);
3、 功能编号及功能描述
3.1、登录(8001)(预留)
l 业务功能编码
8001
l 功能描述
通过输入操作人员姓名,登陆医保系统。
l 入参定义
l 出参定义
3.2、门诊交易(8002)
3.2.1 门诊结算(800201)
l 业务功能编码
800201
l 功能描述
门诊结算。
l 入参定义
数据集个数:2。
数据集名称及内容:
InHosInfo
序号
参数
说明
最大长度
约束
备注
1
FarmerCode
农户个人编号
20
Not null
2
HosCode
医院编号
10
Not null
3
OutPatientNo
门诊号
20
4
InvoiceNo
发票号
20
Not null
5
OutPatientDate
门诊时间
10
Not null
YYYY-MM-DD
6
BussType
结算类别
1
Not null
1:住院;2:门诊;3:特殊病种
7
MakerName
经办人
20
Not null
8
DiseaseName
疾病名称
50
9
OutResult
疾病转归
10
10
IsBalance
是否预结
1
Not null
0:预结算;1:结算
InHosDetail
序号
参数
说明
最大长度
约束
备注
1
MedDate
发生时间
10
Not null
YYYY-MM-DD
2
ItemHosCode
项目医院编码
10
Not null
3
ItemName
项目名称
100
Not null
4
Specs
规格
50
5
Unit
单位
20
Not null
6
Num
数量
5
Not null
7
Price
单价
10.4
Not null
8
IsDrug
是否药品
1
Not null
0:诊疗项目;1:药品
9
PaySum
金额
10.2
Not null
10
Factory
生产厂家
100
11
ItemType
项目类别代码
10
Not null
中心标准代码
12
Frequency
使用频次
30
13
Dosage
剂型
10
14
Nums
每次用量
5
15
Days
执行天数
4
16
CheckNo
审批编号
10
17
DoctorName
开方医生
20
18
DepartName
开方科室
20
19
PrescribeNo
处方号
10
16
DistrictID
归属地区ID
5
1:路桥;2:椒江;3:仙居
l 出参定义
数据集个数:2。
数据集名称及内容:
计算结果
CalResult
序号
参数
说明
最大长度
约束
备注
1
TotalFee
总金额
10.2
元
2
ZLFee
自理金额
10.2
3
ZFFee
自费金额
10.2
4
PaySelf
自负金额
10.2
5
Fund
报销金额
10.2
6
AddFund
门诊直保金额
10.2
7
OverFund
超过最高报销额的金额
10.2
8
LowFee
在起付线以下的应付金额
10.2
9
AccumFund
累计报销金额
10.2
10
AccumFee
累计报销医疗费
10.2
11
AccumNum
累计报销次数
10
12
TransNo
交易流水号
19
13
TransTime
中心交易时间
20
yyyy-mm-dd hh:mm:ss
14
OutFund
门诊报销金额
10.2
15
DistrictID
计算分段信息
CalSect
序号
参数
说明
最大长度
约束
备注
1
SectNo
分段号
19
元
2
SectName
分段名称
19
3
EndPay
分段最高限额
10.2
4
PayPercent
报销比例
10.2
5
Fund
报销金额
10.2
3.2.2 门诊结算取消(800202)
l 业务功能编码
800202
l 功能描述
门诊结算取消。
l 入参定义
数据集个数:1。
数据集名称及内容:
InHosInfo
序号
参数
说明
最大长度
约束
备注
1
TransNo
交易流水号
19
NotNull
2
HosCode
医院编号
10
Not null
3
FarmerCode
农户个人编号
20
Not null
3
InvoiceNo
发票号
20
Not null
4
MakerName
经办人
20
Not null
l 出参定义
计算结果
CalResult
序号
参数
说明
最大长度
约束
备注
1
TotalFee
总金额
19
元
2
ZLFee
自理金额
19
3
ZFFee
自费金额
19
4
PaySelf
自负金额
19
5
Fund
报销金额
6
AddFund
门诊直保金额
10.2
7
OverFund
超过最高报销额的金额
19
8
LowFee
在起付线以下的应付金额
9
AccumFund
累计报销金额
19
10
AccumFee
累计报销医疗费
19
11
AccumNum
累计报销次数
12
TransTime
中心交易时间
20
yyyy-mm-dd hh:mm:ss
13
TransNo
交易流水号
19
14
OutFund
门诊报销金额
10.2
计算分段信息
CalSect
序号
参数
说明
最大长度
约束
备注
1
SectNo
分段号
19
元
2
SectName
分段名称
19
3
EndPay
分段最高限额
19
4
PayPercent
报销比例
19
5
Fund
报销金额
19
3.2.3 门诊特殊病种结算(800203)
l 业务功能编码
800203
l 功能描述
门诊特殊病种结算。
l 入参定义
数据集个数:2。
数据集名称及内容:
InHosInfo
序号
参数
说明
最大长度
约束
备注
1
FarmerCode
农户个人编号
20
Not null
2
HosCode
医院编号
10
Not null
3
OutPatientNo
门诊号
20
4
InvoiceNo
发票号
20
Not null
5
OutPatientDate
门诊时间
10
Not null
YYYY-MM-DD
6
BussType
结算类别
1
Not null
1:住院;2:门诊;3:特殊病种
7
MakerName
经办人
20
Not null
8
DiseaseCode
疾病代码
10
Not null
统一ICD-10码
9
OutResult
疾病转归
10
10
IsBalance
是否预结
1
Not null
0:预结算;1:结算
InHosDetail
序号
参数
说明
最大长度
约束
备注
1
MedDate
发生时间
10
Not null
YYYY-MM-DD
2
ItemHosCode
项目医院编码
10
Not null
3
ItemName
项目名称
100
Not null
4
Specs
规格
50
5
Unit
单位
20
Not null
6
Num
数量
5
Not null
7
Price
单价
10.4
Not null
8
IsDrug
是否药品
1
Not null
0:诊疗项目;1:药品
9
PaySum
金额
10.2
Not null
10
Factory
生产厂家
100
11
ItemType
项目类别代码
10
Not null
中心标准代码
12
Frequency
使用频次
30
13
Dosage
剂型
10
14
Nums
每次用量
5
15
Days
执行天数
4
16
CheckNo
审批编号
10
17
DoctorName
开方医生
20
18
DepartName
开方科室
20
19
PrescribeNo
处方号
10
16
DistrictID
归属地区ID
5
1:路桥;2:椒江;3:仙居
l 出参定义
数据集个数:2。
数据集名称及内容:
计算结果
CalResult
序号
参数
说明
最大长度
约束
备注
1
TotalFee
总金额
10.2
元
2
ZLFee
自理金额
10.2
3
ZFFee
自费金额
10.2
4
PaySelf
自负金额
10.2
5
Fund
报销金额
10.2
6
AddFund
门诊直保金额
10.2
7
OverFund
超过最高报销额的金额
10.2
8
LowFee
在起付线以下的应付金额
10.2
9
AccumFund
累计报销金额
10.2
10
AccumFee
累计报销医疗费
10.2
11
AccumNum
累计报销次数
10
12
TransNo
交易流水号
19
13
TransTime
中心交易时间
20
yyyy-mm-dd hh:mm:ss
计算分段信息
CalSect
序号
参数
说明
最大长度
约束
备注
1
SectNo
分段号
19
元
2
SectName
分段名称
19
3
EndPay
分段最高限额
10.2
4
PayPercent
报销比例
10.2
5
Fund
报销金额
10.2
3.3、住院交易(8003)
3.3.1 住院登记(800301)
l 业务功能编码
800301
l 功能描述
住院病人信息登记,并保存入院时间、入院诊断等业务信息
l 入参定义
数据集个数:1。
数据集名称及内容:
InHosInfo:
序号
参数
说明
最大长度
约束
备注
1
FarmerCode
农户个人编号
20
Not null
2
DiseaseCode
疾病代码
10
Not null
统一ICD-10码
3
DiseaseName
入院诊断
300
4
InHosDate
入院时间
10
Not null
YYYY-MM-DD
5
HosCode
医院编号
10
Not null
6
InHosNo
住院号
20
Not null
7
Register
入院经办人员
10
Not null
8
InDepart
入院科室
20
9
InErea
入院病区
20
10
InBedNo
入院病床号
10
l 出参定义
数据集个数:1。
数据集名称及内容:
CalResult
序号
参数
说明
最大长度
约束
备注
1
TransNo
交易流水号
19
元
3.3.2 住院明细上传(800302)
l 业务功能编码
800302
l 功能描述
住院明细上传。
l 入参定义
数据集个数:2。
数据集名称及内容:
InHosInfo
序号
参数
说明
最大长度
约束
备注
1
TransNo
交易流水号
18
Not null
2
HosCode
医院编号
10
Not null
3
InHosNo
住院号
20
Not null
InHosDetail
序号
参数
说明
最大长度
约束
备注
1
MedDate
发生时间
10
Not null
YYYY-MM-DD
2
ItemHosCode
项目医院编码
10
Not null
3
ItemName
项目名称
100
Not null
4
Specs
规格
50
5
Unit
单位
20
Not null
6
Num
数量
5
Not null
7
Price
单价
10.4
Not null
8
IsDrug
是否药品
1
Not null
0:诊疗项目;1:药品
9
PaySum
金额
10.2
Not null
10
Factory
生产厂家
100
11
ItemType
项目类别代码
10
Not null
中心标准代码,可下载,详见800406。
门诊用药/诊疗项目,不符合病种用药/诊疗项目请传(自费:99)
99为上述项目专用,其他项目传中心标准代码
12
Frequency
使用频次
30
13
Dosage
剂型
10
14
Nums
每次用量
5
15
Days
执行天数
4
16
CheckNo
审批编号
10
17
DoctorName
开方医生
20
18
DepartName
开方科室
20
19
PrescribeNo
处方号
10
20
HosFeeID
医院费用费用号
18
Not null
医院费用的唯一标识
21
IsAppend
是否出院带药
1
NotNull
1:是出院带药;0其他药品以及项目
l 出参定义
无
3.3.3 住院预结(800303)
l 业务功能编码
800303
l 功能描述
住院费用预结算。
l 入参定义
数据集个数:1。
数据集名称及内容:
InHosInfo
序号
参数
说明
最大长度
约束
备注
1
TransNo
交易流水号
18
Not null
2
HosCode
医院编号
10
Not null
3
InHosNo
住院号
20
Not null
4
FarmerCode
农户编号
20
Not null
l 出参定义
数据集个数:1。
数据集名称及内容:
CalResult
序号
参数
说明
最大长度
约束
备注
1
TotalFee
总金额
19
元
2
ZLFee
自理金额
19
3
ZFFee
自费金额
19
4
PaySelf
自负金额
19
5
Fund
报销金额
6
OverFund
超过最高报销额的金额
19
7
LowFee
在起付线以下的应付金额
8
AccumFund
累计报销金额
19
9
AccumFee
累计报销医疗费
19
10
AccumNum
累计报销次数
11
AddFund
优扶金额
10.2
12
InsureMedFee
农保纳入金额
10.2
13
PayPercent
医院打折比例
10.2
14
HosLevel
医院等级
10
16
DistrictID
归属地区ID
5
1:路桥;2:椒江;3:仙居
计算分段信息
CalSect
序号
参数
说明
最大长度
约束
备注
1
SectNo
分段号
19
元
2
SectName
分段名称
19
3
EndPay
分段最高限额
19
4
PayPercent
报销比例
19
5
Fund
报销金额
19
3.3.4 住院结算(800304)
l 业务功能编码
800304
l 功能描述
住院费结算。
l C入参定义
数据集个数:1。
数据集名称及内容:
InHosInfo
序号
参数
说明
最大长度
约束
备注
1
TransNo
交易流水号
18
Not Null
2
FarmerCode
农户个人编号
3
HosCode
医院编号
10
Not null
4
InHosNo
住院号
20
Not null
5
InvoiceNo
单据号
20
Not null
6
OutHosDate
出院日期
10
Not null
YYYY-MM-DD
展开阅读全文