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

BQIMTCRT.m

Go to the documentation of this file.
  1. BQIMTCRT ;GDIT/HS/ALA-Matched Criteria Utilities ; 23 Jan 2013 12:42 PM
  1. ;;2.6;ICARE MANAGEMENT SYSTEM;;Jul 07, 2017;Build 72
  1. ;
  1. ;
  1. TAB(DATA,OWNR,PLIEN) ;EP -- BQI GET MATCH CRITERIA DROP
  1. NEW UID,II
  1. S UID=$S($G(ZTSK):"Z"_ZTSK,1:$J)
  1. S DATA=$NA(^TMP("BQIMTCRT",UID))
  1. K @DATA
  1. ;
  1. S II=0
  1. D THDR
  1. NEW $ESTACK,$ETRAP S $ETRAP="D ERR^BQIMTCRT D UNWIND^%ZTER" ; SAC 2006 2.2.3.3.2
  1. ;
  1. I $P(^BQICARE(OWNR,1,PLIEN,0),U,10)=0 G DONE
  1. NEW DA,IENS,TYPE,SOURCE,FSOURCE,PPIEN,ARRAY
  1. S DA(1)=OWNR,DA=PLIEN,IENS=$$IENS^DILF(.DA)
  1. S SOURCE=$$GET1^DIQ(90505.01,IENS,.11,"E")
  1. I SOURCE="INPATIENTS" S ARRAY("IN")="IN^Inpatients"
  1. I SOURCE="ER VISITS" S ARRAY("ER")="ER^ER Visits"
  1. ;I SOURCE="RPMS REGISTER PATIENTS" S ARRAY("RG")="RG^Register"
  1. S FSOURCE=$$GET1^DIQ(90505.01,IENS,.14,"E")
  1. S PPIEN=$$PP^BQIDCDF(FSOURCE) I PPIEN=-1 G CONT
  1. ;
  1. F TYPE="PROB","MED","LAB","ALLERGY","MEDTX","LABTX","PROBTX","CPT","CPTTX","EDUPICK","EDUTX","EDUC","EDUTOP","REMCODE","POV","POVTX","POVS","POVSB","MEAS" D
  1. . I '$D(^BQICARE(OWNR,1,PLIEN,15,"B",TYPE)) Q
  1. . I TYPE="PROB"!(TYPE="PROBTX") S ARRAY("PR")="PR^Problems"
  1. . I TYPE="POV"!(TYPE="POVS")!(TYPE="POVTX")!(TYPE="POVSB") S ARRAY("DX")="DX^POVs"
  1. . I TYPE="MEAS" S ARRAY("MS")="MS^Measurements"
  1. . I TYPE="MED"!(TYPE="MEDTX") D
  1. .. I $D(^BQICARE(OWNR,1,PLIEN,15,"B","MNOT")) Q
  1. .. S ARRAY("ME")="ME^Medications"
  1. . I TYPE="LAB"!(TYPE="LABTX") D
  1. .. I $D(^BQICARE(OWNR,1,PLIEN,15,"B","LNOT")) Q
  1. .. S ARRAY("LA")="LA^Lab Tests"
  1. . I TYPE="ALLERGY" S ARRAY("AL")="AL^Allergies"
  1. . I TYPE="CPT"!(TYPE="CPTTX") D
  1. .. I $D(^BQICARE(OWNR,1,PLIEN,15,"B","CNOT")) Q
  1. .. S ARRAY("CP")="CP^CPTs"
  1. . I TYPE="EDUC"!(TYPE="EDUPICK")!(TYPE="EDUTX")!(TYPE="EDUTOP") D
  1. .. I $D(^BQICARE(OWNR,1,PLIEN,15,"B","EDUNOT")) Q
  1. .. S ARRAY("ED")="ED^Pt Education"
  1. . I TYPE="REMCODE" S ARRAY("RE")="RE^Reminder Notifications"
  1. ;
  1. CONT ;
  1. NEW TIEN
  1. S TYPE=""
  1. F S TYPE=$O(ARRAY(TYPE)) Q:TYPE="" D
  1. . S TIEN=$O(^BQI(90506.5,"C",TYPE,"")) I TIEN="" Q
  1. . I $P(^BQI(90506.5,TIEN,0),"^",10)=1 Q
  1. . S II=II+1,@DATA@(II)=ARRAY(TYPE)_$C(30)
  1. ;
  1. DONE ;
  1. I '$G(NFLG) S II=II+1,@DATA@(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(DATA) S II=II+1,@DATA@(II)=$C(31)
  1. Q
  1. ;
  1. THDR ;
  1. S @DATA@(II)="T00010IEN^T00030NAME"_$C(30)
  1. Q
  1. ;
  1. ;
  1. COL(DATA,TYPE) ;EP -- BQI GET MATCH CRITERIA COLUMN
  1. NEW UID,II
  1. S UID=$S($G(ZTSK):"Z"_ZTSK,1:$J)
  1. S DATA=$NA(^TMP("BQIMTCRT",UID))
  1. K @DATA
  1. ;
  1. S II=0
  1. NEW $ESTACK,$ETRAP S $ETRAP="D ERR^BQIMTCRT D UNWIND^%ZTER" ; SAC 2006 2.2.3.3.2
  1. ;S MTYP=$S(TYPE="PR":"PROB",TYPE="ME":"MED",TYPE="LA":"LAB",TYPE="IN":"INP",TYPE="CP":"CPT",TYPE="AL":"ALGY",1:"") I MTYP="" Q
  1. S HDR="T00015CODE^T00050DISPLAY_NAME"
  1. S @DATA@(II)=HDR_$C(30)
  1. ;
  1. NEW CRIEN,TYP,ORD,IEN,KEY,CODE
  1. S CRIEN=$$FIND1^DIC(90506.5,"","B","Patient","","","ERROR")
  1. S TYP=$P(^BQI(90506.5,CRIEN,0),U,2)
  1. S ORD=""
  1. F S ORD=$O(^BQI(90506.1,"AD",TYP,ORD)) Q:ORD="" D
  1. . S IEN=""
  1. . F S IEN=$O(^BQI(90506.1,"AD",TYP,ORD,IEN)) Q:IEN="" D
  1. .. I $$GET1^DIQ(90506.1,IEN_",",.1,"I")=1 Q
  1. .. S KEY=$$GET1^DIQ(90506.1,IEN_",",3.1,"E")
  1. .. I KEY'="",'$$KEYCHK^BQIULSC(KEY,DUZ) Q
  1. .. I $$GET1^DIQ(90506.1,IEN_",",3.04,"I")'="O" D
  1. ... S CODE=$P(^BQI(90506.1,IEN,0),U,1) Q:CODE=""
  1. ... I $P($G(^BQI(90506.1,IEN,0)),U,10)=1 Q
  1. ... S II=II+1,@DATA@(II)=CODE_U_$P(^BQI(90506.1,IEN,0),U,3)_$C(30)
  1. ;
  1. NEW CRIEN,BN,CDATA,CODE
  1. S CRIEN=$$FIND1^DIC(90506.5,,"X",TYPE,"C","","ERROR")
  1. S BN=0
  1. F S BN=$O(^BQI(90506.5,CRIEN,10,BN)) Q:'BN D
  1. . S CDATA=^BQI(90506.5,CRIEN,10,BN,0)
  1. . S CODE=$P(CDATA,U,1)
  1. . S II=II+1,@DATA@(II)=CODE_U_$P(CDATA,U,3)_$C(30)
  1. S II=II+1,@DATA@(II)=$C(31)
  1. Q