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

DGQESC3.m

Go to the documentation of this file.
DGQESC3 ;ALB/JFP - VIC PREADMIT SCAN ROUTINE ; 01/09/96
 ;;5.3;REGISTRATION;**73,1015**;DEC 11,1996;Build 21
 ;;Per VHA Directive 10-93-142, this routine should not be modified.
 ;
ENS ; -- Entry point
 N DIR,Y
 ;
 S DIR(0)="YA"
 S DIR("A")="Download Scheduled Admissions to the VIC card station "
 S DIR("B")="NO"
 S DIR("?")="Enter yes to download data."
 D ^DIR
 I Y D  Q
 .; -- New Variables
 .N VAUTD
 .N DATE,DFNARR,CNT,Y,ERR,SDATE,EDATE,CLINIC,DFN,LDATE,IFN,ZTSTOP,RESULTS
 .N DGSNODE,DGSUB,DGJ,DGUTD,DGDV
 .N DIVFLAG,DIVISION,SELDIV
 .; -- Set variables
 .S VAUTD=1 ; -- All divisions selected
 .D NOW^%DTC S DATE=%
 .S DFNARR="^TMP(""DGQE-DFN"","_$J_")"
 .K @DFNARR
 .S CNT=0
 .; -- Check for multi divisional hospital
 .I $P(^DG(43,1,"GL"),"^",2)=1 D  Q:Y=-1
 ..D DIVISION^VAUTOMA
 .; -- Download for date range
 .S ERR=$$SDATE^DGQESC0()
 .I ERR=-1 Q
 .S SDATE=ERR
 .S ERR=$$EDATE^DGQESC0(ERR)
 .I ERR=-1 Q
 .S EDATE=ERR
 .; -- Task off job
 .S DIR(0)="YA"
 .S DIR("A")="Task job: "
 .S DIR("B")="YES"
 .S DIR("?")="Enter YES/NO to determine whether job is tasked"
 .D ^DIR
 .Q:$D(DIRUT)
 .I Y D  Q
 ..D BATCH
 ..I '$D(ZTSK) Q
 ..W !,"Card(s) queued, task number = "_ZTSK
 .D PRESCAN
 Q
 ;
EXIT ; -- Finish processing
 I '$D(ZTQUEUED)&($P(RESULTS,"^",1)=0) W !!,CNT_" Scheduled admissions down loaded to VIC work station"
 K @DFNARR
 Q
 ;
PRESCAN ; -- Scans for scheduled admissions
 I '$D(ZTQUEUED) W !!,"Note: Each dot equals a day",!,"."
 ; -- scan scheduled admissions
 S (CLINIC,DFN)=""
 S LDATE=SDATE
 F  S LDATE=$O(^DGS(41.1,"C",LDATE)) Q:(LDATE="")!($P(LDATE,".",1)>EDATE)  D
 .I '$D(ZTQUEUED) W "."
 .S IFN=""
 .F  S IFN=$O(^DGS(41.1,"C",LDATE,IFN)) Q:IFN=""  D
 ..S DGSNODE=$G(^DGS(41.1,IFN,0))
 ..; -- Check cancelled flag
 ..I $P(DGSNODE,"^",13)'="" Q
 ..; -- Check batch cancelled flag
 ..I $$S^%ZTLOAD D  Q
 ...S ZTSTOP=1
 ..I VAUTD=0 D CHKDIV  Q:'DIVFLAG
 ..S DFN=$P(DGSNODE,"^",1)
 ..; -- Places card in hold file
 ..S @DFNARR@(DFN)=""
HL7 ; -- Builds HL7 batch message
 S DFN=""
 F  S DFN=$O(@DFNARR@(DFN)) Q:'DFN  S CNT=CNT+1
 S RESULTS=$$EVENT^DGQEHL72("A08",DFNARR)
 I $D(JPTEST) W !,"Results = ",RESULTS
 I '$D(ZTQUEUED)&($P(RESULTS,"^",1)=-1) D
 .W !,"Scheduled admission data not downloaded. Error - ",$P(RESULTS,"^",2)
 ; -- Clean up variables
 D EXIT
 Q
 ;
CHKDIV ; -- Check to see if clinic is part of Division selected
 ; -- re-sequences array
 S DGSUB="" F DGJ=1:1 S DGSUB=$O(VAUTD(DGSUB)) Q:DGSUB=""  S DGUTD(DGJ)=$G(VAUTD(DGSUB))
 ;
 S DIVFLAG=0
 S DGDV=$P(DGSNODE,"^",12)
 I DGDV="" S DIVFLAG=0 Q
 S DIVISION=$P($G(^DG(40.8,DGDV,0)),U,1)
 I DIVISION="" S DIVFLAG=0 Q
 F DGJ=1:1 S SELDIV=DGUTD(DGJ) D  Q:'$D(DGUTD(DGJ+1))
 .I SELDIV=DIVISION S DIVFLAG=1 Q 
 Q
 ;
BATCH ; -- Batch entry point for placing cards on hold
 N ZTRTN,ZTDESC,ZTIO,ZTDTH,ZTSAVE,G
 ;
 S ZTRTN="PRESCAN^DGQESC3"
 S ZTDESC="Scheduled admissions download to VIC work station via HL7"
 S ZTIO=""
 K ZTDTH
 ;D NOW^%DTC S ZTDTH=%
 F G="VAUTD","CNT","DFNARR","SDATE","EDATE" S:$D(@G) ZTSAVE(G)=""
 S ZTSAVE("VAUTD(")=""
 D ^%ZTLOAD
 Q
 ;
END ; -- End of Code
 Q
 ;