| [613] | 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
 | 
|---|