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

ABMPT266.m

Go to the documentation of this file.
  1. ABMPT266 ; IHS/SD/SDR - 3P BILLING 2.6 Patch 5 POST INIT ;
  1. ;;2.6;IHS Third Party Billing;**6**;NOV 12, 2009
  1. ;
  1. Q
  1. PRE ;
  1. S DIK="^ABMDEXP("
  1. S DA=23
  1. D ^DIK
  1. S DA=24
  1. D ^DIK
  1. S DA=32
  1. D ^DIK
  1. S DIK="^ABMPSTAT("
  1. S DA=20
  1. D ^DIK
  1. S DA=24
  1. D ^DIK
  1. Q
  1. EN ;EP
  1. D ERRCODES ;new error codes
  1. D ECODES ; new 3P Codes
  1. D QUES ;3P PAGE3 QUESTIONS
  1. D CASHCK ;check cashiering sessions for .01 field being populated
  1. Q
  1. ERRCODES ;
  1. ;235 - Facility NPI missing
  1. K DIC,X
  1. S DIC="^ABMDERR("
  1. S DIC(0)="LM"
  1. S DINUM=235
  1. S X="Facility NPI missing"
  1. S DIC("DR")=".02///Add NPI for facility"
  1. S DIC("DR")=DIC("DR")_";.03///E"
  1. K DD,DO
  1. D FILE^DICN
  1. D SITE(235)
  1. ;236 - Subscriber Primary Identifier missing
  1. K DIC,X
  1. S DIC="^ABMDERR("
  1. S DIC(0)="LM"
  1. S DINUM=236
  1. S X="Subscriber Primary Identifier missing"
  1. S DIC("DR")=".02///Populate subscriber number"
  1. S DIC("DR")=DIC("DR")_";.03///E"
  1. K DD,DO
  1. D FILE^DICN
  1. D SITE(236)
  1. ;237 - Special Program code not supported by 837 5010 format
  1. K DIC,X
  1. S DIC="^ABMDERR("
  1. S DIC(0)="LM"
  1. S DINUM=237
  1. S X="Special Program code not supported by 837 5010 format"
  1. S DIC("DR")=".02///Use 5010 or different special program code"
  1. S DIC("DR")=DIC("DR")_";.03///W"
  1. K DD,DO
  1. D FILE^DICN
  1. D SITE(237)
  1. ;238 - Only one disability date populated
  1. K DIC,X
  1. S DIC="^ABMDERR("
  1. S DIC(0)="LM"
  1. S DINUM=238
  1. S X="Only one disability date populated"
  1. S DIC("DR")=".02///Populated both dates if possible"
  1. S DIC("DR")=DIC("DR")_";.03///W"
  1. K DD,DO
  1. D FILE^DICN
  1. D SITE(238)
  1. ;239 - No Prescription Number
  1. K DIC,X
  1. S DIC="^ABMDERR("
  1. S DIC(0)="LM"
  1. S DINUM=239
  1. S X="Prescription Number missing"
  1. S DIC("DR")=".02///Populated Prescription Number"
  1. S DIC("DR")=DIC("DR")_";.03///E"
  1. K DD,DO
  1. D FILE^DICN
  1. D SITE(239)
  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////"_$S(DA(1)=237!(DA(1)=238):"W",1:"E")
  1. .D ^DIC
  1. .K DA,DIC,DINUM
  1. S DUZ(2)=DUZHOLD
  1. K DUZHOLD,DLAYGO,ABMX
  1. Q
  1. ECODES ;
  1. K DIC,X
  1. F ABMI=1:1 S ABMLN=$P($T(ECODETXT+ABMI),";;",2) Q:ABMLN="END" D
  1. .S ABMCODE=$P(ABMLN,U)
  1. .I $D(^ABMDCODE("AC",$P(ABMLN,U,2),ABMCODE)) D Q
  1. ..S DA=$O(^ABMDCODE("AC",$P(ABMLN,U,2),ABMCODE,0))
  1. ..S $P(^ABMDCODE(DA,0),U,2)=$P(ABMLN,U,2),$P(^(0),U,3)=$P(ABMLN,U,3)
  1. .S ABMDESC=$P(ABMLN,U,3)
  1. .S DIC="^ABMDCODE("
  1. .S DIC(0)="ML"
  1. .S X=ABMCODE
  1. .S DIC("DR")=".02///"_$P(ABMLN,U,2)
  1. .S DIC("DR")=DIC("DR")_";.03///"_ABMDESC
  1. .K DD,DO
  1. .D FILE^DICN
  1. ;
  1. K DIC,X
  1. S DIC="^ABMDCODE("
  1. S DIC(0)="ML"
  1. S X="05"
  1. S DIC("DR")=".02///H"
  1. S DIC("DR")=DIC("DR")_";.03///INDIAN HEALTH SERVICE FREE-STANDING FACILITY"
  1. K DD,DO
  1. D FILE^DICN
  1. ;
  1. K DIC,X
  1. S DIC="^ABMDCODE("
  1. S DIC(0)="ML"
  1. S X="06"
  1. S DIC("DR")=".02///H"
  1. S DIC("DR")=DIC("DR")_";.03///INDIAN HEALTH SERVICE PROVIDER-BASED FACILITY"
  1. K DD,DO
  1. D FILE^DICN
  1. Q
  1. ECODETXT ;
  1. ;;09^I^Second Opinion or Surgery
  1. ;;15^U^NATURAL DISASTER
  1. ;;10^U^ADMINISTRATION DELAY IN THE PRIOR APPROVAL PROCESS
  1. ;;11^U^OTHER
  1. ;;01^U^PROOF OF ELIGIBILITY UNKNOWN OR UNAVALABLE
  1. ;;02^U^LITIGATION
  1. ;;03^U^AUTHORIZATION DELAYS
  1. ;;04^U^DELAY IN CERTIFYING PROVIDER
  1. ;;05^U^DELAY IN SUPPLYING BILLING FORM
  1. ;;06^U^DELAY IN DELIVERY OF CUSTOM-MADE APPLIANCES
  1. ;;07^U^THIRD PARTY PROCESSING DELAY
  1. ;;08^U^DELAY IN ELIGIBILITY DETERMINATION
  1. ;;09^U^ORIGINAL CLAIM REJECTED DENIED UNRELATED TO LIMITATION RULES
  1. ;;03^W^Report Justifying Treatment Beyond Utilization Guidelines
  1. ;;04^W^Drugs Administered
  1. ;;05^W^Treatment Diagnosis
  1. ;;06^W^Initial Assessment
  1. ;;07^W^Functional Goals
  1. ;;08^W^Plan of Treatment
  1. ;;09^W^Progress Report
  1. ;;10^W^Continued Treatment
  1. ;;11^W^Chemical Analysis
  1. ;;13^W^Certified Test Report
  1. ;;15^W^Justification for Admission
  1. ;;21^W^Recovery Plan
  1. ;;A3^W^Allergies/Sensitivities Document
  1. ;;A4^W^Autopsy Report
  1. ;;AM^W^Ambulance Certification
  1. ;;BR^W^Benchmark Testing Results
  1. ;;BS^W^Baseline
  1. ;;BT^W^Blanket Test Results
  1. ;;CB^W^Chiropractic Justification
  1. ;;CK^W^Consent Form(s)
  1. ;;D2^W^Drug Profile Document
  1. ;;DB^W^Durable Medical Equipment Prescription
  1. ;;DJ^W^Discharge Monitoring Report
  1. ;;HC^W^Health Certificate
  1. ;;HR^W^Health Clinic Records
  1. ;;I5^W^Immunization Record
  1. ;;IR^W^State School Immunization Records
  1. ;;LA^W^Laboratory Results
  1. ;;M1^W^Medical Record Attachment
  1. ;;OC^W^Oxygen Content Averaging Report
  1. ;;OD^W^Orders and Treatments Document
  1. ;;OE^W^Objective Physical Examination (including vital signs) Document
  1. ;;OX^W^Oxygen Therapy Certification
  1. ;;P4^W^Pathology Report
  1. ;;P5^W^Patient Medical History Document
  1. ;;PE^W^Parenteral or Enteral Certification
  1. ;;PQ^W^Paramedical Results
  1. ;;PY^W^Physician's Report
  1. ;;RX^W^Renewable Oxygen Content Averaging Report
  1. ;;SG^W^Symptoms Document
  1. ;;V5^W^Death Notification
  1. ;;XP^W^Photographs
  1. ;;END
  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=36,X="HEARING/VISION RX DATE"
  1. S DIC("DR")=".02////W36;.03////ABMDE301;.04////36;1////ABMDE3C"
  1. K DD,DO
  1. D ^DIC
  1. K DIC,X,DINUM,DR,DLAYGO
  1. S DIC="^ABMQUES("
  1. S DIC(0)="LM"
  1. S DLAYGO=9002274
  1. S DINUM=37,X="Start/End Disability Dates"
  1. S DIC("DR")=".02////W37;.03////ABMDE301;.04////37;1////ABMDE3C"
  1. K DD,DO
  1. D ^DIC
  1. K DIC,X,DINUM,DR,DLAYGO
  1. S DIC="^ABMQUES("
  1. S DIC(0)="LM"
  1. S DLAYGO=9002274
  1. S DINUM=38,X="Assumed/Relinquished Care Date"
  1. S DIC("DR")=".02////W38;.03////ABMDE301;.04////38;1////ABMDE3C"
  1. K DD,DO
  1. D ^DIC
  1. K DIC,X,DINUM,DR,DLAYGO
  1. S DIC="^ABMQUES("
  1. S DIC(0)="LM"
  1. S DLAYGO=9002274
  1. S DINUM=39,X="Prop/Casualty Date 1st Contact"
  1. S DIC("DR")=".02////W39;.03////ABMDE301;.04////39;1////ABMDE3C"
  1. K DD,DO
  1. D ^DIC
  1. K DIC,X,DINUM,DR,DLAYGO
  1. S DIC="^ABMQUES("
  1. S DIC(0)="LM"
  1. S DLAYGO=9002274
  1. S DINUM=40,X="Patient Paid Amount"
  1. S DIC("DR")=".02////W40;.03////ABMDE301;.04////40;1////ABMDE3C"
  1. K DD,DO
  1. D ^DIC
  1. K DIC,X,DINUM,DR,DLAYGO
  1. S DIC="^ABMQUES("
  1. S DIC(0)="LM"
  1. S DLAYGO=9002274
  1. S DINUM=41,X="Spinal Manipulation Cond Code"
  1. S DIC("DR")=".02////W41;.03////ABMDE301;.04////41;1////ABMDE3C"
  1. K DD,DO
  1. D ^DIC
  1. K DIC,X,DINUM,DR,DLAYGO
  1. S DIC="^ABMQUES("
  1. S DIC(0)="LM"
  1. S DLAYGO=9002274
  1. S DINUM=42,X="Vision Condition Info"
  1. S DIC("DR")=".02////W42;.03////ABMDE301;.04////42;1////ABMDE3C"
  1. K DD,DO
  1. D ^DIC
  1. CASHCK ;
  1. ;
  1. D BMES^XPDUTL("Checking UFMS Cashiering Sessions for .01 field....")
  1. S ABMLOC=0
  1. S ABMBFLG=0
  1. F S ABMLOC=$O(^ABMUCASH(ABMLOC)) Q:'ABMLOC D
  1. .S ABMUSER=0
  1. .F S ABMUSER=$O(^ABMUCASH(ABMLOC,10,ABMUSER)) Q:'ABMUSER D
  1. ..S ABMSESS=0
  1. ..F S ABMSESS=$O(^ABMUCASH(ABMLOC,10,ABMUSER,20,ABMSESS)) Q:'ABMSESS D
  1. ...I $P($G(^ABMUCASH(ABMLOC,10,ABMUSER,20,ABMSESS,0)),U)="" D
  1. ....S ABMBFLG=1
  1. ....S ABMAFLG=$$ACTIVCK^ABMUUTL(ABMLOC,ABMSESS,ABMUSER)
  1. ....D BMES^XPDUTL(ABMLOC_" "_ABMUSER_" "_ABMSESS_$S(ABMAFLG=1:" *",1:""))
  1. .S ABMUSER=0
  1. .F S ABMUSER=$O(^ABMUCASH(ABMLOC,20,ABMUSER)) Q:'ABMUSER D
  1. ..S ABMSESS=0
  1. ..F S ABMSESS=$O(^ABMUCASH(ABMLOC,20,ABMUSER,20,ABMSESS)) Q:'ABMSESS D
  1. ...I $P($G(^ABMUCASH(ABMLOC,20,ABMUSER,20,ABMSESS,0)),U)="" D
  1. ....S ABMBFLG=1
  1. ....S ABMAFLG=$$ACTIVCK^ABMUUTL(ABMLOC,ABMSESS,ABMUSER)
  1. ....D BMES^XPDUTL(ABMLOC_" "_ABMUSER_" "_ABMSESS_$S(ABMAFLG=1:" *",1:""))
  1. I ABMBFLG=1 D BMES^XPDUTL("Sessions found. Please contact OIT with above list")
  1. I ABMBFLG=0 D BMES^XPDUTL("Sessions checked out ok.")
  1. Q