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

AGMPHLBU.m

Go to the documentation of this file.
  1. AGMPHLBU ; IHS/SD/TPF - HLO MPI A08 BACKGROUND UPDATE TASK ;
  1. ;;7.2;IHS PATIENT REGISTRATION;**1,6**;JAN 07, 2011;Build 23
  1. ;
  1. ;RTN RUNS IN BACKGROUND AND TRAVERSES THE ADT/HL PIVOT FILE
  1. ;ANY RECORDS WITH FIELD 'REQUIRES TRANSMISSION' SET TO 'YES'
  1. A08UPDT ;EP - SEND A08 MESSAGES TO MPI
  1. D UPDATE^AGMPCHK ;Added 9/8 by SWH, this routine will update the AGMPCHK list. It was added here to avoid adding a new TASK in taskman
  1. L +^AGMPHLBU:5 Q:'$T ;DO NOT START IF ALREADY RUNNING
  1. N PIVOT,TYPE,DFN,HLMSG,TEMPDUZ2
  1. S TEMPDUZ2=DUZ(2)
  1. S TYPE=4 ;THIS IS NOT AN HL7 EVENT
  1. ;FOR LOOP TO DO OTHER TYPES IN FUTURE?
  1. ;4 = ONLY DO REGISTRATION UPDATES
  1. S PIVOT=""
  1. F S PIVOT=$O(^VAT(391.71,"AXMIT",4,PIVOT)) Q:'PIVOT D
  1. .S DFN=$P($G(^VAT(391.71,PIVOT,0)),U,3) ;PATIENT
  1. .I $$DEMOPAT^AGMPHLU(DFN) Q ; 9/13/2017 - GCD - CR 7713 - Don't upload demo patients.
  1. .S DUZ(2)=$P($G(^VAT(391.71,PIVOT,9999999)),U)
  1. .I DUZ(2)=""!(DUZ(2)=0) D Q ;QUIT AND TRY AGAIN
  1. ..;D NOTIF^AGMPIHLO(DFN,"PIVOT="_PIVOT_" DUZ2="_$P($G(^VAT(391.71,PIVOT,9999999)),U))
  1. ..;THIS IS SOME TYPE OF TIMING ISSUE. MARK WILLIAMS IS INVESTIGATING
  1. ..;VAFCDD01 DOES NOT POPULATE DUZ2 IN ADT/HL7 PIVOT FILE
  1. .S HLMSG=$S(TYPE=4:"A08("_DFN_")",1:"OTHER") ;DO MSG BASED ON TYPE OF EVENT
  1. .D @HLMSG
  1. S DUZ(2)=TEMPDUZ2 ;RESTORE TASK TO ORIGINAL DUZ(2)
  1. L -^AGMPHLBU ;CLEAR RUNNING FLAG
  1. Q
  1. ;
  1. A08(DFN) ;EP - CREATE A08 MESSAGE
  1. I $$DEMOPAT^AGMPHLU($G(DFN)) Q ; 9/13/2017 - GCD - CR 7713 - Don't upload demo patients.
  1. N SUCCESS
  1. D CREATMSG^AGMPIHLO(DFN,"A08",,.SUCCESS) ;THIS COULD BE ADDED TO THE AG UPDATE PATIENT PROTOCOL AS THE ENTRY ACTION
  1. I 'SUCCESS D NOTIF^AGMPIHLO(DFN,"Unable to create A08 to update patient on MPI from AGMPHHBU") Q
  1. I SUCCESS[("NOT DEFINED IN PID^AGMPIHL1") Q ;TIMING ISSUE TRY AGAIN
  1. I SUCCESS D SETXMIT(PIVOT)
  1. ;KICK OFF PROTOCOL
  1. S X="AG UPDATE A PATIENT",DIC=101,INDA=DFN
  1. D EN^XQOR
  1. Q
  1. ;
  1. OTHER ;EP - STUB FOR OTHER TYPES - FUTURE USE
  1. Q
  1. ;
  1. SETXMIT(PIVOT) ;EP - RESET TRANSMIT FLAG
  1. K DIE,DIR,DIC,DA,DR
  1. S DIE="^VAT(391.71,"
  1. S DA=PIVOT
  1. S DR=".06///1;.08///0" ;SET AS TRANSMITED AND NO TRANSMISSION REQUIRED
  1. D ^DIE
  1. Q