[613] | 1 | IBDF3 ;ALB/CJM - Edit Selection List ;NOV 16,1992
|
---|
| 2 | ;;3.0;AUTOMATED INFO COLLECTION SYS;**15**;APR 24, 1997
|
---|
| 3 | ;
|
---|
| 4 | EDITLIST ;expects IBBLK to be defined
|
---|
| 5 | N IBLIST,IBVALMBG
|
---|
| 6 | D FULL^VALM1
|
---|
| 7 | S IBVALMBG=VALMBG,VALMBCK="R"
|
---|
| 8 | D SELECT
|
---|
| 9 | I IBLIST D
|
---|
| 10 | .Q:$$LSTDSCR2^IBDFU1(.IBLIST)
|
---|
| 11 | .;I IBLIST("DYNAMIC"),$G(IBLIST("CLRM")) D SEL^IBDFN15(.IBLIST)
|
---|
| 12 | .I IBLIST("DYNAMIC"),'$G(IBLIST("CLRM")) W !,"You can not edit the contents of this list - it is determined at print time!" D PAUSE^IBDFU5 Q
|
---|
| 13 | .;I '$G(IBLIST("CLRM")) D EN^VALM("IBDF DISPLAY GROUPS FOR EDIT")
|
---|
| 14 | .I $G(IBLIST("CLRM")) S IBLIST("EDITING CLRM")=1
|
---|
| 15 | .D EN^VALM("IBDF DISPLAY GROUPS FOR EDIT")
|
---|
| 16 | .K IBLIST
|
---|
| 17 | .D UNCMPBLK^IBDF19(IBBLK)
|
---|
| 18 | .I '$G(IBFASTXT) D
|
---|
| 19 | ..D IDXBLOCK^IBDFU4
|
---|
| 20 | ..S VALMBCK="R",VALMBG=IBVALMBG
|
---|
| 21 | Q
|
---|
| 22 | ONENTRY ;
|
---|
| 23 | D IDXGRP
|
---|
| 24 | Q
|
---|
| 25 | ONEXIT ;
|
---|
| 26 | K @VALMAR
|
---|
| 27 | Q
|
---|
| 28 | SELECT ;
|
---|
| 29 | ; -- dic("s") passed in from ibdfgrp
|
---|
| 30 | S IBLIST=""
|
---|
| 31 | Q:'$G(IBBLK)
|
---|
| 32 | S DIC="^IBE(357.2,",DIC(0)="EQ",D="C",X=IBBLK
|
---|
| 33 | D IX^DIC K DIC
|
---|
| 34 | S:+Y>0 IBLIST=+Y
|
---|
| 35 | Q
|
---|
| 36 | ADDBLANK() ;
|
---|
| 37 | N IGRP
|
---|
| 38 | S GRP="" F S GRP=$O(^IBE(357.4,"D",IBLIST,GRP)) Q:'GRP Q:$P(^IBE(357.4,GRP,0),"^")="BLANK"
|
---|
| 39 | I 'GRP D
|
---|
| 40 | .K DIC,DD,DO,DINUM S DIC="^IBE(357.4,",DIC(0)="",X="BLANK",DIC(0)=""
|
---|
| 41 | .D FILE^DICN K DIC
|
---|
| 42 | .S GRP=$S(+Y<0:"",1:+Y)
|
---|
| 43 | I GRP K DA,DIE S DA=GRP,DIE="^IBE(357.4,",DR=".02////0;.03////"_IBLIST D ^DIE K DIE,DA,DR
|
---|
| 44 | Q GRP
|
---|
| 45 | IDXGRP ;build an index of groups in print order for list processor
|
---|
| 46 | N GRP,GRPODR
|
---|
| 47 | K @VALMAR
|
---|
| 48 | S VALMCNT=0
|
---|
| 49 | S GRPODR="" F S GRPODR=$O(^IBE(357.4,"APO",IBLIST,GRPODR)) Q:GRPODR="" D
|
---|
| 50 | .S GRP="" F S GRP=$O(^IBE(357.4,"APO",IBLIST,GRPODR,GRP)) Q:'GRP D
|
---|
| 51 | ..;
|
---|
| 52 | ..;make sure the index is correct
|
---|
| 53 | ..I $P($G(^IBE(357.4,GRP,0)),"^",3)'=IBLIST K DIK,DA S DIK="^IBE(357.4,",DA=GRP D IX^DIK K DIK,DA,^IBE(357.4,"APO",IBLIST,GRPODR,GRP) Q
|
---|
| 54 | ..;
|
---|
| 55 | ..S VALMCNT=VALMCNT+1
|
---|
| 56 | ..S @VALMAR@(VALMCNT,0)=$$DISPLAY(GRP,VALMCNT),@VALMAR@("IDX",VALMCNT,VALMCNT)=GRP
|
---|
| 57 | ..D FLDCTRL^VALM10(VALMCNT,"ID") ;set video for ID column
|
---|
| 58 | Q
|
---|
| 59 | LMGRPHDR ;sets the screen hdr
|
---|
| 60 | S VALMHDR(1)="PRINT GROUPS CURRENTLY DEFINED FOR '"_$$LISTNAME_"' SELECTION LIST"
|
---|
| 61 | Q
|
---|
| 62 | DISPLAY(GRP,ROW) ;
|
---|
| 63 | N NODE0,NAME,INV
|
---|
| 64 | S NODE0=$G(^IBE(357.4,GRP,0)),NAME=$P(NODE0,"^"),INV=$P(NODE0,"^",4)
|
---|
| 65 | I NAME="BLANK" S NAME="*i BLANK (Not Displayed)"
|
---|
| 66 | I NAME'="BLANK",INV="I" S NAME="*i "_NAME
|
---|
| 67 | I NAME'="BLANK",INV'="I" S NAME=" "_NAME
|
---|
| 68 | Q $$PADRIGHT^IBDFU(ROW,6)_$J($P(NODE0,"^",2),6)_$J("",3)_$$PADRIGHT^IBDFU(NAME,40)_$J($$SLCTNCNT(GRP),6)_" selection(s)"
|
---|
| 69 | SLCTNCNT(GRP) ;
|
---|
| 70 | N CNT,SLCTN
|
---|
| 71 | S CNT=0,SLCTN=""
|
---|
| 72 | F S SLCTN=$O(^IBE(357.3,"D",GRP,SLCTN)) Q:'SLCTN S CNT=CNT+1
|
---|
| 73 | Q CNT
|
---|
| 74 | LISTNAME() ;
|
---|
| 75 | Q $P($G(^IBE(357.2,IBLIST,0)),"^",1)
|
---|
| 76 | ADDGRP ;
|
---|
| 77 | N NAME,QUIT,GRP
|
---|
| 78 | S QUIT=0
|
---|
| 79 | F D Q:QUIT
|
---|
| 80 | .K DIR S DIR(0)="357.4,.01O",DIR("B")="" D ^DIR K DIR I $D(DIRUT) S QUIT=1 Q
|
---|
| 81 | .S NAME=Y
|
---|
| 82 | .K DIC,DD,DO,DINUM S DIC="^IBE(357.4,",X=NAME,DIC(0)=""
|
---|
| 83 | .D FILE^DICN K DIC,DIE,DA
|
---|
| 84 | .I +Y<0 W !,"Unable to create a new record!" D PAUSE^VALM1 S QUIT=1 Q
|
---|
| 85 | .I +Y>0 K DA S DA=+Y,DIE="^IBE(357.4,",DIE("NO^")="Any value",DR=".02;.04;.03////"_IBLIST D ^DIE K DIC,DIE,DR,DA
|
---|
| 86 | .W !,"Now Another!",!
|
---|
| 87 | D IDXGRP
|
---|
| 88 | S VALMBCK="R"
|
---|
| 89 | Q
|
---|
| 90 | ;
|
---|
| 91 | ADDEMPTY ;adds a blank group - a place holder that takes up space on the form
|
---|
| 92 | ;
|
---|
| 93 | N ORDER,QUIT,GRP
|
---|
| 94 | S QUIT=0
|
---|
| 95 | F D Q:QUIT
|
---|
| 96 | .K DIR S DIR(0)="357.4,.02O",DIR("B")="" D ^DIR K DIR I (Y="")!$D(DIRUT) S QUIT=1 Q
|
---|
| 97 | .S ORDER=Y
|
---|
| 98 | .K DIC,DD,DO,DINUM S DIC="^IBE(357.4,",X=" ",DIC(0)=""
|
---|
| 99 | .D FILE^DICN K DIC,DIE,DA
|
---|
| 100 | .I +Y<0 W !,"Unable to create a new group record!" D PAUSE^VALM1 S QUIT=1 Q
|
---|
| 101 | .I +Y>0 K DA S DA=+Y,DIE="^IBE(357.4,",DIE("NO^")="Any value",DR=".02////"_ORDER_";.03////"_IBLIST D ^DIE K DIC,DIE,DR,DA
|
---|
| 102 | .W !,"Now Another!",!
|
---|
| 103 | D IDXGRP
|
---|
| 104 | S VALMBCK="R"
|
---|
| 105 | Q
|
---|
| 106 | EDTSLCTN ;
|
---|
| 107 | N SEL,IBGRP S SEL=""
|
---|
| 108 | I $G(VALMCNT) D
|
---|
| 109 | .D EN^VALM2($G(XQORNOD(0)),"S")
|
---|
| 110 | .S SEL=$O(VALMY(""))
|
---|
| 111 | I SEL="" D
|
---|
| 112 | .S IBGRP=$$ADDBLANK Q:'IBGRP
|
---|
| 113 | E S IBGRP=$G(@VALMAR@("IDX",SEL,SEL))
|
---|
| 114 | D:IBGRP SLCTNS^IBDF4,IDXGRP
|
---|
| 115 | S VALMBCK="R"
|
---|
| 116 | Q
|
---|
| 117 | EDITGRP ;
|
---|
| 118 | N SEL,GRP
|
---|
| 119 | S VALMBCK="R"
|
---|
| 120 | D EN^VALM2($G(XQORNOD(0)),"S")
|
---|
| 121 | S SEL="" F S SEL=$O(VALMY(SEL)) Q:'SEL D
|
---|
| 122 | .S GRP=$G(@VALMAR@("IDX",SEL,SEL))
|
---|
| 123 | .D:GRP
|
---|
| 124 | ..K DIE,DA S DIE=357.4,DA=GRP,DR=".01;.02;.04" D ^DIE
|
---|
| 125 | ..I '$D(DA) D DELSLCTN
|
---|
| 126 | ..K DIE,DA,DR,DIC
|
---|
| 127 | D IDXGRP
|
---|
| 128 | S VALMBCK="R"
|
---|
| 129 | Q
|
---|
| 130 | DELSLCTN ;deletes a group's selections
|
---|
| 131 | N SLCTN
|
---|
| 132 | S SLCTN="",DIK="^IBE(357.3,"
|
---|
| 133 | F S SLCTN=$O(^IBE(357.3,"D",GRP,SLCTN)) Q:'SLCTN I $P($G(^IBE(357.3,SLCTN,0)),"^",4)=GRP K DA S DA=SLCTN D ^DIK
|
---|
| 134 | K DIK,DA
|
---|
| 135 | Q
|
---|
| 136 | DELGRP ;delete a group and all of its selections
|
---|
| 137 | N SEL,GRP
|
---|
| 138 | S VALMBCK="R"
|
---|
| 139 | D EN^VALM2($G(XQORNOD(0)))
|
---|
| 140 | S SEL="" F S SEL=$O(VALMY(SEL)) Q:'SEL D
|
---|
| 141 | .S GRP=$G(@VALMAR@("IDX",SEL,SEL))
|
---|
| 142 | .Q:'$$RUSURE^IBDFU5($P($G(^IBE(357.4,GRP,0)),"^"))
|
---|
| 143 | .I GRP D DELSLCTN K DA S DIK="^IBE(357.4,",DA=GRP D ^DIK K DIK
|
---|
| 144 | D IDXGRP
|
---|
| 145 | S VALMBCK="R"
|
---|
| 146 | Q
|
---|