| 1 | IBCEQ2A ;ALB/TMK - PROVIDER/BILLING ID WORKSHEET SOLUTIONS ;18-AUG-04
 | 
|---|
| 2 |  ;;2.0;INTEGRATED BILLING;**282**;21-MAR-94
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 | WRTS(IBTYPE,IBOTYPE,IBTEXT,IBSTOP) ; Write the line
 | 
|---|
| 5 |  ; IBTYPE = type of current line
 | 
|---|
| 6 |  ; IBOTYPE = last type processed
 | 
|---|
| 7 |  ; IBTEXT(n) = array containing previously extracted text for output
 | 
|---|
| 8 |  ; IBTEXT = current line's text
 | 
|---|
| 9 |  ; IBSTOP = returned as 1 if passed by ref and user chooses to abort
 | 
|---|
| 10 |  N Q,Q1,Q2,Z,IBHOLD,IBP
 | 
|---|
| 11 |  I IBTYPE=IBOTYPE S IBTEXT(+$O(IBTEXT(" "),-1)+1)=IBTEXT,IBTEXT="" Q
 | 
|---|
| 12 |  S IBHOLD=IBTEXT
 | 
|---|
| 13 |  I IBOTYPE="Q"!(IBOTYPE="A") D  Q
 | 
|---|
| 14 |  . S Z="",IBTEXT(0)="",IBP=$S(IBOTYPE="A":">>>>",1:"")
 | 
|---|
| 15 |  . F Q=1:1:$O(IBTEXT(" "),-1) D  Q:IBSTOP
 | 
|---|
| 16 |  .. I $L(IBTEXT(Q-1)) D  Q:IBSTOP
 | 
|---|
| 17 |  ... S Q1=$L(IBTEXT(Q-1))+$L(IBP)
 | 
|---|
| 18 |  ... S Z=IBP_IBTEXT(Q-1)_$E(IBTEXT(Q),1,IOM-Q1)
 | 
|---|
| 19 |  ... I $E(Z,$L(Z))=" "!($E(Z,$L(Z))?1P) D WRT(Z,.IBSTOP) Q:IBSTOP  S IBP=$J("",4),IBTEXT(Q)=$E(IBTEXT(Q),IOM-Q1+1,$L(IBTEXT(Q))) S:$E(IBTEXT(Q))=" " $E(IBTEXT(Q))="" Q
 | 
|---|
| 20 |  ... F Q2=$L(Z):-1:0 I $E(Z,Q2)=" "!($E(Z,Q2)?1P) D WRT($E(Z,1,Q2),.IBSTOP) Q:IBSTOP  S IBTEXT(Q)=$E(Z,Q2+1,$L(Z))_$E(IBTEXT(Q),IOM-Q1+1,$L(IBTEXT(Q))),IBP=$J("",4) S:$E(IBTEXT(Q))=" " $E(IBTEXT(Q))="" Q
 | 
|---|
| 21 |  ... I Q2=0 D WRT($E(Z,1,IOM),.IBSTOP) Q:IBSTOP  S IBTEXT(Q)=$E(IBTEXT(Q),IOM+1,$L(IBTEXT(Q)))
 | 
|---|
| 22 |  .. Q:'$L(IBTEXT(Q))
 | 
|---|
| 23 |  .. F  D  Q:($L(IBTEXT(Q))+$L(IBP))<IOM!(IBSTOP)
 | 
|---|
| 24 |  ... I ($L(IBTEXT(Q))+$L(IBP))'<IOM D  Q
 | 
|---|
| 25 |  .... S Z=IBP_$E(IBTEXT(Q),1,IOM-$L(IBP))
 | 
|---|
| 26 |  .... I $E(Z,$L(Z))=" "!($E(Z,$L(Z))?1P)!($E(IBTEXT(Q),IOM-$L(IBP)+1)=" ") W !,Z S IBTEXT(Q)=$E(IBTEXT(Q),IOM-$L(IBP)+1,$L(IBTEXT(Q))) S IBP=$J("",4) S:$E(IBTEXT(Q))=" " $E(IBTEXT(Q))="" Q
 | 
|---|
| 27 |  .... F Q2=$L(Z):-1:0 I $E(Z,Q2)=" "!($E(Z,Q2)?1P) W !,$E(Z,1,Q2) S IBTEXT(Q)=$E(IBTEXT(Q),Q2-$L(IBP),$L(IBTEXT(Q))),IBP=$J("",4) S:$E(IBTEXT(Q))=" " $E(IBTEXT(Q))="" Q
 | 
|---|
| 28 |  . Q:IBSTOP
 | 
|---|
| 29 |  . I $L(IBTEXT(Q)) D WRT(IBP_IBTEXT(Q),.IBSTOP) Q:IBSTOP
 | 
|---|
| 30 |  . K IBTEXT S (IBTEXT,IBTEXT(1))=IBHOLD
 | 
|---|
| 31 |  ;
 | 
|---|
| 32 |  S IBTEXT(1)=IBHOLD
 | 
|---|
| 33 |  Q
 | 
|---|
| 34 |  ;
 | 
|---|
| 35 | HDR1(IBPG,IBSTOP) ; output solutions header
 | 
|---|
| 36 |  N X
 | 
|---|
| 37 |  I IBPG D ASK^IBCEQ2(.IBSTOP) Q:IBSTOP  W @IOF
 | 
|---|
| 38 |  S IBPG=IBPG+1
 | 
|---|
| 39 |  W !,?(IOM-48\2),"INSURANCE COMPANY PROVIDER ID WORKSHEET SOLUTIONS" W ?(70+$S(IOM<132:0,1:52)),"PAGE: ",IBPG
 | 
|---|
| 40 |  S X="",$P(X,"-",IOM+1)=""
 | 
|---|
| 41 |  W !,X,!
 | 
|---|
| 42 |  Q
 | 
|---|
| 43 |  ;
 | 
|---|
| 44 | WRT(DATA,IBSTOP) ; Write data, new header if needed
 | 
|---|
| 45 |  ; DATA = text to print
 | 
|---|
| 46 |  ; IBSTOP = returned as 1 if passed by ref for user print abort
 | 
|---|
| 47 |  I ($Y+5)>IOSL D HDR1(.IBPG,.IBSTOP)
 | 
|---|
| 48 |  I 'IBSTOP W !,DATA
 | 
|---|
| 49 |  Q
 | 
|---|
| 50 |  ;
 | 
|---|