[623] | 1 | HLOCLNT3 ;ALB/CJM- Updates messages missing application acks - 10/4/94 1pm ;03/22/2007
|
---|
| 2 | ;;1.6;HEALTH LEVEL SEVEN;**126,130,134**;Oct 13, 1995;Build 30
|
---|
| 3 | ;Per VHA Directive 2004-038, this routine should not be modified.
|
---|
| 4 | ;
|
---|
| 5 | DOWORK(WORK) ;
|
---|
| 6 | ;
|
---|
| 7 | N CUTOFF,MSGIEN,QUIT,NOW,SYSTEM
|
---|
| 8 | S NOW=$$NOW^XLFDT
|
---|
| 9 | S QUIT=0
|
---|
| 10 | D SYSPARMS^HLOSITE(.SYSTEM)
|
---|
| 11 | S PURGE=$$FMADD^XLFDT($$NOW^XLFDT,,24*SYSTEM("ERROR PURGE"))
|
---|
| 12 | ;
|
---|
| 13 | ;7 day wait for an application ack is more than reasonable
|
---|
| 14 | S CUTOFF=$$FMADD^XLFDT(NOW,-3)
|
---|
| 15 | ;
|
---|
| 16 | S MSGIEN=+$G(^HLTMP("LAST IEN CHECKED FOR MISSING APPLICATION ACK"))
|
---|
| 17 | F S MSGIEN=$O(^HLB(MSGIEN)) Q:'MSGIEN Q:MSGIEN>99999999999 D Q:QUIT
|
---|
| 18 | .N MSG,HDR
|
---|
| 19 | .Q:'$$GETMSG^HLOMSG(MSGIEN,.MSG)
|
---|
| 20 | .Q:'MSG("DT/TM")
|
---|
| 21 | .Q:'MSG("BODY")
|
---|
| 22 | .I MSG("DT/TM")>CUTOFF S:MSG("DT/TM CREATED")>CUTOFF QUIT=1,MSGIEN=MSGIEN-1 Q
|
---|
| 23 | .Q:MSG("STATUS")'=""
|
---|
| 24 | .Q:MSG("DIRECTION")'="OUT"
|
---|
| 25 | .Q:MSG("BATCH")
|
---|
| 26 | .Q:MSG("STATUS","APP ACK'D")
|
---|
| 27 | .;Q:MSG("STATUS","APP ACK RESPONSE")=""
|
---|
| 28 | .;message has been in a non-complete status for a longtime, pending an application ack - set status to error and schedule for purging
|
---|
| 29 | .S $P(^HLB(MSGIEN,0),"^",9)=PURGE
|
---|
| 30 | .S ^HLB("AD","OUT",PURGE,MSGIEN)=""
|
---|
| 31 | .S $P(^HLB(MSGIEN,0),"^",20)="AE"
|
---|
| 32 | .S $P(^HLB(MSGIEN,0),"^",21)="MISSING APPLICATION ACKNOWLEDGMENT"
|
---|
| 33 | .M HDR=MSG("HDR")
|
---|
| 34 | .Q:'$$PARSEHDR^HLOPRS(.HDR)
|
---|
| 35 | .S ^HLB("ERRORS","AE",$S($L(HDR("RECEIVING APPLICATION")):HDR("RECEIVING APPLICATION"),1:"UNKNOWN"),NOW,MSGIEN)=""
|
---|
| 36 | .D COUNT^HLOESTAT("OUT",HDR("RECEIVING APPLICATION"),HDR("SENDING APPLICATION"),$S(MSG("BATCH"):"BATCH",1:$G(HDR("MESSAGE TYPE"))),$G(HDR("EVENT")))
|
---|
| 37 | S:MSGIEN>99999999999 MSGIEN=0
|
---|
| 38 | S ^HLTMP("LAST IEN CHECKED FOR MISSING APPLICATION ACK")=MSGIEN
|
---|
| 39 | Q
|
---|