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

BQIMURPT.m

Go to the documentation of this file.
  1. BQIMURPT ;GDIT/HS/ALA-On Demand MU CQ Report ; 07 Nov 2011 10:59 AM
  1. ;;2.3;ICARE MANAGEMENT SYSTEM;;Apr 18, 2012;Build 59
  1. ;
  1. ;
  1. EN(TDATA,PARMS) ;EP -- BQI PROV CQ MEAS REPORT
  1. NEW UID,II,HDR,LIST,BN,BQ,PDATA,NAME,VALUE,BM,MSN,IND,PRV,BP,BGPPROV
  1. NEW BGPBEN,BGPRTYPE,BGP0RPTH,BGPMUT,BGPMUYF,BGPBD,BGPED,PERIOD,BQIGREF
  1. NEW CDATA,CURR,CDEN,CNUM,CEXC,I,PROV,TMFRAME,BEGDT,MLIST,PLIST,DFN,NUM
  1. NEW BGPTP
  1. S UID=$S($G(ZTSK):"Z"_ZTSK,1:$J)
  1. S TDATA=$NA(^TMP("BQIMURPT",UID))
  1. K @TDATA
  1. S II=0
  1. NEW $ESTACK,$ETRAP S $ETRAP="D ERR^BQIMURPT D UNWIND^%ZTER" ; SAC 2006 2.2.3.3.2
  1. S HDR="T00050PROVIDER^T00030PERIOD^"
  1. K BGPIND,BQIND,PROV
  1. I $G(PARMS)="" D
  1. . S LIST="",BN=""
  1. . F S BN=$O(PARMS(BN)) Q:BN="" S LIST=LIST_PARMS(BN)
  1. . K PARMS
  1. . S PARMS=LIST
  1. . K LIST
  1. F BQ=1:1:$L(PARMS,$C(28)) D
  1. . S PDATA=$P(PARMS,$C(28),BQ) I PDATA="" Q
  1. . S NAME=$P(PDATA,"=",1),VALUE=$P(PDATA,"=",2)
  1. . I NAME="BEGDT" S @NAME=$$DATE^BQIUL1(VALUE) Q
  1. . I NAME="TMFRAME" S @NAME=VALUE Q
  1. . I NAME="MLIST" D Q
  1. .. F BM=1:1:$L(VALUE,$C(29)) S ID=$P(VALUE,$C(29),BM) Q:ID="" D
  1. ... S MSN=$O(^BGPMUIND(90596.11,"C",ID,"")) I MSN="" Q
  1. ... S IND=$P(^BGPMUIND(90596.11,MSN,0),U,1)
  1. ... S BGPIND(IND)="",BQIND(MSN)=""
  1. ... S HDR=HDR_"T00005"_ID_"^T00005HIDE_"_ID_"^"
  1. . I NAME="PLIST" D Q
  1. .. F BP=1:1:$L(VALUE,$C(29)) S PRV=$P(VALUE,$C(29),BP) Q:PRV="" S PROV(PRV)=""
  1. S HDR=$$TKO^BQIUL1(HDR,"^")
  1. S @TDATA@(II)=HDR_$C(30)
  1. ; For 90 day timeframe
  1. S BGPPROV=""
  1. F S BGPPROV=$O(PROV(BGPPROV)) Q:BGPPROV="" D
  1. . S BGPBEN=3
  1. . S BGPRTYPE=4,BGP0RPTH="A",BGPMUT="P",BGPMUYF=90595.11
  1. . S (BGPBD,BGPED,BGPTP,BGPINDT)=""
  1. . S BGPBD=$$DATE^BQIUL1(BEGDT),BGPED=$$FMADD^XLFDT(BGPBD,90)
  1. . S PERIOD=$$FMTE^BQIUL1(BGPBD)_" - "_$$FMTE^BQIUL1(BGPED)
  1. . ; Previous
  1. . ;S BGPPED=$$FMADD^XLFDT(BGPBD,-1),BGPPBD=$$FMADD^XLFDT(BGPPED,-90)
  1. . S BGPPBD="",BGPPED=""
  1. . ; Baseline
  1. . S BGPBBD=BGPPBD,BGPBED=BGPPED
  1. . S BQIGREF=$NA(^TMP("BQICQM",$J)) K @BQIGREF
  1. . ;
  1. . ; Get measures
  1. . D BQI^BGPMUEPD(.BQIGREF,BGPPROV)
  1. . K CDEN,CNUM,CEXC,PDEN,PNUM,PEXC,NUM
  1. . I '$D(@BQIGREF) D
  1. .. S CDATA=""
  1. .. F BM=3:2:($L(HDR,"^")-1) S CDATA=CDATA_"NDA"_U_"No Data Available"_U
  1. . S DFN=""
  1. . F S DFN=$O(@BQIGREF@(BGPPROV,DFN)) Q:DFN="" D
  1. .. S I=""
  1. .. F S I=$O(@BQIGREF@(BGPPROV,DFN,"C",I)) Q:I="" D
  1. ... S CDEN(I)=$G(CDEN(I))+$P($G(@BQIGREF@(BGPPROV,DFN,"C",I)),U,1)
  1. ... S NUM=$P($G(@BQIGREF@(BGPPROV,DFN,"C",I)),U,2)
  1. ... I NUM>1,$$FMTE^BQIUL1(NUM)'?.N S NUM=1
  1. ... S CNUM(I)=$G(CNUM(I))+NUM
  1. ... S CEXC(I)=$G(CEXC(I))+$P($G(@BQIGREF@(BGPPROV,DFN,"C",I)),U,3)
  1. ... ;S BQIND(I)=""
  1. .. S I="",CDATA=""
  1. .. F S I=$O(BQIND(I)) Q:I="" D
  1. ... S MSN=$P(^BGPMUIND(90596.11,I,0),U,1)
  1. ... I $G(^BGPMUIND(90595.11,MSN,0))="" Q
  1. ... I $P(^BGPMUIND(90595.11,MSN,0),U,4)="H" Q
  1. ... I +$G(CNUM(I))=0 S CURR="0%"_U_"Numerator: "_$G(CNUM(I))_" Denominator: "_$G(CDEN(I))
  1. ... I +$G(CDEN(I))'=0,+$G(CNUM(I))'=0 S CURR=(CNUM(I)/CDEN(I))*100,CURR=$J(CURR,3,0)_"%",CURR=$$TRIM^BQIUL1(CURR," ")_U_"Numerator: "_$G(CNUM(I))_" Denominator: "_$G(CDEN(I))
  1. ... I $G(CDEN(I))="",$G(CNUM(I))="",$G(CEXC(I))'="" S CURR="Excluded"_U_$G(CEXC(I))
  1. ... I $G(CDEN(I))="",$G(CNUM(I))="",$G(CEXC(I))="" S CURR="N/A^Not Applicable"
  1. ... S CDATA=CDATA_CURR_U
  1. . S CDATA=$$TKO^BQIUL1(CDATA,"^")
  1. . S II=II+1,@TDATA@(II)=BGPPROV_$C(28)_$P(^VA(200,BGPPROV,0),U,1)_U_PERIOD_U_CDATA_$C(30)
  1. ;
  1. DONE ;
  1. S II=II+1,@TDATA@(II)=$C(31)
  1. Q
  1. ;
  1. ERR ;
  1. D ^%ZTER
  1. NEW Y,ERRDTM
  1. S Y=$$NOW^XLFDT() X ^DD("DD") S ERRDTM=Y
  1. S BMXSEC="Recording that an error occurred at "_ERRDTM
  1. I $D(II),$D(TDATA) S II=II+1,@TDATA@(II)=$C(31)
  1. Q