- DGPFRFR ;ALB/RBS - PRF ASSIGNMENTS DUE REVIEW REPORT ; 10/28/03 12:04pm
- ;;5.3;Registration;**425,555,1015**;Aug 13, 1993;Build 21
- ;
- ;This routine will be used for selecting sort parameters to produce
- ; the FLAGS DUE FOR REVIEW REPORT for Patient Record Flags.
- ;
- ;Selection options will provide the user with the ability to report
- ; by:
- ; CATEGORY:
- ; 1 Category I (National)
- ; 2 Category II (Local)
- ; 3 BOTH
- ; FLAG:
- ; S Single Flag
- ; A All Flags
- ; BEGINING DATE: FileMan date
- ; ENDING DATE: FileMan date
- ;
- ;-- no direct entry
- QUIT
- ;
- EN ;Entry point
- ;-- user prompts for report selection sorts
- ; Input: none
- ; Output: Report generated using user selected parameters
- ;
- N DGASK,DGRSLT,DGDIRA,DGDIRB,DGDIRO,DGDIRH
- N DGSORT,DGCAT,DGFIL,DGSEL,DGNOW,DGFIRST,DGBEG,DGEND
- N ZTSAVE,DGQ
- ;
- ;-- prompt for selection of a flag category
- S DGDIRA="Select Flag Category",DGDIRB=""
- S DGDIRH="Enter one of the category selections to report on"
- S DGDIRO="S^1:Category I (National);2:Category II (Local);3:Both"
- S DGASK=$$ANSWER^DGPFUT(DGDIRA,DGDIRB,DGDIRO,DGDIRH)
- Q:(DGASK<1)
- S DGCAT=DGASK,DGSORT("DGCAT")=DGASK_U_$S(DGASK=1:"Category I (National)",DGASK=2:"Category II (Local)",DGASK=3:"Both",1:"")
- ;
- ;-- prompt for selection of a single flag or all flags
- S DGSEL=""
- ;default to (A)ll flags if user selects Both Category's
- I DGCAT=3 D
- . S DGSORT("DGFLAG")="A"
- ;
- D:DGCAT'=3 ;only prompt if user selects a Category I or II
- . S DGDIRA="Select to report on a (S)ingle flag or (A)ll flags"
- . S DGDIRB="Single Flag"
- . S DGDIRO="S^S:Single Flag;A:All Flags"
- . S DGDIRH="Enter one of the flag selections to report on"
- . S DGASK=$$ANSWER^DGPFUT(DGDIRA,DGDIRB,DGDIRO,DGDIRH)
- . Q:(DGASK=-1)
- . S DGSEL=DGASK
- . S DGSORT("DGFLAG")=DGASK
- Q:(DGASK=-1)
- ;
- ;-- prompt for selection of a record flag name - only if (S)ingle
- D:DGSEL="S"
- . S DGQ=0
- . S DGDIRA="Select Record Flag Name"
- . S DGDIRB=""
- . S DGDIRO=$S(DGCAT=1:"P^26.15,.01:EMZ",1:"P^26.11,.01:EMZ")
- . F D Q:DGQ
- . . S DGASK=$$ANSWER^DGPFUT(DGDIRA,DGDIRB,DGDIRO)
- . . I DGASK=-1 S DGQ=1 Q
- . . ;set data string = pointer value (5;DGPF(26.11,) ^ external name
- . . S DGFIL=DGASK_$S(DGCAT=1:";DGPF(26.15,",1:";DGPF(26.11,")
- . . ;if (S)ingle flag selected, check for any flag assignments
- . . I '$$ASGNCNT^DGPFLF6(DGFIL) D Q
- . . . W !?2,">>> No Patient Record Flag Assignments have been found. Select another flag.",*7
- . . ;a good one to report on
- . . S DGSORT("DGFLAG")=DGFIL_U_$$EXTERNAL^DILFD(26.13,.02,"F",DGFIL)
- . . S DGQ=1
- ;
- Q:(DGASK=-1)
- ;
- ;-- prompt for beginning date
- S DGNOW=$$DT^XLFDT()
- S DGFIRST=$P(+$O(^DGPF(26.13,"AFREV","")),".") ;first review date
- I 'DGFIRST D Q
- . W !?2,">>> No Patient Record Flag Assignments have been found.",*7
- . I $$ANSWER^DGPFUT("Enter RETURN to continue","","E")
- ;
- S DGDIRA="Select Beginning Date"
- S DGDIRB=""
- S DGDIRH="Enter the earliest Review Date to include in the report"
- S DGDIRO="D^::EX"
- S DGASK=$$ANSWER^DGPFUT(DGDIRA,DGDIRB,DGDIRO,DGDIRH)
- Q:(DGASK=-1)
- S (DGSORT("DGBEG"),DGBEG)=DGASK
- ;
- ;-- prompt for ending date
- S DGDIRA="Select Ending Date"
- S DGDIRB=""
- S DGDIRH="Enter the latest Review Date to include in the report"
- S DGDIRO="D^::EX"
- S DGASK=$$ANSWER^DGPFUT(DGDIRA,DGDIRB,DGDIRO,DGDIRH)
- Q:(DGASK=-1)
- S DGSORT("DGEND")=DGASK
- S DGSORT("DGNOW")=DGNOW
- ;
- K DGCAT,DGFIL,DGSEL,DGDIRA,DGDIRB,DGDIRO
- K DGASK,DGRSLT,DGNOW,DGFIRST,DGBEG
- ;
- ;-- prompt for device
- S ZTSAVE("DGSORT(")=""
- D EN^XUTMDEVQ("START^DGPFRFR1","Flags Due For Review Report",.ZTSAVE)
- D HOME^%ZIS
- Q
- DGPFRFR ;ALB/RBS - PRF ASSIGNMENTS DUE REVIEW REPORT ; 10/28/03 12:04pm
- +1 ;;5.3;Registration;**425,555,1015**;Aug 13, 1993;Build 21
- +2 ;
- +3 ;This routine will be used for selecting sort parameters to produce
- +4 ; the FLAGS DUE FOR REVIEW REPORT for Patient Record Flags.
- +5 ;
- +6 ;Selection options will provide the user with the ability to report
- +7 ; by:
- +8 ; CATEGORY:
- +9 ; 1 Category I (National)
- +10 ; 2 Category II (Local)
- +11 ; 3 BOTH
- +12 ; FLAG:
- +13 ; S Single Flag
- +14 ; A All Flags
- +15 ; BEGINING DATE: FileMan date
- +16 ; ENDING DATE: FileMan date
- +17 ;
- +18 ;-- no direct entry
- +19 QUIT
- +20 ;
- EN ;Entry point
- +1 ;-- user prompts for report selection sorts
- +2 ; Input: none
- +3 ; Output: Report generated using user selected parameters
- +4 ;
- +5 NEW DGASK,DGRSLT,DGDIRA,DGDIRB,DGDIRO,DGDIRH
- +6 NEW DGSORT,DGCAT,DGFIL,DGSEL,DGNOW,DGFIRST,DGBEG,DGEND
- +7 NEW ZTSAVE,DGQ
- +8 ;
- +9 ;-- prompt for selection of a flag category
- +10 SET DGDIRA="Select Flag Category"
- SET DGDIRB=""
- +11 SET DGDIRH="Enter one of the category selections to report on"
- +12 SET DGDIRO="S^1:Category I (National);2:Category II (Local);3:Both"
- +13 SET DGASK=$$ANSWER^DGPFUT(DGDIRA,DGDIRB,DGDIRO,DGDIRH)
- +14 IF (DGASK<1)
- QUIT
- +15 SET DGCAT=DGASK
- SET DGSORT("DGCAT")=DGASK_U_$SELECT(DGASK=1:"Category I (National)",DGASK=2:"Category II (Local)",DGASK=3:"Both",1:"")
- +16 ;
- +17 ;-- prompt for selection of a single flag or all flags
- +18 SET DGSEL=""
- +19 ;default to (A)ll flags if user selects Both Category's
- +20 IF DGCAT=3
- Begin DoDot:1
- +21 SET DGSORT("DGFLAG")="A"
- End DoDot:1
- +22 ;
- +23 ;only prompt if user selects a Category I or II
- IF DGCAT'=3
- Begin DoDot:1
- +24 SET DGDIRA="Select to report on a (S)ingle flag or (A)ll flags"
- +25 SET DGDIRB="Single Flag"
- +26 SET DGDIRO="S^S:Single Flag;A:All Flags"
- +27 SET DGDIRH="Enter one of the flag selections to report on"
- +28 SET DGASK=$$ANSWER^DGPFUT(DGDIRA,DGDIRB,DGDIRO,DGDIRH)
- +29 IF (DGASK=-1)
- QUIT
- +30 SET DGSEL=DGASK
- +31 SET DGSORT("DGFLAG")=DGASK
- End DoDot:1
- +32 IF (DGASK=-1)
- QUIT
- +33 ;
- +34 ;-- prompt for selection of a record flag name - only if (S)ingle
- +35 IF DGSEL="S"
- Begin DoDot:1
- +36 SET DGQ=0
- +37 SET DGDIRA="Select Record Flag Name"
- +38 SET DGDIRB=""
- +39 SET DGDIRO=$SELECT(DGCAT=1:"P^26.15,.01:EMZ",1:"P^26.11,.01:EMZ")
- +40 FOR
- Begin DoDot:2
- +41 SET DGASK=$$ANSWER^DGPFUT(DGDIRA,DGDIRB,DGDIRO)
- +42 IF DGASK=-1
- SET DGQ=1
- QUIT
- +43 ;set data string = pointer value (5;DGPF(26.11,) ^ external name
- +44 SET DGFIL=DGASK_$SELECT(DGCAT=1:";DGPF(26.15,",1:";DGPF(26.11,")
- +45 ;if (S)ingle flag selected, check for any flag assignments
- +46 IF '$$ASGNCNT^DGPFLF6(DGFIL)
- Begin DoDot:3
- +47 WRITE !?2,">>> No Patient Record Flag Assignments have been found. Select another flag.",*7
- End DoDot:3
- QUIT
- +48 ;a good one to report on
- +49 SET DGSORT("DGFLAG")=DGFIL_U_$$EXTERNAL^DILFD(26.13,.02,"F",DGFIL)
- +50 SET DGQ=1
- End DoDot:2
- IF DGQ
- QUIT
- End DoDot:1
- +51 ;
- +52 IF (DGASK=-1)
- QUIT
- +53 ;
- +54 ;-- prompt for beginning date
- +55 SET DGNOW=$$DT^XLFDT()
- +56 ;first review date
- SET DGFIRST=$PIECE(+$ORDER(^DGPF(26.13,"AFREV","")),".")
- +57 IF 'DGFIRST
- Begin DoDot:1
- +58 WRITE !?2,">>> No Patient Record Flag Assignments have been found.",*7
- +59 IF $$ANSWER^DGPFUT("Enter RETURN to continue","","E")
- End DoDot:1
- QUIT
- +60 ;
- +61 SET DGDIRA="Select Beginning Date"
- +62 SET DGDIRB=""
- +63 SET DGDIRH="Enter the earliest Review Date to include in the report"
- +64 SET DGDIRO="D^::EX"
- +65 SET DGASK=$$ANSWER^DGPFUT(DGDIRA,DGDIRB,DGDIRO,DGDIRH)
- +66 IF (DGASK=-1)
- QUIT
- +67 SET (DGSORT("DGBEG"),DGBEG)=DGASK
- +68 ;
- +69 ;-- prompt for ending date
- +70 SET DGDIRA="Select Ending Date"
- +71 SET DGDIRB=""
- +72 SET DGDIRH="Enter the latest Review Date to include in the report"
- +73 SET DGDIRO="D^::EX"
- +74 SET DGASK=$$ANSWER^DGPFUT(DGDIRA,DGDIRB,DGDIRO,DGDIRH)
- +75 IF (DGASK=-1)
- QUIT
- +76 SET DGSORT("DGEND")=DGASK
- +77 SET DGSORT("DGNOW")=DGNOW
- +78 ;
- +79 KILL DGCAT,DGFIL,DGSEL,DGDIRA,DGDIRB,DGDIRO
- +80 KILL DGASK,DGRSLT,DGNOW,DGFIRST,DGBEG
- +81 ;
- +82 ;-- prompt for device
- +83 SET ZTSAVE("DGSORT(")=""
- +84 DO EN^XUTMDEVQ("START^DGPFRFR1","Flags Due For Review Report",.ZTSAVE)
- +85 DO HOME^%ZIS
- +86 QUIT