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

ABMDE0A.m

Go to the documentation of this file.
  1. ABMDE0A ; IHS/ASDST/DMJ - Claim Summary-Part 2 ;
  1. ;;2.6;IHS 3P BILLING SYSTEM;;NOV 12, 2009
  1. ;
  1. ; IHS/SD/SDR 10/10/02 - V2.5 P2 - OVA-0801-190113
  1. ; Modified so Number of Errors Found field would be populated with
  1. ; a number instead of "Y"
  1. ;
  1. ; IHS/SD/SDR - v2.5 p9 - task 2
  1. ; Added code for warning message if Immunization CPT exists
  1. ;
  1. ; *********************************************************************
  1. DISP ;EP - Entry Point from ABMDE0 for displaying claim summary
  1. S ABMZ("TITL")="CLAIM SUMMARY"
  1. S ABMZ("PG")=0
  1. D SUM^ABMDE1
  1. I ABM("CNT2")>13&(ABM("CNT3")+ABM("CNT1")<14) D
  1. .S ABM("CNT2")=ABM("CNT2")-ABM("CNT3")
  1. .S ABM("CNT1")=ABM("CNT1")+ABM("CNT3")
  1. .S ABM("CNT3")=9
  1. D IDEN^ABMDE0B
  1. S ABM("C")=$S(ABM("CNT1")<12:7,1:6)
  1. D INS^ABMDE0B
  1. S ABM("C")=$S(ABM("CNT1")<12:ABM("C")+1,1:ABM("C"))
  1. D QUES^ABMDE0B
  1. S ABM("C2")=0
  1. F ABM="ACC","EMRG","PROG","EMPL" I @("ABM("""_ABM_""")")="YES" D
  1. .S ABM("C2")=ABM("C2")+1
  1. .S ABMZ(ABM("C"))=$S(ABM("C2")#2=1:"W !",1:ABMZ(ABM("C"))_",?20")_$P($T(@ABM),";;",2)
  1. .I ABM("C2")#2=0 D
  1. ..S ABMZ(ABM("C"))=ABMZ(ABM("C"))_",?40,""|"""
  1. ..D CNT
  1. I ABM("C2")#2=1 D
  1. .S ABMZ(ABM("C"))=ABMZ(ABM("C"))_",?40,""|"""
  1. .D CNT
  1. S ABM=$S(ABM("OPRV")]"":3,1:2)
  1. I ABM("CNT3")'=9 S ABM("C")=1
  1. I ABM("C")+ABM>14 S ABM("C")=1
  1. F ABM("I")=0:1:ABM-1 D
  1. .S ABMZ(ABM("C"))=$S(ABM("C")<5:ABMZ(ABM("C")),1:"W !")_$P($T(PRV+ABM("I")),";;",2)_$S(ABM("C")<5:"",1:",?40,""|""")
  1. .D CNT
  1. I ABM("C")>9 S ABM("C")=1
  1. F ABM("I")=4:1:13 S:'$D(ABMZ(ABM("I"))) ABMZ(ABM("I"))="W !?40,""|"""
  1. I ABMP("VTYP")=998&'$D(ABMP("FLAT")) G PRC
  1. S ABM("C")=$S(ABM("C")=1:1,ABM("CNT2")<6:ABM("C")+3,ABM("CNT2")<9:ABM("C")+2,ABM("CNT2")<12:ABM("C")+1,1:ABM("C"))
  1. F ABM("I")=0:1:5 D
  1. .I ABM("I")<1!($D(ABM("D"_ABM("I")))) D
  1. ..S ABMZ(ABM("C"))=ABMZ(ABM("C"))_$P($T(DX+ABM("I")),";;",2)
  1. ..D CNT
  1. ;
  1. PRC ;
  1. S ABM("C")=$S(ABM("C")=1:1,ABM("CNT2")<6:ABM("C")+3,ABM("CNT2")<8:ABM("C")+2,ABM("CNT2")<12:ABM("C")+1,1:ABM("C"))
  1. S ABMZ(ABM("C"))=ABMZ(ABM("C"))_",""_______"_$S(ABMP("VTYP")=998&'$D(ABMP("FLAT")):" Pg-6 (Dental Services) ",ABMP("PX")="C":"_ Pg-8 (CPT Procedures) _",1:" Pg-5B (ICD Procedures) ")_"_______"""
  1. D CNT
  1. F ABM("I")=1:1:12 Q:ABM("C")>12 D
  1. .I $D(ABM("P"_ABM("I"))) D
  1. ..S ABMZ(ABM("C"))=ABMZ(ABM("C"))_","_""" "_ABM("I")_") "_ABM("P"_ABM("I"))_""""
  1. ..D CNT
  1. I ABM("C")>12,$D(ABM("P"_ABM("I"))) S ABMZ(13)=ABMZ(13)_","_$S('$D(ABM("P"_(ABM("I")+1))):""" "_ABM("I")_") "_ABM("P"_ABM("I"))_"""",1:""" *** additional procedures exist ***""")
  1. ;
  1. S ABMZ(14)="W !,""________________________________________|_______________________________________"""
  1. F ABM("I")=1:1:14 X ABMZ(ABM("I"))
  1. ;
  1. I +$O(ABME(0)) D
  1. .S ABME("CHK")=""
  1. .D ^ABMDERR
  1. .I $P(^ABMDCLM(DUZ(2),ABMP("CDFN"),0),U,5)'=0 D
  1. ..S DIE="^ABMDCLM(DUZ(2),"
  1. ..S DA=ABMP("CDFN")
  1. ..S DR=".05////"_$G(ABM("ERR"))
  1. ..D ^DIE
  1. ..K DR
  1. I $P($G(^ABMDCLM(DUZ(2),ABMP("CDFN"),4)),U,2)="Y" D
  1. .W !,"***PCC Data was Edited without automatic Claim Update (check claim accuracy)***"
  1. .S DIE="^ABMDCLM(DUZ(2),"
  1. .S DA=ABMP("CDFN")
  1. .S DR=".42///@"
  1. .D ^DIE
  1. .K DR
  1. I $P(^ABMDCLM(DUZ(2),ABMP("CDFN"),0),U,4)="U" D Q
  1. .W *7,!?5
  1. .W "Claim is CLOSED until a Payment is Posted for the Billed Insurer."
  1. I $P(^ABMDCLM(DUZ(2),ABMP("CDFN"),0),U,4)="X" D Q
  1. .W *7,!?5
  1. .W "Claim is CLOSED and therefore uneditable."
  1. ;
  1. DUP ;check for duplicate claims
  1. S ABMPV=$O(^ABMDCLM(DUZ(2),ABMP("CDFN"),11,"AC","P",0))
  1. S I=0 F S I=$O(^ABMDCLM(I)) Q:'I D
  1. .Q:'ABMPV
  1. .Q:I=DUZ(2)
  1. .Q:'$D(^ABMDCLM(I,"AV",ABMPV))
  1. .S ABMCLNM=$O(^ABMDCLM(I,"AV",ABMPV,0))
  1. .W !,*7,"WARNING: Potential duplicate claim detected. Claim number "
  1. .W ABMCLNM,!,"Location ",$P(^DIC(4,I,0),U)
  1. K ABMCLNM,ABMPV
  1. I $P(^ABMDCLM(DUZ(2),ABMP("CDFN"),0),U,5) W *7,!?5,"*** Claim File ERRORS exist use the VIEW command to list them. ***"
  1. ;
  1. F ABMCPT=90656,90658,90732,90746,90747,"G0008","G0009","G0010" S ABMLIST(ABMCPT)=""
  1. I $G(ABMVDFN)'="" S ABMCFLG=$$CPTCHK^ABMCPTCK(ABMVDFN,.ABMLIST)
  1. I $G(ABMCFLG)=1,$P($G(^AUTNINS(ABMP("INS"),0)),U)["MEDICARE" W !!,"THESE SERVICES MUST BE ITEMIZED AND BILLED SEPARATELY FROM THE ALL-INCLUSIVE RATE VISIT",!
  1. K ABMLIST
  1. XIT ;
  1. Q
  1. ;
  1. EMRG ;;,"Emrg Related: ",ABM("EMRG")
  1. PROG ;;,"Spcl Program: ",ABM("PROG")
  1. ACC ;;,"Accident Rel: ",ABM("ACC")
  1. EMPL ;;,"Empl Related: ",ABM("EMPL")
  1. ;
  1. PRV ;;,"__________ Pg-4 (Providers) ___________"
  1. ;;," Attn: ",ABM("APRV")
  1. ;;," Oper: ",ABM("OPRV")
  1. ;
  1. DX ;;,"__________ Pg-5A (Diagnosis) __________"
  1. ;;," 1) ",ABM("D1")
  1. ;;," 2) ",ABM("D2")
  1. ;;," 3) ",ABM("D3")
  1. ;;," 4) ",ABM("D4")
  1. ;;," 5) ",ABM("D5")
  1. ;
  1. CNT S ABM("C")=ABM("C")+1
  1. Q