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

ABME5L4.m

Go to the documentation of this file.
  1. ABME5L4 ; IHS/ASDST/DMJ - Header
  1. ;;2.6;IHS Third Party Billing;**6,8,10,11,13,21**;NOV 12, 2009;Build 379
  1. ;Header Segments
  1. ;IHS/SD/SDR - 2.6*13 - Added DTP segments for Initial Treatment Date and Acute Manifestation Date
  1. ;IHS/SD/SDR - 2.6*21 - HEAT136508 - Made change so CLIA segment would print if lab code started with 'G'
  1. ;
  1. START ;START HERE
  1. K ABMOUTLB
  1. S ABMLOOP="2300"
  1. D ^ABME5CLM
  1. D WR^ABMUTL8("CLM")
  1. S ABMP("PDFN")=$P(ABMB0,U,5) ;Patient IEN
  1. ;I $P(ABMB8,U,6)'="" D ;onset of current illness or symptom ;abm*2.6*10 HEAT66142
  1. I $P(ABMB8,U,6)'="",($P(ABMB8,U,3)'="") D ;onset of current illness or symptom abm*2.6*10 HEAT66142
  1. .Q:$P(ABMB8,U,6)=$P(ABMB7,U) ;IHS/SD/SDR 5/21/12 HEAT69623
  1. .Q:$P(ABMB8,U,6)=$P(ABMB6,U) ;IHS/SD/AML 6/13/2012
  1. .D EP^ABME5DTP(431,"D8",$P(ABMB8,U,6))
  1. .D WR^ABMUTL8("DTP")
  1. ;start new code abm*2.6*13 exp mode 35 (454)
  1. I $P(ABMB8,"^",23) D
  1. .D EP^ABME5DTP(454,"D8",$P(ABMB8,"^",23)) ;Initial Treatment Date
  1. .D WR^ABMUTL8("DTP")
  1. ;end new code exp mode 35
  1. ;start new code abm*2.6*10 IHS/SD/AML HEAT79778
  1. I $P(ABMB9,"^",11) D
  1. .D EP^ABME5DTP(304,"D8",$P(ABMB9,"^",11)) ;Date last seen
  1. .D WR^ABMUTL8("DTP")
  1. .;end new code abm*2.6*10 IHS/SD/AML HEAT79778
  1. ;start new code abm*2.6*13 exp mode 35 (453)
  1. I $P(ABMB7,"^",27) D
  1. .D EP^ABME5DTP(453,"D8",$P(ABMB7,"^",27)) ;Acute Manifestation Date
  1. .D WR^ABMUTL8("DTP")
  1. ;end new code exp mode 35
  1. ;I $P(ABMB8,U,2) D ;accident ;abm*2.6*10 HEAT66142
  1. I $P(ABMB8,U,2),($P(ABMB8,U,3)'="") D ;accident ;abm*2.6*10 HEAT66142
  1. .D EP^ABME8DTP(439,"D8",$P(ABMB8,U,2))
  1. .D WR^ABMUTL8("DTP") ;abm*2.6*8 HEAT40129 - Write DPT segment if accident occurs
  1. I $D(^ABMDBILL(DUZ(2),ABMP("BDFN"),51)) D
  1. .S ABMP("51IEN")=0,ABMP("LMDT")=""
  1. .F S ABMP("51IEN")=$O(^ABMDBILL(DUZ(2),ABMP("BDFN"),51,ABMP("51IEN"))) Q:'ABMP("51IEN") D Q:($G(ABMP("LMDT"))'="")
  1. ..I $P($G(^ABMDCODE($P(^ABMDBILL(DUZ(2),ABMP("BDFN"),51,ABMP("51IEN"),0),U),0)),U)=10 D
  1. ...S ABMP("LMDT")=$P($G(^ABMDBILL(DUZ(2),ABMP("BDFN"),51,ABMP("51IEN"),0)),U,2)
  1. .I $G(ABMP("LMDT"))'="" D
  1. ..D EP^ABME5DTP(484,"D8",ABMP("LMDT"))
  1. ..D WR^ABMUTL8("DTP")
  1. I $P(ABMB9,U,13)'="" D
  1. .D EP^ABME5DTP(455,"D8",$P(ABMB9,U,13))
  1. .D WR^ABMUTL8("DTP")
  1. I $P(ABMB7,"^",14) D
  1. .D EP^ABME5DTP(471,"D8",$P(ABMB7,"^",14))
  1. .D WR^ABMUTL8("DTP")
  1. I $P(ABMB7,U,15)'=""&($P(ABMB7,U,16)'="") D
  1. .D EP^ABME5DTP(314,"RD8",$P(ABMB7,U,15),$P(ABMB7,U,16))
  1. .D WR^ABMUTL8("DTP")
  1. I $P(ABMB7,U,15)'=""&($P(ABMB7,U,16)="") D
  1. .D EP^ABME5DTP(360,"D8",$P(ABMB7,U,15))
  1. .D WR^ABMUTL8("DTP")
  1. I $P(ABMB7,U,15)=""&($P(ABMB7,U,16)'="") D
  1. .D EP^ABME5DTP(361,"D8",$P(ABMB7,U,16))
  1. .D WR^ABMUTL8("DTP")
  1. I $P(ABMB7,U,17) D
  1. .D EP^ABME5DTP(297,"D8",$P(ABMB7,U,17))
  1. .D WR^ABMUTL8("DTP")
  1. I $P(ABMB7,U,18) D
  1. .D EP^ABME5DTP(296,"D8",$P(ABMB7,U,18))
  1. .D WR^ABMUTL8("DTP")
  1. I $P(ABMB6,U),($E(ABMP("BTYP"),1,2)=11) D
  1. .Q:$P($G(^ABMNINS(ABMP("LDFN"),ABMP("INS"),1,ABMP("VTYP"),1)),U,4)="Y"&($E($G(ABMP("BTYP")),1,2)'="11") ;dme billing
  1. .D EP^ABME8DTP(435,"D8",$P(ABMB6,U))
  1. .D WR^ABMUTL8("DTP")
  1. I $P(ABMB6,"^",3),($E(ABMP("BTYP"),1,2)=11) D
  1. .D EP^ABME8DTP("096","D8",$P(ABMB6,"^",3))
  1. .D WR^ABMUTL8("DTP")
  1. I $P(ABMB7,U,19) D
  1. .D EP^ABME5DTP("090","D8",$P(ABMB7,U,19))
  1. .D WR^ABMUTL8("DTP")
  1. I $P(ABMB7,U,21) D
  1. .D EP^ABME5DTP("091","D8",$P(ABMB7,U,21))
  1. .D WR^ABMUTL8("DTP")
  1. I $P(ABMB7,U,22) D
  1. .D EP^ABME5DTP(444,"D8",$P(ABMB7,U,22))
  1. .D WR^ABMUTL8("DTP")
  1. I $D(^ABMDBILL(DUZ(2),ABMP("BDFN"),71)) D
  1. .K ABM71CNT
  1. .S ABM71IEN=0
  1. .F S ABM71IEN=$O(^ABMDBILL(DUZ(2),ABMP("BDFN"),71,ABM71IEN)) Q:+ABM71IEN=0 D Q:$G(ABM71CNT)=10
  1. ..D ^ABME8PWK,WR^ABMUTL8("PWK")
  1. ..S ABM71CNT=+$G(ABM71CNT)+1
  1. I $P(ABMB7,U,23) D
  1. .D EP^ABME5AMT("F5")
  1. .D WR^ABMUTL8("AMT")
  1. I ABMP("CLIN")=72 D ;mammography
  1. .Q:$P($G(^ABMDPARM(ABMP("LDFN"),1,5)),U,4)="" ;no cert#
  1. .D EP^ABME5REF("EW")
  1. .D WR^ABMUTL8("REF")
  1. I $P(ABMB5,U,11)'="" D
  1. .D EP^ABME5REF("9F")
  1. .D WR^ABMUTL8("REF")
  1. I $P(ABMB5,U,12)'="" D
  1. .D EP^ABME5REF("G1")
  1. .D WR^ABMUTL8("REF")
  1. I $P(ABMB4,U,9)'="" D
  1. .D EP^ABME5REF("F8")
  1. .D WR^ABMUTL8("REF")
  1. D ^ABMEHGRV
  1. S ABMCHK=0,ABMJ=0
  1. F ABMI=27,37,43 D
  1. .S ABMJ=-1
  1. .S ABMJ=$O(ABMRV(ABMI,ABMJ)) Q:ABMJ="" D
  1. ..S ABMK=0
  1. ..F S ABMK=$O(ABMRV(ABMI,ABMJ,ABMK)) Q:ABMK="" D
  1. ...;I $P(ABMRV(ABMI,ABMJ,ABMK),U,2)>79999,($P(ABMRV(ABMI,ABMJ,ABMK),U,2)<90000) S ABMCHK=1 ;abm*2.6*21 IHS/SD/SDR HEAT136508
  1. ...I ($P(ABMRV(ABMI,ABMJ,ABMK),U,2)>79999&($P(ABMRV(ABMI,ABMJ,ABMK),U,2)<90000))!($E($P(ABMRV(ABMI,ABMJ,ABMK),U,2))="G") S ABMCHK=1 ;abm*2.6*21 IHS/SD/SDR HEAT136508
  1. I ABMCHK=1 D
  1. .S ABMCLIA="CLM"
  1. .D EP^ABME5REF("X4","1CLM","1CLM")
  1. .D WR^ABMUTL8("REF")
  1. .K ABMCLIA,ABMCHK
  1. D EP^ABME5REF("EA")
  1. D WR^ABMUTL8("REF")
  1. I $D(^ABMDBILL(DUZ(2),ABMP("BDFN"),61))!($P($G(^ABMDBILL(DUZ(2),ABMP("BDFN"),10)),U)'="") D
  1. .D EP^ABME5NTE("ADD")
  1. .Q:$TR($G(ABMR("NTE",30))," ")="" ;don't write NTE if no data except spaces
  1. .D WR^ABMUTL8("NTE")
  1. I ABMP("CLIN")="A3" D
  1. .D EP^ABME5CR1
  1. .D WR^ABMUTL8("CR1")
  1. I $P(ABMB7,U,24)'="" D
  1. .D EP^ABME5CR2
  1. .D WR^ABMUTL8("CR2")
  1. ;ambulance certification
  1. I $P($G(^ABMDBILL(DUZ(2),ABMP("BDFN"),12)),U,15)="Y",($D(^ABMDBILL(DUZ(2),ABMP("BDFN"),14))) D
  1. .D EP^ABME5CRC("AMB")
  1. .D WR^ABMUTL8("CRC")
  1. ;patient condition info:vision
  1. I $P($G(^ABMDBILL(DUZ(2),ABMP("BDFN"),8)),U,21)'="" D
  1. .D EP^ABME5CRC("VIS")
  1. .D WR^ABMUTL8("CRC")
  1. ;EPSDT Referral
  1. I $D(^ABMDBILL(DUZ(2),ABMP("BDFN"),59,0)) D
  1. .S ABMSPIEN=$O(^ABMDBILL(DUZ(2),ABMP("BDFN"),59,0))
  1. .Q:+ABMSPIEN=0
  1. .Q:$P($G(^ABMDBILL(DUZ(2),ABMP("BDFN"),59,ABMSPIEN,0)),U,2)=""
  1. .D EP^ABME5CRC("EPSDT")
  1. .D WR^ABMUTL8("CRC")
  1. ;health care diagnosis code
  1. D DXSET^ABMUTL8(ABMP("BDFN"))
  1. ;D EP^ABME5HI("BZ")
  1. D EP^ABME5HI("BK")
  1. D WR^ABMUTL8("HI")
  1. ;anesthesia related procedure
  1. D ANES^ABMUTL8(ABMP("BDFN"))
  1. D EP^ABME5HI("BP")
  1. D WR^ABMUTL8("HI")
  1. ;condition information
  1. ;start old code abm*2.6*11 NOHEAT4
  1. ;D CDSET^ABMUTL8(ABMP("BDFN"))
  1. ;D EP^ABME8HI("BG")
  1. ;D WR^ABMUTL8("HI")
  1. ;end old code NOHEAT4
  1. Q