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

APSPVST.m

Go to the documentation of this file.
  1. APSPVST ; IHS/DSD/ENM - CHECK PRESCRIPTION FILE FOR VMED LINKAGE ; [ 09/03/97 1:30 PM ]
  1. ;;6.0;IHS PHARMACY MODIFICATIONS;;09/03/97
  1. ;
  1. ;------------------------------------------------------------------
  1. START ;
  1. D ^XBKVAR
  1. S APSPVST("BD")=0
  1. S APSPVST("BD")=$S($D(^TMP("APSPVST","LAST DATE")):^TMP("APSPVST","LAST DATE"),1:$O(^AUPNVSIT("B",0)))
  1. G:'APSPVST("BD") END
  1. D ASK
  1. G:$D(APSPVST("QFLG")) END
  1. D DATE
  1. END D EOJ
  1. Q
  1. ;-------------------------------------------------------------------
  1. EN ;
  1. D ^XBKVAR
  1. D ASK
  1. G:$D(APSPVST("QFLG")) ENX
  1. D CHECK D:$D(APSPVST("DIFFLG")) FIX
  1. ENX D EOJ
  1. Q
  1. ;
  1. ASK ;
  1. S DIR(0)="S^I:IHS;C:CONTRACT;T:TRIBAL;O:OTHER;6:638;V:VA",DIR("A")="DEFAULT TYPE OF VISIT TO CREATE"
  1. D ^DIR
  1. K DIR I $D(DIRUT) S APSPVST("QFLG")=1 K DIRUT,DTOUT,DUOUT,BD,ED G ASKX
  1. S APSPVST("APCDTYPE")=Y K X,Y
  1. ASKX ;
  1. Q
  1. DATE ;
  1. W !!!,"No. of RX's Checked : ",?40,"No. of V Med's Created : ",!
  1. S (APSPVST("COUNT"),APSPVST("DLCOUNT"))=0
  1. F APSPVST("DATE")=(APSPVST("BD")-1):0 S APSPVST("DATE")=$O(^PSRX("AD",APSPVST("DATE"))) Q:'APSPVST("DATE") D RX
  1. W APSPVST("COUNT"),?40,APSPVST("DLCOUNT"),$C(13)
  1. W !!,"All done ..."
  1. Q
  1. RX ;
  1. ;APSPVST("IRXN") IS THE SUBSCRIPT PRESCRIPTION NUMBER
  1. F APSPVST("IRXN")=0:0 S APSPVST("IRXN")=$O(^PSRX("AD",APSPVST("DATE"),APSPVST("IRXN"))) Q:APSPVST("IRXN")="" S APSPVST("RFN")=$O(^(APSPVST("IRXN"),"")) D CHECK D:$D(APSPVST("DIFFLG")) FIX
  1. Q
  1. CHECK ;
  1. S APSPVST("COUNT")=APSPVST("COUNT")+1
  1. W APSPVST("COUNT"),?40,APSPVST("DLCOUNT"),$C(13)
  1. K APSPVST("PSDFN"),APSPVST("VMDFN"),APSPVST("VDFN"),APSPVST("DIFFLG")
  1. I $D(^PSRX(APSPVST("IRXN"),0)),$P(^(0),U,2) S APSPVST("PSDFN")=$P(^(0),U,2)
  1. Q:'$D(APSPVST("PSDFN"))
  1. I APSPVST("RFN")>0,$S('$D(^PSRX(APSPVST("IRXN"),1,APSPVST("RFN"),999999911)):1,^(999999911)="":1,1:0) S APSPVST("DIFFLG")=1
  1. I APSPVST("RFN")=0,$S('$D(^PSRX(APSPVST("IRXN"),999999911)):1,^(999999911)="":1,1:0) S APSPVST("DIFFLG")=1
  1. Q
  1. FIX ;
  1. D INIT ; Initializes variables needed to create V Med and Visit Entry
  1. D ^APSPVST1 K APCDALVR ;Creates V Med entry and possibly Visit
  1. S APSPVST("DLCOUNT")=APSPVST("DLCOUNT")+1
  1. Q
  1. INIT ;
  1. K APCDALVR
  1. S APSPVST("RX0")=^PSRX(APSPVST("IRXN"),0)
  1. S APCDALVR("APCDPAT")=APSPVST("PSDFN")
  1. S APCDALVR("APCDDATE")=$S(APSPVST("RFN")=0:$P(APSPVST("RX0"),U,13),1:$P(^PSRX(APSPVST("IRXN"),1,APSPVST("RFN"),0),U,1))
  1. S APCDALVR("APCDLOC")=DUZ(2)
  1. S APCDALVR("APCDTYPE")=APSPVST("APCDTYPE")
  1. S APCDALVR("APCDCAT")=$S($P(APSPVST("RX0"),U,3)=1:"A",1:"I")
  1. Q
  1. EOJ ;
  1. K APSPVST
  1. Q