| [613] | 1 | PSS55MIS ;BIR/TSS - API FOR VARIOUS DATA FROM PHARMACY PATIENT FILE; 5 Sep 03 | 
|---|
|  | 2 | ;;1.0;PHARMACY DATA MANAGEMENT;**112**;9/30/97;Build 30 | 
|---|
|  | 3 | STATUS(PSSFILE,PSSFIELD,LIST) ; | 
|---|
|  | 4 | ;PSSFILE - FILE NUMBER (VALIDATED AGAINST "FILES" LINE-TAG BELOW) | 
|---|
|  | 5 | ;PSSFIELD - FIELD NUMBER FROM FILE | 
|---|
|  | 6 | ;LIST - NAME OF LOCAL ARRAY RETURNED | 
|---|
|  | 7 | ;Returns the set of codes valid for the status field | 
|---|
|  | 8 | S PSSDIY="" | 
|---|
|  | 9 | Q:'$G(PSSFILE)  Q:'$G(PSSFIELD)  Q:$G(LIST)="" | 
|---|
|  | 10 | N PSSTEST S PSSTEST=$$VALID(PSSFILE,PSSFIELD) | 
|---|
|  | 11 | I PSSTEST'>0 S PSSDIY=-1 Q | 
|---|
|  | 12 | D FIELD^DID(PSSFILE,PSSFIELD,"","POINTER",LIST) Q | 
|---|
|  | 13 | VALID(PSTFILE,PSTFIELD) ;TEST FOR VALID DATA INPUT FOR PSOFILE AND DIC | 
|---|
|  | 14 | N PSVLOOP,PSVTEST,PSVALID S PSVALID=-1 | 
|---|
|  | 15 | F PSVLOOP=1:1 S PSVTEST=$P($T(FILES+PSVLOOP),";;",2)_";;"_$P($T(FILES+PSVLOOP),";;",3) Q:$G(PSVTEST)'>0!(PSVALID=1)  D | 
|---|
|  | 16 | .I PSTFILE=$P(PSVTEST,";;",1) D  Q | 
|---|
|  | 17 | ..I PSTFIELD=$P(PSVTEST,";;",2) S PSVALID=1 | 
|---|
|  | 18 | Q PSVALID | 
|---|
|  | 19 | ; | 
|---|
|  | 20 | FILES ;ACCESS FILE LIST | 
|---|
|  | 21 | ;;55.06;;28 | 
|---|
|  | 22 | ;;55.01;;100 | 
|---|
|  | 23 | ;;55.05;;5 | 
|---|
|  | 24 | Q | 
|---|
|  | 25 | CLINIC(PSSORD,PSSDFN,PSSMED) ; | 
|---|
|  | 26 | ;PSSORD - ORDER NUMBER | 
|---|
|  | 27 | ;PSSDFN - DFN NUMBER | 
|---|
|  | 28 | ;PSSMED - MED TYPE: "U" FOR UNIT DOSE, "I" FOR IV | 
|---|
|  | 29 | N PSSOUT S PSSOUT="" | 
|---|
|  | 30 | Q:'PSSORD | 
|---|
|  | 31 | Q:'PSSDFN | 
|---|
|  | 32 | Q:$G(PSSMED)="" | 
|---|
|  | 33 | S PSSIEN=PSSORD_","_PSSDFN | 
|---|
|  | 34 | K ^TMP($J,"TEMP") | 
|---|
|  | 35 | ;DMS TEST CASES FOR UNIT DOSE: 73,739 | 
|---|
|  | 36 | ;TEST CASES FOR IV: 6,1 | 
|---|
|  | 37 | I PSSMED="U" D | 
|---|
|  | 38 | .D GETS^DIQ(55.06,PSSIEN,"130","IE","^TMP($J,""TEMP"")") | 
|---|
|  | 39 | .I $G(^TMP($J,"TEMP",55.06,PSSIEN_",",130,"I"))'="" S PSSOUT=$G(^TMP($J,"TEMP",55.06,PSSIEN_",",130,"I"))_"^"_$G(^TMP($J,"TEMP",55.06,PSSIEN_",",130,"E")) | 
|---|
|  | 40 | I PSSMED="I" D | 
|---|
|  | 41 | .D GETS^DIQ(55.01,PSSIEN,"136","IE","^TMP($J,""TEMP"")") | 
|---|
|  | 42 | .I $G(^TMP($J,"TEMP",55.01,PSSIEN_",",136,"I"))'="" S PSSOUT=$G(^TMP($J,"TEMP",55.01,PSSIEN_",",136,"I"))_"^"_$G(^TMP($J,"TEMP",55.01,PSSIEN_",",136,"E")) | 
|---|
|  | 43 | K ^TMP($J,"TEMP") | 
|---|
|  | 44 | Q PSSOUT | 
|---|
|  | 45 | ; | 
|---|