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

ACDFLAT.m

Go to the documentation of this file.
  1. ACDFLAT ;IHS/ADC/EDE/KML - GENERATE FLAT FILE;
  1. ;;4.1;CHEMICAL DEPENDENCY MIS;;MAY 11, 1998
  1. ;
  1. ; This routine generates a flat ascii file for cdmis visits
  1. ; by a date range entered by the user.
  1. ;
  1. START ;
  1. D INIT
  1. I ACDQ D EOJ Q
  1. ;D VISITLP
  1. I ACDQ D EOJ Q
  1. D PRVNTLP
  1. I ACDQ D EOJ Q
  1. D GENFILE
  1. D EOJ
  1. Q
  1. ;
  1. INIT ; INITIALIZATION
  1. K ^TMP("ACDFLAT",$J)
  1. S ACDQ=1
  1. I '$G(ACDPGM) W !!,"No Program Specified.",!! Q
  1. I $G(ACD6DIG)="" S ACD6DIG=$P($G(^AUTTLOC(ACDPGM,0)),U,10) I $L(ACD6DIG)'=6 W !!,"Invalid ASUFAC code for Program.",!! Q
  1. W !!,"This routine will generate a flat ascii file containing CDMIS visits within",!,"the date range you specify.",!
  1. D GETDTR^ACDDEU
  1. Q:ACDQ
  1. S ACDRCTR=0
  1. S ACDQ=0
  1. D FILEMSG
  1. Q
  1. ;
  1. FILEMSG ; GENERATE FILE NAME AND TELL USER
  1. S ACDFILE="ACD"_DUZ_"."
  1. S X2=$E(DT,1,3)_"0101",X1=DT D ^%DTC S ACDJD=X+1
  1. S ACDFILE=ACDFILE_ACDJD
  1. W !!,"I am going to create a file called ",ACDFILE," which will reside in ",!,"the ",$S($P(^AUTTSITE(1,0),U,21)=1:"/usr/spool/uucppublic",1:"C:\EXPORT")," directory.",!
  1. W !,"Actually, the file will be placed in the same directory that the data export"
  1. W !,"globals are placed. See your site manager for assistance in finding the file",!,"after it is created. PLEASE jot down and remember the following file name:",!?15,"********** ",ACDFILE," **********",!
  1. W !,"As a reminder, the records that are generated and placed in file ",ACDFILE,!
  1. W "are in a standard, pre-defined record format. For a definition of the format",!,"please see your user manual.",!
  1. S DIR(0)="Y",DIR("A")="Is everything ok? Do you want to continue?",DIR("B")="Y" K DA D ^DIR K DIR
  1. I $D(DIRUT)!(Y'=1) S ACDQ=1 Q
  1. Q
  1. ;
  1. VISITLP ; LOOP ON VISITS BY DATE UNTIL DONE
  1. S ACDVDT=$O(^ACDVIS("B",ACDDTLO),-1)
  1. F S ACDVDT=$O(^ACDVIS("B",ACDVDT)) Q:ACDVDT=""!(ACDVDT>ACDDTHI) S ACDVIEN=0 F S ACDVIEN=$O(^ACDVIS("B",ACDVDT,ACDVIEN)) Q:'ACDVIEN D:$P($G(^ACDVIS(ACDVIEN,"BWP")),U)=ACDPGM BLDRECV
  1. Q
  1. ;
  1. BLDRECV ; BUILD FLAT RECORD FROM ONE CDMIS VISIT
  1. S C=$$FLAT^ACDFLAT2(ACDVIEN,.ACDFREC)
  1. I C F Y=1:1:C D
  1. . S ACDRCTR=ACDRCTR+1
  1. . S ^TMP("ACDFLAT",$J,ACDRCTR)=ACDFREC(Y)
  1. .;D:$E(ACDFREC(Y),18,19)="IN" EP^XBCLM(ACDFREC(Y)) ;*****DEBUG*****
  1. . W:'(ACDRCTR#100) "."
  1. . Q
  1. Q
  1. ;
  1. PRVNTLP ; LOOP ON PREVENTIONS BY DATE UNTIL DONE
  1. S ACDPDT=$O(^ACDPD("B",ACDDTLO),-1)
  1. F S ACDPDT=$O(^ACDPD("B",ACDPDT)) Q:ACDPDT=""!(ACDPDT>ACDDTHI) S ACDPIEN=0 F S ACDPIEN=$O(^ACDPD("B",ACDPDT,ACDPIEN)) Q:'ACDPIEN D:$P($G(^ACDPD(ACDPIEN,0)),U,4)=ACDPGM BLDRECP
  1. Q
  1. ;
  1. BLDRECP ; BUILD FLAT RECORD FROM ONE CDMIS PREVENTION
  1. S C=$$FLAT^ACDFLAT4(ACDPIEN,.ACDFREC)
  1. I C F Y=1:1:C D
  1. . S ACDRCTR=ACDRCTR+1
  1. . S ^TMP("ACDFLAT",$J,ACDRCTR)=ACDFREC(Y)
  1. . D:$E(ACDFREC(Y),18,19)="IN" EP^XBCLM(ACDFREC(Y)) ;*****DEBUG*****
  1. . W:'(ACDRCTR#100) "."
  1. . Q
  1. Q
  1. ;
  1. GENFILE ; GENERATE FLAT ASCII FILE
  1. K ^TMP($J,"ACDFLAT")
  1. S %X="^TMP(""ACDFLAT"",$J,"
  1. S %Y="^TMP($J,""ACDFLAT"","
  1. D %XY^%RCR
  1. K %X,%Y
  1. ;
  1. S XBGL="TMP("_$J_",""ACDFLAT"","
  1. S XBMED="F",XBFN=ACDFILE,XBTLE="SAVE OF CDMIS RECORDS FOR DATE RANGE "_ACDDTLO_"-"_ACDDTHI_" GENERATED BY -"_$P($G(^VA(200,DUZ,0)),U)
  1. S XBF=0,XBQ="N",XBFLT=1,XBE=$J
  1. D ^XBGSAVE
  1. ;check for error
  1. K ^TMP($J,"ACDFLAT")
  1. K XBGL,XBMED,XBTLE,XBFN,XBF,XBQ,XBFLT
  1. D PAUSE^ACDDEU
  1. Q
  1. ;
  1. EOJ ;
  1. K ^TMP("ACDFLAT",$J)
  1. D ^ACDKILL
  1. Q