Changeset 636 for FOIAVistA/tag/r/HEALTH_LEVEL_SEVEN-HL/HLOAPI1.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/HLOAPI1.m
r628 r636 1 HLOAPI1 ;ALB/CJM-HL7 - Developer API's for sending & receiving messages(continued) ;0 7/18/20072 ;;1.6;HEALTH LEVEL SEVEN;**126,132,134 ,137**;Oct 13, 1995;Build 211 HLOAPI1 ;ALB/CJM-HL7 - Developer API's for sending & receiving messages(continued) ;02/06/2007 2 ;;1.6;HEALTH LEVEL SEVEN;**126,132,134**;Oct 13, 1995;Build 30 3 3 ;Per VHA Directive 2004-038, this routine should not be modified. 4 4 ; … … 54 54 .I '$G(HLMSTATE("BODY")),'$G(HLMSTATE("UNSTORED LINES")) S ERROR="MESSAGE NOT YET CREATED" Q 55 55 .; 56 .I $$CHKPARMS^HLOAPI2(.HLMSTATE,.PARMS,.ERR1)&$$CHKWHO ^HLOAPI2(.HLMSTATE,.WHOTO,.ERR2) D56 .I $$CHKPARMS^HLOAPI2(.HLMSTATE,.PARMS,.ERR1)&$$CHKWHO(.HLMSTATE,.WHOTO,.ERR2) D 57 57 ..I $$SEND(.HLMSTATE,.ERROR) S SUCCESS=1 58 58 .E D 59 . .S ERROR=$G(ERR1)_": "_$G(ERR2)60 . .D DONTSEND(.HLMSTATE,ERROR)59 .S ERROR=$G(ERR1)_": "_$G(ERR2) 60 .D DONTSEND(.HLMSTATE,ERROR) 61 61 K PARMS,WHOTO 62 62 Q $S(SUCCESS:HLMSTATE("IEN"),1:0) … … 106 106 .K STATE M STATE=HLMSTATE S STATE("IEN")="" 107 107 .S ERROR="" 108 .I $$CHKWHO ^HLOAPI2(.STATE,.WHO,.ERROR) D108 .I $$CHKWHO(.STATE,.WHO,.ERROR) D 109 109 ..I $$SEND(.STATE,.ERROR) D 110 110 ...S WHOTO(I,"QUEUED")=1 … … 190 190 ; 191 191 I '$$SAVEMSG^HLOF778(.HLMSTATE) S ERROR="$$SAVE^HLOF778 FAILED!" Q 0 192 I HLMSTATE("BATCH"),$L($G(HLMSTATE("STATUS","SEQUENCE QUEUE"))) S ERROR="SEQUENCE QUEUES NOT SUPPORTED FOR BATCH MESSAGES" Q 0 193 I $L($G(HLMSTATE("STATUS","SEQUENCE QUEUE"))) D 194 .S HLMSTATE("STATUS","MOVED TO OUT QUEUE")=$$SQUE^HLOQUE(HLMSTATE("STATUS","SEQUENCE QUEUE"),HLMSTATE("STATUS","LINK NAME"),$G(HLMSTATE("STATUS","PORT")),HLMSTATE("STATUS","QUEUE"),HLMSTATE("IEN")) D:HLMSTATE("STATUS","MOVED TO OUT QUEUE") 195 ..S $P(^HLB(HLMSTATE("IEN"),5),"^",2)=1 196 E D 197 .D OUTQUE^HLOQUE(HLMSTATE("STATUS","LINK NAME"),$G(HLMSTATE("STATUS","PORT")),HLMSTATE("STATUS","QUEUE"),HLMSTATE("IEN")) 192 D OUTQUE^HLOQUE(HLMSTATE("STATUS","LINK NAME"),$G(HLMSTATE("STATUS","PORT")),HLMSTATE("STATUS","QUEUE"),HLMSTATE("IEN")) 198 193 Q HLMSTATE("IEN") 199 194 ; 200 195 DONTSEND(HLMSTATE,ERROR) ; 201 ;This procedure does NOT send a message. Rather, it creates an entry in file 778 with the status ER. 196 ;This procedure does NOT send a message. Rather, it creates an entry in file 778 with the 197 ;of "SE". 202 198 ;Input: 203 199 ; HLMSTATE - pass-by-reference … … 207 203 I HLMSTATE("UNSTORED LINES"),'$$SAVEMSG^HLOF777(.HLMSTATE) ; just continue 208 204 ; 209 S HLMSTATE("STATUS")=" ER"205 S HLMSTATE("STATUS")="SE" 210 206 S HLMSTATE("STATUS","PURGE")=$$FMADD^XLFDT(HLMSTATE("DT/TM CREATED"),HLMSTATE("SYSTEM","ERROR PURGE")) 211 207 S HLMSTATE("STATUS","ERROR TEXT")=$G(ERROR) 212 208 I '$$SAVEMSG^HLOF778(.HLMSTATE) ;already reported an error to the app 213 209 Q 210 ; 211 CHKWHO(HLMSTATE,WHOTO,ERROR) ; 212 N RETURN,I 213 S RETURN=1 214 I '$$CHECKWHO^HLOASUB1(.WHOTO,.RETURN,.ERROR) S RETURN=0 215 ; 216 ;move parameters into HLMSTATE 217 S HLMSTATE("STATUS","LINK IEN")=$G(RETURN("LINK IEN")) 218 S HLMSTATE("STATUS","LINK NAME")=$G(RETURN("LINK NAME")) 219 S HLMSTATE("STATUS","PORT")=$P($G(RETURN("RECEIVING FACILITY",2)),":",2) 220 S HLMSTATE("HDR","RECEIVING APPLICATION")=$G(RETURN("RECEIVING APPLICATION")) 221 F I=1:1:3 S HLMSTATE("HDR","RECEIVING FACILITY",I)=$G(RETURN("RECEIVING FACILITY",I)) 222 Q RETURN
Note:
See TracChangeset
for help on using the changeset viewer.