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

BGP7HEL.m

Go to the documentation of this file.
  1. BGP7HEL ; IHS/CMI/LAB - IHS gpra print ;
  1. ;;7.0;IHS CLINICAL REPORTING;;JAN 24, 2007
  1. ;
  1. ;
  1. DEL ;
  1. K ^TMP($J)
  1. S ^TMP($J,"BGPDEL",0)=0
  1. D ^BGP7HEHH
  1. D DEL1
  1. D ^BGP7HESL ;print lists to delimited file
  1. ;if screen selected do screen
  1. I BGPDELT="S" D SCREEN,EXIT Q
  1. ;call xbgsave to create output file
  1. K ^TMP($J,"SUMMARYDEL")
  1. S XBGL="BGPDATA"
  1. L +^BGPDATA:300 E W:'$D(ZTQUEUED) "Unable to lock global" Q
  1. K ^BGPDATA ;global for saving
  1. S X=0 F S X=$O(^TMP($J,"BGPDEL",X)) Q:X'=+X S ^BGPDATA(X)=^TMP($J,"BGPDEL",X)
  1. I '$D(BGPGUI) D
  1. .S XBFLT=1,XBFN=BGPDELF_".txt",XBMED="F",XBTLE="CRS 2007 HEDIS DELIMITED OUTPUT",XBQ="N"
  1. .D ^XBGSAVE
  1. .K XBFLT,XBFN,XBMED,XBTLE,XBE,XBF
  1. I $D(BGPGUI) D
  1. .S (C,X)=0 F S X=$O(^BGPDATA(X)) Q:X'=+X S C=C+1,^BGPGUIA(BGPGIEN,12,C,0)=^BGPDATA(X)
  1. .S ^BGPGUIA(BGPGIEN,12,0)="^90531.0812^"_C_"^"_C_"^"_DT
  1. L -^BGPDATA
  1. K ^BGPDATA
  1. D EXIT
  1. Q
  1. ;
  1. SCREEN ;
  1. S X=0 F S X=$O(^TMP($J,"BGPDEL",X)) Q:X'=+X W !,^TMP($J,"BGPDEL",X)
  1. Q
  1. DEL1 ;EP
  1. S BGPIC=0 F S BGPIC=$O(BGPIND(BGPIC)) Q:BGPIC="" D
  1. .;now print individual measure
  1. .S X=" " D S(X,1,1),S(X,1,1)
  1. .S X=$P(^BGPHEIA(BGPIC,0),U,3) D S(X,1,1)
  1. .S X=" " D S(X,1,1)
  1. .S X="Denominator(s):" D S(X,1,1)
  1. .S BGPX=0 F S BGPX=$O(^BGPHEIA(BGPIC,61,"B",BGPX)) Q:BGPX'=+BGPX D
  1. ..S BGPY=0 F S BGPY=$O(^BGPHEIA(BGPIC,61,"B",BGPX,BGPY)) Q:BGPY'=+BGPY D
  1. ...I $P(^BGPHEIA(BGPIC,61,BGPY,0),U,2)'[BGPRTYPE Q ;not a denom def for this report
  1. ...S BGPZ=0 F S BGPZ=$O(^BGPHEIA(BGPIC,61,BGPY,1,BGPZ)) Q:BGPZ'=+BGPZ D
  1. ....S Y=^BGPHEIA(BGPIC,61,BGPY,1,BGPZ,0) D S(Y,1,1)
  1. ....Q
  1. ...Q
  1. ..Q
  1. .S X=" " D S(X,1,1)
  1. .S X="Numerator(s):" D S(X,1,1)
  1. .S BGPX=0 F S BGPX=$O(^BGPHEIA(BGPIC,62,"B",BGPX)) Q:BGPX'=+BGPX D
  1. ..S BGPY=0 F S BGPY=$O(^BGPHEIA(BGPIC,62,"B",BGPX,BGPY)) Q:BGPY'=+BGPY D
  1. ...I $P(^BGPHEIA(BGPIC,62,BGPY,0),U,2)'[BGPRTYPE Q ;not a denom def for this report
  1. ...S BGPZ=0 F S BGPZ=$O(^BGPHEIA(BGPIC,62,BGPY,1,BGPZ)) Q:BGPZ'=+BGPZ D
  1. ....S X=^BGPHEIA(BGPIC,62,BGPY,1,BGPZ,0) D S(X,1,1)
  1. ....Q
  1. ...Q
  1. ..Q
  1. .S X=" " D S(X,1,1)
  1. .S BGPX=0 F S BGPX=$O(^BGPHEIA(BGPIC,11,BGPX)) Q:BGPX'=+BGPX D
  1. ..S X=^BGPHEIA(BGPIC,11,BGPX,0) D S(X,1,1)
  1. .S X=" " D S(X,1,1) S BGPX=0 F S BGPX=$O(^BGPHEIA(BGPIC,51,BGPX)) Q:BGPX'=+BGPX D
  1. ..S X=^BGPHEIA(BGPIC,51,BGPX,0) D S(X,1,1)
  1. .S X=" " D S(X,1,1) S BGPX=0 F S BGPX=$O(^BGPHEIA(BGPIC,52,BGPX)) Q:BGPX'=+BGPX D
  1. ..S X=^BGPHEIA(BGPIC,52,BGPX,0) D S(X,1,1)
  1. .X ^BGPHEIA(BGPIC,4)
  1. Q
  1. S Y=$P(^VA(200,DUZ,0),U,2),$E(Y,35)=$$FMTE^XLFDT(DT) D S(Y,1,1)
  1. I BGPRTYPE=3 S Y="*** IHS 2007 HEDIS Clinical Performance Report***" D S(Y,1,1)
  1. I $G(BGPAREAA) S Y=$S(BGPSUCNT=1:BGPSUNM,1:"AREA AGGREGATE") D S(Y,1,1)
  1. S X="Date Report Run: "_$$FMTE^XLFDT(DT) D S(X,1,1)
  1. I '$G(BGPAREAA) S Y=$P(^DIC(4,DUZ(2),0),U) D S(Y,1,1)
  1. S X="Report Period: "_$$FMTE^XLFDT(BGPBD)_" to "_$$FMTE^XLFDT(BGPED) D S(X,1,1)
  1. S X="Previous Year Period: "_$$FMTE^XLFDT(BGPPBD)_" to "_$$FMTE^XLFDT(BGPPED) D S(X,1,1)
  1. S X="Baseline Period: "_$$FMTE^XLFDT(BGPBBD)_" to "_$$FMTE^XLFDT(BGPBED) D S(X,1,1)
  1. S X=$TR($J(""," ","-"),80) D S(X,1,1)
  1. Q
  1. EXIT ;
  1. K ^TMP($J)
  1. Q
  1. CTR(X,Y) ;EP - Center X in a field Y wide.
  1. Q $J("",$S($D(Y):Y,1:IOM)-$L(X)\2)_X
  1. ;----------
  1. USR() ;EP - Return name of current user from ^VA(200.
  1. Q $S($G(DUZ):$S($D(^VA(200,DUZ,0)):$P(^(0),U),1:"UNKNOWN"),1:"DUZ UNDEFINED OR 0")
  1. ;----------
  1. S(Y,F,P) ;set up array
  1. I '$G(F) S F=0
  1. S %=$P(^TMP($J,"BGPDEL",0),U)+F,$P(^TMP($J,"BGPDEL",0),U)=%
  1. I '$D(^TMP($J,"BGPDEL",%)) S ^TMP($J,"BGPDEL",%)=""
  1. S $P(^TMP($J,"BGPDEL",%),U,P)=Y
  1. Q
  1. C(X,X2,X3) ;
  1. D COMMA^%DTC
  1. Q X