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