Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: IBCNSC01

IBCNSC01.m

Go to the documentation of this file.
  1. IBCNSC01 ;ALB/NLR - INSURANCE COMPANY EDIT - ; 21-OCT-1993
  1. ;;Version 2.0 ; INTEGRATED BILLING ;; 21-MAR-94
  1. ;;Per VHA Directive 10-93-142, this routine should not be modified.
  1. ;
  1. PARAM ; -- Insurance company parameters region
  1. N OFFSET,START,IBCNS0,IBCNS03,IBCNS06,IBCNS08,IBCNS13
  1. S IBCNS0=$G(^DIC(36,+IBCNS,0))
  1. S IBCNS03=$P(IBCNS0,"^",3),IBCNS06=$P(IBCNS0,"^",6),IBCNS08=$P(IBCNS0,"^",8)
  1. S IBCNS13=$G(^DIC(36,+IBCNS,.13))
  1. S START=1,OFFSET=2
  1. D SET^IBCNSP(START,OFFSET+25," Billing Parameters ",IORVON,IORVOFF)
  1. D SET^IBCNSP(START+1,OFFSET," Signature Required?: "_$S(+IBCNS03:"YES",1:"NO"))
  1. D SET^IBCNSP(START+2,OFFSET," Reimburse?: "_$E($$EXPAND^IBTRE(36,1,$P(IBCNS0,"^",2)),1,21))
  1. D SET^IBCNSP(START+3,OFFSET," Mult. Bedsections: "_$S(+IBCNS06:"YES",1:"NO"))
  1. D SET^IBCNSP(START+4,OFFSET," Diff. Rev. Codes: "_$P(IBCNS0,"^",7))
  1. D SET^IBCNSP(START+5,OFFSET," One Opt. Visit: "_$S(+IBCNS08:"YES",1:"NO"))
  1. D SET^IBCNSP(START+6,OFFSET," Amb. Sur. Rev. Code: "_$P(IBCNS0,"^",9))
  1. D SET^IBCNSP(START+7,OFFSET," Rx Refill Rev. Code: "_$P(IBCNS0,"^",15))
  1. D SET^IBCNSP(START+8,OFFSET," Filing Time Frame: "_$P(IBCNS0,"^",12))
  1. N START,OFFSET
  1. S START=2,OFFSET=45
  1. D SET^IBCNSP(START,OFFSET," Attending Phys. ID: "_$E($P(IBCNS0,"^",10),1,22))
  1. D SET^IBCNSP(START+1,OFFSET," Hosp. Provider No.: "_$E($P(IBCNS0,"^",11),1,15))
  1. D SET^IBCNSP(START+2,OFFSET," Primary Form Type: "_$$EXPAND^IBTRE(36,.14,$P(IBCNS0,"^",14)))
  1. D SET^IBCNSP(START+3,OFFSET+7,"Billing Phone: "_$P(IBCNS13,"^",2))
  1. D SET^IBCNSP(START+4,OFFSET+2,"Verification Phone: "_$P(IBCNS13,"^",4))
  1. D SET^IBCNSP(START+5,OFFSET+2,"Precert Comp. Name: "_$P($G(^DIC(36,+$P(IBCNS13,"^",9),0)),"^",1))
  1. D SET^IBCNSP(START+6,OFFSET+7,"Precert Phone: "_$$PHONE(IBCNS13))
  1. Q
  1. ;
  1. PHONE(IBCNS13) ; -- Compute precert company phone
  1. N IBX,IBSAVE,IBCNT S IBX=""
  1. I '$P(IBCNS13,"^",9) S IBX=$P(IBCNS13,"^",3) G PHONEQ
  1. REDOX S IBSAVE=+$P(IBCNS13,"^",9)
  1. S IBCNT=$G(IBCNT)+1
  1. ; -- if you process the same co. more than once you are in an infinite loop
  1. I $D(IBCNT(IBCNS)) G PHONEQ
  1. S IBCNT(IBCNS)=""
  1. S IBCNS13=$G(^DIC(36,+$P(IBCNS13,"^",9),.13))
  1. S IBX=$P(IBCNS13,"^") S:$L($P(IBCNS13,"^",3)) IBX=$P(IBCNS13,"^",3)
  1. ; -- if process the same co. more than once you are in an infinite loop
  1. I $P(IBCNS13,"^",9),$P(IBCNS13,"^",9)'=IBSAVE G REDOX
  1. PHONEQ Q IBX
  1. ;
  1. MAIN ; -- Insurance company main address
  1. N OFFSET,START,IBCNS11,IBADD
  1. S IBCNS11=$G(^DIC(36,+IBCNS,.11))
  1. S IBCNS13=$G(^DIC(36,+IBCNS,.13))
  1. S START=14,OFFSET=25
  1. D SET^IBCNSP(START,OFFSET," Main Mailing Address ",IORVON,IORVOFF)
  1. N OFFSET S OFFSET=2
  1. D SET^IBCNSP(START+1,OFFSET," Street: "_$P(IBCNS11,"^",1)) S IBADD=1
  1. D SET^IBCNSP(START+2,OFFSET," Street 2: "_$P(IBCNS11,"^",2)) S IBADD=2
  1. D SET^IBCNSP(START+3,OFFSET," Street 3: "_$P(IBCNS11,"^",3)) S IBADD=3
  1. N OFFSET S OFFSET=45
  1. D SET^IBCNSP(START+1,OFFSET," City/State: "_$E($P(IBCNS11,"^",4),1,15)_$S($P(IBCNS11,"^",4)="":"",1:", ")_$P($G(^DIC(5,+$P(IBCNS11,"^",5),0)),"^",2)_" "_$E($P(IBCNS11,"^",6),1,5))
  1. D SET^IBCNSP(START+2,OFFSET," Phone: "_$P(IBCNS13,"^",1))
  1. D SET^IBCNSP(START+3,OFFSET," Fax: "_$P(IBCNS11,"^",9))
  1. Q
  1. ;
  1. REMARKS ;
  1. ;
  1. N OFFSET,START,IBCNS0
  1. S START=53,OFFSET=2
  1. ;
  1. D SET^IBCNSP(START,OFFSET," Remarks ",IORVON,IORVOFF)
  1. S (IBLCNT,IBI)=0 F S IBI=$O(^DIC(36,+IBCNS,11,IBI)) Q:IBI<1 D
  1. .S IBLCNT=IBLCNT+1
  1. .D SET^IBCNSP(START+IBLCNT,OFFSET," "_$E($G(^DIC(36,+IBCNS,11,IBI,0)),1,80))
  1. ;. S VALMCNT=VALMCNT+1
  1. ;
  1. ;S IBCNS0=$G(^DIC(36,+IBCNS,0))
  1. ;D SET^IBCNSP(START,OFFSET," Remarks ",IORVON,IORVOFF)
  1. ;D SET^IBCNSP(START+1,OFFSET," "_$P(IBCNS0,"^",12))
  1. Q
  1. ;
  1. SYN ;
  1. N OFFSET,START,IBSN,SYN
  1. S START=57+$G(IBLCNT),OFFSET=2
  1. ;F I=START:1:START+8 D BLANK^IBCNSC(.I)
  1. D SET^IBCNSP(START,OFFSET," Synonyms ",IORVON,IORVOFF)
  1. S SYN="" F I=1:1:8 S SYN=$O(^DIC(36,+IBCNS,10,"B",SYN)) Q:SYN="" D SET^IBCNSP(START+I,OFFSET,$S(I>7:" ...edit to see more...",1:" "_SYN)) S IBLCNT=IBLCNT+1
  1. ;S IBSN=0 F I=1:1:8 S IBSN=+$O(^DIC(36,+IBCNS,10,IBSN)) Q:'IBSN S SYN=^DIC(36,+IBCNS,10,IBSN,0) D SET^IBCNSP(START+I,OFFSET,$S(I>7:" ...edit to see more...",1:" "_SYN))
  1. Q