Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: ORCXPNDR

ORCXPNDR.m

Go to the documentation of this file.
ORCXPNDR ; SLC/MKB,dcm - Expanded display of Reports ;2/12/97  13:48
 ;;3.0;ORDER ENTRY/RESULTS REPORTING;**25,85,215**;Dec 17, 1997
EN ; -- build body of report
 N TYPE S TYPE=$P($G(^TMP("OR",$J,ORTAB,"IDX",NUM)),U,4)
 I '$L(TYPE)!(+TYPE) D XRAYS^ORCXPND1 Q  ;TYPE=case# or null
 I $L(TYPE),$E(TYPE,1,4)="MED~" D MED(TYPE) Q  ;TYPE=MED~procedure ID
 I $L($T(@TYPE)) D @TYPE
 Q
PREP ;
 W !," ... hold on...building report..."
 K ^TMP("ORDATA",$J)
 Q
DAYS(NUM) ;
 ;NUM=# of days (default=7)
 ;Returns -1 if user aborts, otherwise # of days entered.
D1 N X
 S:'$G(NUM) NUM=7
 W !,"Enter # of days to look back: "_NUM_"// " R X:DTIME Q:$E(X)="^" -1
 S:X="" X=NUM S:X?1"T-"1N.N X=$E(X,3,99)
 I $E(X)="?"!(X'?1N.N) W !,"Enter the number of days to look back for data." G D1
 Q X
TIT(HDR) ;
 ;HDR=name of header to display
 S:'$D(HDR) HDR=""
 D FULL^VALM1 S VALMBCK="R"
 W !!,"For "_HDR
 Q
 ;
GMTSS ; -- Health Summary
 N DFN,Y,I,DIC,X,GMTYP
 D TIT("Health Summary")  Q:$$OS()
 D SELTYP^ORPRS13 I '$G(GMTYP(1)) Q
 D PREP
 D RPT^ORWRP(.Y,ID,1,+GMTYP(1))
 D ITEM^ORCXPND("Health Summary")
 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)
 K ^TMP("ORDATA",$J)
 Q
 ;
GMTSA ; -- Ad Hoc Health Summary
 N DFN,Y,I,DIC,X,GMTSTYP,GMTSTITL,GMTSQIT
 D TIT("Adhoc Health Summary")  Q:$$OS()
 S X="GMTS HS ADHOC",DIC=142,DIZ(0)="ZF" D ^DIC Q:Y'>0  S GMTSTYP=+Y
 S GMTSTITL="AD HOC" D BUILD^GMTSADOR
 Q:$D(GMTSQIT)
 D PREP
 D RPT^ORWRP(.Y,ID,15,GMTSTYP)
 D ITEM^ORCXPND("Adhoc Health Summary")
 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)
 K ^TMP("ORDATA",$J)
 Q
 ;
GMRVC ; -- Vitals Cumulative Report
 N DFN,Y,I,X,BCNT
 D TIT("Vitals Cumulative Report") Q:$$OS()
 S X=$$DAYS(7) Q:X=-1
 D PREP
 D RPT^ORWRP(.Y,ID,5,,X,"VITCUM")
 D ITEM^ORCXPND("Vitals Cumulative Report")
 S I=3,BCNT=0
 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"
 . I '$L(X) S BCNT=BCNT+1 I BCNT>1 Q
 . S LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=X S:$L(X) BCNT=0
 K ^TMP("ORDATA",$J)
 Q
FHP ; -- Dietetics profile
 N X,I S X=$$P^FHWOR71(+ORVP)
 D ITEM^ORCXPND("Dietetics Profile"),BLANK^ORCXPND
 I +X'>0 S LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=$P(X,U,2) Q  ; no rpt
 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)
 K ^TMP($J,"FHPROF",+ORVP)
 Q
 ;
FHA ; -- Nurtritional Assessments
 N X,I S ID=$P(ID,";",2),X=$$FHWORASM^FHWORA(+ORVP,ID)
 D ITEM^ORCXPND("Nutritional Assessment on "_ID),BLANK^ORCXPND
 I X'>0 S LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=$P(X,U,2) Q  ; no rpt
 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)
 K ^TMP($J,"FHASM",+ORVP)
 Q
 ;
ORS ; -- Daily Order Summary
 N DFN,Y,I,BCNT
 D TIT("Daily Order Summary") Q:$$OS()
 D PREP
 D RPT^ORWRP(.Y,ID,10,,1)
 D ITEM^ORCXPND("Daily Order Summary")
 S I=3,BCNT=0
 F  S I=$O(^TMP("ORDATA",$J,1,I)) Q:I<1  S X=^(I) D  Q:X["* END OF ORDERS *"
 . I '$L(X) S BCNT=BCNT+1 I BCNT>1 Q
 . S LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=X S:$L(X) BCNT=0
 K ^TMP("ORDATA",$J)
 Q
 ;
ORD ; -- Order Summary for Date Range
 N DFN,Y,I,BCNT,OREND,ORSSTRT,ORSSTOP
 D TIT("Order summary for Date Range") Q:$$OS()
 D RANGE^ORCXPND3($S($G(ORWARD):7,1:180)) Q:OREND
 D PREP
 D RPT^ORWRP(.Y,ID,11,,,,+ORSSTRT,+ORSSTOP)
 D ITEM^ORCXPND("Order Summary for Date Range")
 S I=3,BCNT=0
 F  S I=$O(^TMP("ORDATA",$J,1,I)) Q:I<1  S X=^(I) D  Q:X["* END OF ORDERS *"
 . I '$L(X) S BCNT=BCNT+1 I BCNT>1 Q
 . S LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=X S:$L(X) BCNT=0
 K ^TMP("ORDATA",$J)
 Q
ORC ; -- Customized order summary
 N DFN,Y,I,BCNT,ORDG,ORPRES,ORSSTRT,ORSSTOP,OREND
 D TIT("Custom Order Summary") Q:$$OS()
 D RANGE^ORCXPND3($S($G(ORWARD):7,1:180)) Q:OREND
 D CUSTOM^ORPRS01 Q:$G(OREND)
 D PREP
 D RPT^ORWRP(.Y,ID,14,,,,+ORSSTRT,+ORSSTOP)
 D ITEM^ORCXPND("Custom order summary")
 S I=3,BCNT=0
 F  S I=$O(^TMP("ORDATA",$J,1,I)) Q:I<1  S X=^(I) D  Q:X["* END OF ORDERS *"
 . I '$L(X) S BCNT=BCNT+1 I BCNT>1 Q
 . S LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=X S:$L(X) BCNT=0
 K ^TMP("ORDATA",$J)
 Q
ORP ; -- Print Chart Copy Summary
 N DFN,Y,I,BCNT,ORSSTRT,ORSSTOP,OREND
 D TIT("Chart Copy Summary") Q:$$OS()
 D RANGE^ORCXPND3($S($G(ORWARD):7,1:180)) Q:OREND
 D PREP
 D RPT^ORWRP(.Y,ID,12,,,,+ORSSTRT,+ORSSTOP)
 D ITEM^ORCXPND("Chart Copy Summary")
 S I=.1,BCNT=0
 F  S I=$O(^TMP("ORDATA",$J,1,I)) Q:I<1  S X=^(I) D
 . I '$L(X) S BCNT=BCNT+1 I BCNT>1 Q
 . S LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=X S:$L(X) BCNT=0
 K ^TMP("ORDATA",$J)
 Q
PSO ; -- Outpatient Pharmacy Action Profile
 N DFN,Y,I,BCNT
 D TIT("Outpatient Pharmacy Action Profile") Q:$$OS()
 D PREP
 D RPT^ORWRP(.Y,ID,13)
 D ITEM^ORCXPND("Outpatient Pharmacy Action Profile")
 S I=.1,BCNT=0
 F  S I=$O(^TMP("ORDATA",$J,1,I)) Q:I<1  S X=^(I) D
 . I '$L(X) S BCNT=BCNT+1 I BCNT>1 Q
 . S LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=X S:$L(X) BCNT=0
 K ^TMP("ORDATA",$J)
 Q
OS() ; Check OS- Temporary disabled for OpenM
 Q 0 ;Open M check disabled - remove if Wally's fix fixed.
 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
 Q $G(^%ZOSF("OS"))["OpenM"
LRA ;AP Report
 D LRA^ORCXPND3
 Q
LRAA ;AP Report (alt)
 D LRAA^ORCXPND3
 Q
LRB1 ;BB Report
 D LRB1^ORCXPND3
 Q
LRB ;BB Report (alt)
 D LRB^ORCXPND3
 Q
LRC ;Lab cumulative
 D LRC^ORCXPND3
 Q
LRG ;Lab Graph
 D LRG^ORCXPND3
 Q
LRI ;Lab Interim by Day
 D LRI^ORCXPND3
 Q
LRGEN ;Lab results by test
 D LRGEN^ORCXPND3
 Q
STAT ;Lab order status
 D STAT^ORCXPND3
 Q
MED(TYPE) ;Medicine Patient Procedure Summary
 D MED^ORCXPND3(TYPE)
 Q