SDAMOCC ;IOFIO BAYPINES/TEH - AM Mgt Reports ; 12/1/91
;;5.3;Scheduling;**487**;Aug 13, 1993
;
EN ; main entry point
N DIC,SDBEG,SDEND,SDSEL,VAUTD,VAUTC,SDSORT,SDAMLIST,Y,VAUTNI,VAUTSTR,VAUTVB,DIRUT
EN1 I '$$INIT G ENQ
;
ASKBDT ;
W !!,$$LINE("Date Range Selection"),!
S %DT="AEX",%DT("A")="Select Beginning Date: "
D ^%DT S SDBEG=Y
I X="^" Q
I Y=-1 W !!,"Invalid Date!",! G ASKBDT
K %DT,Y
ASKEDT ;
S %DT="AEX",%DT("A")="Select Ending Date: "
D ^%DT S SDEND=Y
I X="^" Q
I Y=-1 W !!,"Invalid Date!",! G ASKEDT
I SDEND<SDBEG W !!,"Ending Date must be equal to or greater than Beginning Date." G ASKEDT
K %DT,Y
;I '$$RANGE G ENQ
S SDSEL=1
S SDSEL=SDSEL+4 ; for backwards compatibility
G STATS^SDAMOC
ENQ Q
;
INIT() ; -- init vars
Q 1
;
RANGE() ; select date range
; input: none
; output: SDBEG := begin date
; SDEND := end date
; return: was selection made [ 1|yes 0|no]
;
W !!,$$LINE("Date Range Selection")
Q $$RANGE^SDAMQ(.SDBEG,.SDEND)
;
SELECT() ; -- get selection criteria
; input: none
; output: SDSEL := criteria selected
; return: was selection made [ 1|yes 0|no]
;
W !!,$$LINE("Statisitcs Criteria")
S X="S^"
S X=X_"1:Statistics;"
S X=X_"2:Division(s) Only Statistics"
S DIR(0)=X,DIR("A")="Which Visits",DIR("B")="Statistics"
D ^DIR K DIR S SDSEL=$S($D(DIRUT):0,1:+Y)
Q SDSEL>0
;
DIV() ; -- get division data
; input: none
; output: VAUTD := divs selected (VAUTD=1 for all)
; return: was selection made [ 1|yes 0|no]
;
W:$P($G(^DG(43,1,"GL")),U,2) !!,$$LINE("Division Selection")
D ASK2^SDDIV I Y<0 K VAUTD
Q $D(VAUTD)>0
;
CLINIC() ; -- get clinic data
; input: VAUTD := divisions selected
; output: VAUTC := clinic selected (VAUTC=1 for all)
; return: was selection made [ 1|yes 0|no]
;
W !!,$$LINE("Clinic Selection")
D CLINIC^SDAMO0
I Y<0 K VAUTC
CLINICQ Q $D(VAUTC)>0
;
STOP() ; -- get stop code data
; output: VAUTC := stop codes selected (VAUTC=1 for all)
; return: was selection made [ 1|yes 0|no]
;
W !!,$$LINE("Stop Codes Selection")
S DIC="^DIC(40.7,",VAUTSTR="stop code",VAUTVB="VAUTC",VAUTNI=2
D FIRST^VAUTOMA
I Y<0 K VAUTC
STOPQ Q $D(VAUTC)>0
;
;
LINE(STR) ; -- print line
; input: STR := text to insert
; output: none
; return: text to use
;
N X
S:STR]"" STR=" "_STR_" "
S $P(X,"_",(IOM/2)-($L(STR)/2))=""
Q X_STR_X
;
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HSDAMOCC 2431 printed Dec 13, 2024@02:47:52 Page 2
SDAMOCC ;IOFIO BAYPINES/TEH - AM Mgt Reports ; 12/1/91
+1 ;;5.3;Scheduling;**487**;Aug 13, 1993
+2 ;
EN ; main entry point
+1 NEW DIC,SDBEG,SDEND,SDSEL,VAUTD,VAUTC,SDSORT,SDAMLIST,Y,VAUTNI,VAUTSTR,VAUTVB,DIRUT
EN1 IF '$$INIT
GOTO ENQ
+1 ;
ASKBDT ;
+1 WRITE !!,$$LINE("Date Range Selection"),!
+2 SET %DT="AEX"
SET %DT("A")="Select Beginning Date: "
+3 DO ^%DT
SET SDBEG=Y
+4 IF X="^"
QUIT
+5 IF Y=-1
WRITE !!,"Invalid Date!",!
GOTO ASKBDT
+6 KILL %DT,Y
ASKEDT ;
+1 SET %DT="AEX"
SET %DT("A")="Select Ending Date: "
+2 DO ^%DT
SET SDEND=Y
+3 IF X="^"
QUIT
+4 IF Y=-1
WRITE !!,"Invalid Date!",!
GOTO ASKEDT
+5 IF SDEND<SDBEG
WRITE !!,"Ending Date must be equal to or greater than Beginning Date."
GOTO ASKEDT
+6 KILL %DT,Y
+7 ;I '$$RANGE G ENQ
+8 SET SDSEL=1
+9 ; for backwards compatibility
SET SDSEL=SDSEL+4
+10 GOTO STATS^SDAMOC
ENQ QUIT
+1 ;
INIT() ; -- init vars
+1 QUIT 1
+2 ;
RANGE() ; select date range
+1 ; input: none
+2 ; output: SDBEG := begin date
+3 ; SDEND := end date
+4 ; return: was selection made [ 1|yes 0|no]
+5 ;
+6 WRITE !!,$$LINE("Date Range Selection")
+7 QUIT $$RANGE^SDAMQ(.SDBEG,.SDEND)
+8 ;
SELECT() ; -- get selection criteria
+1 ; input: none
+2 ; output: SDSEL := criteria selected
+3 ; return: was selection made [ 1|yes 0|no]
+4 ;
+5 WRITE !!,$$LINE("Statisitcs Criteria")
+6 SET X="S^"
+7 SET X=X_"1:Statistics;"
+8 SET X=X_"2:Division(s) Only Statistics"
+9 SET DIR(0)=X
SET DIR("A")="Which Visits"
SET DIR("B")="Statistics"
+10 DO ^DIR
KILL DIR
SET SDSEL=$SELECT($DATA(DIRUT):0,1:+Y)
+11 QUIT SDSEL>0
+12 ;
DIV() ; -- get division data
+1 ; input: none
+2 ; output: VAUTD := divs selected (VAUTD=1 for all)
+3 ; return: was selection made [ 1|yes 0|no]
+4 ;
+5 if $PIECE($GET(^DG(43,1,"GL")),U,2)
WRITE !!,$$LINE("Division Selection")
+6 DO ASK2^SDDIV
IF Y<0
KILL VAUTD
+7 QUIT $DATA(VAUTD)>0
+8 ;
CLINIC() ; -- get clinic data
+1 ; input: VAUTD := divisions selected
+2 ; output: VAUTC := clinic selected (VAUTC=1 for all)
+3 ; return: was selection made [ 1|yes 0|no]
+4 ;
+5 WRITE !!,$$LINE("Clinic Selection")
+6 DO CLINIC^SDAMO0
+7 IF Y<0
KILL VAUTC
CLINICQ QUIT $DATA(VAUTC)>0
+1 ;
STOP() ; -- get stop code data
+1 ; output: VAUTC := stop codes selected (VAUTC=1 for all)
+2 ; return: was selection made [ 1|yes 0|no]
+3 ;
+4 WRITE !!,$$LINE("Stop Codes Selection")
+5 SET DIC="^DIC(40.7,"
SET VAUTSTR="stop code"
SET VAUTVB="VAUTC"
SET VAUTNI=2
+6 DO FIRST^VAUTOMA
+7 IF Y<0
KILL VAUTC
STOPQ QUIT $DATA(VAUTC)>0
+1 ;
+2 ;
LINE(STR) ; -- print line
+1 ; input: STR := text to insert
+2 ; output: none
+3 ; return: text to use
+4 ;
+5 NEW X
+6 if STR]""
SET STR=" "_STR_" "
+7 SET $PIECE(X,"_",(IOM/2)-($LENGTH(STR)/2))=""
+8 QUIT X_STR_X
+9 ;