| [613] | 1 | PPPPRT8 ;ALB/DMB - FFX PRINT ROUTINES ; 5/14/92
 | 
|---|
 | 2 |  ;;V1.0;PHARMACY PRESCRIPTION PRACTICE;;APR 7,1995
 | 
|---|
 | 3 |  ;;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
 | 4 |  ;
 | 
|---|
 | 5 | PRTFAC(PATDFN) ; Entry point for pharmacy
 | 
|---|
 | 6 |  ;
 | 
|---|
 | 7 |  N TMP,VISITS
 | 
|---|
 | 8 |  S VISITS=$$GETVIS^PPPGET7(PATDFN,"^TMP(""PPP"",$J,""VIS"")")
 | 
|---|
 | 9 |  I $D(^TMP("PPP",$J,"VIS")) S TMP=$$POF(PATDFN,"^TMP(""PPP"",$J,""VIS"")")
 | 
|---|
 | 10 |  K ^TMP("PPP",$J,"VIS")
 | 
|---|
 | 11 |  Q
 | 
|---|
 | 12 |  ;
 | 
|---|
 | 13 | POF(PATDFN,TARRY) ; Print Other Facilities
 | 
|---|
 | 14 |  ;
 | 
|---|
 | 15 |  ; This function takes the data contained in TARRY and writes
 | 
|---|
 | 16 |  ; it to standard out.
 | 
|---|
 | 17 |  ;
 | 
|---|
 | 18 |  N DIC,DR,DA,DIQ,DUOUT,DTOUT,U,PARMERR,PATNAME,PATDOB,PATSSN,PPPTMP
 | 
|---|
 | 19 |  N STANAME,LINEDATA,PDXDATA
 | 
|---|
 | 20 |  ;
 | 
|---|
 | 21 |  S PARMERR=-9001
 | 
|---|
 | 22 |  S U="^"
 | 
|---|
 | 23 |  ;
 | 
|---|
 | 24 |  I $G(PATDFN)<1 Q PARMERR
 | 
|---|
 | 25 |  I '$D(@TARRY) Q PARMERR
 | 
|---|
 | 26 |  ;
 | 
|---|
 | 27 |  ; Get the local name, SSN and DOB
 | 
|---|
 | 28 |  ;
 | 
|---|
 | 29 |  S DIC="^DPT(",DA=PATDFN,DR=".01;.03;.09",DIQ="PPPTMP" D EN^DIQ1
 | 
|---|
 | 30 |  S PATNAME=PPPTMP(2,PATDFN,.01)
 | 
|---|
 | 31 |  S PATDOB=$$E2IDT^PPPCNV1(PPPTMP(2,PATDFN,.03))
 | 
|---|
 | 32 |  S PATSSN=PPPTMP(2,PATDFN,.09)
 | 
|---|
 | 33 |  K PPPTMP,DIC,DR,DA,DTOUT,DUOUT
 | 
|---|
 | 34 |  ;
 | 
|---|
 | 35 |  ; Write out the header
 | 
|---|
 | 36 |  ;
 | 
|---|
 | 37 |  W !,"Visits to other facilities are on file for ==>"
 | 
|---|
 | 38 |  W !,?5,PATNAME,"  (",$E(PATSSN,1,3),"-",$E(PATSSN,4,5),"-",$E(PATSSN,6,9),")    Born ",$$I2EDT^PPPCNV1(PATDOB)
 | 
|---|
 | 39 |  W !!,"Station",?21,"Last PDX",?33,"PDX Status",?60,"Pharmacy Data"
 | 
|---|
 | 40 |  W ! F I=1:1:IOM W "="
 | 
|---|
 | 41 |  ;
 | 
|---|
 | 42 |  ; Now order through the array and print the info.
 | 
|---|
 | 43 |  ;
 | 
|---|
 | 44 |  S STANAME=""
 | 
|---|
 | 45 |  F  S STANAME=$O(@TARRY@(STANAME)) Q:STANAME=""  D
 | 
|---|
 | 46 |  .S LINEDATA=@TARRY@(STANAME,2)
 | 
|---|
 | 47 |  .W !,$E($P(LINEDATA,U),1,18)
 | 
|---|
 | 48 |  .W ?21,$S(+$P(LINEDATA,U,2)'<0:$P(LINEDATA,U,2),1:"UNKNOWN")
 | 
|---|
 | 49 |  .W ?33,$P(LINEDATA,U,3),?60,$P(LINEDATA,U,4)
 | 
|---|
 | 50 |  .I @TARRY@(STANAME,0)>0 D
 | 
|---|
 | 51 |  ..S PDXDATA=@TARRY@(STANAME,1)
 | 
|---|
 | 52 |  ..I PATNAME'=$P(PDXDATA,U,1) D
 | 
|---|
 | 53 |  ...W !,"  Warning... PDX Name (",$P(PDXDATA,U,1),") Does Not Equal Local Name."
 | 
|---|
 | 54 |  ..I PATDOB'=$P(PDXDATA,U,2) D
 | 
|---|
 | 55 |  ...W !,"  Warning... PDX DOB (",$$I2EDT^PPPCNV1($P(PDXDATA,U,2)),") Does Not Equal Local DOB."
 | 
|---|
 | 56 |  Q 0
 | 
|---|