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

BQIGPHLP.m

Go to the documentation of this file.
  1. BQIGPHLP ;PRXM/HC/ALA-Get GPRA Help Text ; 08 Oct 2007 3:58 PM
  1. ;;2.1;ICARE MANAGEMENT SYSTEM;;Feb 07, 2011
  1. ;
  1. Q
  1. ;
  1. GET(DATA,YEAR,MEAS,COL) ;EP -- BQI GET GPRA HELP TEXT
  1. ;
  1. ;Input
  1. ; YEAR - the CRS year
  1. ; MEAS - A specific measure. If null, gets all measures
  1. ; COL - If the data needs to be put in a different column size
  1. ;
  1. NEW UID,II,BKM,GMEAS,BQIH,BQIYR,BQIINDG,BQIMEASG,BQIINDF,BQIMEASF
  1. NEW BQM,BR,DND,NMD,X,TMGLB,ORDER,ORD,SUM,TITLE,N,BQCODE,CAT,CLIN
  1. NEW VER,BQMM,TIT
  1. ;
  1. S UID=$S($G(ZTSK):"Z"_ZTSK,1:$J)
  1. S DATA=$NA(^TMP("BQIGPHLP",UID))
  1. K @DATA
  1. ;
  1. S II=0
  1. NEW $ESTACK,$ETRAP S $ETRAP="D ERR^BQIGPHLP D UNWIND^%ZTER" ; SAC 2006 2.2.3.3.2
  1. ;
  1. S MEAS=$G(MEAS,""),YEAR=$G(YEAR,"")
  1. ;
  1. I $G(YEAR)="" D
  1. . I $G(OWNR)'="",$G(PLIEN)'="" D
  1. .. NEW DA,IENS
  1. .. S DA(1)=$S(OWNR=DUZ:DUZ,1:OWNR)
  1. .. S DA=PLIEN,IENS=$$IENS^DILF(.DA)
  1. .. S YEAR=$$GET1^DIQ(90505.01,IENS,3.3,"E")
  1. . S BQIH=$$SPM^BQIGPUTL()
  1. . I $G(YEAR)="" S YEAR=$$GET1^DIQ(90508,BQIH_",",2,"E")
  1. ;
  1. S @DATA@(II)="T00004GPRA_YEAR^I00010MEAS_IEN^T00015CODE^T00030CATEGORY^T00030CLIN_GROUP^T01024REPORT_TEXT"_$C(30)
  1. S BQIYR=$$LKP^BQIGPUTL(YEAR)
  1. D GFN^BQIGPUTL(BQIH,BQIYR)
  1. S BQIINDG=$$ROOT^DILFD(BQIINDF,"",1)
  1. S BQIMEASG=$$ROOT^DILFD(BQIMEASF,"",1)
  1. S VER=$$VERSION^XPDUTL("BGP")
  1. ;
  1. I MEAS'="" D GETDATA(MEAS,VER) G DONE
  1. ;
  1. ; Put help text in indicator order
  1. S TMGLB=$NA(^TMP("BQIGPORD",UID))
  1. K @TMGLB
  1. ;
  1. I VER<8.0 D
  1. . S BQM=0
  1. . F S BQM=$O(^BQI(90508,BQIH,20,BQIYR,20,BQM)) Q:'BQM D
  1. .. S MEAS=$P(^BQI(90508,BQIH,20,BQIYR,20,BQM,0),U,1)
  1. .. S GPMEAS=YEAR_"_"_MEAS
  1. .. S BQMM=$O(^BQI(90506.1,"B",GPMEAS,""))
  1. .. S TITLE=$P(^BQI(90506.1,BQMM,0),U,3)
  1. .. I $P(^BQI(90506.1,BQMM,0),U,10)=1 Q
  1. .. D SM
  1. ;
  1. I VER>7.0 D
  1. . S BQM=""
  1. . F S BQM=$O(^BQI(90506.1,"AC","G",BQM)) Q:BQM="" D
  1. .. S BQCODE=$P(^BQI(90506.1,BQM,0),U,1),TITLE=$P(^(0),U,3)
  1. .. I $P(^BQI(90506.1,BQM,0),U,10)=1 Q
  1. .. S MEAS=$P(BQCODE,"_",2)
  1. .. D SM
  1. ;
  1. S SUM=""
  1. F S SUM=$O(@TMGLB@(SUM)) Q:SUM="" D
  1. . S TIT=""
  1. . F S TIT=$O(@TMGLB@(SUM,TIT)) Q:TIT="" D
  1. .. S ORD=""
  1. .. F S ORD=$O(@TMGLB@(SUM,TIT,ORD)) Q:ORD="" D
  1. ... S MEAS=@TMGLB@(SUM,TIT,ORD)
  1. .. D GETDATA(MEAS,VER)
  1. ;
  1. DONE ;
  1. S II=II+1,@DATA@(II)=$C(31)
  1. Q
  1. ;
  1. SM ;
  1. I VER<8.0 D
  1. . S ORDER=$$GET1^DIQ(BQIMEASF,MEAS_",",1406,"E"),SUM="NA"
  1. . I ORDER="" S ORDER=$$GET1^DIQ(BQIMEASF,MEAS_",",1506,"E"),SUM="NN"
  1. . S @TMGLB@(SUM,ORDER,MEAS)=MEAS
  1. ;
  1. I VER>7.0 D
  1. . S SUM=$$GET1^DIQ(BQIMEASF,MEAS_",",1706,"I")
  1. . I SUM="" Q
  1. . S ORDER=TITLE
  1. . S @TMGLB@(SUM,ORDER,MEAS)=MEAS
  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(DATA) S II=II+1,@DATA@(II)=$C(31)
  1. Q
  1. ;
  1. GETDATA(GMEAS,VER) ;EP - Get GPRA measure
  1. ;
  1. I VER<8.0 D
  1. . S BQM=$O(^BQI(90508,BQIH,20,BQIYR,20,"B",GMEAS,""))
  1. . S BQCODE=YEAR_"_"_GMEAS
  1. . S GMEAS=$O(^BQI(90506.1,"B",BQCODE,""))
  1. . ;S CAT=$$GET1^DIQ(90506.1,GMEAS_",",2.02,"E")
  1. . S CAT=$$GET1^DIQ(90506.1,GMEAS_",",3.03,"E")
  1. . S CLIN=$$GET1^DIQ(90506.1,GMEAS_",",3.02,"E")
  1. . ;S CLIN=$$GET1^DIQ(90506.1,GMEAS_",",2.06,"E")
  1. . ;
  1. . S N=0
  1. . I $O(^BQI(90508,BQIH,20,BQIYR,20,BQM,1,N))="" S TITLE="No tooltip available"
  1. . I $O(^BQI(90508,BQIH,20,BQIYR,20,BQM,1,N))'="" S TITLE="" D
  1. .. F S N=$O(^BQI(90508,BQIH,20,BQIYR,20,BQM,1,N)) Q:'N D
  1. ... S TITLE=TITLE_^BQI(90508,BQIH,20,BQIYR,20,BQM,1,N,0)_$C(10)
  1. ;
  1. I VER>7.0 D
  1. . S BQCODE=YEAR_"_"_GMEAS
  1. . S GMEAS=$O(^BQI(90506.1,"B",BQCODE,""))
  1. . S MEAS=$P(BQCODE,"_",2)
  1. . ;S CAT=$$GET1^DIQ(90506.1,GMEAS_",",2.02,"E")
  1. . ;S CLIN=$$GET1^DIQ(90506.1,GMEAS_",",2.06,"E")
  1. . S CAT=$$GET1^DIQ(90506.1,GMEAS_",",3.03,"E")
  1. . S CLIN=$$GET1^DIQ(90506.1,GMEAS_",",3.02,"E")
  1. . S TPI=0,TITLE=""
  1. . F S TPI=$O(@BQIMEASG@(MEAS,18,TPI)) Q:'TPI D
  1. .. S TITLE=TITLE_@BQIMEASG@(MEAS,18,TPI,0)_$C(10)
  1. ;
  1. S II=II+1,@DATA@(II)=YEAR_"^"_GMEAS_"^"_BQCODE_"^"_CAT_"^"_CLIN_"^"_TITLE_$C(30)
  1. Q
  1. ;
  1. GLOS(DATA,YEAR,MEAS,COL) ;EP -- BQI GET GPRA GLOSSARY
  1. ;
  1. ;Input
  1. ; YEAR - the CRS year
  1. ; MEAS - A specific measure. If null, gets all measures
  1. ; COL - If the data needs to be put in a different column size
  1. ;
  1. NEW UID,II,BKM,GMEAS,BQIH,BQIYR,BQIINDG,BQIMEASG,BQIINDF,BQIMEASF
  1. NEW BQM,BR,DND,NMD,X,TMGLB,ORDER,ORD,SUM,TITLE,N,CAT,CLIN,TIT
  1. ;
  1. S UID=$S($G(ZTSK):"Z"_ZTSK,1:$J)
  1. S DATA=$NA(^TMP("BQIGPHLP",UID))
  1. K @DATA
  1. ;
  1. S II=0
  1. NEW $ESTACK,$ETRAP S $ETRAP="D ERR^BQIGPHLP D UNWIND^%ZTER" ; SAC 2006 2.2.3.3.2
  1. ;
  1. S MEAS=$G(MEAS,""),YEAR=$G(YEAR,"")
  1. ;
  1. I $G(YEAR)="" D
  1. . I $G(OWNR)'="",$G(PLIEN)'="" D
  1. .. NEW DA,IENS
  1. .. S DA(1)=$S(OWNR=DUZ:DUZ,1:OWNR)
  1. .. S DA=PLIEN,IENS=$$IENS^DILF(.DA)
  1. .. S YEAR=$$GET1^DIQ(90505.01,IENS,3.3,"E")
  1. . S BQIH=$$SPM^BQIGPUTL()
  1. . I $G(YEAR)="" S YEAR=$$GET1^DIQ(90508,BQIH_",",2,"E")
  1. ;
  1. S @DATA@(II)="T00004GPRA_YEAR^I00010MEAS_IEN^T00015CODE^T00030CATEGORY^T00030CLIN_GROUP^T01024REPORT_TEXT"_$C(30)
  1. S BQIYR=$$LKP^BQIGPUTL(YEAR)
  1. D GFN^BQIGPUTL(BQIH,BQIYR)
  1. S BQIINDG=$$ROOT^DILFD(BQIINDF,"")
  1. S BQIMEASG=$$ROOT^DILFD(BQIMEASF,"")
  1. S VER=$$VERSION^XPDUTL("BGP")
  1. ;
  1. I MEAS'="" D GETGLS(MEAS,VER) G DDON
  1. ;
  1. ; Put help text in indicator order
  1. S TMGLB=$NA(^TMP("BQIGPORD",UID))
  1. K @TMGLB
  1. I VER>7.0 D
  1. . S BQM=""
  1. . F S BQM=$O(^BQI(90506.1,"AC","G",BQM)) Q:BQM="" D
  1. .. S BQCODE=$P(^BQI(90506.1,BQM,0),U,1),TITLE=$P(^(0),U,3)
  1. .. I $P(^BQI(90506.1,BQM,0),U,10)=1 Q
  1. .. S MEAS=$P(BQCODE,"_",2)
  1. .. D SSM
  1. ;
  1. I VER<8.0 D
  1. . S BQM=0
  1. . F S BQM=$O(^BQI(90508,BQIH,20,BQIYR,20,BQM)) Q:'BQM D
  1. .. S MEAS=$P(^BQI(90508,BQIH,20,BQIYR,20,BQM,0),U,1)
  1. .. S GPMEAS=YEAR_"_"_MEAS
  1. .. S BQMM=$O(^BQI(90506.1,"B",GPMEAS,""))
  1. .. S TITLE=$P(^BQI(90506.1,BQMM,0),U,3)
  1. .. D SSM
  1. ;
  1. S SUM=""
  1. F S SUM=$O(@TMGLB@(SUM)) Q:SUM="" D
  1. . S TIT=""
  1. . F S TIT=$O(@TMGLB@(SUM,TIT)) Q:TIT="" D
  1. .. S ORD=""
  1. .. F S ORD=$O(@TMGLB@(SUM,TIT,ORD)) Q:ORD="" D
  1. ... S MEAS=@TMGLB@(SUM,TIT,ORD)
  1. .. D GETGLS(MEAS,VER)
  1. ;
  1. DDON ;
  1. S II=II+1,@DATA@(II)=$C(31)
  1. Q
  1. ;
  1. SSM ;
  1. I VER<8.0 D
  1. . S ORDER=$$GET1^DIQ(BQIMEASF,MEAS_",",1406,"E"),SUM="NA"
  1. . I ORDER="" S ORDER=$$GET1^DIQ(BQIMEASF,MEAS_",",1506,"E"),SUM="NN"
  1. . I ORDER'="" S @TMGLB@(SUM,ORDER,MEAS)=MEAS
  1. ;
  1. I VER>7.0 D
  1. . S SUM=$$GET1^DIQ(BQIMEASF,MEAS_",",1706,"I")
  1. . I SUM="" Q
  1. . S ORDER=TITLE
  1. . S @TMGLB@(SUM,ORDER,MEAS)=MEAS
  1. Q
  1. ;
  1. GETGLS(GMEAS,VER) ;EP - Get GPRA measure
  1. ;
  1. NEW IENS,DA,IND,TITLE,LOGIC,DESC,DEND,NUMD,N,TDATA,CT,BJ,BQCODE,CAT,CLIN
  1. S IND=$$GET1^DIQ(BQIMEASF,GMEAS_",",.01,"I")
  1. S BQCODE=YEAR_"_"_GMEAS
  1. S GMEAS=$O(^BQI(90506.1,"B",BQCODE,""))
  1. ;S CAT=$$GET1^DIQ(90506.1,GMEAS_",",2.02,"E")
  1. ;S CLIN=$$GET1^DIQ(90506.1,GMEAS_",",2.06,"E")
  1. S CAT=$$GET1^DIQ(90506.1,GMEAS_",",3.03,"E")
  1. S CLIN=$$GET1^DIQ(90506.1,GMEAS_",",3.02,"E")
  1. S DA=IND,IENS=$$IENS^DILF(.DA)
  1. I VER<8.0,$$GET1^DIQ(BQIINDF,IENS,.07,"I")'=1 Q
  1. S TDATA=BQIINDG_IND_")"
  1. ;
  1. S TITLE=$$GET1^DIQ(BQIINDF,IENS,.03,"E")
  1. ;
  1. S N=0,CT=0 F S N=$O(@TDATA@(11,N)) Q:'N S CT=CT+1,LOGIC(CT)=@TDATA@(11,N,0)
  1. ;
  1. S N=0,CT=0 F S N=$O(@TDATA@(51,N)) Q:'N S CT=CT+1,DESC(CT)=@TDATA@(51,N,0)
  1. ;
  1. S N=0,DND=""
  1. F S N=$O(@TDATA@(61,N)) Q:'N D
  1. . S BR=0
  1. . F S BR=$O(@TDATA@(61,N,1,BR)) Q:'BR D
  1. .. I @TDATA@(61,N,1,BR,0)["GPRA Denominator:" S DND=DND_N_","
  1. . ;
  1. I DND'="" S CT=0 F BJ=1:1 S N=$P(DND,",",BJ) Q:N="" D
  1. . S BR=0 F S BR=$O(@TDATA@(61,N,1,BR)) Q:'BR S CT=CT+1,DEND(CT)=@TDATA@(61,N,1,BR,0)
  1. ;
  1. S N=0,NMD=""
  1. F S N=$O(@TDATA@(62,N)) Q:'N D
  1. . S BR=0
  1. . F S BR=$O(@TDATA@(62,N,1,BR)) Q:'BR D
  1. .. I @TDATA@(62,N,1,BR,0)["GPRA Numerator:" S NMD=NMD_N_","
  1. . ;
  1. I NMD'="" S CT=0 F BJ=1:1 S N=$P(NMD,",",BJ) Q:N="" D
  1. . S BR=0 F S BR=$O(@TDATA@(62,N,1,BR)) Q:'BR S CT=CT+1,NUMD(CT)=@TDATA@(62,N,1,BR,0)
  1. ;
  1. S II=II+1,@DATA@(II)=YEAR_"^"_GMEAS_"^"_BQCODE_"^"_CAT_"^"_CLIN_"^"_TITLE_$C(10)
  1. S N=0 F S N=$O(DESC(N)) Q:'N S II=II+1,@DATA@(II)=DESC(N)_$C(10)
  1. S N=0 F S N=$O(DEND(N)) Q:'N S II=II+1,@DATA@(II)=DEND(N)_$C(10)
  1. S N=0 F S N=$O(NUMD(N)) Q:'N S II=II+1,@DATA@(II)=NUMD(N)_$C(10)
  1. S N=0 F S N=$O(LOGIC(N)) Q:'N S II=II+1,@DATA@(II)=LOGIC(N)_$C(10)
  1. S II=II+1,@DATA@(II)=$C(30)
  1. Q