| [613] | 1 | PSSGMI ;BIR/CML3-MISCELLANEOUS INFORMATION ; 08/30/96 10:17 | 
|---|
|  | 2 | ;;1.0;PHARMACY DATA MANAGEMENT;;9/30/97 | 
|---|
|  | 3 | ; | 
|---|
|  | 4 | ENPDN(X) ; orderable item name | 
|---|
|  | 5 | ; X - pointer to Orderable Item (50.7) file | 
|---|
|  | 6 | N Y I $G(X)="" Q "NOT FOUND" | 
|---|
|  | 7 | I X S Y=$P($G(^PS(50.7,X,0)),"^") S:Y="" Y=X_";PS(50.7," Q Y | 
|---|
|  | 8 | Q X | 
|---|
|  | 9 | ; | 
|---|
|  | 10 | ENDDN(X) ; dispense drug name | 
|---|
|  | 11 | ; X - pointer to Drug (50) file | 
|---|
|  | 12 | N Y I $G(X)="" Q "NOT FOUND" | 
|---|
|  | 13 | I X S Y=$P($G(^PSDRUG(X,0)),"^") S:Y="" Y=X_";PSDRUG(" Q Y | 
|---|
|  | 14 | Q X | 
|---|
|  | 15 | ; | 
|---|
|  | 16 | ENMRN(X) ; med route name | 
|---|
|  | 17 | ; X - pointer to Medication Route (51.2) file | 
|---|
|  | 18 | N Y I $G(X)="" Q "NOT FOUND" | 
|---|
|  | 19 | I X S Y=$G(^PS(51.2,X,0)),Y=$S($P(Y,"^",3)]"":$P(Y,"^",3),1:$P(Y,"^")) S:Y="" Y=X_";PS(51.2," Q Y | 
|---|
|  | 20 | Q X | 
|---|
|  | 21 | ; | 
|---|
|  | 22 | ENMRA(X) ; Med Route Abbrev. | 
|---|
|  | 23 | Q $P($G(^PS(51.2,X,0)),U,3) | 
|---|
|  | 24 | ; | 
|---|
|  | 25 | ENNPN(X) ; new person name | 
|---|
|  | 26 | ; X - pointer to New Person (200) file | 
|---|
|  | 27 | N Y I $G(X)="" Q "NOT FOUND" | 
|---|
|  | 28 | I X S Y=$P($G(^VA(200,X,0)),"^") S:Y="" Y=X_";VA(200," Q Y | 
|---|
|  | 29 | Q X | 
|---|
|  | 30 | ; | 
|---|
|  | 31 | ENSTN(X) ; schedule type name | 
|---|
|  | 32 | ; X - Schedule Type code | 
|---|
|  | 33 | S X=$S($G(X)="":"NOT FOUND",X="C":"CONTINUOUS",X="O":"ONE TIME",X="OC":"ON CALL",X="P":"PRN",X="R":"FILL on REQUEST",1:X) | 
|---|
|  | 34 | Q X | 
|---|
|  | 35 | ; | 
|---|
|  | 36 | ENDTC(Y) ; FM internal date/time to user readable, Inpatient style | 
|---|
|  | 37 | ; Y - date in FileMan internal format | 
|---|
|  | 38 | I $G(Y) S Y=Y_$E(".",Y'[".")_"0000" Q $E(Y,4,5)_"/"_$E(Y,6,7)_"/"_$E(Y,2,3)_"  "_$E(Y,9,10)_":"_$E(Y,11,12) | 
|---|
|  | 39 | Q "********" | 
|---|
|  | 40 | ; | 
|---|
|  | 41 | ENDTC1(Y) ; FM internal date/time to user readable, only 1 space before time. | 
|---|
|  | 42 | ; Y - date in FileMan internal format | 
|---|
|  | 43 | I $G(Y) S Y=Y_$E(".",Y'[".")_"0000" Q $E(Y,4,5)_"/"_$E(Y,6,7)_"/"_$E(Y,2,3)_" "_$E(Y,9,10)_":"_$E(Y,11,12) | 
|---|
|  | 44 | Q "********" | 
|---|
|  | 45 | ENDD(Y) ; FM internal date/time to user readable - stolen from ^DD("DD") | 
|---|
|  | 46 | ; Y - date in FileMan internal format | 
|---|
|  | 47 | S:$G(Y) Y=$S($E(Y,4,5):$P("JAN^FEB^MAR^APR^MAY^JUN^JUL^AUG^SEP^OCT^NOV^DEC","^",+$E(Y,4,5))_" ",1:"")_$S($E(Y,6,7):+$E(Y,6,7)_",",1:"")_($E(Y,1,3)+1700)_$P("@"_$E(Y_0,9,10)_":"_$E(Y_"000",11,12)_$S($E(Y,13,14):":"_$E(Y_0,13,14),1:""),"^",Y[".") | 
|---|
|  | 48 | Q Y | 
|---|
|  | 49 | ; | 
|---|
|  | 50 | ENPDS(Y,CODES) ; look-up screen for primary drugs | 
|---|
|  | 51 | ; CODES - set of codes separated by commas | 
|---|
|  | 52 | ; Y - pointer to the Primary Drug (50.3) file | 
|---|
|  | 53 | N ND,X,Z I 0 | 
|---|
|  | 54 | S ND=$G(^PS(50.7,+Y,0)) | 
|---|
|  | 55 | Q $S($P(ND,U,4)>DT:1,1:0) | 
|---|
|  | 56 | F Z=1:1:$L(CODES,",") S X=$P(CODES,",",Z) Q:X=""  I $D(^PS(50.3,Y,1,"AFI",X))'[0 S ND=$G(^(X)) I $S('$P(ND,"^",2):1,1:$P(ND,"^",2)>DT) Q | 
|---|
|  | 57 | Q $T | 
|---|
|  | 58 | ; | 
|---|
|  | 59 | ENLU(X) ; convert lower case to upper case | 
|---|
|  | 60 | Q $TR(X,"abcdefghijklmnopqrstuvwxyz","ABCDEFGHIJKLMNOPQRSTUVWXYZ") | 
|---|
|  | 61 | ; | 
|---|
|  | 62 | ENUL(X) ; convert upper case to lower case | 
|---|
|  | 63 | Q $TR(X,"ABCDEFGHIJKLMNOPQRSTUVWXYZ","abcdefghijklmnopqrstuvwxyz") | 
|---|