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
|
---|