1 | PSJBCMA2 ;BIR/MV-RETURN INPATIENT ACTIVITY LOG ;16 Mar 99 / 11:43 AM
|
---|
2 | ;;5.0; INPATIENT MEDICATIONS ;**32,41,54,56,81**;16 DEC 97
|
---|
3 | ;
|
---|
4 | ;Reference to ^PS(55 is supported by DBIA 2191
|
---|
5 | ;
|
---|
6 | EN(DFN,ON,PSJTMP) ;
|
---|
7 | NEW X,Y
|
---|
8 | S PSJINX=0
|
---|
9 | S PSJTMP=$S($G(PSJTMP)=1:"PSJ2",1:"PSJ")
|
---|
10 | I $G(ON)["U",$D(^PS(55,+$G(DFN),5,+ON)) D UD
|
---|
11 | I $G(ON)["V",$D(^PS(55,+$G(DFN),"IV",+ON)) D IV
|
---|
12 | I '$D(^TMP(PSJTMP,$J,0)) S ^(0)=-1
|
---|
13 | K PSJINX
|
---|
14 | Q
|
---|
15 | UD ;Get Activity Log for Unit Dose order.
|
---|
16 | F PSJAL=0:0 S PSJAL=$O(^PS(55,DFN,5,+ON,9,PSJAL)) Q:'PSJAL D
|
---|
17 | . S X=$G(^PS(55,DFN,5,+ON,9,PSJAL,0))
|
---|
18 | . S PSJ("DATE")=$P(X,U)
|
---|
19 | . S (PSJ("USER"),PSJ("UIEN"))=$P(X,U,2),PSJ("FIELD")=$P(X,U,4)
|
---|
20 | . S PSJ("OLD DATA")=$P(X,U,5)
|
---|
21 | . S PSJ("ACTION")=$P($G(^PS(53.3,+$P(X,U,3),0)),U)
|
---|
22 | . D TMP K PSJ
|
---|
23 | K PSJAL
|
---|
24 | Q
|
---|
25 | IV ;Get Activity Log for IV order.
|
---|
26 | F PSJAL=0:0 S PSJAL=$O(^PS(55,DFN,"IV",+ON,"A",PSJAL)) Q:'PSJAL D
|
---|
27 | . K PSJ,PSJDD
|
---|
28 | . S X=$G(^PS(55,DFN,"IV",+ON,"A",PSJAL,0))
|
---|
29 | . S PSJ("DATE")=$P(X,U,5)
|
---|
30 | . S PSJ("ACTION")=$P(X,U,2) Q:PSJ("ACTION")="F"
|
---|
31 | . S PSJ("USER")=$P(X,U,3)
|
---|
32 | . S PSJ("REASON")=$P(X,U,4)
|
---|
33 | . S PSJ("ACTION")=$$CODES^PSIVUTL(PSJ("ACTION"),55.04,.02)
|
---|
34 | . S PSJ("UIEN")=$P(X,U,6)
|
---|
35 | . I $O(^PS(55,DFN,"IV",+ON,"A",PSJAL,1,0))="" D TMP
|
---|
36 | . F PSJFC=0:0 S PSJFC=$O(^PS(55,DFN,"IV",+ON,"A",PSJAL,1,PSJFC)) Q:'PSJFC D
|
---|
37 | .. S X=$G(^PS(55,DFN,"IV",+ON,"A",PSJAL,1,PSJFC,0))
|
---|
38 | .. K PSJ("FIELD"),PSJ("OLD DATA")
|
---|
39 | .. S PSJ("FIELD")=$P(X,U)
|
---|
40 | .. S PSJ("OLD DATA")=$P(X,U,2)
|
---|
41 | .. D TMP
|
---|
42 | K PSJ,PSJAL,PSJFC
|
---|
43 | Q
|
---|
44 | TMP ;Setup ^TMP
|
---|
45 | S PSJINX=PSJINX+1
|
---|
46 | I +PSJ("USER") D NAME^PSJBCMA1(+PSJ("USER"),.X,"") S PSJ("USER")=X
|
---|
47 | S ^TMP(PSJTMP,$J,0)=DFN_U_+ON_U_ON_U_PSJINX
|
---|
48 | S ^TMP(PSJTMP,$J,PSJINX,1)=PSJ("DATE")_U_PSJ("USER")_U_$G(PSJ("FIELD"))_U_PSJ("ACTION")_U_$G(PSJ("UIEN"))
|
---|
49 | S:$G(PSJ("OLD DATA"))]"" ^TMP(PSJTMP,$J,PSJINX,2)=PSJ("OLD DATA")
|
---|
50 | S:$G(PSJ("REASON"))]"" ^TMP(PSJTMP,$J,PSJINX,3)=PSJ("REASON")
|
---|
51 | Q
|
---|
52 | GETFLD ;
|
---|
53 | N X D FIELD^DID(55.04,.02,"","POINTER","PSJDD") Q
|
---|