1 | IBDF6 ;ALB/CJM - ENCOUNTER FORM - ENTRY FOR BUILDING A FORM ;NOV 16,1992
|
---|
2 | ;;3.0;AUTOMATED INFO COLLECTION SYS;**10,29,30**;APR 24, 1997
|
---|
3 | ;
|
---|
4 | FORMLIST ;
|
---|
5 | N IBTKFORM,IBDEVICE,IBAPI,IOVL,IOHL,IOBRC,IOBLC,IOTRC,IOTLC,IBFORM
|
---|
6 | ;IBDEVICE stores parameters related to device for printing forms
|
---|
7 | D DEVICE^IBDFUA(1,.IBDEVICE)
|
---|
8 | S IBTKFORM=0 ;IBTKFORM=1 only for toolkit forms
|
---|
9 | S IBAPI("INDEX")="D IDXFORMS^IBDF6"
|
---|
10 | S IBAPI("SELECT")="D SELECT^IBDF6"
|
---|
11 | N IBFASTXT ;set to 1 for fast exit from system
|
---|
12 | S IBFASTXT=0
|
---|
13 | K XQORS,VALMEVL,DIR
|
---|
14 | S IBCLINIC=""
|
---|
15 | D CLINIC
|
---|
16 | I IBCLINIC D EN^VALM("IBDF CLINIC FORM LIST")
|
---|
17 | Q
|
---|
18 | ONENTRY ;
|
---|
19 | D IDXFORMS
|
---|
20 | Q
|
---|
21 | ONEXIT ;
|
---|
22 | D KILL^%ZISS
|
---|
23 | K ^TMP("IB",$J),^TMP("IBDF",$J),IBCLINIC,VALMY,IBQUIT,VALMBCK,X,Y,I,DA,D0
|
---|
24 | Q
|
---|
25 | EDITFORM ;allows user to select a form, then displays it for edit
|
---|
26 | N IBFORM,ARY,DFN,IBAPPT,RTNLIST,IBPRINT
|
---|
27 | S ARY="^TMP(""IBDF"",$J,""TEMPORARY CLINIC LIST"")"
|
---|
28 | ;
|
---|
29 | K @ARY
|
---|
30 | S VALMBCK=""
|
---|
31 | I $G(IBAPI("SELECT"))'="" X IBAPI("SELECT")
|
---|
32 | I IBFORM D CLINICS^IBDFU4(IBFORM,ARY) I $G(@ARY@(0))>1 W !,"The form is in use by other clinics!" D LIST^IBDFU4(ARY,4) S DIR(0)="Y",DIR("A")="Still want to edit",DIR("B")="N" D ^DIR K DIR I $D(DIRUT)!(Y=0) S IBFORM=""
|
---|
33 | K ARY
|
---|
34 | I IBFORM,'$$LOCKFRM2^IBDFU7(IBFORM) D LOCKMSG2^IBDFU7(IBFORM) S IBFORM=""
|
---|
35 | I IBFORM D PRNTPRMS^IBDFU1C(.IBPRINT,0,1,0,1),UNCMPL^IBDF19(IBFORM,0),EN^VALM("IBDF DISPLAY FORM FOR EDIT"),UNCMPL^IBDF19(IBFORM,0),FREEFRM2^IBDFU7(IBFORM)
|
---|
36 | S VALMBCK="R"
|
---|
37 | Q
|
---|
38 | ;
|
---|
39 | CLINIC ;
|
---|
40 | N DIR,DIC,DIE,DR,DA
|
---|
41 | S DIR(0)="409.95,.01",DIR("A")="EDIT FORMS FOR WHICH CLINIC? "
|
---|
42 | D ^DIR
|
---|
43 | K DIR
|
---|
44 | I $D(DIRUT)!(+Y<0) Q
|
---|
45 | S IBCLINIC=+Y
|
---|
46 | Q
|
---|
47 | ;
|
---|
48 | IDXFORMS ;build an array of forms used by IBCLINIC for the list processor
|
---|
49 | N FORM,SETUP,NODE,SUB,SUBREC,USE,ID
|
---|
50 | K @VALMAR
|
---|
51 | S SETUP="",VALMCNT=0,ID=0
|
---|
52 | S SETUP=$O(^SD(409.95,"B",IBCLINIC,"")) Q:'SETUP
|
---|
53 | S NODE=$G(^SD(409.95,SETUP,0)) Q:NODE=""
|
---|
54 | F SUB=2,6,8,9,3,4,5,7 S FORM=$P(NODE,"^",SUB) I FORM D
|
---|
55 | .I $D(^IBE(357,FORM,0)) D
|
---|
56 | ..S USE=""
|
---|
57 | ..D ENTRY
|
---|
58 | Q
|
---|
59 | ENTRY ;adds an entry to the array
|
---|
60 | S USE=USE_$S(SUB=2:"Basic Encounter Form",SUB=3:"Supplemental Form - Established Patients",SUB=4:"Supplemental Form - New Patients",SUB=5:"Form To Print With No Patient Data",1:"")
|
---|
61 | S:USE="" USE=USE_$S(SUB=7:"For Future Use",1:"Supplemental Form - All Patients")
|
---|
62 | S ID=ID+1,VALMCNT=VALMCNT+1,@VALMAR@(VALMCNT,0)=$$DISPLAY1(FORM,USE,ID),@VALMAR@("IDX",VALMCNT,ID)=FORM D FLDCTRL^VALM10(VALMCNT) ;set video for ID column
|
---|
63 | S VALMCNT=VALMCNT+1,@VALMAR@(VALMCNT,0)=$$DISPLAY2(FORM),@VALMAR@("IDX",VALMCNT,ID)=FORM_"^"_$S(SUB=2:.02,SUB=3:.03,SUB=4:.04,SUB=5:.05,SUB=6:.06,SUB=7:.07,SUB=8:.08,SUB=9:.09,1:0)
|
---|
64 | Q
|
---|
65 | HDR ;
|
---|
66 | S VALMHDR(1)="FORMS CURRENTLY USED BY '"_$$CLNCNAME_"' HOSPITAL LOCATION"
|
---|
67 | Q
|
---|
68 | CLNCNAME() ;
|
---|
69 | Q $P($G(^SC(IBCLINIC,0)),"^",1)
|
---|
70 | DISPLAY1(FORM,USE,ID) ;
|
---|
71 | N NODE,NAME,RET
|
---|
72 | S RET=$J(ID,3)_$$SP(2)
|
---|
73 | S NODE=$G(^IBE(357,FORM,0))
|
---|
74 | S NAME=$P(NODE,"^",1)
|
---|
75 | S RET=RET_$$PR(NAME,30)_$$SP(2)_USE
|
---|
76 | Q RET
|
---|
77 | DISPLAY2(FORM) ;
|
---|
78 | N NODE,DESCR,RET
|
---|
79 | S RET=$$SP(37)
|
---|
80 | S NODE=$G(^IBE(357,FORM,0))
|
---|
81 | S DESCR=$P(NODE,"^",3)
|
---|
82 | S RET=RET_$E(DESCR,1,80)
|
---|
83 | Q RET
|
---|
84 | PR(STR,LEN) ; pad right
|
---|
85 | Q:'$G(LEN) ""
|
---|
86 | N B S STR=$E($G(STR),1,LEN)
|
---|
87 | S:LEN'=$L(STR) $P(B," ",LEN-$L($G(STR)))=" "
|
---|
88 | Q STR_$G(B)
|
---|
89 | SP(LEN) ;
|
---|
90 | Q:'$G(LEN)
|
---|
91 | N S S $P(S," ",LEN)=" "
|
---|
92 | Q S
|
---|
93 | CHNGCLNC ;allows the user to change the clinic
|
---|
94 | N SAVECLNC S SAVECLNC=IBCLINIC
|
---|
95 | D FULL^VALM1
|
---|
96 | S VALMBCK="R"
|
---|
97 | D CLINIC I 'IBCLINIC S IBCLINIC=SAVECLNC Q
|
---|
98 | D HDR
|
---|
99 | X IBAPI("INDEX")
|
---|
100 | Q
|
---|
101 | ;
|
---|
102 | SELECT ;
|
---|
103 | N SEL
|
---|
104 | D EN^VALM2(XQORNOD(0),"S")
|
---|
105 | S SEL=$O(VALMY(""))
|
---|
106 | S IBFORM=$S('SEL:"",1:+$G(@VALMAR@("IDX",2*SEL,SEL)))
|
---|
107 | Q
|
---|