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

ABMDRHD.m

Go to the documentation of this file.
  1. ABMDRHD ; IHS/SD/SDR - Report Header Generator ;
  1. ;;2.6;IHS Third Party Billing;**1,3,4,11,14,21**;NOV 12, 2009;Build 379
  1. ;Original;TMD;03/25/96 11:34 AM
  1. ;
  1. ;IHS/SD/SDR - v2.5 p8 - Added code for cancellation dates
  1. ;IHS/SD/SDR - abm*2.6*1 - NO HEAT - Added time to report headers
  1. ;IHS/SD/SDR - abm*2.6*3 - HEAT12210 - fix header if 132 (was wrapping)
  1. ;IHS/SD/SDR - abm*2.6*4 - NO HEAT - Fixed header for closed/exported dates
  1. ;IHS/SD/SDR - 2.6*14 - ICD10 009 - Updated to print ICD10 header
  1. ;IHS/SD/SDR - 2.6*14 - HEAT165197 (CR3109) - Updated DX tag to display codes using new variables
  1. ;IHS/SD/SDR - 2.6*21 - HEAT184442 - Adeed ICD-10 to header when ICD-10 Diagnosis Range is selected; wasn't clear before when only
  1. ; DIAGNOSIS RANGE was displayed. Also updated header so if they select BOTH but don't enter anything for ICD-9, it won't print the
  1. ; 'and' and will only print the ICD-10 range selected.
  1. ;IHS/SD/SDR - 2.6*21 - VMBP RQMT_96 - Added code for all new insurer types.
  1. ;
  1. HD ;EP for setting Report Header
  1. S ABM("LVL")=0,ABM("CONJ")="for ",ABM("TXT")="ALL BILLING SOURCES"
  1. I $D(ABMY("INS")) S ABM("TXT")=$P(^AUTNINS(ABMY("INS"),0),U) G LOC
  1. I $D(ABMY("PAT")) S ABM("TXT")=$P(^DPT(ABMY("PAT"),0),U) G LOC
  1. I $D(ABMY("TYP")) D
  1. .;start old abm*2.6*21 IHS/SD/SDR VMBP RQMT_96
  1. .;I ABMY("TYP")="R" S ABM("TXT")="MEDICARE" Q
  1. .;I ABMY("TYP")="D" S ABM("TXT")="MEDICAID" Q
  1. .;I ABMY("TYP")="W" S ABM("TXT")="WORKMEN'S COMP" Q
  1. .;I ABMY("TYP")["W" S ABM("TXT")="PRIVATE+WORKMEN'S COMP" Q
  1. .;I ABMY("TYP")["P" S ABM("TXT")="PRIVATE INSURANCE" Q
  1. .;I ABMY("TYP")="N" S ABM("TXT")="NON-BENEFICIARY PATIENTS" Q
  1. .;I ABMY("TYP")="I" S ABM("TXT")="BENEFICIARY PATIENTS" Q
  1. .;I ABMY("TYP")="K" S ABM("TXT")="CHIP" Q
  1. .;I ABMY("TYP")="V" S ABM("TXT")="VETERANS ADMINISTRATION" Q ;abm*2.6*11 VMBP RQMT_96
  1. .;end old start new abm*2.6*21 IHS/SD/SDR VMBP RQMT_96
  1. .I ABMY("TYP")["^R^" S ABM("TXT")="MEDICARE" Q
  1. .I ABMY("TYP")="^D^" S ABM("TXT")="MEDICAID" Q
  1. .I ABMY("TYP")="^W^" S ABM("TXT")="WORKMEN'S COMP" Q
  1. .I ABMY("TYP")["W" S ABM("TXT")="PRIVATE+WORKMEN'S COMP" Q
  1. .I ABMY("TYP")["P" S ABM("TXT")="PRIVATE INSURANCE" Q
  1. .I ABMY("TYP")="^N^" S ABM("TXT")="NON-BENEFICIARY PATIENTS" Q
  1. .I ABMY("TYP")="^I^" S ABM("TXT")="BENEFICIARY PATIENTS" Q
  1. .I ABMY("TYP")="^K^" S ABM("TXT")="CHIP" Q
  1. .I ABMY("TYP")="^V^" S ABM("TXT")="VETERANS ADMINISTRATION" Q
  1. .I ABMY("TYP")="^FPL^" S ABM("TXT")="FPL 133 PERCENT" Q
  1. .I ABMY("TYP")="^SEP^" S ABM("TXT")="STATE EXCHANGE PLAN" Q
  1. .I ABMY("TYP")="^T^" S ABM("TXT")="3P LIABILITY" Q
  1. .I ABMY("TYP")="^MH^" S ABM("TXT")="MEDICARE HMO" Q
  1. .I ABMY("TYP")="^TSI^" S ABM("TXT")="TRIBAL SELF INSURED" Q
  1. .;end new abm*2.6*21 IHS/SD/SDR VMBP RQMT_96
  1. .S ABM("TXT")="UNSPECIFIED"
  1. ;
  1. LOC ;EP
  1. D CHK I $D(ABMY("LOC")) S ABM("TXT")=$P(^DIC(4,ABMY("LOC"),0),U),ABM("CONJ")="at " D CHK
  1. DT I '$D(ABMY("DT")) G APPR
  1. S ABM("CONJ")="with "
  1. ;S ABM("TXT")=$S(ABMY("DT")="A":"APPROVAL DATES",ABMY("DT")="V":"VISIT DATES",ABMY("DT")="P":"PAYMENT DATES",ABMY("DT")="C":"CANCELLATION DATES",ABMY("DT")="X":"CLOSED DATES",1:"EXPORT DATES") D CHK ;abm*2.6*4 NOHEAT
  1. S ABM("TXT")=$S(ABMY("DT")="A":"APPROVAL DATES",ABMY("DT")="V":"VISIT DATES",ABMY("DT")="P":"PAYMENT DATES",ABMY("DT")="C":"CANCELLATION DATES",ABMY("DT")="M":"CLOSED DATES",1:"EXPORT DATES") D CHK ;abm*2.6*4 NOHEAT
  1. S ABM("CONJ")="from ",ABM("TXT")=$$SDT^ABMDUTL(ABMY("DT",1)) D CHK
  1. S ABM("CONJ")="to ",ABM("TXT")=$$SDT^ABMDUTL(ABMY("DT",2)) D CHK
  1. APPR I '$D(ABM("APPR")),$D(ABMY("APPR")) S ABM("CONJ")="by ",ABM("TXT")=$P(^VA(200,ABMY("APPR"),0),U) D CHK
  1. PRV I $D(ABMY("PRV")) S ABM("CONJ")="provided by ",ABM("TXT")=$P(^VA(200,ABMY("PRV"),0),U) D CHK
  1. DX I '$D(ABMY("DX")) G PX
  1. ;start old code abm*2.6*14 ICD10 009
  1. ;S ABM("CONJ")="with ",ABM("TXT")="DIAGNOSIS RANGE" D CHK
  1. ;S ABM("CONJ")="from ",ABM("TXT")=ABMY("DX",1) D CHK
  1. ;S ABM("CONJ")="to ",ABM("TXT")=ABMY("DX",2) D CHK
  1. ;end old code start new code ICD10 009 and HEAT165197 (CR3109)
  1. ;S ABM("CONJ")="with ",ABM("TXT")=$S($G(ABMY("DXANS"))=9:"ICD-9 ",$D(ABMY("DXANS"))=10:"ICD-10 ",1:"")_"DIAGNOSIS RANGE" D CHK ;abm*2.6*21 IHS/SD/SDR HEAT184442
  1. S ABM("CONJ")="with ",ABM("TXT")=$S($G(ABMY("DXANS"))=9:"ICD-9 ",$G(ABMY("DXANS"))=10:"ICD-10 ",1:"")_"DIAGNOSIS RANGE" D CHK ;abm*2.6*21 IHS/SD/SDR HEAT184442 - corrected to make ICD-10 print in header
  1. I $D(ABMY("DX",1)) D
  1. .S ABM("CONJ")=$S($G(ABMY("DXANS"))="B":"ICD-9s ",1:"from "),ABM("TXT")=ABM("DX",1) D CHK
  1. .S ABM("CONJ")="to ",ABM("TXT")=ABM("DX",2) D CHK
  1. I $D(ABMY("DX",3)) D
  1. .;S ABM("CONJ")=$S($G(ABMY("DXANS"))="B":"and ICD-10s ",1:"from "),ABM("TXT")=ABM("DX",3) D CHK ;abm*2.6*21 IHS/SD/SDR HEAT184442
  1. .S ABM("CONJ")=$S(($G(ABMY("DXANS"))="B"&($D(ABM("DX",1)))):"and ",1:"ICD-10s from "),ABM("TXT")=ABM("DX",3) D CHK ;abm*2.6*21 IHS/SD/SDR HEAT184442 - remove 'and' if no ICD-9 range selected
  1. .S ABM("CONJ")="to ",ABM("TXT")=ABM("DX",4) D CHK
  1. ;end new code ICD10 009 and HEAT165197 (CR3109)
  1. PX I '$D(ABMY("PX")) G XIT
  1. S ABM("CONJ")="with ",ABM("TXT")="PROCEDURE RANGE" D CHK
  1. S ABM("CONJ")="from ",ABM("TXT")=ABMY("PX",1) D CHK
  1. S ABM("CONJ")="to ",ABM("TXT")=ABMY("PX",2) D CHK
  1. ;
  1. XIT K ABM("CONJ"),ABM("TXT"),ABM("LVL")
  1. Q
  1. ;
  1. CHK I ($L(ABM("HD",ABM("LVL")))+1+$L(ABM("CONJ"))+$L(ABM("TXT")))<($S($D(ABM(132)):104,1:52)+$S(ABM("LVL")>0:28,1:0)) S ABM("HD",ABM("LVL"))=ABM("HD",ABM("LVL"))_" "_ABM("CONJ")_ABM("TXT")
  1. E S ABM("LVL")=ABM("LVL")+1,ABM("HD",ABM("LVL"))=ABM("CONJ")_ABM("TXT")
  1. Q
  1. ;
  1. WHD ;EP for writing Report Header
  1. W $$EN^ABMVDF("IOF"),!
  1. I $D(ABM("PRIVACY")) W ?($S($D(ABM(132)):34,1:8)),"WARNING: Confidential Patient Information, Privacy Act Applies",!
  1. K ABM("LINE") S $P(ABM("LINE"),"=",$S($D(ABM(132)):132,1:80))="" W ABM("LINE"),!
  1. ;W ABM("HD",0),?$S($D(ABM(132)):108,1:57) S Y=DT X ^DD("DD") W Y," Page ",ABM("PG") ;abm*2.6*1 NO HEAT
  1. D NOW^%DTC ;abm*2.6*1 NO HEAT
  1. ;W ABM("HD",0),?$S($D(ABM(132)):108,1:48) S Y=% X ^DD("DD") W Y," Page ",ABM("PG") ;abm*2.6*1 NO HEAT ;abm*2.6*3 HEAT12210
  1. W ABM("HD",0),?$S($D(ABM(132)):103,1:48) S Y=% X ^DD("DD") W Y," Page ",ABM("PG") ;abm*2.6*1 NO HEAT ;abm*2.6*3 HEAT12210
  1. W:$G(ABM("HD",1))]"" !,ABM("HD",1)
  1. W:$G(ABM("HD",2))]"" !,ABM("HD",2)
  1. W !,"Billing Location: ",$P($G(^AUTTLOC(DUZ(2),0)),U,2)
  1. W !,ABM("LINE") K ABM("LINE")
  1. Q