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

BNIGVL0.m

Go to the documentation of this file.
  1. BNIGVL0 ; IHS/CMI/LAB - SCREEN LOGIC ;
  1. ;;1.0;BNI CPHD ACTIVITY DATASYSTEM;;DEC 20, 2006
  1. ;
  1. ;
  1. Q ;EP
  1. K ^XTMP("BNIGVL",$J,"QMAN"),^UTILITY("AMQQ TAX",$J)
  1. K DIC,X,Y,DD S X=$P(^BNIGRI(BNIGCRIT,0),U,3),DIC="^AMQQ(5,",DIC(0)="EQXM",DIC("S")="I $P(^(0),U,14)" D ^DIC K DIC,DA,DINUM,DICR I Y=-1 W "OOPS - QMAN NOT CURRENT - QUITTING" Q
  1. S BNIGQMAN=+Y
  1. I $P(^BNIGRI(BNIGCRIT,0),U)="Cause of Injury" S AMQQSQNM="CAUSE OF INJURY"
  1. D ^AMQQGTX0(BNIGQMAN,"^XTMP(""BNIGVL"",$J,""QMAN"",")
  1. I '$D(^XTMP("BNIGVL",$J,"QMAN")) W !!,$C(7),"** No ",$P(^BNIGRI(BNIGCRIT,0),U)," selected, all will be included." Q
  1. I $D(^XTMP("BNIGVL",$J,"QMAN","*")) K ^XTMP("BNIGVL",$J,"QMAN")
  1. S ^BNIRTMP(BNIGRPT,11,BNIGCRIT,0)=BNIGCRIT,^BNIRTMP(BNIGRPT,11,"B",BNIGCRIT,BNIGCRIT)=""
  1. S X="",Y=0 F S X=$O(^XTMP("BNIGVL",$J,"QMAN",X)) Q:X="" S Y=Y+1,^BNIRTMP(BNIGRPT,11,BNIGCRIT,11,Y,0)=X,^BNIRTMP(BNIGRPT,11,BNIGCRIT,11,"B",X,Y)="",^BNIRTMP(BNIGRPT,11,BNIGCRIT,11,0)="^90512.8110101A^"_Y_"^"_Y
  1. K X,Y,Z,BNIGQMAN,V,AMQQSQNM
  1. K ^XTMP("BNIGVL",$J,"QMAN")
  1. Q
  1. R ;EP
  1. S DIR(0)=$P(^BNIGRI(BNIGCRIT,0),U,4)_"O",DIR("A")="ENTER "_$P(^(0),U) D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. Q:$D(DIRUT)
  1. I Y="" Q
  1. I Y=-1 Q
  1. S ^BNIRTMP(BNIGRPT,11,BNIGCRIT,0)=BNIGCRIT,^BNIRTMP(BNIGRPT,11,"B",BNIGCRIT,BNIGCRIT)=""
  1. S BNIGCNT=BNIGCNT+1,^BNIRTMP(BNIGRPT,11,BNIGCRIT,11,BNIGCNT,0)=$P(Y,U),^BNIRTMP(BNIGRPT,11,BNIGCRIT,11,"B",$P(Y,U),BNIGCNT)="",^BNIRTMP(BNIGRPT,11,BNIGCRIT,11,0)="^90512.8910101A^"_BNIGCNT_"^"_BNIGCNT
  1. G R
  1. Q
  1. D ;DATE RANGE
  1. BD ;get beginning date
  1. W ! S DIR(0)="D^::EP",DIR("A")="Enter beginning "_BNIGTEXT_" for Search" D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. I $D(DIRUT) Q
  1. S BNIGBDAT=Y
  1. ED ;get ending date
  1. W ! S DIR(0)="D^"_BNIGBDAT_"::EP",DIR("A")="Enter ending "_BNIGTEXT_" for Search" S Y=BNIGBDAT D DD^%DT S DIR("B")=Y,Y="" D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. I $D(DIRUT) G BD
  1. S BNIGEDAT=Y
  1. S X1=BNIGBDAT,X2=-1 D C^%DTC S BNIGSDAT=X
  1. ;
  1. S ^BNIRTMP(BNIGRPT,11,BNIGCRIT,0)=BNIGCRIT,^BNIRTMP(BNIGRPT,11,"B",BNIGCRIT,BNIGCRIT)=""
  1. S BNIGCNT=0,^BNIRTMP(BNIGRPT,11,BNIGCRIT,11,BNIGCNT,0)="^90512.8910101A^1^1" S BNIGCNT=BNIGCNT+1,^BNIRTMP(BNIGRPT,11,BNIGCRIT,11,1,0)=BNIGBDAT_U_BNIGEDAT,^BNIRTMP(BNIGRPT,11,BNIGCRIT,11,"B",BNIGBDAT,BNIGCNT)=""
  1. Q
  1. N ;EP
  1. K ^BNIRTMP(BNIGRPT,11,BNIGCRIT),^BNIRTMP(BNIGRPT,11,"B",BNIGCRIT)
  1. S DIR(0)="FO^1:11",DIR("A")="Enter a Range of numbers (e.g. 5-12,1-1)" D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. I Y="" W !!,"No numeric range entered. All numerics will be included." Q
  1. I $D(^BNIGRI(BNIGCRIT,25)) S X=Y X ^(25) I '$D(X),$D(^BNIGRI(BNIGCRIT,26)) W !! X ^(26) G N ;if input tx exists and fails G N
  1. I '$D(^BNIGRI(BNIGCRIT,25)),Y'?1.3N1"-"1.3N W !!,$C(7),$C(7),"Enter a numeric range in the format nnn-nnn. E.g. 0-5, 0-99, 5-20." G N
  1. S ^BNIRTMP(BNIGRPT,11,BNIGCRIT,0)=BNIGCRIT,^BNIRTMP(BNIGRPT,11,"B",BNIGCRIT,BNIGCRIT)=""
  1. S ^BNIRTMP(BNIGRPT,11,BNIGCRIT,11,0)="^90512.8910101A^1^1" S ^BNIRTMP(BNIGRPT,11,BNIGCRIT,11,1,0)=$P(Y,"-"),^BNIRTMP(BNIGRPT,11,BNIGCRIT,11,"B",$P(Y,"-"),1)=""
  1. S $P(^BNIRTMP(BNIGRPT,11,BNIGCRIT,11,1,0),U,2)=$P(Y,"-",2)
  1. Q
  1. J ;EP - JUST A HIT
  1. S ^BNIRTMP(BNIGRPT,11,BNIGCRIT,0)=BNIGCRIT,^BNIRTMP(BNIGRPT,11,"B",BNIGCRIT,BNIGCRIT)=""
  1. S ^BNIRTMP(BNIGRPT,11,BNIGCRIT,11,1,0)=1,^BNIRTMP(BNIGRPT,11,BNIGCRIT,11,"B",1,1)="",^BNIRTMP(BNIGRPT,11,BNIGCRIT,11,0)="^90512.8910101A^"_1_"^"_1
  1. Q
  1. Y ;EP - called from apclvl0
  1. S DIR(0)="S^1:"_BNIGTEXT_";0:NO "_BNIGTEXT_"",DIR("A")="Should "_$S(BNIGPTVS="P":"patient",1:"procedure")_" have",DIR("B")="1" D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. Q:$D(DIRUT)
  1. Q:Y=""
  1. S ^BNIRTMP(BNIGRPT,11,BNIGCRIT,0)=BNIGCRIT,^BNIRTMP(BNIGRPT,11,"B",BNIGCRIT,BNIGCRIT)=""
  1. S ^BNIRTMP(BNIGRPT,11,BNIGCRIT,11,1,0)=Y,^BNIRTMP(BNIGRPT,11,BNIGCRIT,11,"B",Y,1)="",^BNIRTMP(BNIGRPT,11,BNIGCRIT,11,0)="^90512.8910101A^"_1_"^"_1
  1. Q
  1. F ;FREE TEXT RANGE
  1. K ^BNIRTMP(BNIGRPT,11,BNIGCRIT),^BNIRTMP(BNIGRPT,11,"B",BNIGCRIT)
  1. S DIR(0)="FO^1:20",DIR("A")="Enter a Range of Characters for Search (e.g. A:B) " D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. I Y="" W !!,"No range entered. All ",BNIGTEXT," will be included." Q
  1. I $D(^BNIGRI(BNIGCRIT,21)) S X=Y X ^(21) I '$D(X),$D(^BNIGRI(BNIGCRIT,22)) W !! X ^(22) G F ;if input tx exists and fails G N
  1. I '$D(^BNIGRI(BNIGCRIT,21)),Y'?1.ANP1":"1.ANP W !!,$C(7),$C(7),"Enter an free text range in the format AAA:AAA. E.g. 94-01:94-200,CA:CZ, A:Z." G F
  1. S ^BNIRTMP(BNIGRPT,11,BNIGCRIT,0)=BNIGCRIT,^BNIRTMP(BNIGRPT,11,"B",BNIGCRIT,BNIGCRIT)=""
  1. S BNIGCNT=0,^BNIRTMP(BNIGRPT,11,BNIGCRIT,11,BNIGCNT,0)="^90512.8910101A^1^1" S BNIGCNT=BNIGCNT+1,^BNIRTMP(BNIGRPT,11,BNIGCRIT,11,1,0)=$P(X,":")_U_$P(X,":",2),^BNIRTMP(BNIGRPT,11,BNIGCRIT,11,"B",$P(X,":"),BNIGCNT)=""
  1. Q