1 | IBDFFSMP ;ALB/MAF -- Print a sample of all encounter forms. - Dec 12 1995@800
|
---|
2 | ;;3.0;AUTOMATED INFO COLLECTION SYS;;APR 24, 1997
|
---|
3 | ;
|
---|
4 | S (IBDFFLG,IBQUIT)=0
|
---|
5 | S (IBPM,WITHDATA)=1
|
---|
6 | K ^TMP("IBFRMS",$J)
|
---|
7 | ;
|
---|
8 | ; -- Ask patient name
|
---|
9 | D PATIENT G:IBQUIT EXIT
|
---|
10 | ;
|
---|
11 | ; -- Loop thru Print Manager Clinic Setup to find active forms used by
|
---|
12 | ; clinics.
|
---|
13 | S IBCLINIC="" F S IBCLINIC=$O(^SD(409.95,"B",IBCLINIC)) Q:IBCLINIC']"" D
|
---|
14 | .S SETUP=$O(^SD(409.95,"B",IBCLINIC,""))
|
---|
15 | .S NAME=$P($G(^SC(IBCLINIC,0)),"^")
|
---|
16 | .D SET
|
---|
17 | I '$D(^TMP("IBFRMS",$J)) W !!,"There are no forms set up for clinics...",!! G EXIT
|
---|
18 | D NOW^IBDF1A,DEVICE ;sets IBAPPT to NOW
|
---|
19 | G:IBQUIT EXIT
|
---|
20 | I 'IBDFFLG U IO D QUEUED
|
---|
21 | G EXIT
|
---|
22 | ;
|
---|
23 | SET ; -- Build list into array IBFORMS. Make sure EF is one that is active
|
---|
24 | ; Will print form only once.
|
---|
25 | I $O(^SD(409.95,"B",IBCLINIC,0)) D
|
---|
26 | .S IBDFNODE=^SD(409.95,SETUP,0)
|
---|
27 | .S IBQUIT=0
|
---|
28 | .F X=2,3,4,5,6,8,9 S:$P(IBDFNODE,"^",X)&('$D(^TMP("IBFRMS",$J,+$P(IBDFNODE,"^",X)))) ^TMP("IBFRMS",$J,$P(IBDFNODE,"^",X))=IBCLINIC ;Loop thru the clinic setup node to find the active EF.
|
---|
29 | .Q
|
---|
30 | Q
|
---|
31 | ;
|
---|
32 | PATIENT ; -- gets the patient to print the form for
|
---|
33 | W !!
|
---|
34 | S DIR(0)="P^2:EM",DIR("A")="Select PATIENT NAME for Samples" D ^DIR K DIR I $D(DIRUT)!(+Y<1)!('(+Y)) S IBQUIT=1 Q
|
---|
35 | S DFN=+Y
|
---|
36 | Q
|
---|
37 | ;
|
---|
38 | QUEUED ;
|
---|
39 | ;input - DFN,IBAPPT,IBCLINIC
|
---|
40 | N IBDEVICE
|
---|
41 | ;
|
---|
42 | D DEVICE^IBDFUA(0,.IBDEVICE)
|
---|
43 | S IBDSAMP=1 ;printing sample forms don't update forms tracking, print form in name/ssn block
|
---|
44 | F IBFORM=0:0 S IBFORM=$O(^TMP("IBFRMS",$J,IBFORM)) Q:'IBFORM D
|
---|
45 | .S IBCLINIC=+$G(^TMP("IBFRMS",$J,IBFORM))
|
---|
46 | .D DRWFORM^IBDF2A(IBFORM,WITHDATA,.IBDEVICE)
|
---|
47 | ;
|
---|
48 | EXIT ;
|
---|
49 | K IBDSAMP
|
---|
50 | I $D(ZTQUEUED) S ZTREQ="@" Q
|
---|
51 | D ^%ZISC
|
---|
52 | K ^TMP("IBFRMS",$J)
|
---|
53 | D KPRNTVAR^IBDFUA ;kills the screen and graphics parameters
|
---|
54 | K CLINIC,DFN,FORMS,IBAPPT,IBCLINIC,IBFORM,IBDFNODE,IBDFFLG,IBPM,IBQUIT,NAME,POP,SETUP,WITHDATA,X,Y,I
|
---|
55 | Q
|
---|
56 | ;
|
---|
57 | DEVICE ;
|
---|
58 | I $D(ZTQUEUED) Q
|
---|
59 | W !,$C(7),"** Encounter Forms require a page size of 80 lines and 132 columns. **"
|
---|
60 | K %IS,%ZIS,IOP S %ZIS="MQ" D ^%ZIS I POP S IBQUIT=1 Q
|
---|
61 | I $D(IO("Q")) D
|
---|
62 | .S ZTRTN="QUEUED^IBDFFSMP",(ZTSAVE("WITHDATA"),ZTSAVE("IB*"),ZTSAVE("DFN"),ZTSAVE("FORMS"))="",ZTSAVE("^TMP(""IBFRMS"",$J,")=""
|
---|
63 | .S ZTDESC="IBD - PRINT SAMPLE ENCOUNTER FORM" D ^%ZTLOAD
|
---|
64 | .W !,$S($D(ZTSK):"REQUEST QUEUED TASK="_ZTSK,1:"REQUEST CANCELLED")
|
---|
65 | .I $D(ZTSK) S IBDFFLG=1
|
---|
66 | .D HOME^%ZIS S IBQUIT=1 Q
|
---|
67 | Q
|
---|