Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: HLOCLNT3

HLOCLNT3.m

Go to the documentation of this file.
HLOCLNT3 ;ALB/CJM- Updates messages missing application acks - 10/4/94 1pm ;03/12/2012
 ;;1.6;HEALTH LEVEL SEVEN;**126,130,134,137,158**;Oct 13, 1995;Build 14
 ;Per VHA Directive 2004-038, this routine should not be modified.
 ;
DOWORK(WORK) ;
 ;
 N CUTOFF,MSGIEN,QUIT,NOW,SYSPURGE
 S NOW=$$NOW^XLFDT
 S QUIT=0
 D SYSPURGE^HLOSITE(.SYSPURGE)
 S PURGE=$$FMADD^XLFDT($$NOW^XLFDT,SYSPURGE("ERROR"))
 ;
 ;7 day wait for an application ack is more than reasonable
 S CUTOFF=$$FMADD^XLFDT(NOW,-7)
 ;
 S MSGIEN=+$G(^HLTMP("LAST IEN CHECKED FOR MISSING APPLICATION ACK"))
 F  S MSGIEN=$O(^HLB(MSGIEN)) Q:'MSGIEN  Q:MSGIEN>99999999999  D  Q:QUIT
 .N MSG,HDR
 .Q:'$$GETMSG^HLOMSG(MSGIEN,.MSG)
 .Q:'MSG("DT/TM")
 .Q:'MSG("BODY")
 .I MSG("DT/TM")>CUTOFF S:MSG("DT/TM CREATED")>CUTOFF QUIT=1,MSGIEN=MSGIEN-1 Q
 .Q:MSG("STATUS")'=""
 .Q:MSG("DIRECTION")'="OUT"
 .Q:MSG("BATCH")
 .Q:MSG("STATUS","APP ACK'D")
 .;Q:MSG("STATUS","APP ACK RESPONSE")=""
 .;message has been in a incomplete status for a longtime, pending an application ack - set status to error and schedule for purging
 .S $P(^HLB(MSGIEN,0),"^",9)=PURGE
 .S ^HLB("AD","OUT",PURGE,MSGIEN)=""
 .S $P(^HLB(MSGIEN,0),"^",20)="ER"
 .S $P(^HLB(MSGIEN,0),"^",21)="MISSING APPLICATION ACKNOWLEDGMENT"
 .M HDR=MSG("HDR")
 .Q:'$$PARSEHDR^HLOPRS(.HDR)
 .S ^HLB("ERRORS",$S($L(HDR("RECEIVING APPLICATION")):HDR("RECEIVING APPLICATION"),1:"UNKNOWN"),NOW,MSGIEN)=""
 .D COUNT^HLOESTAT("OUT",HDR("RECEIVING APPLICATION"),HDR("SENDING APPLICATION"),$S(MSG("BATCH"):"BATCH",1:$G(HDR("MESSAGE TYPE"))),$G(HDR("EVENT")))
 S:MSGIEN>99999999999 MSGIEN=0
 S ^HLTMP("LAST IEN CHECKED FOR MISSING APPLICATION ACK")=MSGIEN
 Q