1 | ORDV07 ;SLC/DAN/KER - OE/RR Report extracts ; 01/09/2003
|
---|
2 | ;;3.0;ORDER ENTRY/RESULTS REPORTING;**109,120,159**;Dec 17,1997
|
---|
3 | ;
|
---|
4 | ; External References
|
---|
5 | ; DBIA 10112 $$SITE^VASITE
|
---|
6 | ; DBIA 10061 4^VADPT
|
---|
7 | ; DBIA 10061 OAD^VADPT
|
---|
8 | ; DBIA 10145 ALL^IBCNS1
|
---|
9 | ; DBIA 767 ^DGSL(38.1,
|
---|
10 | ; DBIA 1407 ^FHWHEA
|
---|
11 | ; DBIA 3818 ICDS^GMTSDGP
|
---|
12 | ; DBIA 3818 ICDP^GMTSDGP
|
---|
13 | ; DBIA 418 ^DGPT("B"
|
---|
14 | ; DBIA 794 ^DIC(36,
|
---|
15 | ; DBIA 951 ^IBE(355.1,
|
---|
16 | ;
|
---|
17 | ;Dietetics components
|
---|
18 | DIETA(ROOT,ORALPHA,OROMEGA,ORMAX,ORDBEG,ORDEND,OREXT) ;All diet
|
---|
19 | N ORTYPE S ORTYPE="DI" D DIET Q
|
---|
20 | DIETN(ROOT,ORALPHA,OROMEGA,ORMAX,ORDBEG,ORDEND,OREXT) ;Nutritional Status
|
---|
21 | N ORTYPE S ORTYPE="NS" D DIET Q
|
---|
22 | DIETS(ROOT,ORALPHA,OROMEGA,ORMAX,ORDBEG,ORDEND,OREXT) ;Supplemental Feedings
|
---|
23 | N ORTYPE S ORTYPE="SF" D DIET Q
|
---|
24 | DIETT(ROOT,ORALPHA,OROMEGA,ORMAX,ORDBEG,ORDEND,OREXT) ;Tube feedings
|
---|
25 | N ORTYPE S ORTYPE="TF" D DIET Q
|
---|
26 | ;
|
---|
27 | DIET ;Main diet entry point
|
---|
28 | ;External calls to FHWHEA and SITE^VASITE
|
---|
29 | ;Data returned in ^TMP("ORDATA",$J) by type:
|
---|
30 | ; ALL=Facility^Start Date^End Date^Diet^Comment^Service(tray,dining room, etc)
|
---|
31 | ; Nutritional Status=Facility^Status Date^Status
|
---|
32 | ; Supplemental Feeding=Facility^Date Ordered^Date Canceled^10am feeding^2pm feeding^8pm feeding
|
---|
33 | ; Tubefeeding=Facility^Date Ordered^Date Canceled^Product^Strength^Quantity^Daily CCs^Daily KCal^Comment
|
---|
34 | ;
|
---|
35 | N GMTS1,GMTS2,GMTSNDM,ORSITE,SITE,ORDT
|
---|
36 | S GMTS1=OROMEGA-.24,GMTS2=ORALPHA,GMTSNDM=ORMAX
|
---|
37 | K ^TMP("ORDATA",$J)
|
---|
38 | D ^FHWHEA ;get all diet information. Returned in ^UTILITY($J)
|
---|
39 | Q:'$D(^UTILITY($J,ORTYPE)) ;no data to report for type selected
|
---|
40 | S ORSITE=$$SITE^VASITE,ORSITE=$P(ORSITE,"^",2)_";"_$P(ORSITE,"^",3)
|
---|
41 | S ORDT=0
|
---|
42 | F S ORDT=$O(^UTILITY($J,ORTYPE,ORDT)) Q:ORDT="" D
|
---|
43 | . S SITE=$S($L($G(^UTILITY($J,ORTYPE,ORDT,"facility"))):^("facility"),1:ORSITE)
|
---|
44 | . S ^TMP("ORDATA",$J,ORDT,"WP",1)="1^"_SITE ;Station ID
|
---|
45 | . S ^TMP("ORDATA",$J,ORDT,"WP",2)="2^"_$$DATE^ORDVU($P(^UTILITY($J,ORTYPE,ORDT,0),"^")) ;date
|
---|
46 | . S ^TMP("ORDATA",$J,ORDT,"WP",3)="3^"_$S(ORTYPE="NS":$P(^UTILITY($J,ORTYPE,ORDT,0),"^",2),1:$$DATE^ORDVU($P(^UTILITY($J,ORTYPE,ORDT,0),"^",2)))
|
---|
47 | . Q:ORTYPE="NS" ;no more data required for NS
|
---|
48 | . S ^TMP("ORDATA",$J,ORDT,"WP",4)="4^"_$P(^UTILITY($J,ORTYPE,ORDT,0),"^",3)
|
---|
49 | . S ^TMP("ORDATA",$J,ORDT,"WP",5)="5^"_$P(^UTILITY($J,ORTYPE,ORDT,0),"^",4)
|
---|
50 | . S ^TMP("ORDATA",$J,ORDT,"WP",6)="6^"_$P(^UTILITY($J,ORTYPE,ORDT,0),"^",5)
|
---|
51 | . Q:ORTYPE'="TF"
|
---|
52 | . ;Get remaining data for tube feedings
|
---|
53 | . S ^TMP("ORDATA",$J,ORDT,"WP",7)="7^"_$P(^UTILITY($J,ORTYPE,ORDT,0),"^",6)
|
---|
54 | . S ^TMP("ORDATA",$J,ORDT,"WP",8)="8^"_$P(^UTILITY($J,ORTYPE,ORDT,0),"^",7)
|
---|
55 | . S ^TMP("ORDATA",$J,ORDT,"WP",9)="9^"_$P(^UTILITY($J,ORTYPE,ORDT,0),"^",8)
|
---|
56 | K ^UTILITY($J)
|
---|
57 | S ROOT=$NA(^TMP("ORDATA",$J))
|
---|
58 | Q
|
---|
59 | ;
|
---|
60 | DEM(ROOT,ORALPHA,OROMEGA,ORMAX,ORDBEG,ORDEND,OREXT) ; ADT Demographics
|
---|
61 | ; External calls to VASITE, VADPT, and ^DGSL(38.1
|
---|
62 | N VADM,VAPA,VAOA,ORSITE,SITE,I,ORDAT,ORETHN,ORRACE S (ORETHN,ORRACE)=""
|
---|
63 | K ^TMP("ORDATA",$J)
|
---|
64 | D 4^VADPT,OAD^VADPT
|
---|
65 | ; Quit if error in data gathering, otherwise get
|
---|
66 | ; demographic/address information as well as next
|
---|
67 | ; of kin addres
|
---|
68 | Q:VAERR
|
---|
69 | S ORSITE=$$SITE^VASITE,ORSITE=$P(ORSITE,"^",2)_";"_$P(ORSITE,"^",3)
|
---|
70 | S SITE=ORSITE
|
---|
71 | ; 1 Site
|
---|
72 | S ^TMP("ORDATA",$J,1,"WP",1)="1^"_SITE
|
---|
73 | ; 2 Patient Name
|
---|
74 | S ^TMP("ORDATA",$J,1,"WP",2)="2^"_VADM(1)
|
---|
75 | ; 3 SSN
|
---|
76 | S ^TMP("ORDATA",$J,1,"WP",3)="3^"_$P(VADM(2),"^")
|
---|
77 | ; 4 Sex
|
---|
78 | S ^TMP("ORDATA",$J,1,"WP",4)="4^"_$P(VADM(5),"^",2)
|
---|
79 | ; 5 Date of Birth
|
---|
80 | S ^TMP("ORDATA",$J,1,"WP",5)="5^"_$$DATE^ORDVU($P(VADM(3),"^"))
|
---|
81 | ; 6 Religion
|
---|
82 | S ^TMP("ORDATA",$J,1,"WP",6)="6^"_$P(VADM(9),"^",2)
|
---|
83 | ; 7 Marital Status
|
---|
84 | S ^TMP("ORDATA",$J,1,"WP",7)="7^"_$P(VADM(10),"^",2)
|
---|
85 | ; 8 Phone Number
|
---|
86 | S ^TMP("ORDATA",$J,1,"WP",8)="8^"_VAPA(8)
|
---|
87 | ; 9 Street Address (1-3), City, State, and ZIP
|
---|
88 | S ^TMP("ORDATA",$J,1,"WP",9,1)="9^"_VAPA(1) I $P(^(1),"^",2)="" K ^(1)
|
---|
89 | S ^TMP("ORDATA",$J,1,"WP",9,2)="9^"_VAPA(2) I $P(^(2),"^",2)="" K ^(2)
|
---|
90 | S ^TMP("ORDATA",$J,1,"WP",9,3)="9^"_VAPA(3) I $P(^(3),"^",2)="" K ^(3)
|
---|
91 | S ^TMP("ORDATA",$J,1,"WP",9,4)="9^"_VAPA(4)_$S($G(VAPA(4))'="":", ",1:"")_$P(VAPA(5),"^",2)_" "_VAPA(6)
|
---|
92 | ; 11 Ethnicity
|
---|
93 | S I=0 F S I=$O(VADM(11,I)) Q:+I=0 D
|
---|
94 | . S ORDAT=$P(VADM(11,I),"^",2) Q:'$L(ORDAT)
|
---|
95 | . S ORETHN=$G(ORETHN)_", "_ORDAT
|
---|
96 | . S ^TMP("ORDATA",$J,1,"WP",11,I)="11^"_ORDAT
|
---|
97 | ; 10 Race
|
---|
98 | S:$L(ORETHN) ^TMP("ORDATA",$J,1,"WP",10,1)="10^"
|
---|
99 | S I=0 F S I=$O(VADM(12,I)) Q:+I=0 D
|
---|
100 | . S ORDAT=$P($G(VADM(12,I)),"^",2) Q:'$L(ORDAT)
|
---|
101 | . S ORRACE=$G(ORRACE)_", "_ORDAT
|
---|
102 | . S ^TMP("ORDATA",$J,1,"WP",10,I)="10^"_ORDAT
|
---|
103 | S ORRACE=$P(ORRACE,", ",2,$L(ORRACE,", "))
|
---|
104 | I '$L($P($G(^TMP("ORDATA",$J,1,"WP",11,1)),"^",2)) D
|
---|
105 | . I '$L($P($G(^TMP("ORDATA",$J,1,"WP",10,1)),"^",2)) D
|
---|
106 | . . S ^TMP("ORDATA",$J,1,"WP",11,1)="11^"
|
---|
107 | . . S ^TMP("ORDATA",$J,1,"WP",10,1)="10^"_$P($G(VADM(8)),"^",2)
|
---|
108 | S ORETHN=$P(ORETHN,", ",2,$L(ORETHN,", "))
|
---|
109 | ; 12 Next of Kin
|
---|
110 | S ^TMP("ORDATA",$J,1,"WP",12)="12^"_VAOA(9)
|
---|
111 | ; 13 Next of Kin Relationship
|
---|
112 | S ^TMP("ORDATA",$J,1,"WP",13)="13^"_VAOA(10)
|
---|
113 | ; 14 NOK Street Address (1-3), City, State, and ZIP
|
---|
114 | S ^TMP("ORDATA",$J,1,"WP",14,1)="14^"_VAOA(1) I $P(^(1),"^",2)="" K ^(1)
|
---|
115 | S ^TMP("ORDATA",$J,1,"WP",14,2)="14^"_VAOA(2) I $P(^(2),"^",2)="" K ^(2)
|
---|
116 | S ^TMP("ORDATA",$J,1,"WP",14,3)="14^"_VAOA(3) I $P(^(3),"^",2)=""
|
---|
117 | S ^TMP("ORDATA",$J,1,"WP",14,4)="14^"_VAOA(4)_$S($G(VAOA(4))'="":", ",1:"")_$P(VAOA(5),"^",2)_" "_VAOA(6)
|
---|
118 | ; 15 Security Log
|
---|
119 | S ^TMP("ORDATA",$J,1,"WP",15)="15^"_$S($P($G(^DGSL(38.1,DFN,0)),"^",2):"YES",1:"NO")
|
---|
120 | S ROOT=$NA(^TMP("ORDATA",$J))
|
---|
121 | Q
|
---|
122 | ICDSUR(ROOT,ORALPHA,OROMEGA,ORMAX,ORDBEG,ORDEND,OREXT) ;Return ICD Surgery Information
|
---|
123 | ;External calls to VASITE, GMTSDGP
|
---|
124 | N ORSITE,SITE,T1,T2,I,J,GMS,PTF,ORDATE
|
---|
125 | K ^TMP("ORDATA",$J)
|
---|
126 | S T1=ORDEND,T2=ORDBEG,ORSITE=$$SITE^VASITE,ORSITE=$P(ORSITE,"^",2)_";"_$P(ORSITE,"^",3)
|
---|
127 | F PTF=0:0 S PTF=$O(^DGPT("B",DFN,PTF)) Q:PTF="" D ICDS^GMTSDGP
|
---|
128 | S (I,ORDATE)=0
|
---|
129 | F S ORDATE=$O(GMS(ORDATE)) Q:ORDATE=""!(I'<ORMAX) S J=0 D
|
---|
130 | . F S J=$O(GMS(ORDATE,J)) Q:'J!(I'<ORMAX) S I=I+1 D ;Check for multiple procedures on same date
|
---|
131 | .. S SITE=$S($L($G(GMS(ORDATE,J,"facility"))):^("facility"),1:ORSITE)
|
---|
132 | .. S ^TMP("ORDATA",$J,"WP",ORDATE,J,1)="1^"_SITE
|
---|
133 | .. S ^TMP("ORDATA",$J,"WP",ORDATE,J,2)="2^"_$$DATEMMM^ORDVU($P(GMS(ORDATE)," ",3)) ;Date of procedure
|
---|
134 | .. S ^TMP("ORDATA",$J,"WP",ORDATE,J,3)="3^"_$P($G(GMS(ORDATE,J)),"^") ;Surgery and code
|
---|
135 | .. S ^TMP("ORDATA",$J,"WP",ORDATE,J,4)="4^"_$P(GMS(ORDATE,J),"^",2) ;ICD code
|
---|
136 | S ROOT=$NA(^TMP("ORDATA",$J))
|
---|
137 | Q
|
---|
138 | PRC(ROOT,ORALPHA,OROMEGA,ORMAX,ORDBEG,ORDEND,OREXT) ;Return Procedure Information
|
---|
139 | ;External calls to VASITE, GMTSDGP
|
---|
140 | N ORSITE,SITE,T1,T2,I,J,GMP,PTF,ORDATE
|
---|
141 | K ^TMP("ORDATA",$J)
|
---|
142 | S T1=ORDEND,T2=ORDBEG,PTF=0,ORSITE=$$SITE^VASITE,ORSITE=$P(ORSITE,"^",2)_";"_$P(ORSITE,"^",3)
|
---|
143 | F S PTF=$O(^DGPT("B",DFN,PTF)) Q:PTF="" D ICDP^GMTSDGP
|
---|
144 | S (I,ORDATE)=0
|
---|
145 | F S ORDATE=$O(GMP(ORDATE)) Q:ORDATE=""!(I'<ORMAX) S J=0 D
|
---|
146 | . F S J=$O(GMP(ORDATE,J)) Q:'J!(I'<ORMAX) S I=I+1 D ;Check for multiple procedures on same date
|
---|
147 | .. S SITE=$S($L($G(GMP(ORDATE,J,"facility"))):^("facility"),1:ORSITE)
|
---|
148 | .. S ^TMP("ORDATA",$J,"WP",ORDATE,J,1)="1^"_SITE
|
---|
149 | .. S ^TMP("ORDATA",$J,"WP",ORDATE,J,2)="2^"_$$DATEMMM^ORDVU($P(GMP(ORDATE)," ",2)) ;Date of procedure
|
---|
150 | .. S ^TMP("ORDATA",$J,"WP",ORDATE,J,3)="3^"_$P($G(GMP(ORDATE,J)),"^") ;Procedure and code
|
---|
151 | .. S ^TMP("ORDATA",$J,"WP",ORDATE,J,4)="4^"_$P(GMP(ORDATE,J),"^",2) ;ICD code
|
---|
152 | S ROOT=$NA(^TMP("ORDATA",$J))
|
---|
153 | Q
|
---|
154 | INS(ROOT,ORALPHA,OROMEGA,ORMAX,ORDBEG,ORDEND,OREXT) ;Return Insurance Information
|
---|
155 | ;External calls to VASITE and IBCNS1 and ^DIC(36, and ^IBE(355.1
|
---|
156 | N ORSITE,SITE,ORARRAY,I
|
---|
157 | K ^TMP("ORDATA",$J)
|
---|
158 | D ALL^IBCNS1(DFN,"ORARRAY")
|
---|
159 | Q:'$D(ORARRAY) ;quit if no insurance data returned
|
---|
160 | S ORSITE=$$SITE^VASITE,ORSITE=$P(ORSITE,"^",2)_";"_$P(ORSITE,"^",3),I=0
|
---|
161 | F S I=$O(ORARRAY(I)) Q:'I D
|
---|
162 | . S SITE=$S($L($G(ORARRAY(I,"facility"))):^("facility"),1:ORSITE)
|
---|
163 | . S ^TMP("ORDATA",$J,"WP",I,1)="1^"_SITE
|
---|
164 | . S ^TMP("ORDATA",$J,"WP",I,2)="2^"_$P($G(^DIC(36,+$P(ORARRAY(I,0),"^"),0)),"^") ;Insurance company
|
---|
165 | . S ^TMP("ORDATA",$J,"WP",I,3)="3^"_$P($G(^IBE(355.1,+$P(ORARRAY(I,355.3),"^",9),0)),"^") ;Policy type
|
---|
166 | . S ^TMP("ORDATA",$J,"WP",I,4)="4^"_$P(ORARRAY(I,355.3),"^",4) ;Group number
|
---|
167 | . S ^TMP("ORDATA",$J,"WP",I,5)="5^"_$S($P(ORARRAY(I,0),"^",6)="s":"SPOUSE",$P(ORARRAY(I,0),"^",6)="v":"SELF",1:"OTHER") ;Policy holder
|
---|
168 | . S ^TMP("ORDATA",$J,"WP",I,6)="6^"_$$DATE^ORDVU($P(ORARRAY(I,0),"^",8)) ;Effective date of policy
|
---|
169 | . S ^TMP("ORDATA",$J,"WP",I,7)="7^"_$$DATE^ORDVU($P(ORARRAY(I,0),"^",4)) ;Expiration date of policy
|
---|
170 | S ROOT=$NA(^TMP("ORDATA",$J))
|
---|
171 | Q
|
---|