BQI2POST ;PRXM/HC/ALA-Version 2.0 Post-Install ; 01 Nov 2007 3:15 PM
;;2.1;ICARE MANAGEMENT SYSTEM;;Feb 07, 2011
;
EN ; Entry point
;
NEW VISIT
S VISIT=$G(^XTMP("BQICARE","VISIT"))
I VISIT'="" S $P(^BQI(90508,1,"VISIT"),U,1)=VISIT
I VISIT="" S $P(^BQI(90508,1,"VISIT"),U,1)=$O(^AUPNVSIT("A"),-1)
S $P(^BQI(90508,1,"VISIT"),U,2)=$O(^AUPNPROB("A"),-1)
; Set up the parameters file with the default location
NEW BGPHOME,BGPHN,BQIDA,FD,BGDATA,IDIN,BQDA,PADA,RP
S BGPHN=$O(^BGPSITE(0)) S:BGPHN BGPHOME=$P($G(^BGPSITE(BGPHN,0)),U,1)
Q:$G(BGPHOME)=""
S BQIDA=1
S BQIUPD(90508,BQIDA_",",.01)=BGPHOME
; Clean up development start and stop times
F FLD=3.01:.01:3.09,3.1,3.11:.01:3.19,3.2,3.21,4.01:.01:4.09,4.1,4.11,4.12 D
. S BQIUPD(90508,BQIDA_",",FLD)="@"
D FILE^DIE("","BQIUPD","ERROR")
I $G(^XTMP("BQICARE",3))'="" S ^BQI(90508,1,3)=^XTMP("BQICARE",3)
I $G(^XTMP("BQICARE",4))'="" S ^BQI(90508,1,4)=^XTMP("BQICARE",4)
;
; If no versions of iCare have ever been installed
I $O(^XPD(9.7,"B","ICARE MANAGEMENT SYSTEM 1.0",""))="",$O(^XPD(9.7,"B","ICARE MANAGEMENT SYSTEM 1.1",""))="" D INI^BQI2POSI
;
; If version 1.0 has been installed
I $O(^XPD(9.7,"B","ICARE MANAGEMENT SYSTEM 1.0",""))'="",$O(^XPD(9.7,"B","ICARE MANAGEMENT SYSTEM 1.1",""))="" D ONE^BQI2POSI
;
; Make sure that the new style cross-references are set
NEW DIK
S DIK="^BQI(90506.1,",DIK(1)="3.01"
D ENALL^DIK
;
; Set up iCare Program Manager
NEW USER,DIRUT,DIR,Y,X
S DIR(0)=$S($O(^BQICARE(0))'="":"P^90505:LEMZ",1:"P^200:EMZ")
S DIR("A")="Select iCare Package Manager"
S DIR("A",1)="Select person who is to be designated as the iCare Package Manager."
S DIR("?")="Select the designated iCare Package Manager"
I DIR(0)["200" S DIR("S")="I +$P($G(^(0)),U,11)'>0,$P(^(0),U,11)'>DT"
D ^DIR
S USER=+Y
I $G(DIRUT)=1 S USER=DUZ
D UPD^BQISYKEY(.DATA,USER,"BQIZMGR="_"Y")
;
; Update default patient view from text 'C' to pointer
NEW USR
S USR=0
F S USR=$O(^BQICARE(USR)) Q:'USR D
. I $G(^BQICARE(USR,0))="" K ^BQICARE(USR) Q
. I $P(^BQICARE(USR,0),U,7)="C" S $P(^BQICARE(USR,0),U,7)=1
;
; If special HIV provider categories exist in BDP DESG SPEC PROV CATEGORY,
; move HMS record data into BDPRECN
NEW HCSMR,HPRV,IEN,BQDFN,HIVIEN,BKMCMGR,BKMPRV
S HCSMR=$O(^BDPTCAT("B","HIV CASE MANAGER",""))
S HPRV=$O(^BDPTCAT("B","HIV PROVIDER",""))
S HIVIEN=$$HIVIEN^BKMIXX3()
S IEN=0
F S IEN=$O(^BKM(90451,IEN)) Q:'IEN D
. S BQDFN=$P(^BKM(90451,IEN,0),U,1)
. NEW DA,IENS
. S DA(1)=IEN,DA=HIVIEN,IENS=$$IENS^DILF(.DA)
. S BKMCMGR=$$GET1^DIQ(90451.01,IENS,6.5,"I")
. S BKMPRV=$$GET1^DIQ(90451.01,IENS,6,"I")
. I BKMCMGR'=""&(HCSMR'="") D AEDAP^BDPAPI(BQDFN,BKMCMGR,"HIV CASE MANAGER",.RESULT)
. I BKMPRV'=""&(HPRV'="") D AEDAP^BDPAPI(BQDFN,BKMPRV,"HIV PROVIDER",.RESULT)
;
;Set STATE HIV REPORT REQUIRED to YES
NEW BKMDA,BKMUPD
S BKMDA=1
S BKMUPD(90450,BKMDA_",",12.5)=1
D FILE^DIE("","BKMUPD","ERROR")
;
TXNAME ; Rename taxonomy names
NEW I,TEXT,FILNM,FILIEN,OLD,NEW,SHORT,TAXUPD,TXUPD,TXIEN
F I=1:1 S TEXT=$T(TAX+I) Q:TEXT="" D
. S TEXT=$P(TEXT,";",2,99)
. S FILNM=$P(TEXT,";"),FILIEN=+$P(@("^"_FILNM_"(0)"),"^",2)
. S OLD=$P(TEXT,";",2),NEW=$P(TEXT,";",3),SHORT=$P(TEXT,";",4)
. S TXIEN=$O(@("^"_FILNM_"(""B"","""_OLD_""","""")")) Q:TXIEN=""
. S TAXUPD(FILIEN,TXIEN_",",.01)=NEW
. I SHORT'="" S TAXUPD(FILIEN,TXIEN_",",.02)=SHORT
S FILIEN="" F S FILIEN=$O(TAXUPD(FILIEN)) Q:FILIEN="" D
. M TXUPD(FILIEN)=TAXUPD(FILIEN)
. D FILE^DIE("","TXUPD","ERROR")
. K TXUPD
;
; Delete taxonomies that are no longer used
NEW TAX,DA,DIK
F TAX="BKM BCG IZ CPTS","BKM BCG IZ CVX CODES","BKM BCG IZ PROCEDURE" D
. S DA=$O(^ATXAX("B",TAX,"")) Q:DA=""
. S DIK="^ATXAX("
. D ^DIK
;
; Add new taxonomies OR update existing ones
D ^BQIBTX
;
; Add new BGP SMOKER CPTS and update BQI KNOWN CVD-1 PROCEDURES
D ^BQIHTX
;
;Pre-define the HIV tags as 'proposed' or appropriate if they are in the register
NEW BQIDFN,HRIEN,HIVIEN,PSTAT,PCAT
S HIVIEN=$$HIVIEN^BKMIXX3()
S BQIDFN=""
F S BQIDFN=$O(^BQIPAT("AB",3,BQIDFN)) Q:BQIDFN="" D
. S DATE=$P($G(^BQIPAT(BQIDFN,20,3,0)),U,2)
. S HRIEN=$O(^BKM(90451,"B",BQIDFN,""))
. ; If the tagged person is in the register
. I HRIEN'="" D Q
.. NEW DA,IENS
.. S DA(1)=HRIEN,DA=HIVIEN,IENS=$$IENS^DILF(.DA)
.. S PSTAT=$$GET1^DIQ(90451.01,IENS,.5,"I")
.. S PCAT=$$GET1^DIQ(90451.01,IENS,2.3,"I")
.. ; if the HMS Dx category is null or HIV or AIDS
.. I PCAT=""!(PCAT="H")!(PCAT="A") D Q
... ; if register status is active, deceased or transient then tag is accepted
... I PSTAT="A"!(PSTAT="D")!(PSTAT="T") D EN^BQITDPRC(.DATA,BQIDFN,3,"A",DATE,"POST INSTALL JOB",8,"Register status is "_PSTAT) Q
... ; else tag is proposed
... D EN^BQITDPRC(.DATA,BQIDFN,3,"P",DATE,"POST INSTALL JOB",8,"Register status is "_PSTAT) Q
.. ; if HMS dx category is 'At Risk'
.. D EN^BQITDPRC(.DATA,BQIDFN,3,"P",DATE,"POST INSTALL JOB",8,"Register status is "_PSTAT)
. ;
. ; If the tagged person is NOT in the register
. D EN^BQITDPRC(.DATA,BQIDFN,3,"P",DATE,"POST INSTALL JOB",5)
;
; Update Panels for Diagnostic Tags
S USR=0
F S USR=$O(^BQICARE(USR)) Q:'USR D
. S PLN=0
. F S PLN=$O(^BQICARE(USR,1,PLN)) Q:'PLN D
.. I $O(^BQICARE(USR,1,PLN,15,0))="" Q
.. D ASC
;
; New Asthma taxonomies if BJPC v 2.0 has been installed
I $$VERSION^XPDUTL("BJPC")>1.0 D
. NEW DA,DIK,DIC,X,DLAYGO,IENS,BQIUPD,TIEN,NDA,NTAX,SITE,BI
. S NDA=84
. F BI=1:1 S TEXT=$T(AST+BI) Q:TEXT[" Q" D
.. S NTAX=$P($P(TEXT,";;",2),U,1),SITE=$P($P(TEXT,";;",2),U,2)
.. S TIEN=$O(^ATXAX("B",NTAX,"")) I TIEN="" Q
.. S DA(1)=$O(^BQI(90508,0)),DIK="^BQI(90508,"_DA(1)_",10,"
.. S DA=NDA F S DA=$O(^BQI(90508,DA(1),10,DA)) Q:'DA D ^DIK
.. S DA(1)=$O(^BQI(90508,0)),X=NTAX
.. S DIC(0)="L",DIC="^BQI(90508,"_DA(1)_",10,",DLAYGO=90508.03
.. K DO,DD D FILE^DICN
.. S DA=+Y I DA'=-1 S NDA=DA
.. I DA=-1 S NDA=NDA+1,DA=NDA
.. S IENS=$$IENS^DILF(.DA)
.. S BQIUPD(90508.03,IENS,.01)=NTAX
.. D FILE^DIE("E","BQIUPD","ERROR")
.. S BQIUPD(90508.03,IENS,.02)=TIEN_";ATXAX("
.. S BQIUPD(90508.03,IENS,.03)=4
.. S BQIUPD(90508.03,IENS,.04)=$G(SITE)
.. S BQIUPD(90508.03,IENS,.05)="M"
.. D FILE^DIE("I","BQIUPD","ERROR")
. K BQIUPD
;
TX ; Reset the variable pointer values for the taxonomies
S BQIDA=1
S N=0
F S N=$O(^BQI(90508,BQIDA,10,N)) Q:'N D
. S X=$P(^BQI(90508,BQIDA,10,N,0),U,1)
. S IEN=N_","_BQIDA_","
. I $P(^BQI(90508,BQIDA,10,N,0),U,5)="T" S VAL=$$STXPT(X,"L")
. E S VAL=$$STXPT(X,"N")
. S BQIUPD(90508.03,IEN,.02)=VAL
I $D(BQIUPD) D FILE^DIE("","BQIUPD","ERROR")
;
S REG=0
F S REG=$O(^BQI(90507,REG)) Q:'REG D
. S N=0
. F S N=$O(^BQI(90507,REG,10,N)) Q:'N D
.. S X=$P(^BQI(90507,REG,10,N,0),U,1)
.. S IEN=N_","_REG_","
.. I $P(^BQI(90507,REG,10,N,0),U,5)="T" S VAL=$$STXPT(X,"L")
.. E S VAL=$$STXPT(X,"N")
.. S BQIUPD(90507.01,IEN,.02)=VAL
. I $D(BQIUPD) D FILE^DIE("","BQIUPD","ERROR")
. ;
. S RP=0
. F S RP=$O(^BQI(90507,REG,20,RP)) Q:'RP D
.. S N=0
.. F S N=$O(^BQI(90507,REG,20,RP,10,N)) Q:'N D
... S X=$P(^BQI(90507,REG,20,RP,10,N,0),U,1)
... S IEN=N_","_RP_","_REG_","
... S TIEN=$O(^BQI(90507,REG,10,"B",X,""))
... I $P(^BQI(90507,REG,10,TIEN,0),U,5)="T" S VAL=$$STXPT(X,"L")
... E S VAL=$$STXPT(X,"N")
... S BQIUPD(90507.03,IEN,.02)=VAL
. I $D(BQIUPD) D FILE^DIE("","BQIUPD","ERROR")
;
D PDSC ; Update generated description
;
; Set up tagging program
S ZTDESC="ICARE TAG UPDATE",ZTRTN="REG^BQI2POS1",ZTIO=""
S JBNOW=$$NOW^XLFDT()
S JBDATE=$S($E($P(JBNOW,".",2),1,2)<20:DT,1:$$FMADD^XLFDT(DT,+1))
S ZTDTH=JBDATE_".20"
D ^%ZTLOAD
K ZTDESC,ZTRTN,ZTIO,JBNOW,JBDATE,ZTDTH,ZTSK
;
D ^BQISCHED
Q
;
STXPT(TXNM,TYP) ; Set taxonomy pointer
;
;Input
; TXNM - Taxonomy name
; TYP - Taxonomy Type (L = LAB, N = Non Lab)
NEW IEN,SIEN,DA,IENS,BQUPD,VALUE,GLB
S VALUE=""
I TYP="L" D
. S IEN=$O(^ATXLAB("B",TXNM,"")),GLB="ATXLAB("
. I IEN="" S TYP="N"
I TYP="N" S IEN=$O(^ATXAX("B",TXNM,"")),GLB="ATXAX("
I IEN="" S VALUE="@"
I IEN'="" S VALUE=IEN_";"_GLB
Q VALUE
;
ASC ; Update Panels with associated parameters for Diagnostic Tags
I $O(^BQICARE(USR,1,PLN,15,"B","DXCAT",""))'="" D
. S IEN=$O(^BQICARE(USR,1,PLN,15,"B","DXCAT",""))
. ; Multiple parameter value
. I $O(^BQICARE(USR,1,PLN,15,IEN,1,0))'="" D Q
.. S MDA=0
.. F S MDA=$O(^BQICARE(USR,1,PLN,15,IEN,1,MDA)) Q:'MDA D
... I $D(^BQICARE(USR,1,PLN,15,IEN,1,MDA,2,"B","DXSTAT")) Q
... NEW DA,DIC,DLAYGO
... S DA(4)=USR,DA(3)=PLN,DA(2)=IEN,DA(1)=MDA,X="DXSTAT"
... S DLAYGO=90505.11512,DIC(0)="L",DIC("P")=DLAYGO
... S DIC="^BQICARE("_DA(4)_",1,"_DA(3)_",15,"_DA(2)_",1,"_DA(1)_",2,"
... I '$D(^BQICARE(DA(4),1,DA(3),15,DA(2),1,DA(1),2,0)) S ^BQICARE(DA(4),1,DA(3),15,DA(2),1,DA(1),2,0)="^90505.11512^^"
... K DO,DD D FILE^DICN
... S (DA,PADA)=+Y
... NEW DA,IENS,DIC,DLAYGO
... S DA(5)=USR,DA(4)=PLN,DA(3)=IEN,DA(2)=MDA,DA(1)=PADA
... S DLAYGO=90505.115121,DIC(0)="L",DIC("P")=DLAYGO
... I '$D(^BQICARE(DA(5),1,DA(4),15,DA(3),1,DA(2),2,DA(1),1,0)) S ^BQICARE(DA(5),1,DA(4),15,DA(3),1,DA(2),2,DA(1),1,0)="^90505.115121^^"
... S DIC="^BQICARE("_DA(5)_",1,"_DA(4)_",15,"_DA(3)_",1,"_DA(2)_",2,"_DA(1)_",1,"
... F ASVAL="P","A" D
.... S X=ASVAL
.... K DO,DD D FILE^DICN
. ;
. ; Singular parameter value
. I $D(^BQICARE(USR,1,PLN,15,IEN,2,"B","DXSTAT")) Q
. NEW DA,DIC,DLAYGO
. S DA(3)=USR,DA(2)=PLN,DA(1)=IEN,X="DXSTAT"
. S DLAYGO=90505.1152,DIC(0)="L",DIC("P")=DLAYGO
. S DIC="^BQICARE("_DA(3)_",1,"_DA(2)_",15,"_DA(1)_",2,"
. I '$D(^BQICARE(DA(3),1,DA(2),15,DA(1),2,0)) S ^BQICARE(DA(3),1,DA(2),15,DA(1),2,0)="^90505.1152^^"
. K DO,DD D FILE^DICN
. S (DA,PADA)=+Y
. NEW DA,DIC,DLAYGO
. S DA(4)=USR,DA(3)=PLN,DA(2)=IEN,DA(1)=PADA
. S DLAYGO=90505.11521,DIC(0)="L",DIC("P")=DLAYGO
. I '$D(^BQICARE(DA(4),1,DA(3),15,DA(2),2,DA(1),1,0)) S ^BQICARE(DA(4),1,DA(3),15,DA(2),2,DA(1),1,0)="^90505.11521^^"
. S DIC="^BQICARE("_DA(4)_",1,"_DA(3)_",15,"_DA(2)_",2,"_DA(1)_",1,"
. F ASVAL="P","A" D
.. S X=ASVAL
.. K DO,DD D FILE^DICN
. ;
. ; Send notification that panel definition has been updated
. NEW SUBJECT,DA,IENS,USRNM
. S DA(1)=USR,DA=PLN,IENS=$$IENS^DILF(.DA)
. S USRNM=$$GET1^DIQ(200,USR_",",.01,"E")
. S SUBJECT="Panel "_$$GET1^DIQ(90505.01,IENS,.01,"E")_"'s definition was updated with Diagnostic Tag statuses."
. D ADD^BQINOTF("",USR,SUBJECT)
Q
;
PDSC ; Load revised generated descriptions for all panels
;
NEW OWNR,PLIEN
S OWNR=0
F S OWNR=$O(^BQICARE(OWNR)) Q:'OWNR D
. S PLIEN=0
. F S PLIEN=$O(^BQICARE(OWNR,1,PLIEN)) Q:'PLIEN D
.. NEW DA,IENS
.. S DA(1)=OWNR,DA=PLIEN,IENS=$$IENS^DILF(.DA)
.. K DESC
.. D PEN^BQIPLDSC(OWNR,PLIEN,.DESC)
.. D WP^DIE(90505.01,IENS,5,"","DESC")
.. K DESC,BMXSEC
Q
;
SITEMED(BGPX,BGPNDCT) ; EP
; Automatically populate the site-defined medication taxonomies
; based on the corresponding NDC codes from the site's formulary
;
N BGPTX,X,Y,DIK,TXIEN,LSTIEN,NDCIEN,MED,RESULT,NDC
S BGPTX=$O(^ATXAX("B",BGPX,0))
I 'BGPTX D
. S X=BGPX,DIC="^ATXAX(",DIC(0)="L",DIADD=1,DLAYGO=9002226
. D ^DIC K DIC,DA,DIADD,DLAYGO,I
. I Y=-1 Q ;W !!,"ERROR IN CREATING ",BGPX," TAX" Q
. S BGPTX=+Y,$P(^ATXAX(BGPTX,0),U,2)=BGPX,$P(^(0),U,8)=0,$P(^(0),U,9)=DT
. S $P(^ATXAX(BGPTX,0),U,12)=173,$P(^(0),U,13)=0,$P(^(0),U,15)=50
. I '$D(^ATXAX(BGPTX,21,0)) S ^ATXAX(BGPTX,21,0)="^9002226.02101A^0^0"
I BGPTX S DA=BGPTX,DIK="^ATXAX(" D IX1^DIK
I $G(BGPNDCT)]"" D
. S TXIEN=0,LSTIEN=""
. F S TXIEN=$O(^ATXAX(BGPTX,21,TXIEN)) Q:TXIEN'=+TXIEN S LSTIEN=TXIEN
. S RESULT=1
. ;
. L +^ATXAX(BGPTX,0):1 E S RESULT=0
. Q:'RESULT
. S ^ATXAX(BGPTX,21,0)="^9002226.02101A^"_LSTIEN_U_LSTIEN
. S NDCIEN=$O(^ATXAX("B",BGPNDCT,0))
. S MED=0
. F S MED=$O(^PSDRUG(MED)) Q:MED'=+MED S NDC=$P($G(^PSDRUG(MED,2)),U,4) I NDC]"",$D(^ATXAX(NDCIEN,21,"B",NDC)) D
.. Q:$D(^ATXAX(BGPTX,21,"B",MED))
.. S LSTIEN=LSTIEN+1,^ATXAX(BGPTX,21,LSTIEN,0)=MED_U_MED
. L -^ATXAX(BGPTX,0)
;
I BGPTX S DA=BGPTX,DIK="^ATXAX(" D IX1^DIK
Q
;
AST ; Asthma Taxonomy List
;;BAT ASTHMA SHRT ACT RELV MEDS^1
;;BAT ASTHMA SHRT ACT RELV NDC^
;;BAT ASTHMA SHRT ACT INHLR MEDS^1
;;BAT ASTHMA SHRT ACT INHLR NDC^
;;BAT ASTHMA CONTROLLER NDC^
;;BAT ASTHMA INHLD STEROIDS NDC^
;;BAT ASTHMA LEUKOTRIENE MEDS^1
;;BAT ASTHMA LEUKOTRIENE NDC^
Q
;
TAX ;File Type;Original Taxonomy name;New Taxonomy name;Short name
;ATXLAB;BKM CD4 ABS TESTS TAX;BKMV CD4 ABS TESTS TAX;
;ATXLAB;BKM HEP C EIA TAX;BKM HEP C SCREENING TAX;HEP C SCREENING TAX
;ATXLAB;BKM HEP C RIBA TAX;BKM HEP C CONFIRMATORY TAX;HEP C CONFIRMATORY TAX
;ATXAX;BKM HEP C EIA LOINC CODES;BKM HEP C SCREEN LOINC CODES;HEP C SCREEN LOINC CODES
;ATXAX;BKM HEP C EIA TESTS CPTS;BKM HEP C SCREEN TESTS CPTS;HEP C SCREEN TESTS CPTS
;ATXAX;BKM HEP C RIBA LOINC CODES;BKM HEP C CONFIRM LOINC CODES;HEP C CONFIRM LOINC CODES
;ATXAX;BKM HEP C RIBA TESTS CPTS;BKM HEP C CONFIRM TESTS CPTS;Hepatitis C test (Confirm)
;ATXAX;BKMV FI MED NDCS;BKMV EI MED NDCS;EI MED NDCS
;ATXAX;BKMV FI MEDS;BKMV EI MEDS;BKMV EI MEDS;
BQI2POST ;PRXM/HC/ALA-Version 2.0 Post-Install ; 01 Nov 2007 3:15 PM
+1 ;;2.1;ICARE MANAGEMENT SYSTEM;;Feb 07, 2011
+2 ;
EN ; Entry point
+1 ;
+2 NEW VISIT
+3 SET VISIT=$GET(^XTMP("BQICARE","VISIT"))
+4 IF VISIT'=""
SET $PIECE(^BQI(90508,1,"VISIT"),U,1)=VISIT
+5 IF VISIT=""
SET $PIECE(^BQI(90508,1,"VISIT"),U,1)=$ORDER(^AUPNVSIT("A"),-1)
+6 SET $PIECE(^BQI(90508,1,"VISIT"),U,2)=$ORDER(^AUPNPROB("A"),-1)
+7 ; Set up the parameters file with the default location
+8 NEW BGPHOME,BGPHN,BQIDA,FD,BGDATA,IDIN,BQDA,PADA,RP
+9 SET BGPHN=$ORDER(^BGPSITE(0))
IF BGPHN
SET BGPHOME=$PIECE($GET(^BGPSITE(BGPHN,0)),U,1)
+10 IF $GET(BGPHOME)=""
QUIT
+11 SET BQIDA=1
+12 SET BQIUPD(90508,BQIDA_",",.01)=BGPHOME
+13 ; Clean up development start and stop times
+14 FOR FLD=3.01:.01:3.09,3.1,3.11:.01:3.19,3.2,3.21,4.01:.01:4.09,4.1,4.11,4.12
Begin DoDot:1
+15 SET BQIUPD(90508,BQIDA_",",FLD)="@"
End DoDot:1
+16 DO FILE^DIE("","BQIUPD","ERROR")
+17 IF $GET(^XTMP("BQICARE",3))'=""
SET ^BQI(90508,1,3)=^XTMP("BQICARE",3)
+18 IF $GET(^XTMP("BQICARE",4))'=""
SET ^BQI(90508,1,4)=^XTMP("BQICARE",4)
+19 ;
+20 ; If no versions of iCare have ever been installed
+21 IF $ORDER(^XPD(9.7,"B","ICARE MANAGEMENT SYSTEM 1.0",""))=""
IF $ORDER(^XPD(9.7,"B","ICARE MANAGEMENT SYSTEM 1.1",""))=""
DO INI^BQI2POSI
+22 ;
+23 ; If version 1.0 has been installed
+24 IF $ORDER(^XPD(9.7,"B","ICARE MANAGEMENT SYSTEM 1.0",""))'=""
IF $ORDER(^XPD(9.7,"B","ICARE MANAGEMENT SYSTEM 1.1",""))=""
DO ONE^BQI2POSI
+25 ;
+26 ; Make sure that the new style cross-references are set
+27 NEW DIK
+28 SET DIK="^BQI(90506.1,"
SET DIK(1)="3.01"
+29 DO ENALL^DIK
+30 ;
+31 ; Set up iCare Program Manager
+32 NEW USER,DIRUT,DIR,Y,X
+33 SET DIR(0)=$SELECT($ORDER(^BQICARE(0))'="":"P^90505:LEMZ",1:"P^200:EMZ")
+34 SET DIR("A")="Select iCare Package Manager"
+35 SET DIR("A",1)="Select person who is to be designated as the iCare Package Manager."
+36 SET DIR("?")="Select the designated iCare Package Manager"
+37 IF DIR(0)["200"
SET DIR("S")="I +$P($G(^(0)),U,11)'>0,$P(^(0),U,11)'>DT"
+38 DO ^DIR
+39 SET USER=+Y
+40 IF $GET(DIRUT)=1
SET USER=DUZ
+41 DO UPD^BQISYKEY(.DATA,USER,"BQIZMGR="_"Y")
+42 ;
+43 ; Update default patient view from text 'C' to pointer
+44 NEW USR
+45 SET USR=0
+46 FOR
SET USR=$ORDER(^BQICARE(USR))
IF 'USR
QUIT
Begin DoDot:1
+47 IF $GET(^BQICARE(USR,0))=""
KILL ^BQICARE(USR)
QUIT
+48 IF $PIECE(^BQICARE(USR,0),U,7)="C"
SET $PIECE(^BQICARE(USR,0),U,7)=1
End DoDot:1
+49 ;
+50 ; If special HIV provider categories exist in BDP DESG SPEC PROV CATEGORY,
+51 ; move HMS record data into BDPRECN
+52 NEW HCSMR,HPRV,IEN,BQDFN,HIVIEN,BKMCMGR,BKMPRV
+53 SET HCSMR=$ORDER(^BDPTCAT("B","HIV CASE MANAGER",""))
+54 SET HPRV=$ORDER(^BDPTCAT("B","HIV PROVIDER",""))
+55 SET HIVIEN=$$HIVIEN^BKMIXX3()
+56 SET IEN=0
+57 FOR
SET IEN=$ORDER(^BKM(90451,IEN))
IF 'IEN
QUIT
Begin DoDot:1
+58 SET BQDFN=$PIECE(^BKM(90451,IEN,0),U,1)
+59 NEW DA,IENS
+60 SET DA(1)=IEN
SET DA=HIVIEN
SET IENS=$$IENS^DILF(.DA)
+61 SET BKMCMGR=$$GET1^DIQ(90451.01,IENS,6.5,"I")
+62 SET BKMPRV=$$GET1^DIQ(90451.01,IENS,6,"I")
+63 IF BKMCMGR'=""&(HCSMR'="")
DO AEDAP^BDPAPI(BQDFN,BKMCMGR,"HIV CASE MANAGER",.RESULT)
+64 IF BKMPRV'=""&(HPRV'="")
DO AEDAP^BDPAPI(BQDFN,BKMPRV,"HIV PROVIDER",.RESULT)
End DoDot:1
+65 ;
+66 ;Set STATE HIV REPORT REQUIRED to YES
+67 NEW BKMDA,BKMUPD
+68 SET BKMDA=1
+69 SET BKMUPD(90450,BKMDA_",",12.5)=1
+70 DO FILE^DIE("","BKMUPD","ERROR")
+71 ;
TXNAME ; Rename taxonomy names
+1 NEW I,TEXT,FILNM,FILIEN,OLD,NEW,SHORT,TAXUPD,TXUPD,TXIEN
+2 FOR I=1:1
SET TEXT=$TEXT(TAX+I)
IF TEXT=""
QUIT
Begin DoDot:1
+3 SET TEXT=$PIECE(TEXT,";",2,99)
+4 SET FILNM=$PIECE(TEXT,";")
SET FILIEN=+$PIECE(@("^"_FILNM_"(0)"),"^",2)
+5 SET OLD=$PIECE(TEXT,";",2)
SET NEW=$PIECE(TEXT,";",3)
SET SHORT=$PIECE(TEXT,";",4)
+6 SET TXIEN=$ORDER(@("^"_FILNM_"(""B"","""_OLD_""","""")"))
IF TXIEN=""
QUIT
+7 SET TAXUPD(FILIEN,TXIEN_",",.01)=NEW
+8 IF SHORT'=""
SET TAXUPD(FILIEN,TXIEN_",",.02)=SHORT
End DoDot:1
+9 SET FILIEN=""
FOR
SET FILIEN=$ORDER(TAXUPD(FILIEN))
IF FILIEN=""
QUIT
Begin DoDot:1
+10 MERGE TXUPD(FILIEN)=TAXUPD(FILIEN)
+11 DO FILE^DIE("","TXUPD","ERROR")
+12 KILL TXUPD
End DoDot:1
+13 ;
+14 ; Delete taxonomies that are no longer used
+15 NEW TAX,DA,DIK
+16 FOR TAX="BKM BCG IZ CPTS","BKM BCG IZ CVX CODES","BKM BCG IZ PROCEDURE"
Begin DoDot:1
+17 SET DA=$ORDER(^ATXAX("B",TAX,""))
IF DA=""
QUIT
+18 SET DIK="^ATXAX("
+19 DO ^DIK
End DoDot:1
+20 ;
+21 ; Add new taxonomies OR update existing ones
+22 DO ^BQIBTX
+23 ;
+24 ; Add new BGP SMOKER CPTS and update BQI KNOWN CVD-1 PROCEDURES
+25 DO ^BQIHTX
+26 ;
+27 ;Pre-define the HIV tags as 'proposed' or appropriate if they are in the register
+28 NEW BQIDFN,HRIEN,HIVIEN,PSTAT,PCAT
+29 SET HIVIEN=$$HIVIEN^BKMIXX3()
+30 SET BQIDFN=""
+31 FOR
SET BQIDFN=$ORDER(^BQIPAT("AB",3,BQIDFN))
IF BQIDFN=""
QUIT
Begin DoDot:1
+32 SET DATE=$PIECE($GET(^BQIPAT(BQIDFN,20,3,0)),U,2)
+33 SET HRIEN=$ORDER(^BKM(90451,"B",BQIDFN,""))
+34 ; If the tagged person is in the register
+35 IF HRIEN'=""
Begin DoDot:2
+36 NEW DA,IENS
+37 SET DA(1)=HRIEN
SET DA=HIVIEN
SET IENS=$$IENS^DILF(.DA)
+38 SET PSTAT=$$GET1^DIQ(90451.01,IENS,.5,"I")
+39 SET PCAT=$$GET1^DIQ(90451.01,IENS,2.3,"I")
+40 ; if the HMS Dx category is null or HIV or AIDS
+41 IF PCAT=""!(PCAT="H")!(PCAT="A")
Begin DoDot:3
+42 ; if register status is active, deceased or transient then tag is accepted
+43 IF PSTAT="A"!(PSTAT="D")!(PSTAT="T")
DO EN^BQITDPRC(.DATA,BQIDFN,3,"A",DATE,"POST INSTALL JOB",8,"Register status is "_PSTAT)
QUIT
+44 ; else tag is proposed
+45 DO EN^BQITDPRC(.DATA,BQIDFN,3,"P",DATE,"POST INSTALL JOB",8,"Register status is "_PSTAT)
QUIT
End DoDot:3
QUIT
+46 ; if HMS dx category is 'At Risk'
+47 DO EN^BQITDPRC(.DATA,BQIDFN,3,"P",DATE,"POST INSTALL JOB",8,"Register status is "_PSTAT)
End DoDot:2
QUIT
+48 ;
+49 ; If the tagged person is NOT in the register
+50 DO EN^BQITDPRC(.DATA,BQIDFN,3,"P",DATE,"POST INSTALL JOB",5)
End DoDot:1
+51 ;
+52 ; Update Panels for Diagnostic Tags
+53 SET USR=0
+54 FOR
SET USR=$ORDER(^BQICARE(USR))
IF 'USR
QUIT
Begin DoDot:1
+55 SET PLN=0
+56 FOR
SET PLN=$ORDER(^BQICARE(USR,1,PLN))
IF 'PLN
QUIT
Begin DoDot:2
+57 IF $ORDER(^BQICARE(USR,1,PLN,15,0))=""
QUIT
+58 DO ASC
End DoDot:2
End DoDot:1
+59 ;
+60 ; New Asthma taxonomies if BJPC v 2.0 has been installed
+61 IF $$VERSION^XPDUTL("BJPC")>1.0
Begin DoDot:1
+62 NEW DA,DIK,DIC,X,DLAYGO,IENS,BQIUPD,TIEN,NDA,NTAX,SITE,BI
+63 SET NDA=84
+64 FOR BI=1:1
SET TEXT=$TEXT(AST+BI)
IF TEXT[" Q"
QUIT
Begin DoDot:2
+65 SET NTAX=$PIECE($PIECE(TEXT,";;",2),U,1)
SET SITE=$PIECE($PIECE(TEXT,";;",2),U,2)
+66 SET TIEN=$ORDER(^ATXAX("B",NTAX,""))
IF TIEN=""
QUIT
+67 SET DA(1)=$ORDER(^BQI(90508,0))
SET DIK="^BQI(90508,"_DA(1)_",10,"
+68 SET DA=NDA
FOR
SET DA=$ORDER(^BQI(90508,DA(1),10,DA))
IF 'DA
QUIT
DO ^DIK
+69 SET DA(1)=$ORDER(^BQI(90508,0))
SET X=NTAX
+70 SET DIC(0)="L"
SET DIC="^BQI(90508,"_DA(1)_",10,"
SET DLAYGO=90508.03
+71 KILL DO,DD
DO FILE^DICN
+72 SET DA=+Y
IF DA'=-1
SET NDA=DA
+73 IF DA=-1
SET NDA=NDA+1
SET DA=NDA
+74 SET IENS=$$IENS^DILF(.DA)
+75 SET BQIUPD(90508.03,IENS,.01)=NTAX
+76 DO FILE^DIE("E","BQIUPD","ERROR")
+77 SET BQIUPD(90508.03,IENS,.02)=TIEN_";ATXAX("
+78 SET BQIUPD(90508.03,IENS,.03)=4
+79 SET BQIUPD(90508.03,IENS,.04)=$GET(SITE)
+80 SET BQIUPD(90508.03,IENS,.05)="M"
+81 DO FILE^DIE("I","BQIUPD","ERROR")
End DoDot:2
+82 KILL BQIUPD
End DoDot:1
+83 ;
TX ; Reset the variable pointer values for the taxonomies
+1 SET BQIDA=1
+2 SET N=0
+3 FOR
SET N=$ORDER(^BQI(90508,BQIDA,10,N))
IF 'N
QUIT
Begin DoDot:1
+4 SET X=$PIECE(^BQI(90508,BQIDA,10,N,0),U,1)
+5 SET IEN=N_","_BQIDA_","
+6 IF $PIECE(^BQI(90508,BQIDA,10,N,0),U,5)="T"
SET VAL=$$STXPT(X,"L")
+7 IF '$TEST
SET VAL=$$STXPT(X,"N")
+8 SET BQIUPD(90508.03,IEN,.02)=VAL
End DoDot:1
+9 IF $DATA(BQIUPD)
DO FILE^DIE("","BQIUPD","ERROR")
+10 ;
+11 SET REG=0
+12 FOR
SET REG=$ORDER(^BQI(90507,REG))
IF 'REG
QUIT
Begin DoDot:1
+13 SET N=0
+14 FOR
SET N=$ORDER(^BQI(90507,REG,10,N))
IF 'N
QUIT
Begin DoDot:2
+15 SET X=$PIECE(^BQI(90507,REG,10,N,0),U,1)
+16 SET IEN=N_","_REG_","
+17 IF $PIECE(^BQI(90507,REG,10,N,0),U,5)="T"
SET VAL=$$STXPT(X,"L")
+18 IF '$TEST
SET VAL=$$STXPT(X,"N")
+19 SET BQIUPD(90507.01,IEN,.02)=VAL
End DoDot:2
+20 IF $DATA(BQIUPD)
DO FILE^DIE("","BQIUPD","ERROR")
+21 ;
+22 SET RP=0
+23 FOR
SET RP=$ORDER(^BQI(90507,REG,20,RP))
IF 'RP
QUIT
Begin DoDot:2
+24 SET N=0
+25 FOR
SET N=$ORDER(^BQI(90507,REG,20,RP,10,N))
IF 'N
QUIT
Begin DoDot:3
+26 SET X=$PIECE(^BQI(90507,REG,20,RP,10,N,0),U,1)
+27 SET IEN=N_","_RP_","_REG_","
+28 SET TIEN=$ORDER(^BQI(90507,REG,10,"B",X,""))
+29 IF $PIECE(^BQI(90507,REG,10,TIEN,0),U,5)="T"
SET VAL=$$STXPT(X,"L")
+30 IF '$TEST
SET VAL=$$STXPT(X,"N")
+31 SET BQIUPD(90507.03,IEN,.02)=VAL
End DoDot:3
End DoDot:2
+32 IF $DATA(BQIUPD)
DO FILE^DIE("","BQIUPD","ERROR")
End DoDot:1
+33 ;
+34 ; Update generated description
DO PDSC
+35 ;
+36 ; Set up tagging program
+37 SET ZTDESC="ICARE TAG UPDATE"
SET ZTRTN="REG^BQI2POS1"
SET ZTIO=""
+38 SET JBNOW=$$NOW^XLFDT()
+39 SET JBDATE=$SELECT($EXTRACT($PIECE(JBNOW,".",2),1,2)<20:DT,1:$$FMADD^XLFDT(DT,+1))
+40 SET ZTDTH=JBDATE_".20"
+41 DO ^%ZTLOAD
+42 KILL ZTDESC,ZTRTN,ZTIO,JBNOW,JBDATE,ZTDTH,ZTSK
+43 ;
+44 DO ^BQISCHED
+45 QUIT
+46 ;
STXPT(TXNM,TYP) ; Set taxonomy pointer
+1 ;
+2 ;Input
+3 ; TXNM - Taxonomy name
+4 ; TYP - Taxonomy Type (L = LAB, N = Non Lab)
+5 NEW IEN,SIEN,DA,IENS,BQUPD,VALUE,GLB
+6 SET VALUE=""
+7 IF TYP="L"
Begin DoDot:1
+8 SET IEN=$ORDER(^ATXLAB("B",TXNM,""))
SET GLB="ATXLAB("
+9 IF IEN=""
SET TYP="N"
End DoDot:1
+10 IF TYP="N"
SET IEN=$ORDER(^ATXAX("B",TXNM,""))
SET GLB="ATXAX("
+11 IF IEN=""
SET VALUE="@"
+12 IF IEN'=""
SET VALUE=IEN_";"_GLB
+13 QUIT VALUE
+14 ;
ASC ; Update Panels with associated parameters for Diagnostic Tags
+1 IF $ORDER(^BQICARE(USR,1,PLN,15,"B","DXCAT",""))'=""
Begin DoDot:1
+2 SET IEN=$ORDER(^BQICARE(USR,1,PLN,15,"B","DXCAT",""))
+3 ; Multiple parameter value
+4 IF $ORDER(^BQICARE(USR,1,PLN,15,IEN,1,0))'=""
Begin DoDot:2
+5 SET MDA=0
+6 FOR
SET MDA=$ORDER(^BQICARE(USR,1,PLN,15,IEN,1,MDA))
IF 'MDA
QUIT
Begin DoDot:3
+7 IF $DATA(^BQICARE(USR,1,PLN,15,IEN,1,MDA,2,"B","DXSTAT"))
QUIT
+8 NEW DA,DIC,DLAYGO
+9 SET DA(4)=USR
SET DA(3)=PLN
SET DA(2)=IEN
SET DA(1)=MDA
SET X="DXSTAT"
+10 SET DLAYGO=90505.11512
SET DIC(0)="L"
SET DIC("P")=DLAYGO
+11 SET DIC="^BQICARE("_DA(4)_",1,"_DA(3)_",15,"_DA(2)_",1,"_DA(1)_",2,"
+12 IF '$DATA(^BQICARE(DA(4),1,DA(3),15,DA(2),1,DA(1),2,0))
SET ^BQICARE(DA(4),1,DA(3),15,DA(2),1,DA(1),2,0)="^90505.11512^^"
+13 KILL DO,DD
DO FILE^DICN
+14 SET (DA,PADA)=+Y
+15 NEW DA,IENS,DIC,DLAYGO
+16 SET DA(5)=USR
SET DA(4)=PLN
SET DA(3)=IEN
SET DA(2)=MDA
SET DA(1)=PADA
+17 SET DLAYGO=90505.115121
SET DIC(0)="L"
SET DIC("P")=DLAYGO
+18 IF '$DATA(^BQICARE(DA(5),1,DA(4),15,DA(3),1,DA(2),2,DA(1),1,0))
SET ^BQICARE(DA(5),1,DA(4),15,DA(3),1,DA(2),2,DA(1),1,0)="^90505.115121^^"
+19 SET DIC="^BQICARE("_DA(5)_",1,"_DA(4)_",15,"_DA(3)_",1,"_DA(2)_",2,"_DA(1)_",1,"
+20 FOR ASVAL="P","A"
Begin DoDot:4
+21 SET X=ASVAL
+22 KILL DO,DD
DO FILE^DICN
End DoDot:4
End DoDot:3
End DoDot:2
QUIT
+23 ;
+24 ; Singular parameter value
+25 IF $DATA(^BQICARE(USR,1,PLN,15,IEN,2,"B","DXSTAT"))
QUIT
+26 NEW DA,DIC,DLAYGO
+27 SET DA(3)=USR
SET DA(2)=PLN
SET DA(1)=IEN
SET X="DXSTAT"
+28 SET DLAYGO=90505.1152
SET DIC(0)="L"
SET DIC("P")=DLAYGO
+29 SET DIC="^BQICARE("_DA(3)_",1,"_DA(2)_",15,"_DA(1)_",2,"
+30 IF '$DATA(^BQICARE(DA(3),1,DA(2),15,DA(1),2,0))
SET ^BQICARE(DA(3),1,DA(2),15,DA(1),2,0)="^90505.1152^^"
+31 KILL DO,DD
DO FILE^DICN
+32 SET (DA,PADA)=+Y
+33 NEW DA,DIC,DLAYGO
+34 SET DA(4)=USR
SET DA(3)=PLN
SET DA(2)=IEN
SET DA(1)=PADA
+35 SET DLAYGO=90505.11521
SET DIC(0)="L"
SET DIC("P")=DLAYGO
+36 IF '$DATA(^BQICARE(DA(4),1,DA(3),15,DA(2),2,DA(1),1,0))
SET ^BQICARE(DA(4),1,DA(3),15,DA(2),2,DA(1),1,0)="^90505.11521^^"
+37 SET DIC="^BQICARE("_DA(4)_",1,"_DA(3)_",15,"_DA(2)_",2,"_DA(1)_",1,"
+38 FOR ASVAL="P","A"
Begin DoDot:2
+39 SET X=ASVAL
+40 KILL DO,DD
DO FILE^DICN
End DoDot:2
+41 ;
+42 ; Send notification that panel definition has been updated
+43 NEW SUBJECT,DA,IENS,USRNM
+44 SET DA(1)=USR
SET DA=PLN
SET IENS=$$IENS^DILF(.DA)
+45 SET USRNM=$$GET1^DIQ(200,USR_",",.01,"E")
+46 SET SUBJECT="Panel "_$$GET1^DIQ(90505.01,IENS,.01,"E")_"'s definition was updated with Diagnostic Tag statuses."
+47 DO ADD^BQINOTF("",USR,SUBJECT)
End DoDot:1
+48 QUIT
+49 ;
PDSC ; Load revised generated descriptions for all panels
+1 ;
+2 NEW OWNR,PLIEN
+3 SET OWNR=0
+4 FOR
SET OWNR=$ORDER(^BQICARE(OWNR))
IF 'OWNR
QUIT
Begin DoDot:1
+5 SET PLIEN=0
+6 FOR
SET PLIEN=$ORDER(^BQICARE(OWNR,1,PLIEN))
IF 'PLIEN
QUIT
Begin DoDot:2
+7 NEW DA,IENS
+8 SET DA(1)=OWNR
SET DA=PLIEN
SET IENS=$$IENS^DILF(.DA)
+9 KILL DESC
+10 DO PEN^BQIPLDSC(OWNR,PLIEN,.DESC)
+11 DO WP^DIE(90505.01,IENS,5,"","DESC")
+12 KILL DESC,BMXSEC
End DoDot:2
End DoDot:1
+13 QUIT
+14 ;
SITEMED(BGPX,BGPNDCT) ; EP
+1 ; Automatically populate the site-defined medication taxonomies
+2 ; based on the corresponding NDC codes from the site's formulary
+3 ;
+4 NEW BGPTX,X,Y,DIK,TXIEN,LSTIEN,NDCIEN,MED,RESULT,NDC
+5 SET BGPTX=$ORDER(^ATXAX("B",BGPX,0))
+6 IF 'BGPTX
Begin DoDot:1
+7 SET X=BGPX
SET DIC="^ATXAX("
SET DIC(0)="L"
SET DIADD=1
SET DLAYGO=9002226
+8 DO ^DIC
KILL DIC,DA,DIADD,DLAYGO,I
+9 ;W !!,"ERROR IN CREATING ",BGPX," TAX" Q
IF Y=-1
QUIT
+10 SET BGPTX=+Y
SET $PIECE(^ATXAX(BGPTX,0),U,2)=BGPX
SET $PIECE(^(0),U,8)=0
SET $PIECE(^(0),U,9)=DT
+11 SET $PIECE(^ATXAX(BGPTX,0),U,12)=173
SET $PIECE(^(0),U,13)=0
SET $PIECE(^(0),U,15)=50
+12 IF '$DATA(^ATXAX(BGPTX,21,0))
SET ^ATXAX(BGPTX,21,0)="^9002226.02101A^0^0"
End DoDot:1
+13 IF BGPTX
SET DA=BGPTX
SET DIK="^ATXAX("
DO IX1^DIK
+14 IF $GET(BGPNDCT)]""
Begin DoDot:1
+15 SET TXIEN=0
SET LSTIEN=""
+16 FOR
SET TXIEN=$ORDER(^ATXAX(BGPTX,21,TXIEN))
IF TXIEN'=+TXIEN
QUIT
SET LSTIEN=TXIEN
+17 SET RESULT=1
+18 ;
+19 LOCK +^ATXAX(BGPTX,0):1
IF '$TEST
SET RESULT=0
+20 IF 'RESULT
QUIT
+21 SET ^ATXAX(BGPTX,21,0)="^9002226.02101A^"_LSTIEN_U_LSTIEN
+22 SET NDCIEN=$ORDER(^ATXAX("B",BGPNDCT,0))
+23 SET MED=0
+24 FOR
SET MED=$ORDER(^PSDRUG(MED))
IF MED'=+MED
QUIT
SET NDC=$PIECE($GET(^PSDRUG(MED,2)),U,4)
IF NDC]""
IF $DATA(^ATXAX(NDCIEN,21,"B",NDC))
Begin DoDot:2
+25 IF $DATA(^ATXAX(BGPTX,21,"B",MED))
QUIT
+26 SET LSTIEN=LSTIEN+1
SET ^ATXAX(BGPTX,21,LSTIEN,0)=MED_U_MED
End DoDot:2
+27 LOCK -^ATXAX(BGPTX,0)
End DoDot:1
+28 ;
+29 IF BGPTX
SET DA=BGPTX
SET DIK="^ATXAX("
DO IX1^DIK
+30 QUIT
+31 ;
AST ; Asthma Taxonomy List
+1 ;;BAT ASTHMA SHRT ACT RELV MEDS^1
+2 ;;BAT ASTHMA SHRT ACT RELV NDC^
+3 ;;BAT ASTHMA SHRT ACT INHLR MEDS^1
+4 ;;BAT ASTHMA SHRT ACT INHLR NDC^
+5 ;;BAT ASTHMA CONTROLLER NDC^
+6 ;;BAT ASTHMA INHLD STEROIDS NDC^
+7 ;;BAT ASTHMA LEUKOTRIENE MEDS^1
+8 ;;BAT ASTHMA LEUKOTRIENE NDC^
+9 QUIT
+10 ;
TAX ;File Type;Original Taxonomy name;New Taxonomy name;Short name
+1 ;ATXLAB;BKM CD4 ABS TESTS TAX;BKMV CD4 ABS TESTS TAX;
+2 ;ATXLAB;BKM HEP C EIA TAX;BKM HEP C SCREENING TAX;HEP C SCREENING TAX
+3 ;ATXLAB;BKM HEP C RIBA TAX;BKM HEP C CONFIRMATORY TAX;HEP C CONFIRMATORY TAX
+4 ;ATXAX;BKM HEP C EIA LOINC CODES;BKM HEP C SCREEN LOINC CODES;HEP C SCREEN LOINC CODES
+5 ;ATXAX;BKM HEP C EIA TESTS CPTS;BKM HEP C SCREEN TESTS CPTS;HEP C SCREEN TESTS CPTS
+6 ;ATXAX;BKM HEP C RIBA LOINC CODES;BKM HEP C CONFIRM LOINC CODES;HEP C CONFIRM LOINC CODES
+7 ;ATXAX;BKM HEP C RIBA TESTS CPTS;BKM HEP C CONFIRM TESTS CPTS;Hepatitis C test (Confirm)
+8 ;ATXAX;BKMV FI MED NDCS;BKMV EI MED NDCS;EI MED NDCS
+9 ;ATXAX;BKMV FI MEDS;BKMV EI MEDS;BKMV EI MEDS;