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