1 | RMPRPI03 ;HINCIO/ODJ - PIP Report APIs ;3/8/01
|
---|
2 | ;;3.0;PROSTHETICS;**61**;Feb 09, 1996
|
---|
3 | Q
|
---|
4 | ;
|
---|
5 | ; THIS - returns a ^TMP array structured as follows:-
|
---|
6 | ; ^TMP($J,N,H,I,S)=data (^ delimiter)
|
---|
7 | ;
|
---|
8 | ; where N = ^TMP array name (eg. RMPRPI03)
|
---|
9 | ; H = HCPCS code (eg. L5000)
|
---|
10 | ; A = Item name
|
---|
11 | ; I = Item number (eg. 1)
|
---|
12 | ; S = Sequence (1,2,etc)
|
---|
13 | ;
|
---|
14 | ; data pc 1 = Date
|
---|
15 | ; 2 = Time
|
---|
16 | ; 3 = Opening Balance
|
---|
17 | ; 4 = Closing Balance
|
---|
18 | ; 5 = Quantity
|
---|
19 | ; 6 = Value
|
---|
20 | ; 7 = Transaction Type desc.
|
---|
21 | ; 8 = Patient Name (if patient issue, else null)
|
---|
22 | ; 9 = Patient SSN (if patient issue, else null)
|
---|
23 | ; 10 = User name
|
---|
24 | ;
|
---|
25 | THIS(RMPRNM,RMPRSTN,RMPRSDT,RMPREDT,RMPRHCPC) ;
|
---|
26 | N RMPRERR,RMPRH,RMPR,RMPROLD,RMPREOF,RMPRE,RMPR11
|
---|
27 | N RMPROBAL,RMPRCBAL,RMPRSEQ,RMPRRX,RMPRFMDT,RMPR60,RMPR69
|
---|
28 | N VA,VADM,DFN
|
---|
29 | S RMPRERR=0
|
---|
30 | I $G(RMPRNM)="" S RMPRNM="RMPRPI03"
|
---|
31 | I $G(RMPRSTN)="" S RMPRERR=1 G THISX
|
---|
32 | I '$D(RMPRHCPC) S RMPRHCPC="*"
|
---|
33 | K ^TMP($J,RMPRNM)
|
---|
34 | S RMPRH=""
|
---|
35 | THIS1 S RMPRH=$O(RMPRHCPC(RMPRH))
|
---|
36 | I RMPRH="" G THISX
|
---|
37 | K RMPR
|
---|
38 | S RMPR("HCPCS")=RMPRH
|
---|
39 | THIS1A S RMPR("DATE&TIME")=RMPRSDT
|
---|
40 | S RMPRERR=$$SRCH^RMPRPIXA(.RMPR,"XHDS","DATE&TIME",1,,.RMPREOF)
|
---|
41 | I RMPRERR G THISX
|
---|
42 | I RMPREOF G THIS1
|
---|
43 | I $G(RMPRHCPC)'="*",RMPR("HCPCS")'=RMPRH G THIS1
|
---|
44 | THIS2 S RMPRERR=$$NEXT^RMPRPIXA(.RMPR,"XHDS","",1,.RMPROLD,.RMPREOF)
|
---|
45 | I RMPRERR G THISX
|
---|
46 | I RMPREOF G THISX
|
---|
47 | I RMPROLD("HCPCS")'=RMPR("HCPCS") G:$G(RMPRHCPC)'="*" THIS1 G THIS1A
|
---|
48 | I RMPR("DATE")>RMPREDT G:$G(RMPRHCPC)="*" THIS3 G THIS1
|
---|
49 | S RMPRFMDT=RMPR("DATE")
|
---|
50 | K RMPRE
|
---|
51 | M RMPRE=RMPR
|
---|
52 | S RMPRERR=$$GET^RMPRPIX6(.RMPRE)
|
---|
53 | I RMPRERR G THISX
|
---|
54 | S RMPRERR=$$STNIEN^RMPRPIX6(.RMPRE)
|
---|
55 | I RMPRERR G THISX
|
---|
56 | I RMPRE("STATION IEN")'=RMPRSTN G THIS2
|
---|
57 | K RMPR11
|
---|
58 | S RMPR11("STATION")=RMPRSTN
|
---|
59 | S RMPR11("HCPCS")=RMPR("HCPCS")
|
---|
60 | S RMPR11("ITEM")=RMPRE("ITEM")
|
---|
61 | S RMPRERR=$$GET^RMPRPIX1(.RMPR11)
|
---|
62 | I '$D(RMPR11("DESCRIPTION")) S RMPR11("DESCRIPTION")="NO DESCRIPTION"
|
---|
63 | S RMPRSEQ=$O(^TMP($J,RMPRNM,RMPR("HCPCS"),RMPR11("DESCRIPTION"),RMPRE("ITEM"),""),-1)
|
---|
64 | I RMPRSEQ'="" D
|
---|
65 | . S RMPROBAL=$P(^TMP($J,RMPRNM,RMPR("HCPCS"),RMPR11("DESCRIPTION"),RMPRE("ITEM"),RMPRSEQ),"^",4)
|
---|
66 | . Q
|
---|
67 | E D
|
---|
68 | . K RMPRRX
|
---|
69 | . S RMPRRX("STA")=RMPRSTN
|
---|
70 | . S RMPRRX("HCP")=RMPR("HCPCS")
|
---|
71 | . S RMPRRX("ITE")=RMPRE("ITEM")
|
---|
72 | . S RMPRRX("RDT")=RMPRSDT
|
---|
73 | . S RMPROBAL=$$SQTY^RMPRPIXJ(.RMPRRX)
|
---|
74 | . Q
|
---|
75 | S RMPRERR=$$TFLOW^RMPRPIX6(.RMPRE)
|
---|
76 | I RMPRE("TRAN FLOW")="+" D
|
---|
77 | . S RMPRCBAL=RMPROBAL+RMPRE("QUANTITY")
|
---|
78 | . Q
|
---|
79 | I RMPRE("TRAN FLOW")="-" D
|
---|
80 | . S RMPRCBAL=RMPROBAL-RMPRE("QUANTITY")
|
---|
81 | . Q
|
---|
82 | I RMPRE("TRAN FLOW")="=" D
|
---|
83 | . K RMPR69
|
---|
84 | . S RMPR69("TRANS IEN")=RMPRE("IEN")
|
---|
85 | . S RMPRERR=$$GET^RMPRPIXB(.RMPR69)
|
---|
86 | . I '$D(RMPR69("GAIN/LOSS")) S (RMPRE("QUANTITY"),RMPRE("VALUE"),RMPROBAL,RMPRCBAL)=0 Q
|
---|
87 | . S RMPRCBAL=RMPROBAL+RMPR69("GAIN/LOSS")
|
---|
88 | . S RMPRE("QUANTITY")=RMPR69("GAIN/LOSS")
|
---|
89 | . S RMPRE("VALUE")=RMPR69("GAIN/LOSS VALUE")
|
---|
90 | . Q
|
---|
91 | I RMPRE("TRAN FLOW")="" D
|
---|
92 | . S RMPRCBAL=RMPROBAL
|
---|
93 | . Q
|
---|
94 | S RMPRSTR=""
|
---|
95 | S $P(RMPRSTR,"^",1)=$E(RMPRFMDT,4,5)_"/"_$E(RMPRFMDT,6,7)_"/"_$E(RMPRFMDT,2,3)
|
---|
96 | S $P(RMPRSTR,"^",2)=RMPRE("TIME")
|
---|
97 | S $P(RMPRSTR,"^",3)=RMPROBAL
|
---|
98 | S $P(RMPRSTR,"^",4)=RMPRCBAL
|
---|
99 | S $P(RMPRSTR,"^",5)=RMPRE("QUANTITY")
|
---|
100 | S $P(RMPRSTR,"^",6)=RMPRE("VALUE")
|
---|
101 | S $P(RMPRSTR,"^",7)=RMPRE("TRAN TYPE")
|
---|
102 | S $P(RMPRSTR,"^",10)=RMPRE("USER")
|
---|
103 | K RMPR60
|
---|
104 | S RMPRERR=$$IEN60^RMPRPIX6(.RMPRE,.RMPR60)
|
---|
105 | I 'RMPRERR,$G(RMPR60("IEN"))'="" D
|
---|
106 | . S DFN=$P($G(^RMPR(660,RMPR60("IEN"),0)),"^",2)
|
---|
107 | . D DEM^VADPT
|
---|
108 | . S $P(RMPRSTR,"^",8)=$G(VADM(1))
|
---|
109 | . S $P(RMPRSTR,"^",9)=$P($G(VADM(2)),"^",2)
|
---|
110 | . Q
|
---|
111 | S ^TMP($J,RMPRNM,RMPR("HCPCS"),RMPR11("DESCRIPTION"),RMPRE("ITEM"),RMPRSEQ+1)=RMPRSTR
|
---|
112 | G THIS2
|
---|
113 | THIS3 S RMPRERR=$$NEXT^RMPRPIXA(.RMPR,"XHDS","HCPCS",1,.RMPROLD,.RMPREOF)
|
---|
114 | I RMPREOF G THISX
|
---|
115 | G THIS1A
|
---|
116 | THISX Q RMPRERR
|
---|