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

ABMUUTL.m

Go to the documentation of this file.
  1. ABMUUTL ; IHS/SD/SDR - 3PB/UFMS Check for pseudo TIN
  1. ;;2.6;IHS 3P BILLING SYSTEM;;NOV 12, 2009
  1. ; New routine - v2.5 p12
  1. ;
  1. ; IHS/SD/SDR - v2.5 p13 - IM25962
  1. ; Fix for missing TIN check; was failing on Bens
  1. ;
  1. PTINCK ;EP - check bills about to be exported for
  1. ; pseudo TINs
  1. S ABMPTINF=0,ABMMTINF=0
  1. S ABMI=0
  1. F S ABMI=$O(ABMC(ABMI)) Q:+ABMI=0 D
  1. .S ABMDZ=""
  1. .F S ABMDZ=$O(ABMC(ABMI,ABMDZ)) Q:ABMDZ="" D
  1. ..S ABMFD=0
  1. ..F S ABMFD=$O(ABMC(ABMI,ABMDZ,ABMFD)) Q:+ABMFD=0 D
  1. ...S ABMBA=0
  1. ...S ABMLOOP=10
  1. ...S ABMDUZ=$S(ABMDZ="POS":1,1:ABMDZ)
  1. ...S:ABMDUZ=1 ABMLOOP=20
  1. ...F S ABMBA=$O(^ABMUCASH(ABMLOC,ABMLOOP,ABMDUZ,20,ABMFD,11,ABMBA)) Q:+ABMBA=0 D
  1. ....S ABMBDAC=$P($G(^ABMUCASH(ABMLOC,ABMLOOP,ABMDUZ,20,ABMFD,11,ABMBA,0)),U)
  1. ....S ABMCDFN=0
  1. ....F S ABMCDFN=$O(^ABMUCASH(ABMLOC,ABMLOOP,ABMDUZ,20,ABMFD,11,ABMBA,2,ABMCDFN)) Q:+ABMCDFN=0 D
  1. .....S ABMDUZ2=$P($G(^ABMUCASH(ABMLOC,ABMLOOP,ABMDUZ,20,ABMFD,11,ABMBA,2,ABMCDFN,0)),U,2)
  1. .....S ABMBIEN=$P($G(^ABMUCASH(ABMLOC,ABMLOOP,ABMDUZ,20,ABMFD,11,ABMBA,2,ABMCDFN,0)),U,3)
  1. .....S ABMAINS=$P($G(^ABMDBILL(ABMDUZ2,ABMBIEN,0)),U,8)
  1. .....S ABMTIN=$P($G(^AUTNINS(ABMAINS,0)),U,11)
  1. .....I $G(ABMTIN)="",($P($G(^ABMUCASH(ABMLOC,ABMLOOP,ABMDUZ,20,ABMFD,11,ABMBA,0)),U)'="I") D Q ;missing TIN
  1. ......S ABMMTINF=1 ;flag for missing TIN
  1. ......S ABMMT(ABMAINS)=ABMFD
  1. .....S ABMTIN=$E(ABMTIN,$L(ABMTIN))
  1. .....I $A(ABMTIN)>64&($A(ABMTIN)<91) S ABMPTINF=1,ABMPT(ABMAINS)=ABMTIN ;pseudo TIN
  1. Q
  1. ABBREVCK ;EP - check bills about to be exported for
  1. ; visit location abbreviations
  1. S ABMVDFNF=0
  1. S ABMI=0
  1. F S ABMI=$O(ABMC(ABMI)) Q:+ABMI=0 D
  1. .S ABMDZ=""
  1. .F S ABMDZ=$O(ABMC(ABMI,ABMDZ)) Q:ABMDZ="" D
  1. ..S ABMFD=0
  1. ..F S ABMFD=$O(ABMC(ABMI,ABMDZ,ABMFD)) Q:+ABMFD=0 D
  1. ...S ABMBA=0
  1. ...S ABMLOOP=10
  1. ...S ABMDUZ=$S(ABMDZ="POS":1,1:ABMDZ)
  1. ...S:ABMDUZ=1 ABMLOOP=20
  1. ...F S ABMBA=$O(^ABMUCASH(ABMLOC,ABMLOOP,ABMDUZ,20,ABMFD,11,ABMBA)) Q:+ABMBA=0 D
  1. ....S ABMBDAC=$P($G(^ABMUCASH(ABMLOC,ABMLOOP,ABMDUZ,20,ABMFD,11,ABMBA,0)),U)
  1. ....S ABMCDFN=0
  1. ....F S ABMCDFN=$O(^ABMUCASH(ABMLOC,ABMLOOP,ABMDUZ,20,ABMFD,11,ABMBA,2,ABMCDFN)) Q:+ABMCDFN=0 D
  1. .....S ABMDUZ2=$P($G(^ABMUCASH(ABMLOC,ABMLOOP,ABMDUZ,20,ABMFD,11,ABMBA,2,ABMCDFN,0)),U,2)
  1. .....S ABMBIEN=$P($G(^ABMUCASH(ABMLOC,ABMLOOP,ABMDUZ,20,ABMFD,11,ABMBA,2,ABMCDFN,0)),U,3)
  1. .....S ABMVDFN=$P($G(^ABMDBILL(ABMDUZ2,ABMBIEN,0)),U,3)
  1. .....S ABMVABB=$P($G(^AUTTLOC(ABMVDFN,0)),U,7)
  1. .....I $G(ABMVABB)="",($P($G(^ABMUCASH(ABMLOC,ABMLOOP,ABMDUZ,20,ABMFD,11,ABMBA,0)),U)'="I") D Q ;missing abbrev
  1. ......S ABMVDFNF=1 ;flag for missing abbrev
  1. ......S ABMMABB(ABMVDFN)=ABMFD
  1. Q
  1. ACTIVCK(ABMLOC,ABMSDT,ABMDUZ) ;EP - check if session has activity
  1. S ABMAFLG=0
  1. S ABMBA=0
  1. I +ABMDUZ'=0 D
  1. .F S ABMBA=$O(^ABMUCASH(ABMLOC,10,ABMDUZ,20,ABMSDT,11,ABMBA)) Q:+ABMBA=0 D
  1. ..F ABMSEC=1,2,3 D
  1. ...I +$O(^ABMUCASH(ABMLOC,10,ABMDUZ,20,ABMSDT,11,ABMBA,ABMSEC,0))'=0 S ABMAFLG=1
  1. .F ABMSEC=12,13 D
  1. ..I +$O(^ABMUCASH(ABMLOC,10,ABMDUZ,20,ABMSDT,ABMSEC,0))'=0 S ABMAFLG=1
  1. Q ABMAFLG
  1. ;
  1. CASHTOTP ;EP
  1. K ABMABILL,ABMABAMT
  1. K ABMEBILL,ABMEBAMT
  1. S ABMBA=0
  1. S ABMTRIBL=$P($G(^ABMDPARM(ABMLOC,1,4)),U,14)
  1. S ABMUSER=1
  1. F S ABMBA=$O(^ABMUCASH(ABMLOC,20,ABMUSER,20,ABMFD,11,ABMBA)) Q:+ABMBA=0 D
  1. .S ABMBDAC=$P($G(^ABMUCASH(ABMLOC,20,ABMUSER,20,ABMFD,11,ABMBA,0)),U)
  1. .I $G(ABMTRIBL)=1,(ABMBDAC="I") Q ;if exporting and Ben insurer type
  1. .S ABMCDFN=0
  1. .F S ABMCDFN=$O(^ABMUCASH(ABMLOC,20,ABMUSER,20,ABMFD,11,ABMBA,2,ABMCDFN)) Q:+ABMCDFN=0 D
  1. ..S ABMBAL(ABMBDAC,"ABILLS")=+$G(ABMBAL(ABMBDAC,"ABILLS"))+1 ;total approved bills by budget activity
  1. ..S ABMABILL=+$G(ABMABILL)+1 ;total approved bills
  1. ..S ABMSBTOT=+$G(ABMSBTOT)+1
  1. ..S ABMDUZ2=$P($G(^ABMUCASH(ABMLOC,20,ABMUSER,20,ABMFD,11,ABMBA,2,ABMCDFN,0)),U,2)
  1. ..S ABMBDFN=$P($G(^ABMUCASH(ABMLOC,20,ABMUSER,20,ABMFD,11,ABMBA,2,ABMCDFN,0)),U,3)
  1. ..S ABMBAL(ABMBDAC,"ABAMT")=+$G(ABMBAL(ABMBDAC,"ABAMT"))+($P($G(^ABMDBILL(ABMDUZ2,ABMBDFN,2)),U))
  1. ..S ABMSATOT=(+$G(ABMSATOT))+($P($G(^ABMDBILL(ABMDUZ2,ABMBDFN,2)),U))
  1. ..S ABMABAMT=$G(ABMABAMT)+($P($G(^ABMDBILL(ABMDUZ2,ABMBDFN,2)),U)) ;total approved bill amount
  1. ..;now check if bill is part of 3P UFMS Exclusion Table
  1. ..Q:$$BILL^ABMUEAPI(ABMDUZ2,$P($G(^ABMUCASH(ABMLOC,20,ABMUSER,20,ABMFD,11,ABMBA,2,ABMCDFN,0)),U,3))=1
  1. ..S ABMBAL(ABMBDAC,"EBILLS")=+$G(ABMBAL(ABMBDAC,"EBILLS"))+1
  1. ..S ABMEBILL=+$G(ABMEBILL)+1
  1. ..S ABMBAL(ABMBDAC,"EBAMT")=+$G(ABMBAL(ABMBDAC,"EBAMT"))+($P($G(^ABMDBILL(ABMDUZ2,ABMBDFN,2)),U))
  1. ..S ABMEBAMT=+$G(ABMEBAMT)+($P($G(^ABMDBILL(ABMDUZ2,ABMBDFN,2)),U))
  1. ..S ABMTEBIL=+$G(ABMTEBIL)+1 ;total bills (multiple sessions)
  1. ..S ABMTEBAM=+$G(ABMTEBAM)+($P($G(^ABMDBILL(ABMDUZ2,ABMBDFN,2)),U)) ;total amount (multiple sessions)
  1. ;
  1. ;cancelled bills
  1. K ABMCBILL,ABMCBAMT
  1. S ABMBA=0
  1. F S ABMBA=$O(^ABMUCASH(ABMLOC,20,ABMUSER,20,ABMFD,11,ABMBA)) Q:+ABMBA=0 D
  1. .S ABMBDAC=$P($G(^ABMUCASH(ABMLOC,20,ABMUSER,20,ABMFD,11,ABMBA,0)),U)
  1. .S ABMCDFN=0
  1. .F S ABMCDFN=$O(^ABMUCASH(ABMLOC,20,ABMUSER,20,ABMFD,11,ABMBA,3,ABMCDFN)) Q:+ABMCDFN=0 D
  1. ..S ABMBAL(ABMBDAC,"CBILLS")=+$G(ABMBAL(ABMBDAC,"CBILLS"))+1
  1. ..S ABMCBILL=$G(ABMCBILL)+1 ;session total
  1. ..S ABMTCBIL=+$G(ABMTCBIL)+1 ;total bills (multiple sessions)
  1. ..S ABMDUZ2=$P($G(^ABMUCASH(ABMLOC,20,ABMUSER,20,ABMFD,11,ABMBA,3,ABMCDFN,0)),U,2)
  1. ..S ABMBDFN=$P($G(^ABMUCASH(ABMLOC,20,ABMUSER,20,ABMFD,11,ABMBA,3,ABMCDFN,0)),U,3)
  1. ..S ABMBAL(ABMBDAC,"CBAMT")=+$G(ABMBAL(ABMBDAC,"CBAMT"))+($P($G(^ABMDBILL(ABMDUZ2,ABMBDFN,2)),U))
  1. ..S ABMCBAMT=+$G(ABMCBAMT)+($P($G(^ABMDBILL(ABMDUZ2,ABMBDFN,2)),U)) ;session total
  1. ..S ABMTCBAM=+$G(ABMTCBAM)+($P($G(^ABMDBILL(ABMDUZ2,ABMBDFN,2)),U)) ;total amount (multiple sessions)
  1. ;
  1. Q