Ticket #14: ORDV03.m

File ORDV03.m, 6.1 KB (added by elanchezhiyan, 14 years ago)

Modified programs. look for [ELN]

Line 
1ORDV03 ; slc/dcm - OE/RR Report Extracts ;10/8/03 11:17
2 ;;3.0;ORDER ENTRY/RESULTS REPORTING;**109,208,215**;Dec 17, 1997
3RI(ROOT,ORALPHA,OROMEGA,ORMAX,ORDBEG,ORDEND,OREXT) ;Radiology impression
4 ;External Calls: MAIN^GMTSRAE(1)
5 ;
6 ; ^TMP("GMTSRAD",$J) used via DBIA 4333
7 ; ^TMP("RAE",$J) used via DBIA 3968
8 ;
9 I $L($T(GCPR^OMGCOAS1)) D ; Call if FHIE station 200
10 . N BEG,END,MAX
11 . Q:'$G(ORALPHA) Q:'$G(OROMEGA)
12 . S MAX=$S(+$G(ORMAX)>0:ORMAX,1:999)
13 . S BEG=9999999-OROMEGA,END=9999999-ORALPHA
14 . D GCPR^OMGCOAS1(DFN,"RI",BEG,END,MAX)
15 ;
16 N ORDT,ORX0,ORJ,ORCNT,GMDATA,GMTSI,GMW,MAX,TEST,GMTSNDM,GMTS1,GMTS2,ORSITE,SITE,GO
17 Q:'$L(OREXT)
18 S GO=$P(OREXT,";")_"^"_$P(OREXT,";",2)
19 Q:'$L($T(@GO))
20 S IOST=$G(IOST),GMTSNDM=$S(+$G(ORMAX)>0:ORMAX,1:999),GMTS2=ORALPHA,GMTS1=OROMEGA
21 S ORSITE=$$SITE^VASITE,ORSITE=$P(ORSITE,"^",2)_";"_$P(ORSITE,"^",3)
22 K ^TMP("ORDATA",$J)
23 I '$L($T(GCPR^OMGCOAS1)) D
24 . K ^TMP("RAE",$J) ;DBIA 3968
25 . D @GO
26 S ORDT=GMTS1,ORCNT=0
27 F S ORDT=$O(^TMP("RAE",$J,ORDT)) Q:(ORDT'>0)!(ORDT>GMTS2) D
28 . S ORJ=0 F S ORJ=$O(^TMP("RAE",$J,ORDT,ORJ)) Q:'ORJ I $G(^(ORJ,0)) S ORX0=^(0) D
29 .. S ORCNT=ORCNT+1
30 .. S SITE=$S($L($G(^TMP("RAE",$J,ORDT,ORJ,"facility"))):^("facility"),1:ORSITE)
31 .. S ^TMP("ORDATA",$J,ORCNT,"WP",1)="1^"_SITE ;Station ID
32 .. S ^TMP("ORDATA",$J,ORCNT,"WP",2)="2^"_$$DATE^ORDVU($P(ORX0,U)) ;date
33 .. S ^TMP("ORDATA",$J,ORCNT,"WP",3)="3^"_$P(ORX0,U,2) ;procedure
34 .. S ^TMP("ORDATA",$J,ORCNT,"WP",4)="4^"_$P(ORX0,U,4) ;report status
35 .. S ^TMP("ORDATA",$J,ORCNT,"WP",5)="5^"_$P(ORX0,U,7) ;cpt code
36 .. D SPMRG^ORDVU($NA(^TMP("RAE",$J,ORDT,ORJ,"I")),$NA(^TMP("ORDATA",$J,ORCNT,"WP",6)),6) ;impression
37 .. I $O(^TMP("RAE",$J,ORDT,ORJ,"I",0)) S ^TMP("ORDATA",$J,ORCNT,"WP",8)="8^[+]" ;flag for detail
38 K ^TMP("RAE",$J)
39 S ROOT=$NA(^TMP("ORDATA",$J))
40 Q
41RR(ROOT,ORALPHA,OROMEGA,ORMAX,ORDBEG,ORDEND,OREXT) ;Radiology report
42 ;External Calls: MAIN^GMTSRAE(2)
43 ;
44 I $L($T(GCPR^OMGCOAS1)) D ; Call if FHIE station 200
45 . N BEG,END,MAX
46 . Q:'$G(ORALPHA) Q:'$G(OROMEGA)
47 . S MAX=$S(+$G(ORMAX)>0:ORMAX,1:999)
48 . S BEG=9999999-OROMEGA,END=9999999-ORALPHA
49 . D GCPR^OMGCOAS1(DFN,"RR",BEG,END,MAX)
50 ;
51 N ORDT,ORX0,ORJ,ORCNT,GMDATA,GMTSI,GMW,MAX,TEST,GMTSNDM,GMTS1,GMTS2,ORSITE,SITE,GO,ORMORE
52 Q:'$L(OREXT)
53 S GO=$P(OREXT,";")_"^"_$P(OREXT,";",2)
54 Q:'$L($T(@GO))
55 K ^TMP("ORDATA",$J)
56 S GMTSNDM=$S(+$G(ORMAX)>0:ORMAX,1:999),GMTS1=OROMEGA,GMTS2=ORALPHA
57 S ORSITE=$$SITE^VASITE,ORSITE=$P(ORSITE,"^",2)_";"_$P(ORSITE,"^",3)
58 I '$L($T(GCPR^OMGCOAS1)) D
59 . K ^TMP("RAE",$J)
60 . D @GO
61 S ORDT=GMTS1,ORCNT=0
62 F S ORDT=$O(^TMP("RAE",$J,ORDT)) Q:(ORDT'>0) D
63 . S ORJ=0 F S ORJ=$O(^TMP("RAE",$J,ORDT,ORJ)) Q:'ORJ D
64 .. S ORCNT=ORCNT+1,ORMORE=0
65 .. S ORX0=$G(^TMP("RAE",$J,ORDT,ORJ,0))
66 .. S SITE=$S($L($G(^TMP("RAE",$J,ORDT,ORJ,"facility"))):^("facility"),1:ORSITE)
67 .. S ^TMP("ORDATA",$J,ORCNT,"WP",1)="1^"_SITE ;Site ID
68 .. S ^TMP("ORDATA",$J,ORCNT,"WP",2)="2^"_$$DATE^ORDVU($P(ORX0,U)) ;date
69 .. S ^TMP("ORDATA",$J,ORCNT,"WP",3)="3^"_$P(ORX0,U,2) ;procedure
70 .. S ^TMP("ORDATA",$J,ORCNT,"WP",4)="4^"_$S($L($P(ORX0,U,4)):$P(ORX0,U,4),1:"No Report") ;report status
71 .. S ^TMP("ORDATA",$J,ORCNT,"WP",5)="5^"_$P(ORX0,U,7) ;cpt code
72 .. I $O(^TMP("RAE",$J,ORDT,ORJ,"H",0)) S ORMORE=1 D SPMRG^ORDVU($NA(^TMP("RAE",$J,ORDT,ORJ,"H")),$NA(^TMP("ORDATA",$J,ORCNT,"WP",6,1)),6) ;clinical history
73 .. I $O(^TMP("RAE",$J,ORDT,ORJ,"I",0)) S ORMORE=1 D SPMRG^ORDVU($NA(^TMP("RAE",$J,ORDT,ORJ,"I")),$NA(^TMP("ORDATA",$J,ORCNT,"WP",7,1)),7) ;impression
74 .. I $O(^TMP("RAE",$J,ORDT,ORJ,"R",0)) S ORMORE=1 D SPMRG^ORDVU($NA(^TMP("RAE",$J,ORDT,ORJ,"R")),$NA(^TMP("ORDATA",$J,ORCNT,"WP",8,1)),8) ;report
75 .. I ORMORE S ^TMP("ORDATA",$J,ORCNT,"WP",9)="9^[+]" ;flag for detail
76 K ^TMP("RAE",$J)
77 S ROOT=$NA(^TMP("ORDATA",$J))
78 Q
79RS(ROOT,ORALPHA,OROMEGA,ORMAX,ORDBEG,ORDEND,OREXT) ;Radiology status
80 ;External calls: GET^GMTSRAD
81 ;
82 I $L($T(GCPR^OMGCOAS1)) D ; Call if FHIE station 200
83 . N BEG,END,MAX
84 . Q:'$G(ORALPHA) Q:'$G(OROMEGA)
85 . S MAX=$S(+$G(ORMAX)>0:ORMAX,1:999)
86 . S BEG=9999999-OROMEGA,END=9999999-ORALPHA
87 . D GCPR^OMGCOAS1(DFN,"RS",BEG,END,MAX)
88 ;
89 N ORSITE,SITE,CNT,ORDT,ORDA,ORDA2,REC,GMTSEND,GMTSBEG,GO,STAT
90 Q:'$L(OREXT)
91 S GO=$P(OREXT,";")_"^"_$P(OREXT,";",2)
92 Q:'$L($T(@GO))
93 S GMTSBEG=ORDBEG,GMTSEND=ORDEND
94 S ORSITE=$$SITE^VASITE,ORSITE=$P(ORSITE,"^",2)_";"_$P(ORSITE,"^",3)
95 I '$L($T(GCPR^OMGCOAS1)) D
96 . K ^TMP("GMTSRAD",$J) ;DBIA 4333
97 . D @GO
98 S CNT=0,ORDT=OROMEGA
99 S ^ELNTEST("ORDT")=ORDT
100 F S ORDT=$O(^TMP("GMTSRAD",$J,ORDT)) Q:(ORDT'>0)!(ORDT>ORALPHA)!(CNT'<ORMAX) D
101 .S ^ELNTEST("ORDT",CNT)=ORDT
102 .S ORDA=0
103 .F S ORDA=$O(^TMP("GMTSRAD",$J,ORDT,ORDA)) Q:'ORDA!(CNT'<ORMAX) D
104 ..S ^ELNTEST("ORDA",CNT)=ORDA
105 ..S ORDA2=0
106 ..F S ORDA2=$O(^TMP("GMTSRAD",$J,ORDT,ORDA,ORDA2)) Q:'ORDA2!(CNT'<ORMAX) S REC=^(ORDA2),STAT=$P(REC,"^",2) D
107 ...S ^ELNTEST("ORDA2",CNT)=ORDA2
108 ...S CNT=CNT+1
109 ...S SITE=$S($L($G(^TMP("GMTSRAD",$J,ORDT,ORDA,ORDA2,"facility"))):^("facility"),1:ORSITE)
110 ...;[ELN] fix to list down all the RAD procedure
111 ...;S ^TMP("ORDATA",$J,ORDT,"WP",1)="1^"_SITE
112 ...S ^TMP("ORDATA",$J,ORDA,"WP",1)="1^"_SITE
113 ...;S ^TMP("ORDATA",$J,ORDT,"WP",2)="2^"_$$DATE^ORDVU($P(REC,"^"))
114 ...S ^TMP("ORDATA",$J,ORDA,"WP",2)="2^"_$$DATE^ORDVU($P(REC,"^"))
115 ...;S ^TMP("ORDATA",$J,ORDT,"WP",3)="3^"_$S(STAT="d":"Discontinued",STAT="c":"Complete",STAT="h":"Hold",STAT="p":"Pending",STAT="a":"Active",STAT="s":"Scheduled",STAT="u":"Unreleased",1:STAT)
116 ...S ^TMP("ORDATA",$J,ORDA,"WP",3)="3^"_$S(STAT="d":"Discontinued",STAT="c":"Complete",STAT="h":"Hold",STAT="p":"Pending",STAT="a":"Active",STAT="s":"Scheduled",STAT="u":"Unreleased",1:STAT)
117 ...;S ^TMP("ORDATA",$J,ORDT,"WP",4)="4^"_$P(REC,"^",3)
118 ...S ^TMP("ORDATA",$J,ORDA,"WP",4)="4^"_$P(REC,"^",3)
119 ...;S ^TMP("ORDATA",$J,ORDT,"WP",5)="5^"_$$DATE^ORDVU($P(REC,"^",4))
120 ...S ^TMP("ORDATA",$J,ORDA,"WP",5)="5^"_$$DATE^ORDVU($P(REC,"^",4))
121 ...;S ^TMP("ORDATA",$J,ORDT,"WP",6)="6^"_$P(REC,"^",5)
122 ...S ^TMP("ORDATA",$J,ORDA,"WP",6)="6^"_$P(REC,"^",5)
123 ...;[ELN]
124 S ROOT=$NA(^TMP("ORDATA",$J))
125 Q
126RAD1 ;Get radiology impression
127 D MAIN^GMTSRAE(1)
128 Q
129RAD2 ;Get radiology report
130 D MAIN^GMTSRAE(2)
131 Q