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

ABMDE1.m

Go to the documentation of this file.
  1. ABMDE1 ; IHS/ASDST/DMJ - CLAIM IDENTIFIERS-SCRN 1 ;
  1. ;;2.6;IHS 3P BILLING SYSTEM**9,10,22**;;NOV 12, 2009;Build 418
  1. ;
  1. ; IHS/SD/SDR - v2.5 p8 - task 8 - Added code to check when VT changes to check for replacement insurer
  1. ; IHS/SD/SDR - v2.5 p11 - IM22787 - Fix for replacement insurer
  1. ; IHS/SD/SDR - 2.6*9 - HEAT28364 - changed replacement insurer to use LDFN not DUZ(2)
  1. ;IHS/SD/SDR 2.6*22 HEAT335246 - Added AUTO-SPLIT tag to claim number if AUTO-SPLIT claim
  1. ;
  1. OPT K ABM,ABMV,ABME
  1. S ABMP("OPT")="EVNJBQ"
  1. S ABMP("C0")=^ABMDCLM(DUZ(2),ABMP("CDFN"),0)
  1. S ABMP("VTYP")=$P(ABMP("C0"),U,7)
  1. D DISP
  1. W !
  1. D SEL^ABMDEOPT
  1. I "EV"'[$E(Y) G XIT
  1. G XIT:$D(DTOUT)!$D(DUOUT)!$D(DIROUT)
  1. I $E(Y)="V" D ^ABMDE1A G OPT
  1. I $E(Y)="C" D ^ABMDECK G XIT:$D(ABMP("OVER")),OPT
  1. ;
  1. EDIT ; Entry of Claim Identifiers
  1. S ABMP("FLDS")=8
  1. D FLDS^ABMDEOPT
  1. W !
  1. G XIT:$D(DTOUT)!$D(DUOUT)!$D(DIROUT)
  1. S DR=""
  1. F ABM("I")=1:1 S ABM=$P(ABMP("FLDS"),",",ABM("I")) Q:ABM="" D
  1. .S:ABM("I")>1 DR=DR_";"
  1. .S DR=DR_$P($T(@ABM),";;",2)
  1. S DIE="^ABMDCLM(DUZ(2),"
  1. S DA=ABMP("CDFN")
  1. D ^DIE
  1. ;edited visit type-check if it should mimic a different insurer/vt
  1. I DR[".07" D TPICHECK
  1. K DR
  1. G OPT
  1. ;
  1. DISP ;
  1. S ABMZ("TITL")="CLAIM IDENTIFIERS"
  1. S ABMZ("PG")=1
  1. I '$D(ABMP("DDL")) D SUM^ABMDE1 I 1
  1. E S ABMC("CONT")="" D PAUSE^ABMDE1 G:$D(DUOUT)!$D(DTOUT)!$D(DIROUT) XIT
  1. ;
  1. D ^ABMDE1X
  1. ;
  1. W !?17,"[1] Clinic.............: ",ABM(6)
  1. W !?17,"[2] Visit Type.........: ",ABM(7)
  1. W !?17,"[3] Bill Type..........: ",ABM(12)
  1. W !?17,"[4] Billing From Date..: ",ABM(71)
  1. W !?17,"[5] Billing Thru Date..: ",ABM(72)
  1. W !?17,"[6] Super Bill #.......: ",ABM(11)
  1. W !?17,"[7] Mode of Export.....: ",$P($G(^ABMDEXP(+$G(ABMP("EXP")),0)),U)
  1. W !?17,"[8] Visit Location.....: ",$P($G(^DIC(4,+ABM(3),0)),U)
  1. D CNT^ABMDERR
  1. I ABM("ERR")>0 S ABM("ERROR")=""
  1. I +$O(ABME(0)) D
  1. .S ABME("CONT")=""
  1. .D ^ABMDERR
  1. .K ABME("CONT")
  1. Q
  1. ;
  1. ; Entry of Claim Identifiers
  1. 1 ;;.06T
  1. 2 ;;.07T
  1. 3 ;;.12T
  1. 4 ;;.71T
  1. 5 ;;.72T
  1. 6 ;;.11T
  1. 7 ;;.14T
  1. 8 ;;.03[8] Visit Location..
  1. ;
  1. XIT ;
  1. S ABMP("C0")=^ABMDCLM(DUZ(2),ABMP("CDFN"),0)
  1. K ABM,ABMV,ABME
  1. Q
  1. ;
  1. PAUSE ;EP - Entry Point for Page Pause and Header
  1. I $D(ABMC("CONT")),$D(ABMP("DDL")) D G S4
  1. .K ABMC("CONT")
  1. .W $$EN^ABMVDF("IOF")
  1. I $E(IOST)="C",'$D(IO("S")) D I $D(ABMP("DDL")) Q:$D(DUOUT)!$D(DTOUT)!$D(DIROUT)!$D(ABME("QUIT"))
  1. . K DIR
  1. . S DIR(0)="EO"
  1. . D ^DIR
  1. . K DIR
  1. W $$EN^ABMVDF("IOF")
  1. I $D(ABMP("DDL")) G S4
  1. I $D(ABMC("ERR")) G SUM
  1. Q
  1. ;
  1. SUM ;EP - Entry Point for Page Header Summary
  1. I $D(ABMP("DDL")) G S3
  1. W $$EN^ABMVDF("IOF")
  1. S2 ;
  1. W !
  1. S ABM("D")=""
  1. S ABM("PG")=" PAGE "_ABMZ("PG")_" "
  1. S $P(ABM("D"),"~",(80-$L(ABM("PG"))/2)+1)=""
  1. W ABM("D"),ABM("PG"),ABM("D"),!
  1. W "Patient: ",$P(^DPT(ABMP("PDFN"),0),U)
  1. ;
  1. HRN ;
  1. I ABMP("LDFN")]"" D
  1. . W " ",$S($D(^AUPNPAT(ABMP("PDFN"),41,ABMP("LDFN"),0)):" [HRN:"_$P(^(0),U,2)_"]",1:" [no HRN]")
  1. ;W ?59,"Claim Number: ",ABMP("CDFN"),! ;abm*2.6*10 ICD10 008
  1. I $P($G(^ABMDCLM(DUZ(2),ABMP("CDFN"),0)),U,22)="S" W ?53,"SPLIT Claim Number: ",ABMP("CDFN"),! ;abm*2.6*10 ICD10 008
  1. I $P($G(^ABMDCLM(DUZ(2),ABMP("CDFN"),0)),U,22)="A" W ?53,"AUTOSPLIT Claim#: ",ABMP("CDFN"),! ;abm*2.6*22 IHS/SD/SDR HEAT335246
  1. ;I $P($G(^ABMDCLM(DUZ(2),ABMP("CDFN"),0)),U,22)'="S" W ?59,"Claim Number: ",ABMP("CDFN"),! ;abm*2.6*10 ICD10 008 ;abm*2.6*22 HEAT335246
  1. I "^A^S^"'[("^"_$P($G(^ABMDCLM(DUZ(2),ABMP("CDFN"),0)),U,22)_"^") W ?59,"Claim Number: ",ABMP("CDFN"),! ;abm*2.6*10 ICD10 008 ;abm*2.6*22 HEAT335246
  1. I +ABMZ("PG")=8 D
  1. .W "Mode of Export: ",$P($G(^ABMDEXP(ABMP(ABMZ("PG")),0)),U),!
  1. S ABM("D")=""
  1. S ABM("TITL")=" ("_ABMZ("TITL")_") "
  1. S $P(ABM("D"),".",(80-$L(ABM("TITL"))/2)+1)=""
  1. W ABM("D"),ABM("TITL"),ABM("D"),!
  1. Q
  1. ;
  1. S3 ;
  1. S ABM("D")=""
  1. S ABM("TITL")=" (PAGE "_ABMZ("PG")_" - "_ABMZ("TITL")_") "
  1. S $P(ABM("D"),".",(80-$L(ABM("TITL"))/2)+1)=""
  1. W !,ABM("D"),ABM("TITL"),ABM("D"),!
  1. Q
  1. ;
  1. S4 ;
  1. W !
  1. S ABM("D")=""
  1. S ABM("PG")=" DETAILED CLAIM LISTING "
  1. S $P(ABM("D"),"~",(80-$L(ABM("PG"))/2)+1)=""
  1. W ABM("D"),ABM("PG"),ABM("D"),!
  1. ;W "Patient: ",$P(^DPT(ABMP("PDFN"),0),U),?59,"Claim Number: ",ABMP("CDFN"),! ;abm*2.6*10 ICD10 008
  1. W "Patient: ",$P(^DPT(ABMP("PDFN"),0),U) ;abm*2.6*10 ICD10 008
  1. W ?59,"Claim Number: ",ABMP("CDFN"),! ;abm*2.6*10 ICD10 008
  1. S ABM("D")=""
  1. S ABM("TITL")=" (PAGE "_ABMZ("PG")_" - "_ABMZ("TITL")_") "
  1. S $P(ABM("D"),".",(80-$L(ABM("TITL"))/2)+1)=""
  1. W ABM("D"),ABM("TITL"),ABM("D"),!
  1. Q
  1. TPICHECK ;EP
  1. S ABMDVTCK=$P($G(^ABMDCLM(DUZ(2),ABMP("CDFN"),0)),U,7) ;vt
  1. ;loop thru insurers on claim removing existing replacments
  1. S ABMINSI=0
  1. F S ABMINSI=$O(^ABMDCLM(DUZ(2),ABMP("CDFN"),13,ABMINSI)) Q:+ABMINSI=0 D
  1. .S ABMINS=$P($G(^ABMDCLM(DUZ(2),ABMP("CDFN"),13,ABMINSI,0)),U)
  1. .D RMVRPLC ;remove replacement insurer from claim
  1. .I ABMP("INS")=ABMINS D ;this is the active insurer; check for replacement
  1. ..S ABMVTEDT="",ABMVFLG=0
  1. ..;F S ABMVTEDT=$O(^ABMNINS(DUZ(2),ABMINS,1,ABMDVTCK,12,"B",ABMVTEDT),-1) Q:ABMVTEDT="" D Q:ABMVFLG=1 ;abm*2.6*9 HEAT28364
  1. ..F S ABMVTEDT=$O(^ABMNINS(ABMP("LDFN"),ABMINS,1,ABMDVTCK,12,"B",ABMVTEDT),-1) Q:ABMVTEDT="" D Q:ABMVFLG=1 ;abm*2.6*9 HEAT28364
  1. ...S ABMVIEN=0
  1. ...;F S ABMVIEN=$O(^ABMNINS(DUZ(2),ABMINS,1,ABMDVTCK,12,"B",ABMVTEDT,ABMVIEN)) Q:ABMVIEN="" D Q:ABMVFLG=1 ;abm*2.6*9 HEAT28364
  1. ...F S ABMVIEN=$O(^ABMNINS(ABMP("LDFN"),ABMINS,1,ABMDVTCK,12,"B",ABMVTEDT,ABMVIEN)) Q:ABMVIEN="" D Q:ABMVFLG=1 ;abm*2.6*9 HEAT28364
  1. ....;I $P($G(^ABMNINS(DUZ(2),ABMINS,1,ABMDVTCK,12,ABMVIEN,0)),U,2)="" S ABMVFLG=1 Q ;abm*2.6*9 HEAT28364
  1. ....I $P($G(^ABMNINS(ABMP("LDFN"),ABMINS,1,ABMDVTCK,12,ABMVIEN,0)),U,2)="" S ABMVFLG=1 Q ;abm*2.6*9 HEAT28364
  1. ....;I $P($G(^ABMNINS(DUZ(2),ABMINS,1,ABMDVTCK,12,ABMVIEN,0)),U,2)'="",($P(^ABMNINS(DUZ(2),ABMINS,1,ABMDVTCK,12,ABMVIEN,0),U,2))>($P($G(^ABMDCLM(DUZ(2),ABMP("CDFN"),7)),U,2)) S ABMVFLG=1 Q ;abm*2.6*9 HEAT28364
  1. ....I $P($G(^ABMNINS(ABMP("LDFN"),ABMINS,1,ABMDVTCK,12,ABMVIEN,0)),U,2)'="",($P(^ABMNINS(DUZ(2),ABMINS,1,ABMDVTCK,12,ABMVIEN,0),U,2))>($P($G(^ABMDCLM(DUZ(2),ABMP("CDFN"),7)),U,2)) S ABMVFLG=1 Q ;abm*2.6*9 HEAT28364
  1. ..Q:ABMVFLG=0 ;no replacement--quit
  1. ..;change active insurer
  1. ..S DA=ABMP("CDFN")
  1. ..S DIE="^ABMDCLM(DUZ(2),"
  1. ..;S DR=".08////"_$P($G(^ABMNINS(DUZ(2),ABMINS,1,ABMDVTCK,12,ABMVIEN,0)),U,3) ;abm*2.6*9 HEAT28364
  1. ..S DR=".08////"_$P($G(^ABMNINS(ABMP("LDFN"),ABMINS,1,ABMDVTCK,12,ABMVIEN,0)),U,3) ;abm*2.6*9 HEAT28364
  1. ..D ^DIE
  1. ..;
  1. ..S DA(1)=ABMP("CDFN")
  1. ..S DIE="^ABMDCLM(DUZ(2),"_DA(1)_",13,"
  1. ..S DA=ABMINSI
  1. ..;S DR=".011////"_$P($G(^ABMNINS(DUZ(2),ABMINS,1,ABMDVTCK,12,ABMVIEN,0)),U,3) ;abm*2.6*9 HEAT28364
  1. ..S DR=".011////"_$P($G(^ABMNINS(ABMP("LDFN"),ABMINS,1,ABMDVTCK,12,ABMVIEN,0)),U,3) ;abm*2.6*9 HEAT28364
  1. ..D ^DIE
  1. D ^ABMDEVAR
  1. Q
  1. RMVRPLC ; if there's a replacement, is it the active insurer
  1. I ABMP("INS")=$P($G(^ABMDCLM(DUZ(2),ABMP("CDFN"),13,ABMINSI,0)),U,11) D
  1. .S DA=ABMP("CDFN")
  1. .S DIE="^ABMDCLM(DUZ(2),"
  1. .S DR=".08////"_$P($G(^ABMDCLM(DUZ(2),ABMP("CDFN"),13,ABMINSI,0)),U)
  1. .D ^DIE
  1. .S ABMP("INS")=$P($G(^ABMDCLM(DUZ(2),ABMP("CDFN"),0)),U,8)
  1. ;remove replacement
  1. S DA(1)=ABMP("CDFN")
  1. S DIE="^ABMDCLM(DUZ(2),"_DA(1)_",13,"
  1. S DA=ABMINSI
  1. S DR=".011////@"
  1. D ^DIE
  1. Q