| 1 | PSSWRNC ;DAL/RJS-NEW WARNING SOURCE CUSTOM WARNING LIST BUILDER CONT;
 | 
|---|
| 2 |  ;;1.0;PHARMACY DATA MANAGEMENT;**98**;10/12/05
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 |  ;IA: 3735 ^PSNDF(50.68
 | 
|---|
| 5 |  ;IA: 4445 ^PS(50.625
 | 
|---|
| 6 |  ;IA: 4446 ^PS(50.626
 | 
|---|
| 7 |  ;IA: 4448 ^PS(50.627
 | 
|---|
| 8 | SEL1 ;
 | 
|---|
| 9 |  S DR=0 F  S DR=$O(^PSDRUG(DR)) Q:'DR  D
 | 
|---|
| 10 |  .I '$D(^PSDRUG(DR,0)) Q
 | 
|---|
| 11 |  .S WARN54=$P(^PSDRUG(DR,0),"^",8) I WARN54="" Q
 | 
|---|
| 12 |  .I SKIP,$P($G(^PSDRUG(DR,"WARN")),"^")'="" Q
 | 
|---|
| 13 |  .D ACTIVE^PSSWRNB I 'ACTIVE Q
 | 
|---|
| 14 |  .D DRUG^PSSWRNB I PSSWRN="" S ^TMP("PSSWRNB",$J,$P(^PSDRUG(DR,0),"^"))=WARN54_"^"_NDF
 | 
|---|
| 15 |  Q
 | 
|---|
| 16 | SEL2 ;
 | 
|---|
| 17 |  S DR=0 F  S DR=$O(^PSDRUG(DR)) Q:'DR  D
 | 
|---|
| 18 |  .I '$D(^PSDRUG(DR,0)) Q
 | 
|---|
| 19 |  .S WARN54=$P(^PSDRUG(DR,0),"^",8) I WARN54="" Q
 | 
|---|
| 20 |  .I SKIP,$P($G(^PSDRUG(DR,"WARN")),"^")'="" Q
 | 
|---|
| 21 |  .D ACTIVE^PSSWRNB I 'ACTIVE Q
 | 
|---|
| 22 |  .F I=1:1:$L(WARN54,",") S WARN=$P(WARN54,",",I) I WARN>20 D
 | 
|---|
| 23 |  ..I '$D(^PS(54,WARN)) Q
 | 
|---|
| 24 |  ..S ^TMP("PSSWRNB",$J,$P(^PSDRUG(DR,0),"^"))=WARN54
 | 
|---|
| 25 |  Q
 | 
|---|
| 26 | SEL3 ;
 | 
|---|
| 27 |  W ! K DIR S DIR(0)="FO^1:30",DIR("A")="Enter starting drug name" D ^DIR K DIR I Y["^"!(Y="") S QUIT=1 Q
 | 
|---|
| 28 |  S X=$$ENLU^PSSGMI(Y)
 | 
|---|
| 29 |  S DRUG=X
 | 
|---|
| 30 |  W ! K DIR S DIR(0)="FO^1:30",DIR("A")="Enter ending drug name" D ^DIR K DIR I Y["^"!(Y="") S QUIT=1 Q
 | 
|---|
| 31 |  S EDRUG=Y
 | 
|---|
| 32 |  W !!,"WARNINGS FOR DRUGS FROM "_DRUG_" TO "_EDRUG
 | 
|---|
| 33 |  W ! K DIR S DIR(0)="E" D ^DIR K DIR I 'Y S PSSOUT=1,QUIT=1 Q
 | 
|---|
| 34 |  I $D(^PSDRUG("B",DRUG)) S I=$L(DRUG),DRUG=$E(DRUG,1,I-1)
 | 
|---|
| 35 |  F  S DRUG=$O(^PSDRUG("B",DRUG)) Q:DRUG=""  Q:DRUG]EDRUG  D
 | 
|---|
| 36 |  .S DR=$O(^PSDRUG("B",DRUG,0)) I DR="" Q
 | 
|---|
| 37 |  .I SKIP,$P($G(^PSDRUG(DR,"WARN")),"^")'="" Q
 | 
|---|
| 38 |  .D ACTIVE^PSSWRNB I 'ACTIVE Q
 | 
|---|
| 39 |  .S ^TMP("PSSWRNB",$J,DRUG)=""
 | 
|---|
| 40 |  Q
 | 
|---|
| 41 | SEL4 ;
 | 
|---|
| 42 |  S DR=0 F  S DR=$O(^PSDRUG(DR)) Q:'DR  D
 | 
|---|
| 43 |  .I SKIP,$P($G(^PSDRUG(DR,"WARN")),"^")'="" Q
 | 
|---|
| 44 |  .D ACTIVE^PSSWRNB I 'ACTIVE Q
 | 
|---|
| 45 |  .D DRUG^PSSWRNB I PSSWRN="" Q
 | 
|---|
| 46 |  .N XX S XX=DR D CHECK20^PSSWRNA
 | 
|---|
| 47 |  .I $L(PSSWRN,",")>5 S ^TMP("PSSWRNB",$J,$P(^PSDRUG(DR,0),"^"))=PSSWRN
 | 
|---|
| 48 |  Q
 | 
|---|
| 49 | SEL59 ;
 | 
|---|
| 50 |  S DIC=54,DIC(0)="AEQM",DIC("A")="Select drugs containing RX Consult number:" D ^DIC K DIC I Y<0 Q
 | 
|---|
| 51 |  S RXNUM=$P(Y,"^")
 | 
|---|
| 52 |  I '$D(^PS(54,RXNUM)) W !,RXNUM_" is not in the RX Consult file.",! K DIR S DIR(0)="E" D ^DIR K DIR I 'Y S PSSOUT=1 Q
 | 
|---|
| 53 |  I SEL=9,'$G(^PS(54,RXNUM,2)) W !,RXNUM," is not mapped to a new data source warning",! K DIR S DIR(0)="E" D ^DIR K DIR I 'Y S PSSOUT=1 Q
 | 
|---|
| 54 |  I SEL=9 S PSO9=$G(^PS(54,RXNUM,2))_"N" W "  ",RXNUM," is mapped to ",PSO9 H 1
 | 
|---|
| 55 |  S DR=0 F  S DR=$O(^PSDRUG(DR)) Q:'DR  D
 | 
|---|
| 56 |  .I '$D(^PSDRUG(DR,0)) Q
 | 
|---|
| 57 |  .S WARN54=$P(^PSDRUG(DR,0),"^",8) I WARN54="" Q
 | 
|---|
| 58 |  .I SKIP,$P($G(^PSDRUG(DR,"WARN")),"^")'="" Q
 | 
|---|
| 59 |  .D ACTIVE^PSSWRNB I 'ACTIVE Q
 | 
|---|
| 60 |  .I ","_WARN54_","[(","_RXNUM_",") D
 | 
|---|
| 61 |  ..I SEL=9 D DRUG^PSSWRNB I PSSWRN="" Q
 | 
|---|
| 62 |  ..I SEL=9,","_PSSWRN_","[(","_PSO9_",") Q
 | 
|---|
| 63 |  ..S ^TMP("PSSWRNB",$J,$P(^PSDRUG(DR,0),"^"))=WARN54
 | 
|---|
| 64 |  Q
 | 
|---|
| 65 | SEL6 ;
 | 
|---|
| 66 |  S DR=0 F  S DR=$O(^PSDRUG(DR)) Q:'DR  D
 | 
|---|
| 67 |  .I '$D(^PSDRUG(DR,0)) Q
 | 
|---|
| 68 |  .S WARN54=$P(^PSDRUG(DR,0),"^",8) I WARN54="" Q
 | 
|---|
| 69 |  .I SKIP,$P($G(^PSDRUG(DR,"WARN")),"^")'="" Q
 | 
|---|
| 70 |  .D ACTIVE^PSSWRNB I 'ACTIVE Q
 | 
|---|
| 71 |  .F I=1:1:$L(WARN54,",") S WARN=$P(WARN54,",",I) I WARN,$D(^PS(54,WARN,1)),$G(^PS(54,WARN,2))="" D
 | 
|---|
| 72 |  ..S ^TMP("PSSWRNB",$J,$P(^PSDRUG(DR,0),"^"))=WARN54
 | 
|---|
| 73 |  Q
 | 
|---|
| 74 | SEL7 ;
 | 
|---|
| 75 |  W !! K DIR S DIR("A")="Select drugs containing New warning number"
 | 
|---|
| 76 |  S DIR("?",1)="Answer using format # or #N"
 | 
|---|
| 77 |  S DIR("?")="Example: 15 or 15N"
 | 
|---|
| 78 |  S DIR(0)="FO"
 | 
|---|
| 79 |  D ^DIR S RXNUM=Y
 | 
|---|
| 80 |  I Y="N"!(Y="n")!(Y="Y")!(Y="y") W !,$C(7),?5,RXNUM_" is not a valid entry" H 2 S QUIT=1 Q
 | 
|---|
| 81 |  I RXNUM["N"!(RXNUM["n") S RXNUM=$TR(RXNUM,"Nn","")
 | 
|---|
| 82 |  I RXNUM="^"!(RXNUM="")!(RXNUM=" ") S QUIT=1 Q
 | 
|---|
| 83 |  I '$D(^PS(50.625,RXNUM)) W !,$C(7),RXNUM_" is not in the New warning file" H 1 S QUIT=1 Q
 | 
|---|
| 84 |  W @IOF
 | 
|---|
| 85 |  W "Searching for drugs that contain new warning number "_RXNUM
 | 
|---|
| 86 |  S PSOWARN=RXNUM_"N",STAR="" D NEWWARN^PSSWRNE
 | 
|---|
| 87 |  K DIR S DIR(0)="E" D ^DIR K DIR I 'Y S PSSOUT=1 Q
 | 
|---|
| 88 |  S DR=0 F  S DR=$O(^PSDRUG(DR)) Q:'DR  D
 | 
|---|
| 89 |  .I SKIP,$P($G(^PSDRUG(DR,"WARN")),"^")'="" Q
 | 
|---|
| 90 |  .D ACTIVE^PSSWRNB I 'ACTIVE Q
 | 
|---|
| 91 |  .D DRUG^PSSWRNB I PSSWRN="" Q
 | 
|---|
| 92 |  .I ","_PSSWRN_","[(","_RXNUM_"N,") S ^TMP("PSSWRNB",$J,$P(^PSDRUG(DR,0),"^"))=PSSWRN
 | 
|---|
| 93 |  Q
 | 
|---|
| 94 | SEL8 ;
 | 
|---|
| 95 |  N WARN,GEND
 | 
|---|
| 96 |  S WARN=0 F  S WARN=$O(^PS(50.625,WARN)) Q:'WARN  I $G(^PS(50.625,WARN,2))'="" S GEND(WARN_"N")=""
 | 
|---|
| 97 |  I $O(GEND(""))="" Q
 | 
|---|
| 98 |  S DR=0 F  S DR=$O(^PSDRUG(DR)) Q:'DR  D
 | 
|---|
| 99 |  .I SKIP,$P($G(^PSDRUG(DR,"WARN")),"^")'="" Q
 | 
|---|
| 100 |  .D ACTIVE^PSSWRNB I 'ACTIVE Q
 | 
|---|
| 101 |  .D DRUG^PSSWRNB I PSSWRN="" Q
 | 
|---|
| 102 |  .S WARN=0 F  S WARN=$O(GEND(WARN)) Q:'WARN  I ","_PSSWRN_","[(","_WARN_",") D
 | 
|---|
| 103 |  ..S ^TMP("PSSWRNB",$J,$P(^PSDRUG(DR,0),"^"))=PSSWRN
 | 
|---|
| 104 |  Q
 | 
|---|