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

AMHEYTAP.m

Go to the documentation of this file.
  1. AMHEYTAP ; IHS/CMI/LAB - GENERATE TAPE OF MHSS TRANSACTIONS ;
  1. ;;4.0;IHS BEHAVIORAL HEALTH;**3**;JUN 18, 2010;Build 10
  1. ;
  1. ;
  1. ; AMH("QFLG") values set by this routine:
  1. ; Value Meaning
  1. ; 0 All ok
  1. ; 1 Site file error (^AMHSCHK)
  1. ; 41 No MHSS transactions to send
  1. ; 30 Unable to lock transaction global
  1. ; 43 Device not ready or open error (^AMHOPEN)
  1. ; 44 Tape write error [DSM only]
  1. ; 45 Operator "^" or NULL out [DSM only] (^AMHOPEN)
  1. ; 46 Unable to determine Operating System
  1. ;
  1. START ;
  1. S AMH("QFLG")=0
  1. D GETLOG
  1. I AMH("RUN LOG")="" K AMH("RUN LOG") Q
  1. D EN
  1. K AMH("RUN LOG"),AMHS,AMH
  1. Q
  1. EN ;ENTRY POINT
  1. D BASICS ; Do basic initialization
  1. I AMH("QFLG") D EOJ Q
  1. S XBGL="BHSXDATA",XBMED="F",XBNAR="BH FACILITY",XBTLE="BH DATA TRANSMISSION TO HQ"
  1. K XBS1
  1. S XBQ="N"
  1. S Y=$P($G(^AMHSITE(DUZ(2),18)),U,10)
  1. I Y="" S XBS1="AMH AUTO SEND",XBQ="Y"
  1. I Y=1!(Y=3) S XBS1="AMH AUTO SEND"
  1. I Y=2!(Y=3) S XBQ="Y"
  1. D ^XBGSAVE
  1. ;I XBFLG=-1,$G(XBFLG(1))["uucp" W:'$D(ZTQUEUED) !,$C(7),$C(7),XBFLG(1) G COMP
  1. ;I XBFLG=-1 S AMH("QUIT")="" W:'$D(ZTQUEUED) !,$C(7),$C(7),XBFLG(1) G EOJ
  1. ;update log file .15 with date
  1. COMP K DR,DIE,DA S DIE="^AMHXLOG(",DR=".15///C",DA=AMH("RUN LOG") D CALLDIE^AMHLEIN
  1. D EOJ
  1. Q
  1. ;
  1. GETLOG ;
  1. S AMH("RUN LOG")=""
  1. S DIC("S")="I $P(^AMHXLOG(Y,0),U,15)=""P""",DIC="^AMHXLOG(",DIC(0)="AEMQ" D ^DIC K DIC,DA
  1. I Y<0 Q
  1. S AMH("RUN LOG")=+Y
  1. Q
  1. BASICS ; SET VARIABLES, LOCK GLOBAL, INSURE DATA
  1. K AMH("QUIT")
  1. D:'$D(DUZ(2))#2 ^XBKVAR
  1. S AMH("QFLG")=0,AMH("TAPE COUNT")=0
  1. CHKSITE ; CHECK SITE FILE
  1. I '$D(^AMHSITE(DUZ(2),0)) W:'$D(ZTQUEUED) !!,"*** Site file has not been setup! ***" S AMH("QFLG")=1 Q
  1. I '$D(^AMHSITE(DUZ(2))) W:'$D(ZTQUEUED) !!,"*** RUN LOCATION not in SITE file!" S AMH("QFLG")=2 Q
  1. ;
  1. Q:AMH("QFLG")
  1. I '$D(^BHSXDATA) W:'$D(ZTQUEUED) !!,"*** No MHSS transactions to send! ***" S AMH("QFLG")=28 Q
  1. I '$D(^BHSXDATA(0)) W:'$D(ZTQUEUED) !!,"*** The Transaction process NEVER complete properly!!" S AMH("QFLG")=29 Q
  1. L +^BHSXDATA:15 E W:'$D(ZTQUEUED) !!,"*** Unable to lock transaction global! ***" S AMH("QFLG")=30 Q
  1. I $P(^AMHXLOG(AMH("RUN LOG"),0),U,15)'="P" W:'$D(ZTQUEUED) !!,$C(7),$C(7),"The Transaction Generation process never successfully completed!!",!! S AMH("QFLG")=31 Q
  1. K AMH("QUIT")
  1. W:'$D(ZTQUEUED) !,"The transactions will be written to a FILE"
  1. CONT Q:$D(ZTQUEUED)
  1. S DIR(0)="Y",DIR("A")="Do you want to continue",DIR("B")="Y" K DA D ^DIR K DIR
  1. I $D(DIRUT)!('Y) W !,"Transactions are NOT being written to an output device",! S AMH("QUIT")="",AMH("QFLG")=99 Q
  1. Q
  1. ;
  1. EOJ ;
  1. I 'AMH("QFLG"),'$D(AMH("QUIT")) K ^BHSXDATA ;UNSUBSCRIPTED GLOBALS ARE CMB STANDARD SCRATCH GLOBALS FOR TRANSMITTING DATA TO DATA CENTER - MUST BE KILLED
  1. K AMHV("TX"),AMH("XX"),XBFLG,XBGL,XBMED,XBNAR,XBTLE
  1. K DIC,D,D0,DQ,DIR,DO
  1. L -^BHSXDATA
  1. Q