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

ABMDF28T.m

Go to the documentation of this file.
  1. ABMDF28T ; IHS/SD/SDR - PRINT UB-04 ;
  1. ;;2.6;IHS 3P BILLING SYSTEM;**3,8,9,10,11,14,16,21**;NOV 12, 2009;Build 379
  1. ;IHS/SD/SDR-2.6*3-POA changes-removed insurer type "R" check
  1. ;IHS/SD/SDR-2.6*14-ICD10 002F-Updated ICD indicator on form to 9 or 0
  1. ;IHS/SD/SDR-2.6*16-HEAT236243-Moved dt for box 74 so there is space between PX code and date.
  1. ;IHS/SD/SDR 2.6*21 Split routine from ABMDF28Z due to size.
  1. ;IHS/SD/SDR-2.6*21 HEAT97615 - Remove ID qualifier and ID from box 76 if Medicare is active and tribal
  1. ;IHS/SD/SDR-2.6*21 HEAT123457 - changed 61044 references from 'equals' to 'contains'
  1. ;IHS/SD/SDR-2.6*21 HEAT128931 - FL64 wasn't printing when insurer uses plan name
  1. ;IHS/SD/SDR-2.6*21 HEAT162190 - Print taxnomoy in 81 for Montana DPHHS.
  1. ;IHS/SD/SDR-2.6*21 HEAT189659 - Print taxonomy in 81 for SD Medicaid.
  1. ;IHS/SD/SDR-2.6*21 HEAT217449-Moved box 76 one char left. Was only printing 7 of 8 chars of prov id.
  1. ; self-insured has already been billed.
  1. ;
  1. 55 ;
  1. W !
  1. N I
  1. F I=40:10:120 D
  1. .D @(I_"^ABMER70A")
  1. N I
  1. F I=250,260,290,300 D
  1. .D @(I_"^ABMER70")
  1. S ABMDE=ABMR(70,40)_"^1^7" ;Principle DX
  1. D WRT^ABMDF28W ;FL #67
  1. ;I ABMP("ITYPE")="R" D
  1. S ABMDE=$S(ABMR(70,40,"POA")'=1:$G(ABMR(70,40,"POA")),1:"")_"^8^1"
  1. D WRT^ABMDF28W ;FL #67 POA
  1. S ABMDE=ABMR(70,50)_"^9^7" ;Other DX 1
  1. D WRT^ABMDF28W ;FL #67a
  1. ;I ABMP("ITYPE")="R" D
  1. S ABMDE=$S(ABMR(70,50,"POA")'=1:$G(ABMR(70,50,"POA")),1:"")_"^16^1"
  1. D WRT^ABMDF28W ;FL #67 POA
  1. S ABMDE=ABMR(70,60)_"^17^7" ;Other DX 2
  1. D WRT^ABMDF28W ;FL #67b
  1. ;I ABMP("ITYPE")="R" D
  1. S ABMDE=$S(ABMR(70,60,"POA")'=1:$G(ABMR(70,60,"POA")),1:"")_"^24^1"
  1. D WRT^ABMDF28W ;FL #67 POA
  1. S ABMDE=ABMR(70,70)_"^25^7" ;Other DX 3
  1. D WRT^ABMDF28W ;FL #67c
  1. ;I ABMP("ITYPE")="R" D
  1. S ABMDE=$S(ABMR(70,70,"POA")'=1:$G(ABMR(70,70,"POA")),1:"")_"^32^1"
  1. D WRT^ABMDF28W ;FL #67 POA
  1. S ABMDE=ABMR(70,80)_"^33^7" ;Other DX 4
  1. D WRT^ABMDF28W ;FL #67d
  1. ;I ABMP("ITYPE")="R" D
  1. S ABMDE=$S(ABMR(70,80,"POA")'=1:$G(ABMR(70,80,"POA")),1:"")_"^40^1"
  1. D WRT^ABMDF28W ;FL #67 POA
  1. S ABMDE=ABMR(70,90)_"^41^7" ;Other DX 5
  1. D WRT^ABMDF28W ;FL #67e
  1. ;I ABMP("ITYPE")="R" D
  1. S ABMDE=$S(ABMR(70,90,"POA")'=1:$G(ABMR(70,90,"POA")),1:"")_"^48^1"
  1. D WRT^ABMDF28W ;FL #67 POA
  1. S ABMDE=ABMR(70,100)_"^49^7" ;Other DX 6
  1. D WRT^ABMDF28W ;FL #67f
  1. ;I ABMP("ITYPE")="R" D
  1. S ABMDE=$S(ABMR(70,100,"POA")'=1:$G(ABMR(70,100,"POA")),1:"")_"^56^1"
  1. D WRT^ABMDF28W ;FL #67 POA
  1. S ABMDE=ABMR(70,110)_"^57^7" ;Other DX 7
  1. D WRT^ABMDF28W ;FL #67g
  1. ;I ABMP("ITYPE")="R" D
  1. S ABMDE=$S(ABMR(70,110,"POA")'=1:$G(ABMR(70,110,"POA")),1:"")_"^64^1"
  1. D WRT^ABMDF28W ;FL #67 POA
  1. S ABMDE=ABMR(70,120)_"^65^7" ;Other DX 8
  1. D WRT^ABMDF28W ;FL #67h
  1. ;I ABMP("ITYPE")="R" D
  1. S ABMDE=$S(ABMR(70,120,"POA")'=1:$G(ABMR(70,120,"POA")),1:"")_"^72^1"
  1. D WRT^ABMDF28W ;FL #67 POA
  1. F I=130:10:200 D
  1. .D @(I_"^ABMER70A")
  1. W !
  1. ;S ABMDE="9^^1" ;DX Version Qualifier-always 9 ;abm*2.6*14 ICD10 002F
  1. S ABMDE=$S(+$P($G(^ABMDBILL(DUZ(2),ABMP("BDFN"),0)),U,21)=10:"0",1:"9")_"^^1" ;DX Version Qualifier -9 for ICD9; 0 for ICD10 ;abm*2.6*14 ICD10 002F
  1. D WRT^ABMDF28W ;FL #66
  1. S ABMDE=ABMR(70,130)_"^1^7" ;Other DX 9
  1. D WRT^ABMDF28W ;FL #67i
  1. ;I ABMP("ITYPE")="R" D
  1. S ABMDE=$S(ABMR(70,130,"POA")'=1:$G(ABMR(70,130,"POA")),1:"")_"^8^1"
  1. D WRT^ABMDF28W ;FL #67 POA
  1. S ABMDE=ABMR(70,140)_"^9^7" ;Other DX 10
  1. D WRT^ABMDF28W ;FL #67j
  1. ;I ABMP("ITYPE")="R" D
  1. S ABMDE=$S(ABMR(70,140,"POA")'=1:$G(ABMR(70,140,"POA")),1:"")_"^16^1"
  1. D WRT^ABMDF28W ;FL #67 POA
  1. S ABMDE=ABMR(70,150)_"^17^7" ;Other DX 11
  1. D WRT^ABMDF28W ;FL #67k
  1. ;I ABMP("ITYPE")="R" D
  1. S ABMDE=$S(ABMR(70,150,"POA")'=1:$G(ABMR(70,150,"POA")),1:"")_"^24^1"
  1. D WRT^ABMDF28W ; FL #67 POA
  1. S ABMDE=ABMR(70,160)_"^25^7" ;Other DX 12
  1. D WRT^ABMDF28W ;FL #67l
  1. ;I ABMP("ITYPE")="R" D
  1. S ABMDE=$S(ABMR(70,160,"POA")'=1:$G(ABMR(70,160,"POA")),1:"")_"^32^1"
  1. D WRT^ABMDF28W ; FL #67 POA
  1. S ABMDE=ABMR(70,170)_"^33^7" ;Other DX 13
  1. D WRT^ABMDF28W ;FL #67m
  1. ;I ABMP("ITYPE")="R" D
  1. S ABMDE=$S(ABMR(70,170,"POA")'=1:$G(ABMR(70,170,"POA")),1:"")_"^40^1"
  1. D WRT^ABMDF28W ; FL #67 POA
  1. S ABMDE=ABMR(70,180)_"^41^7" ;Other DX 14
  1. D WRT^ABMDF28W ;FL #67n
  1. ;I ABMP("ITYPE")="R" D
  1. S ABMDE=$S(ABMR(70,180,"POA")'=1:$G(ABMR(70,180,"POA")),1:"")_"^48^1"
  1. D WRT^ABMDF28W ; FL #67 POA
  1. S ABMDE=ABMR(70,190)_"^49^7" ;Other DX 15
  1. D WRT^ABMDF28W ;FL #67o
  1. ;I ABMP("ITYPE")="R" D
  1. S ABMDE=$S(ABMR(70,190,"POA")'=1:$G(ABMR(70,190,"POA")),1:"")_"^56^1"
  1. D WRT^ABMDF28W ; FL #67 POA
  1. S ABMDE=ABMR(70,200)_"^57^7" ;Other DX 16
  1. D WRT^ABMDF28W ;FL #67p
  1. ;I ABMP("ITYPE")="R" D
  1. S ABMDE=$S(ABMR(70,200,"POA")'=1:$G(ABMR(70,200,"POA")),1:"")_"^64^1"
  1. D WRT^ABMDF28W ; FL #67 POA
  1. W !
  1. ;
  1. S ABMDE=ABMR(70,250)_"^4^7" ;Admitting DX
  1. D WRT^ABMDF28W ;FL #69
  1. S ABMDE=ABMR(70,250)_"^17^7" ;Pt Reason Dx
  1. D WRT^ABMDF28W ;FL #70
  1. ;
  1. S ABMDE=ABMR(70,260)_"^48^7" ;Ext. cause of injury (1)
  1. D WRT^ABMDF28W ;FL #72
  1. ;I ABMP("ITYPE")="R" D
  1. S ABMDE=$S(ABMR(70,260,"POA")'=1:$G(ABMR(70,260,"POA")),1:"")_"^55^1"
  1. D WRT^ABMDF28W ;FL #67 POA
  1. S ABMDE=ABMR(70,290)_"^56^7" ;Ext. cause of injury (2)
  1. D WRT^ABMDF28W ;FL #72
  1. ;I ABMP("ITYPE")="R" D
  1. S ABMDE=$S(ABMR(70,290,"POA")'=1:$G(ABMR(70,290,"POA")),1:"")_"^63^1"
  1. D WRT^ABMDF28W ;FL #67 POA
  1. S ABMDE=ABMR(70,300)_"^64^7" ;Ext. cause of injury (3)
  1. D WRT^ABMDF28W ;FL #72
  1. ;I ABMP("ITYPE")="R" D
  1. S ABMDE=$S(ABMR(70,300,"POA")'=1:$G(ABMR(70,300,"POA")),1:"")_"^71^1"
  1. D WRT^ABMDF28W ;FL #67 POA
  1. ;
  1. Q
  1. 56 ;
  1. W !
  1. D PROV^ABMDF28W
  1. ;Attending Prov
  1. ;I $$RCID^ABMERUTL(ABMP("INS"))'=61044 D ;abm*2.6*21 IHS/SD/SDR HEAT123457
  1. I $$RCID^ABMERUTL(ABMP("INS"))'["61044" D ;abm*2.6*21 IHS/SD/SDR HEAT123457
  1. .I $P(ABM("PRV",1),U,4)'="" D
  1. ..S ABMDE=$P($P(ABM("PRV",1),U,4),"#",2)_"^59^10" ;NPI
  1. ..I $P($G(^AUTNINS(ABMP("INS"),0)),U)="MONTANA DPHHS" S ABMDE=$P($P(ABM("PRV",1),U,4),"#",2)_"^57^10" ;NPI ;abm*2.6*21 IHS/SD/SDR HEAT162190
  1. ..D WRT^ABMDF28W ;FL #76
  1. .;don't print 76 ID qual and ID if Medicare and Tribal Self-Insured
  1. .I $P($G(^ABMDBILL(DUZ(2),ABMP("BDFN"),0)),U,8)=2,$G(ABMTSIFG)=1 Q ;abm*2.6*21 IHS/SD/SDR HEAT97615
  1. .;S ABMDE=$P($P(ABM("PRV",1),U,3),"#")_"^71^2" ;ID qualifier ;abm*2.6*21 IHS/SD/SDR HEAT217449
  1. .S ABMDE=$P($P(ABM("PRV",1),U,3),"#")_"^70^2" ;ID qualifier ;abm*2.6*21 IHS/SD/SDR HEAT217449
  1. .I DUZ("2")=1157 S ABMDE="^71^2" ;IHS/SD/AML HEAT46786 - Remove ID Qualifier
  1. .I $P($G(^AUTNINS(ABMP("INS"),0)),U)="MONTANA DPHHS" S ABMDE="ZZ^68^2" ;abm*2.6*21 IHS/SD/SDR HEAT162190
  1. .D WRT^ABMDF28W ;FL #76
  1. .;S ABMDE=$P($P(ABM("PRV",1),U,3),"#",2)_"^73^9" ;ID ;abm*2.6*21 IHS/SD/SDR HEAT217449
  1. .S ABMDE=$P($P(ABM("PRV",1),U,3),"#",2)_"^72^9" ;ID ;abm*2.6*21 IHS/SD/SDR HEAT217449
  1. .I DUZ("2")=1157 S ABMDE="^73^9" ;IHS/SD/AML HEAT46786 - Remove ID
  1. .I $P($G(^AUTNINS(ABMP("INS"),0)),U)="MONTANA DPHHS" S ABMDE="261QR1300X^70^10" ;abm*2.6*21 IHS/SD/SDR HEAT162190
  1. .D WRT^ABMDF28W ;FL #76
  1. ;start new abm*2.6*21 IHS/SD/SDR HEAT240744
  1. I ($$RCID^ABMERUTL(ABMP("INS"))["61044")&($P($G(^ABMDVTYP(ABMP("VTYP"),0)),U)["DIALYSIS")&(+$O(^ABMDBILL(DUZ(2),ABMP("BDFN"),41,"C","F",0))'=0) D ;Medi-Cal, Dialysis, and a referring provider
  1. .S ABMPRV=+$O(^ABMDBILL(DUZ(2),ABMP("BDFN"),41,"C","F",0))
  1. .S ABMPRV=$P(^ABMDBILL(DUZ(2),ABMP("BDFN"),41,ABMPRV,0),U)
  1. .I $P($$NPI^XUSNPI("Individual_ID",ABMPRV),U)>0 D
  1. ..S ABMDE=$P($$NPI^XUSNPI("Individual_ID",ABMPRV),U)_"^59^10"
  1. ..D WRT^ABMDF28W ;FL #76
  1. ;end new abm*2.6*21 IHS/SD/SDR HEAT240744
  1. Q
  1. 57 ;
  1. W !
  1. N I
  1. F I=130:10:240,270 D
  1. .D @(I_"^ABMER70")
  1. I $P($G(^ABMNINS(ABMP("LDFN"),ABMP("INS"),1,ABMP("VTYP"),1)),U,9)'="N" D
  1. .;S ABMDE=$TR(ABMR(70,130),".")_"^1^7" ;Principle Procedure code ;abm*2.6*16 IHS/SD/SDR HEAT236243
  1. .S ABMDE=$TR(ABMR(70,130),".")_"^0^7" ;Principle Procedure code ;abm*2.6*16 IHS/SD/SDR HEAT236243
  1. .D WRT^ABMDF28W ;FL #74
  1. .S ABMDE=ABMR(70,140)_"^8^6" ;Principle Procedure date
  1. .D WRT^ABMDF28W ;FL #74a
  1. .S ABMDE=$TR(ABMR(70,150),".")_"^15^7" ;Other Procedure code - 1
  1. .D WRT^ABMDF28W ;FL #74b
  1. .S ABMDE=ABMR(70,160)_"^23^6" ;Other Procedure date - 1
  1. .D WRT^ABMDF28W ;FL #74c
  1. .S ABMDE=$TR(ABMR(70,170),".")_"^30^7" ;Other Procedure code - 2
  1. .D WRT^ABMDF28W ;FL #74d
  1. .S ABMDE=ABMR(70,180)_"^38^6" ;Other Procedure date - 2
  1. .D WRT^ABMDF28W ;FL #74e
  1. ;I $$RCID^ABMERUTL(ABMP("INS"))'=61044 D ;abm*2.6*21 IHS/SD/SDR HEAT123457
  1. I $$RCID^ABMERUTL(ABMP("INS"))'["61044" D ;abm*2.6*21 IHS/SD/SDR HEAT123457
  1. .S ABMDE=$P($P(ABM("PRV",1),U),",")_"^53^15" ;Attending provider name
  1. .D WRT^ABMDF28W ; FL #76
  1. .S ABMDE=$P($P(ABM("PRV",1),U),",",2)_"^70^11" ;Attending provider name
  1. .D WRT^ABMDF28W ; FL #76
  1. Q