[613] | 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
|
---|