[613] | 1 | ORCXPNDR ; SLC/MKB,dcm - Expanded display of Reports ;2/12/97 13:48
|
---|
| 2 | ;;3.0;ORDER ENTRY/RESULTS REPORTING;**25,85,215**;Dec 17, 1997
|
---|
| 3 | EN ; -- build body of report
|
---|
| 4 | N TYPE S TYPE=$P($G(^TMP("OR",$J,ORTAB,"IDX",NUM)),U,4)
|
---|
| 5 | I '$L(TYPE)!(+TYPE) D XRAYS^ORCXPND1 Q ;TYPE=case# or null
|
---|
| 6 | I $L(TYPE),$E(TYPE,1,4)="MED~" D MED(TYPE) Q ;TYPE=MED~procedure ID
|
---|
| 7 | I $L($T(@TYPE)) D @TYPE
|
---|
| 8 | Q
|
---|
| 9 | PREP ;
|
---|
| 10 | W !," ... hold on...building report..."
|
---|
| 11 | K ^TMP("ORDATA",$J)
|
---|
| 12 | Q
|
---|
| 13 | DAYS(NUM) ;
|
---|
| 14 | ;NUM=# of days (default=7)
|
---|
| 15 | ;Returns -1 if user aborts, otherwise # of days entered.
|
---|
| 16 | D1 N X
|
---|
| 17 | S:'$G(NUM) NUM=7
|
---|
| 18 | W !,"Enter # of days to look back: "_NUM_"// " R X:DTIME Q:$E(X)="^" -1
|
---|
| 19 | S:X="" X=NUM S:X?1"T-"1N.N X=$E(X,3,99)
|
---|
| 20 | I $E(X)="?"!(X'?1N.N) W !,"Enter the number of days to look back for data." G D1
|
---|
| 21 | Q X
|
---|
| 22 | TIT(HDR) ;
|
---|
| 23 | ;HDR=name of header to display
|
---|
| 24 | S:'$D(HDR) HDR=""
|
---|
| 25 | D FULL^VALM1 S VALMBCK="R"
|
---|
| 26 | W !!,"For "_HDR
|
---|
| 27 | Q
|
---|
| 28 | ;
|
---|
| 29 | GMTSS ; -- Health Summary
|
---|
| 30 | N DFN,Y,I,DIC,X,GMTYP
|
---|
| 31 | D TIT("Health Summary") Q:$$OS()
|
---|
| 32 | D SELTYP^ORPRS13 I '$G(GMTYP(1)) Q
|
---|
| 33 | D PREP
|
---|
| 34 | D RPT^ORWRP(.Y,ID,1,+GMTYP(1))
|
---|
| 35 | D ITEM^ORCXPND("Health Summary")
|
---|
| 36 | S I=1 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)
|
---|
| 37 | K ^TMP("ORDATA",$J)
|
---|
| 38 | Q
|
---|
| 39 | ;
|
---|
| 40 | GMTSA ; -- Ad Hoc Health Summary
|
---|
| 41 | N DFN,Y,I,DIC,X,GMTSTYP,GMTSTITL,GMTSQIT
|
---|
| 42 | D TIT("Adhoc Health Summary") Q:$$OS()
|
---|
| 43 | S X="GMTS HS ADHOC",DIC=142,DIZ(0)="ZF" D ^DIC Q:Y'>0 S GMTSTYP=+Y
|
---|
| 44 | S GMTSTITL="AD HOC" D BUILD^GMTSADOR
|
---|
| 45 | Q:$D(GMTSQIT)
|
---|
| 46 | D PREP
|
---|
| 47 | D RPT^ORWRP(.Y,ID,15,GMTSTYP)
|
---|
| 48 | D ITEM^ORCXPND("Adhoc Health Summary")
|
---|
| 49 | S I=1 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)
|
---|
| 50 | K ^TMP("ORDATA",$J)
|
---|
| 51 | Q
|
---|
| 52 | ;
|
---|
| 53 | GMRVC ; -- Vitals Cumulative Report
|
---|
| 54 | N DFN,Y,I,X,BCNT
|
---|
| 55 | D TIT("Vitals Cumulative Report") Q:$$OS()
|
---|
| 56 | S X=$$DAYS(7) Q:X=-1
|
---|
| 57 | D PREP
|
---|
| 58 | D RPT^ORWRP(.Y,ID,5,,X,"VITCUM")
|
---|
| 59 | D ITEM^ORCXPND("Vitals Cumulative Report")
|
---|
| 60 | S I=3,BCNT=0
|
---|
| 61 | F S I=$O(^TMP("ORDATA",$J,1,I)) Q:I<1 S X=^(I) D Q:X["No cumulative vitals data for this patient"
|
---|
| 62 | . I '$L(X) S BCNT=BCNT+1 I BCNT>1 Q
|
---|
| 63 | . S LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=X S:$L(X) BCNT=0
|
---|
| 64 | K ^TMP("ORDATA",$J)
|
---|
| 65 | Q
|
---|
| 66 | FHP ; -- Dietetics profile
|
---|
| 67 | N X,I S X=$$P^FHWOR71(+ORVP)
|
---|
| 68 | D ITEM^ORCXPND("Dietetics Profile"),BLANK^ORCXPND
|
---|
| 69 | I +X'>0 S LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=$P(X,U,2) Q ; no rpt
|
---|
| 70 | S I=0 F S I=$O(^TMP($J,"FHPROF",+ORVP,I)) Q:I'>0 S LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=^TMP($J,"FHPROF",+ORVP,I)
|
---|
| 71 | K ^TMP($J,"FHPROF",+ORVP)
|
---|
| 72 | Q
|
---|
| 73 | ;
|
---|
| 74 | FHA ; -- Nurtritional Assessments
|
---|
| 75 | N X,I S ID=$P(ID,";",2),X=$$FHWORASM^FHWORA(+ORVP,ID)
|
---|
| 76 | D ITEM^ORCXPND("Nutritional Assessment on "_ID),BLANK^ORCXPND
|
---|
| 77 | I X'>0 S LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=$P(X,U,2) Q ; no rpt
|
---|
| 78 | S I=0 F S I=$O(^TMP($J,"FHASM",+ORVP,I)) Q:I'>0 S LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=^TMP($J,"FHASM",+ORVP,I)
|
---|
| 79 | K ^TMP($J,"FHASM",+ORVP)
|
---|
| 80 | Q
|
---|
| 81 | ;
|
---|
| 82 | ORS ; -- Daily Order Summary
|
---|
| 83 | N DFN,Y,I,BCNT
|
---|
| 84 | D TIT("Daily Order Summary") Q:$$OS()
|
---|
| 85 | D PREP
|
---|
| 86 | D RPT^ORWRP(.Y,ID,10,,1)
|
---|
| 87 | D ITEM^ORCXPND("Daily Order Summary")
|
---|
| 88 | S I=3,BCNT=0
|
---|
| 89 | F S I=$O(^TMP("ORDATA",$J,1,I)) Q:I<1 S X=^(I) D Q:X["* END OF ORDERS *"
|
---|
| 90 | . I '$L(X) S BCNT=BCNT+1 I BCNT>1 Q
|
---|
| 91 | . S LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=X S:$L(X) BCNT=0
|
---|
| 92 | K ^TMP("ORDATA",$J)
|
---|
| 93 | Q
|
---|
| 94 | ;
|
---|
| 95 | ORD ; -- Order Summary for Date Range
|
---|
| 96 | N DFN,Y,I,BCNT,OREND,ORSSTRT,ORSSTOP
|
---|
| 97 | D TIT("Order summary for Date Range") Q:$$OS()
|
---|
| 98 | D RANGE^ORCXPND3($S($G(ORWARD):7,1:180)) Q:OREND
|
---|
| 99 | D PREP
|
---|
| 100 | D RPT^ORWRP(.Y,ID,11,,,,+ORSSTRT,+ORSSTOP)
|
---|
| 101 | D ITEM^ORCXPND("Order Summary for Date Range")
|
---|
| 102 | S I=3,BCNT=0
|
---|
| 103 | F S I=$O(^TMP("ORDATA",$J,1,I)) Q:I<1 S X=^(I) D Q:X["* END OF ORDERS *"
|
---|
| 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 | ORC ; -- Customized order summary
|
---|
| 109 | N DFN,Y,I,BCNT,ORDG,ORPRES,ORSSTRT,ORSSTOP,OREND
|
---|
| 110 | D TIT("Custom Order Summary") Q:$$OS()
|
---|
| 111 | D RANGE^ORCXPND3($S($G(ORWARD):7,1:180)) Q:OREND
|
---|
| 112 | D CUSTOM^ORPRS01 Q:$G(OREND)
|
---|
| 113 | D PREP
|
---|
| 114 | D RPT^ORWRP(.Y,ID,14,,,,+ORSSTRT,+ORSSTOP)
|
---|
| 115 | D ITEM^ORCXPND("Custom order summary")
|
---|
| 116 | S I=3,BCNT=0
|
---|
| 117 | F S I=$O(^TMP("ORDATA",$J,1,I)) Q:I<1 S X=^(I) D Q:X["* END OF ORDERS *"
|
---|
| 118 | . I '$L(X) S BCNT=BCNT+1 I BCNT>1 Q
|
---|
| 119 | . S LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=X S:$L(X) BCNT=0
|
---|
| 120 | K ^TMP("ORDATA",$J)
|
---|
| 121 | Q
|
---|
| 122 | ORP ; -- Print Chart Copy Summary
|
---|
| 123 | N DFN,Y,I,BCNT,ORSSTRT,ORSSTOP,OREND
|
---|
| 124 | D TIT("Chart Copy Summary") Q:$$OS()
|
---|
| 125 | D RANGE^ORCXPND3($S($G(ORWARD):7,1:180)) Q:OREND
|
---|
| 126 | D PREP
|
---|
| 127 | D RPT^ORWRP(.Y,ID,12,,,,+ORSSTRT,+ORSSTOP)
|
---|
| 128 | D ITEM^ORCXPND("Chart Copy Summary")
|
---|
| 129 | S I=.1,BCNT=0
|
---|
| 130 | F S I=$O(^TMP("ORDATA",$J,1,I)) Q:I<1 S X=^(I) D
|
---|
| 131 | . I '$L(X) S BCNT=BCNT+1 I BCNT>1 Q
|
---|
| 132 | . S LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=X S:$L(X) BCNT=0
|
---|
| 133 | K ^TMP("ORDATA",$J)
|
---|
| 134 | Q
|
---|
| 135 | PSO ; -- Outpatient Pharmacy Action Profile
|
---|
| 136 | N DFN,Y,I,BCNT
|
---|
| 137 | D TIT("Outpatient Pharmacy Action Profile") Q:$$OS()
|
---|
| 138 | D PREP
|
---|
| 139 | D RPT^ORWRP(.Y,ID,13)
|
---|
| 140 | D ITEM^ORCXPND("Outpatient Pharmacy Action Profile")
|
---|
| 141 | S I=.1,BCNT=0
|
---|
| 142 | F S I=$O(^TMP("ORDATA",$J,1,I)) Q:I<1 S X=^(I) D
|
---|
| 143 | . I '$L(X) S BCNT=BCNT+1 I BCNT>1 Q
|
---|
| 144 | . S LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=X S:$L(X) BCNT=0
|
---|
| 145 | K ^TMP("ORDATA",$J)
|
---|
| 146 | Q
|
---|
| 147 | OS() ; Check OS- Temporary disabled for OpenM
|
---|
| 148 | Q 0 ;Open M check disabled - remove if Wally's fix fixed.
|
---|
| 149 | I $G(^%ZOSF("OS"))["OpenM" W !!,$C(7),"This report is currently unavailable from this menu.",!,"Please use 'OR Other Reports ...' to get this report." D READ^ORUTL
|
---|
| 150 | Q $G(^%ZOSF("OS"))["OpenM"
|
---|
| 151 | LRA ;AP Report
|
---|
| 152 | D LRA^ORCXPND3
|
---|
| 153 | Q
|
---|
| 154 | LRAA ;AP Report (alt)
|
---|
| 155 | D LRAA^ORCXPND3
|
---|
| 156 | Q
|
---|
| 157 | LRB1 ;BB Report
|
---|
| 158 | D LRB1^ORCXPND3
|
---|
| 159 | Q
|
---|
| 160 | LRB ;BB Report (alt)
|
---|
| 161 | D LRB^ORCXPND3
|
---|
| 162 | Q
|
---|
| 163 | LRC ;Lab cumulative
|
---|
| 164 | D LRC^ORCXPND3
|
---|
| 165 | Q
|
---|
| 166 | LRG ;Lab Graph
|
---|
| 167 | D LRG^ORCXPND3
|
---|
| 168 | Q
|
---|
| 169 | LRI ;Lab Interim by Day
|
---|
| 170 | D LRI^ORCXPND3
|
---|
| 171 | Q
|
---|
| 172 | LRGEN ;Lab results by test
|
---|
| 173 | D LRGEN^ORCXPND3
|
---|
| 174 | Q
|
---|
| 175 | STAT ;Lab order status
|
---|
| 176 | D STAT^ORCXPND3
|
---|
| 177 | Q
|
---|
| 178 | MED(TYPE) ;Medicine Patient Procedure Summary
|
---|
| 179 | D MED^ORCXPND3(TYPE)
|
---|
| 180 | Q
|
---|