| 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
 | 
|---|