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

ABMRSTI1.m

Go to the documentation of this file.
  1. ABMRSTI1 ; IHS/SD/SDR - Split Claim Billing (part 2);
  1. ;;2.6;IHS 3P BILLING SYSTEM;**22**;NOV 12, 2009;Build 418
  1. ;IHS/SD/SDR 2.6*22 HEAT335246 - New routine
  1. ;
  1. Q
  1. SPLTCHK ;EP
  1. ;build list of visits associated with this claim
  1. S ABMVDFN=0
  1. S ABMCDFN=ABMP("CDFN")
  1. F S ABMVDFN=$O(^ABMDCLM(DUZ(2),ABMCDFN,11,ABMVDFN)) Q:'ABMVDFN D
  1. .S ABMCSTAT=$S($P($G(^ABMDCLM(DUZ(2),ABMCDFN,0)),U,22)'="":$P($G(^ABMDCLM(DUZ(2),ABMCDFN,0)),U,22),1:"O") ;default to original if no split status
  1. .S ABMP(ABMCSTAT,ABMVDFN)=""
  1. .D BLDLST(ABMCSTAT)
  1. ;now go look for other claims with these same visits too
  1. S ABMVDFN=0
  1. F S ABMVDFN=$O(ABMP(ABMCSTAT,ABMVDFN)) Q:'ABMVDFN D
  1. .S ABMCDFN=0
  1. .F S ABMCDFN=$O(^ABMDCLM(DUZ(2),"AV",ABMVDFN,ABMCDFN)) Q:'ABMCDFN D
  1. ..I ABMP("CDFN")=ABMCDFN Q ;skip this entry, it's the claim we started with
  1. ..S ABMCSTAT=$S($P($G(^ABMDCLM(DUZ(2),ABMCDFN,0)),U,22)'="":$P($G(^ABMDCLM(DUZ(2),ABMCDFN,0)),U,22),1:"O") ;default to original if no split status
  1. ..D BLDLST(ABMCSTAT)
  1. Q
  1. BLDLST(ABMS) ;EP
  1. F ABMJ=23,35,37,43 D
  1. .S ABMJI=0
  1. .F S ABMJI=$O(^ABMDCLM(DUZ(2),ABMCDFN,ABMJ,ABMJI)) Q:'ABMJI D
  1. ..S ABMCODE=$P($G(^ABMDCLM(DUZ(2),ABMCDFN,ABMJ,ABMJI,0)),U)
  1. ..I ABMJ=23 D
  1. ...S ABMCODE=$S($P($G(^ABMDCLM(DUZ(2),ABMCDFN,ABMJ,ABMJI,0)),U,6)'="":$P(^(0),U,6),$P($G(^ABMDCLM(DUZ(2),ABMCDFN,ABMJ,ABMJI,0)),U,22):$$GET1^DIQ(52,$P($G(^ABMDCLM(DUZ(2),ABMCDFN,ABMJ,ABMJI,0)),U,22),".01","E"),1:ABMJI_"NORX#") ;RX#
  1. ...S ABMDESC=$$GET1^DIQ(50,$P($G(^ABMDCLM(DUZ(2),ABMCDFN,ABMJ,ABMJI,0)),U),".01","E")
  1. ..I ABMJ'=23 D
  1. ...S ABMCODE=$P($$CPT^ABMCVAPI($P($G(^ABMDCLM(DUZ(2),ABMCDFN,ABMJ,ABMJI,0)),U),$P($G(^ABMDCLM(DUZ(2),ABMCDFN,0)),U,2)),U,2)
  1. ...S ABMDESC=$P($$CPT^ABMCVAPI(ABMCODE,$P($G(^ABMDCLM(DUZ(2),ABMCDFN,0)),U,2)),U,3)
  1. ..S ABMMULT=$S(ABMJ=23:"8D",ABMJ=35:"8F",ABMJ=37:"8E",ABMJ="43":"8H",1:"8H")
  1. ..S ABMCK(ABMS,ABMCDFN,ABMMULT,ABMJI,ABMCODE)=ABMDESC
  1. Q
  1. VSTDISP ;EP
  1. W !
  1. F I=1:1:80 W "="
  1. W !,"Visit Info:",!
  1. W "PG (IEN)",?15,"REF#",?40,"DESCRIPTION",!
  1. F I=1:1:80 W "-"
  1. S ABMPGE=""
  1. F S ABMPGE=$O(ABMP("VDETAIL",ABMPGE)) Q:$G(ABMPGE)="" D
  1. .S ABMVFILE=""
  1. .F S ABMVFILE=$O(ABMP("VDETAIL",ABMPGE,ABMVFILE)) Q:$G(ABMVFILE)="" D
  1. ..S ABMVIEN=0
  1. ..F S ABMVIEN=$O(ABMP("VDETAIL",ABMPGE,ABMVFILE,ABMVIEN)) Q:'ABMVIEN D
  1. ...W !,ABMPGE_" ("_ABMVIEN_")"
  1. ...;
  1. ...I ABMVFILE["VRAD" D
  1. ....S ABMREC=$$GET1^DIQ(81,$$GET1^DIQ(71,$P(@ABMVFILE@(ABMVIEN,0),U),"9","E"),".01","E")
  1. ....S ABMREC=ABMREC_U_$$GET1^DIQ(71,$P(@ABMVFILE@(ABMVIEN,0),U),".01","E")
  1. ...;
  1. ...I ABMVFILE["VMED" D
  1. ....S ABMR("X")=$O(^PSRX("APCC",ABMVIEN,""))
  1. ....I ABMR("X")'="" D
  1. .....S ABMR("RX")=$P($G(^PSRX(ABMR("X"),0)),U)
  1. .....S ABMR2=$G(^PSRX(ABMR("X"),2))
  1. .....S ABMR("RTS")=$P(ABMR2,"^",15)
  1. ....I ABMR("X")="" S ABMR("RX")=$S($P($G(@ABMVFILE@(ABMVIEN,11)),U,2):$P($G(@ABMVFILE@(ABMVIEN,11)),U,2),1:"NO RX")
  1. ....S ABMREC=$S($P(@ABMVFILE@(ABMVIEN,0),U,8)'="":"(dd)",$G(ABMR("RTS"))'="":"(rts)",1:"")_ABMR("RX") ;rx#
  1. ....S ABMNDC=$S($$GET1^DIQ(50,$P(@ABMVFILE@(ABMVIEN,0),U),"31","E")'="":$$GET1^DIQ(50,$P(@ABMVFILE@(ABMVIEN,0),U),"31","E"),1:"")
  1. ....S ABMREC=ABMREC_U_$S(ABMNDC'="":ABMNDC_" ",1:"")_$$GET1^DIQ(50,$P(@ABMVFILE@(ABMVIEN,0),U),".01","E")
  1. ...;
  1. ...I ABMVFILE["VLAB" D
  1. ....S ABMREC=$P($P($G(@ABMVFILE@(ABMVIEN,14)),U,2),"|")
  1. ....I ABMREC="" S ABMREC="NOCPT"
  1. ....S ABMREC=ABMREC_U_$E($$GET1^DIQ(60,$P(@ABMVFILE@(ABMVIEN,0),U),".01","E"),1,30)
  1. ...;
  1. ...I ABMVFILE["VCPT" D
  1. ....S ABMREC=$$GET1^DIQ(81,$P(@ABMVFILE@(ABMVIEN,0),U),".01","E")
  1. ....S ABMREC=ABMREC_U_$E($P($$CPT^ABMCVAPI($P(@ABMVFILE@(ABMVIEN,0),U),$P($G(^ABMDCLM(DUZ(2),ABMP("CDFN"),0)),U,2)),U,3),1,60)
  1. ...;
  1. ...W ?15,$P(ABMREC,U) ;cpt/rx#
  1. ...W ?29,$E($P(ABMREC,U,2),1,50) ;description
  1. Q
  1. CLMDISP ;EP
  1. W !!
  1. F I=1:1:80 W "="
  1. W !,"Claims:"
  1. W !,"O/S",?6,"CLM#",?18,"PG",?21,"REF#",?35,"DESC",!
  1. F I=1:1:80 W "-"
  1. S ABMS=""
  1. F S ABMS=$O(ABMCK(ABMS)) Q:$G(ABMS)="" D
  1. .S ABMCDFN=0
  1. .F S ABMCDFN=$O(ABMCK(ABMS,ABMCDFN)) Q:'ABMCDFN D
  1. ..W !,$S(ABMS="O":"Orig",1:"Splt"),?6,ABMCDFN
  1. ..S ABMJ=""
  1. ..F S ABMJ=$O(ABMCK(ABMS,ABMCDFN,ABMJ)) Q:$G(ABMJ)="" D
  1. ...S ABMJI=0
  1. ...F S ABMJI=$O(ABMCK(ABMS,ABMCDFN,ABMJ,ABMJI)) Q:'ABMJI D
  1. ....S ABMCODE=""
  1. ....F S ABMCODE=$O(ABMCK(ABMS,ABMCDFN,ABMJ,ABMJI,ABMCODE)) Q:$G(ABMCODE)="" D
  1. .....W ?18,ABMJ,?21,$S(ABMCODE["NORX":"NO RX",1:ABMCODE),?33,$G(ABMCK(ABMS,ABMCDFN,ABMJ,ABMJI,ABMCODE)),!
  1. Q