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

BQIRGHPC.m

Go to the documentation of this file.
  1. BQIRGHPC ;GDHSD/HS/ALA-Hep C Care Mgmt ; 18 Apr 2016 11:42 AM
  1. ;;2.5;ICARE MANAGEMENT SYSTEM;**1**;May 24, 2016;Build 17
  1. ;
  1. ;
  1. LBT ;EP - Set up Lab tests
  1. ; Clean up labs
  1. NEW DA,IENS,CIEN
  1. S CIEN=$O(^BQI(90506.5,"B","Hep C","")) I CIEN="" Q
  1. S DA=0,DA(1)=CIEN
  1. F S DA=$O(^BQI(90506.5,CIEN,10,DA)) Q:'DA D
  1. . S IENS=$$IENS^DILF(.DA)
  1. . S BQIUPD(90506.51,IENS,.09)=1
  1. I $D(BQIUPD) D FILE^DIE("","BQIUPD","ERROR")
  1. ;
  1. NEW TAX,TREF
  1. F TAX="BQI HCV OTHER LAB TESTS" D
  1. . S TREF=$NA(^TMP("BQIHCVL",$J)) K @TREF
  1. . D BLD^BQITUTL(TAX,.TREF,"L")
  1. . D LBR
  1. ;
  1. F TAX="BQI HCV BASELINE LAB TESTS" D
  1. . S TREF=$NA(^TMP("BQIHCVB",$J)) K @TREF
  1. . D BLD^BQITUTL(TAX,.TREF,"L")
  1. . D LBB
  1. Q
  1. ;
  1. LBR ;EP - Set up lab tests
  1. NEW BN,CT,CD,DA,IENS,DIC,DESC,PNL,DLAYGO,DIC,X,Y,NM,NAME
  1. S BN=0
  1. F S BN=$O(@TREF@(BN)) Q:'BN D
  1. . S NM=$P(^LAB(60,BN,.1),U,1),NAME=$P(^LAB(60,BN,0),"^",1)
  1. . S PNL=0 I $O(^LAB(60,BN,2,0))'="" S PNL=1
  1. . S IEN=$O(^BQI(90506.5,CIEN,10,"C",NM,""))
  1. . I IEN'="" D
  1. .. S DA(1)=CIEN,DA=IEN,IENS=$$IENS^DILF(.DA)
  1. .. S BQIUPD(90506.51,IENS,.09)="@"
  1. .. D FILE^DIE("","BQIUPD","ERROR")
  1. .. I PNL S DESC(1)="Most recent "_NAME_" panel from V Lab is displayed."
  1. .. I 'PNL S DESC(1)="Most recent "_NAME_" lab test from V Lab is displayed."
  1. .. D WP^DIE(90506.51,IENS,4,"","DESC")
  1. . I IEN="" D
  1. .. S CT=$P($G(^BQI(90506.5,CIEN,10,0)),U,3),CT=CT+1,LCT=CT
  1. .. S CD="HC_"_$E("0000",$L(CT),2)_CT
  1. .. S DA(1)=CIEN,X=CD,DIC="^BQI(90506.5,"_DA(1)_",10,",DIC(0)="L",DLAYGO=90506.51
  1. .. K DO,DD D FILE^DICN S DA=+Y
  1. .. S IENS=$$IENS^DILF(.DA)
  1. .. S BQIUPD(90506.51,IENS,.02)=3,BQIUPD(90506.51,IENS,.03)=NM
  1. .. S BQIUPD(90506.51,IENS,.04)=BN
  1. .. S BQIUPD(90506.51,IENS,.06)="O",BQIUPD(90506.51,IENS,.08)="A"
  1. .. S BQIUPD(90506.51,IENS,5.02)="Current",BQIUPD(90506.51,IENS,5.01)="Lab"
  1. .. S BQIUPD(90506.51,IENS,3)="D LAB^BQIRGHPC",BQIUPD(90506.51,IENS,1)="S VAL=$$DSP^BQIRGHPC(DFN,CODE)"
  1. .. D FILE^DIE("","BQIUPD","ERROR")
  1. .. I PNL S DESC(1)="Most recent "_NAME_" panel from V Lab is displayed."
  1. .. I 'PNL S DESC(1)="Most recent "_NAME_" lab test from V Lab is displayed."
  1. .. D WP^DIE(90506.51,IENS,4,"","DESC")
  1. K @TREF
  1. Q
  1. ;
  1. LBB ;EP
  1. NEW BN,CT,CD,DA,IENS,DIC,DESC,PNL,DLAYGO,DIC,X,Y,NM,NAME
  1. S BN=0
  1. S CT=$S($G(LCT)'="":LCT,1:$P(^BQI(90506.5,CIEN,10,0),"^",3))
  1. F S BN=$O(@TREF@(BN)) Q:'BN D
  1. . S NM=$P(^LAB(60,BN,.1),U,1),NAME=$P(^LAB(60,BN,0),"^",1)
  1. . S PNL=0 I $O(^LAB(60,BN,2,0))'="" S PNL=1
  1. . S IEN=$O(^BQI(90506.5,CIEN,10,"C",NM,""))
  1. . I IEN'="" D
  1. .. S DA(1)=CIEN,DA=IEN,IENS=$$IENS^DILF(.DA)
  1. .. S BQIUPD(90506.51,IENS,.09)="@"
  1. .. D FILE^DIE("","BQIUPD","ERROR")
  1. .. I PNL S DESC(1)="Most recent "_NAME_" panel from V Lab is displayed."
  1. .. I 'PNL S DESC(1)="Most recent "_NAME_" lab test from V Lab is displayed."
  1. .. D WP^DIE(90506.51,IENS,4,"","DESC")
  1. . I IEN="" D
  1. .. S CT=CT+1
  1. .. S CD="HC_"_$E("0000",$L(CT),2)_CT
  1. .. S DA(1)=CIEN,X=CD,DIC="^BQI(90506.5,"_DA(1)_",10,",DIC(0)="L",DLAYGO=90506.51
  1. .. K DO,DD D FILE^DICN S DA=+Y
  1. .. S IENS=$$IENS^DILF(.DA)
  1. .. S BQIUPD(90506.51,IENS,.02)=3,BQIUPD(90506.51,IENS,.03)=NM
  1. .. S BQIUPD(90506.51,IENS,.04)=BN
  1. .. S BQIUPD(90506.51,IENS,.06)="O",BQIUPD(90506.51,IENS,.08)="A"
  1. .. S BQIUPD(90506.51,IENS,5.02)="Baseline",BQIUPD(90506.51,IENS,5.01)="Lab"
  1. .. S BQIUPD(90506.51,IENS,3)="D LRR^BQIRGHPC",BQIUPD(90506.51,IENS,1)="S VAL=$$DSP^BQIRGHPC(DFN,CODE)"
  1. .. D FILE^DIE("","BQIUPD","ERROR")
  1. .. ;I PNL S DESC(1)="Most recent "_NAME_" panel from V Lab is displayed."
  1. .. I 'PNL D
  1. ... S DESC(1)="Baseline and most recent "_NAME_" test from V Lab is displayed."
  1. ... S DESC(2)="Go to Patient View PCC Tab to see full listing of lab tests."
  1. .. D WP^DIE(90506.51,IENS,4,"","DESC")
  1. K @TREF
  1. Q
  1. ;
  1. LAB ;EP - Pull out HCV lab tests
  1. NEW LRES,RES,IENS,DA
  1. S DA(1)=SRIEN,DA=AIEN,IENS=$$IENS^DILF(.DA)
  1. S FRN=$$GET1^DIQ(90506.51,IENS,.02,"I")
  1. S FREF=$$PTR^BQIUL2(90506.51,.02,FRN,.02)
  1. S RREF=$$PTR^BQIUL2(90506.51,.02,FRN,.08)
  1. S ITM=$$GET1^DIQ(90506.51,IENS,.04,"E")
  1. S NAM=$$GET1^DIQ(90506.51,IENS,.03,"E")
  1. S TAX=$$GET1^DIQ(90506.51,IENS,.07,"E")
  1. ;S LRES=$$ITM^BQICMUTL("",BQDFN,FREF,RREF,ITM,TAX,.TREF)
  1. S LRES=$$ITM^BQIRGUT1("",BQDFN,FREF,RREF,ITM,TAX,.TREF)
  1. S VAL="",DATE="",VISIT="",OTHER=""
  1. I $P(LRES,U,1)=0 S RESULT=0
  1. I $P(LRES,U,1)'=0 D
  1. . S RES=$P(LRES,U,7) I RES="" S RES=$P(LRES,U,6)
  1. . S RESULT=1_U_$P(LRES,U,2)_U_RES
  1. . S VAL=$P(RESULT,"^",3),DATE=$P(RESULT,"^",2),VISIT=$P(RESULT,"^",4),OTHER=$P(RESULT,"^",5)
  1. . S VAL=VAL_" ("_$$FMTMDY^BQIUL1(DATE)_")"
  1. Q
  1. ;
  1. LRR ;EP
  1. NEW RESULT,DA,IENS
  1. S DA(1)=SRIEN,DA=AIEN,IENS=$$IENS^DILF(.DA)
  1. S ITM=$$GET1^DIQ(90506.51,IENS,.04,"E")
  1. S RESULT=0,VAL="",DATE="",VISIT="",OTHER=""
  1. S RESULT=$$LBS(BQDFN,ITM)
  1. I RESULT S VAL=$P(RESULT,"^",2)
  1. Q
  1. ;
  1. LBS(DFN,ITM) ;EP - Pull out baseline and most recent lab
  1. NEW RVDB,BIEN,RESB,RVDC,CIEN,RESC,DATE,RVDT,VALUE
  1. S DATE=$P($$FDX^BQITDUTL(DFN,"BKM HEP C DXS",""),"^",1),RVDT=9999999-DATE,VALUE=0
  1. I $G(DATE)="" S RVDT=$O(^AUPNVLAB("AA",DFN,ITM,""),-1) I RVDT="" Q 0
  1. S RVDB=$O(^AUPNVLAB("AA",DFN,ITM,RVDT),-1) I RVDB="" S RVDB=RVDT
  1. S BIEN=$O(^AUPNVLAB("AA",DFN,ITM,RVDB,"")),RESB=""
  1. I BIEN'="" S RESB=$P($G(^AUPNVLAB(BIEN,0)),"^",4)
  1. S RVDC=$O(^AUPNVLAB("AA",DFN,ITM,""))
  1. I RVDC'="" S CIEN=$O(^AUPNVLAB("AA",DFN,ITM,RVDC,"")),RESC=""
  1. I $G(CIEN)'="" S RESC=$P($G(^AUPNVLAB(CIEN,0)),"^",4)
  1. S BASE="" I RVDB'="" S BASE="B: "_RESB_" ("_$$FMTMDY^BQIUL1(9999999-RVDB)_")"
  1. S CURR="" I RVDC'="" S CURR="C: "_RESC_" ("_$$FMTMDY^BQIUL1(9999999-RVDC)_")"
  1. I BASE'=""!(CURR'="") S VALUE=1_"^"_BASE_$C(10)_$C(13)_CURR
  1. Q VALUE
  1. ;
  1. FIB(DFN) ;EP - Fibroscan
  1. NEW TAX,TREF,FREF,TMFRAME,VALUE,VSDTM,BQQN,CT
  1. S TAX="BQI FIBROSCAN CPT PROC",TREF="BQITREF" K @TREF
  1. D BLD^BQITUTL(TAX,.TREF)
  1. S FREF=9000010.18,TMFRAME=""
  1. S VALUE=$$TAX^BQITRUTL(TMFRAME,TAX,1,DFN,FREF,"","",.TREF)
  1. I VALUE'=0 D
  1. . S VALUE="YES"_" ("_$$FMTMDY^BQIUL1($P(VALUE,"^",2))_")^"_$P(VALUE,"^",2)_"^"_$P(VALUE,"^",4)_"^"_$P(VALUE,"^",5)
  1. I VALUE=0 S VALUE=""
  1. Q VALUE
  1. ;
  1. LU(DFN) ;EP - Liver Ultrasound
  1. NEW TAX,TREF,FREF,TMFRAME,RAD,RIEN,VALUE,N,RVDT,VSDTM,BQQN,CT
  1. S TAX="BQI LIVER ULTRASOUND CPT",TREF="BQITREF" K @TREF
  1. D BLD^BQITUTL(TAX,.TREF)
  1. S FREF=9000010.18,TMFRAME=""
  1. S VALUE=$$TAX^BQITRUTL(TMFRAME,TAX,1,DFN,FREF,"","",.TREF)
  1. I VALUE'=0 D
  1. . S VALUE="YES"_" (CPT: "_$$FMTMDY^BQIUL1($P(VALUE,"^",2))_")^"_$P(VALUE,"^",2)_"^"_$P(VALUE,"^",4)_"^"_$P(VALUE,"^",5)
  1. I VALUE=0 D
  1. . S N="",VALUE=""
  1. . D BLD^BQITUTL(TAX,.TREF)
  1. . F S N=$O(@TREF@(N)) Q:N="" D
  1. .. I '$D(^RAMIS(71,"D",N)) Q
  1. .. S RAD="" F S RAD=$O(^RAMIS(71,"D",N,RAD)) Q:RAD="" D
  1. ... I '$D(^AUPNVRAD("AA",DFN,RAD)) Q
  1. ... S RVDT=$O(^AUPNVRAD("AA",DFN,RAD,"")),RIEN=$O(^AUPNVRAD("AA",DFN,RAD,RVDT,""))
  1. ... S RVDT=9999999-RVDT
  1. ... S VALUE="YES"_" (RAD: "_$$FMTMDY^BQIUL1(RVDT)_")^"_RVDT_"^"_$P(^AUPNVRAD(RIEN,0),U,3)_"^"_RIEN
  1. Q VALUE
  1. ;
  1. HLB(BQDFN,STVW) ;EP
  1. NEW FREF,TMFRAME,VALUE,TAX,RES,HCODE
  1. S TMFRAME="",VALUE="",ITM=""
  1. S HCODE=$P(^BQI(90506.1,STVW,0),"^",1)
  1. I HCODE="HCANTI" S TAX="BQI HCV ANTIBODY TAX",FREF=9000010.09,RREF=60
  1. I HCODE="HCAST" S TAX="DM AUDIT AST TAX",FREF=9000010.09,RREF=60
  1. I HCODE="HCALT" S TAX="DM AUDIT ALT TAX",FREF=9000010.09,RREF=60
  1. I HCODE="HCPLAT" S TAX="BQI PLATELET TAX",FREF=9000010.09,RREF=60
  1. I HCODE="HCVIRAL" S TAX="BQI HCV VIRAL LOAD TAX",FREF=9000010.09,RREF=60
  1. I HCODE="HCGENO" S TAX="BQI HEP C GENOTYPE TESTS",FREF=9000010.09,RREF=60
  1. I HCODE="HCHIV" S TAX="BGP HIV TEST TAX",FREF=9000010.09,RREF=60
  1. I HCODE="HCRNA" S TAX="BQI HCV RNA TAX",FREF=9000010.09,RREF=60
  1. ;S VALUE=$$TAX^BQITRUTL(TMFRAME,TAX,1,BQDFN,FREF,"","",.TREF)
  1. S VALUE=$$ITM^BQIRGUT1($G(TMFRAME),$G(BQDFN),$G(FREF),$G(RREF),$G(ITM),TAX,.TREF)
  1. I FREF=9000010.09 D
  1. . I VALUE=0 S VALUE="" Q
  1. . S RES=$P(VALUE,"^",6)_" ("_$$FMTMDY^BQIUL1($P(VALUE,"^",2))_")"
  1. . S VALUE=RES_"^"_$P(VALUE,"^",2)_"^"_$P(VALUE,"^",4)_"^"_$P(VALUE,"^",5)
  1. Q VALUE
  1. ;
  1. DSP(ASDFN,CODE) ; EP - Display Care Mgmt field
  1. NEW VALUE,RESULT,ASPIEN,CRIEN,CMSN,LINK
  1. S CRIEN=$O(^BQIPAT(ASDFN,60,"B",CRN,"")) I CRIEN="" Q ""
  1. S ASPIEN="",VALUE="",HOVER="",LINK="",RESULT=""
  1. F S ASPIEN=$O(^BQIPAT(ASDFN,60,CRIEN,1,"B",CODE,ASPIEN)) Q:ASPIEN="" D
  1. . S VALUE=$P($G(^BQIPAT(ASDFN,60,CRIEN,1,ASPIEN,0)),U,2)
  1. . S HOVER=$P($G(^BQIPAT(ASDFN,60,CRIEN,1,ASPIEN,0)),U,5),HOVER=""
  1. . S LINK=$P($G(^BQIPAT(ASDFN,60,CRIEN,1,ASPIEN,0)),U,4)
  1. I VALUE'="" S RESULT=VALUE_$C(26)_HOVER_$C(26)_LINK
  1. E S RESULT=VALUE
  1. Q RESULT