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

BARDMAN3.m

Go to the documentation of this file.
  1. BARDMAN3 ; IHS/SD/LSL - A/R Debt Collection Process (3) ;
  1. ;;1.8;IHS ACCOUNTS RECEIVABLE;;OCT 26, 2005
  1. ;
  1. ; IHS/SD/LSL - 04/08/2004 - V1.8
  1. ; Routine created. Moved (modified) from BBMDC2
  1. ; All entry points called from BARDMAN2. Creates one of four
  1. ; temporary globals containing records of data for that file type.
  1. ;
  1. ; ********************************************************************
  1. Q
  1. ;
  1. SSELFILE ; EP
  1. ; Build temp global of self pay stops records
  1. ; ------------------------------------------------
  1. ; File layout
  1. ; ---------------
  1. ; 1 - 5 Client Number TSI Assigned Number
  1. ; 6 - 25 Transmittal number (AR bill - strip dashes)
  1. ; 26 - 26 Code (5=Paid, 1=Cancel, A=adjusted)
  1. ; 27 - 34 New Balance (AR Bill balance)
  1. ; ------------------------------------------------
  1. ;
  1. I $L(BARBLNM)<21 S BARBLNM=$$LJ(BARBLNM,20)
  1. E S BARBLNM=$E(BARBLNM,1,20)
  1. ;
  1. I $L(BARBAL)<9 S BARBAL=$$PAD(BARBAL,8)
  1. ;
  1. S ^BARSSELF($J,BARBL)=BARSNUM
  1. S ^BARSSELF($J,BARBL)=^BARSSELF($J,BARBL)_BARBLNM
  1. S ^BARSSELF($J,BARBL)=^BARSSELF($J,BARBL)_BARACT
  1. S ^BARSSELF($J,BARBL)=^BARSSELF($J,BARBL)_BARBAL
  1. Q
  1. ; ********************************************************************
  1. ;
  1. SINSFILE ; EP
  1. ; Build temp global of insurer stops records
  1. ; ------------------------------------------------
  1. ; File layout
  1. ; ---------------
  1. ; 1 - 5 Client Number TSI Assigned Number
  1. ; 6 - 25 Transmittal number (AR bill - strip dashes)
  1. ; 26 - 26 Code (5=Paid, 1=Cancel, A=adjusted)
  1. ; 27 - 34 New Balance (AR Bill balance)
  1. ; ------------------------------------------------
  1. ;
  1. I $L(BARBLNM)<21 S BARBLNM=$$LJ(BARBLNM,20)
  1. E S BARBLNM=$E(BARBLNM,1,20)
  1. ;
  1. I $L(BARBAL)<9 S BARBAL=$$PAD(BARBAL,8)
  1. ;
  1. S ^BARSTOPS($J,BARBL)=BARINUM
  1. S ^BARSTOPS($J,BARBL)=^BARSTOPS($J,BARBL)_BARBLNM
  1. S ^BARSTOPS($J,BARBL)=^BARSTOPS($J,BARBL)_BARACT
  1. S ^BARSTOPS($J,BARBL)=^BARSTOPS($J,BARBL)_BARBAL
  1. Q
  1. ; ********************************************************************
  1. ;
  1. TSELFILE ; EP
  1. ; Build temp global of self pay starts records
  1. ; ------------------------------------------------
  1. ; File layout
  1. ; ---------------
  1. ; 1 - 5 Client Number TSI Assigned Number
  1. ; 6 - 35 Patient Name (Last, First I)
  1. ; 36 - 65 Optional Address (If 2 line street addr)
  1. ; 66 - 95 Street Address
  1. ; 96 - 110 City
  1. ; 111 - 112 State
  1. ; 113 - 117 Zip Code
  1. ; 118 - 118 Service code (always 1)
  1. ; 119 - 138 Transmittal Number (AR bill - strip dashes)
  1. ; 139 - 144 Date last pay/charge (use DOS)
  1. ; 145 - 152 Amount Due
  1. ; ------------------------------------------------
  1. ;
  1. S BARPAT=$$GET1^DIQ(90050.01,BARBL,101)
  1. S BARPAT=$P(BARPAT,",")_", "_$P(BARPAT,",",2)
  1. S BARPAT=$TR(BARPAT,".","")
  1. S BARPAT=$$LJ(BARPAT,30)
  1. ;
  1. S BARPTIEN=$$GET1^DIQ(90050.01,BARBL,101,"I")
  1. S BARADDR=$$LJ($$GET1^DIQ(2,BARPTIEN,.111),30)
  1. S BARADDR2=$$GET1^DIQ(2,BARPTIEN,.112)
  1. I BARADDR2]"" S BARADDR2=$$LJ(BARADDR2,30)
  1. ;
  1. S BARCITY=$$LJ($$GET1^DIQ(2,BARPTIEN,.114),15)
  1. S BARSTATE=$$GET1^DIQ(2,BARPTIEN,".115:1")
  1. S BARZIP=$$GET1^DIQ(2,BARPTIEN,.116)
  1. S:BARZIP="" BARZIP="00000"
  1. ;
  1. I $L(BARBLNM)<21 S BARBLNM=$$LJ(BARBLNM,20)
  1. E S BARBLNM=$E(BARBLNM,1,20)
  1. ;
  1. I +BARDOS S BARDOS=$E(BARDOS,4,7)_$E($E(BARDOS,1,3)+1700,3,4)
  1. E S BARDOS=" "
  1. ;
  1. S BARCHRG=$P($G(^BARTSELF(DUZ(2),BARBL,0)),U,13)
  1. S BARX=$P(BARCHRG,".")_"."_$P(BARCHRG,".",2)_"00"
  1. S BARCHRG=$P(BARX,".")_$E($P(BARX,".",2),1,2)
  1. I $L(BARCHRG)<9 S BARCHRG=$$PAD(BARCHRG,8)
  1. I $L(BARBAL)<9 S BARBAL=$$PAD(BARBAL,8)
  1. ;
  1. S $P(BARSP," ",31)=""
  1. ;
  1. S ^BARTSELF($J,BARBL)=BARSNUM
  1. S ^BARTSELF($J,BARBL)=^BARTSELF($J,BARBL)_BARPAT
  1. S ^BARTSELF($J,BARBL)=^BARTSELF($J,BARBL)_$S($L($TR(BARADDR2," ",""))>0:BARADDR,1:BARSP)
  1. S ^BARTSELF($J,BARBL)=^BARTSELF($J,BARBL)_$S($L($TR(BARADDR2," ",""))>0:BARADDR2,1:BARADDR)
  1. S ^BARTSELF($J,BARBL)=^BARTSELF($J,BARBL)_BARCITY
  1. S ^BARTSELF($J,BARBL)=^BARTSELF($J,BARBL)_BARSTATE
  1. S ^BARTSELF($J,BARBL)=^BARTSELF($J,BARBL)_BARZIP
  1. S ^BARTSELF($J,BARBL)=^BARTSELF($J,BARBL)_1
  1. S ^BARTSELF($J,BARBL)=^BARTSELF($J,BARBL)_BARBLNM
  1. S ^BARTSELF($J,BARBL)=^BARTSELF($J,BARBL)_BARDOS
  1. S ^BARTSELF($J,BARBL)=^BARTSELF($J,BARBL)_BARBAL
  1. Q
  1. ; ********************************************************************
  1. ;
  1. TINSFILE ; EP
  1. ; Build temp global of insurer starts records
  1. ; ------------------------------------------------
  1. ; File layout
  1. ; ---------------
  1. ; 1 - 5 Client Number TSI Assigned Number
  1. ; 6 - 35 Insurance Company Name (AR Account)
  1. ; 36 - 65 Optional Address
  1. ; 66 - 95 Street Address
  1. ; 96 - 110 City
  1. ; 111 - 112 State
  1. ; 113 - 117 Zip Code
  1. ; 118 - 121 Zip Code Extension
  1. ; 122 - 151 Policy Number
  1. ; 152 - 171 Claim Number (AR Bill - with dashes)
  1. ; 172 - 201 Insured's Name
  1. ; 202 - 210 Insured's SS #
  1. ; 211 - 240 Patient Name
  1. ; 241 - 260 Transmittal Number (AR Bill - strip dashes)
  1. ; 261 - 261 Service Code (1)
  1. ; 262 - 267 Date of Service (MMDDYY)
  1. ; 268 - 275 Charges
  1. ; 276 - 281 Date of Service 2 (MMDDYY)
  1. ; 282 - 289 Charges 2
  1. ; 290 - 295 Date of Service 3 (MMDDYY)
  1. ; 296 - 303 Charges 3
  1. ; 304 - 309 Date of Service 4 (MMDDYY)
  1. ; 310 - 317 Charges 4
  1. ; 318 - 323 Date of Service 5 (MMDDYY)
  1. ; 324 - 331 Charges 5
  1. ;
  1. ; Dates of service 2-5 are not sent, zero fill
  1. ; Charges 2-5 are not sent, zero fill
  1. ; ------------------------------------------------
  1. ;
  1. K ABMP
  1. S BARINSN=$$LJ($$GET1^DIQ(90050.01,BARBL,3),30)
  1. S BARIIEN=$$GET1^DIQ(90050.01,BARBL,"3:1.001")
  1. S BARIADDR=$$LJ($$GET1^DIQ(9999999.18,BARIIEN,.02),30)
  1. S BARICITY=$$LJ($$GET1^DIQ(9999999.18,BARIIEN,.03),15)
  1. S BARIST=$$GET1^DIQ(9999999.18,BARIIEN,".04:1")
  1. S BARIZIP=$$GET1^DIQ(9999999.18,BARIIEN,.05)
  1. I BARIZIP["-" S BARZEXT=$P(BARIZIP,"-",2)
  1. S BARIZIP=$P(BARIZIP,"-")
  1. S:$G(BARZEXT)="" BARZEXT="0000"
  1. S:BARIZIP="" BARIZIP="00000"
  1. ;
  1. D SBR^BARUTL(DUZ(2),BARBL) ; Get policy holder info
  1. S BARPOLN=$G(ABMP("PNUM"))
  1. S:BARPOLN="" BARPOLN=$$GET1^DIQ(90050.01,BARBL,702)
  1. S BARPOLN=$$LJ(BARPOLN,30)
  1. S BARPLNM=$$LNM^ABMUTLN($P(BARSBR,"-"),$P(BARSBR,"-",2))
  1. S BARPFNM=$$FNM^ABMUTLN($P(BARSBR,"-"),$P(BARSBR,"-",2))
  1. S BARPMI=$$MI^ABMUTLN($P(BARSBR,"-"),$P(BARSBR,"-",2))
  1. I BARPLNM]"" S BARPNAM=BARPLNM_", "_BARPFNM_" "_BARPMI
  1. E S BARPNAM=$$GET1^DIQ(90050.01,BARBL,701)
  1. S BARPNAM=$$LJ(BARPNAM,30)
  1. ;
  1. S BARPAT=$$GET1^DIQ(90050.01,BARBL,101)
  1. S BARPAT=$P(BARPAT,",")_", "_$P(BARPAT,",",2)
  1. S BARPAT=$TR(BARPAT,".","")
  1. S BARPAT=$$LJ(BARPAT,30)
  1. ;
  1. ;bill number with dashes - claim number
  1. I $L(BARBLNMD)<21 S BARBLNMD=$$LJ(BARBLNMD,20)
  1. E S BARBLNMD=$E(BARBLNMD,1,20)
  1. ;
  1. ;bill number strip dashes - transmittal number
  1. I $L(BARBLNM)<21 S BARBLNM=$$LJ(BARBLNM,20)
  1. E S BARBLNM=$E(BARBLNM,1,20)
  1. ;
  1. I +BARDOS S BARDOS=$E(BARDOS,4,7)_$E($E(BARDOS,1,3)+1700,3,4)
  1. E S BARDOS="000000"
  1. ;
  1. S BARCHRG=$P($G(^BARBL(DUZ(2),BARBL,0)),U,13)
  1. S BARX=$P(BARCHRG,".")_"."_$P(BARCHRG,".",2)_"00"
  1. S BARCHRG=$P(BARX,".")_$E($P(BARX,".",2),1,2)
  1. I $L(BARCHRG)<9 S BARCHRG=$$PAD(BARCHRG,8)
  1. ;
  1. S $P(BARSP," ",31)=""
  1. S $P(BARDOSFL,"0",7)=""
  1. S $P(BARCHGFL,"0",9)=""
  1. ;
  1. S ^BARSTART($J,BARBL)=BARINUM
  1. S ^BARSTART($J,BARBL)=^BARSTART($J,BARBL)_BARINSN
  1. S ^BARSTART($J,BARBL)=^BARSTART($J,BARBL)_BARSP
  1. S ^BARSTART($J,BARBL)=^BARSTART($J,BARBL)_BARIADDR
  1. S ^BARSTART($J,BARBL)=^BARSTART($J,BARBL)_BARICITY
  1. S ^BARSTART($J,BARBL)=^BARSTART($J,BARBL)_BARIST
  1. S ^BARSTART($J,BARBL)=^BARSTART($J,BARBL)_BARIZIP
  1. S ^BARSTART($J,BARBL)=^BARSTART($J,BARBL)_BARZEXT
  1. S ^BARSTART($J,BARBL)=^BARSTART($J,BARBL)_BARPOLN
  1. S ^BARSTART($J,BARBL)=^BARSTART($J,BARBL)_BARBLNMD
  1. S ^BARSTART($J,BARBL)=^BARSTART($J,BARBL)_BARPNAM
  1. S ^BARSTART($J,BARBL)=^BARSTART($J,BARBL)_" "
  1. S ^BARSTART($J,BARBL)=^BARSTART($J,BARBL)_BARPAT
  1. S ^BARSTART($J,BARBL)=^BARSTART($J,BARBL)_BARBLNM
  1. S ^BARSTART($J,BARBL)=^BARSTART($J,BARBL)_1
  1. S ^BARSTART($J,BARBL)=^BARSTART($J,BARBL)_BARDOS
  1. S ^BARSTART($J,BARBL)=^BARSTART($J,BARBL)_BARCHRG
  1. S ^BARSTART($J,BARBL)=^BARSTART($J,BARBL)_BARDOSFL
  1. S ^BARSTART($J,BARBL)=^BARSTART($J,BARBL)_BARCHGFL
  1. S ^BARSTART($J,BARBL)=^BARSTART($J,BARBL)_BARDOSFL
  1. S ^BARSTART($J,BARBL)=^BARSTART($J,BARBL)_BARCHGFL
  1. S ^BARSTART($J,BARBL)=^BARSTART($J,BARBL)_BARDOSFL
  1. S ^BARSTART($J,BARBL)=^BARSTART($J,BARBL)_BARCHGFL
  1. S ^BARSTART($J,BARBL)=^BARSTART($J,BARBL)_BARDOSFL
  1. S ^BARSTART($J,BARBL)=^BARSTART($J,BARBL)_BARCHGFL
  1. Q
  1. ; ********************************************************************
  1. ;
  1. PAD(BARVAR,BARLNG) ; EP
  1. ; Right justify, zero fill value BARVAR for length BARLNG
  1. K BARZERO
  1. S $P(BARZERO,"0",BARLNG+1)=""
  1. S BARVAR=BARZERO_BARVAR
  1. S BARVAR=$E(BARVAR,$L(BARVAR)-(BARLNG-1),$L(BARVAR))
  1. Q BARVAR
  1. ; ********************************************************************
  1. ;
  1. LJ(BARVAR,BARLNG) ; EP
  1. ; Left justify, space fill value BARVAR for length BARLNG
  1. I $L(BARVAR)>(BARLNG-1) D Q BARVAR
  1. . S BARVAR=$E(BARVAR,1,BARLNG)
  1. S $P(BARSPACE," ",BARLNG+1)=""
  1. S BARVAR=BARVAR_BARSPACE
  1. S BARVAR=$E(BARVAR,1,BARLNG)
  1. Q BARVAR