| 1 | IBDFUTL3 ;ALB/MAF - MAINTENANCE UTILITY CONT. - 4/24/95 | 
|---|
| 2 | ;;3.0;AUTOMATED INFO COLLECTION SYS;;APR 24, 1997 | 
|---|
| 3 | ; | 
|---|
| 4 | ; | 
|---|
| 5 | REPLACE ;  -- Replace invalid code with another valid code... it will be in | 
|---|
| 6 | ;     the same place as the old invalid code. | 
|---|
| 7 | N IBDFVALM,VALMY,IBBLK,IBDFSLC,IBDFSLC1,IBDFSLC2,IBFORM,IBGRP,IBLIST,DA,IBSEL,ORDER,IEN | 
|---|
| 8 | S VALMBCK="" | 
|---|
| 9 | D EN^VALM2($G(XQORNOD(0))) G REP:'$O(VALMY(0)) S IBDFVALM=0 | 
|---|
| 10 | D FULL^VALM1 S VALMBCK="R" | 
|---|
| 11 | F IBDFVALM=0:0 S IBDFVALM=$O(VALMY(IBDFVALM)) Q:IBDFVALM']""  S (IBDFSEL,DA)=$P($G(^TMP("CPTIDX",$J,IBDFVALM)),"^",4) I DA]"" S IBDFSLC=$G(^IBE(357.3,DA,0)),IBDFSLC1=$G(^IBE(357.3,DA,1,1,0)),IBDFSLC2=$G(^IBE(357.3,DA,1,2,0)) D | 
|---|
| 12 | .S IBFORM=$P($G(^TMP("CPTIDX",$J,IBDFVALM)),"^",5) | 
|---|
| 13 | .S IBGRP=$P(IBDFSLC,"^",4) | 
|---|
| 14 | .S IBLIST=$P(IBDFSLC,"^",3) | 
|---|
| 15 | .S ORDER=$P(IBDFSLC,"^",5) | 
|---|
| 16 | .S IBBLK=$P($G(^TMP("CPTIDX",$J,IBDFVALM)),"^",6) | 
|---|
| 17 | D REPLC(IBLIST,IBGRP,ORDER,.IBSEL,IBBLK,IBFORM) | 
|---|
| 18 | K IBDF,^TMP("UTIL",$J) D INIT^IBDFUTL S VALMBCK="R" Q | 
|---|
| 19 | ; | 
|---|
| 20 | ; | 
|---|
| 21 | REPLC(IBLIST,IBGRP,ORDER,IBSEL,IBBLK,IBFORM) ;allows the user to add a selection to the selection group for replacement - returns 0 if it was done, 1 otherwise | 
|---|
| 22 | N SUB,IBRTN | 
|---|
| 23 | ; | 
|---|
| 24 | Q:'$$FORMDSCR^IBDFU1C(.IBFORM) | 
|---|
| 25 | Q:$$BLKDESCR^IBDFU1B(.IBBLK) 1 | 
|---|
| 26 | Q:$$LSTDESCR^IBDFU1(.IBLIST) 1 | 
|---|
| 27 | S IBRTN=IBLIST("RTN") | 
|---|
| 28 | D RTNDSCR^IBDFU1B(.IBRTN) | 
|---|
| 29 | N QUIT S QUIT=0 | 
|---|
| 30 | I IBRTN("ACTION")'=3 D NOGOOD^IBDF4 Q 1 | 
|---|
| 31 | K @IBRTN("DATA_LOCATION") | 
|---|
| 32 | I '$$DORTN^IBDFU1B(.IBRTN) D NOGOOD^IBDF4 Q 1 | 
|---|
| 33 | I '$D(@IBRTN("DATA_LOCATION")) Q | 
|---|
| 34 | D ADDREC^IBDF4(.QUIT,ORDER,.IBSEL) ;edits and adds the selection | 
|---|
| 35 | K @IBRTN("DATA_LOCATION") | 
|---|
| 36 | ;  -- If a selection has been chosen,  the old node is killed off and | 
|---|
| 37 | ;     the block/selection list is updated. | 
|---|
| 38 | I QUIT=0 S DA=IBDFSEL,DIK="^IBE(357.3," D ^DIK K DIK D BLKCHNG^IBDF19(IBFORM,IBBLK) | 
|---|
| 39 | Q | 
|---|
| 40 | REP K IBDF D INIT^IBDFUTL S VALMBG=1,VALMBCK="R" | 
|---|
| 41 | Q | 
|---|