1 | IBDF9A1 ;ALB/CJM - ENCOUNTER FORM - (create,edit,delete selection list - continued) ;FEB 1,1993
|
---|
2 | ;;3.0;AUTOMATED INFO COLLECTION SYS;;APR 24, 1997
|
---|
3 | ;
|
---|
4 | NEWLIST ;creates a new list
|
---|
5 | ;expects IBBLK to be defined
|
---|
6 | N IBLIST,IBLEN,IBP,IBRTN,NAME,IBDELETE,IBDYN,IBINPUT,IBDFLTF,IBDFLTB,IBDFLTL
|
---|
7 | S (IBDFLTF,IBDFLTB,IBDFLTL,IBOLD,IBLIST)=0,VALMBCK="R"
|
---|
8 | D FULL^VALM1
|
---|
9 | S IBRTN=$$RTN^IBDF9A Q:'IBRTN
|
---|
10 | S IBDFLTF=$$DFLTS^IBDFU5 D:IBDFLTF
|
---|
11 | .S IBDFLTB=0 F S IBDFLTB=$O(^IBE(357.1,"C",IBDFLTF,IBDFLTB)) Q:'IBDFLTB D Q:IBDFLTL
|
---|
12 | ..S IBDFLTL=0 F S IBDFLTL=$O(^IBE(357.2,"C",IBDFLTB,IBDFLTL)) Q:'IBDFLTL Q:$P($G(^IBE(357.2,IBDFLTL,0)),"^",11)=IBRTN
|
---|
13 | I IBDFLTL D Q:IBLIST
|
---|
14 | .S IBLIST=$$COPYLIST^IBDFU2(IBDFLTL,IBDFLTB,IBBLK,357.2,357.2)
|
---|
15 | .Q:'IBLIST
|
---|
16 | .K DIE,DA,DR S DIE=357.2,DA=IBLIST,DR="[IBDF POSITION/SIZE COLUMNS]",DIE("NO^")="BACKOUTOK" D ^DIE K DIE,DR,DA
|
---|
17 | .S VALMBCK="R" D UNCMPBLK^IBDF19(IBBLK),IDXBLOCK^IBDFU4
|
---|
18 | S NAME=$$NEWNAME^IBDF9A Q:NAME=-1
|
---|
19 | K DIC,DIE,DD,DO,DINUM,DA
|
---|
20 | N DLAYGO
|
---|
21 | S DIC="^IBE(357.2,",DIC(0)="FL",X=NAME,DLAYGO=357.2
|
---|
22 | D FILE^DICN K DIC,DA
|
---|
23 | S IBLIST=$S(+Y<0:"",1:+Y)
|
---|
24 | I 'IBLIST D
|
---|
25 | .W !,"Unable to create a new selection list!" D PAUSE^IBDFU5
|
---|
26 | I IBLIST D
|
---|
27 | .D DLISTCNT^IBDFU3(IBLIST,357.2) ;deletes anything that may have been left lying around that now points to IBLIST
|
---|
28 | .K DIE,DA,DR S DIE=357.2,DA=IBLIST,DR="[IBDF EDIT SELECTION LIST]",DIE("NO^")="BACKOUTOK" D ^DIE K DIE,DR,DA
|
---|
29 | .I IBDELETE K DA S DIK="^IBE(357.2,",DA=IBLIST D ^DIK K DIK,DA
|
---|
30 | .I IBLIST,'IBDELETE D ADDGROUP("BLANK",0)
|
---|
31 | .D UNCMPBLK^IBDF19(IBBLK),IDXBLOCK^IBDFU4
|
---|
32 | S VALMBCK="R"
|
---|
33 | Q
|
---|
34 | ADDGROUP(NAME,ORDER) ;adds a group to the selection list=IBLIST
|
---|
35 | N GROUP
|
---|
36 | K DIC,DIE,DD,DO,DINUM,DA
|
---|
37 | N DLAYGO
|
---|
38 | S DIC="^IBE(357.4,",DIC(0)="FL",X=NAME,DLAYGO=357.4
|
---|
39 | D FILE^DICN K DIC,DA
|
---|
40 | S GROUP=$S(+Y<0:"",1:+Y)
|
---|
41 | I GROUP D
|
---|
42 | .S NODE=$G(^IBE(357.4,GROUP,0)) S $P(NODE,"^",2)=ORDER,$P(NODE,"^",3)=IBLIST S ^IBE(357.4,GROUP,0)=NODE
|
---|
43 | .S DIK="^IBE(357.4,",DA=GROUP D IX1^DIK K DIK,DA
|
---|
44 | Q
|
---|
45 | ;
|
---|
46 | FORMAT ;allows the user to format all of the selections on the list in mass
|
---|
47 | ;
|
---|
48 | ;
|
---|
49 | ;TYPE = type of formating - U=upper case,L=lower case,C=capitalize
|
---|
50 | ;SUBCOL is the subcolumn to format
|
---|
51 | ;
|
---|
52 | N TYPE,SUBCOL,SLCTN
|
---|
53 | ;
|
---|
54 | ;ask for the subcolumn to format
|
---|
55 | S SUBCOL=$$SUBCOL
|
---|
56 | ;
|
---|
57 | ;ask for the type of fomatting
|
---|
58 | S TYPE=$S(SUBCOL:$$TYPE,1:"")
|
---|
59 | ;
|
---|
60 | ;find all the sections to be formatted and do so
|
---|
61 | I TYPE'="",SUBCOL S SLCTN=0 F S SLCTN=$O(^IBE(357.3,"C",IBLIST,SLCTN)) Q:'SLCTN D:$P($G(^IBE(357.3,SLCTN,0)),"^",3)=IBLIST CHANGE(SLCTN,SUBCOL,TYPE)
|
---|
62 | ;
|
---|
63 | S VALMBCK="R"
|
---|
64 | Q
|
---|
65 | ;
|
---|
66 | FORMAT2 ;allows the user to format all of the selections in the group in mass
|
---|
67 | ;
|
---|
68 | ;
|
---|
69 | ;TYPE = type of formating - U=upper case,L=lower case,C=capitalize
|
---|
70 | ;SUBCOL is the subcolumn to format
|
---|
71 | ;
|
---|
72 | N TYPE,SUBCOL,SLCTN
|
---|
73 | ;
|
---|
74 | ;ask for the subcolumn to format
|
---|
75 | S SUBCOL=$$SUBCOL
|
---|
76 | ;
|
---|
77 | ;ask forthe type of fomatting
|
---|
78 | S TYPE=$S(SUBCOL:$$TYPE,1:"")
|
---|
79 | ;
|
---|
80 | ;find all the sections to be formatted and do so
|
---|
81 | I TYPE'="",SUBCOL S SLCTN=0 F S SLCTN=$O(^IBE(357.3,"D",IBGRP,SLCTN)) Q:'SLCTN D:$P($G(^IBE(357.3,SLCTN,0)),"^",4)=IBGRP CHANGE(SLCTN,SUBCOL,TYPE)
|
---|
82 | ;
|
---|
83 | D IDXSLCTN^IBDF4
|
---|
84 | S VALMBCK="R"
|
---|
85 | Q
|
---|
86 | ;
|
---|
87 | TYPE() ;ask the user what type of formatting
|
---|
88 | N TYPE S TYPE=""
|
---|
89 | K DIR S DIR(0)="SOB^UPPERCASE:U;LOWERCASE:L;CAPITALIZE:C"
|
---|
90 | S DIR("A")="Select the type of formatting",DIR("B")="C"
|
---|
91 | D ^DIR K DIR
|
---|
92 | I '$D(DIRUT),Y'=-1 S TYPE=Y
|
---|
93 | Q $E(TYPE,1)
|
---|
94 | ;
|
---|
95 | CHANGE(SLCTN,SUBCOL,TYPE) ;
|
---|
96 | ;
|
---|
97 | N DA,NODE,STR
|
---|
98 | S DA=$O(^IBE(357.3,SLCTN,1,"B",SUBCOL,0))
|
---|
99 | Q:'DA
|
---|
100 | S NODE=$G(^IBE(357.3,SLCTN,1,DA,0))
|
---|
101 | S STR=$P(NODE,"^",2)
|
---|
102 | D:$L(STR)
|
---|
103 | .I TYPE="U" S STR=$$UP^XLFSTR(STR)
|
---|
104 | .I TYPE="L" S STR=$$LOW^XLFSTR(STR)
|
---|
105 | .I TYPE="C" S STR=$$CAPS(STR)
|
---|
106 | .S $P(^IBE(357.3,SLCTN,1,DA,0),"^",2)=STR
|
---|
107 | Q
|
---|
108 | ;
|
---|
109 | CAPS(STR) ;returns STR with each word in it capitalized
|
---|
110 | N FIRST,I,CHAR,LEN
|
---|
111 | S FIRST=1,LEN=$L(STR)
|
---|
112 | F I=1:1 S CHAR=$E(STR,I) Q:CHAR="" D
|
---|
113 | .I CHAR?1A,FIRST D
|
---|
114 | ..S FIRST=0,CHAR=$$UP^XLFSTR(CHAR)
|
---|
115 | .E I CHAR?1A D
|
---|
116 | ..S CHAR=$$LOW^XLFSTR(CHAR)
|
---|
117 | .E S FIRST=1
|
---|
118 | .S STR=$E(STR,1,I-1)_CHAR_$E(STR,I+1,LEN)
|
---|
119 | Q STR
|
---|
120 | ;
|
---|
121 | SUBCOL() ;ask what subcolumn to format
|
---|
122 | ;SCLIST - used to record the subcolumns that can be formated - each digit will signify a subcolum
|
---|
123 | ;
|
---|
124 | N SCLIST,NODE,SUBCOL,ANS
|
---|
125 | ;first get the list of subcolumns that can be formatted
|
---|
126 | S SCLIST="",SUBCOL=0
|
---|
127 | F S SUBCOL=$O(IBLIST("SCTYPE",SUBCOL)) Q:'SUBCOL I $G(IBLIST("SCW",SUBCOL)),IBLIST("SCTYPE",SUBCOL)=1,IBLIST("SCEDITABLE",SUBCOL) S SCLIST=SCLIST_","_SUBCOL
|
---|
128 | ;if there is at most one subcolumn that can be edited return that
|
---|
129 | I $L(SCLIST)<3 Q $E(SCLIST,2)
|
---|
130 | ;
|
---|
131 | ;now ask what subcolumn to format
|
---|
132 | AGAIN W !,"What subcolumn do you want formated? Choose from (",$E(SCLIST,2,10),"): "
|
---|
133 | R ANS:DTIME
|
---|
134 | I '$T!(ANS["^") Q ""
|
---|
135 | I ANS?1N,SCLIST[ANS Q ANS
|
---|
136 | G AGAIN
|
---|
137 | Q ANS
|
---|