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

ABMUTLP.m

Go to the documentation of this file.
  1. ABMUTLP ; IHS/ASDST/DMJ - PAYER UTILITIES ;
  1. ;;2.6;IHS 3P BILLING SYSTEM;**3,6,8,9,10,11,19,21,26**;NOV 12, 2009;Build 440
  1. ;abm*2.6*10 split into ABMUTLP2 due to routine size
  1. ;IHS/SD/SDR 2.6*19 HEAT136922 -made changes for relationship code for grandchildren, nephew, niece
  1. ;IHS/SD/SDR 2.6*19 HEAT168248 -Made changes to merge same SARs into one entry, not one for each A/R trans.
  1. ;IHS/SD/SDR 2.6*21 HEAT107645 - SBR - made change to check if insurer type K should be mcd or prvt and pull appropriate data
  1. ;IHS/SD/SDR 2.6*26 CR9265 Added code to call AUPN API to return either MBI or default to old code for HIC
  1. ;*********************
  1. SET(X,ABMDUZ2) ; EP set up standard vars
  1. ;x=bill ien
  1. ;abmduz2=duz(2)
  1. S:'$G(ABMDUZ2) ABMDUZ2=DUZ(2)
  1. K ABMCDNUM
  1. S ABMP("BDFN")=X
  1. N I
  1. F I=0:1:9 D
  1. .S @("ABMB"_I)=$G(^ABMDBILL(ABMDUZ2,ABMP("BDFN"),I))
  1. I $G(ABMB6) F I=2,4 D
  1. .I $L($P(ABMB6,"^",I))=1 D
  1. ..S $P(ABMB6,"^",I)="0"_$P(ABMB6,"^",I)
  1. S ABMP("PDFN")=$P(ABMB0,U,5) ;Pt IEN
  1. S ABMP("LDFN")=$P(ABMB0,U,3) ;Visit loc IEN
  1. S ABMP("BTYP")=$P(ABMB0,U,2) ;Bill type
  1. S ABMP("EXP")=$P(ABMB0,U,6) ;Exp mode IEN
  1. S ABMP("VTYP")=$P(ABMB0,U,7) ;Visit type IEN
  1. S ABMP("INS")=$P(ABMB0,U,8) ;Active Ins IEN
  1. S ABMP("CLIN")=$P(ABMB0,U,10) ;Clinic
  1. S ABMP("CLIN")=$P($G(^DIC(40.7,+ABMP("CLIN"),0)),U,2)
  1. S ABMP("VDT")=$P($G(^ABMDBILL(ABMDUZ2,ABMP("BDFN"),7)),U) ;Service date from
  1. ;S ABMP("ITYPE")=$P($G(^AUTNINS(+ABMP("INS"),2)),U) ;Type of ins ;abm*2.6*10 HEAT73780
  1. S ABMP("ITYPE")=$$GET1^DIQ(9999999.181,$$GET1^DIQ(9999999.18,+ABMP("INS"),".211","I"),1,"I") ;Type of ins ;abm*2.6*10 HEAT73780
  1. S ABMP("RTYPE")=$S(ABMP("ITYPE")="R":"1G",ABMP("ITYPE")="D":"1D",$P($G(^ABMNINS(ABMDUZ2,ABMP("INS"),1,ABMP("VTYP"),1)),U)'="":$P($G(^ABMREFID($P($G(^ABMNINS(ABMDUZ2,ABMP("INS"),1,ABMP("VTYP"),1)),U),0)),U),1:"0B")
  1. I ABMP("EXP")=22,ABMP("RTYPE")="1G" S ABMP("RTYPE")="1C"
  1. D PCN^ABMERUTL
  1. Q
  1. ISET ; EP
  1. ;Set up Insurers
  1. K ABMCDNUM
  1. K ABMP("INS")
  1. S ABMP("INS")=$P(ABMB0,U,8) ;Active Ins IEN
  1. S ABME("PRIO")=0
  1. S ABME("INS#")=0
  1. ;Loop down priority
  1. F S ABME("PRIO")=$O(^ABMDBILL(ABMDUZ2,ABMP("BDFN"),13,"C",ABME("PRIO"))) Q:'ABME("PRIO")!($G(ABMP("INS",3))) D
  1. .N I
  1. .S I=0
  1. .F S I=$O(^ABMDBILL(ABMDUZ2,ABMP("BDFN"),13,"C",ABME("PRIO"),I)) Q:'I!($G(ABMP("INS",3))) D
  1. ..;Quit if insurer unbillable
  1. ..Q:$P(^ABMDBILL(ABMDUZ2,ABMP("BDFN"),13,I,0),U,3)="U" S ABME("INS")=$P(^(0),U) ;Ins IEN
  1. ..;S ABME("ITYPE")=$P(^AUTNINS(ABME("INS"),2),U) ;type insurer ;abm*2.6*10 HEAT73780
  1. ..S ABME("ITYPE")=$$GET1^DIQ(9999999.181,$$GET1^DIQ(9999999.18,ABME("INS"),".211","I"),1,"I") ;type insurer ;abm*2.6*10 HEAT73780
  1. ..Q:"I"[ABME("ITYPE") ;Quit if indian pt
  1. ..;Quit if non-beneficiary & not active ins
  1. ..Q:"N"[ABME("ITYPE")&($P(^ABMDBILL(ABMDUZ2,ABMP("BDFN"),0),U,8)'=ABME("INS"))
  1. ..I ABME("ITYPE")="D"!(ABME("ITYPE")="K") D
  1. ...S ABMCDNUM=$P(^ABMDBILL(ABMDUZ2,ABMP("BDFN"),13,I,0),U,6)
  1. ...S:'$G(ABMP("PDFN")) ABMP("PDFN")=$P(^ABMDBILL(ABMDUZ2,ABMP("BDFN"),0),U,5)
  1. ...Q:$P($G(^AUPNMCD(+ABMCDNUM,0)),U)=ABMP("PDFN")
  1. ...D DBFX^ABMDEFIP(ABMP("BDFN"),I)
  1. ...S ABMCDNUM=$P(^ABMDBILL(ABMDUZ2,ABMP("BDFN"),13,I,0),U,6)
  1. ..S ABME("INS#")=ABME("INS#")+1 ;increment cntr
  1. ..S ABMP("INS",ABME("INS#"))=^ABMDBILL(ABMDUZ2,ABMP("BDFN"),13,I,0)
  1. ..S $P(ABMP("INS",ABME("INS#")),U,2)=ABME("ITYPE")
  1. Q
  1. PAYED ; EP
  1. ; Build Ins Pymt Array
  1. D PAYED^ABMUTLP2 ;abm*2.6*19 IHS/SD/SDR HEAT168248
  1. Q
  1. TCR(X) ; EP
  1. ; Total credits for bill
  1. ;x=bill ien
  1. S ABM("TCREDITS")=0
  1. S I=0
  1. F S I=$O(^ABMDBILL(ABMDUZ2,X,3,I)) Q:'I D
  1. .F J=2,3,4 S ABM("TCREDITS")=ABM("TCREDITS")+$P(^ABMDBILL(ABMDUZ2,X,3,I,0),"^",J)
  1. S X=ABM("TCREDITS")
  1. K ABM("TCREDITS")
  1. Q X
  1. MCDBFX(X,Y) ; EP
  1. ; Fix BILL Ins Multiple if broken ptr mcd
  1. ; INPUT:X = IEN (CLAIM OR BILL)
  1. ; Y = INS IEN UNDER FIELD #13 (INS MULTIPLE)
  1. ; OUTPUT:
  1. N ABMP
  1. S ABMP("D0")=X
  1. S ABMP("D1")=Y
  1. S ABMP("ZERO")=^ABMDBILL(ABMDUZ2,ABMP("D0"),13,ABMP("D1"),0)
  1. S ABMP("PDFN")=$P(^ABMDBILL(ABMDUZ2,ABMP("D0"),0),"^",5)
  1. S ABMP("VDT")=$P(^ABMDBILL(ABMDUZ2,ABMP("D0"),7),U)
  1. D MGET
  1. I $G(ABMP(1)) S $P(^ABMDBILL(ABMDUZ2,ABMP("D0"),13,ABMP("D1"),0),U,6)=ABMP(1),$P(^(0),U,7)=ABMP(2)
  1. Q
  1. MGET ; EP
  1. ; Get new ptr
  1. S ABMP("INSCO")=$P(ABMP("ZERO"),U)
  1. S ABMP("PTR")=$P(ABMP("ZERO"),U,6)
  1. Q:ABMP("PTR")=""
  1. Q:$D(^AUPNMCD(ABMP("PTR"),0))
  1. ;Q:$P($G(^AUTNINS(ABMP("INSCO"),2)),U)'="D" ;abm*2.6*10 HEAT73780
  1. Q:$$GET1^DIQ(9999999.181,$$GET1^DIQ(9999999.18,ABMP("INSCO"),".211","I"),1,"I")'="D" ;abm*2.6*10 HEAT73780
  1. D 4^ABMDLCK2
  1. S ABMP("PRI")=$O(ABML(0)) Q:'ABMP("PRI")
  1. S ABMP("INS")=$O(ABML(ABMP("PRI"),0)) Q:'ABMP("INS")
  1. Q:ABMP("INS")'=ABMP("INSCO")
  1. N I
  1. F I=1,2 S ABMP(I)=$P(ABML(ABMP("PRI"),ABMP("INS")),"^",I)
  1. Q
  1. SBR(X,ABMDUZ2) ;PEP - subscriber
  1. ;x=bill IEN
  1. ;abmduz2=duz(2)
  1. S:'$G(ABMDUZ2) ABMDUZ2=DUZ(2)
  1. D SET(X,ABMDUZ2)
  1. D ISET
  1. K ABMPSQ,ABMSBR
  1. N ABMI,ABMINS
  1. S ABMI=0
  1. F S ABMI=$O(ABMP("INS",ABMI)) Q:'ABMI D
  1. .S ABMINS=ABMP("INS",ABMI)
  1. .I ($P(ABMINS,U)=ABMP("INS")!($P(ABMINS,U,11)=ABMP("INS"))) S ABMPSQ=ABMI
  1. .D SOP
  1. .;I $P(ABMINS,U,2)="D"!($P(ABMINS,U,2)="K") D MCD Q ;abm*2.6*21 IHS/SD/SDR HEAT107645
  1. .;start new abm*2.6*21 IHS/SD/SDR HEAT107645
  1. .I $P(ABMINS,U,2)="D" D MCD Q
  1. .I $P(ABMINS,U,2)="K" D Q
  1. ..I $$GET1^DIQ(9999999.18,+ABMINS,".38","I")="M" D MCD
  1. ..I $$GET1^DIQ(9999999.18,+ABMINS,".38","I")="P" D PRVT
  1. .;end new abm*2.6*21 IHS/SD/SDR HEAT107645
  1. .I $P(ABMINS,U,2)="R" D MCR Q
  1. .D PRVT
  1. I '$G(ABMPSQ) S ABMPSQ=0
  1. S ABMSBR=$G(ABMSBR(ABMPSQ))
  1. I '$G(ABMSBR) S ABMSBR=2_"-"_ABMP("PDFN")
  1. S ABMP("REL")=$G(ABMP("REL",ABMPSQ))
  1. S ABMP("PH")=$G(ABMP("PH",ABMPSQ))
  1. S ABMP("PNUM")=$G(ABMP("PNUM",ABMPSQ))
  1. S ABMP("SNUM")=$G(ABMP("SNUM",ABMPSQ))
  1. S:ABMP("SNUM")="" ABMP("SNUM")=$G(ABMP("PNUM"))
  1. S:ABMP("PNUM")="" ABMP("PNUM")=$G(ABMP("SNUM"))
  1. S ABMP("GRPNM")=$G(ABMP("GRPNM",ABMPSQ))
  1. S ABMP("GRP#")=$G(ABMP("GRP#",ABMPSQ))
  1. S ABMP("SOP")=$G(ABMP("SOP",ABMPSQ))
  1. Q ABMSBR
  1. MCD ;mcd
  1. S ABMCDNUM=+$P(ABMINS,U,6)
  1. S ABMP("PH",ABMI)=+$P($G(^AUPNMCD(ABMCDNUM,0)),U,9)
  1. S ABMP("REL",ABMI)=$P($G(^AUPNMCD(ABMCDNUM,0)),U,6)
  1. ;S ABMP("REL",ABMI)=$P($G(^AUTTRLSH(+ABMP("REL",ABMI),0)),U,5) ;abm*2.6*19 IHS/SD/SDR HEAT136922
  1. ;start new abm*2.6*19 IHS/SD/SDR HEAT136922
  1. I "^STEP^STEPSON^STEPDAUGHTER^GRANDCHILD^CHILD^DAUGHTER^SON^NEPHEW^NIECE^STEP CHILD^"[("^"_$P($G(^AUTTRLSH(+ABMP("REL",ABMI),0)),U)_"^") S ABMP("REL",ABMI)=19
  1. E S ABMP("REL",ABMI)=$P($G(^AUTTRLSH(+ABMP("REL",ABMI),0)),U,5)
  1. ;end new abm*2.6*19 HEAT136922
  1. I 'ABMP("PH",ABMI) D Q
  1. .S ABMSBR(ABMI)=2_"-"_ABMP("PDFN")
  1. .S ABMP("PNUM",ABMI)=$P($G(^AUPNMCD(ABMCDNUM,0)),U,3)
  1. .S ABMP("SNUM",ABMI)=$P($G(^AUPNMCD(ABMCDNUM,0)),U,3)
  1. .S ABMP("REL",ABMI)=18
  1. I '$D(^AUPN3PPH(ABMP("PH",ABMI),0)) D Q
  1. .S ABMSBR(ABMI)=2_"-"_ABMP("PDFN")
  1. .S ABMP("PNUM",ABMI)=$P($G(^AUPNMCD(ABMCDNUM,0)),U,3)
  1. .S ABMP("REL",ABMI)=18
  1. S ABMSBR(ABMI)=3_"-"_ABMP("PH",ABMI)
  1. S ABMP("SNUM",ABMI)=$P(^AUPN3PPH(ABMP("PH",ABMI),0),U,4)
  1. D GRP(ABMP("PH",ABMI))
  1. Q
  1. PRVT ;private
  1. S ABMIEN=+$P(ABMINS,U,8)
  1. Q:$P($G(^AUPNPRVT(ABMP("PDFN"),11,+ABMIEN,0)),U)=""
  1. S ABMP("PH",ABMI)=+$P($G(^AUPNPRVT(ABMP("PDFN"),11,+ABMIEN,0)),U,8)
  1. S ABMP("PNUM",ABMI)=$S($P($G(^AUPNPRVT(ABMP("PDFN"),11,+ABMIEN,2)),U)'="":$P(^(2),U),$P($G(^AUPNPRVT(ABMP("PDFN"),11,+ABMIEN,0)),U,8)'="":$P($G(^AUPN3PPH($P($G(^AUPNPRVT(ABMP("PDFN"),11,+ABMIEN,0)),U,8),0)),U,4),1:"")
  1. I 'ABMP("PH",ABMI) D Q
  1. .S ABMSBR(ABMI)=2_"-"_ABMP("PDFN")
  1. .S ABMP("REL",ABMI)=18
  1. S ABMP("REL",ABMI)=+$P($G(^AUPNPRVT(ABMP("PDFN"),11,+ABMIEN,0)),U,5)
  1. ;S ABMP("REL",ABMI)=$P($G(^AUTTRLSH(+ABMP("REL",ABMI),0)),U,5) ;abm*2.6*19 IHS/SD/SDR HEAT136922
  1. ;start new abm*2.6*19 IHS/SD/SDR HEAT136922
  1. I "^STEPSON^STEPDAUGHTER^GRANDCHILD^CHILD^DAUGHTER^SON^NEPHEW^NIECE^STEP CHILD^NIECE/NEPHEW^GRANDDAUGHTER^GRANDSON^DAUGHTER-IN-LAW^"[("^"_$P($G(^AUTTRLSH(+ABMP("REL",ABMI),0)),U)_"^") S ABMP("REL",ABMI)=19
  1. E S ABMP("REL",ABMI)=$P($G(^AUTTRLSH(+ABMP("REL",ABMI),0)),U,5)
  1. ;end new abm*2.6*19 HEAT136922
  1. S ABMSBR(ABMI)=3_"-"_ABMP("PH",ABMI)
  1. ;S ABMP("SNUM",ABMI)=$P($G(^AUPN3PPH(ABMP("PH",ABMI),0)),U,4) ;abm*2.6*11 HEAT97889
  1. S ABMP("SNUM",ABMI)=$S($P($G(^AUPNPRVT(ABMP("PDFN"),11,+ABMIEN,2)),U)'="":$P(^(2),U),1:$P($G(^AUPN3PPH(ABMP("PH",ABMI),0)),U,4)) ;abm*2.6*11 HEAT97889
  1. D GRP(ABMP("PH",ABMI))
  1. Q
  1. MCR ;mcr
  1. I $P(^AUTNINS(+ABMINS,0),U)["RAILROAD" D Q ;abm*2.6*3 HEAT12676
  1. .;start old abm*2.6*26 IHS/SD/SDR CR9265
  1. .;S ABMPRFX=$P($G(^AUPNRRE(ABMP("PDFN"),0)),U,3),ABMHIC=$P($G(^(0)),U,4)
  1. .;S ABMPRFX=$P($G(^AUTTRRP(+ABMPRFX,0)),U)
  1. .;S ABMP("PNUM",ABMI)=ABMPRFX_ABMHIC
  1. .;K ABMPRFX,ABMHIC
  1. .;end old start new abm*2.6*26 IHS/SD/SDR CR9265
  1. .K ABMMBI
  1. .S ABMMBI=""
  1. .S ABMMBI=$$HISTMBI^AUPNMBI(ABMP("PDFN"),.ABMMBI)
  1. .S ABMMBI=+$O(ABMMBI(999999999),-1)
  1. .S:(ABMMBI'=0) ABMP("PNUM",ABMI)=$P(ABMMBI(ABMMBI),U)
  1. .I $G(ABMP("PNUM",ABMI))="" D
  1. ..S ABMPRFX=$P($G(^AUPNRRE(ABMP("PDFN"),0)),U,3),ABMHIC=$P($G(^(0)),U,4)
  1. ..S ABMPRFX=$P($G(^AUTTRRP(+ABMPRFX,0)),U)
  1. ..S ABMP("PNUM",ABMI)=ABMPRFX_ABMHIC
  1. ..K ABMPRFX,ABMHIC
  1. .;end new abm*2.6*26 IHS/SD/SDR CR9265
  1. .;start new abm*2.6*3 HEAT12676
  1. .S ABMP("SNUM",ABMI)=ABMP("PNUM",ABMI)
  1. .S ABMP("REL",ABMI)=18
  1. .S ABMP("GRP#",ABMI)=""
  1. .S ABMSBR(ABMI)=2_"-"_ABMP("PDFN")
  1. ;end new HEAT12676
  1. ;I $P($G(^AUTNINS(+ABMINS,2)),U)="R"!($P(^AUTNINS(+ABMINS,0),U)["MEDICARE") D Q ;abm*2.6*3 HEAT12676 ;abm*2.6*10 HEAT73780
  1. I $$GET1^DIQ(9999999.181,$$GET1^DIQ(9999999.18,+ABMINS,".211","I"),1,"I")="R"!($P(^AUTNINS(+ABMINS,0),U)["MEDICARE") D Q ;abm*2.6*3 HEAT12676 ;abm*2.6*10 HEAT73780
  1. .;start old abm*2.6*26 IHS/SD/SDR CR9265
  1. .;S ABMHIC=$P($G(^AUPNMCR(ABMP("PDFN"),0)),U,3),ABMSUFX=$P($G(^(0)),U,4)
  1. .;S ABMSUFX=$P($G(^AUTTMCS(+ABMSUFX,0)),U)
  1. .;S ABMP("PNUM",ABMI)=ABMHIC_ABMSUFX
  1. .;K ABMHIC,ABMSUFX
  1. .;end old start new abm*2.6*26 IHS/SD/SDR CR9265
  1. .K ABMMBI
  1. .S ABMMBI=""
  1. .S ABMMBI=$$HISTMBI^AUPNMBI(ABMP("PDFN"),.ABMMBI)
  1. .S ABMMBI=+$O(ABMMBI(999999999),-1)
  1. .S:(ABMMBI'=0) ABMP("PNUM",ABMI)=$P(ABMMBI(ABMMBI),U)
  1. .I $G(ABMP("PNUM",ABMI))="" D
  1. ..S ABMHIC=$P($G(^AUPNMCR(ABMP("PDFN"),0)),U,3),ABMSUFX=$P($G(^(0)),U,4)
  1. ..S ABMSUFX=$P($G(^AUTTMCS(+ABMSUFX,0)),U)
  1. ..S ABMP("PNUM",ABMI)=ABMHIC_ABMSUFX
  1. ..K ABMHIC,ABMSUFX
  1. .;end new abm*2.6*26 IHS/SD/SDR CR9265
  1. .;start new abm*2.6*3 HEAT12676
  1. .S ABMP("SNUM",ABMI)=ABMP("PNUM",ABMI)
  1. .S ABMP("REL",ABMI)=18
  1. .S ABMP("GRP#",ABMI)=""
  1. .S ABMSBR(ABMI)=2_"-"_ABMP("PDFN")
  1. ;end new HEAT12676
  1. ;start old abm*2.6*3 HEAT12676
  1. ;S ABMP("SNUM",ABMI)=ABMP("PNUM",ABMI)
  1. ;S ABMP("REL",ABMI)=18
  1. ;S ABMP("GRP#",ABMI)=""
  1. ;S ABMSBR(ABMI)=2_"-"_ABMP("PDFN")
  1. ;end old HEAT12676
  1. Q
  1. PST(X) ;EP - primary, secondary, tertiary
  1. D SET(X)
  1. D ISET
  1. S ABMCNT=0
  1. S X=""
  1. N I
  1. S I=0
  1. F S I=$O(ABMP("INS",I)) Q:'I D
  1. .S ABMCNT=ABMCNT+1
  1. .I $P(ABMP("INS",I),U)=ABMP("INS"),$P(ABMP("INS",I),U,3)="I" S X=ABMCNT Q
  1. S X=$S(X=1:"P",X=2:"S",X=3:"T",1:"P")
  1. Q X
  1. GRP(X) ;EP - group name & #
  1. ;x=policy holder ien
  1. S ABMP("GRP#",ABMI)=""
  1. S ABMP("GRPNM",ABMI)=""
  1. S X=$P($G(^AUPN3PPH(+X,0)),U,6)
  1. I $D(^AUTNEGRP(+X,0)) D
  1. .S ABMP("GRP#",ABMI)=$P(^AUTNEGRP(X,0),U,2)
  1. .S ABMP("GRPNM",ABMI)=$P(^AUTNEGRP(X,0),U)
  1. I ABMP("GRP#",ABMI)="",ABMP("GRPNM",ABMI)="" D
  1. .S ABMP("GRPNM",ABMI)="UNKNOWN"
  1. Q
  1. SNUM(X) ;EP - subscriber policy#
  1. ;x=bill ien
  1. S ABMSBR=$$SBR(X)
  1. S X=$G(ABMP("SNUM"))
  1. Q X
  1. PNUM(X) ;EP - patient policy#
  1. ;x=bill ien
  1. S ABMSBR=$$SBR(X)
  1. S X=$G(ABMP("PNUM"))
  1. Q X
  1. REL(X) ;EP - rel.
  1. ;x=bill ien
  1. S ABMSBR=$$SBR(X)
  1. Q $G(ABMP("REL"))
  1. SOP ;EP - source of pay (claim filing indicator)
  1. D SOP^ABMUTLP2 ;abm*2.6*10
  1. Q
  1. MPP(X) ;EP - medicare primary payer
  1. ;x=bill ien
  1. Q:X="" 0
  1. N ABMIEN
  1. S ABMIEN=X
  1. Q:'$D(^ABMDBILL(DUZ(2),ABMIEN)) 0
  1. N ABMPINS,ABMPTYP
  1. S ABMPINS=$P(^ABMDBILL(DUZ(2),ABMIEN,0),U,8)
  1. ;S ABMPTYP=$P($G(^AUTNINS(+ABMPINS,2)),U) ;abm*2.6*10 HEAT73780
  1. S ABMPTYP=$$GET1^DIQ(9999999.181,$$GET1^DIQ(9999999.18,+ABMPINS,".211","I"),1,"I") ;abm*2.6*10 HEAT73780
  1. Q:$G(ABMPTYP)'="R" 0
  1. N I
  1. S I=0
  1. N ABMMPP
  1. S ABMMPP=1
  1. F S I=$O(^ABMDBILL(DUZ(2),ABMIEN,13,I)) Q:'I D
  1. .N ABMX0
  1. .S ABMX0=^ABMDBILL(DUZ(2),ABMIEN,13,I,0)
  1. .Q:$P(ABMX0,U)=ABMPINS
  1. .Q:$P(ABMX0,U,3)'="C"
  1. .S ABMMPP=0
  1. Q ABMMPP
  1. RCID(X) ;EP - receiver id
  1. ;x=insurer
  1. K Y
  1. S X=$G(X)
  1. ;start new abm*2.6*6 5010
  1. I $D(^ABMRECVR("C",X)) D
  1. .Q:$G(ABMLOOP)="2330B" ;abm*2.6*9 HEAT55022
  1. .S ABMCHIEN=$O(^ABMRECVR("C",X,0))
  1. .;S:ABMCHIEN Y=$P($G(^ABMRECVR(ABMCHIEN,0)),U,2) ;abm*2.6*8
  1. .S:ABMCHIEN Y=$P($G(^ABMRECVR(ABMCHIEN,0)),U,3) ;abm*2.6*8
  1. .K ABMCHIEN
  1. Q:$G(Y) Y
  1. ;end new 5010
  1. ;I $P($G(^AUTNINS(+X,2)),U)="R" S Y=$P($G(^ABMDPARM(DUZ(2),1,5)),U,3) ;abm*2.6*10 HEAT73780
  1. I $$GET1^DIQ(9999999.181,$$GET1^DIQ(9999999.18,+X,".211","I"),1,"I")="R" S Y=$P($G(^ABMDPARM(DUZ(2),1,5)),U,3) ;abm*2.6*10 HEAT73780
  1. I $G(Y)="" S Y=$P($G(^AUTNINS(+X,2)),U,12)
  1. I $G(Y)="" S Y=$$RCID^ABMERUTL(X)
  1. Q Y
  1. SNDR(X,Y) ;EP - sender id
  1. ;x=insurer
  1. ;y=visit type
  1. S X=$G(X)
  1. S Y=$G(Y)
  1. N Z ;abm*2.6*10
  1. ;S Z=$P($G(^ABMNINS(DUZ(2),+X,1,+Y,0)),U,19) ;abm*2.6*6 5010
  1. ;start new abm*2.6*6 5010
  1. I $D(^ABMRECVR("C",X)) D
  1. .S ABMCHIEN=$O(^ABMRECVR("C",X,0))
  1. .;S:ABMCHIEN Z=$P($G(^ABMRECVR(ABMCHIEN,0)),U,2) ;abm*2.6*8 HEAT45044
  1. .S:ABMCHIEN&($G(ABMR("ISA",10))'="") Z=$P($G(^ABMRECVR(ABMCHIEN,0)),U,2) ;abm*2.6*8 HEAT45044
  1. .S:ABMCHIEN&($G(ABMR("GS",10))'="") Z=$P($G(^ABMRECVR(ABMCHIEN,0)),U,4) ;abm*2.6*8 HEAT45044
  1. .K ABMCHIEN
  1. S:$G(Z)="" Z=$P($G(^ABMNINS(DUZ(2),+X,1,+Y,0)),U,19)
  1. ;end new 5010
  1. ;S:Z="" Z=$P($G(^ABMNINS(DUZ(2),+X,0)),U,2) ;abm*2.6*10
  1. S:$G(Z)="" Z=$P($G(^ABMNINS(DUZ(2),+X,0)),U,2) ;abm*2.6*10
  1. S:Z="" Z=$P($G(^AUTTLOC(DUZ(2),0)),U,18)
  1. Q Z
  1. TRIM(%X,%F,%V) ;EP
  1. ;Trim spaces\char from front(left)/back(right) of string
  1. N %R,%L S %F=$$UP^XLFSTR($G(%F,"LR")),%L=1,%R=$L(%X),%V=$G(%V," ")
  1. I %F["R" F %R=$L(%X):-1:1 Q:$E(%X,%R)'=%V
  1. I %F["L" F %L=1:1:$L(%X) Q:$E(%X,%L)'=%V
  1. Q $E(%X,%L,%R)
  1. OVER(ABMOLN) ;EP - get override values from 3P Ins file
  1. D OVER^ABMUTLP2 ;abm*2.6*10
  1. Q