| 1 | PSGMMAR3 ;BIR/CML3-MD MARS - SORT O/P ORDERS ;21 Oct 98 / 12:22 PM
|
---|
| 2 | ;;5.0; INPATIENT MEDICATIONS ;**20,111,131,145**;16 DEC 97;Build 17
|
---|
| 3 | ;
|
---|
| 4 | ; Reference to ^PS(59.7 supported by DBIA #2181.
|
---|
| 5 | ;
|
---|
| 6 | S1 ; Print non-blank prn.
|
---|
| 7 | Q:PSGMARB=1
|
---|
| 8 | NEW INIT,NEED,LT,RT,BL,PG,LAB
|
---|
| 9 | S BL=$S($P($G(^PS(59.7,1,26)),U):6,1:4),(PG,LT,RT)=1
|
---|
| 10 | S NO=$S(PSGSS="P"!(PSGSS="C")!(PSGSS="L"):$O(^TMP($J,PN,PWDN,"N"))="",PSGRBPPN="P":$O(^TMP($J,TM,WDN,PN,RB,"N"))="",1:$O(^TMP($J,TM,WDN,RB,PN,"N"))="")
|
---|
| 11 | Q:NO
|
---|
| 12 | D NOW^%DTC S PSGDT=%,(DAO,DAOO)="",PST="N",PSGMAROC=0
|
---|
| 13 | K ^TMP($J,"1PRN")
|
---|
| 14 | I PSGSS'="P",PSGSS'="C",PSGSS'="L" D
|
---|
| 15 | . I PSGRBPPN="P" F S PST=$O(^XTMP(PSGREP,TM,PN,WDN,RB,PST)) Q:PST="" F S DAOO=$O(^XTMP(PSGREP,TM,PN,WDN,RB,PST,DAOO)) Q:DAOO="" S PSGMARTS=^(DAOO) D SET ;DAM 5-01-07 add XTMP global
|
---|
| 16 | . I PSGRBPPN="R" F S PST=$O(^TMP($J,TM,WDN,RB,PN,PST)) Q:PST="" F S DAOO=$O(^TMP($J,TM,WDN,RB,PN,PST,DAOO)) Q:DAOO="" S PSGMARTS=^(DAOO) D SET
|
---|
| 17 | I PSGSS="P"!(PSGSS="C")!(PSGSS="L") F S PST=$O(^TMP($J,PN,PWDN,PST)) Q:PST="" D
|
---|
| 18 | . N DAOO S DAOO=""
|
---|
| 19 | . F S DAOO=$O(^TMP($J,PN,PWDN,PST,DAOO)) Q:DAOO="" I $D(^TMP($J,PN,PWDN,PST,DAOO))#10 S PSGMARTS=^(DAOO) D SET
|
---|
| 20 | . Q
|
---|
| 21 | ;
|
---|
| 22 | D EN^PSGMMAR4
|
---|
| 23 | Q
|
---|
| 24 | ;
|
---|
| 25 | SET ; set ^tmp array
|
---|
| 26 | S PSGORD=$P(DAOO,U,2)
|
---|
| 27 | I PSGORD["V" D IVPRN^PSGMMIV Q
|
---|
| 28 | I +PSGMSORT,PSGORD["P" S PSJPSTO=PST,PST="OZ"
|
---|
| 29 | S PSGORD=+PSGORD_$S(PSGORD["P":"P",1:"A") D ^PSGLOI
|
---|
| 30 | S TS=0 D MARLB^PSGMUTL(47)
|
---|
| 31 | I ((MARLB/6)+PSGMAROC)>BL S:PSGMAROC PG=PG+1,(LT,RT)=1,PSGMAROC=0
|
---|
| 32 | I ((MARLB/6)+PSGMAROC)>(BL/2) S PSGMAROC=$S(PSGMAROC>(BL/2):PSGMAROC,1:(BL/2)) D LTRT(.RT,"^")
|
---|
| 33 | E D LTRT(.LT,"")
|
---|
| 34 | D LAB
|
---|
| 35 | I $D(PSJPSTO) S PST=PSJPSTO K PSJPSTO
|
---|
| 36 | Q
|
---|
| 37 | ;
|
---|
| 38 | LAB ;***Print the 1st label for the order.
|
---|
| 39 | NEW X,J S J=0
|
---|
| 40 | ;naked reference below goes with full reference on right of =
|
---|
| 41 | F X=1:1:MARLB S J=J+1,^(J)=$G(^TMP($J,"1PRN",PG,LAB,J))_UP_MARLB(X) D
|
---|
| 42 | . I X=6,(MARLB>6) D
|
---|
| 43 | . . S J=0
|
---|
| 44 | . . I PSGMAROC>(BL/2) D LTRT(.RT,"^")
|
---|
| 45 | . . E D LTRT(.LT,"")
|
---|
| 46 | Q
|
---|
| 47 | ;
|
---|
| 48 | LTRT(X,Y) ;***Increment Left or Right label value.
|
---|
| 49 | S LAB=X,X=X+1,UP=Y,PSGMAROC=PSGMAROC+1
|
---|
| 50 | Q
|
---|
| 51 | BLANK ; Print blank prn form
|
---|
| 52 | NEW INIT,NEED,LT,RT,BL,PG,LAB,UP
|
---|
| 53 | S BL=$S($P($G(^PS(59.7,1,26)),U):6,1:4),(PG,LT,RT)=1
|
---|
| 54 | I PSGMARB'=2 D PSGMARB^PSGMMAR4
|
---|
| 55 | Q
|
---|