| 1 | ORPRS06 ; slc/dcm - Driving Miss ChartCopy ;7/28/06  15:55
 | 
|---|
| 2 |  ;;3.0;ORDER ENTRY/RESULTS REPORTING;**11,69,99,215,260**;Dec 17, 1997;Build 26
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 |  ; DBIA 3869   GETPLIST^SDAMA202   ^TMP($J,"SDAMA202")
 | 
|---|
| 5 |  ;
 | 
|---|
| 6 | MAIN ; Control module
 | 
|---|
| 7 |  N %,%H,%I,%T,ORDT,ORNOW,OREARLY,ORLATE,ORHPRM,ORLOC,X,X1,X2
 | 
|---|
| 8 |  N ORSC,ORSSC,ZTDESC,ZTDTH,ZTIO,ZTRTN,ZTSAVE,ZTSK,ORPCCS,ORPCCP,ORCONTX
 | 
|---|
| 9 |  D NOW^%DTC
 | 
|---|
| 10 |  S ORDT=$P(%,"."),ORNOW=$P(%,".",2)
 | 
|---|
| 11 |  I $E(ORNOW,1,2)>14 S OREARLY=ORDT
 | 
|---|
| 12 |  E  S X1=ORDT,X2=-1 D C^%DTC S OREARLY=X
 | 
|---|
| 13 |  S X1=OREARLY,X2=1
 | 
|---|
| 14 |  D C^%DTC
 | 
|---|
| 15 |  S ORLATE=X,ORCONTX=21
 | 
|---|
| 16 |  D ENVAL^XPAR(.ORPCCS,"ORPF PRINT CHART COPY SUMMARY")
 | 
|---|
| 17 |  D ENVAL^XPAR(.ORPCCP,"ORPF CHART COPY PRINT DEVICE")
 | 
|---|
| 18 |  S ORSC="" F  S ORSC=$O(ORPCCS(ORSC)) Q:ORSC=""  I ORPCCS(ORSC,1),$G(ORPCCP(ORSC,1)) D
 | 
|---|
| 19 |  . 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)
 | 
|---|
| 20 |  . S ZTRTN=$S($L(ORLOC,U)=2:"CLINIC^ORPRS06",1:"WARD^ORPRS06"),ZTDTH=$H
 | 
|---|
| 21 |  . S ZTIO="`"_+ORHPRM,ZTSAVE("OR*")=""
 | 
|---|
| 22 |  . S ZTDESC="Chart copy of orders for "_ORLOC
 | 
|---|
| 23 |  . D ^%ZTLOAD
 | 
|---|
| 24 |  Q
 | 
|---|
| 25 | WARD ; Gets list of patients for a specified non-clinic ward
 | 
|---|
| 26 |  N DFN,ORDLRJ,X,Y
 | 
|---|
| 27 |  I $S('$L(ORLOC):1,'$O(^DPT("CN",ORLOC,0)):1,1:0) Q
 | 
|---|
| 28 |  S ORDLRJ=$J,DFN=0
 | 
|---|
| 29 |  F  S DFN=$O(^DPT("CN",ORLOC,DFN)) Q:'DFN  D PATIENT(DFN,OREARLY,ORLATE,ORHPRM,$G(ORCONTX),$G(ORSSC))
 | 
|---|
| 30 |  D ^%ZISC
 | 
|---|
| 31 |  I $D(ZTSK) D KILL^%ZTLOAD K ZTSK
 | 
|---|
| 32 |  Q
 | 
|---|
| 33 | CLINIC ; Sets up call for clinic patients
 | 
|---|
| 34 |  N ORAPT,ORERR,ORI
 | 
|---|
| 35 |  K ^TMP($J,"SDAMA202","GETPLIST")
 | 
|---|
| 36 |  D GETPLIST^SDAMA202(ORSSC,"1;4","",9999999-OREARLY,9999999-ORLATE)  ;DBIA 3869
 | 
|---|
| 37 |  S ORERR=$$CLINERR^ORQRY01
 | 
|---|
| 38 |  I $L(ORERR) D  Q
 | 
|---|
| 39 |  . N XMDUZ,XMSUB,XMTEXT,XMY K XMY,^TMP("OR SCHED DB ERROR",$J)
 | 
|---|
| 40 |  . S XMDUZ=.5
 | 
|---|
| 41 |  . S XMY(.5)=""
 | 
|---|
| 42 |  . S XMSUB=ORERR
 | 
|---|
| 43 |  . S XMTEXT="^TMP(""OR SCHED DB ERROR"",$J,0,"
 | 
|---|
| 44 |  . S ^TMP("OR SCHED DB ERROR",$J,0,1,0)=ORERR
 | 
|---|
| 45 |  . S ^TMP("OR SCHED DB ERROR",$J,0,2,0)=""
 | 
|---|
| 46 |  . D ^XMD
 | 
|---|
| 47 |  . K ^TMP("OR SCHED DB ERROR",$J)
 | 
|---|
| 48 |  S ORI=0
 | 
|---|
| 49 |  F  S ORI=$O(^TMP($J,"SDAMA202","GETPLIST",ORI)) Q:ORI<1  D
 | 
|---|
| 50 |  . S ORAPT=+$G(^TMP($J,"SDAMA202","GETPLIST",ORI,1))
 | 
|---|
| 51 |  . S DFN=+$G(^TMP($J,"SDAMA202","GETPLIST",ORI,4))
 | 
|---|
| 52 |  . I ORAPT,DFN D PATIENT(DFN,OREARLY,ORLATE,ORHPRM,$G(ORCONTX),$G(ORSSC))
 | 
|---|
| 53 |  K ^TMP($J,"SDAMA202","GETPLIST")
 | 
|---|
| 54 |  D ^%ZISC
 | 
|---|
| 55 |  I $D(ZTSK) D KILL^%ZTLOAD K ZTSK
 | 
|---|
| 56 |  Q
 | 
|---|
| 57 | PATIENT(DFN,EARLY,LATE,DEVICE,CONTEXT,LOC44) ; Gets orders by patient, date, context
 | 
|---|
| 58 |  ;DFN=ptr to file 2
 | 
|---|
| 59 |  ;EARLY=Starting date
 | 
|---|
| 60 |  ;LATE=Ending date
 | 
|---|
| 61 |  ;DEVICE=device to print on.
 | 
|---|
| 62 |  ;CONTEXT=context sent to ORQ1 (default=1)
 | 
|---|
| 63 |  ;LOC44=ptr to location, file 44
 | 
|---|
| 64 |  N ARRAY,ORVP
 | 
|---|
| 65 |  S ORVP=DFN_";DPT("
 | 
|---|
| 66 |  S:'$G(CONTEXT) CONTEXT=1
 | 
|---|
| 67 |  D EN^ORQ1(ORVP,1,CONTEXT,"",LATE,EARLY,0,1)
 | 
|---|
| 68 |  I $$GET^XPAR("ALL","ORPF CHART SUMMARY SORT",1,"I") D SORT^ORPRS02
 | 
|---|
| 69 |  I '$O(^TMP("ORR",$J,ORLIST,0)) G PATX
 | 
|---|
| 70 |  S ARRAY="^TMP(""ORR"",$J,ORLIST)",LOC44=$S($G(LOC44):LOC44_";SC(",1:"")
 | 
|---|
| 71 |  D GUI^ORPR02(.ARRAY,DEVICE,"C",LOC44,1)
 | 
|---|
| 72 | PATX ;
 | 
|---|
| 73 |  K ^TMP("ORR",$J,ORLIST)
 | 
|---|
| 74 |  Q
 | 
|---|
| 75 | WORK(DFN,EARLY,LATE,DEVICE) ;Gets orders for work copy
 | 
|---|
| 76 |  ;Same description as PATIENT()
 | 
|---|
| 77 |  N ARRAY,ORVP
 | 
|---|
| 78 |  S ORVP=DFN_";DPT("
 | 
|---|
| 79 |  D EN^ORQ1(ORVP,1,1,"",LATE,EARLY,0,1)
 | 
|---|
| 80 |  I $$GET^XPAR("ALL","ORPF WORK SUMMARY SORT",1,"I") D SORT^ORPRS02
 | 
|---|
| 81 |  I '$O(^TMP("ORR",$J,ORLIST,0)) G WRKX
 | 
|---|
| 82 |  S ARRAY="^TMP(""ORR"",$J,ORLIST)"
 | 
|---|
| 83 |  D GUI^ORPR02(.ARRAY,DEVICE,"W",,1)
 | 
|---|
| 84 | WRKX ;
 | 
|---|
| 85 |  K ^TMP("ORR",$J,ORLIST)
 | 
|---|
| 86 |  Q
 | 
|---|