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