| 1 | IBDF13 ;ALB/CJM - ENCOUNTER FORM - EDITING TOOLKIT BLKS ; 24-JUN-1993
|
---|
| 2 | ;;3.0;AUTOMATED INFO COLLECTION SYS;;APR 24, 1997
|
---|
| 3 | ;
|
---|
| 4 | LIST ;displays list of toolkit blocks, then allows editng
|
---|
| 5 | N IBFORM,IBTKFORM,IBTKBLK,IBFASTXT,IOVL,IOHL,IOBRC,IOBLC,IOTRC,IOTLC,IBBLK,BLKLIST,D0,DA,IBDEVICE
|
---|
| 6 | S (IBTKFORM,IBFASTXT,IBBLK)=0,IBTKBLK=1
|
---|
| 7 | S IBFORM("NAME")="LIST OF TOOLKIT BLOCKS",IBFORM("TOOLKIT")=1,IBFORM("COMPILED")=0,IBFORM("HT")=80,IBFORM("WIDTH")=133,IBFORM("PAGE_HT")=80,IBFORM("PAGES")=1,IBFORM("SCAN")=1,IBFORM("SCAN","ICR")=1,IBFORM("SCAN",1)=1
|
---|
| 8 | ;
|
---|
| 9 | D DEVICE^IBDFUA(1,.IBDEVICE)
|
---|
| 10 | K XQORS,VALMEVL
|
---|
| 11 | D PRNTPRMS^IBDFU1C(.IBPRINT,0,1,0,0)
|
---|
| 12 | S IBFORM=$$TKFORM^IBDFU2C
|
---|
| 13 | D EN^VALM("IBDF EDIT TOOL KIT BLOCKS") ;list processor displays list of toolkit blocks
|
---|
| 14 | Q
|
---|
| 15 | ;
|
---|
| 16 | SELECT() ;allows the user to select from the displayed list of TK blocks
|
---|
| 17 | N CHOICE,IBBLK
|
---|
| 18 | S IBBLK=""
|
---|
| 19 | D EN^VALM2($G(XQORNOD(0)),"S")
|
---|
| 20 | S CHOICE=$O(VALMY("")) S:CHOICE IBBLK=$G(@VALMAR@("IDX",CHOICE,CHOICE))
|
---|
| 21 | Q IBBLK
|
---|
| 22 | EDITBLK ;allows user to select a blk, then displays it for edit
|
---|
| 23 | ;allows user to discard or save changes to the block
|
---|
| 24 | ;
|
---|
| 25 | ;If IBBLK and IBBLK2 are used to point to two copies of the block, one in the workspace and the other on the form
|
---|
| 26 | ;the copy on the form is not edited, the copy in the workspace is
|
---|
| 27 | N IBBLK,IBBLK2,IBTKODR,IBJUNK,IFSAVE
|
---|
| 28 | ;N IBMEMARY
|
---|
| 29 | S VALMBCK="R"
|
---|
| 30 | S IBBLK2=""
|
---|
| 31 | S IBBLK=$$SELECT
|
---|
| 32 | I IBBLK D
|
---|
| 33 | .S (IBBLK2,IBTKODR,IBJUNK)=""
|
---|
| 34 | .D COPYBLK^IBDF5B(IBBLK,.IBBLK2,.IBBLK,.IBTKODR,.IBJUNK) I 'IBBLK S IBBLK=IBBLK2,IBBLK2="" Q ;sets IBBLK to the work copy, IBBLK2 to the copy actually on the form
|
---|
| 35 | D:IBBLK2 EN^VALM("IBDF FORM BLOCK EDIT")
|
---|
| 36 | I IBBLK,IBBLK2 D
|
---|
| 37 | .S IFSAVE=$$ASKSAVE^IBDF5B
|
---|
| 38 | .I IFSAVE D SAVECOPY^IBDF5B(.IBBLK,.IBBLK2,IBTKODR) S IBBLK=IBBLK2,IBBLK2=""
|
---|
| 39 | .I 'IFSAVE D DLTCOPY^IBDF5B(IBBLK) S IBBLK=IBBLK2,IBBLK2=""
|
---|
| 40 | S IBPRINT("WITH_DATA")=0
|
---|
| 41 | D:'$G(IBFASTXT) IDXBLKS^IBDF7
|
---|
| 42 | Q
|
---|
| 43 | DLTBLOCK ;allows user to select a blk, then deletes it
|
---|
| 44 | N IBBLK
|
---|
| 45 | S VALMBCK="R"
|
---|
| 46 | S IBBLK=$$SELECT
|
---|
| 47 | I IBBLK Q:'$$RUSURE^IBDFU5($P($G(^IBE(357.1,IBBLK,0)),"^")) D DLTBLK^IBDFU3(IBBLK,IBFORM,357.1),IDXBLKS^IBDF7
|
---|
| 48 | Q
|
---|
| 49 | CHGORDER ;allows user to select a blk, then change it's order in the toolkit
|
---|
| 50 | N IBBLK
|
---|
| 51 | S VALMBCK="R"
|
---|
| 52 | S IBBLK=$$SELECT
|
---|
| 53 | I IBBLK K DIE,DA S DIE=357.1,DA=IBBLK,DR=".14R" D ^DIE K DIE,DA,DR,DIC
|
---|
| 54 | D IDXBLKS^IBDF7
|
---|
| 55 | Q
|
---|
| 56 | NEWBLK ;creates a new toolkit block
|
---|
| 57 | N IBBLK
|
---|
| 58 | S VALMBCK="R"
|
---|
| 59 | S IBBLK=$$CREATE^IBDF5C()
|
---|
| 60 | D:IBBLK IDXBLKS^IBDF7
|
---|
| 61 | Q
|
---|
| 62 | COPYBLK ;allows the user to select a block to copy
|
---|
| 63 | N IBBLK,CHOICE,NEWBLK
|
---|
| 64 | S VALMBCK="R"
|
---|
| 65 | D FULL^VALM1
|
---|
| 66 | K DIR S DIR(0)="SO^1:ON THE LIST OF TOOLKIT BLOCKS;2:ON A TOOLKIT FORM;3:ON A FORM NOT IN THE TOOLKIT"
|
---|
| 67 | S DIR("A")="WHERE IS THE BLOCK THAT YOU WANT COPIED?"
|
---|
| 68 | D ^DIR K DIR
|
---|
| 69 | Q:(Y=-1)!$D(DIRUT)
|
---|
| 70 | S CHOICE=Y,IBBLK=""
|
---|
| 71 | D:CHOICE=1 RE^VALM4
|
---|
| 72 | S:CHOICE=1 IBBLK=$$SELECT
|
---|
| 73 | S:CHOICE=2 IBBLK=$$SELECT2(1)
|
---|
| 74 | S:CHOICE=3 IBBLK=$$SELECT2(0)
|
---|
| 75 | I IBBLK S NEWBLK=$$COPYBLK^IBDFU2(IBBLK,IBFORM,357.1,357.1,0,0,$$TKORDER()) I NEWBLK D
|
---|
| 76 | .K DIE,DA S DIE=357.1,DA=NEWBLK,DR=".01;.13R;.14R" D ^DIE
|
---|
| 77 | .I '$G(DA) D DLTCNTNT^IBDFU3(NEWBLK,357.1)
|
---|
| 78 | .K DIE,DA,DR,DIC
|
---|
| 79 | .D IDXBLKS^IBDF7
|
---|
| 80 | S VALMBCK="R"
|
---|
| 81 | Q
|
---|
| 82 | TKORDER() ;returns an unused number for the list of toolkit blocks
|
---|
| 83 | N NUMBER
|
---|
| 84 | F NUMBER=1:1:10000 Q:'$D(^IBE(357.1,"D",NUMBER))
|
---|
| 85 | Q NUMBER
|
---|
| 86 | SELECT2(TK) ;allows the user to select a form, then a block from it
|
---|
| 87 | ;TK=0 if form is not to be chosen from the TK
|
---|
| 88 | ;TK=1 if the form is to be chosen from the TK
|
---|
| 89 | ;TK="" means ask the user whether or not the form is in the TK
|
---|
| 90 | N IBFORM,IBBLK
|
---|
| 91 | S IBBLK=""
|
---|
| 92 | S IBFORM=$$SLCTFORM^IBDFU4($G(TK))
|
---|
| 93 | I IBFORM D
|
---|
| 94 | .W !!,"NOW CHOOSE THE BLOCK TO COPY!",!
|
---|
| 95 | .S IBBLK=$$SLCTBLK^IBDFU8(IBFORM,IOSL)
|
---|
| 96 | Q IBBLK
|
---|