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

BQI25P1.m

Go to the documentation of this file.
  1. BQI25P1 ;GDHS/HCS/ALA-Version 2.5 Patch 1 ; 13 Apr 2016 9:14 AM
  1. ;;2.5;ICARE MANAGEMENT SYSTEM;**1**;May 24, 2016;Build 17
  1. ;
  1. ;
  1. PRE ;EP
  1. NEW DA,DIK
  1. S DIK="^BQI(90506,",DA=0
  1. F S DA=$O(^BQI(90506,DA)) Q:'DA D ^DIK
  1. S DIK="^BQI(90506.3,",DA=0
  1. F S DA=$O(^BQI(90506.3,DA)) Q:'DA D ^DIK
  1. S DIK="^BQI(90507.8,",DA=0
  1. F S DA=$O(^BQI(90507.8,DA)) Q:'DA D ^DIK
  1. S DIK="^BQI(90509.9,",DA=0
  1. F S DA=$O(^BQI(90509.9,DA)) Q:'DA D ^DIK
  1. S DIK="^BQI(90505.2,",DA=0
  1. F S DA=$O(^BQI(90505.2,DA)) Q:'DA D ^DIK
  1. ;
  1. ; Move Accepted CVD Known patients
  1. K ^XTMP("BQITMP")
  1. D MOV
  1. ; Inactivate the 4 current CVD tags
  1. D IAC
  1. ;
  1. NEW DA,DIK
  1. S DIK="^BQI(90506.2,",DA=0
  1. F S DA=$O(^BQI(90506.2,DA)) Q:'DA D ^DIK
  1. S DIK="^BQI(90508.5,",DA=0
  1. F S DA=$O(^BQI(90508.5,DA)) Q:'DA D ^DIK
  1. Q
  1. ;
  1. MOV ;EP Move Accepted CVD Known to ASCVD Known
  1. NEW OTAG,NTAG,RIEN,RSTAT,DFN
  1. S OTAG=6,NTAG=17
  1. S RIEN=""
  1. F S RIEN=$O(^BQIREG("B",OTAG,RIEN)) Q:RIEN="" D
  1. . S RSTAT=$P(^BQIREG(RIEN,0),U,3),DFN=$P(^BQIREG(RIEN,0),"^",2)
  1. . I RSTAT'="A" Q
  1. . M ^XTMP("BQITMP","REG",RIEN)=^BQIREG(RIEN)
  1. Q
  1. ;
  1. IAC ;EP Inactivate CVD
  1. NEW BQITAG,BQIDFN,MESG
  1. ; Inactivate the 4 current tags
  1. F BQITAG=6,7,8,9 S BQIUPD(90506.2,BQITAG_",",.03)=1
  1. ; Inactivate the Best Practice Prompts
  1. S N=0 F S N=$O(^BQI(90508.5,N)) Q:'N S BQIUPD(90508.5,N_",",.04)=1
  1. D FILE^DIE("","BQIUPD","ERROR")
  1. ; Set to NLV (no longer valid, CVD Significant Risk, CVD Highest Risk and CVD At Risk
  1. F BQITAG=6,7,8,9 D
  1. . S THCFL=+$P(^BQI(90506.2,BQITAG,0),U,10)
  1. . S RIEN=""
  1. . F S RIEN=$O(^BQIREG("B",BQITAG,RIEN)) Q:RIEN="" D
  1. .. S RSTAT=$P(^BQIREG(RIEN,0),U,3),BQIDFN=$P(^BQIREG(RIEN,0),"^",2)
  1. .. ; If status is Not Accepted or No Longer Valid or Superceded, quit
  1. .. I RSTAT="N"!(RSTAT="V")!(RSTAT="S") Q
  1. .. ; if the current status is 'Proposed', move the factors before setting the
  1. .. ; current status to 'No Longer Valid' or 'Superseded'
  1. .. I RSTAT="P" D MOV^BQITDPRC(BQIDFN,BQITAG)
  1. .. S MESG="CVD LOGIC UPDATE"
  1. .. D EN^BQITDPRC(.TGDATA,BQIDFN,BQITAG,"V",,MESG,3)
  1. ;
  1. ; Delete Best Practice Prompts
  1. S DFN=0
  1. F S DFN=$O(^BQIPAT(DFN)) Q:'DFN K ^BQIPAT(DFN,50)
  1. ;
  1. NOT ;Send notification if a panel is using one of the CVD tags
  1. NEW PDZ,PL,DN,DCAT,CT,BTEXT,PLNM
  1. S PDZ=0 F S PDZ=$O(^BQICARE(PDZ)) Q:'PDZ D
  1. . S PL=0,CT=2 K BTEXT
  1. . S BTEXT(1,0)="CVD Tags have changed. You may need to update the following"
  1. . S BTEXT(2,0)="panels which use CVD Tag in the panel definition."_$C(10)_$C(13)
  1. . F S PL=$O(^BQICARE(PDZ,1,PL)) Q:'PL D
  1. .. S DN=$O(^BQICARE(PDZ,1,PL,15,"B","DXCAT","")) I DN="" Q
  1. .. S DCAT=$P(^BQICARE(PDZ,1,PL,15,DN,0),"^",3)
  1. .. I DCAT'=6,DCAT'=7,DCAT'=8,DCAT'=9 Q
  1. .. S PLNM=$P(^BQICARE(PDZ,1,PL,0),"^",1)
  1. .. S CT=CT+1,BTEXT(CT,0)=" Panel: "_PLNM_$C(10)_$C(13)
  1. . I CT>2 D ADD^BQINOTF("",PDZ_$C(28),"Correct Panel Definitions",.BTEXT,1)
  1. Q
  1. ;
  1. POS ;EP
  1. ;Set the version number
  1. NEW DA
  1. S DA=$O(^BQI(90508,0))
  1. S BQIUPD(90508,DA_",",.08)="2.5.1.5"
  1. S BQIUPD(90508,DA_",",.09)="2.5.1.5"
  1. D FILE^DIE("","BQIUPD","ERROR")
  1. ;
  1. D ^BQIATX
  1. D ^BQITAXXU
  1. D ^BQIUSRC
  1. D ^BQIULAY
  1. ;
  1. ; Fix if default view is MU
  1. NEW DZ
  1. S DZ=0
  1. F S DZ=$O(^BQICARE(DZ)) Q:'DZ D
  1. . I $$GET1^DIQ(90505,DZ_",",.02,"E")["MU" S BQIUPD(90505,DZ_",",.02)="@"
  1. I $D(BQIUPD) D FILE^DIE("","BQIUPD","ERROR")
  1. ;
  1. GLS ;EP Update glossary
  1. NEW GN,GNM,GSN,BQIUPD
  1. S GN=0
  1. F S GN=$O(^BQI(90509.9,GN)) Q:'GN D
  1. . S GNM=$P(^BQI(90509.9,GN,0),U,1)
  1. . S GSN=$O(^BQI(90508.2,"B",GNM,"")) Q:GSN=""
  1. . S BQIUPD(90508.2,GSN_",",1)="@"
  1. . D FILE^DIE("","BQIUPD","ERROR")
  1. . M ^BQI(90508.2,GSN,1)=^BQI(90509.9,GN,1)
  1. ;
  1. ; Set BTPWRPC and BUSARPC into BQIRPC
  1. NEW IEN,DA,X,DIC,Y
  1. S DA(1)=$$FIND1^DIC(19,"","B","BQIRPC","","","ERROR"),DIC="^DIC(19,"_DA(1)_",10,",DIC(0)="LMNZ"
  1. I $G(^DIC(19,DA(1),10,0))="" S ^DIC(19,DA(1),10,0)="^19.01IP^^"
  1. S X="BTPWRPC"
  1. D ^DIC I +Y<1 K DO,DD D FILE^DICN
  1. NEW IEN,DA,X,DIC,Y
  1. S DA(1)=$$FIND1^DIC(19,"","B","BQIRPC","","","ERROR"),DIC="^DIC(19,"_DA(1)_",10,",DIC(0)="LMNZ"
  1. I $G(^DIC(19,DA(1),10,0))="" S ^DIC(19,DA(1),10,0)="^19.01IP^^"
  1. S X="BUSARPC"
  1. D ^DIC I +Y<1 K DO,DD D FILE^DICN
  1. ;
  1. F DA=4,7,25,26 S BQIUP(90506.5,DA_",",.18)=1
  1. D FILE^DIE("","BQIUP","ERROR")
  1. ;
  1. ; Inactivate the 4 current tags
  1. F BQITAG=6,7,8,9 S BQIUPD(90506.2,BQITAG_",",.03)=1
  1. F BQITAG=17,18 S BQIUPD(90506.2,BQITAG_",",.03)="@"
  1. D FILE^DIE("","BQIUPD","ERROR")
  1. ;
  1. ;Update any "accepted" CVD Knowns to ASCVD Known
  1. NEW RIEN,NTAG
  1. S NTAG=17,RIEN=""
  1. F S RIEN=$O(^XMP("BQITMP","REG",RIEN)) Q:RIEN="" D
  1. . S BQIUPD(90509,RIEN_",",.01)=NTAG
  1. . S CF=0 F S CF=$O(^BQIREG(RIEN,5,CF)) Q:'CF D
  1. .. S BQIUPD(90509.5,CF_",",.03)=NTAG
  1. I $D(BQIUPD) D FILE^DIE("","BQIUPD","ERROR")
  1. ;
  1. BP ;Removed from HEALTH SUMMARY MAINT ITEM and add new BPs
  1. D CBP^BQITRUPD
  1. ;
  1. NEW NAME,TEXT
  1. S NAME="Missing ASCVD Risk" D
  1. . S TEXT(1)="This patient does not have an ASCVD risk assessment documented. Consider"
  1. . S TEXT(2)="assessing the ASCVD risk at next opportunity."
  1. . D NON^BQITRUPD(NAME,.TEXT)
  1. ;
  1. ;Update Tags and Best Practice Prompts
  1. NEW ZTDTH,ZTDESC,ZTRTN,ZTIO,ZTSAVE,NOW
  1. S NOW=$$NOW^XLFDT(),ZTDTH=DT_".19"
  1. I $$FMDIFF^XLFDT(ZTDTH,NOW,2)<60 S ZTDTH=$$FMADD^XLFDT($$NOW^XLFDT(),,,15)
  1. S ZTDESC="Update CVD Tags/Best Practice",ZTRTN="TAG^BQI25P1",ZTIO=""
  1. D ^%ZTLOAD
  1. K ZTDESC,ZTRTN,ZTIO,ZTDTH,ZTSK
  1. ;
  1. Q
  1. ;
  1. TAG ;EP
  1. NEW TAG
  1. F TAG="ASCVD Known","ASCVD At Risk" D EN^BQITASK4(TAG)
  1. Q