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

BARPUC2.m

Go to the documentation of this file.
  1. BARPUC2 ; IHS/SD/LSL - UNALLOCATED PATIENT LOOKUP ; 01/26/2009
  1. ;;1.8;IHS ACCOUNTS RECEIVABLE;**17,23**;OCT 26, 2005
  1. ;
  1. ;** patient a/r lookup based on from/thru dos
  1. ;** called from ^BARPST
  1. ;** BARPASS = PATDFN^BEGDOS^ENDDOS
  1. ;** builds an array that includes all entries from a/r that meet the
  1. ; criteria.
  1. ;HEAT93190 DEC 2012 P.OTTIS NOHEAT MARK DUPLICATE BILLS
  1. ;MAR 2013 P.OTTIS ADDED NEW VA billing
  1. ; *********************************************************************
  1. ;
  1. EN(BARPASS) ;EP
  1. N DIC,DIQ,DR,BARBLV,BARDT,BARPAT,BARBEG,BAREND,BARHIT,BARCNT
  1. K ^BARTMP($J)
  1. Q:+BARPASS=0
  1. S BARPAT=+BARPASS
  1. S BARBEG=$P(BARPASS,U,2)
  1. S BAREND=$P(BARPASS,U,3)
  1. S X1=BARBEG
  1. S X2=-1
  1. D C^%DTC
  1. S BARDT=X
  1. S DIC="^BARBL(DUZ(2),"
  1. S DR=".01;3;13;15"
  1. S DIQ="BARBLV("
  1. S BARCNT=0
  1. F S BARDT=$O(^BARBL(DUZ(2),"ABC",BARPAT,BARDT)) Q:'BARDT!(BARDT>BAREND) D
  1. . S BARBDA=0
  1. . F S BARBDA=$O(^BARBL(DUZ(2),"ABC",BARPAT,BARDT,BARBDA)) Q:'BARBDA D
  1. .. S DA=BARBDA
  1. .. D EN^XBDIQ1
  1. .. S BARCNT=BARCNT+1
  1. .. S ^BARTMP($J,BARBDA,BARCNT)=BARDT_U_BARBLV(.01)_U_BARBLV(13)_U_BARBLV(3)_U_BARBLV(15)
  1. .. S ^BARTMP($J,"B",BARCNT,BARBDA)=""
  1. .. K BARBLV
  1. Q BARCNT
  1. ; *********************************************************************
  1. ;
  1. HIT(BARPASS) ;
  1. ; ** display a/r bills found
  1. N BARBDA,BARLIN,BARREC,BARBLO,BAREIN1,BAREIN2,BARDPTR
  1. S (BARBDA,BARPG,BARSTOP)=0
  1. D HEAD
  1. F S BARBDA=$O(^BARTMP($J,BARBDA)) Q:'BARBDA D Q:BARSTOP
  1. . S BARLIN=$O(^BARTMP($J,BARBDA,""))
  1. . S BARREC=^BARTMP($J,BARBDA,BARLIN)
  1. . S BARBLO=$P(BARREC,U,2)
  1. . I $D(^BARTR(DUZ(2),"AM4",+BARBLO)) S BARBLO="m"_BARBLO
  1. . S BARSTOP=$$CHKLINE(0) Q:BARSTOP
  1. . S BARTMP=$$DUPLBILL^BARPNP2($P(BARREC,U,2)) I BARTMP>0 D ;-------->P.OTT MARK DUPLICATE BILLS
  1. . . S BAREIN1=$P(BARTMP,"^",2)
  1. . . S BAREIN2=$P(BARTMP,"^",3)
  1. . . S BARDPTR=$P(BARTMP,"^",4)
  1. . . I BARDPTR=3 S BARBLO="?"_BARBLO Q
  1. . . I BARBDA=BAREIN1,BARDPTR=1 S BARBLO="!"_BARBLO Q ;! = ORPHANT (NO DATA IN 3PB)
  1. . . I BARBDA=BAREIN2,BARDPTR=2 S BARBLO="!"_BARBLO Q ;d = DUPLICATE (CORRECT ONE)
  1. . . I BARBDA=BAREIN1 S BARBLO="d"_BARBLO Q
  1. . . I BARBDA=BAREIN2 S BARBLO="d"_BARBLO Q
  1. . ;---------------------------------------------------------< P.OTT
  1. . W !,BARLIN
  1. . W ?6,$$SDT^BARDUTL($P(BARREC,U,1))
  1. . W ?18,BARBLO
  1. . W ?32,$J($P(BARREC,U,3),8,2)
  1. . W ?44,$E($P(BARREC,U,4),1,23)
  1. . W ?70,$J($P(BARREC,U,5),8,2)
  1. Q
  1. ; *********************************************************************
  1. ;
  1. W $$EN^BARVDF("IOF"),!
  1. N BARPTNAM
  1. S BARPG=BARPG+1
  1. S BARPTNAM=$P(^DPT(+BARPASS,0),U,1)
  1. I $D(^BARTR(DUZ(2),"AM5",+BARPASS)) S BARPTNAM="(msg) "_BARPTNAM
  1. W "Claims for "_BARPTNAM_" from "_$$SDT^BARDUTL($P(BARPASS,U,2))_" to "_$$SDT^BARDUTL($P(BARPASS,U,3))
  1. W ?(IOM-15),"Page: "_BARPG
  1. W !!?32,"Billed",?70,"Current"
  1. W !,"Line #",?8,"DOS",?18,"Claim #",?32,"Amount",?44,"Billed To",?70,"Balance"
  1. S BARDSH=""
  1. S $P(BARDSH,"-",IOM)=""
  1. W !,BARDSH
  1. Q
  1. ; *********************************************************************
  1. ;
  1. HIT1(BARPASS) ; EP
  1. ; ** display a/r bills found
  1. N BARHIT,BARLIN,BARREC,BARBLO,BAREIN1,BAREIN2,BARDPTR
  1. S (BARTPAY,BARTADJ,BARHIT,BARPG,BARSTOP)=0
  1. D HEAD1
  1. F S BARHIT=$O(^BARTMP($J,BARHIT)) Q:'BARHIT D Q:BARSTOP
  1. . S BARLIN=$O(^BARTMP($J,BARHIT,""))
  1. . S BARREC=^BARTMP($J,BARHIT,BARLIN)
  1. . S BARBLO=$P(BARREC,U,2)
  1. . I $D(^BARTR(DUZ(2),"AM4",+BARBLO)) S BARBLO="m"_BARBLO
  1. . S BARTMP=$$DUPLBILL^BARPNP2($P(BARREC,U,2)) I BARTMP>0 D ;-------->P.OTT MARK DUPLICATE BILLS
  1. . . S BAREIN1=$P(BARTMP,"^",2)
  1. . . S BAREIN2=$P(BARTMP,"^",3)
  1. . . S BARDPTR=$P(BARTMP,"^",4)
  1. . . I BARDPTR=3 S BARBLO="?"_BARBLO Q
  1. . . I BARHIT=BAREIN1,BARDPTR=1 S BARBLO="!"_BARBLO Q ;! = ORPHANT (NO DATA IN 3PB)
  1. . . I BARHIT=BAREIN2,BARDPTR=2 S BARBLO="!"_BARBLO Q ;d = DUPLICATE (CORRECT ONE)
  1. . . I BARHIT=BAREIN1 S BARBLO="d"_BARBLO Q
  1. . . I BARHIT=BAREIN2 S BARBLO="d"_BARBLO Q
  1. . ;---------------------------------------------------------< P.OTT
  1. . S BARTPAY=BARTPAY+$P(BARREC,U,6)
  1. . S BARTADJ=BARTADJ+$P(BARREC,U,7)
  1. . S BARSTOP=$$CHKLINE(1) Q:BARSTOP
  1. . W !,BARLIN
  1. . W ?6,$$SDT^BARDUTL($P(BARREC,U,1))
  1. . W ?18,BARBLO
  1. . W ?32,$J($P(BARREC,U,3),8,2)
  1. . W ?44,$J($P(BARREC,U,6),8,2)
  1. . W ?56,$J($P(BARREC,U,7),8,2)
  1. . W ?70,$J($P(BARREC,U,5),8,2)
  1. Q
  1. ; *********************************************************************
  1. ;
  1. HEAD1 ;
  1. W $$EN^BARVDF("IOF"),!
  1. N BARPTNAM
  1. S BARPG=BARPG+1
  1. S BARPTNAM=$P(^DPT(+BARPASS,0),U,1)
  1. I $D(^BARTR(DUZ(2),"AM5",+BARPASS)) S BARPTNAM="(msg) "_BARPTNAM
  1. W "Claims for "_BARPTNAM_" from "_$$SDT^BARDUTL($P(BARPASS,U,2))_" to "_$$SDT^BARDUTL($P(BARPASS,U,3))
  1. W ?(IOM-15),"Page: "_BARPG
  1. W !!?32,"Billed",?44,"Current",?56,"Current",?70,"Current"
  1. W !,"Line #",?8,"DOS",?18,"Claim #",?32,"Amount",?44,"Payments",?56,"Adjust.",?70,"Balance"
  1. S BARDSH=""
  1. S $P(BARDSH,"-",IOM)=""
  1. W !,BARDSH
  1. Q
  1. ; *********************************************************************
  1. ;
  1. CHKLINE(BARHD) ;
  1. ; Q 0 = CONTINUE
  1. ; Q 1 = STOP
  1. N X
  1. I ($Y+5)<IOSL Q 0
  1. W !?(IOM-15),"continued==>"
  1. D EOP^BARUTL(0)
  1. I 'Y Q 1
  1. I BARHD=0 D HEAD
  1. I BARHD=1 D HEAD1
  1. Q 0
  1. ; Begin new code BAR*1.8*17 ADD COMMENTS ENTRY TO PUC ITEMS
  1. ; - per Adrian 2/12/10 PKD:BAR*1.8.17 2/12/10
  1. ITMSG ;
  1. ;BAR1.8*17 PKD 2/24/2010
  1. W !!!,"Create a New Message for: "
  1. W !!,"Credit",?10,"Account",?42,"Batch",?71,"Item"
  1. W !?8,"TRANS DATE",?32,"ALLOW CAT",?46,"TDN",?68,"STATUS"
  1. W !
  1. S BARDSH=""
  1. S $P(BARDSH,"-",80)="" W BARDSH
  1. ;
  1. W $J(BARTX(2),8,2)
  1. W ?10,$E(BARTX(6),1,30),?42,BARTX(14)
  1. W ?71,BARTX(15) ;coll. item
  1. S D0=BARTX(6,"I")
  1. I D0']"" D Q ;MRS:BAR*1.8*7 IM30586
  1. . W !,"** ERROR--MISSING ALLOCATION INFO "
  1. . D EOP^BARUTL(1)
  1. S BARALLC=$$VALI^BARVPM(8) ;CODE
  1. I BARALLC="" D Q ;MRS:BAR*1.8*7 IM30586
  1. . W !,"** ERROR--MISSING ALLOCATION INFO "
  1. . D EOP^BARUTL(1)
  1. S Y=$P(BARTX("ID"),":") D DD^%DT
  1. W !?8,Y,?32,$E($TR($P($T(@BARALLC),";;",3)," ",""),1,12) ;P.OTT SHOW BOTH FIELDS
  1. W ?46
  1. W $S($G(BARTX(17))'="":BARTX(17),$$GET1^DIQ(90051.1101,BARTX(15,"I")_","_BARTX(14,"I")_",",20,"E")'="":$$GET1^DIQ(90051.1101,BARTX(15,"I")_","_BARTX(14,"I")_",",20,"E"),1:"<NO TDN>")
  1. W ?68,$S($O(^BAR(90052,"D",BARTX(14),0))'="":"LETTER",1:"")
  1. ;
  1. K DIE,DIC,DA,DIR
  1. S DA(1)=BARTX(14,"I"),DA=BARTX(15,"I")
  1. S DR=107 ; SubFile ITEMS in A/R Collect Batch - Question #107: PUC comments
  1. S DIE="^BARCOL("_DUZ(2)_","_DA(1)_",1,"
  1. D ^DIE
  1. Q
  1. ;
  1. PRTQ ; Ask whether to print comments on Letters to Finance 1.8.17 2/25/10 PKD
  1. Q:$G(^BARCOL(DUZ(2),BARTX(14,"I"),1,BARTX(15,"I"),7,0))=""
  1. K DIR
  1. W !!,?31,"**Messages Exist**",!
  1. S DIR("A")="Do you want them to print on the letter? ",DIR("B")="YES",DIR(0)="YOA"
  1. D ^DIR
  1. I Y=1 S BARPRTQ=1
  1. Q
  1. ; ********************************************************************
  1. ;THIS TABLE REPLICATES ^AUTTINTY INSURER TYPE (21 ENTRIES) P.OTT 4/12/2013
  1. ;AND MAPS INSURER TYPE CODE TO CATEGORY (IE: W --> OTHER)
  1. H ;;PRIVATE INSURANCE;;HMO
  1. M ;;PRIVATE INSURANCE;;MEDICARE SUPPL.
  1. D ;;MEDICAID;;MEDICAID FI
  1. R ;;MEDICARE;;MEDICARE FI
  1. P ;;PRIVATE INSURANCE;;PRIVATE INSURANCE
  1. W ;;OTHER;;WORKMEN'S COMP
  1. C ;;OTHER;;CHAMPUS
  1. N ;;OTHER;;NON-BENEFICIARY (NON-INDIAN)
  1. I ;;OTHER;;INDIAN PATIENT
  1. K ;;MEDICAID;;CHIP (KIDSCARE)
  1. T ;;OTHER;;THIRD PARTY LIABILITY
  1. G ;;OTHER;;GUARANTOR
  1. MD ;;MEDICARE;;MCR PART D
  1. MH ;;MEDICARE;;MEDICARE HMO
  1. MMC ;;MEDICARE;;MCR MANAGED CARE
  1. TSI ;;OTHER;;TRIBAL SELF INSURED
  1. SEP ;;OTHER;;STATE EXCHANGE PLAN
  1. FPL ;;MEDICAID;;FPL 133 PERCENT
  1. MC ;;MEDICARE;;MCR PART C
  1. F ;;PRIVATE INSURANCE;;FRATERNAL ORGANIZATION
  1. V ;;VETERAN;;VETERANS MEDICAL BENEFITS
  1. ;;***END OF TABLE**