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

ABMPT258.m

Go to the documentation of this file.
  1. ABMPT258 ; IHS/ASDST/SDR - 3P BILLING 2.5 Patch 8 POST INIT ;
  1. ;;2.6;IHS 3P BILLING SYSTEM;;NOV 12, 2009
  1. ;
  1. Q
  1. PREINST ;reset entries in 3P Page 3 Questions file
  1. S DIK="^ABMQUES("
  1. F ABMQ=25,26,29,30 D
  1. .S DA=ABMQ
  1. .D ^DIK
  1. S ABMDEL="^ABMPSTAT"
  1. K @ABMDEL
  1. S ABMDEL="^ABMCCLMR"
  1. K @ABMDEL
  1. Q
  1. EN ; EP
  1. D QUES ;add questions 32 and 33; 34/35
  1. D EXP25 ;add export mode 25 ADA-2002
  1. D EXP26 ;add export mode 26 ADA-99 v2000
  1. D EXP23 ;edit name of 837D to say ADA
  1. D ECODES ; add new error codes
  1. D DXLAG ;put default in uncoded Dx lag time of 45 days
  1. D PCCST ;new billing status (59)/uncoded Dxs and (60)Visit in Review Status
  1. D EXPUPDT ;update export modes with new questions
  1. D VTYP ;add ambulance VT
  1. D TPCODES ;add codes to 3P Codes file
  1. D TURNON^DIAUTL(9999999.06,.14,"y") ;turn on audit for LOCATION field .14
  1. D TURNON^DIAUTL(9999999.06,.15,"y") ;turn on audit for LOCATION field .15
  1. D TURNON^DIAUTL(9999999.06,.16,"y") ;turn on audit for LOCATION field .16
  1. D TURNON^DIAUTL(9999999.06,.17,"y") ;turn on audit for LOCATION field .17
  1. Q
  1. ;
  1. EXP25 ;
  1. K DIC,DR,DINUM,DLAYGO,DIE
  1. S DIC="^ABMDEXP("
  1. S DIC(0)="LM"
  1. S DLAYGO=9002274
  1. S X="ADA-2002",DINUM=25
  1. K DD,DO
  1. D ^DIC
  1. Q:Y<0
  1. S DA=+Y
  1. S DIE="^ABMDEXP("
  1. S DR=".04////ABMDF25;.05////ABMDF25X;.06///C;.07///Dental Claim Form Dated 2002;.08///1,2,3,4,9,16,17,18,34,35;.11////ABMDES4;.15///H"
  1. D ^DIE
  1. Q
  1. EXP26 ;
  1. K DIC,DR,DINUM,DLAYGO,DIE
  1. S DIC="^ABMDEXP("
  1. S DIC(0)="LM"
  1. S DLAYGO=9002274
  1. S X="ADA-99 v2000",DINUM=26
  1. K DD,DO
  1. D ^DIC
  1. Q:Y<0
  1. S DA=+Y
  1. S DIE="^ABMDEXP("
  1. S DR=".04////ABMDF26;.05////ABMDF26X;.06///C;.07///Dental Claim Form Dated 2000;.08///1,2,3,4,9,16,17,18;.11////ABMDES4;.15///H"
  1. D ^DIE
  1. Q
  1. QUES ;
  1. K DIC,X,DINUM,DR,DLAYGO
  1. S DIC="^ABMQUES("
  1. S DIC(0)="LM"
  1. S DLAYGO=9002274
  1. S DINUM=32,X="NUMBER OF ENCLOSURES"
  1. S DIC("DR")=".02////W32;.03////ABMDE30;.04////32;1////ABMDE3C"
  1. K DD,DO
  1. D ^DIC
  1. ;
  1. K DIC,X,DINUM,DR,DLAYGO
  1. S DIC="^ABMQUES("
  1. S DIC(0)="LM"
  1. S DLAYGO=9002274
  1. S DINUM=33,X="OTHER DENTAL CHARGES"
  1. S DIC("DR")=".02////W33;.03////ABMDE30;.04////33;1////ABMDE3C"
  1. K DD,DO
  1. D ^DIC
  1. ;
  1. K DIC,X,DINUM,DR,DLAYGO
  1. S DIC="^ABMQUES("
  1. S DIC(0)="LM"
  1. S DLAYGO=9002274
  1. S DINUM=34,X="REFERENCE LAB CLIA#"
  1. S DIC("DR")=".02////W34;.03////ABMDE30;.04////34;1////ABMDE3C"
  1. K DD,DO
  1. D ^DIC
  1. ;
  1. K DIC,X,DINUM,DR,DLAYGO
  1. S DIC="^ABMQUES("
  1. S DIC(0)="LM"
  1. S DLAYGO=9002274
  1. S DINUM=35,X="IN-HOUSE CLIA#"
  1. S DIC("DR")=".02////W35;.03////ABMDE30;.04////35;1////ABMDE3C"
  1. K DD,DO
  1. D ^DIC
  1. Q
  1. EXP23 ;
  1. S DIE="^ABMDEXP("
  1. S DA=23
  1. S DR=".01///837 DENT (ADA)"
  1. D ^DIE
  1. Q
  1. ECODES ;
  1. ; 194-197 for IM15307/IM14092 - MSP on page 2
  1. ;194
  1. K DIC,X
  1. S DIC="^ABMDERR("
  1. S DIC(0)="LM"
  1. S DINUM=194
  1. S X="NO MSP FORM FOR INPATIENT CLAIM"
  1. S DIC("DR")=".02///The system indicates that there is no MSP Form on file. Please verify that an MSP Form has been obtained and is on file."
  1. S DIC("DR")=DIC("DR")_";.03///W"
  1. K DD,DO
  1. D FILE^DICN
  1. ;195
  1. K DIC,X
  1. S DIC="^ABMDERR("
  1. S DIC(0)="LM"
  1. S DINUM=195
  1. S X="MSP STATUS GREATER THAN 90 DAYS"
  1. S DIC("DR")=".02///The MSP Form on file in Pat Reg indicates the last form obtained exceeds the 90-day time period set by CMS. Please verify an MSP form has been obtained and is on file."
  1. S DIC("DR")=DIC("DR")_";.03///W"
  1. K DD,DO
  1. D FILE^DICN
  1. ;196
  1. K DIC,X
  1. S DIC="^ABMDERR("
  1. S DIC(0)="LM"
  1. S DINUM=196
  1. S X="MSP UNSPECIFIED - VERIFY YOUR ELIGIBILITY IN REGISTRATION"
  1. S DIC("DR")=".02///MSP entries do not exist on the Medicare page in Pat Reg but the sequencing in the claim editor indicates Medicare is secondary payer."
  1. S DIC("DR")=DIC("DR")_";.03///W"
  1. K DD,DO
  1. D FILE^DICN
  1. ;197
  1. K DIC,X
  1. S DIC="^ABMDERR("
  1. S DIC(0)="LM"
  1. S DINUM=197
  1. S X="PATIENT IS AN MSP PATIENT"
  1. S DIC("DR")=".02///An MSP entry exists in Pat Reg but the claim editor sequencing does not indicate Mediacre is secondary. Please verify the accuracy of the Medicare entries in Pat Reg."
  1. S DIC("DR")=DIC("DR")_";.03///W"
  1. K DD,DO
  1. D FILE^DICN
  1. ;199
  1. K DIC,X
  1. S DIC="^ABMDERR("
  1. S DIC(0)="LM"
  1. S DINUM=199
  1. S X="LAB CHARGES WITH NO REFERRING PROVIDER ON PAGE 3"
  1. S DIC("DR")=".02///Enter Referring Provider on page 3"
  1. S DIC("DR")=DIC("DR")_";.03///W"
  1. K DD,DO
  1. D FILE^DICN
  1. ;200
  1. K DIC,X
  1. S DIC="^ABMDERR("
  1. S DIC(0)="LM"
  1. S DINUM=200
  1. S X="CLIA NUMBER MISSING"
  1. S DIC("DR")=".03///E"
  1. K DD,DO
  1. D FILE^DICN
  1. D SITE(200)
  1. ;203 IM15111
  1. K DIC,X
  1. S DIC="^ABMDERR("
  1. S DIC(0)="LM"
  1. S DINUM=203
  1. S X="FORMAT OF MEDICARE/MEDICAID NAME INCORRECT"
  1. S DIC("DR")=".02///CORRECT NAME FORMAT IN PAT REG."
  1. S DIC("DR")=DIC("DR")_";.03///E"
  1. K DD,DO
  1. D FILE^DICN
  1. D SITE(203)
  1. ;204 - ambulance billing
  1. K DIC,X
  1. S DIC="^ABMDERR("
  1. S DIC(0)="LM"
  1. S DINUM=204
  1. S X="POINT OF PICKUP FOR PATIENT IS MISSING"
  1. S DIC("DR")=".02///ENTER POINT OF PICKUP"
  1. S DIC("DR")=DIC("DR")_";.03///E"
  1. K DD,DO
  1. D FILE^DICN
  1. D SITE(204)
  1. ;205 - ambulance billing
  1. K DIC,X
  1. S DIC="^ABMDERR("
  1. S DIC(0)="LM"
  1. S DINUM=205
  1. S X="ORIGINATING ZIP CODE MISSING"
  1. S DIC("DR")=".02///ENTER ORIGINATING ZIP CODE"
  1. S DIC("DR")=DIC("DR")_";.03///E"
  1. K DD,DO
  1. D FILE^DICN
  1. D SITE(205)
  1. ;206 - ambulance billing
  1. K DIC,X
  1. S DIC="^ABMDERR("
  1. S DIC(0)="LM"
  1. S DINUM=206
  1. S X="DESTINATION FOR THE PATIENT IS MISSING OR INCOMPLETE"
  1. S DIC("DR")=".02///POPULATE DESTINATION FIELDS ON PAGE 3A"
  1. S DIC("DR")=DIC("DR")_";.03///E"
  1. K DD,DO
  1. D FILE^DICN
  1. D SITE(206)
  1. ;207 - ambulance billing
  1. K DIC,X
  1. S DIC="^ABMDERR("
  1. S DIC(0)="LM"
  1. S DINUM=207
  1. S X="MEDICAL NECESSITY INDICATOR BLANK"
  1. S DIC("DR")=".02///ANSWER MEDICAL NECESSITY QUESTION ON PAGE 3A"
  1. S DIC("DR")=DIC("DR")_";.03///E"
  1. K DD,DO
  1. D FILE^DICN
  1. D SITE(207)
  1. ;208 - ambulance billing
  1. K DIC,X
  1. S DIC="^ABMDERR("
  1. S DIC(0)="LM"
  1. S DINUM=208
  1. S X="PATIENT WEIGHT REQUIRED"
  1. S DIC("DR")=".02///ANSWER PATIENT WEIGHT QUESTION ON PAGE 3A"
  1. S DIC("DR")=DIC("DR")_";.03///E"
  1. K DD,DO
  1. D FILE^DICN
  1. D SITE(208)
  1. ;209 - ambulance billing
  1. K DIC,X
  1. S DIC="^ABMDERR("
  1. S DIC(0)="LM"
  1. S DINUM=209
  1. S X="AMBULANCE PROCEDURE REQUIRES MODIFIER"
  1. S DIC("DR")=".02///ENTER MODIFIER FOR AMBULANCE PROCEDURE"
  1. S DIC("DR")=DIC("DR")_";.03///E"
  1. K DD,DO
  1. D FILE^DICN
  1. D SITE(209)
  1. ;210 - ambulance billing
  1. K DIC,X
  1. S DIC="^ABMDERR("
  1. S DIC(0)="LM"
  1. S DINUM=210
  1. S X="DRUG NAME/DOSAGE REQUIRED FOR NOC DRUG"
  1. S DIC("DR")=".02///ENTER DRUG NAME/DOSAGE ON PAGE 3"
  1. S DIC("DR")=DIC("DR")_";.03///E"
  1. K DD,DO
  1. D FILE^DICN
  1. D SITE(210)
  1. ;211 - ambulance billing
  1. K DIC,X
  1. S DIC="^ABMDERR("
  1. S DIC(0)="LM"
  1. S DINUM=211
  1. S X="MILEAGE DATA MISSING"
  1. S DIC("DR")=".02///ENTER A0425 OR A0888 ON PAGE 8H OR 8K"
  1. S DIC("DR")=DIC("DR")_";.03///W"
  1. K DD,DO
  1. D FILE^DICN
  1. ;212 - ambulance billing
  1. K DIC,X
  1. S DIC="^ABMDERR("
  1. S DIC(0)="LM"
  1. S DINUM=212
  1. S X="QL modifier is used - other modifiers will be skipped"
  1. S DIC("DR")=".02///Remove QL if other modifiers are necessary"
  1. S DIC("DR")=DIC("DR")_";.03///W"
  1. K DD,DO
  1. D FILE^DICN
  1. ;213 - Rx billing
  1. K DIC,X
  1. S DIC="^ABMDERR("
  1. S DIC(0)="LM"
  1. S DINUM=213
  1. S X="PHARMACY DATA EXISTS IN PCC THAT IS NOT ON CLAIM"
  1. S DIC("DR")=".03///W"
  1. K DD,DO
  1. D FILE^DICN
  1. Q
  1. SITE(ABMX) ;Add SITE multiple
  1. S DUZHOLD=DUZ(2)
  1. S DUZ(2)=0
  1. F S DUZ(2)=$O(^ABMDCLM(DUZ(2))) Q:'+DUZ(2) D
  1. .S DIC(0)="LX"
  1. .S DA(1)=ABMX
  1. .S DIC="^ABMDERR("_DA(1)_",31,"
  1. .S DIC("P")=$P(^DD(9002274.04,31,0),U,2)
  1. .S DINUM=DUZ(2)
  1. .S X=$P($G(^DIC(4,DUZ(2),0)),U)
  1. .S DIC("DR")=".03////E"
  1. .D ^DIC
  1. .K DA,DIC,DINUM
  1. S DUZ(2)=DUZHOLD
  1. K DUZHOLD,DLAYGO,ABMX
  1. Q
  1. DXLAG ; default lag time to 45 days
  1. S DIE="^ABMDPARM(DUZ(2),"
  1. S DA=1
  1. S DR=".52///45"
  1. D ^DIE
  1. Q
  1. PCCST ;
  1. K DIC,X,DINUM
  1. S DIC="^ABMDCS("
  1. S DINUM=59
  1. S X="UNCODED DX EXISTS ON VISIT"
  1. S DIC(0)="ML"
  1. K DD,DO
  1. D FILE^DICN
  1. ;
  1. K DIC,X,DINUM
  1. S DIC="^ABMDCS("
  1. S DINUM=60
  1. S X="VISIT IN REVIEW STATUS"
  1. S DIC(0)="ML"
  1. K DD,DO
  1. D FILE^DICN
  1. ;
  1. K DIC,X,DINUM
  1. S DIC="^ABMDCS("
  1. S DINUM=61
  1. S X="INPATIENT CODING INCOMPLETE"
  1. S DIC(0)="ML"
  1. K DD,DO
  1. D FILE^DICN
  1. Q
  1. EXPUPDT ;
  1. F ABMEXPM=3,14,22,23 D
  1. .S ABMQUES=$P($G(^ABMDEXP(ABMEXPM,0)),U,8)
  1. .Q:ABMQUES["34,35"
  1. .S ABMQUES=ABMQUES_",34,35"
  1. .S DIE="^ABMDEXP("
  1. .S DA=ABMEXPM
  1. .S DR=".08////"_ABMQUES
  1. .D ^DIE
  1. ;
  1. S ABMQUES=$P($G(^ABMDEXP(14,0)),U,8)
  1. Q:ABMQUES["19"
  1. S ABMQUES=ABMQUES_",19"
  1. S DIE="^ABMDEXP("
  1. S DA=14
  1. S DR=".08///"_ABMQUES
  1. D ^DIE
  1. Q
  1. VTYP ; new visit type 902-ambulance
  1. K DIC,X,DINUM
  1. S DIC="^ABMDVTYP("
  1. S X="AMBULANCE"
  1. S DIC(0)="EML"
  1. S DINUM=902
  1. K DD,DO
  1. D FILE^DICN
  1. Q
  1. TPCODES ;
  1. K DIC,X,DINUM,DR,DLAYGO
  1. S DIC="^ABMDCODE("
  1. S DIC(0)="LM"
  1. S DLAYGO=9002274.03
  1. S ABMCNT=0
  1. S ABMTAG="CODES"
  1. F D Q:$P($T(@ABMTAG+ABMCNT),";;",2)="END"
  1. .S ABMCREC=$P($T(@ABMTAG+ABMCNT),";;",2)
  1. .S ABMCNT=ABMCNT+1
  1. .S X=$P(ABMCREC,";",1)
  1. .Q:$D(^ABMDCODE("AC",$P(ABMCREC,";",2),X))=10
  1. .S DIC("DR")=".02////"_$P(ABMCREC,";",2)
  1. .S DIC("DR")=DIC("DR")_";.03////"_$P(ABMCREC,";",3)
  1. .S DIC("DR")=DIC("DR")_";.04////"_$P(ABMCREC,";",4)
  1. .K DD,DO
  1. .D FILE^DICN
  1. Q
  1. CODES ;;A0;V;Originating zip code-ambulance only;0
  1. ;;32;V;Multiple patient ambulance transport;0
  1. ;;B2;C;CAH Attestation;0
  1. ;;END
  1. Q