| 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 |  ;
 | 
|---|