| 1 | PSGMAR2 ;BIR/CML3-PRINT 24 HOUR MAR(UD) ;14 Oct 98 / 4:28 PM
 | 
|---|
| 2 |  ;;5.0; INPATIENT MEDICATIONS ;**20,111,131,145**;16 DEC 97;Build 17
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 | S1 I PSGMARB'=2 S:PSGMARS'=2 (PST,OPST)="C" D:PSGMARS'=2 HEADER^PSGMAR3,BOT^PSGMAR3 S:PSGMARS'=1 (PST,OPST)="P" D:PSGMARS'=1 HEADER^PSGMAR3,BOT^PSGMAR3 Q:PSGMARB=1
 | 
|---|
| 5 |  D NOW^%DTC S PSGDT=%,(PST,OPST)=""
 | 
|---|
| 6 |  S PSGMPG=0,PSGMPGN="PAGE: "
 | 
|---|
| 7 |  I PSGSS="P"!(PSGSS="C")!(PSGSS="L") D P Q
 | 
|---|
| 8 |  D W
 | 
|---|
| 9 |  Q
 | 
|---|
| 10 |  ;
 | 
|---|
| 11 | P ;***Print on Patient order
 | 
|---|
| 12 |  ;
 | 
|---|
| 13 |  ;
 | 
|---|
| 14 |  I $O(^TMP($J,PN,PWDN,0))'["C" S (PST,OPST)="C" D HEADER^PSGMAR3,BOT^PSGMAR3 S (PST,OPST)=""
 | 
|---|
| 15 |  F  S PST=$O(^TMP($J,PN,PWDN,PST)) Q:PST=""  D:$E(OPST)'=$E(PST) BOT^PSGMAR3:OPST]"",HEADER^PSGMAR3 S OPST=PST,DAO="" D
 | 
|---|
| 16 |  . F  S DAO=$O(^TMP($J,PN,PWDN,PST,DAO)) Q:DAO=""  S PSGMARTS=^TMP($J,PN,PWDN,PST,DAO) D PRT
 | 
|---|
| 17 |  I $O(^TMP($J,PN,PWDN,"CV6"))="" D BOT^PSGMAR3 S (PST,OPST)="O" D HEADER^PSGMAR3
 | 
|---|
| 18 |  S PSGMPGN="LAST PAGE: " D BOT^PSGMAR3
 | 
|---|
| 19 |  Q
 | 
|---|
| 20 |  ;
 | 
|---|
| 21 | W ;***Print Ward/Ward group
 | 
|---|
| 22 |  ;DAM 5-01-07  Utilize the XTMP global while reverses patient name and location
 | 
|---|
| 23 |  I $S(PSGRBPPN="P":$O(^XTMP(PSGREP,TM,PN,WDN,RB,0)),1:$O(^TMP($J,TM,WDN,RB,PN,0)))'["C" S (PST,OPST)="C" D HEADER^PSGMAR3,BOT^PSGMAR3 S (PST,OPST)=""
 | 
|---|
| 24 |  ;
 | 
|---|
| 25 |  D:PSGRBPPN="P" PPN D:PSGRBPPN="R" RB
 | 
|---|
| 26 |  Q
 | 
|---|
| 27 |  ;
 | 
|---|
| 28 | PPN ;***Sort by Patient
 | 
|---|
| 29 |  ;
 | 
|---|
| 30 |  ;DAM - 5-01-07 Utilize the XTMP global set up in PSGMAR0 when printing by WARD/PATIENT or WARD GROUP/PATIENT 
 | 
|---|
| 31 |  F  S PST=$O(^XTMP(PSGREP,TM,PN,WDN,RB,PST)) Q:PST=""  D:$E(OPST)'=$E(PST) BOT^PSGMAR3:OPST]"",HEADER^PSGMAR3 S OPST=PST,DAO="" D
 | 
|---|
| 32 |  . F  S DAO=$O(^XTMP(PSGREP,TM,PN,WDN,RB,PST,DAO)) Q:DAO=""  S PSGMARTS=^(DAO) D PRT
 | 
|---|
| 33 |  I $O(^XTMP(PSGREP,TM,PN,WDN,RB,"CV6"))="" D BOT^PSGMAR3 S (PST,OPST)="O" D HEADER^PSGMAR3
 | 
|---|
| 34 |  S PSGMPGN="LAST PAGE: " D BOT^PSGMAR3
 | 
|---|
| 35 |  ;
 | 
|---|
| 36 |  Q
 | 
|---|
| 37 |  ;
 | 
|---|
| 38 | RB ;***Sort by Room bed
 | 
|---|
| 39 |  F  S PST=$O(^TMP($J,TM,WDN,RB,PN,PST)) Q:PST=""  D:$E(OPST)'=$E(PST) BOT^PSGMAR3:OPST]"",HEADER^PSGMAR3 S OPST=PST,DAO="" D
 | 
|---|
| 40 |  . F  S DAO=$O(^TMP($J,TM,WDN,RB,PN,PST,DAO)) Q:DAO=""  S PSGMARTS=^(DAO) D PRT
 | 
|---|
| 41 |  I $O(^TMP($J,TM,WDN,RB,PN,"CV6"))="" D BOT^PSGMAR3 S (PST,OPST)="O" D HEADER^PSGMAR3
 | 
|---|
| 42 |  S PSGMPGN="LAST PAGE: " D BOT^PSGMAR3
 | 
|---|
| 43 |  Q
 | 
|---|
| 44 |  ;
 | 
|---|
| 45 | PRT ; order info
 | 
|---|
| 46 |  NEW MARLB,DRUGNAME,NAME
 | 
|---|
| 47 |  S ON=$P(DAO,U,2) D ONHOLD^PSGMMAR2
 | 
|---|
| 48 |  I +PSGMSORT,$S(ON["V":1,ON["P":$P($G(^PS(53.1,+ON,0)),U,4)="F",1:0) D PRT^PSGMIV Q
 | 
|---|
| 49 |  D:PSGMAROC>5 ENB^PSGMAR3,HEADER^PSGMAR3 I PST["V" D PRT^PSGMIV Q
 | 
|---|
| 50 |  S TMSTR=$P(PSGMARTS,"^",2),PSGMARTS=$P(PSGMARTS,"^"),PSGORD=$P(DAO,U,2) S:PSGORD["P" PSJPSTO=PST,PST=$S(+PSGMSORT:"CZ",1:PST) D ^PSGLOI,TS^PSGMAR3(PSGMARTS),MARLB^PSGMUTL(47)
 | 
|---|
| 51 |  I (PSGMAROC>4&(MARLB>6))!(TS/6>6)!((TS/6+PSGMAROC)>6) D BOT^PSGMAR3,HEADER^PSGMAR3
 | 
|---|
| 52 |  S PSGMAROC=PSGMAROC+1
 | 
|---|
| 53 |  NEW PSGX F PSGX=1:1:MARLB W !,MARLB(PSGX) W:PST["C" ?48,"|",$G(TS(PSGX)) D PRT2
 | 
|---|
| 54 |  I $D(PSJPSTO) S PST=PSJPSTO K PSJPSTO
 | 
|---|
| 55 |  Q
 | 
|---|
| 56 | PRT2 ;
 | 
|---|
| 57 |  W ?55,"|"
 | 
|---|
| 58 |  I PSGX=3,(PST'["Z"),(PST["C") D TMSTR^PSGMAR3
 | 
|---|
| 59 |  I PSGMAROC>5,(TS/6>7) D
 | 
|---|
| 60 |  . S MSG1="*** CONTINUE ON NEXT PAGE ***"
 | 
|---|
| 61 |  . D BOT^PSGMAR3,HEADER^PSGMAR3
 | 
|---|
| 62 |  I PSGX#6=0 W:PSGMAROC<6 !?7,LN2 S:PSGX'=MARLB PSGMAROC=PSGMAROC+1
 | 
|---|
| 63 |  Q
 | 
|---|