Changeset 636 for FOIAVistA/tag/r/HEALTH_LEVEL_SEVEN-HL/HLOSRVR2.m
- Timestamp:
- Dec 4, 2009, 8:26:01 PM (14 years ago)
- Location:
- FOIAVistA/tag/r
- Files:
-
- 1 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
FOIAVistA/tag/r/HEALTH_LEVEL_SEVEN-HL/HLOSRVR2.m
r628 r636 1 HLOSRVR2 ;ALB/CJM-HL7 - HLO Server ;07/20/2007 2 ;;1.6;HEALTH LEVEL SEVEN;**131,137**;Oct 13, 1995;Build 21 3 ;Per VHA Directive 2004-038, this routine should not be modified. 1 HLOSRVR2 ;ALB/CJM-HL7 - Sends an application ack over an open connection, for original mode ;02/04/2004 2 ;;1.6;HEALTH LEVEL SEVEN;**131**;Oct 13, 1995;Build 10 4 3 ; 5 4 NEWMSG(HLCSTATE,HLMSTATE,HDR) ; … … 49 48 S HLMSTATE("MSA",2)=HLMSTATE("ID") 50 49 Q 50 ; 51 ACKNOW(MSG,ERROR) ; 52 ;Sends the messge immediately if there is an open connection, otherwise 53 ;will return an error. 54 ; 55 N $ETRAP,$ESTACK S $ETRAP="G ERROR^HLOSRVR2" 56 N SENT 57 S SENT=0,ERROR="" 58 I '$G(HLCSTATE("CONNECTED")) D 59 .S ERROR="NOT CONNECTED" 60 .S MSG("STATUS")="TF" 61 E S MSG("STATUS")="SU" 62 S:'$G(MSG("DT/TM CREATED")) MSG("DT/TM CREATED")=$$NOW^XLFDT 63 S MSG("STATUS","PURGE")=$$FMADD^XLFDT(MSG("DT/TM CREATED"),$S($G(HLCSTATE("ERROR PURGE")):HLCSTATE("ERROR PURGE"),1:7)) 64 D 65 .I $G(MSG("UNSTORED LINES")),'$$SAVEMSG^HLOF777(.MSG) S ERROR="$$SAVE^HLOF777 FAILED!" Q 66 .I '$$SAVEMSG^HLOF778(.MSG) S ERROR="$$SAVE^HLOF778 FAILED!" Q 67 .Q:MSG("STATUS")'="SU" 68 .I '$$WRITEMSG^HLOCLNT1(.HLCSTATE,.MSG) S ERROR="TRANSMISSION FAILURE" Q 69 .S SENT=1 70 .D COUNT^HLOSTAT(.HLCSTATE,ACK("HDR","RECEIVING APPLICATION"),ACK("HDR","SENDING APPLICATION"),ACK("HDR","MESSAGE TYPE")_"~"_ACK("HDR","EVENT")) 71 ; 72 END ; 73 I 'SENT,MSG("STATUS")="SU",$G(MSG("IEN")) D 74 .Q:'$D(^HLB(MSG("IEN"),0)) 75 .S MSG("STATUS")="TF" 76 .S MSG("STATUS","ERROR TEXT")=ERROR 77 .S $P(^HLB(MSG("IEN"),0),"^",20)=MSG("STATUS") 78 .S $P(^HLB(MSG("IEN"),0),"^",21)=MSG("STATUS","ERROR TEXT") 79 .S ^HLB("ERRORS","TF",$S($L($G(MSG("HDR","RECEIVING APPLICATION"))):MSG("HDR","RECEIVING APPLICATION"),1:"UNKNOWN"),MSG("DT/TM CREATED"),IEN)="" 80 ; 81 Q SENT 82 ; 83 ERROR ;error trap for ACKNOW 84 S SENT=0,ERROR="TRANSMISSION FAILURE:"_$P($ECODE,",",1,2) 85 S $ETRAP="D UNWIND^%ZTER" 86 ; 87 ;don't log some common errors 88 I ($ECODE["READ")!($ECODE["NOTOPEN")!($ECODE["DEVNOTOPN")!($ECODE["WRITE")!($ECODE["OPENERR") D 89 .;nothing! 90 E D 91 .D ^%ZTER 92 G END^HLOSRVR2 93 Q
Note:
See TracChangeset
for help on using the changeset viewer.