| 1 | IBDF9B2 ;ALB/CJM - ENCOUNTER FORM - (edit,delete,add multiple choice fields) ;JUL 20,1994 | 
|---|
| 2 | ;;3.0;AUTOMATED INFO COLLECTION SYS;;APR 24, 1997 | 
|---|
| 3 | ; | 
|---|
| 4 | MFIELD ;Create, Edit, or Delete a multiple choice field from the form | 
|---|
| 5 | ; | 
|---|
| 6 | N IBVALMBG,QUIT | 
|---|
| 7 | S IBVALMBG=VALMBG | 
|---|
| 8 | S QUIT=0 | 
|---|
| 9 | S VALMBCK="R" | 
|---|
| 10 | ; | 
|---|
| 11 | F  D  Q:QUIT | 
|---|
| 12 | .D FULL^VALM1 | 
|---|
| 13 | .K DIR S DIR("?",1)="You can Create, Edit, or Delete a multiple choice field, or Shift all of the",DIR("?")="multiple choice fields within a definable range either up or down." | 
|---|
| 14 | .W !!,DIR("?",1),!,DIR("?"),! | 
|---|
| 15 | .S DIR("B")="C",DIR(0)="SB^C:Create;E:Edit;D:Delete;S:Shift;Q:Quit",DIR("A")="[C]reate,   [D]elete,   [E]dit,   [S]hift,   [Q]uit" | 
|---|
| 16 | .D ^DIR K DIR I $D(DIRUT)!(Y<0) S QUIT=1 Q | 
|---|
| 17 | .I Y="Q" S QUIT=1 Q | 
|---|
| 18 | .D @$S(Y="C":"NEWFLD",Y="E":"EDITFLD",Y="D":"DLTFLD",Y="S":"SHIFT",1:"") | 
|---|
| 19 | .D RE^VALM4 | 
|---|
| 20 | .D FULL^VALM1 | 
|---|
| 21 | S VALMBCK="R",VALMBG=IBVALMBG | 
|---|
| 22 | Q | 
|---|
| 23 | SHIFT ;expects IBBLK to be defined - shifts all input fields within range supplied by user | 
|---|
| 24 | D SHIFT^IBDF10("M") | 
|---|
| 25 | D UNCMPBLK^IBDF19(IBBLK),IDXBLOCK^IBDFU4 | 
|---|
| 26 | Q | 
|---|
| 27 | EDITFLD ;expects IBBLK to be defined | 
|---|
| 28 | N IBFIELD,RTN,NODE | 
|---|
| 29 | N IBOLD,IBX,IBY,IBLEN,IBTYPE,IBLABEL,IBQUAL,IBID ;these are used in the input template | 
|---|
| 30 | D SELECT | 
|---|
| 31 | I IBFIELD D | 
|---|
| 32 | .D RE^VALM4 | 
|---|
| 33 | .S (IBX,IBY,IBLEN)=0 | 
|---|
| 34 | .S IBOLD=1,IBTYPE=$P($G(^IBE(357.93,IBFIELD,0)),"^",6) | 
|---|
| 35 | .K DR,DIE,DA S DIE=357.93,DA=IBFIELD,DR="[IBDF EDIT MULT CHOICE FIELD]",DIE("NO^")="BACKOUTOK" D ^DIE K DIE,DR,DA,DIC | 
|---|
| 36 | .D UNCMPBLK^IBDF19(IBBLK),IDXBLOCK^IBDFU4 | 
|---|
| 37 | Q | 
|---|
| 38 | SELECT ; | 
|---|
| 39 | S IBFIELD=0 | 
|---|
| 40 | Q:'$G(IBBLK) | 
|---|
| 41 | I '$O(^IBE(357.93,"C",IBBLK,0)) W !,"There is no multiple choice field!" D PAUSE^IBDFU5 Q | 
|---|
| 42 | AGAIN K DIC S DIC="^IBE(357.93,",DIC(0)="EFQ",DIC("B")="",D="C",X=IBBLK | 
|---|
| 43 | S DIC("S")="I $P($G(^(0)),U,8)=IBBLK" | 
|---|
| 44 | D IX^DIC K DIC | 
|---|
| 45 | S:+Y>0 IBFIELD=+Y | 
|---|
| 46 | I 'IBFIELD,'$D(DTOUT),'$D(DUOUT) K DIR S DIR(0)="Y",DIR("A")="No multiple choice field selected! Try again",DIR("B")="YES" D ^DIR K DIR I '$D(DIRUT),Y=1 G AGAIN | 
|---|
| 47 | Q | 
|---|
| 48 | DLTFLD ;expects IBBLK to be defined | 
|---|
| 49 | N IBFIELD | 
|---|
| 50 | D SELECT | 
|---|
| 51 | I IBFIELD D | 
|---|
| 52 | .Q:'$$RUSURE^IBDFU5($P($G(^IBE(357.93,IBFIELD,0)),"^")) | 
|---|
| 53 | .D DLTIFLD^IBDFU3(357.93,IBBLK,IBFIELD) | 
|---|
| 54 | .D UNCMPBLK^IBDF19(IBBLK),IDXBLOCK^IBDFU4 | 
|---|
| 55 | Q | 
|---|
| 56 | NEWFLD ;adds a new field, expects IBBLK to be defined | 
|---|
| 57 | N NAME,FIELD,NODE,IBRTN,DLAYGO | 
|---|
| 58 | N IBX,IBY,IBLEN,IBOLD,IBTYPE,IBLABEL,IBQUAL,IBID ;these are used in the input template | 
|---|
| 59 | S NAME=$$NEWNAME^IBDF9B | 
|---|
| 60 | Q:NAME=-1 | 
|---|
| 61 | S IBOLD=0,(IBX,IBY,IBLEN)="" | 
|---|
| 62 | K DIC,DIE,DD,DO,DINUM S DIC="^IBE(357.93,",DIC(0)="FL",X=NAME,DLAYGO=357.93 | 
|---|
| 63 | D FILE^DICN K DIC,DIE,DA | 
|---|
| 64 | S FIELD=$S(+Y<0:"",1:+Y) | 
|---|
| 65 | I 'FIELD D | 
|---|
| 66 | .W !,"Unable to create a new input field!" D PAUSE^IBDFU5 | 
|---|
| 67 | I FIELD D | 
|---|
| 68 | .K DIE,DA,DR S DIE=357.93,DA=FIELD,DR="[IBDF EDIT MULT CHOICE FIELD]",DIE("NO^")="BACKOUTOK" D ^DIE K DIE,DR,DA,DIC | 
|---|
| 69 | .D UNCMPBLK^IBDF19(IBBLK),IDXBLOCK^IBDFU4 | 
|---|
| 70 | Q | 
|---|