医院实验室lis系统开发带源码

LIS系统是医院检验科用的系统,主要是处理仪器的原始数据,生成检验报告,给临床做诊断用。本套系统是支持自动审核、自动打印、批量打印,报告单设置等多项功能,包含的模块有:主任管理、条码系统、血库系统、检验系统、自助打印终端,功能模块齐全,功能强大,适用于大型三甲医院,二级医院以及卫生院等各个医疗机构,并且还可以对外提供报告查询等服务。现在诚意寻合作,源码可售,也可项目合作,仪器接口,his接口,条码双工都可以做,源码或合作 ( dynn2018 )

下面是fla8000的解码程序代码:

blob lb_data
blob lb_start
long ll_i
long ll_len
long ll_start
long ll_flag
long ll_year
long ll_month
long ll_day
long ll_hour
long ll_min
long ll_sec
long ll_resultflag
string ls_result

ll_len = len(ib_data)
if ll_len < 44 then
return 0
end if

lb_start = blob(space(2) + char(253))
ll_len -= 43

for ll_i = 1 to ll_len
if blobmid(ib_data,ll_i,3) = lb_start then
ll_start = ll_i
exit
end if
next
if ll_start <= 0 then
return 1
end if
//从第一个位置开始 截取44位
lb_data = blobmid(ib_data,ll_start,44)
//截取第一条数据之外的剩余数据
ib_data = blobmid(ib_data,44 + ll_start)

ll_resultflag = in_dec.uf_getblobasc(blobmid(lb_data,4,1))

ll_flag = in_dec.uf_getblobasc(blobmid(lb_data,42,1))

if ll_flag <> 3 then
else
if is_samplenomode = “1” then
is_sampleno = string(in_dec.uf_getblobasc(blobmid(lb_data,6,1)) + in_dec.uf_getblobasc(blobmid(lb_data,7,1)) * 256)
else
is_sampleno = string(in_dec.uf_getblobasc(blobmid(lb_data,36,1)) + in_dec.uf_getblobasc(blobmid(lb_data,37,1)) * 256) + string(in_dec.uf_getblobasc(blobmid(lb_data,38,1)) + in_dec.uf_getblobasc(blobmid(lb_data,39,1)) * 256) + string(in_dec.uf_getblobasc(blobmid(lb_data,40,1)) + in_dec.uf_getblobasc(blobmid(lb_data,41,1)) * 256)
end if

event ue_dealsampleno(is_sampleno,true)
ll_year = 2000 + in_dec.uf_getblobasc(blobmid(lb_data,29,1))
ll_month = in_dec.uf_getblobasc(blobmid(lb_data,30,1))
ll_day = in_dec.uf_getblobasc(blobmid(lb_data,31,1))
idt_sampleda = datetime(date(ll_year,ll_month,ll_day),00:00:00)
ll_hour = in_dec.uf_getblobasc(blobmid(lb_data,32,1))
ll_min = in_dec.uf_getblobasc(blobmid(lb_data,33,1))
ll_sec = in_dec.uf_getblobasc(blobmid(lb_data,34,1))
idt_sampleresulttime = datetime(date(idt_sampleda),time(ll_hour,ll_min,ll_sec))
wf_getsampleresulttime(string(idt_sampleresulttime,"yyyymmddhhmmss"))
ls_result = string(in_dec.uf_getfloat(blobmid(lb_data,8,4)),"0.00##")

choose case ll_resultflag
	case 1, 4, 5
		if dec(ls_result) < 1 then
			ls_result = "<1.00"
		else
			if dec(ls_result) > 50 then
				ls_result = ">50.00"
			end if
		end if
		wf_addresult("cTnI",ls_result)
	case 6
		goto label_0
	case 7
		if dec(ls_result) < 0.10 then
			ls_result = "<0.10"
		else
			if dec(ls_result) > 2.0 then
				ls_result = ">2.00"
			end if
		end if
		wf_addresult("D-Dimer",ls_result)
	case else
		if dec(ls_result) <> 0 then
			wf_addresult(string(ll_resultflag),ls_result)
		end if
end choose

ls_result = string(in_dec.uf_getfloat(blobmid(lb_data,12,4)),"0.00##")

if ((ll_resultflag = 5) or (dec(ls_result) <> 0)) then

	if dec(ls_result) < 5 then
		ls_result = "<5.0"
	else

		if dec(ls_result) > 100 then
			ls_result = ">100.0"
		end if

	end if

	wf_addresult("CKMB",ls_result)
end if

ls_result = string(in_dec.uf_getfloat(blobmid(lb_data,16,4)),"0.00##")

if ((ll_resultflag = 5) or (dec(ls_result) <> 0)) then

	if dec(ls_result) < 50 then
		ls_result = "<50.0"
	else

		if dec(ls_result) > 1000 then
			ls_result = ">1000.0"
		end if

	end if

	wf_addresult("Myo",ls_result)
end if

ls_result = string(in_dec.uf_getfloat(blobmid(lb_data,20,4)),"0.00##")

if ((ll_resultflag = 3) or (dec(ls_result) <> 0)) then

	if dec(ls_result) < 0.5 then
		ls_result = "<0.5"
	else

		if dec(ls_result) > 64 then
			ls_result = ">64.0"
		end if

	end if

	wf_addresult("CRP",ls_result)
end if

ls_result = string(in_dec.uf_getfloat(blobmid(lb_data,24,4)),"0.00##")

choose case ll_resultflag
	case 2, 4

		if dec(ls_result) < 100 then
			ls_result = "<100"
		else

			if ll_resultflag = 2 and dec(ls_result) > 15000 then
				ls_result = ">15000"
			else

				if ll_resultflag = 4 and dec(ls_result) > 12000 then
					ls_result = ">12000"
				end if

			end if

		end if

		wf_addresult("NT-proBNP",ls_result)
	case else

		if dec(ls_result) <> 0 then
			wf_addresult("NT-proBNP",ls_result)
		end if

end choose

wf_calcsample()
wf_sendrecmsg()

end if

label_0:

if len(ib_data) >= 44 then
event ue_redecode()
end if

return 0

你可能感兴趣的:(lis系统源码)