1 | ORCXPND3 ; SLC/MKB,dcm - Expanded display of Reports ;2/21/01 14:07
|
---|
2 | ;;3.0;ORDER ENTRY/RESULTS REPORTING;**25,30,43,85,172,243**;Dec 17, 1997;Build 242
|
---|
3 | ;
|
---|
4 | AP ; -- Retrieve AP results for a specific date/time specimen taken
|
---|
5 | ; [alert follow-up, from LABS^ORCXPND1]
|
---|
6 | N ORACCNO,ORDTSTKN S ORACCNO=$P(ID,"-"),ORDTSTKN=$P(ID,"-",2)
|
---|
7 | I (ORACCNO["CY"!(ORACCNO["SP")!(ORACCNO["EM")!(ORACCNO["AU"))&($L(ORACCNO)>0) D ;check for valid accession #
|
---|
8 | . N ORLRDFN,ORLRSS S ORLRDFN=$$LRDFN^LR7OR1(DFN),ORLRSS=$P($G(XQADATA),U) ;DBIA/ICR #2503
|
---|
9 | . K ^TMP("ORAP",$J) D EN^LR7OSAP4("^TMP(""ORAP"",$J)",ORLRDFN,ORLRSS,ORDTSTKN)
|
---|
10 | . I '$O(^TMP("ORAP",$J,0)) S ^TMP("ORAP",$J,1,0)="",^TMP("ORAP",$J,2,0)="No Anatomic Pathology report available..."
|
---|
11 | . N I S I=0 F S I=$O(^TMP("ORAP",$J,I)) Q:I<1 S X=^(I,0),LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=X
|
---|
12 | . K ^TMP("ORAP",$J)
|
---|
13 | Q
|
---|
14 | ;
|
---|
15 | LRA ; -- Anatomic Pathology Report
|
---|
16 | N DFN,Y,I,LRLLOC,LRQ
|
---|
17 | D TIT^ORCXPNDR("Anatomic Path Report") Q:$$OS^ORCXPNDR()
|
---|
18 | D PREP^ORCXPNDR
|
---|
19 | D RPT^ORWRP(.Y,ID,3)
|
---|
20 | D ITEM^ORCXPND("Anatomic Path Report")
|
---|
21 | S I=3 F S I=$O(^TMP("ORDATA",$J,1,I)) Q:I<1 S LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=^TMP("ORDATA",$J,1,I)
|
---|
22 | K ^TMP("ORDATA",$J)
|
---|
23 | Q
|
---|
24 | ;
|
---|
25 | LRAA ; -- Alternate Anatomic Path Report
|
---|
26 | N DFN,Y,I,LRLLOC,LRQ
|
---|
27 | D TIT^ORCXPNDR("Alternate Anatomic Path Report") Q:$$OS^ORCXPNDR()
|
---|
28 | D PREP^ORCXPNDR I $$OS^ORCXPNDR() Q
|
---|
29 | D AP^LR7OSUM(ID)
|
---|
30 | D ITEM^ORCXPND("Anatomic Pathology Report")
|
---|
31 | I '$O(^TMP("LRC",$J,0)) S ^TMP("LRC",$J,1,0)="No Anatomic Pathology reports available..."
|
---|
32 | S I=0 F S I=$O(^TMP("LRC",$J,I)) Q:I<1 S LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=^TMP("LRC",$J,I,0)
|
---|
33 | K ^TMP("LRC",$J)
|
---|
34 | Q
|
---|
35 | ;
|
---|
36 | LRB1 ; -- Blood Bank Report
|
---|
37 | N DFN,Y,I,LRBLOOD,LRCAPA,LRDT0,LRLABKY,LRLLOC,LRO,LRPCEVSO,LRPLASMA,LRSERUM,LRT,LRUNKNOW,LRURINE,LRVIDO,LRVIDOF
|
---|
38 | D TIT^ORCXPNDR("Blood Bank Report") Q:$$OS^ORCXPNDR()
|
---|
39 | D PREP^ORCXPNDR
|
---|
40 | D RPT^ORWRP(.Y,ID,2)
|
---|
41 | D ITEM^ORCXPND("Blood Bank Report")
|
---|
42 | S I=5 F S I=$O(^TMP("ORDATA",$J,1,I)) Q:I<1 S LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=^TMP("ORDATA",$J,1,I)
|
---|
43 | K ^TMP("ORDATA",$J)
|
---|
44 | Q
|
---|
45 | ;
|
---|
46 | LRB ; -- A better Blood Bank Report
|
---|
47 | N DFN,ORY,I,SUBHEAD
|
---|
48 | D TIT^ORCXPNDR("Blood Bank Report")
|
---|
49 | S DFN=ID
|
---|
50 | D PREP^ORCXPNDR
|
---|
51 | I $$GET^XPAR("DIV^SYS^PKG","OR VBECS ON",1,"Q"),$L($T(EN^ORWLR1)),$L($T(CPRS^VBECA3B)) D Q ;Transition to VBEC's interface
|
---|
52 | . K ^TMP("ORLRC",$J)
|
---|
53 | . D EN^ORWLR1(DFN)
|
---|
54 | . I '$O(^TMP("ORLRC",$J,0)) S ^TMP("ORLRC",$J,1,0)="",^TMP("ORLRC",$J,2,0)="No Blood Bank report available..."
|
---|
55 | . D ITEM^ORCXPND("Blood Bank Report"),BLANK^ORCXPND
|
---|
56 | . S I=0 F S I=$O(^TMP("ORLRC",$J,I)) Q:I'>0 S LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=^TMP("ORLRC",$J,I,0)
|
---|
57 | . K ^TMP("ORLRC",$J)
|
---|
58 | S SUBHEAD("BLOOD BANK")=""
|
---|
59 | D EN^LR7OSUM(.ORY,DFN,,,,,.SUBHEAD)
|
---|
60 | I '$O(^TMP("LRC",$J,0)) S ^TMP("LRC",$J,1,0)="No Blood Bank report available..."
|
---|
61 | D ITEM^ORCXPND("Blood Bank Report"),BLANK^ORCXPND
|
---|
62 | S I=0 F S I=$O(^TMP("LRC",$J,I)) Q:I'>0 S LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=^TMP("LRC",$J,I,0)
|
---|
63 | K ^TMP("LRC",$J),^TMP("LRH",$J)
|
---|
64 | Q
|
---|
65 | ;
|
---|
66 | LRC ; -- Lab Cumulative
|
---|
67 | N DFN,ORY,I,BEG,END,OREND,ORSSTRT,ORSSTOP
|
---|
68 | D TIT^ORCXPNDR("Lab Cumulative")
|
---|
69 | S DFN=ID
|
---|
70 | D RANGE($S($G(ORWARD):7,1:180)) Q:OREND S BEG=+ORSSTRT,END=+ORSSTOP
|
---|
71 | D PREP^ORCXPNDR
|
---|
72 | D EN^LR7OSUM(.ORY,DFN,BEG,END)
|
---|
73 | D ITEM^ORCXPND("Lab Cumulative"),BLANK^ORCXPND
|
---|
74 | S I=0 F S I=$O(^TMP("LRC",$J,I)) Q:I'>0 S LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=^TMP("LRC",$J,I,0)
|
---|
75 | K ^TMP("LRC",$J),^TMP("LRH",$J)
|
---|
76 | Q
|
---|
77 | ;
|
---|
78 | LRG ; -- Graph Lab Tests
|
---|
79 | N DFN,Y,I,X,BCNT,LRSS,LRCW,LRFLAG,LRCTRL,LRNSET,N,LOW,LRPCEVSO,LRPRAC,LRRB,LRTREA,LRVIDO,LRVIDOF,OREND,ORSSTRT,ORSSTOP
|
---|
80 | D TIT^ORCXPNDR("Graph Lab Tests") Q:$$OS^ORCXPNDR()
|
---|
81 | D RANGE($S($G(ORWARD):7,1:180)) Q:OREND
|
---|
82 | S LRSS="CH",LRCW=8,LRFLAG="",LRCTRL=0,(LRNSET,N)=80
|
---|
83 | D L2^LRDIST4 Q:'$D(LRTEST)
|
---|
84 | D PREP^ORCXPNDR
|
---|
85 | D RPT^ORWRP(.Y,ID,8,,,,+ORSSTRT,+ORSSTOP)
|
---|
86 | D ITEM^ORCXPND("Lab Graph")
|
---|
87 | S I=4,BCNT=0
|
---|
88 | F S I=$O(^TMP("ORDATA",$J,1,I)) Q:I<1 S X=^(I) D
|
---|
89 | . I '$L(X) S BCNT=BCNT+1 I BCNT>1 Q
|
---|
90 | . S LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=X S:$L(X) BCNT=0
|
---|
91 | K ^TMP("ORDATA",$J)
|
---|
92 | Q
|
---|
93 | ;
|
---|
94 | LRI ; -- Interim Lab Results
|
---|
95 | N ORX,DFN,Y,I,X,BCNT,LREDT,LRIDT,LRLLT,LRPCEVSO,LRPRAC,LRRB,LRTREA,LRVIDO,LRVIDOF,OREND,ORSSTRT,ORSSTOP
|
---|
96 | D TIT^ORCXPNDR("Lab Interim Results") Q:$$OS^ORCXPNDR()
|
---|
97 | D RANGE($S($G(ORWARD):7,1:180)) Q:OREND
|
---|
98 | D SET^LRRP4
|
---|
99 | D PREP^ORCXPNDR
|
---|
100 | D RPT^ORWRP(.Y,ID,3,,,,+ORSSTRT,+ORSSTOP)
|
---|
101 | D ITEM^ORCXPND("Lab Interim Report")
|
---|
102 | S I=0,BCNT=0
|
---|
103 | F S I=$O(^TMP("ORDATA",$J,1,I)) Q:I<1 S X=^(I) D
|
---|
104 | . I '$L(X) S BCNT=BCNT+1 I BCNT>1 Q
|
---|
105 | . S LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=X S:$L(X) BCNT=0
|
---|
106 | K ^TMP("ORDATA",$J)
|
---|
107 | Q
|
---|
108 | ;
|
---|
109 | LRGEN ;Lab Results by Test
|
---|
110 | N DFN,Y,I,II,X,BCNT,LRPRETTY,LREDT,LRLLT,LRPCEVSO,LRPRAC,LRRB,LRTREA,LRVIDO,LRVIDOF,LRCW,LREND,LRTP,LRIX,LRWPL,LRIDT,LRSC,DIC,LRTSTS,LRORD,LRTEST,LRSUB,LRHDR,LRSSP,LRHI,LRLO
|
---|
111 | N LBL,LRBLOOD,LRDAT,LRDFN,LRDPF,LRDT0,LREX,LRFFLG,LRFOOT,LRLAB,LRLABKY,LRND,LRNG,LRNOP,LRNOTE,LRODT0,LRONESPC,LRONETST,LRPAGE,LRPARAM,LRPLASMA,LRPP,LRSERUM,LRPS,LRTN,LRUNKNOW,LRURINE,LRWRD,LRX,LRY
|
---|
112 | N AGE,I,INC,LRIDT1,LRSV,OREND,ORSSTRT,ORSSTOP
|
---|
113 | K ^TMP("LR",$J)
|
---|
114 | D TIT^ORCXPNDR("Lab Results by Test") Q:$$OS^ORCXPNDR()
|
---|
115 | D RANGE($S($G(ORWARD):7,1:180)) Q:OREND
|
---|
116 | D SET^LRGEN
|
---|
117 | Q:LREND!'LRTSTS
|
---|
118 | D PREP^ORCXPNDR
|
---|
119 | D RPT^ORWRP(.Y,ID,16,,,,+ORSSTRT,+ORSSTOP)
|
---|
120 | D ITEM^ORCXPND("Lab Results by Test")
|
---|
121 | S I=1,BCNT=0
|
---|
122 | F S I=$O(^TMP("ORDATA",$J,1,I)) Q:I<1 S X=^(I) D
|
---|
123 | . I '$L(X) S BCNT=BCNT+1 I BCNT>1 Q
|
---|
124 | . S LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=X S:$L(X) BCNT=0
|
---|
125 | K ^TMP("ORDATA",$J)
|
---|
126 | Q
|
---|
127 | ;
|
---|
128 | STAT ; -- Lab test status
|
---|
129 | N DFN,Y,I,X,BCNT,OREND,ORSSTRT,ORSSTOP
|
---|
130 | D TIT^ORCXPNDR("Lab Test Status") Q:$$OS^ORCXPNDR()
|
---|
131 | D RANGE($S($G(ORWARD):7,1:180)) Q:$G(OREND)
|
---|
132 | D PREP^ORCXPNDR
|
---|
133 | D RPT^ORWRP(.Y,ID,9,,,,+ORSSTRT,+ORSSTOP)
|
---|
134 | D ITEM^ORCXPND("Lab Test Status")
|
---|
135 | S I=0,BCNT=0
|
---|
136 | F S I=$O(^TMP("ORDATA",$J,1,I)) Q:I<1 S X=$S($D(^(I))#2:^(I),$D(^(I,0))#2:^(0),1:"") D
|
---|
137 | . I '$L(X) S BCNT=BCNT+1 I BCNT>1 Q
|
---|
138 | . S LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=X S:$L(X) BCNT=0
|
---|
139 | K ^TMP("ORDATA",$J)
|
---|
140 | Q
|
---|
141 | ;
|
---|
142 | RANGE(BEG) ;Get date range for report
|
---|
143 | ;BEG=# of days (T-BEG) for start default
|
---|
144 | ;Output: ORSSTRT=Start date/time
|
---|
145 | ; ORSSTOP=Stop date/time
|
---|
146 | ; OREND=1 if user '^'s out, so look for it!
|
---|
147 | S BEG=$$FMADD^XLFDT(DT,-$G(BEG)),END=$$NOW^XLFDT
|
---|
148 | D RANGE^ORPRS01(BEG,END)
|
---|
149 | Q
|
---|
150 | ;
|
---|
151 | MED(MED) ; -- Medicine Summary of Patient Procedures
|
---|
152 | N DFN,Y,I,X,BCNT,OREND,PROCID
|
---|
153 | D TIT^ORCXPNDR("Summary of Patient Procedures") Q:$$OS^ORCXPNDR()
|
---|
154 | D PREP^ORCXPNDR
|
---|
155 | S DFN=+ID,PROCID=$P(MED,"~",2)
|
---|
156 | D RPT^ORWRP(.Y,DFN,19,,,PROCID)
|
---|
157 | D ITEM^ORCXPND("Summary of Patient Procedures")
|
---|
158 | S I=4,BCNT=0
|
---|
159 | F S I=$O(^TMP("ORDATA",$J,1,I)) Q:I<1 S X=^(I) D
|
---|
160 | . I '$L(X) S BCNT=BCNT+1 I BCNT>1 Q
|
---|
161 | . I $E(X,1,4)="Pg. " Q
|
---|
162 | . I X["PHYSICIANS' SIGNATURE" Q
|
---|
163 | . S LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=X S:$L(X) BCNT=0
|
---|
164 | K ^TMP("ORDATA",$J)
|
---|
165 | Q
|
---|