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

BRNRUP1.m

Go to the documentation of this file.
  1. BRNRUP1 ; IHS/OIT/LJF - CONTINUED REPORT UTILITY PRINT LOGIC
  1. ;;2.0;RELEASE OF INFO SYSTEM;*1*;APR 10, 2003
  1. ;IHS/OIT/LJF 10/25/2007 PATCH 1 Added this routine
  1. ;
  1. COVPAGE ;EP
  1. W:$D(IOF) @IOF
  1. W !?20,"ROI REPORT UTILITY ",$S(BRNCTYP="D":"LISTING",1:"COUNT")
  1. W !?34,"SUMMARY PAGE"
  1. W !!,"REPORT REQUESTED BY: ",$P(^VA(200,DUZ,0),U),!
  1. W !,"Disclosure Record Selection Criteria"
  1. W !?6,"Request Date range: ",BRNBDD," to ",BRNEDD
  1. ;
  1. ; if no sleection criteria, show print criteria
  1. I '$D(^BRNRPT(BRNRPT,11)) D SHOWP Q
  1. ;
  1. ; else, show selection criteria first
  1. NEW BRNI,BRNY,C,BRNQ,X
  1. S BRNI=0 F S BRNI=$O(^BRNRPT(BRNRPT,11,BRNI)) Q:BRNI'=+BRNI D
  1. . I $Y>(IOSL-5) D PAUSE^BRNU W @IOF
  1. . W !?6,$P(^BRNSORT(BRNI,0),U),": "
  1. . S BRNY="",C=0 K BRNQ
  1. . F S BRNY=$O(^BRNRPT(BRNRPT,11,BRNI,11,"B",BRNY)) S C=C+1 W:C'=1&(BRNY'="") " ; " Q:BRNY=""!($D(BRNQ)) D
  1. . . S X=BRNY X:$D(^BRNSORT(BRNI,2)) ^(2) W X ;translation logic
  1. D SHOWP
  1. Q
  1. ;
  1. SHOWP ; display what the report will contain based on report type
  1. W !!,"REPORT/OUTPUT TYPE",!
  1. I BRNCTYP="T" D COUNT Q ;totals: display and quit
  1. ;
  1. ; subtotals
  1. I BRNCTYP="S" D I 1
  1. . I $Y>(IOSL-6) D PAUSE^BRNU W @IOF
  1. . W ?6,"Report will contain sub-totals by ",$P(^BRNSORT(BRNSORT,0),U)," and ",!?6,"total counts."
  1. . I '$D(^XTMP("BRNVL",BRNJOB,BRNBTH)) W !!,"NO DATA TO REPORT.",! D PAUSE^BRNU W:$D(IOF) @IOF
  1. ;
  1. I BRNCTYP'="D",BRNCTYP'="L" D PAUSE^BRNU W:$D(IOF) @IOF Q
  1. I $Y>(IOSL-4) D PAUSE^BRNU W @IOF
  1. ;
  1. I BRNCTYP="D" W ?6,"Detailed Listing containing"
  1. ;
  1. I BRNCTYP="L" D
  1. . W !?5,"PLEASE NOTE: The first column of the delimited output will always"
  1. . W !?5," be the patient internal entry number which uniquely"
  1. . W !?5," identifies the patient. The second column will always"
  1. . W !?5," be the request internal entry number which uniquely"
  1. . W !?5," identifies the disclosure request.",!
  1. . W ?6,"A File of records called ",BRNDELF," will be created."
  1. . W !?6,"Delimited output file will contain:"
  1. ;
  1. I '$D(^BRNRPT(BRNRPT,12)) D PAUSE^BRNU Q
  1. ;
  1. ; loop through print items and display them
  1. NEW BRNI,BRNCRIT
  1. S BRNI=0 F S BRNI=$O(^BRNRPT(BRNRPT,12,BRNI)) Q:BRNI'=+BRNI S BRNCRIT=$P(^BRNRPT(BRNRPT,12,BRNI,0),U) D
  1. . I $Y>(IOSL-4) D PAUSE^BRNU W:$D(IOF) @IOF
  1. . W !?6,$P(^BRNSORT(BRNCRIT,0),U)
  1. . I BRNCTYP="D" W " (" S X=$O(^BRNRPT(BRNRPT,12,"B",BRNCRIT,"")) I X]"" W $P(^BRNRPT(BRNRPT,12,X,0),U,2),")"
  1. ;
  1. I $Y>(IOSL-4) D PAUSE^BRNU W:$D(IOF) @IOF
  1. I BRNCTYP="D" W !?10," TOTAL column width: ",BRNTCW
  1. ;
  1. Q:'$G(BRNSORT)
  1. I $Y>(IOSL-4) D PAUSE^BRNU W:$D(IOF) @IOF
  1. W !!,"Disclosure Requests will be SORTED by: ",$P(^BRNSORT(BRNSORT,0),U),!
  1. I $Y>(IOSL-4) D PAUSE^BRNU W:$D(IOF) @IOF
  1. I $G(BRNSPAG) W !?6,"Each ",$P(^BRNSORT(BRNSORT,0),U)," will be on a separate page.",!
  1. ;
  1. I '$D(^XTMP("BRNVL",BRNJOB,BRNBTH)) W !!,"NO DATA TO REPORT.",!
  1. ;
  1. I BRNCTYP="L" D
  1. . I $D(BRNRCNT) W !!!,"Total Disclosure Requests: ",BRNRCNT
  1. . W !,"Total Patients: ",BRNPTCT
  1. ;
  1. Q
  1. ;
  1. COUNT ;if COUNTING entries only
  1. I $Y>(IOSL-5) D PAUSE^BRNU W:$D(IOF) @IOF
  1. W ?6,"Totals Displayed"
  1. I '$D(^XTMP("BRNVL",BRNJOB,BRNBTH)) W !!!,"NO DATA TO REPORT.",!
  1. W:$D(BRNRCNT) !!!?6,"Total COUNT of Disclosure Requests: ",?34,BRNRCNT
  1. W !?6,"Total COUNT of Patients: ",?34,BRNPTCT
  1. Q
  1. ;
  1. WP ;EP - Entry point to print wp fields
  1. ; pass file in BRNFILE, entry in BRNDA, subscript in BRNNODE
  1. NEW BRNRLX,BRNG1,BRNG,DIWL,DIWR,DIWF,X,Y,Z
  1. K ^UTILITY($J,"W")
  1. S BRNRLX=0
  1. S BRNG1=^DIC(BRNFILE,0,"GL"),BRNG=BRNG1_BRNDA_","_BRNNODE_",BRNRLX)",BRNGR=BRNG1_BRNDA_","_BRNNODE_",BRNRLX"
  1. S DIWL=1,DIWR=$P(^BRNRPT(BRNRPT,12,BRNI,0),U,2) F S BRNRLX=$O(@BRNG) Q:BRNRLX'=+BRNRLX D
  1. .S Y=BRNGR_",0)" S X=@Y D ^DIWP
  1. ;
  1. S Z=0 F S Z=$O(^UTILITY($J,"W",DIWL,Z)) Q:Z'=+Z S BRNPCNT=BRNPCNT+1,BRNPRNM(BRNPCNT)=^UTILITY($J,"W",DIWL,Z,0)
  1. S BRNPCNT=BRNPCNT+1
  1. K ^UTILITY($J,"W"),BRNNODE,BRNFILE,BRNDA
  1. Q