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

ABME5NM1.m

Go to the documentation of this file.
  1. ABME5NM1 ; IHS/ASDST/DMJ - 837 NM1 Segment
  1. ;;2.6;IHS Third Party Billing System;**6,8,9,10,11,20**;NOV 12, 2009;Build 317
  1. ;Submitter Name
  1. ;IHS/SD/SDR 2.6*20 - HEAT270943 - Made change to default NM109 to the origanization/facility NPI if the provider doesn't have an NPI
  1. ;
  1. EP(X,Y) ;EP - START HERE
  1. ;x=entity identifier
  1. ;y=file ien (optional)
  1. S ABMEIC=X
  1. S ABMNIEN=$G(Y)
  1. K ABMREC("NM1"),ABMR("NM1")
  1. S ABME("RTYPE")="NM1"
  1. D LOOP
  1. K ABME,ABMEIC
  1. Q
  1. ;
  1. LOOP ;LOOP HERE
  1. F I=10:10:120 D
  1. .D @I
  1. .I $D(^ABMEXLM("AA",+$G(ABMP("INS")),+$G(ABMP("EXP")),ABME("RTYPE"),I)) D @(^(I))
  1. .I $G(ABMREC("NM1"))'="" S ABMREC("NM1")=ABMREC("NM1")_"*"
  1. .S ABMREC("NM1")=$G(ABMREC("NM1"))_ABMR("NM1",I)
  1. I '$D(^ABMEXLM("AA",+$G(ABMP("INS")),+$G(ABMP("EXP")),ABME("RTYPE"),I)) D 837^ABMUTL8
  1. Q
  1. ;
  1. 10 ;segment
  1. S ABMR("NM1",10)="NM1"
  1. Q
  1. ;
  1. 20 ;NM101 - Entity Identifier Code
  1. S ABMR("NM1",20)=ABMEIC
  1. Q
  1. ;
  1. 30 ;NM102 - Entity Type Qualifier
  1. S ABMR("NM1",30)=1
  1. S:"40^41^85^87^PR^77^PW^45"[ABMEIC ABMR("NM1",30)=2
  1. Q
  1. ;
  1. 40 ;NM103 - Name Last or Organization Name
  1. ;
  1. S ABMR("NM1",40)=""
  1. ;
  1. ; Receiver
  1. I ABMEIC=40 D
  1. .;S ABMR("NM1",40)=$P($G(^AUTNINS(ABMP("INS"),2)),"^",13) ;abm*2.6*8
  1. .;start new code abm*2.6*6 HEAT28891
  1. .I $D(^ABMRECVR("C",ABMP("INS"))) D
  1. ..S ABMCHIEN=$O(^ABMRECVR("C",ABMP("INS"),0))
  1. ..S ABMR("NM1",40)=$P($G(^ABMRECVR(ABMCHIEN,1,ABMP("INS"),0)),U,3)
  1. ..K ABMCHIEN
  1. .;end new code HEAT28891
  1. .S:ABMR("NM1",40)="" ABMR("NM1",40)=$P($G(^AUTNINS(ABMP("INS"),2)),"^",13) ;abm*2.6*8
  1. .S:ABMR("NM1",40)="" ABMR("NM1",40)=$P($G(^AUTNINS(ABMP("INS"),0)),U)
  1. ;
  1. ; Submitter ^ Billing Provider
  1. I "41^85"[ABMEIC D
  1. .S ABMR("NM1",40)=$P($G(^DIC(4,DUZ(2),0)),U)
  1. ;
  1. ; Patient
  1. I ABMEIC="QC" D
  1. .S ABMR("NM1",40)=$$LNM^ABMUTLN(2,ABMP("PDFN"))
  1. ;
  1. ; Provider
  1. I "71^72^ZZ^82^QB^DK^DN^DQ^P3"[ABMEIC D
  1. .I +ABM("PRV")'=0 D
  1. ..S ABMR("NM1",40)=$$LNM^ABMUTLN(200,ABM("PRV"))
  1. .E S ABMR("NM1",40)=$P(ABM("PRV"),",")
  1. ;
  1. ; Payer
  1. I ABMEIC="PR" D
  1. .S ABMR("NM1",40)=$P($G(^ABMNINS(DUZ(2),ABMNIEN,1,ABMP("VTYP"),1)),"^",2)
  1. .S:ABMR("NM1",40)="" ABMR("NM1",40)=$P($G(^AUTNINS(ABMNIEN,2)),"^",13)
  1. .S:ABMR("NM1",40)="" ABMR("NM1",40)=$P(^AUTNINS(ABMNIEN,0),U)
  1. ;
  1. ; Insured or Subscriber
  1. I ABMEIC="IL" D
  1. .S ABMR("NM1",40)=$$LNM^ABMUTLN(ABMSFILE,ABMSIEN)
  1. ;
  1. ; Facility
  1. I ABMEIC="77" D
  1. .S ABMR("NM1",40)=$P($G(^DIC(4,ABMP("LDFN"),0)),U)
  1. ;S:$G(ABMP("ITYPE"))'="D" ABMR("NM1",40)=$TR(ABMR("NM1",40),"-"," ") ;abm*2.6*11 HEAT104117
  1. ;
  1. ; Ambulance Drop Off Location
  1. I ABMEIC="45" D
  1. .S ABMR("NM1",40)=$$GET1^DIQ("9002274.4",ABMP("BDFN"),".127")
  1. Q
  1. ;
  1. 50 ;NM104 - Name First
  1. S ABMR("NM1",50)=""
  1. ;
  1. ; Patient
  1. I ABMEIC="QC" D
  1. .S ABMR("NM1",50)=$$FNM^ABMUTLN(2,ABMP("PDFN"))
  1. ;
  1. ; Provider
  1. I "71^72^ZZ^82^QB^DK^DN^DQ^P3"[ABMEIC D
  1. .I +ABM("PRV")'=0 D
  1. ..S ABMR("NM1",50)=$$FNM^ABMUTLN(200,ABM("PRV"))
  1. .E S ABMR("NM1",50)=$P(ABM("PRV"),",",2)
  1. ;
  1. ; Insured or Subscriber
  1. I ABMEIC="IL" D
  1. .S ABMR("NM1",50)=$$FNM^ABMUTLN(ABMSFILE,ABMSIEN)
  1. Q
  1. ;
  1. 60 ;NM105 - Name Middle
  1. S ABMR("NM1",60)=""
  1. ;
  1. ; Patient
  1. I ABMEIC="QC" D
  1. .S ABMR("NM1",60)=$$MI^ABMUTLN(2,ABMP("PDFN"))
  1. ;
  1. ; Insured or Subscriber
  1. I ABMEIC="IL" D
  1. .S ABMR("NM1",60)=$$MI^ABMUTLN(ABMSFILE,ABMSIEN)
  1. ;
  1. ; Provider
  1. I "71^72^ZZ^82^QB^DK^DN^DQ^P3"[ABMEIC D
  1. .S ABMR("NM1",50)=$$MI^ABMUTLN(200,ABM("PRV"))
  1. ;
  1. Q
  1. ;
  1. 70 ;NM106 - Name Prefix (Not Used)
  1. S ABMR("NM1",70)=""
  1. Q
  1. ;
  1. 80 ;NM107 - Name Suffix
  1. S ABMR("NM1",80)=""
  1. ;
  1. ; Patient
  1. I ABMEIC="QC" D
  1. .S ABMR("NM1",80)=$$SFX^ABMUTLN(2,ABMP("PDFN"))
  1. ;
  1. ; Insured or Subscriber
  1. I ABMEIC="IL" D
  1. .S ABMR("NM1",80)=$$SFX^ABMUTLN(ABMSFILE,ABMSIEN)
  1. ;
  1. ; Provider
  1. I "71^72^ZZ^82^QB^DK^DN^DQ^P3"[ABMEIC D
  1. .S ABMR("NM1",50)=$$SFX^ABMUTLN(200,ABM("PRV"))
  1. ;
  1. Q
  1. ;
  1. 90 ;NM108 - Identification Code Qualifier
  1. S ABMNPIU=$$NPIUSAGE^ABMUTLF(ABMP("LDFN"),ABMP("INS"))
  1. S ABMR("NM1",90)=""
  1. I "40^41"[ABMEIC S ABMR("NM1",90)=46
  1. I ABMEIC=85 S ABMR("NM1",90)="XX"
  1. I "71^72^77^ZZ^82^DN^QB^DQ^DK"[ABMEIC S ABMR("NM1",90)="XX"
  1. I ABMEIC="PR" S ABMR("NM1",90)="PI"
  1. I ABMEIC="IL" S ABMR("NM1",90)="MI"
  1. Q
  1. ;
  1. 100 ;NM109 - Identification Code
  1. S ABMR("NM1",100)=""
  1. I ABMEIC=40 D
  1. .;S ABMR("NM1",100)=$$RCID^ABMUTLP(ABMP("INS")) ;abm*2.6*8
  1. .;start new code abm*2.6*8 HEAT45044
  1. .I $D(^ABMRECVR("C",ABMP("INS"))) D
  1. ..S ABMCHIEN=$O(^ABMRECVR("C",ABMP("INS"),0))
  1. ..S:ABMCHIEN ABMR("NM1",100)=$P($G(^ABMRECVR(ABMCHIEN,1,ABMP("INS"),0)),U,2)
  1. .;I ABMR("NM1",100)="" S ABMR("NM1",100)=$P($G(^ABMNINS(DUZ(2),ABMP("INS"),1,ABMP("VTYP"),0)),U,19) ;abm*2.6*10 HEAT68447
  1. .I ABMR("NM1",100)="" S ABMR("NM1",100)=$P($G(^ABMNINS(ABMP("LDFN"),ABMP("INS"),1,ABMP("VTYP"),0)),U,19) ;abm*2.6*10 HEAT68447
  1. .I ABMR("NM1",100)="" S ABMR("NM1",100)=$$RCID^ABMUTLP(ABMP("INS"))
  1. .;end new code HEAT45044
  1. ;
  1. I ABMEIC=41 D
  1. .S ABMR("NM1",100)=$P($G(^ABMNINS(DUZ(2),ABMP("INS"),1,ABMP("VTYP"),0)),U,19)
  1. .I ABMR("NM1",100)="" S ABMR("NM1",100)=$P($G(^ABMNINS(DUZ(2),ABMP("INS"),0)),U,2)
  1. ;
  1. I ABMEIC=85 D
  1. .I ABMNPIU="N"!(ABMNPIU="B") D Q
  1. ..S ABMLNPI=$S($P($G(^ABMNINS(ABMP("LDFN"),ABMP("INS"),1,ABMP("VTYP"),1)),U,8)'="":$P(^ABMNINS(ABMP("LDFN"),ABMP("INS"),1,ABMP("VTYP"),1),U,8),$P($G(^ABMDPARM(ABMP("LDFN"),1,2)),U,12)'="":$P(^ABMDPARM(ABMP("LDFN"),1,2),U,12),1:ABMP("LDFN"))
  1. ..S ABMR("NM1",100)=$S($P($$NPI^XUSNPI("Organization_ID",ABMLNPI),U)>0:$P($$NPI^XUSNPI("Organization_ID",ABMLNPI),U),1:"")
  1. .S ABMR("NM1",100)=$P($G(^AUTTLOC(DUZ(2),0)),"^",18)
  1. ;
  1. ;attending/operating/other provider
  1. I "71^72^ZZ^82^DN^QB^DQ^DK^P3"[ABMEIC D
  1. .I ABMEIC="DN" S ABMR("NM1",100)=$S($D(^VA(200,ABMIEN)):$P($$NPI^XUSNPI("Individual_ID",+ABMIEN),U),1:$P($G(ABMP("PRV","F",ABMIEN)),U,3)) Q ;abm*2.6*9 HEAT53094
  1. .;I ABMEIC="DQ" S ABMR("NM1",100)=$S($D(^VA(200,ABMIEN)):$P($$NPI^XUSNPI("Individual_ID",+ABMIEN),U),1:$P($G(ABMP("PRV","S",ABMIEN)),U,3)) Q ;abm*2.6*9 HEAT53094 ;abm*2.6*10 HEAT80154
  1. .I ABMEIC="DQ" S ABMR("NM1",100)=$S(((+ABMIEN'=0)&$D(^VA(200,+ABMIEN))):$P($$NPI^XUSNPI("Individual_ID",+ABMIEN),U),1:$P($G(ABMP("PRV","S",ABMIEN)),U,3)) Q ;abm*2.6*10 HEAT80154
  1. .;S ABMR("NM1",100)=$P($$NPI^XUSNPI("Individual_ID",+ABM("PRV")),U) Q ;abm*2.6*20 IHS/SD/SDR HEAT270943
  1. .;start new abm*2.6*20 IHS/SD/SDR HEAT270943
  1. .I $P($$NPI^XUSNPI("Individual_ID",+ABM("PRV")),U)>1 S ABMR("NM1",100)=$P($$NPI^XUSNPI("Individual_ID",+ABM("PRV")),U) Q
  1. .S ABMR("NM1",100)=$P($$NPI^XUSNPI("Organization_ID",+ABMP("LDFN")),U)
  1. .;end new abm*2.6*20 IHS/SD/SDR HEAT270943
  1. ;
  1. ; Payer
  1. I ABMEIC="PR" D
  1. .K Y
  1. .;S ABMR("NM1",100)=$$RCID^ABMUTLP(ABMP("INS")) ;abm*2.6*8
  1. .;start old code abm*2.6*9 HEAT55022
  1. .;;start new code abm*2.6*8 HEAT45044
  1. .;I $D(^ABMRECVR("C",ABMP("INS"))) D
  1. .;.S ABMCHIEN=$O(^ABMRECVR("C",ABMP("INS"),0))
  1. .;.S:ABMCHIEN ABMR("NM1",100)=$P($G(^ABMRECVR(ABMCHIEN,1,ABMP("INS"),0)),U,2)
  1. .;I ABMR("NM1",100)="" S ABMR("NM1",100)=$P($G(^ABMNINS(DUZ(2),ABMP("INS"),1,ABMP("VTYP"),0)),U,19)
  1. .;I ABMR("NM1",100)="" S ABMR("NM1",100)=$$RCID^ABMUTLP(ABMP("INS"))
  1. .;;end new code HEAT45044
  1. .;end old code start new code HEAT55022
  1. .I $D(^ABMRECVR("C",ABMNIEN)) D
  1. ..Q:$G(ABMLOOP)="2330B" ;write what is in insurer file for this loop
  1. ..S ABMCHIEN=$O(^ABMRECVR("C",ABMNIEN,0))
  1. ..S:ABMCHIEN ABMR("NM1",100)=$P($G(^ABMRECVR(ABMCHIEN,1,ABMNIEN,0)),U,2)
  1. .I ABMR("NM1",100)="" S ABMR("NM1",100)=$P($G(^ABMNINS(DUZ(2),ABMNIEN,1,ABMP("VTYP"),0)),U,19)
  1. .I ABMR("NM1",100)="" S ABMR("NM1",100)=$$RCID^ABMUTLP(ABMNIEN)
  1. .;end new code HEAT55022
  1. .S:$TR(ABMR("NM1",100)," ")="" ABMR("NM1",100)=99999
  1. ;
  1. ; Insured or Subscriber
  1. I ABMEIC="IL" D
  1. .S ABMR("NM1",100)=$G(ABMP("SNUM",ABMPST))
  1. .Q:ABMR("NM1",100)'=""
  1. .S ABMR("NM1",100)=$$PNUM^ABMUTLP(ABMP("BDFN"))
  1. ;
  1. ; Facility
  1. I ABMEIC="77" D
  1. .I ABMNPIU="N"!(ABMNPIU="B") D Q
  1. ..S ABMLNPI=$S($P($G(^ABMNINS(ABMP("LDFN"),ABMP("INS"),1,ABMP("VTYP"),1)),U,8)'="":$P(^ABMNINS(ABMP("LDFN"),ABMP("INS"),1,ABMP("VTYP"),1),U,8),$P($G(^ABMDPARM(ABMP("LDFN"),1,2)),U,12)'="":$P(^ABMDPARM(ABMP("LDFN"),1,2),U,12),1:ABMP("LDFN"))
  1. ..S ABMR("NM1",100)=$S($P($$NPI^XUSNPI("Organization_ID",+ABMLNPI),U)>0:$P($$NPI^XUSNPI("Organization_ID",+ABMLNPI),U),1:"")
  1. .S ABMR("NM1",100)=$$EIN^ABMUTLF(ABMP("LDFN"))
  1. S ABMR("NM1",100)=$$AN^ABMUTL8(ABMR("NM1",100))
  1. Q
  1. ;
  1. 110 ;NM110 - Entity Relationship Code (Not used)
  1. S ABMR("NM1",110)=""
  1. Q
  1. ;
  1. 120 ;NM111 - Entity Identifier Code (Not used)
  1. S ABMR("NM1",120)=""
  1. Q
  1. ;
  1. 130 ;NM112 - Name Last or Organization Name (Not used)
  1. S ABMR("NM1",130)=""
  1. Q