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

BGP6ASL.m

Go to the documentation of this file.
BGP6ASL ; IHS/CMI/LAB - DISPLAY IND LISTS 28 Apr 2006 2:10 PM ;
 ;;16.1;IHS CLINICAL REPORTING;;MAR 22, 2016;Build 170
 ;; ;
EP ;EP - CALLED FROM OPTION
 K BGPSUL
 D EN
 Q
EOJ ;EP
 K BGPTIND,BGPHIGH,BGPANS,BGPC,BGPGANS,BGPGC,BGPGI,BGPI,BGPX
 Q
 ;; ;
EN ;EP -- main entry point
 D EN^VALM("BGP 16 AREA SELECT SITES")
 D CLEAR^VALM1
 D FULL^VALM1
 W:$D(IOF) @IOF
 D EOJ
 Q
 ;
HDR ; -- header code
 S VALMHDR(1)="Area Aggregate Site Selection"
 S VALMHDR(2)="* indicates the site has been selected"
 S X="#",$E(X,6)="SU",$E(X,17)="FACILITY",$E(X,32)="BEG DATE",$E(X,42)="END DATE",$E(X,52)="BASE BEG",$E(X,62)="BASE END",$E(X,72)="DATE RUN"
 S VALMHDR(4)=X
 Q
 ;
INIT ; -- init variables and list array
 I BGPRTYPE=1 D NGR^BGP6ASL1 Q
 I BGPRTYPE=5 D ELD^BGP6ASL1 Q
 I BGPRTYPE=6 D PED^BGP6ASL1 Q
 I BGPRTYPE=7 D ONM^BGP6ASL1 Q
 Q
FAC(S) ;
 NEW N S N=$O(^AUTTLOC("C",S,0))
 I N="" Q N
 Q $P(^DIC(4,N,0),U)
SU(S) ;
 NEW N S N=$O(^AUTTSU("C",S,0))
 I N="" Q N
 Q $P(^AUTTSU(N,0),U)
HELP ; -- help code
 S X="?" D DISP^XQORM1 W !!
 Q
 ;
EXIT ; -- exit code
 Q
 ;
EXPND ; -- expand code
 Q
 ;
BACK ;go back to listman
 D TERM^VALM0
 S VALMBCK="R"
 D INIT
 D HDR
 K DIR
 K X,Y,Z,I
 Q
 ;
ADD ;EP
 W !
 S DIR(0)="LO^1:"_BGPHIGH,DIR("A")="Which Facility"
 D ^DIR K DIR S:$D(DUOUT) DIRUT=1
 I Y="" W !,"No facilities selected." G ADDX
 I $D(DIRUT) W !,"No facilities selected." G ADDX
 D FULL^VALM1 W:$D(IOF) @IOF
 S BGPANS=Y,BGPC="" F BGPI=1:1 S BGPC=$P(BGPANS,",",BGPI) Q:BGPC=""  S BGPSUL(BGPTIND(BGPC,BGPC))=""
ADDX ;
 D BACK
 Q
 ;
ADDALL ;
 F X=1:1:BGPHIGH S BGPSUL(BGPTIND(X,X))=""
 D BACK
 Q
 ;
REM ;
 W ! S DIR(0)="LO^1:"_BGPHIGH,DIR("A")="Which Facility(s)" D ^DIR K DIR S:$D(DUOUT) DIRUT=1
 I Y="" W !,"No facilities selected." G ADDX
 I $D(DIRUT) W !,"No facilities selected." G ADDX
 D FULL^VALM1 W:$D(IOF) @IOF
 S BGPANS=Y,BGPC="" F BGPI=1:1 S BGPC=$P(BGPANS,",",BGPI) Q:BGPC=""  K BGPSUL(BGPTIND(BGPC,BGPC))
REMX ;
 D BACK
 Q
GET(BGPSUL,BGPFILE,BGPRT,BGPPER,BGPQTR,BGPVDT,BGPBEN) ;EP - CALLED FROM GUI TO GET FILES FOR DISPLAY ON AREA REPORT
 ;BGPSUL is array returned with iens from the file
 ;BGPFILE is the file these iens belong to and is returned to you
 ;input:
 ;  BGPRT:  1 if national gpra
 ;          9 if area performance
 ;          3 if HEDIS
 ;          5 if Elder report
 ;          8 if new childhood weight
 ;          7 if other national measures
 ;          
 ;  BGPPER - this is the year they select if they answered the above question
 ;           with a 1 through 4  e.g  305000 (fileman imprecise date for 2006)
 ;           if they chose 5 then this will be the end date the enter
 ;           if this is the national gpra report (AGP) you can pass a blank here
 ;   BGPQTR - this is equal to 1,2,3,4 or 5 depending on how the user answers the following
 ;           DIR call:
 ;               Select one of the following:
 ;
 ;         1         January 1 - December 31
 ;         2         April 1 - March 31
 ;         3         July 1 - June 30
 ;         4         October 1 - September 30
 ;         5         User defined date range
 ;       Enter the date range for your report:
 ;
 ;  BGPVDT - baseline year entered by user in internal fileman format, year only
 ;           e.g.  3010000
 ;           if this is the national gpra report (AGP) you can pass a blank here
 ;
 ;  BGPBEN - 1 for Indians only, 2 for Not Indian, 3 for both (see reader call
 ;           at subroutine BEN in BGP6DL 
 ;           if this is the national gpra report (AGP) you can pass a blank here
 ;
 ;               
 K BGPTIND S BGPHIGH=""
 S BGPSUCNT=0,BGPSU="",BGPSUC=0
 I BGPRT=1 D G1
 I BGPRT=5 D G5
 I BGPRT=9 D G9
 I BGPRT=7 D G7
 I BGPRT=6 D G6
 Q
G1 ;
 S X=$O(^BGPCTRL("B",2016,0))
 S Y=^BGPCTRL(X,0)
 S BGPBD=$P(Y,U,8),BGPED=$P(Y,U,9)
 S BGPPBD=$P(Y,U,10),BGPPED=$P(Y,U,11)
 S BGPBBD=$P(Y,U,12),BGPBED=$P(Y,U,13)
 S BGPPER=$P(Y,U,14),BGPQTR=3
 I $G(BGPNGR09) D
 . S BGPBD=3150701,BGPED=3140630
 . S BGPPBD=3130701,BGPPBD=3140630
 . S BGPPER=3120000
 G NT   ;LORI UNCOMMENT AFTER TESTING
 S BGPBD=3130101,BGPED=3131231
 S BGPBBD=3100101,BGPBED=3101231
 S BGPPBD=3120101,BGPPED=3121231
 S BGPPER=3030000,BGPQTR=3,BGPBEN=1
NT ;
 S BGPBEN=1
 S BGPFILE=90556.03
 S BGPX=0 F  S BGPX=$O(^BGPGPDCM(BGPX)) Q:BGPX'=+BGPX  D
 . Q:'$D(^BGPGPDCM(BGPX,0))
 . S V=^BGPGPDCM(BGPX,0)
 . N BGPSU,BGPFAC,BGPEBD,BGPEED,BGPEBBD,BGPEBED,BGPEDRR
 .Q:$P(V,U)'=BGPBD
 .Q:$P(V,U,2)'=BGPED
 .Q:$P(V,U,7)'=BGPPER
 .Q:$P(V,U,21)'="16"
 .;I $G(BGPCHWE) Q:'$O(^BGPGPDCM(BGPX,88888,0))
 .Q:$P(V,U,12)'=1
 .Q:$P(V,U,20)  ;DESG PROV
 .Q:$P(V,U,5)'=BGPBBD
 .Q:$P(V,U,6)'=BGPBED
 .Q:$P(V,U,14)'=BGPBEN
 . S BGPSU=$E($$SU($P(V,U,11)),1,10)
 . S BGPFAC=$E($$FAC($P(V,U,9)),1,13)
 . S BGPEBD=$$DATE^BGP6UTL($P(V,U))
 . S BGPEED=$$DATE^BGP6UTL($P(V,U,2))
 . S BGPEBBD=$$DATE^BGP6UTL($P(V,U,5))
 . S BGPEBED=$$DATE^BGP6UTL($P(V,U,6))
 . S BGPEDRR=$$DATE^BGP6UTL($P(V,U,13))
 . S BGPSUL(BGPX)=BGPSU_U_BGPFAC_U_BGPEBD_U_BGPEED_U_BGPEBBD_U_BGPEBED_U_BGPEDRR
 .Q
 Q
G5 ;
 I BGPQTR=1 S BGPBD=$E(BGPPER,1,3)_"0101",BGPED=$E(BGPPER,1,3)_"1231"
 I BGPQTR=2 S BGPBD=($E(BGPPER,1,3)-1)_"0401",BGPED=$E(BGPPER,1,3)_"0331"
 I BGPQTR=3 S BGPBD=($E(BGPPER,1,3)-1)_"0701",BGPED=$E(BGPPER,1,3)_"0630"
 I BGPQTR=4 S BGPBD=($E(BGPPER,1,3)-1)_"1001",BGPED=$E(BGPPER,1,3)_"0930"
 I BGPQTR=5 S BGPBD=$$FMADD^XLFDT(BGPPER,-364),BGPED=BGPPER,BGPPER=$E(BGPED,1,3)_"0000"
 S X=$E(BGPPER,1,3)-$E(BGPVDT,1,3)
 S X=X_"0000"
 S BGPBBD=BGPBD-X,BGPBBD=$E(BGPBBD,1,3)_$E(BGPBD,4,7)
 S BGPBED=BGPED-X,BGPBED=$E(BGPBED,1,3)_$E(BGPED,4,7)
 S BGPFILE=90557.03
 S BGPX=0 F  S BGPX=$O(^BGPELDCM(BGPX)) Q:'BGPX  D
 . Q:'$D(^BGPELDCM(BGPX,0))
 . S V=^BGPELDCM(BGPX,0)
 .Q:$P(V,U)'=BGPBD
 .Q:$P(V,U,2)'=BGPED
 .Q:$P(V,U,7)'=BGPPER
 .Q:$P(V,U,12)'=5
 .Q:$P(V,U,5)'=BGPBBD
 .Q:$P(V,U,6)'=BGPBED
 .Q:$P(V,U,14)'=BGPBEN
 . S BGPSU=$E($$SU($P(V,U,11)),1,10)
 . S BGPFAC=$E($$FAC($P(V,U,9)),1,13)
 . S BGPEBD=$$DATE^BGP6UTL($P(V,U))
 . S BGPEED=$$DATE^BGP6UTL($P(V,U,2))
 . S BGPEBBD=$$DATE^BGP6UTL($P(V,U,5))
 . S BGPEBED=$$DATE^BGP6UTL($P(V,U,6))
 . S BGPEDRR=$$DATE^BGP6UTL($P(V,U,13))
 . S BGPSUL(BGPX)=BGPSU_U_BGPFAC_U_BGPEBD_U_BGPEED_U_BGPEBBD_U_BGPEBED_U_BGPEDRR
 .Q
 Q
G6 ;
 I BGPQTR=1 S BGPBD=$E(BGPPER,1,3)_"0101",BGPED=$E(BGPPER,1,3)_"1231"
 I BGPQTR=2 S BGPBD=($E(BGPPER,1,3)-1)_"0401",BGPED=$E(BGPPER,1,3)_"0331"
 I BGPQTR=3 S BGPBD=($E(BGPPER,1,3)-1)_"0701",BGPED=$E(BGPPER,1,3)_"0630"
 I BGPQTR=4 S BGPBD=($E(BGPPER,1,3)-1)_"1001",BGPED=$E(BGPPER,1,3)_"0930"
 I BGPQTR=5 S BGPBD=$$FMADD^XLFDT(BGPPER,-364),BGPED=BGPPER,BGPPER=$E(BGPED,1,3)_"0000"
 S X=$E(BGPPER,1,3)-$E(BGPVDT,1,3)
 S X=X_"0000"
 S BGPBBD=BGPBD-X,BGPBBD=$E(BGPBBD,1,3)_$E(BGPBD,4,7)
 S BGPBED=BGPED-X,BGPBED=$E(BGPBED,1,3)_$E(BGPED,4,7)
 S BGPFILE=90556.12
 S BGPX=0 F  S BGPX=$O(^BGPPEDCM(BGPX)) Q:'BGPX  D
 . Q:'$D(^BGPPEDCM(BGPX,0))
 . S V=^BGPPEDCM(BGPX,0)
 .Q:$P(V,U)'=BGPBD
 .Q:$P(V,U,2)'=BGPED
 .Q:$P(V,U,7)'=BGPPER
 .Q:$P(V,U,5)'=BGPBBD
 .Q:$P(V,U,6)'=BGPBED
 .Q:$P(V,U,11)'=BGPBEN
 .Q:$P(V,U,20)  ;MEGAN
 . S BGPSU=$E($$SU($P(V,U,10)),1,10)
 . S BGPFAC=$E($$FAC($P(V,U,9)),1,13)
 . S BGPEBD=$$DATE^BGP6UTL($P(V,U))
 . S BGPEED=$$DATE^BGP6UTL($P(V,U,2))
 . S BGPEBBD=$$DATE^BGP6UTL($P(V,U,5))
 . S BGPEBED=$$DATE^BGP6UTL($P(V,U,6))
 . S BGPEDRR=$$DATE^BGP6UTL($P(V,U,13))
 . S BGPSUL(BGPX)=BGPSU_U_BGPFAC_U_BGPEBD_U_BGPEED_U_BGPEBBD_U_BGPEBED_U_BGPEDRR
 .Q
 Q
G7 ;
 I BGPQTR D
 .I BGPQTR=1 S BGPBD=$E(BGPPER,1,3)_"0101",BGPED=$E(BGPPER,1,3)_"1231"
 .I BGPQTR=2 S BGPBD=($E(BGPPER,1,3)-1)_"0401",BGPED=$E(BGPPER,1,3)_"0331"
 .I BGPQTR=3 S BGPBD=($E(BGPPER,1,3)-1)_"0701",BGPED=$E(BGPPER,1,3)_"0630"
 .I BGPQTR=4 S BGPBD=($E(BGPPER,1,3)-1)_"1001",BGPED=$E(BGPPER,1,3)_"0930"
 .I BGPQTR=5 S BGPBD=$$FMADD^XLFDT(BGPPER,-364),BGPED=BGPPER,BGPPER=$E(BGPED,1,3)_"0000"
 .S X=$E(BGPPER,1,3)-$E(BGPVDT,1,3)
 .S X=X_"0000"
 .S BGPBBD=BGPBD-X,BGPBBD=$E(BGPBBD,1,3)_$E(BGPBD,4,7)
 .S BGPBED=BGPED-X,BGPBED=$E(BGPBED,1,3)_$E(BGPED,4,7)
 S BGPFILE=90556.03
 I 'BGPQTR D
 .S X=$O(^BGPCTRL("B",2016,0))
 .S Y=^BGPCTRL(X,0)
 .S BGPBD=$P(Y,U,8),BGPED=$P(Y,U,9)
 .S BGPPBD=$P(Y,U,10),BGPPED=$P(Y,U,11)
 .S BGPBBD=$P(Y,U,12),BGPBED=$P(Y,U,13)
 .S BGPPER=$P(Y,U,14),BGPQTR=3
 .S BGPBEN=1
 S BGPX=0 F  S BGPX=$O(^BGPGPDCM(BGPX)) Q:BGPX'=+BGPX  D
 . Q:'$D(^BGPGPDCM(BGPX,0))
 . S V=^BGPGPDCM(BGPX,0)
 . N BGPSU,BGPFAC,BGPEBD,BGPEED,BGPEBBD,BGPEBED,BGPEDRR
 .Q:$P(V,U)'=BGPBD
 .Q:$P(V,U,2)'=BGPED
 .Q:$P(V,U,7)'=BGPPER
 .Q:$P(V,U,21)'="16"
 .Q:$P(V,U,12)'=7
 .Q:$P(V,U,5)'=BGPBBD
 .Q:$P(V,U,6)'=BGPBED
 .Q:$P(V,U,14)'=BGPBEN
 . S BGPSU=$E($$SU($P(V,U,11)),1,10)
 . S BGPFAC=$E($$FAC($P(V,U,9)),1,13)
 . S BGPEBD=$$DATE^BGP6UTL($P(V,U))
 . S BGPEED=$$DATE^BGP6UTL($P(V,U,2))
 . S BGPEBBD=$$DATE^BGP6UTL($P(V,U,5))
 . S BGPEBED=$$DATE^BGP6UTL($P(V,U,6))
 . S BGPEDRR=$$DATE^BGP6UTL($P(V,U,13))
 . S BGPSUL(BGPX)=BGPSU_U_BGPFAC_U_BGPEBD_U_BGPEED_U_BGPEBBD_U_BGPEBED_U_BGPEDRR
 .Q
 Q
G9 ;
 I BGPQTR=1 S BGPBD=$E(BGPPER,1,3)_"0101",BGPED=$E(BGPPER,1,3)_"1231"
 I BGPQTR=2 S BGPBD=($E(BGPPER,1,3)-1)_"0401",BGPED=$E(BGPPER,1,3)_"0331"
 I BGPQTR=3 S BGPBD=($E(BGPPER,1,3)-1)_"0701",BGPED=$E(BGPPER,1,3)_"0630"
 I BGPQTR=4 S BGPBD=($E(BGPPER,1,3)-1)_"1001",BGPED=$E(BGPPER,1,3)_"0930"
 I BGPQTR=5 S BGPBD=$$FMADD^XLFDT(BGPPER,-364),BGPED=BGPPER,BGPPER=$E(BGPED,1,3)_"0000"
 S X=$E(BGPPER,1,3)-$E(BGPVDT,1,3)
 S X=X_"0000"
 S BGPBBD=BGPBD-X,BGPBBD=$E(BGPBBD,1,3)_$E(BGPBD,4,7)
 S BGPBED=BGPED-X,BGPBED=$E(BGPBED,1,3)_$E(BGPED,4,7)
 S BGPX=0 F  S BGPX=$O(^BGPGPDCM(BGPX)) Q:'BGPX  D
 . Q:'$D(^BGPGPDCM(BGPX,0))
 . S V=^BGPGPDCM(BGPX,0)
 .Q:$P(V,U)'=BGPBD
 .Q:$P(V,U,2)'=BGPED
 .Q:$P(V,U,7)'=BGPPER
 .Q:$P(V,U,12)'=9
 .Q:$P(V,U,5)'=BGPBBD
 .Q:$P(V,U,6)'=BGPBED
 .Q:$P(V,U,14)'=BGPBEN
 . S BGPSU=$E($$SU($P(V,U,11)),1,10)
 . S BGPFAC=$E($$FAC($P(V,U,9)),1,13)
 . S BGPEBD=$$DATE^BGP6UTL($P(V,U))
 . S BGPEED=$$DATE^BGP6UTL($P(V,U,2))
 . S BGPEBBD=$$DATE^BGP6UTL($P(V,U,5))
 . S BGPEBED=$$DATE^BGP6UTL($P(V,U,6))
 . S BGPEDRR=$$DATE^BGP6UTL($P(V,U,13))
 . S BGPSUL(BGPX)=BGPSU_U_BGPFAC_U_BGPEBD_U_BGPEED_U_BGPEBBD_U_BGPEBED_U_BGPEDRR
 .Q
 Q