| 1 | PSSOUTSC ;BIR/RTR-Outpatient Schedule processor ;08/21/00 | 
|---|
| 2 | ;;1.0;PHARMACY DATA MANAGEMENT;**38**;9/30/97 | 
|---|
| 3 | ; | 
|---|
| 4 | EN(PSSJSCHZ) ; | 
|---|
| 5 | Q:$G(PSSJSCHZ)="" | 
|---|
| 6 | I $G(PSSJSCHZ)[""""!($A(PSSJSCHZ)=45)!(PSSJSCHZ?.E1C.E)!($L(PSSJSCHZ," ")>3)!($L(PSSJSCHZ)>20)!($L(PSSJSCHZ)<1) K PSSJSCHZ | 
|---|
| 7 | Q | 
|---|
| 8 | EN1 ;called from schedule field of Pharmacy Orderable Item File | 
|---|
| 9 | N PSSTRI,PSSTRO,PSSTLP | 
|---|
| 10 | S (PSSTRI,PSSTRO)=0 | 
|---|
| 11 | S PSSTLP="" F  S PSSTLP=$O(^PSDRUG("ASP",DA,PSSTLP)) Q:PSSTLP=""  D | 
|---|
| 12 | .I $P($G(^PSDRUG(PSSTLP,"I")),"^"),$P($G(^("I")),"^")'>DT Q | 
|---|
| 13 | .I $P($G(^PSDRUG(PSSTLP,2)),"^",3)["O" S PSSTRO=1 | 
|---|
| 14 | .I $P($G(^PSDRUG(PSSTLP,2)),"^",3)["I"!($P($G(^(2)),"^",3)["U") S PSSTRI=1 | 
|---|
| 15 | I $G(PSSTRI) G PASS | 
|---|
| 16 | S PSSTLP="" F  S PSSTLP=$O(^PS(52.6,"AOI",DA,PSSTLP)) Q:PSSTLP=""  D | 
|---|
| 17 | .I $P($G(^PS(52.6,PSSTLP,"I")),"^"),$P($G(^("I")),"^")'>DT Q | 
|---|
| 18 | .S PSSTRI=1 | 
|---|
| 19 | I $G(PSSTRI) G PASS | 
|---|
| 20 | S PSSTLP="" F  S PSSTLP=$O(^PS(52.7,"AOI",DA,PSSTLP)) Q:PSSTLP=""  D | 
|---|
| 21 | .I $P($G(^PS(52.7,PSSTLP,"I")),"^"),$P($G(^("I")),"^")'>DT Q | 
|---|
| 22 | .S PSSTRI=1 | 
|---|
| 23 | PASS ; | 
|---|
| 24 | I $G(PSSTRO),'$G(PSSTRI) D OUT Q | 
|---|
| 25 | D SCH^PSSDDUT I $D(X)#2,'$G(PSGS0Y),$G(PSGS0XT) D EN^DDIOL("  Every "_$G(PSGS0XT)_" minutes","","?0") | 
|---|
| 26 | I $G(X)'="",$G(PSSTRO) D OUT | 
|---|
| 27 | K PSSTRO,PSSTRI | 
|---|
| 28 | Q | 
|---|
| 29 | OUT ;Outpatient Input Transform and echo of Outpatient expansion | 
|---|
| 30 | N SCH | 
|---|
| 31 | S SCH=$G(X) | 
|---|
| 32 | D OUTZ I $G(SCHEX)'="" D EN^DDIOL("Outpatient Expansion:","","!!") D EN^DDIOL($G(SCHEX)) D EN^DDIOL(" ","","!") | 
|---|
| 33 | Q | 
|---|
| 34 | OUTZ ; | 
|---|
| 35 | N SQFLAG,SCLOOP,SCLP,SCLPS,SCLHOLD,SCIN,SODL,SST | 
|---|
| 36 | K SCHEX S SQFLAG=0 | 
|---|
| 37 | I $G(SCH)="" S SCHEX="" Q | 
|---|
| 38 | F SCLOOP=0:0 S SCLOOP=$O(^PS(51.1,"B",SCH,SCLOOP)) Q:'SCLOOP!(SQFLAG)  I $P($G(^PS(51.1,SCLOOP,0)),"^",8)'="" S SCHEX=$P($G(^(0)),"^",8),SQFLAG=1 | 
|---|
| 39 | Q:SQFLAG | 
|---|
| 40 | I $P($G(^PS(51,"A",SCH)),"^")'="" S SCHEX=$P(^(SCH),"^") Q | 
|---|
| 41 | S SCLOOP=0 F SCLP=1:1:$L(SCH) S SCLPS=$E(SCH,SCLP) I SCLPS=" " S SCLOOP=SCLOOP+1 | 
|---|
| 42 | I SCLOOP=0 S SCHEX=SCH Q | 
|---|
| 43 | S SCLOOP=SCLOOP+1 | 
|---|
| 44 | K SCLHOLD F SCIN=1:1:SCLOOP S (SODL,SCLHOLD(SCIN))=$P(SCH," ",SCIN) D | 
|---|
| 45 | .Q:$G(SODL)="" | 
|---|
| 46 | .S SQFLAG=0 F SST=0:0 S SST=$O(^PS(51.1,"B",SODL,SST)) Q:'SST!($G(SQFLAG))  I $P($G(^PS(51.1,SST,0)),"^",8)'="" S SCLHOLD(SCIN)=$P($G(^(0)),"^",8),SQFLAG=1 | 
|---|
| 47 | .Q:$G(SQFLAG) | 
|---|
| 48 | .I $P($G(^PS(51,"A",SODL)),"^")'="" S SCLHOLD(SCIN)=$P(^(SODL),"^") | 
|---|
| 49 | S SCHEX="",SQFLAG=0 F SST=1:1:SCLOOP S SCHEX=SCHEX_$S($G(SQFLAG):" ",1:"")_$G(SCLHOLD(SST)),SQFLAG=1 | 
|---|
| 50 | Q | 
|---|