一站式体检管理系统#体检管理软件#体检软件#体检系统#一站式#提高70%的体检工作效率#检验科综合管理系统#适合于:医院体检中心,社会体检中心,新农合体检登记,户外体检车,体检站等
软件特点:支持患者手机【微信公众号】预览和下载体检报告单。有网络的地方就可以办公,数据实时同步,支持单位体检人员信息Excel批量导入,支持由身份证号自动生成【出生日期,年龄,性别】,支持领导标识,支持设备读身份证免手动录入。
支持化验科、影像科等众多设备扫码自动获取患者信息和回传结果, 免费提供设备对接Pacs系统和Lis系统并与体检系统无缝对接(免手动录入)。
支持多个检查pdf报告文件归档。
支持医生实时预览患者的各项检查结果,并能快速录入该患者的[小结]、[建议]、[总结]、[结论]。
支持送检机构[金域] [达安]等无缝对接(免手动录入)自动下载数据。
体检管理软件可大大减轻基层工作人员压力提高70%的工作效率(简单•高效)
function TechoRes.GetMessageData: TrtArr;
var
temp:array of byte;
i,j : integer;
rt : TrtArr;
p_Element:PElement;
begin
setlength(temp,echoResPdu.pduLen + 6);
echoResPdu.pduLen := Htonl(echoResPdu.pduLen);
echoResPdu.itemLen := htonl(echoResPdu.itemLen);
i :=0;
MoveMemory(@temp[i], @(echoResPdu.pduType) ,1);
i := i + 1;
temp[i] := 0;
i := i + 1;
MoveMemory(@temp[i], @(echoResPdu.pduLen) ,4);
i := i + 4;
MoveMemory(@temp[i], @(echoResPdu.itemLen) ,4);
i := i + 4;
MoveMemory(@temp[i], @(echoResPdu.contextID) ,1);
i := i + 1;
MoveMemory(@temp[i], @(echoResPdu.msgControlHeader) ,1);
i := i + 1;
for j := 0 to tagElementList.Count -1 do
begin
p_Element := Pelement(tagElementList.Items[j]);
MoveMemory(@temp[i], @((p_Element).tagGroup),2);
i := i + 2;
MoveMemory(@temp[i], @(p_Element.tagElement) ,2);
i := i + 2;
MoveMemory(@temp[i], @(p_Element.length) ,4);
i := i + 4;
MoveMemory(@temp[i], pansichar(p_Element.value),p_Element.length);
i := i + p_Element.length;
end;
rt.p:=AllocMem(SizeOf(temp));
rt.size := length(temp);
rt.p := Copy(temp);//将数组内容拷贝到指针
result := rt; //返回
end;
{ TAssociateRes }
procedure TAssociateRes.ConstructMessage(byteArray: array of Byte;
arrLen: Integer);
var
tempstream:TMemoryStream;
impUID,impVersion,appName,absStr,tsfStr :ansiString;
i ,bPos: Integer;
BR :TBinaryReader;
tsfStrArray : TBytes;
begin
//astream := TMemoryStream.Create;
try
tempstream := TMemoryStream.Create;
associateResPdu.appType :=$10;
associateResPdu.appLength :=(21);// htons(21);//pdu_associate_rq.appLength
appName := ‘1.2.840.10008.3.1.1.1’;//UIDs.DICOMApplicationContextName;//pdu_associate_rq.appName
setlength(associateResPdu.appName,length(appName));
for i := 0 to Length(associateResPdu.appName) -1 do
associateResPdu.appName[i] := byte(appName[i+1]);
presContextItem.transferSyntaxType := $40;
tempstream.Write(byteArray,arrLen);
tempstream.Position := 0;
BR := TBinaryReader.Create(tempstream,Tencoding.ASCII,false);
tempstream.Position := 76;
bPos := ntohs(br.ReadWord); //app length
tempstream.Position := tempstream.Position + bPos + 4;
presContextItem.PresContextID :=br.ReadByte; //$01;