1 | ORDV02 ; slc/dcm - OE/RR Report Extracts ;10/8/03 11:18
|
---|
2 | ;;3.0;ORDER ENTRY/RESULTS REPORTING;**109,118,146,141,208**;Dec 17, 1997
|
---|
3 | ;LAB Components
|
---|
4 | LO(ROOT,ORALPHA,OROMEGA,ORMAX,ORDBEG,ORDEND,OREXT) ; Lab Order Component
|
---|
5 | ;External calls to ^GMTSLROE
|
---|
6 | ;
|
---|
7 | I $L($T(GCPR^OMGCOAS1)) D ; Call if FHIE station 200
|
---|
8 | . N BEG,END,MAX
|
---|
9 | . Q:'$G(ORALPHA) Q:'$G(OROMEGA)
|
---|
10 | . S MAX=$S(+$G(ORMAX)>0:ORMAX,1:999)
|
---|
11 | . S BEG=9999999-OROMEGA,END=9999999-ORALPHA
|
---|
12 | . D GCPR^OMGCOAS1(DFN,"LRO",BEG,END,MAX)
|
---|
13 | ;
|
---|
14 | N D,SN,ORX0,MAX,GMTS1,GMTS2,GMTSBEG,GMTSEND,ORSITE,SITE,GO
|
---|
15 | Q:'$L(OREXT)
|
---|
16 | S GO=$P(OREXT,";")_"^"_$P(OREXT,";",2)
|
---|
17 | Q:'$L($T(@GO))
|
---|
18 | S MAX=$S(+$G(ORMAX)>0:ORMAX,1:999),GMTS1=OROMEGA,GMTS2=ORALPHA,GMTSBEG=ORDBEG,GMTSEND=ORDEND
|
---|
19 | S ORSITE=$$SITE^VASITE,ORSITE=$P(ORSITE,"^",2)_";"_$P(ORSITE,"^",3)
|
---|
20 | K ^TMP("ORDATA",$J)
|
---|
21 | I '$L($T(GCPR^OMGCOAS1)) D
|
---|
22 | . K ^TMP("LRO",$J)
|
---|
23 | . D @GO
|
---|
24 | S (CTR,D)=0
|
---|
25 | F S D=$O(^TMP("LRO",$J,D)) Q:'D D
|
---|
26 | . S SN=0
|
---|
27 | . F S SN=$O(^TMP("LRO",$J,D,SN)) Q:'SN S ORX0=^(SN) I $L(ORX0) D
|
---|
28 | .. S SITE=$S($L($G(^TMP("LRO",$J,D,SN,"facility"))):^("facility"),1:ORSITE)
|
---|
29 | .. S ^TMP("ORDATA",$J,D,"WP",1)="1^"_SITE ;Station ID
|
---|
30 | .. S ^TMP("ORDATA",$J,D,"WP",2)="2^"_$P(ORX0,U) ;collection date
|
---|
31 | .. S ^TMP("ORDATA",$J,D,"WP",3)="3^"_$P($P(ORX0,U,2),";",2) ;test name
|
---|
32 | .. S ^TMP("ORDATA",$J,D,"WP",4)="4^"_$P($P(ORX0,U,2),";") ;test ien
|
---|
33 | .. S ^TMP("ORDATA",$J,D,"WP",5)="5^"_$P($P(ORX0,U,3),";",2) ;specimen name
|
---|
34 | .. S ^TMP("ORDATA",$J,D,"WP",6)="6^"_$P($P(ORX0,U,3),";") ;specimen ien
|
---|
35 | .. S ^TMP("ORDATA",$J,D,"WP",7)="7^"_$P(ORX0,U,4) ;urgency
|
---|
36 | .. S ^TMP("ORDATA",$J,D,"WP",8)="8^"_$P($P(ORX0,U,6),";",2) ;provider name
|
---|
37 | .. S ^TMP("ORDATA",$J,D,"WP",9)="9^"_$P($P(ORX0,U,6),";") ;provider ien
|
---|
38 | .. S ^TMP("ORDATA",$J,D,"WP",10)="10^"_$P(ORX0,U,7) ;order date/time
|
---|
39 | .. S ^TMP("ORDATA",$J,D,"WP",11)="11^"_$P(ORX0,U,8) ;accession number
|
---|
40 | .. S ^TMP("ORDATA",$J,D,"WP",12)="12^"_$P(ORX0,U,9) ;available date/time
|
---|
41 | .. S ^TMP("ORDATA",$J,D,"WP",13)="13^"_$P(ORX0,U,5) ;status
|
---|
42 | K ^TMP("LRO",$J)
|
---|
43 | S ROOT=$NA(^TMP("ORDATA",$J))
|
---|
44 | Q
|
---|
45 | CH(ROOT,ORALPHA,OROMEGA,ORMAX,ORDBEG,ORDEND,OREXT) ;Chemistry/Hematology
|
---|
46 | ;External references to ^DPT(DFN,"LR"),^LR(LRDFN, ^GMTSLRCE
|
---|
47 | ;
|
---|
48 | I $L($T(GCPR^OMGCOAS1)) D ; Call if FHIE station 200
|
---|
49 | . N BEG,END,MAX
|
---|
50 | . Q:'$G(ORALPHA) Q:'$G(OROMEGA)
|
---|
51 | . S MAX=$S(+$G(ORMAX)>0:ORMAX,1:999)
|
---|
52 | . S BEG=9999999-OROMEGA,END=9999999-ORALPHA
|
---|
53 | . D GCPR^OMGCOAS1(DFN,"LRC",BEG,END,MAX)
|
---|
54 | ;
|
---|
55 | N CTR,ORI,TST,PC,ORX0,GMCFLAG,GMCMNT,GMW,IX0,IX,LRDFN,CNT,PTR,MAX,GMTS1,GMTS2,GMTSAGE,ORSITE,SEX,SITE,GO,VA,VAIN,VAERR,VAIN,VADM
|
---|
56 | Q:'$L(OREXT)
|
---|
57 | S GO=$P(OREXT,";")_"^"_$P(OREXT,";",2)
|
---|
58 | Q:'$L($T(@GO))
|
---|
59 | S LRDFN=+$G(^DPT(DFN,"LR"))
|
---|
60 | I GO["GMTSLRCE" Q:'LRDFN
|
---|
61 | D OERR^VADPT
|
---|
62 | S GMTSAGE=$S(+VADM(4)>0:+VADM(4),1:99),SEX=$P(VADM(5),"^")
|
---|
63 | S MAX=$S(+$G(ORMAX)>0:ORMAX,1:999),GMTS1=OROMEGA,GMTS2=ORALPHA
|
---|
64 | S ORSITE=$$SITE^VASITE,ORSITE=$P(ORSITE,"^",2)_";"_$P(ORSITE,"^",3)
|
---|
65 | K ^TMP("ORDATA",$J)
|
---|
66 | I '$L($T(GCPR^OMGCOAS1)) D
|
---|
67 | . K ^TMP("LRC",$J)
|
---|
68 | . D @GO
|
---|
69 | S CTR=0,ORI=GMTS1
|
---|
70 | F S ORI=$O(^TMP("LRC",$J,ORI)) Q:'ORI!(ORI>GMTS2) D
|
---|
71 | . S TST=""
|
---|
72 | . F S TST=$O(^TMP("LRC",$J,ORI,TST)) Q:TST="" D
|
---|
73 | .. I TST S ORX0=$G(^TMP("LRC",$J,ORI,TST)) Q:ORX0="" D
|
---|
74 | ... S SITE=$S($L($G(^TMP("LRC",$J,ORI,TST,"facility"))):^("facility"),1:ORSITE)
|
---|
75 | ... S ^TMP("ORDATA",$J,ORI,TST,"WP",1)="1^"_SITE ;Station ID
|
---|
76 | ... S ^TMP("ORDATA",$J,ORI,TST,"WP",2)="2^"_$P(ORX0,U) ;collection date
|
---|
77 | ... S ^TMP("ORDATA",$J,ORI,TST,"WP",3)="3^"_$P(ORX0,U,3) ;test name
|
---|
78 | ... S ^TMP("ORDATA",$J,ORI,TST,"WP",4)="4^"_$P(ORX0,U,2) ;specimen
|
---|
79 | ... S ^TMP("ORDATA",$J,ORI,TST,"WP",5)="5^"_$P(ORX0,U,4) ;result
|
---|
80 | ... S ^TMP("ORDATA",$J,ORI,TST,"WP",6)="6^"_$P(ORX0,U,5) ;indicator
|
---|
81 | ... S ^TMP("ORDATA",$J,ORI,TST,"WP",7)="7^"_$P(ORX0,U,6) ;units
|
---|
82 | ... S ^TMP("ORDATA",$J,ORI,TST,"WP",8)="8^"_$P(ORX0,U,7) ;ref low
|
---|
83 | ... S ^TMP("ORDATA",$J,ORI,TST,"WP",9)="9^"_$P(ORX0,U,8) ;ref high
|
---|
84 | ... D SPMRG^ORDVU("^TMP(""LRC"","_$J_","_ORI_",""C"")","^TMP(""ORDATA"","_$J_","_ORI_","_TST_",""WP"",10)",10) ;comments
|
---|
85 | ... I $O(^TMP("LRC",$J,ORI,"C",0)) S ^TMP("ORDATA",$J,ORI,TST,"WP",11)="11^[+]" ;flag for details
|
---|
86 | .. S CTR=CTR+1
|
---|
87 | K ^TMP("LRC",$J)
|
---|
88 | S ROOT=$NA(^TMP("ORDATA",$J))
|
---|
89 | Q
|
---|
90 | SP(ROOT,ORALPHA,OROMEGA,ORMAX,ORDBEG,ORDEND,OREXT) ;Surgical Pathology
|
---|
91 | ;External references to ^DPT(DFN,"LR"), ^GMTSLRAE,
|
---|
92 | ;
|
---|
93 | I $L($T(GCPR^OMGCOAS1)) D ; Call if FHIE station 200
|
---|
94 | . N BEG,END,MAX
|
---|
95 | . Q:'$G(ORALPHA) Q:'$G(OROMEGA)
|
---|
96 | . S MAX=$S(+$G(ORMAX)>0:ORMAX,1:999)
|
---|
97 | . S BEG=9999999-OROMEGA,END=9999999-ORALPHA
|
---|
98 | . D GCPR^OMGCOAS1(DFN,"SP",BEG,END,MAX)
|
---|
99 | ;
|
---|
100 | N ORDT,ORX0,ORCNT,GMI,MAX,LRDFN,IX,X,IX0,GMTS1,GMTS2,ORSITE,SITE,GO
|
---|
101 | Q:'$L(OREXT)
|
---|
102 | S GO=$P(OREXT,";")_"^"_$P(OREXT,";",2)
|
---|
103 | Q:'$L($T(@GO))
|
---|
104 | S LRDFN=+$G(^DPT(DFN,"LR"))
|
---|
105 | I GO["GMTSLRAE" Q:'LRDFN
|
---|
106 | S MAX=$S(+$G(ORMAX)>0:ORMAX,1:999),GMTS1=OROMEGA,GMTS2=ORALPHA
|
---|
107 | S ORSITE=$$SITE^VASITE,ORSITE=$P(ORSITE,"^",2)_";"_$P(ORSITE,"^",3)
|
---|
108 | K ^TMP("ORDATA",$J)
|
---|
109 | I '$L($T(GCPR^OMGCOAS1)) D
|
---|
110 | . K ^TMP("LRA",$J)
|
---|
111 | . D @GO
|
---|
112 | S ORDT=GMTS1,ORCNT=0
|
---|
113 | F S ORDT=$O(^TMP("LRA",$J,ORDT)) Q:(ORDT'>0)!(ORDT>GMTS2) S ORX0=^(ORDT,0) D
|
---|
114 | . S SITE=$S($L($G(^TMP("LRA",$J,ORDT,"facility"))):^("facility"),1:ORSITE)
|
---|
115 | . S ^TMP("ORDATA",$J,ORDT,"WP",1)="1^"_SITE ;Station ID
|
---|
116 | . S ^TMP("ORDATA",$J,ORDT,"WP",2)="2^"_$P(ORX0,U) ;collection date
|
---|
117 | . S ^TMP("ORDATA",$J,ORDT,"WP",4)="4^"_$P(ORX0,U,2) ;accession number
|
---|
118 | . D SPMRG^ORDVU("^TMP(""LRA"","_$J_","_ORDT_",.1)","^TMP(""ORDATA"","_$J_","_ORDT_",""WP"",3)",3) ;specimen
|
---|
119 | . D SPMRG^ORDVU("^TMP(""LRA"","_$J_","_ORDT_",.2)","^TMP(""ORDATA"","_$J_","_ORDT_",""WP"",5)",5) ;brief Clinical Hx
|
---|
120 | . D SPMRG^ORDVU("^TMP(""LRA"","_$J_","_ORDT_",1)","^TMP(""ORDATA"","_$J_","_ORDT_",""WP"",6)",6) ;gross Description
|
---|
121 | . D SPMRG^ORDVU("^TMP(""LRA"","_$J_","_ORDT_",1.1)","^TMP(""ORDATA"","_$J_","_ORDT_",""WP"",7)",7) ;microscopic Exam
|
---|
122 | . I $D(^TMP("LRA",$J,ORDT,1.2,1,0)) S X=^(0) D
|
---|
123 | .. S ^TMP("LRA",$J,ORDT,1.2,1,0)=$$DATE^ORDVU(X)
|
---|
124 | .. D SPMRG^ORDVU("^TMP(""LRA"","_$J_","_ORDT_",1.2)","^TMP(""ORDATA"","_$J_","_ORDT_",""WP"",8)",8) ;supplemetary Report
|
---|
125 | . D SPMRG^ORDVU("^TMP(""LRA"","_$J_","_ORDT_",1.3)","^TMP(""ORDATA"","_$J_","_ORDT_",""WP"",9)",9) ;frozen Section
|
---|
126 | . D SPMRG^ORDVU("^TMP(""LRA"","_$J_","_ORDT_",1.4)","^TMP(""ORDATA"","_$J_","_ORDT_",""WP"",10)",10) ;surgical path Dx
|
---|
127 | . S ^TMP("ORDATA",$J,ORDT,"WP",11)="11^[+]" ;flag for detail
|
---|
128 | K ^TMP("LRA",$J)
|
---|
129 | S ROOT=$NA(^TMP("ORDATA",$J))
|
---|
130 | Q
|
---|
131 | CY(ROOT,ORALPHA,OROMEGA,ORMAX,ORDBEG,ORDEND,OREXT) ;Cytopathology
|
---|
132 | ;External references to ^DPT(DFN,"LR"), ^GMTSLRPE
|
---|
133 | ;
|
---|
134 | I $L($T(GCPR^OMGCOAS1)) D ; Call if FHIE station 200
|
---|
135 | . N BEG,END,MAX
|
---|
136 | . Q:'$G(ORALPHA) Q:'$G(OROMEGA)
|
---|
137 | . S MAX=$S(+$G(ORMAX)>0:ORMAX,1:999)
|
---|
138 | . S BEG=9999999-OROMEGA,END=9999999-ORALPHA
|
---|
139 | . D GCPR^OMGCOAS1(DFN,"CY",BEG,END,MAX)
|
---|
140 | ;
|
---|
141 | N ORDT,ORX0,GMI,IX0,MAX,LRDFN,IX,GMTS1,GMTS2,ORSITE,SITE,GO,ORMORE
|
---|
142 | Q:'$L(OREXT)
|
---|
143 | S GO=$P(OREXT,";")_"^"_$P(OREXT,";",2)
|
---|
144 | Q:'$L($T(@GO))
|
---|
145 | S LRDFN=+$G(^DPT(DFN,"LR"))
|
---|
146 | I GO["GMTSLRPE" Q:'LRDFN
|
---|
147 | S MAX=$S(+$G(ORMAX)>0:ORMAX,1:999),GMTS1=OROMEGA,GMTS2=ORALPHA
|
---|
148 | S ORSITE=$$SITE^VASITE,ORSITE=$P(ORSITE,"^",2)_";"_$P(ORSITE,"^",3)
|
---|
149 | K ^TMP("ORDATA",$J)
|
---|
150 | I '$L($T(GCPR^OMGCOAS1)) D
|
---|
151 | . K ^TMP("LRCY",$J)
|
---|
152 | . D @GO
|
---|
153 | S ORDT=GMTS1,ORSITE=$$SITE^VASITE,ORSITE=$P(ORSITE,"^",2)_";"_$P(ORSITE,"^",3)
|
---|
154 | F S ORDT=$O(^TMP("LRCY",$J,ORDT)) Q:(ORDT'>0)!(ORDT>GMTS2) S ORX0=$G(^(ORDT,0)) D
|
---|
155 | . S ORMORE=0,SITE=$S($L($G(^TMP("LRCY",$J,ORDT,"facility"))):^("facility"),1:ORSITE)
|
---|
156 | . S ^TMP("ORDATA",$J,ORDT,"WP",1)="1^"_SITE ;Station ID
|
---|
157 | . S ^TMP("ORDATA",$J,ORDT,"WP",2)="2^"_$P(ORX0,U) ;collection date
|
---|
158 | . S ^TMP("ORDATA",$J,ORDT,"WP",5)="5^"_$P(ORX0,U,2) ;accession number
|
---|
159 | . S ^TMP("ORDATA",$J,ORDT,"WP",4)="4^"_$$DATE^ORDVU($P($G(^TMP("LRCY",$J,ORDT,1)),U,2)) ;report release date
|
---|
160 | . I $O(^TMP("LRCY",$J,ORDT,1,0)) S ORMORE=1 D SPMRG^ORDVU("^TMP(""LRCY"","_$J_","_ORDT_",1)","^TMP(""ORDATA"","_$J_","_ORDT_",""WP"",3)",3) ;specimen
|
---|
161 | . I $O(^TMP("LRCY",$J,ORDT,"AH",0)) S ORMORE=1 D SPMRG^ORDVU("^TMP(""LRCY"","_$J_","_ORDT_",""AH"")","^TMP(""ORDATA"","_$J_","_ORDT_",""WP"",6)",6) ;brief Clinical Hx
|
---|
162 | . I $O(^TMP("LRCY",$J,ORDT,"G",0)) S ORMORE=1 D SPMRG^ORDVU("^TMP(""LRCY"","_$J_","_ORDT_",""G"")","^TMP(""ORDATA"","_$J_","_ORDT_",""WP"",7)",7) ;gross Description
|
---|
163 | . I $O(^TMP("LRCY",$J,ORDT,"MI",0)) S ORMORE=1 D SPMRG^ORDVU("^TMP(""LRCY"","_$J_","_ORDT_",""MI"")","^TMP(""ORDATA"","_$J_","_ORDT_",""WP"",8)",8) ;microscopic Exam
|
---|
164 | . I $O(^TMP("LRCY",$J,ORDT,"NDX",0)) S ORMORE=1 D SPMRG^ORDVU("^TMP(""LRCY"","_$J_","_ORDT_",""NDX"")","^TMP(""ORDATA"","_$J_","_ORDT_",""WP"",9)",9) ;cythopathology DX
|
---|
165 | . I $O(^TMP("LRCY",$J,ORDT,"SR",0)) S ORMORE=1 D SPMRG^ORDVU("^TMP(""LRCY"","_$J_","_ORDT_",""SR"")","^TMP(""ORDATA"","_$J_","_ORDT_",""WP"",10)",10) ;supplemetary Report
|
---|
166 | . I ORMORE S ^TMP("ORDATA",$J,ORDT,"WP",11)="11^[+]" ;flag for detail
|
---|
167 | K ^TMP("LRCY",$J)
|
---|
168 | S ROOT=$NA(^TMP("ORDATA",$J))
|
---|
169 | Q
|
---|