| 1 | IBDFCMP1 ;ALB/MAF - AICS list of components on a form (cont.); 29-JUL-96 | 
|---|
| 2 | ;;3.0;AUTOMATED INFO COLLECTION SYS;;APR 24, 1997 | 
|---|
| 3 | ; | 
|---|
| 4 | ; | 
|---|
| 5 | EXP ;EXPAND | 
|---|
| 6 | ; -- expand action | 
|---|
| 7 | N IBI,IBAT,VALMY,IBDVALM | 
|---|
| 8 | S (IBDCNT,IBDCNT1,VALMCNT)=0 | 
|---|
| 9 | N IBDVALM,IBDAT,VALMY | 
|---|
| 10 | S VALMBCK="" | 
|---|
| 11 | D FULL^VALM1 S VALMBCK="R" | 
|---|
| 12 | D EN^VALM2($G(XQORNOD(0))) G REP:'$O(VALMY(0))  S IBDVALM=0 | 
|---|
| 13 | F IBDVALM=0:0 S IBDVALM=$O(VALMY(IBDVALM)) Q:'IBDVALM  S IBDOBJ=$G(IBBLOCK(IBDVALM)) S (IBDCNT,IBDCNT1,VALMCNT)=0 D EN^VALM("IBDF COMPONENT EXPAND") | 
|---|
| 14 | G REP | 
|---|
| 15 | ; | 
|---|
| 16 | ; | 
|---|
| 17 | INIT  K ^TMP("FORMEXP",$J),^TMP("EXPIDX") D | 
|---|
| 18 | .S IBDFIFN=$P(IBDOBJ,"^") | 
|---|
| 19 | .F IBDNUM=0:0 S IBDNUM=$O(^TMP("FORM-OBJ",$J,IBDFIFN,IBDNUM)) Q:'IBDNUM   I $P(IBDOBJ,"^",11)=$P($G(^TMP("FORM-OBJ",$J,IBDFIFN,IBDNUM)),"^",9) D | 
|---|
| 20 | ..N IBDFSC,IBDFNUM,IBDFSEL,IBDFHP,IBDFMC,IBDFROW,IBDFCOL | 
|---|
| 21 | ..S (IBDFSC,IBDFNUM)=0 | 
|---|
| 22 | ..S IBDOBJ1=$G(^TMP("FORM-OBJ",$J,IBDFIFN,IBDNUM)) | 
|---|
| 23 | ..S IBDF("PI")=+$P(IBDOBJ1,"^",2),IBDF("TYPE")=$P(IBDOBJ1,"^",5) | 
|---|
| 24 | ..S IBDF("IEN")=+$P(IBDOBJ1,"^",6),IBDF("VITAL")=$P(IBDOBJ1,"^",7) | 
|---|
| 25 | ..I $P(IBDOBJ1,"^",5)="LIST" D  ;SELECTION LIST | 
|---|
| 26 | ...S IBDFSEL=$P(^IBE(357.2,$P(IBDOBJ1,"^",6),0),"^") | 
|---|
| 27 | ...S IBDFSNOD=$O(^IBE(357.2,$P(IBDOBJ1,"^",6),1,0)) S IBDFNODE=$G(^IBE(357.2,$P(IBDOBJ1,"^",6),1,+IBDFSNOD,0)) S IBDFSEL=IBDFSEL_"^"_$P(IBDFNODE,"^",4)_"^"_$P(IBDFNODE,"^",3) S IBDFROW=4,IBDFCOL=5 D SETUP(IBDFSEL,IBDFROW,IBDFCOL) | 
|---|
| 28 | ...F  S IBDFSC=$O(^IBE(357.2,IBDF("IEN"),2,"B",IBDFSC)) Q:'IBDFSC  F  S IBDFNUM=$O(^IBE(357.2,IBDF("IEN"),2,"B",IBDFSC,IBDFNUM)) Q:'IBDFNUM  S IBDFSEL=$G(^IBE(357.2,IBDF("IEN"),2,IBDFNUM,0)) D SETUP1(IBDFSEL) | 
|---|
| 29 | ..I $P(IBDOBJ1,"^",5)="MC" D  ;MULTIPLE CHOICE | 
|---|
| 30 | ...S IBDFMC=$G(^IBE(357.93,IBDF("IEN"),0)) S IBDFROW=4,IBDFCOL=3 D SETUP(IBDFMC,IBDFROW,IBDFCOL) | 
|---|
| 31 | ..I $P(IBDOBJ1,"^",5)="HP" D  ;HAND PRINT FIELD | 
|---|
| 32 | ...S IBDFHP=$G(^IBE(359.94,IBDF("IEN"),0)) S IBDFROW=4,IBDFCOL=3 D SETUP(IBDFHP,IBDFROW,IBDFCOL) | 
|---|
| 33 | ..I $P(IBDOBJ1,"^",5)="DF" D  ;DATA FIELDS | 
|---|
| 34 | ...S IBDFDF=$G(^IBE(357.5,IBDF("IEN"),0)) S IBDFROW=11,IBDFCOL=10 D SETUP(IBDFDF,IBDFROW,IBDFCOL) | 
|---|
| 35 | ..I $P(IBDOBJ1,"^",5)="FL" D  ;FORM LINE | 
|---|
| 36 | ...S IBDFFL=$G(^IBE(357.7,IBDF("IEN"),0)) S IBDFROW=3,IBDFCOL=2 D SETUP(IBDFFL,IBDFROW,IBDFCOL) | 
|---|
| 37 | ..I $P(IBDOBJ1,"^",5)="TA" D  ;TEXT AREA | 
|---|
| 38 | ...S IBDFTA=$G(^IBE(357.8,IBDF("IEN"),0)) S IBDFROW=4,IBDFCOL=3 D SETUP(IBDFTA,IBDFROW,IBDFCOL) | 
|---|
| 39 | Q | 
|---|
| 40 | ; | 
|---|
| 41 | ; | 
|---|
| 42 | REP ;  -- Redisplay initial screen | 
|---|
| 43 | S IBDFIFN=$S('$D(IBDFIFN):+$P(IBDOBJ,"^"),1:IBDFIFN) D INIT1^IBDFCMP S VALMBCK="R" Q | 
|---|
| 44 | Q | 
|---|
| 45 | ; | 
|---|
| 46 | ; | 
|---|
| 47 | SETUP(IBOBJECT,IBROW,IBCOL) ;  -- Setting up the data for list manager | 
|---|
| 48 | S IBDCNT1=IBDCNT1+1 | 
|---|
| 49 | S X="" | 
|---|
| 50 | S X=$$SETSTR^VALM1(X,X,1,80) D TMP | 
|---|
| 51 | S X="",X=$P(IBOBJECT,"^") | 
|---|
| 52 | S X=$$SETSTR^VALM1(X,X,1,25) | 
|---|
| 53 | S IBDVAL=$S($P(IBDOBJ1,"^",5)]"":$P(IBDOBJ1,"^",5),1:"") | 
|---|
| 54 | S X=$$SETSTR^VALM1(IBDVAL,X,30,10) | 
|---|
| 55 | S IBDVAL=$S($P(IBOBJECT,"^",IBROW):$P(IBOBJECT,"^",IBROW)+1,$P(IBOBJECT,"^",IBROW)=0:1,1:"N/A") | 
|---|
| 56 | S X=$$SETSTR^VALM1($J(IBDVAL,3),X,48,6) | 
|---|
| 57 | S IBDVAL=$S($P(IBOBJECT,"^",IBCOL):$P(IBOBJECT,"^",IBCOL)+1,$P(IBOBJECT,"^",IBCOL)=0:1,1:"N/A") | 
|---|
| 58 | S X=$$SETSTR^VALM1($J(IBDVAL,4),X,58,5) | 
|---|
| 59 | ;D TMP,CNTRL^VALM10(VALMCNT,1,80,IOINHI,IOINORM,0) | 
|---|
| 60 | I X]"",$P(IBDOBJ1,"^",5)="LIST" D | 
|---|
| 61 | .S IBDVAL=$S($P(^IBE(357.2,IBDF("IEN"),0),"^",7):$P(^IBE(357.2,IBDF("IEN"),0),"^",7),1:"N/A") | 
|---|
| 62 | .S IBDVAL=$J($S(IBDVAL=1:"1 Space",IBDVAL=2:"2 Spaces",IBDVAL=3:"LINE",IBDVAL=4:"Sp/Ln/Sp",1:"N/A"),9) | 
|---|
| 63 | .S X=$$SETSTR^VALM1(IBDVAL,X,71,9) | 
|---|
| 64 | .D TMP,CNTRL^VALM10(VALMCNT,1,80,IOINHI,IOINORM,0) | 
|---|
| 65 | .S X="",X=$$SETSTR^VALM1(X,X,1,80) D TMP | 
|---|
| 66 | .S IBDVAL="   "_"Subcolumn"_"    "_"Type"_"          "_"Data"_"    "_"Width"_"     "_"Qualifier"_"       "_"Rule"_"       "_"Edit" | 
|---|
| 67 | .S X="",X=$$SETSTR^VALM1(IBDVAL,X,1,80) D TMP,CNTRL^VALM10(VALMCNT,1,80,IOINHI,IOINORM,0) | 
|---|
| 68 | I $P(IBDOBJ1,"^",5)'="LIST" D | 
|---|
| 69 | .D TMP,CNTRL^VALM10(VALMCNT,1,80,IOINHI,IOINORM,0) | 
|---|
| 70 | Q | 
|---|
| 71 | SETUP1(IBOBJECT) ;  -- Setup of the subcolumn info for the Selection list | 
|---|
| 72 | S X="" | 
|---|
| 73 | S X=$$SETSTR^VALM1($P(IBOBJECT,"^"),X,8,2) | 
|---|
| 74 | S IBDVAL=$S($P(IBOBJECT,"^",4)]"":$P(IBOBJECT,"^",4),1:"") | 
|---|
| 75 | S IBDVAL=$J($$LOWER^VALM1($S(IBDVAL=1:"TEXT",IBDVAL=2:"MARKING",1:"")),10) | 
|---|
| 76 | S X=$$SETSTR^VALM1(IBDVAL,X,11,10) | 
|---|
| 77 | S IBDVAL=$S($P(IBOBJECT,"^",5):$P(IBOBJECT,"^",5),1:"") | 
|---|
| 78 | S IBDVAL=$J($$LOWER^VALM1($S(IBDVAL=1:"CODE",IBDVAL=2:"SHORT NAME",IBDVAL=3:"DESCRIP.",1:"N/A")),10) | 
|---|
| 79 | S X=$$SETSTR^VALM1(IBDVAL,X,25,10) | 
|---|
| 80 | S IBDVAL=$S($P(IBOBJECT,"^",3)]"":$P(IBOBJECT,"^",3),1:"") | 
|---|
| 81 | S X=$$SETSTR^VALM1($J(IBDVAL,3),X,40,3) | 
|---|
| 82 | S IBDVAL=$S($P(IBOBJECT,"^",3)]"":$P(IBOBJECT,"^",3),1:"") | 
|---|
| 83 | S IBDVAL=$S($P(IBOBJECT,"^",9):$P(IBOBJECT,"^",9),1:"") | 
|---|
| 84 | S IBDVAL=$P($G(^IBD(357.98,+IBDVAL,0)),"^",3) | 
|---|
| 85 | S IBDVAL=$J($$LOWER^VALM1($S(IBDVAL]"":IBDVAL,1:"N/A")),10) | 
|---|
| 86 | S X=$$SETSTR^VALM1(IBDVAL,X,47,10) | 
|---|
| 87 | S IBDVAL=$S($P(IBOBJECT,"^",10):$P(IBOBJECT,"^",10),1:"") | 
|---|
| 88 | S IBDVAL=$J($$LOWER^VALM1($S(IBDVAL=0:"ANY NUMBER",IBDVAL=1:"ONLY 1",IBDVAL=2:"AT MOST 1",IBDVAL=3:"AT LEAST 1",1:"N/A")),10) | 
|---|
| 89 | S X=$$SETSTR^VALM1(IBDVAL,X,59,10) | 
|---|
| 90 | ;I $P(IBDOBJ1,"^",5)="LIST" D | 
|---|
| 91 | ;S IBDVAL=$S($P(^IBE(357.2,IBDF("IEN"),0),"^",7):$P(^IBE(357.2,IBDF("IEN"),0),"^",7),1:"N/A") | 
|---|
| 92 | ;S IBDVAL=$S(IBDVAL=1:"1 S",IBDVAL=2:"2 S",IBDVAL=3:"LIN",IBDVAL=4:"SLS",1:"N/A") | 
|---|
| 93 | S IBDVAL=$S($P(IBOBJECT,"^",7)=1:"Yes",1:"No") | 
|---|
| 94 | S X=$$SETSTR^VALM1($J(IBDVAL,3),X,77,3) | 
|---|
| 95 | D TMP | 
|---|
| 96 | Q | 
|---|
| 97 | ; | 
|---|
| 98 | ; | 
|---|
| 99 | TMP ; -- Set up Array | 
|---|
| 100 | S IBDCNT=IBDCNT+1,VALMCNT=VALMCNT+1 | 
|---|
| 101 | S ^TMP("FORMEXP",$J,IBDCNT,0)=X,^TMP("FORMEXP",$J,"IDX",VALMCNT,IBDCNT1)="" | 
|---|
| 102 | S ^TMP("EXPIDX",$J,IBDCNT)=VALMCNT ;_"^"_IBDFIFN_"^"_IBDF("BLK") | 
|---|
| 103 | Q | 
|---|
| 104 | ; | 
|---|
| 105 | ; | 
|---|
| 106 | HDR ; -- print patient header | 
|---|
| 107 | S X="" | 
|---|
| 108 | S X="      Form Name: "_$E($P($G(^IBE(357,IBDFIFN,0)),"^"),1,25) | 
|---|
| 109 | S VALMHDR(1)=X | 
|---|
| 110 | S X="     Block Name: "_$E($P($G(^IBE(357.1,+$P(IBDOBJ,"^",11),0)),"^"),1,25) | 
|---|
| 111 | S VALMHDR(2)=X | 
|---|
| 112 | Q | 
|---|
| 113 | ; | 
|---|
| 114 | ; | 
|---|
| 115 | EXIT ;  -- Exit code | 
|---|
| 116 | K ^TMP("FORMEXP",$J),^TMP("EXPIDX") | 
|---|
| 117 | Q | 
|---|
| 118 | HELP ; -- help code | 
|---|
| 119 | S X="?" D DISP^XQORM1 W !! | 
|---|
| 120 | Q | 
|---|