找回密码
 欢迎注册
搜索
热搜: 活动 交友 discuz
查看: 1935|回复: 5

哪位帮个忙!多谢!

[复制链接]
发表于 2003-5-20 20:14:10 | 显示全部楼层 |阅读模式
能不能给我一个ADT^A19查询病人资料的一个HL7消息的例子.
特别是response消息.我构造的每次都出错.多谢.
发表于 2003-5-21 19:34:34 | 显示全部楼层

哪位帮个忙!多谢!

[这个贴子最后由zhuzhu在 2003/05/21 07:38pm 第 1 次编辑]

我找找看看,不过要等等,不过能不能说一下你构造的为什么出错吗?
 楼主| 发表于 2003-5-22 15:43:31 | 显示全部楼层

哪位帮个忙!多谢!

多谢,如果可能恳求您尽量快点,因为我已经咯住很久了.
我的代码您看看 setsegment 函数是定义message 的segment,setfield 函数定义segment的field.下面这些代码哪里有问题?请帮忙看看.
请求查询病人资料的消息是
MSH|^~\\&|His||Pacs||20030514140014865||ADT^A19|MSG0514|P|2.2|||||
QRD|20030514140014865|R|I|QRY20030514|||LI|1234|RES|ALL||
构造返回的消息代码如下但是构造不了.        
        SetSegment(myMsg, \'MSH\')"
        SetField( myMsg, \'|\', 1)"
        setField( myMsg, \'^~\\&\', 2);
        setField( myMsg, \'HIS\', 3)"
        setField( myMsg, \'PACS\', 5)"
        setField( myMsg, \'20030514140014865\', 7)"
        setField( myMsg, \'ADT\', 9)"
        SetFieldComponent(myMsg,\'A19\',9,0)"
        
        setField( myMsg, \'Msg20030514\', 10)"
        setField( myMsg, \'P\', 11)"
        setField( myMsg, \'2.2\', 12)"
        
        SetSegment( myMsg,\'MSA\')"
        SetField( myMsg,\'CA\',1)"
        SetField( myMsg,\'Msg20030514\',2)"
        setSegment(myMsg, \'QRD\')"
        setField( myMsg, \'20030514140014865\', 1)"
        setField( myMsg, \'R\', 2)"
        setField( myMsg, \'I\', 3)"
        setField( myMsg, \'QRY20030514\', 4)"
        setField( myMsg, \'LI\', 7)"
        setField( myMsg, \'PatientID\', 8)"
        setField( myMsg, \'RES\', 9)"
        setField( myMsg, \'ALL\', 10)"
      
      
     
        SetSegment(myMsg, \'PID\')"
        
        SetField( myMsg,\'1\',1)"
      
        SetField( myMsg,\'PatientID\',3)"
      
        SetField( myMsg,\'PatientName\',5)"
      
        SetField( myMsg,\'DOB\',7)"
      
        SetField( myMsg,\'Sex\',8)"
      
        SetField( myMsg,\'PatientAddress\' ,11)"
      
        SetField( myMsg,\'country\',12)"
        
        SetField( myMsg,\'Phonenumber\',13)"
      
        SetField( myMsg ,\'111-11-1111\',19)"
      
        SetSegment( myMsg ,\'PV1\')"
        SetField( myMsg ,\'1\',1)"
        SetField( myMsg ,\'fengjun\',7)"
发表于 2003-5-22 18:19:12 | 显示全部楼层

哪位帮个忙!多谢!

你可以尝试一个简单一点的,不要构造那么复杂,消息示例如下:
send:
MSH|^~\\&|HL7SEND|PC3517|ADT|PC3517|||ADT^A19|19977156725625||2.2|||||
QRD|199767526652652|R|I|QRYID|||15^RD|A%^A%|APN|PATIENT||
QRF|ADT|||||||
response:
MSH|^~\\&|ADT|PC3517|HL7SEND|PC3517|||ACK|19977156725625|P|2.2|||||
MSA|AE|19977156725625||||
仅包含消息确认
 楼主| 发表于 2003-5-28 10:56:44 | 显示全部楼层

哪位帮个忙!多谢!

郁闷,简单的消息确认也构造不了。
如果我只是要实现这个查询病人资料的单一功能。
我可以自己按照HL7的消息格式来定义几个函数来实现吗?
发表于 2003-6-2 17:25:02 | 显示全部楼层

哪位帮个忙!多谢!

是可以的,你甚至可以将HL7消息固定在程序中也是允许的,只要最终生成的消息结构是符合HL7格式的就可以。这是HL7开放的好处之一,呵呵,不过也是产生问题的地方。
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

快速回复 返回顶部 返回列表