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

ABMDICST.m

Go to the documentation of this file.
  1. ABMDICST ; IHS/SD/TPF - Pending Claims Status Report ; JUN 29, 2005
  1. ;;2.6;IHS 3P BILLING SYSTEM;;NOV 12, 2009
  1. ;
  1. ; IHS/SD/SDR - V2.5 P10 - IM21520
  1. ; Added code to allow no date range selection
  1. ;
  1. EN ;EP - PENDING CLAIMS STATUS REPORT
  1. K ABM,ABMY
  1. S ABM("RTYP")=1,ABM("RTYP","NM")="BRIEF LISTING (80 Width)"
  1. S ABM("STA")="P"
  1. ;cancelled claims
  1. S ABM("DT")="V" ;by visit date
  1. S ABM("SORT")="C"
  1. S ABM("L")=DUZ(2)
  1. S ABM("STA","NM")="PENDING STATUS"
  1. S ABM("REASON")="PEND" ;flag for RTYP^ABMDRSL2 to not ask for EXTENDED
  1. SEL S ABM("NODX")="" D ^ABMDRSEL Q:$D(DTOUT)!$D(DUOUT)!$D(DIROUT)
  1. S ABM("HD",0)="PENDING CLAIMS STATUS LISTING"
  1. D ^ABMDRHD
  1. S ABMQ("RC")="COMPUTE^ABMDICST",ABMQ("RX")="POUT^ABMDRUTL",ABMQ("NS")="ABM"
  1. S ABMQ("RP")="PRINT^ABMDPST"_ABM("RTYP")
  1. D ^ABMDRDBQ
  1. Q
  1. ;
  1. COMPUTE ;EP - Entry Point for Setting up Data
  1. S ABM("SUBR")="ABM-ICS" K ^TMP("ABM-ICS",$J) Q:'$D(ABM("STA")) S ABM("PG")=0
  1. D SLOOP
  1. Q
  1. SLOOP ;EP - LOOP TO PULL PENDING CLAIMS
  1. I $D(ABMY("DT")) D Q
  1. .S ABM("RD")=ABMY("DT",1)-1
  1. .F S ABM("RD")=$O(^ABMDCLM(DUZ(2),"AD",ABM("RD"))) Q:'+ABM("RD")!($P(ABM("RD"),".")>ABMY("DT",2)) D
  1. ..S ABM=""
  1. ..F S ABM=$O(^ABMDCLM(DUZ(2),"AD",ABM("RD"),ABM)) Q:'ABM D DATA
  1. S ABMP=0
  1. F S ABMP=$O(^ABMDCLM(DUZ(2),"AS",ABMP)) Q:ABMP="" D
  1. .S ABM=0
  1. .F S ABM=$O(^ABMDCLM(DUZ(2),"AS",ABMP,ABM)) Q:'ABM D DATA
  1. Q
  1. ;
  1. DATA ;EP - COMPILE DATA FOR PENDING CLAIM STATUS
  1. S ABMP("HIT")=0
  1. D INCOM^ABMDRCHK(ABM,.ABM,.ABMY)
  1. Q:'ABMP("HIT")
  1. S ABM("SORT")=$S($G(ABMY("SORT"))="C":$G(ABM("CLINIC")),1:$G(ABM("VISIT TYPE")))
  1. S:ABM("SORT")="" ABM("SORT")="UNDEFINED"
  1. S ABM("HRN")=$S($G(ABM("PATIENT"))'="":$P($G(^AUPNPAT(ABM("PATIENT"),41,ABM("L"),0)),U,2),1:"UNDEFINED")
  1. S ABM("LOCATION NAME")=$S($G(ABM("LOCATION"))'="":$P($G(^DIC(4,ABM("LOCATION"),0)),U),1:"UNDEFINED")
  1. S SUBSCRIP=$G(ABM("LOCATION NAME"))_U_$G(ABM("SORT"))
  1. S SUBSCRIP=SUBSCRIP_U_$S($G(ABM("PATIENT"))="":"",1:$P($G(^DPT(ABM("PATIENT"),0)),U))
  1. S SUBSCRIP=SUBSCRIP_U_$G(ABM("HRN"))_U_$G(ABM)_U_$G(ABM("VISIT TYPE"))
  1. S SUBSCRIP=SUBSCRIP_U_$G(ABM("CLINIC"))_U_$G(ABM("PS REASON"))_U_$G(ABM("VISIT DATE"))
  1. S SUBSCRIP=SUBSCRIP_U_$G(ABM("ACTIVE INSURER"))_U_$G(ABM("PS UPDATER"))
  1. S ^TMP("ABM-ICS",$J,SUBSCRIP)=""
  1. S ABM("ST",ABM("LOCATION NAME"),ABM("PS UPDATER"),ABM("SORT"),ABM("ACTIVE INSURER"),ABM("PS REASON"))=+$G(ABM("ST",ABM("LOCATION NAME"),ABM("PS UPDATER"),ABM("SORT"),ABM("ACTIVE INSURER"),ABM("PS REASON")))+1
  1. Q
  1. ;CALL THIS TAG TO SET UP SOME CLAIMS FOR TESTING
  1. TEST ;
  1. S CNT=0
  1. S FAC=0
  1. F S FAC=$O(^ABMDCLM(FAC)) Q:'FAC D
  1. .S CLAIM=0,CNT=0
  1. .F S CLAIM=$O(^ABMDCLM(FAC,CLAIM)) Q:'CLAIM!(CNT>30) D
  1. ..S RANDUZ=$R(400)
  1. ..Q:RANDUZ=0
  1. ..Q:'$D(^VA(200,RANDUZ))
  1. ..S RANREAS=$R(18)
  1. ..Q:RANREAS=0
  1. ..Q:'$D(^ABMPSTAT(RANREAS))
  1. ..S CNT=CNT+1
  1. ..S $P(^ABMDCLM(FAC,CLAIM,0),U,4)="P"
  1. ..S $P(^ABMDCLM(FAC,CLAIM,0),U,19)=RANDUZ
  1. ..S $P(^ABMDCLM(FAC,CLAIM,0),U,18)=RANREAS
  1. ..W !,FAC,"--",CLAIM
  1. Q
  1. QPRT ;
  1. S FAC=0
  1. F S FAC=$O(^ABMDCLM(FAC)) Q:'FAC D
  1. .S CLAIM=0
  1. .F S CLAIM=$O(^ABMDCLM(FAC,CLAIM)) Q:'CLAIM D
  1. ..I $P($G(^ABMDCLM(FAC,CLAIM,0)),U,19)'="",($P($G(^ABMDCLM(FAC,CLAIM,0)),U,4)="P") D
  1. ...W !,FAC,"--",CLAIM,"--",$P($G(^ABMDCLM(FAC,CLAIM,0)),U,2)
  1. ...W:$P(^ABMDCLM(FAC,CLAIM,0),U,18)="" "*"
  1. Q