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