| 1 | IBDFU1A ;ALB/CJM - ENCOUNTER FORM (read data field description);NOV 16,1992 | 
|---|
| 2 | ;;3.0;AUTOMATED INFO COLLECTION SYS;;APR 24, 1997 | 
|---|
| 3 | ;utilities | 
|---|
| 4 | FLDDESCR(IBFLD) ;IBFLD should be a pointer to the IB DATA FIELD file | 
|---|
| 5 | ;parses the 0 NODE and returns the fields | 
|---|
| 6 | ;returns 1 if the field description is not found | 
|---|
| 7 | N NODE | 
|---|
| 8 | Q:'$G(IBFLD) 0 | 
|---|
| 9 | S:$G(IBFLD) NODE=$G(^IBE(357.5,IBFLD,0)) | 
|---|
| 10 | Q:NODE="" 0 | 
|---|
| 11 | S FLDNAME=$P(NODE,"^",1) | 
|---|
| 12 | S BLK=$P(NODE,"^",2) | 
|---|
| 13 | S RTN=$P(NODE,"^",3) | 
|---|
| 14 | S LASTITEM=$P(NODE,"^",4) | 
|---|
| 15 | S ITEM=+$P(NODE,"^",5) | 
|---|
| 16 | S LABEL=$P(NODE,"^",6) | 
|---|
| 17 | S DISPLAY=$P(NODE,"^",7) | 
|---|
| 18 | S XIO=+$P(NODE,"^",10) | 
|---|
| 19 | S YIO=+$P(NODE,"^",11) | 
|---|
| 20 | S HIO=+$P(NODE,"^",12) | 
|---|
| 21 | S SPACING=$P(NODE,"^",13) | 
|---|
| 22 | S WIO=+$P(NODE,"^",14) | 
|---|
| 23 | Q 1 | 
|---|
| 24 | SFLDDSCR(IBFLD,LAST) ;gets the next subfield - LAST is the last subfield processed, IBFLD  is the field | 
|---|
| 25 | ;outputs - LABEL,XIO,YIO,WIO,XLAB,YLAB,PIECE,LENGTH,LAST | 
|---|
| 26 | ;returns 0 if no more subfields, LAST otherwise | 
|---|
| 27 | ; | 
|---|
| 28 | N NODE | 
|---|
| 29 | F  S LAST=$O(^IBE(357.5,IBFLD,2,LAST)) Q:'LAST  S NODE=$G(^IBE(357.5,IBFLD,2,LAST,0)) I NODE'="" D  Q | 
|---|
| 30 | .S LABEL=$P(NODE,"^",1),DISPLAY=$P(NODE,"^",3),XLAB=$P(NODE,"^",4),YLAB=$P(NODE,"^",5),YIO=$P(NODE,"^",6),XIO=$P(NODE,"^",7),WIO=$P(NODE,"^",8),PIECE=$P(NODE,"^",9) | 
|---|
| 31 | Q LAST | 
|---|