1 | IBDF9E ;ALB/CJM - ENCOUNTER FORM (create/edit/delete text areas);MARCH 20, 1993
|
---|
2 | ;;3.0;AUTOMATED INFO COLLECTION SYS;;APR 24, 1997
|
---|
3 | TEXT ;Create, Edit, or Delete a text area on a block
|
---|
4 | S VALMBCK="R"
|
---|
5 | K DIR S DIR("?")="You can add text areas to the block, or edit or delete a text area already there."
|
---|
6 | S DIR("B")="C",DIR(0)="SB^C:Create;E:Edit;D:Delete",DIR("A")="[C]reate , [D]elete, or [E]dit a text area"
|
---|
7 | D ^DIR K DIR I $D(DIRUT)!(Y<0) Q
|
---|
8 | D @$S(Y="C":"NEWTEXT",Y="E":"EDITTEXT",Y="D":"DLTTEXT",1:"")
|
---|
9 | S VALMBCK="R"
|
---|
10 | Q
|
---|
11 | EDITTEXT ;expects IBBLK to be defined
|
---|
12 | N IBTEXT,IBDELETE
|
---|
13 | ;IBDELETE is used in the imput template
|
---|
14 | D FULL^VALM1
|
---|
15 | D SELECT
|
---|
16 | I IBTEXT D
|
---|
17 | .D RE^VALM4
|
---|
18 | .K DIE,DA S DIE=357.8,DA=IBTEXT,DR="[IBDF EDIT TEXT AREA]",DIE("NO^")="BACKOUTOK" D ^DIE K DIE,DR,DA
|
---|
19 | .D UNCMPBLK^IBDF19(IBBLK),IDXBLOCK^IBDFU4
|
---|
20 | Q
|
---|
21 | SELECT ;select a text area on the block
|
---|
22 | S IBTEXT=0
|
---|
23 | Q:'$G(IBBLK)
|
---|
24 | I '$O(^IBE(357.8,"C",IBBLK,0)) W !,"There is no text area!" D PAUSE^IBDFU5 Q
|
---|
25 | AGAIN S DIC="^IBE(357.8,",DIC(0)="EFQ",DIC("B")="",D="C",X=IBBLK
|
---|
26 | D IX^DIC K DIC
|
---|
27 | S:+Y>0 IBTEXT=+Y
|
---|
28 | I 'IBTEXT,'$D(DTOUT),'$D(DUOUT) K DIR S DIR(0)="Y",DIR("A")="No text area selected! Try again",DIR("B")="YES" D ^DIR K DIR I '$D(DIRUT),Y=1 G AGAIN
|
---|
29 | Q
|
---|
30 | DLTTEXT ;delete a text area - expects IBBLK to be defined
|
---|
31 | N IBTEXT
|
---|
32 | D FULL^VALM1
|
---|
33 | D SELECT
|
---|
34 | I IBTEXT D
|
---|
35 | .Q:'$$RUSURE^IBDFU5($P($G(^IBE(357.8,IBTEXT,0)),"^"))
|
---|
36 | .D DLTTEXT^IBDFU3(357.8,IBBLK,IBTEXT)
|
---|
37 | .D UNCMPBLK^IBDF19(IBBLK),IDXBLOCK^IBDFU4
|
---|
38 | Q
|
---|
39 | NEWTEXT ;adds a new text area, expects IBBLK to be defined
|
---|
40 | N NAME,IBTEXT,NODE,IBDELETE,DLAYGO
|
---|
41 | ;IBDELETE - a flag used in the input template to indicate if the input template was completed - if returns 1 delete the record
|
---|
42 | S NAME=$$NEWNAME Q:NAME=-1
|
---|
43 | K DIC,DIE,DD,D0,DINUM S DIC="^IBE(357.8,",DIC(0)="FL",X=NAME,DLAYGO=357.8
|
---|
44 | D FILE^DICN K DIC,DIE,DA
|
---|
45 | S IBTEXT=$S(+Y<0:"",1:+Y)
|
---|
46 | I 'IBTEXT D
|
---|
47 | .W !,"Unable to create a text area!" D PAUSE^IBDFU5
|
---|
48 | I IBTEXT D
|
---|
49 | .K DIE,DA S DIE=357.8,DA=IBTEXT,DR="[IBDF EDIT TEXT AREA]",DIE("NO^")="BACKOUTOK" D ^DIE K DIE,DR,DA
|
---|
50 | .I IBDELETE K DA S DIK="^IBE(357.8,",DA=IBTEXT D ^DIK K DIK Q
|
---|
51 | .D UNCMPBLK^IBDF19(IBBLK),IDXBLOCK^IBDFU4
|
---|
52 | Q
|
---|
53 | NEWNAME() ;
|
---|
54 | K DIR S DIR(0)="357.8,.01A",DIR("A")="New Text Area Name: ",DIR("B")=""
|
---|
55 | D ^DIR K DIR I $D(DIRUT) Q -1
|
---|
56 | Q Y
|
---|
57 | FORMAT ;formats the word-processing field of IBTEXT
|
---|
58 | N W,HT,NODE,COUNT,LINE
|
---|
59 | S NODE=$G(^IBE(357.8,IBTEXT,0))
|
---|
60 | S W=$P(NODE,"^",5),HT=$P(NODE,"^",6)
|
---|
61 | D FORMAT^IBDFU6("^IBE(357.8,IBTEXT,1)",W) ;creates formated version at ^UTILITY($J,"W",1)
|
---|
62 | K ^IBE(357.8,IBTEXT,1)
|
---|
63 | I $G(^UTILITY($J,"W",1))>HT W !,"WARNING! The text area is too small to display all of the text." D PAUSE^IBDFU5
|
---|
64 | S (COUNT,NUM)=0 F S NUM=$O(^UTILITY($J,"W",1,NUM)) Q:'NUM S LINE=$G(^(NUM,0)) D
|
---|
65 | .;I $L(LINE)>W W !,"WARNING! The word "_LINE_" is being truncated",!,"because it is too long." D PAUSE^IBDFU5
|
---|
66 | .S ^IBE(357.8,IBTEXT,1,NUM,0)=$E(LINE,1,W)
|
---|
67 | .S COUNT=COUNT+1
|
---|
68 | S ^IBE(357.8,IBTEXT,1,0)="^^"_COUNT_"^"_COUNT_"^"_DT_"^^^^"
|
---|
69 | K ^UTILITY($J,"W")
|
---|
70 | Q
|
---|
71 | MAXHT() ;returns the maximum ht. of IBTEXT text area fits in the block IBBLK
|
---|
72 | N NODE,Y
|
---|
73 | S NODE=$G(^IBE(357.8,IBTEXT,0)) S Y=$P(NODE,"^",4)
|
---|
74 | Q ((1+$$MAXY^IBDFU1B)-Y)
|
---|
75 | Q
|
---|
76 | MAXW() ;returns the maximum width of IBTEXT text area fits in the block IBBLK
|
---|
77 | N NODE,X
|
---|
78 | S NODE=$G(^IBE(357.8,IBTEXT,0)) S X=$P(NODE,"^",3)
|
---|
79 | Q ((1+$$MAXX^IBDFU1B)-X)
|
---|