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

BCHRL0.m

Go to the documentation of this file.
  1. BCHRL0 ; IHS/CMI/LAB - TUCSON-OHPRD/LAB - SCREEN LOGIC ;
  1. ;;2.0;IHS RPMS CHR SYSTEM;;OCT 23, 2012;Build 27
  1. ;
  1. ;
  1. SELECT ;EP
  1. S BCHANS=Y,BCHC="" F BCHI=1:1 S BCHC=$P(BCHANS,",",BCHI) Q:BCHC="" S BCHCRIT=BCHSEL(BCHC) D
  1. .S BCHTEXT=$P(^BCHSORT(BCHCRIT,0),U)
  1. .S BCHRAR=$P(^BCHSORT(BCHCRIT,0),U,6) K ^BCHTRPT(BCHRPT,11,BCHCRIT),^BCHTRPT(BCHRPT,11,"B",BCHCRIT)
  1. .W !!,BCHC,") ",BCHTEXT," Selection."
  1. .I $P(^BCHSORT(BCHCRIT,0),U,2)]"" S BCHCNT=0,^BCHTRPT(BCHRPT,11,0)="^9001003.81101PA^0^0" D @$P(^BCHSORT(BCHCRIT,0),U,2)
  1. .I $P(^BCHSORT(BCHCRIT,0),U,13) S BCHRDTR=1
  1. .Q
  1. Q
  1. PSELECT ;EP
  1. S BCHANS=Y,BCHC="" F BCHI=1:1 S BCHC=$P(BCHANS,",",BCHI) Q:BCHC="" S BCHCRIT=BCHSEL(BCHC),BCHPCNT=BCHPCNT+1 D
  1. .S DIR(0)="N^2:80:0",DIR("A")="Enter Column width for "_$P(^BCHSORT(BCHCRIT,0),U)_" (suggested: "_$P(^BCHSORT(BCHCRIT,0),U,7)_")",DIR("B")=$P(^(0),U,7) D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. .I $D(DIRUT) S Y=$P(^BCHSORT(BCHCRIT,0),U,7)
  1. .S ^BCHTRPT(BCHRPT,12,0)="^9001003.81102PA^1^1"
  1. .I $D(^BCHTRPT(BCHRPT,12,"B",BCHCRIT)) S X=$O(^BCHTRPT(BCHRPT,12,"B",BCHCRIT,"")),BCHTCW=BCHTCW-$P(^BCHTRPT(BCHRPT,12,X,0),U,2)-2,^BCHTRPT(BCHRPT,12,X,0)=BCHCRIT_U_Y D Q
  1. ..Q
  1. .S ^BCHTRPT(BCHRPT,12,BCHPCNT,0)=BCHCRIT_U_Y,^BCHTRPT(BCHRPT,12,"B",BCHCRIT,BCHPCNT)="",BCHTCW=BCHTCW+Y+2
  1. .W !!?15,"Total Report width (including column margins - 2 spaces): ",BCHTCW
  1. .Q
  1. Q
  1. Q ;EP
  1. K ^TMP("BCHRL",$J,"QMAN"),^UTILITY("AMQQ TAX",$J)
  1. K DIC,X,Y,DD S X=$P(^BCHSORT(BCHCRIT,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 BCHQMAN=+Y
  1. D PEP^AMQQGTX0(BCHQMAN,"^TMP(""BCHRL"",$J,""QMAN"",")
  1. I '$D(^TMP("BCHRL",$J,"QMAN")) W !!,$C(7),"** No ",$P(^BCHSORT(BCHCRIT,0),U)," selected, all will be included." Q
  1. I $D(^TMP("BCHRL",$J,"QMAN","*")) K ^TMP("BCHRL",$J,"QMAN")
  1. S ^BCHTRPT(BCHRPT,11,BCHCRIT,0)=BCHCRIT,^BCHTRPT(BCHRPT,11,"B",BCHCRIT,BCHCRIT)=""
  1. S X="",Y=0 F S X=$O(^TMP("BCHRL",$J,"QMAN",X)) Q:X="" S Y=Y+1,^BCHTRPT(BCHRPT,11,BCHCRIT,11,Y,0)=X,^BCHTRPT(BCHRPT,11,BCHCRIT,11,"B",X,Y)="",^BCHTRPT(BCHRPT,11,BCHCRIT,11,0)="^9001003.8110101A^"_Y_"^"_Y
  1. K X,Y,Z,BCHQMAN,V
  1. K ^TMP("BCHRL",$J,"QMAN")
  1. Q
  1. R ;EP
  1. S DIR(0)=$P(^BCHSORT(BCHCRIT,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. S ^BCHTRPT(BCHRPT,11,BCHCRIT,0)=BCHCRIT,^BCHTRPT(BCHRPT,11,"B",BCHCRIT,BCHCRIT)=""
  1. S BCHCNT=BCHCNT+1,^BCHTRPT(BCHRPT,11,BCHCRIT,11,BCHCNT,0)=$P(Y,U),^BCHTRPT(BCHRPT,11,BCHCRIT,11,"B",$P(Y,U),BCHCNT)="",^BCHTRPT(BCHRPT,11,BCHCRIT,11,0)="^9001003.8110101A^"_BCHCNT_"^"_BCHCNT
  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 "_BCHTEXT_" for Search" D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. I $D(DIRUT) Q
  1. S BCHGDB=Y
  1. ED ;get ending date
  1. W ! S DIR(0)="D^"_BCHGDB_"::EP",DIR("A")="Enter ending "_BCHTEXT_" for Search" S Y=BCHGDB 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 BCHGDE=Y
  1. S X1=BCHGDB,X2=-1 D C^%DTC S BCHGDS=X
  1. ;
  1. S ^BCHTRPT(BCHRPT,11,BCHCRIT,0)=BCHCRIT,^BCHTRPT(BCHRPT,11,"B",BCHCRIT,BCHCRIT)=""
  1. S BCHCNT=0,^BCHTRPT(BCHRPT,11,BCHCRIT,11,BCHCNT,0)="^90028.8110101A^1^1" S BCHCNT=BCHCNT+1,^BCHTRPT(BCHRPT,11,BCHCRIT,11,1,0)=BCHGDB_U_BCHGDE,^BCHTRPT(BCHRPT,11,BCHCRIT,11,"B",BCHGDB,BCHCNT)=""
  1. Q
  1. N ;
  1. K ^BCHTRPT(BCHRPT,11,BCHCRIT),^BCHTRPT(BCHRPT,11,"B",BCHCRIT)
  1. S DIR(0)="FO^1:7",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 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 ^BCHTRPT(BCHRPT,11,BCHCRIT,0)=BCHCRIT,^BCHTRPT(BCHRPT,11,"B",BCHCRIT,BCHCRIT)=""
  1. S BCHCNT=0,^BCHTRPT(BCHRPT,11,BCHCRIT,11,0)="^90028.8110101A^1^1" F X=$P(Y,"-"):1:$P(Y,"-",2) S BCHCNT=BCHCNT+1,^BCHTRPT(BCHRPT,11,BCHCRIT,11,BCHCNT,0)=X,^BCHTRPT(BCHRPT,11,BCHCRIT,11,"B",X,BCHCNT)=""
  1. S $P(^BCHTRPT(BCHRPT,11,BCHCRIT,11,1,0),U,2)=$P(Y,"-",2)
  1. Q
  1. F ;FREE TEXT RANGE
  1. K ^BCHTRPT(BCHRPT,11,BCHCRIT),^BCHTRPT(BCHRPT,11,"B",BCHCRIT)
  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 ",BCHTEXT," will be included." Q
  1. I 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 ^BCHTRPT(BCHRPT,11,BCHCRIT,0)=BCHCRIT,^BCHTRPT(BCHRPT,11,"B",BCHCRIT,BCHCRIT)=""
  1. S BCHCNT=0,^BCHTRPT(BCHRPT,11,BCHCRIT,11,BCHCNT,0)="^90028.8110101A^1^1" S BCHCNT=BCHCNT+1,^BCHTRPT(BCHRPT,11,BCHCRIT,11,1,0)=$P(X,":")_U_$P(X,":",2),^BCHTRPT(BCHRPT,11,BCHCRIT,11,"B",$P(X,":"),BCHCNT)=""
  1. Q
  1. Y ;
  1. D Y^BCHRL01
  1. Q
  1. SPECIAL ;
  1. D SPECIAL^BCHRL01
  1. Q