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

ABME8CLM.m

Go to the documentation of this file.
  1. ABME8CLM ; IHS/ASDST/DMJ - 837 CLM Segment
  1. ;;2.6;IHS 3P BILLING SYSTEM;;NOV 12, 2009
  1. ;Health Claim
  1. ;
  1. ; IHS/SD/SDR - v2.5 p9 - IM18516
  1. ; Delayed Reason Code added inCLM20
  1. ;
  1. ; IHS/SD/SDR - v2.5 p10 - COB issue
  1. ; Added code to change CLM02 amount if COB claim (use original
  1. ; bill amount)
  1. ;
  1. START ;EP - START HERE
  1. K ABMREC("CLM"),ABMR("CLM")
  1. S ABME("RTYPE")="CLM"
  1. D LOOP
  1. K ABME,ABM
  1. Q
  1. LOOP ;LOOP HERE
  1. F I=10:10:210 D
  1. .D @I
  1. .I $D(^ABMEXLM("AA",+$G(ABMP("INS")),+$G(ABMP("EXP")),ABME("RTYPE"),I)) D @(^(I))
  1. .I $G(ABMREC("CLM"))'="" S ABMREC("CLM")=ABMREC("CLM")_"*"
  1. .S ABMREC("CLM")=$G(ABMREC("CLM"))_ABMR("CLM",I)
  1. Q
  1. 10 ;segment
  1. S ABMR("CLM",10)="CLM"
  1. Q
  1. 20 ;CLM01 - Claim Submitter's Identifier
  1. S ABMR("CLM",20)=ABMP("PCN")
  1. Q
  1. 30 ;CLM02 - Monetary Amount
  1. S ABMR("CLM",30)=$P(ABMB2,U) ;bill amount
  1. I ABMPSQ'=1,(+$P(ABMB2,U,7)'=0) S ABMR("CLM",30)=$P(ABMB2,U,7)
  1. S ABMR("CLM",30)=$J(ABMR("CLM",30),0,2)
  1. Q
  1. 40 ;CLM03 - Claim Filing Indicator Code-not used
  1. S ABMR("CLM",40)=""
  1. Q
  1. 50 ;CLM04 - Non-Institutional Claim Type Code-not used
  1. S ABMR("CLM",50)=""
  1. Q
  1. 60 ;CLM05 - Health Care Service Location Information
  1. I ABMP("EXP")=21 D ;837I
  1. .S ABMR("CLM",60)=$E(ABMP("BTYP"),1,2)
  1. .S $P(ABMR("CLM",60),":",2)="A"
  1. .S $P(ABMR("CLM",60),":",3)=$E(ABMP("BTYP"),3)
  1. I ABMP("EXP")'=21 D
  1. .S ABMR("CLM",60)=$$POS^ABMERUTL()
  1. .S $P(ABMR("CLM",60),":",3)=1
  1. Q
  1. 70 ;CLM06 - Provider Signature on File
  1. S ABMR("CLM",70)="Y"
  1. Q
  1. 80 ;CLM07 - Provider Accept Assignment Code
  1. S ABMR("CLM",80)="A"
  1. Q
  1. 90 ;CLM08 - Assignment of Benefits Indicator
  1. S ABMR("CLM",90)=$P(ABMB7,"^",5)
  1. Q
  1. 100 ;CLM09 - Release of Information Code
  1. S ABMR("CLM",100)=$P(ABMB7,"^",4)
  1. I ABMR("CLM",100)="R" S ABMR("CLM",100)="M"
  1. Q
  1. 110 ;CLM10 - Patient Signature Source-not used
  1. I ABMP("EXP")'=22 D
  1. .S ABMR("CLM",110)=""
  1. I ABMP("EXP")=22 D
  1. .S ABMR("CLM",110)=""
  1. .I ABMR("CLM",90)="Y" S ABMR("CLM",110)="M"
  1. .Q:ABMR("CLM",100)="N"
  1. .I ABMR("CLM",90)="N" S ABMR("CLM",110)="S" Q
  1. .S ABMR("CLM",110)="B"
  1. Q
  1. 120 ;CLM11 - Related Causes Information
  1. I ABMP("EXP")=21 S ABMR("CLM",120)="" Q
  1. N X
  1. S X=$P(ABMB8,"^",3)
  1. I X="" S ABMR("CLM",120)="" Q
  1. S ABMR("CLM",120)=$S(X=1:"AA",X=4:"EM",1:"OA")
  1. I ABMR("CLM",120)="AA" D
  1. .S X=$P(^AUTTLOC(ABMP("LDFN"),0),"^",14)
  1. .S X=$P(^DIC(5,+X,0),"^",2)
  1. .S ABMR("CLM",120)="AA:::"_X
  1. Q
  1. 130 ;CLM12 - Special Programs Code
  1. I ABMP("EXP")=21 S ABMR("CLM",130)="" Q
  1. S ABMR("CLM",130)=$O(^ABMDBILL(DUZ(2),ABMP("BDFN"),59,0))
  1. Q:ABMR("CLM",130)=""
  1. S ABMR("CLM",130)=$P($G(^ABMDCODE(ABMR("CLM",130),0)),U)
  1. Q
  1. 140 ;CLM13 - Yes/No-not used
  1. S ABMR("CLM",140)=""
  1. Q
  1. 150 ;CLM14 - Level of Service Code-not used
  1. S ABMR("CLM",150)=""
  1. Q
  1. 160 ;CLM15 - Yes/No-not used
  1. S ABMR("CLM",160)=""
  1. Q
  1. 170 ;CLM16 - Provider Agreement Code-not used
  1. S ABMR("CLM",170)=""
  1. Q
  1. 180 ;CLM17 - Claim Status Code-not used
  1. S ABMR("CLM",180)=""
  1. Q
  1. 190 ;CLM18 - Explanation of Benefits Indicator
  1. I ABMP("EXP")=21 D
  1. .S ABMR("CLM",190)="Y"
  1. I ABMP("EXP")'=21 D
  1. .S ABMR("CLM",190)=""
  1. Q
  1. 200 ;CLM19 - Claim Submission Reason Code-not used
  1. S ABMR("CLM",200)=""
  1. Q
  1. 210 ;CLM20 - Delay Reason Code
  1. S ABMR("CLM",210)=""
  1. S ABMDRC=$P($G(^ABMDBILL(DUZ(2),ABMP("BDFN"),9)),"^",16)
  1. I ABMDRC'="" S ABMR("CLM",210)=$P($G(^ABMDCODE(ABMDRC,0)),"^")
  1. Q