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

PSSWRNE.m

Go to the documentation of this file.
  1. PSSWRNE ;BIR/EJW-NEW WARNING SOURCE NEW WARNING LABEL LIST EDITOR ;05/24/04
  1. ;;1.0;PHARMACY DATA MANAGEMENT;**87**;9/30/97
  1. ;
  1. ;Reference to ^PS(50.625 supported by DBIA 4445
  1. EDIT ;
  1. N STAR,QUIT,PSSOUT
  1. S QUIT=0,STAR="",PSSOUT=0
  1. S DRUG="" F S DRUG=$O(^TMP("PSSWRNB",$J,DRUG)) Q:DRUG="" D I QUIT Q
  1. .S DRUGN=$O(^PSDRUG("B",DRUG,0)) Q:'DRUGN D DEA,PRINT
  1. Q
  1. ;
  1. PRINT ;
  1. N NEWLIST,STAR
  1. I '$G(PSSLOOK) D
  1. .W @IOF
  1. .W "Current Warning labels for ",DRUG
  1. .I $G(NEWLIST)="",PSSWRN'["N" W !,"No warnings from the new data source exist for this drug." D
  1. ..W !,"Verify that the drug is matched to the National Drug File."
  1. I PSSWRN'="" D
  1. .I '$G(PSSLOOK) W !,"Labels will print in the order in which they appear for local and CMOP fills:"
  1. .I '$G(ENDWARN) S ENDWARN=5
  1. .S STAR=""
  1. .F WWW=1:1:ENDWARN S PSOWARN=$P(PSSWRN,",",WWW) Q:PSOWARN="" D
  1. ..I WWW>5 S STAR="*"
  1. ..I PSOWARN["N" D NEWWARN Q
  1. ..D WARN54
  1. .D FULL Q:$G(PSSOUT) W !!,"Pharmacy fill card display: DRUG WARNING ",PSSWRN
  1. .I $G(PSSLOOK) Q
  1. .I $G(SEL)=6 D
  1. ..S WARN54=$G(^TMP("PSSWRNB",$J,DRUG))
  1. ..D FULL W !," RX CONSULT file Drug Warning="_WARN54
  1. ..N I,WARN F I=1:1:$L(WARN54,",") S WARN=$P(WARN54,",",I) I WARN'="",$G(^PS(54,WARN,2))="" D FULL W !," ",WARN_" "_$G(^PS(54,WARN,0))_" is not mapped to the new data source"
  1. .I $G(SEL)=8 D
  1. ..W !
  1. ..S DIE="^PSDRUG(",DA=DRUGN,DR=8.2 D ^DIE K DIE,DA,DR
  1. .S NEWLIST=$P($G(^PSDRUG(DRUGN,"WARN")),"^") I NEWLIST="" D
  1. ..I PSSWRN'["N" Q
  1. ..D FULL Q:$G(PSSOUT) W !,"NOTE: Because the NEW WARNING LABEL LIST field is empty, the warnings above"
  1. ..D FULL Q:$G(PSSOUT) W !,"are the warnings that our national data source distributes for this drug."
  1. I $G(PSSLOOK) Q
  1. I $G(NEWLIST)'="" D FULL Q:$G(PSSOUT) W !,"NEW WARNING LABEL LIST: ",NEWLIST
  1. D FULL Q:$G(PSSOUT) W ! K DIR S DIR(0)="Y",DIR("B")="N",DIR("A")="Would you like to edit this list of warnings" D ^DIR K DIR I $D(DTOUT)!($D(DUOUT)) S QUIT=1
  1. I 'Y D Q
  1. .I $G(DRUGENT) S WARNEDIT=0 K ^TMP("PSSWRNB",$J)
  1. I $G(DRUGENT) S WARNEDIT=1 K ^TMP("PSSWRNB",$J) Q
  1. S OLDWARN=PSSWRN
  1. S DIE="^PSDRUG(",DA=DRUGN,DR=8.1 D ^DIE K DIE,DA,DR
  1. S PSSWRN=$P($G(^PSDRUG(DRUGN,"WARN")),"^") I PSSWRN'="" D CHECK20^PSSWRNA G PRINT
  1. I $G(OLDWARN)'="",PSSWRN="" D DEA G PRINT
  1. Q
  1. FULL ;
  1. I ($Y+3)>IOSL&('$G(PSSOUT)) D HDR
  1. Q
  1. NEWWARN ;
  1. N PSOWRNN,JJJ,STR
  1. S TEXT=""
  1. S PSOWRNN=+PSOWARN I $D(^PS(50.625,PSOWRNN)) D
  1. .I '$G(PSSLOOK) W !
  1. .S TEXT=STAR_PSOWARN_" "
  1. .S JJJ=0 F S JJJ=$O(^PS(50.625,PSOWRNN,1,JJJ)) Q:'JJJ S STR=$G(^PS(50.625,PSOWRNN,1,JJJ,0)) S TEXT=TEXT_" "_STR
  1. I TEXT'="" D FORMAT I $G(PSSLOOK) D FULL^PSSLOOK
  1. Q
  1. WARN54 ;
  1. S TEXT=""
  1. I $D(^PS(54,PSOWARN,1)) D
  1. .I '$G(PSSLOOK) W !
  1. .S TEXT=STAR_PSOWARN_" "
  1. .S JJJ=0 F S JJJ=$O(^PS(54,PSOWARN,1,JJJ)) Q:'JJJ S TEXT=TEXT_" "_$G(^PS(54,PSOWARN,1,JJJ,0))
  1. I TEXT'="" D FORMAT I $G(PSSLOOK) D FULL^PSSLOOK
  1. Q
  1. VALID ; VALIDATE NEW WARNING LABEL LIST
  1. N BAD
  1. S BAD=0
  1. I $G(X)="" W !,"TOO MANY WARNINGS. LIMIT ANSWER STRING TO 30 CHARACTERS OR LESS" K Y Q
  1. F I=1:1:$L(X,",") S PSOWARN=$P(X,",",I) I PSOWARN'="" D
  1. .I PSOWARN["N" S PSOWRNN=+PSOWARN D Q
  1. ..I '$D(^PS(50.625,PSOWRNN)) W !,PSOWARN," does not exist in the WARNING LABEL-ENGLISH file" S BAD=1
  1. .I '$D(^PS(54,PSOWARN)) W !,PSOWARN," does not exist in the RX CONSULT file" S BAD=1
  1. I BAD K X
  1. Q
  1. FORMAT ;
  1. N I,LEN,PTEXT
  1. S LEN=0,PTEXT=""
  1. F I=1:1:$L(TEXT," ") S STR=$P(TEXT," ",I)_" " D
  1. .I LEN+$L(STR)<80 S PTEXT=PTEXT_STR,LEN=LEN+$L(STR) Q
  1. .S LEN=0,I=I-1 D FULL Q:$G(PSSOUT) W !,PTEXT S PTEXT=""
  1. I PTEXT'="" D FULL Q:$G(PSSOUT) W !,PTEXT S PTEXT=""
  1. Q
  1. ;
  1. NOTE ;
  1. N PSSWSITE
  1. S PSSWSITE=+$O(^PS(59.7,0)) I $P($G(^PS(59.7,PSSWSITE,10)),"^",9)'="N" D
  1. .W !,?2,"NOTE: You must edit the WARNING LABEL SOURCE field using the option"
  1. .W !,?2,"Pharmacy System Parameters Edit to enable national warning labels."
  1. Q
  1. ;
  1. DEA ;
  1. S DEA=$P($G(^PSDRUG(DRUGN,0)),"^",3)
  1. S XX=DRUGN D WARNLST^PSSWRNA S:PSSWRN="" PSSWRN=$P($G(^PSDRUG(DRUGN,0)),"^",8)
  1. D CHECK20^PSSWRNA,CHECKLST^PSSWRNA
  1. Q
  1. ;
  1. HDR ;
  1. K DIR S DIR(0)="E" D ^DIR K DIR I 'Y S PSSOUT=1,QUIT=1 Q
  1. W @IOF
  1. W "Current Warning labels for ",DRUG," (continued)"
  1. Q
  1. ;
  1. NOTE2 W !!,?5,"The RX CONSULT File (#54) contains local label expansions."
  1. W !,?5,"The WARNING LABEL-ENGLISH file (#50.625) contains national label"
  1. W !,?5,"expansions in English."
  1. W !,?5,"The WARNING LABEL-SPANISH file (#50.626) contains national label"
  1. W !,?5,"expansions in Spanish."
  1. W !,?5,"It is important to note that RX Consult entry numbers do not"
  1. W !,?5,"correlate with the other files (i.e. Number 7 in file 54 is not"
  1. W !,?5,"included in file 50.625)."
  1. W !!,?5,"You should print a list of the current RX CONSULT file entries"
  1. W !,?5,"and the current WARNING LABEL-ENGLISH file entries."
  1. W !
  1. Q