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

APSPORXA.m

Go to the documentation of this file.
  1. APSPORXA ; IHS/DSD/ENM - enter outside rx ; [ 02/20/2001 1:50 PM ]
  1. ;;6.0;IHS PHARMACY MODIFICATIONS;**1,3**;09/03/97
  1. ;
  1. START ;EP - called from option
  1. HDR ;write header
  1. W:$D(IOF) @IOF
  1. F J=1:1:7 S X=$P($T(TEXT+J),";;",2) W !?80-$L(X)\2,X
  1. K X,J
  1. W !!
  1. ;
  1. BEGIN ;
  1. D INIT
  1. G:APSPQUIT EXIT
  1. D GETPAT
  1. G:DFN="" EXIT
  1. ;F D GETDRUG Q:APSPQUIT!(APSPDIEN="") D PROCESS
  1. ;F D GETDRUG Q:APSPQUIT!(APSPDIEN="") D ^APSQDRG S:PSORX("DFLG") APSPQUIT=1 K PSORX("DFLG") Q:$G(APSPQUIT) D ^APSQDRDU S:$G(PSORX("DFLG")) APSPQUIT=1 K PSORX("DFLG") Q:$G(APSPQUIT) D PROCESS ;IHS/OKCAO/POC
  1. F D GETDRUG Q:APSPQUIT!(APSPDIEN="") S X="APSQDRG" X ^%ZOSF("TEST") D:$T ^APSQDRG S:PSORX("DFLG") APSPQUIT=1 K PSORX("DFLG") Q:$G(APSPQUIT) D PROCESS ;IHS/OKCAO/POC
  1. D EXIT
  1. Q
  1. PROCESS ;
  1. D GETDATE
  1. Q:APSPDATE=""
  1. D GETOL
  1. Q:APSPOL=""
  1. D GENVISIT
  1. Q:APSPQUIT
  1. D GENVMED
  1. Q
  1. EXIT ;cleanup and exit
  1. K DFN,APCDLOOK,APCDANE,APCDALVR,APCDVSIT,APCDPAT
  1. K APSPOIEN,APSPDRUG,APSPDIEN,APSPOL,APSPDATE,APSPQUIT ;IHS/DSD/ENM APSPDOL REMOVED
  1. D KILL^AUPNPAT K AUPNTALK,AUPNLK("ALL")
  1. K DIE,DR,DA,DIRUT,DIR,DTOUT,DUOUT,DIV,DIW,DQ,DD,DQ,DI,DIC,DIR,X,Y,I,DDH,DI,D,D0
  1. Q
  1. INIT ;EP
  1. S APSPQUIT=0
  1. S APSPOIEN=$O(^PSDRUG("B","OUTSIDE DRUG",0)) I 'APSPOIEN W !!,$C(7),$C(7),"OUTSIDE DRUG not defined in DRUG file, notify supervisor." H 3 S APSPQUIT=1 Q
  1. ;I APCDFLG S APSPQUIT=1 Q
  1. I '$D(PSOPAR) D ^PSOLSET ;set up pharmacy site parameters
  1. ;S APSPDOL=4472
  1. I '$G(APSPDOL) W !!,"DEFAULT OTHER LOCATION NOT DEFINED IN PHARMACY SITE FILE!! NOTIFY YOUR SUPERVISOR" H 3 S APSPQUIT=1 Q
  1. Q
  1. GETDATE ;EP GET DATE OF ENCOUNTER
  1. K DIR S APSPDATE="",DIR(0)="DO^:"_DT_":EPT",DIR("A")="Enter DATE DISPENSED" D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. Q:$D(DIRUT)
  1. S %DT="ET" D ^%DT G:Y<0 GETDATE
  1. I Y>DT W " <Future dates not allowed>",$C(7),$C(7) K X G GETDATE
  1. S APSPDATE=Y
  1. Q
  1. GETOL ;
  1. S APSPOL=""
  1. S DIR(0)="9000010,2101",DIR("A")="Enter LOCATION WHERE DISPENSED" K DA D ^DIR K DIR
  1. S APSPOL=Y
  1. Q
  1. GETDRUG ;
  1. S (APSPDRUG,APSPDIEN)=""
  1. W !! K DD,DIR S DIR(0)="FO^1:40",DIR("A")="Enter DRUG NAME" D ^DIR K DIR S:$D(DTOUT) DIRUT=1
  1. Q:Y=""
  1. I $D(DIRUT) W !,"No drug entered!!" Q
  1. S (X,APSPDRUG)=Y,DIC="^PSDRUG(",DIC(0)="MQE" D ^DIC K DIC
  1. I Y=-1 D NODRUG Q
  1. S APSPDIEN=+Y,APSPDRUG="" K DIR,DA,DIRUT,DTOUT,DUOUT
  1. Q
  1. ;
  1. NODRUG ;
  1. W !,"That drug cannot be found in the Drug file."
  1. K DIR S DIR(0)="Y",DIR("A")="Do you want to try to lookup the drug in the Drug file again",DIR("B")="Y" D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. I $D(DIRUT) W !,"Exiting..." S APSPQUIT=1 Q
  1. I Y G GETDRUG
  1. S APSPDIEN=APSPOIEN
  1. W ! K DD,DIR S DIR(0)="FO^1:40",DIR("A")="Enter the FULL DRUG NAME...",DIR("A",1)="You must enter the drug name that will appear on the health summary.",DIR("B")=APSPDRUG D ^DIR K DIR S:$D(DTOUT) DIRUT=1
  1. I $D(DIRUT) S APSPQUIT=1 W !!,"Exiting..." Q
  1. S APSPDRUG=Y
  1. S APSPDRUG=$TR(APSPDRUG,"-") ;IHS/OKCAO/POC 4/22/98
  1. Q
  1. GENVISIT ;
  1. K APCDALVR
  1. S APCDALVR("AUPNTALK")=""
  1. S APCDALVR("APCDDATE")=APSPDATE
  1. S APCDALVR("APCDTYPE")="O"
  1. S APCDALVR("APCDPAT")=DFN
  1. S APCDALVR("APCDLOC")=$G(APSPDOL)
  1. S APCDALVR("APCDCAT")="E"
  1. S APCDALVR("APCDAUTO")="",APCDALVR("APCDANE")=""
  1. S APCDALVR("APCDOLOC")=APSPOL
  1. D ^APCDALV
  1. I $D(APCDALVR("APCDAFLG")) W !!,$C(7),"Creating PCC Visit Failed....Notify Supervisor" H 3 S APSPQUIT=1 Q
  1. S APCDVSIT=APCDALVR("APCDVSIT"),APCDPAT=APCDALVR("APCDPAT") S Y=DFN D ^AUPNPAT
  1. Q
  1. GENVMED ;
  1. I '$G(APSPDIEN) W !!,"Error.... no drug entry" H 2 Q
  1. ;D ^APCDEA3
  1. W !!,"Please enter all available information about this prescription.",!
  1. S DA=APCDVSIT,DR="[APCD ORX (ADD)]",DIE="^AUPNVSIT(" D ^DIE
  1. I $D(Y) W !!,"Creating V Medication entry failed!! Notify supervisor!" H 3 Q
  1. Q
  1. GETPAT ;EP
  1. W !
  1. S DFN=""
  1. S DIC("A")="Enter PATIENT NAME: ",DIC="^AUPNPAT(",DIC(0)="AEMQ" D ^DIC K DIC
  1. Q:Y<0
  1. S DFN=+Y
  1. ;ADD THESE 2 LINES TO BUILD DRUG ARRAY IHS/OKCAO/POC
  1. S PSODFN=+Y
  1. D ^PSOBUILD
  1. Q
  1. ;
  1. TEXT ;
  1. ;;
  1. ;;IHS PHARMACY MODULE/PCC Interface
  1. ;;
  1. ;;*******************************
  1. ;;* Entry of OUTSIDE RX's *
  1. ;;*******************************
  1. ;;