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

ORPRS06.m

Go to the documentation of this file.
  1. ORPRS06 ; slc/dcm - Driving Miss ChartCopy ;7/28/06 15:55
  1. ;;3.0;ORDER ENTRY/RESULTS REPORTING;**11,69,99,215,260**;Dec 17, 1997;Build 26
  1. ;
  1. ; DBIA 3869 GETPLIST^SDAMA202 ^TMP($J,"SDAMA202")
  1. ;
  1. MAIN ; Control module
  1. N %,%H,%I,%T,ORDT,ORNOW,OREARLY,ORLATE,ORHPRM,ORLOC,X,X1,X2
  1. N ORSC,ORSSC,ZTDESC,ZTDTH,ZTIO,ZTRTN,ZTSAVE,ZTSK,ORPCCS,ORPCCP,ORCONTX
  1. D NOW^%DTC
  1. S ORDT=$P(%,"."),ORNOW=$P(%,".",2)
  1. I $E(ORNOW,1,2)>14 S OREARLY=ORDT
  1. E S X1=ORDT,X2=-1 D C^%DTC S OREARLY=X
  1. S X1=OREARLY,X2=1
  1. D C^%DTC
  1. S ORLATE=X,ORCONTX=21
  1. D ENVAL^XPAR(.ORPCCS,"ORPF PRINT CHART COPY SUMMARY")
  1. D ENVAL^XPAR(.ORPCCP,"ORPF CHART COPY PRINT DEVICE")
  1. S ORSC="" F S ORSC=$O(ORPCCS(ORSC)) Q:ORSC="" I ORPCCS(ORSC,1),$G(ORPCCP(ORSC,1)) D
  1. . S ORHPRM=ORPCCP(ORSC,1),ORSSC=+ORSC,ORLOC=$S(+$G(^SC(ORSSC,42)):$P($G(^DIC(42,+$G(^SC(ORSSC,42)),0)),U),1:$P($G(^SC(ORSSC,0)),U)_"^"_1)
  1. . S ZTRTN=$S($L(ORLOC,U)=2:"CLINIC^ORPRS06",1:"WARD^ORPRS06"),ZTDTH=$H
  1. . S ZTIO="`"_+ORHPRM,ZTSAVE("OR*")=""
  1. . S ZTDESC="Chart copy of orders for "_ORLOC
  1. . D ^%ZTLOAD
  1. Q
  1. WARD ; Gets list of patients for a specified non-clinic ward
  1. N DFN,ORDLRJ,X,Y
  1. I $S('$L(ORLOC):1,'$O(^DPT("CN",ORLOC,0)):1,1:0) Q
  1. S ORDLRJ=$J,DFN=0
  1. F S DFN=$O(^DPT("CN",ORLOC,DFN)) Q:'DFN D PATIENT(DFN,OREARLY,ORLATE,ORHPRM,$G(ORCONTX),$G(ORSSC))
  1. D ^%ZISC
  1. I $D(ZTSK) D KILL^%ZTLOAD K ZTSK
  1. Q
  1. CLINIC ; Sets up call for clinic patients
  1. N ORAPT,ORERR,ORI
  1. K ^TMP($J,"SDAMA202","GETPLIST")
  1. D GETPLIST^SDAMA202(ORSSC,"1;4","",9999999-OREARLY,9999999-ORLATE) ;DBIA 3869
  1. S ORERR=$$CLINERR^ORQRY01
  1. I $L(ORERR) D Q
  1. . N XMDUZ,XMSUB,XMTEXT,XMY K XMY,^TMP("OR SCHED DB ERROR",$J)
  1. . S XMDUZ=.5
  1. . S XMY(.5)=""
  1. . S XMSUB=ORERR
  1. . S XMTEXT="^TMP(""OR SCHED DB ERROR"",$J,0,"
  1. . S ^TMP("OR SCHED DB ERROR",$J,0,1,0)=ORERR
  1. . S ^TMP("OR SCHED DB ERROR",$J,0,2,0)=""
  1. . D ^XMD
  1. . K ^TMP("OR SCHED DB ERROR",$J)
  1. S ORI=0
  1. F S ORI=$O(^TMP($J,"SDAMA202","GETPLIST",ORI)) Q:ORI<1 D
  1. . S ORAPT=+$G(^TMP($J,"SDAMA202","GETPLIST",ORI,1))
  1. . S DFN=+$G(^TMP($J,"SDAMA202","GETPLIST",ORI,4))
  1. . I ORAPT,DFN D PATIENT(DFN,OREARLY,ORLATE,ORHPRM,$G(ORCONTX),$G(ORSSC))
  1. K ^TMP($J,"SDAMA202","GETPLIST")
  1. D ^%ZISC
  1. I $D(ZTSK) D KILL^%ZTLOAD K ZTSK
  1. Q
  1. PATIENT(DFN,EARLY,LATE,DEVICE,CONTEXT,LOC44) ; Gets orders by patient, date, context
  1. ;DFN=ptr to file 2
  1. ;EARLY=Starting date
  1. ;LATE=Ending date
  1. ;DEVICE=device to print on.
  1. ;CONTEXT=context sent to ORQ1 (default=1)
  1. ;LOC44=ptr to location, file 44
  1. N ARRAY,ORVP
  1. S ORVP=DFN_";DPT("
  1. S:'$G(CONTEXT) CONTEXT=1
  1. D EN^ORQ1(ORVP,1,CONTEXT,"",LATE,EARLY,0,1)
  1. I $$GET^XPAR("ALL","ORPF CHART SUMMARY SORT",1,"I") D SORT^ORPRS02
  1. I '$O(^TMP("ORR",$J,ORLIST,0)) G PATX
  1. S ARRAY="^TMP(""ORR"",$J,ORLIST)",LOC44=$S($G(LOC44):LOC44_";SC(",1:"")
  1. D GUI^ORPR02(.ARRAY,DEVICE,"C",LOC44,1)
  1. PATX ;
  1. K ^TMP("ORR",$J,ORLIST)
  1. Q
  1. WORK(DFN,EARLY,LATE,DEVICE) ;Gets orders for work copy
  1. ;Same description as PATIENT()
  1. N ARRAY,ORVP
  1. S ORVP=DFN_";DPT("
  1. D EN^ORQ1(ORVP,1,1,"",LATE,EARLY,0,1)
  1. I $$GET^XPAR("ALL","ORPF WORK SUMMARY SORT",1,"I") D SORT^ORPRS02
  1. I '$O(^TMP("ORR",$J,ORLIST,0)) G WRKX
  1. S ARRAY="^TMP(""ORR"",$J,ORLIST)"
  1. D GUI^ORPR02(.ARRAY,DEVICE,"W",,1)
  1. WRKX ;
  1. K ^TMP("ORR",$J,ORLIST)
  1. Q