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

AMQQMGR1.m

Go to the documentation of this file.
  1. AMQQMGR1 ;IHS/CMI/THL - CHECKS AND SETS THE 'AQ' XREF ;
  1. ;;2.0;IHS PCC SUITE;**2**;MAY 14, 2009
  1. ;-----
  1. W:$D(IOF) @IOF
  1. START I '$D(^AUTTSITE(1,0)) W !!,"RPMS SITE PARAMETER FILE NOT PRESENT...REQUEST CANCELLED"
  1. I $P(^AUTTSITE(1,0),U,19)'="Y" D NEW G EXIT
  1. W !!,"Q-Man indices are active!",!!!
  1. W ?3,"V EXAM 'AQ' index is "
  1. W:'$D(^AUPNVXAM("AQ")) "not "
  1. W "present",!
  1. W ?3,"V NUTRITION RISK SCREENING 'AQ' index is " ;PATCH XXX
  1. W:'$D(^AUPNVNTS("AQ")) "not "
  1. W "present",!
  1. W ?3,"The INDIAN BLOOD QUANTUM 'AQ1' index of the PATIENT file is "
  1. W:'$D(^AUPNPAT("AQ1")) "not "
  1. W "present",!
  1. W ?3,"V IMMUNIZATION 'AQ' index is "
  1. W:'$D(^AUPNVIMM("AQ")) "not "
  1. W "present",!
  1. W ?3,"V LAB 'AQ' index is "
  1. W:'$D(^AUPNVLAB("AQ")) "not "
  1. W "present",!
  1. W ?3,"V MEASUREMENT 'AQ' index is "
  1. W:'$D(^AUPNVMSR("AQ")) "not "
  1. W "present",!
  1. W ?3,"V SKIN TEST 'AQ' index is "
  1. W:'$D(^AUPNVSK("AQ")) "not "
  1. W "present",!
  1. W !!!
  1. S DIR(0)="E"
  1. D ^DIR
  1. K DIRUT,DUOUT,DTOUT,DIR
  1. EXIT K %Y
  1. Q
  1. ;
  1. NEW W !!,"Q-Man indices have not been activated!",!!
  1. W "I can create the Q-Man indices now. This will significantly improve the",!
  1. W "performance of Q-Man and reduce stress on the CPU. However, the new indices",!
  1. W "will increase the size of the PCC database by approximately 1%"
  1. W !!,"Want me to create the indices?"
  1. S %=0
  1. D YN^DICN
  1. K DIR,%
  1. I $E(%Y)=U!("Yy"'[%Y)!(%Y="")!($D(DUOUT))!($D(DTOUT)) K DUOUT,DTOUT,%Y Q
  1. W !,"OK, I'll run the job in background. This job will take 1-72 hours to complete.",!!
  1. MAILTASK S ZTRTN="JOB^AMQQMGR1"
  1. S ZTDTH="NOW"
  1. S ZTIO=""
  1. S ZTDESC="CREATE Q-MAN INDICES"
  1. D ^%ZTLOAD
  1. W !!,$S($D(ZTSK):"Request queued!",1:"Request cancelled!"),!!!
  1. H 3
  1. Q
  1. ;
  1. JOB ;
  1. S G=U_"AUTTSITE"
  1. S $P(@G@(1,0),U,19)="Y"
  1. K G,AMQQAQF
  1. I $P($G(^AUTTSITE(1,0)),U,19)'="Y" Q
  1. ;
  1. VIMM ; re-indexing v immunization
  1. K ^AUPNVIMM("AQ")
  1. S DIK="^AUPNVIMM("
  1. S DIK(1)=".01^AQTOO"
  1. D ENALL^DIK
  1. K DIK
  1. ;
  1. PAT ; re-indexing aq1 on Patient
  1. K AUPNPAT("AQ1")
  1. F DA=0:0 S DA=$O(^AUPNPAT(DA)) Q:'DA S X=$P($G(^(DA,11)),U,10) K AMQQQXR D QXR I $D(AMQQQXR) S ^AUPNPAT("AQ1",AMQQQXR,DA)=""
  1. ;
  1. VMSR ; re-indexing aq on v measurement
  1. K ^AUPNVMSR("AQ")
  1. F DA=0:0 S DA=$O(^AUPNVMSR(DA)) Q:'DA S AUPNCIXF="S",AUPNCIXV=$G(^(DA,0)),X=$P(AUPNCIXV,U,4) I X'="" D VMSR04^AUPNCIX
  1. ;
  1. VDXP ; Re-indexing AQ on V DIAGNOSTIC PROCEDURE RESULT
  1. K ^AUPNVDXP("AQ")
  1. S AMQQX=0
  1. F S AMQQX=$O(^AUPNVDXP(AMQQX)) Q:AMQQX'=+AMQQX I $D(^AUPNVDXP(AMQQX,0)) S DA=AMQQX,X=$P(^AUPNVDXP(AMQQX,0),U,1),AUPNDXQF="S1" D ^AUPNVDXP
  1. ;
  1. VXAM ;re-index AQ on V exam
  1. K ^AUPNVXAM("AQ")
  1. S AMQQX=0
  1. F S AMQQX=$O(^AUPNVXAM(AMQQX)) Q:AMQQX'=+AMQQX I $D(^AUPNVXAM(AMQQX,0)) S DA=AMQQX,X=$P(^AUPNVXAM(AMQQX,0),U,1) D AQE1^AUPNCIXL
  1. K ^AUPNVNTS("AQ")
  1. S AMQQX=0
  1. F S AMQQX=$O(^AUPNVNTS(AMQQX)) Q:AMQQX'=+AMQQX I $D(^AUPNVNTS(AMQQX,0)) S DA=AMQQX,X=$P(^AUPNVNTS(AMQQX,0),U,1) D AQE1^AUPNCIXL
  1. ;
  1. VSK ;re-index aq on v skin test
  1. K ^AUPNVSK("AQ")
  1. S AMQQX=0
  1. F S AMQQX=$O(^AUPNVSK(AMQQX)) Q:AMQQX'=+AMQQX I $D(^AUPNVSK(AMQQX,0)) S DA=AMQQX,X=$P(^AUPNVSK(AMQQX,0),U,1) D AQS1^AUPNCIXL
  1. ;
  1. VRAD ; re-index aq on v radiology
  1. K ^AUPNVRAD("AQ")
  1. S AMQQX=0
  1. F S AMQQX=$O(^AUPNVRAD(AMQQX)) Q:AMQQX'=+AMQQX I $D(^AUPNVRAD(AMQQX,0)) S DA=AMQQX,X=$P(^AUPNVRAD(AMQQX,0),U,1) D AQR1^AUPNCIXL
  1. ;
  1. VLAB ; re-index aq on v lab
  1. K ^AUPNVLAB("AQ")
  1. S AMQQX=0
  1. F S AMQQX=$O(^AUPNVLAB(AMQQX)) Q:AMQQX'=+AMQQX I $D(^AUPNVLAB(AMQQX,0)) S DA=AMQQX,X=$P(^AUPNVLAB(AMQQX,0),U,1) D AQ1^AUPNCIXL
  1. ;
  1. KILL K AMQQX,DA,DIE,DIK,AUPNDXQF
  1. Q
  1. ;
  1. QXR ; ENTRY POINT
  1. I X="" Q
  1. N %
  1. S %=X
  1. N X
  1. I %["/" S %=(+%/$S($P(%,"/",2):$P(%,"/",2),1:1)) S:$E(%)="." %=0_%,AMQQQXR=$E(%,1,5)+1 S:'$D(AMQQQXR) AMQQQXR=%+1 Q
  1. S %=$S($E(%)="F":2,$E(%)="N":1,$E(%,1,3)="UNK":2.1,$E(%,1,3)="UNS":2.2,1:"")
  1. I %'="" S AMQQQXR=%
  1. Q
  1. ;