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

ABMECDS2.m

Go to the documentation of this file.
  1. ABMECDS2 ; IHS/ASDST/DMJ - ELECTRONIC CLAIMS DISPLAY (SUMMARY) ;
  1. ;;2.6;IHS 3P BILLING SYSTEM;**19**;NOV 12, 2009;Build 300
  1. ;IHS/SD/SDR - 2.6*19 - HEAT138428 - Split routine from ABMECDSP. Made changes for clearinghouse so it will create
  1. ; one file for each visit location.
  1. ; *********************************************************************
  1. ;
  1. DISP ;
  1. ; Display summary data
  1. S ABMSUMPG=1
  1. K ABMORE
  1. W !
  1. D SUMHEAD^ABMECDSP ;Write summary page column headers
  1. ;start old abm*2.6*6 5010
  1. ;S ABMSEQ=0 ;Sequence number
  1. ;S ABMINS("IEN")=0 ;Activer insurer IEN
  1. ;F S ABMINS("IEN")=$O(^TMP($J,"S",ABMINS("IEN"))) Q:'ABMINS("IEN") D Q:+ABMEQUIT
  1. ;.S ABMINS=$E($P($G(^AUTNINS(ABMINS("IEN"),0)),U),1,30) ; Insurer
  1. ;.S ABMVTYPE=0 ;Bill type
  1. ;.F S ABMVTYPE=$O(^TMP($J,"S",ABMINS("IEN"),ABMVTYPE)) Q:'ABMVTYPE D Q:+ABMEQUIT
  1. ;..S ABMEXP=0 ;Mode of export
  1. ;..F S ABMEXP=$O(^TMP($J,"S",ABMINS("IEN"),ABMVTYPE,ABMEXP)) Q:'ABMEXP D Q:+ABMEQUIT
  1. ;...S ABMTAMT=$P(^TMP($J,"S",ABMINS("IEN"),ABMVTYPE,ABMEXP),U) ;Total amount
  1. ;...S ABMCNT=$P(^TMP($J,"S",ABMINS("IEN"),ABMVTYPE,ABMEXP),U,2) ;Total count
  1. ;...S ABMEXPD=$P($G(^ABMDEXP(+ABMEXP,0)),U) ;Export mode description
  1. ;...I $G(ABMORE) D SUMPGHD ;if more than one page do page hdr
  1. ;...S ABMSEQ=ABMSEQ+1 ;increment sequence number
  1. ;...W !,$J(ABMSEQ,3),?6,ABMINS,?38,$J(ABMVTYPE,3),?44,ABMEXPD,?60,$J(ABMCNT,4),?69,$J($FN(ABMTAMT,",",2),10)
  1. ;...; ABMER(#)=Insurer^Visit Type^Export mode^total count^total charge
  1. ;...S ABMER(ABMSEQ)=ABMINS("IEN")_U_ABMVTYPE_U_+ABMEXP_U_ABMCNT_U_ABMTAMT ; data array by sequence number
  1. ;...I $Y+5>IOSL D Q:+ABMEQUIT
  1. ;....D RETURN
  1. ;....Q:+ABMEQUIT
  1. ;....S ABMORE=1
  1. ;end old start new abm*2.6*6 5010
  1. D GETCHS^ABMCUTL
  1. S ABMSEQ=0,ABMNEXT=0
  1. K ABMCHT
  1. K ^TMP($J,"S-CH")
  1. I $D(ABMCHLST) D ;clearinghouse exists; add another sort level
  1. .S ABMP("CHIEN")=0,ABMSVTYP=0,ABMSEXP=0
  1. .F S ABMP("CHIEN")=$O(ABMCHLST(ABMP("CHIEN"))) Q:'ABMP("CHIEN") D
  1. ..S ABMP("CHINS")=0
  1. ..F S ABMP("CHINS")=$O(ABMCHLST(ABMP("CHIEN"),ABMP("CHINS"))) Q:'ABMP("CHINS") D
  1. ...I $D(^TMP($J,"S",ABMP("CHINS"))) D
  1. ....S ABMVTYP=0
  1. ....F S ABMVTYP=$O(^TMP($J,"S",ABMP("CHINS"),ABMVTYP)) Q:'ABMVTYP D
  1. .....S ABMEXP=0
  1. .....F S ABMEXP=$O(^TMP($J,"S",ABMP("CHINS"),ABMVTYP,ABMEXP)) Q:'ABMEXP D
  1. ......I $D(ABMCHLST(ABMP("CHIEN"),ABMVTYP,ABMEXP)) S ABMSEQ=$G(ABMCHLST(ABMP("CHIEN"),ABMVTYP,ABMEXP))
  1. ......I '$D(ABMCHLST(ABMP("CHIEN"),ABMVTYP,ABMEXP)) S (ABMSEQ,ABMNEXT)=ABMNEXT+1,ABMCHLST(ABMP("CHIEN"),ABMVTYP,ABMEXP)=ABMSEQ
  1. ......M ^TMP($J,"S-CH",ABMSEQ,ABMP("CHIEN"),ABMP("CHINS"),ABMVTYP,ABMEXP)=^TMP($J,"S",ABMP("CHINS"),ABMVTYP,ABMEXP)
  1. ......S ABMCHT(ABMSEQ,"AMT")=+$G(ABMCHT(ABMSEQ,"AMT"))+$P(^TMP($J,"S-CH",ABMSEQ,ABMP("CHIEN"),ABMP("CHINS"),ABMVTYP,ABMEXP),U)
  1. ......S ABMCHT(ABMSEQ,"VTYP")=ABMVTYP
  1. ......S ABMCHT(ABMSEQ,"EXP")=ABMEXP
  1. ......S ABMCHT(ABMSEQ,"TOT")=+$G(ABMCHT(ABMSEQ,"TOT"))+$P(^TMP($J,"S",ABMP("CHINS"),ABMVTYP,ABMEXP),U,2)
  1. ......K ^TMP($J,"S",ABMP("CHINS"),ABMVTYP,ABMEXP)
  1. ......S ABMSINS=ABMP("CHINS"),ABMSVTYP=ABMVTYP,ABMSEXP=ABMEXP
  1. ;
  1. S ABMSEQ=0 ;Sequence number
  1. F S ABMSEQ=$O(^TMP($J,"S-CH",ABMSEQ)) Q:'ABMSEQ D Q:+ABMEQUIT
  1. .S ABM("CHIEN")=0 ;clearinghouse IEN
  1. .F S ABM("CHIEN")=$O(^TMP($J,"S-CH",ABMSEQ,ABM("CHIEN"))) Q:'ABM("CHIEN") D Q:+ABMEQUIT
  1. ..W !,$J(ABMSEQ,3),?6,"+ "_$P($G(^ABMRECVR(ABM("CHIEN"),0)),U)
  1. ..W ?38,$J(ABMCHT(ABMSEQ,"VTYP"),3),?44,$P($G(^ABMDEXP(ABMCHT(ABMSEQ,"EXP"),0)),U)
  1. ..W ?60,$J(ABMCHT(ABMSEQ,"TOT"),4),?69,$J($FN(ABMCHT(ABMSEQ,"AMT"),",",2),10)
  1. ..S ABMINS("IEN")=0 ;Activer insurer IEN
  1. ..F S ABMINS("IEN")=$O(^TMP($J,"S-CH",ABMSEQ,ABM("CHIEN"),ABMINS("IEN"))) Q:'ABMINS("IEN") D Q:+ABMEQUIT
  1. ...S ABMINS=$E($P($G(^AUTNINS(ABMINS("IEN"),0)),U),1,30) ;Insurer
  1. ...S ABMVTYPE=0 ;Bill type
  1. ...F S ABMVTYPE=$O(^TMP($J,"S-CH",ABMSEQ,ABM("CHIEN"),ABMINS("IEN"),ABMVTYPE)) Q:'ABMVTYPE D Q:+ABMEQUIT
  1. ....S ABMEXP=0 ;Mode of export
  1. ....F S ABMEXP=$O(^TMP($J,"S-CH",ABMSEQ,ABM("CHIEN"),ABMINS("IEN"),ABMVTYPE,ABMEXP)) Q:'ABMEXP D Q:+ABMEQUIT
  1. .....S ABMTAMT=$P(^TMP($J,"S-CH",ABMSEQ,ABM("CHIEN"),ABMINS("IEN"),ABMVTYPE,ABMEXP),U) ;Total amount
  1. .....S ABMCNT=$P(^TMP($J,"S-CH",ABMSEQ,ABM("CHIEN"),ABMINS("IEN"),ABMVTYPE,ABMEXP),U,2) ;Total count
  1. .....S ABMEXPD=$P($G(^ABMDEXP(+ABMEXP,0)),U) ;Export mode desc
  1. .....I $G(ABMORE) D SUMPGHD^ABMECDSP ;if more than one page do page hdr
  1. .....;W !
  1. .....;W ?6,ABMINS,?38,$J(ABMVTYPE,3),?44,ABMEXPD,?60,$J(ABMCNT,4),?69,$J($FN(ABMTAMT,",",2),10)
  1. .....; ABMER(#)=Insurer^Visit Type^Export mode^total count^total charge
  1. .....S ABMER(ABMSEQ)=ABM("CHIEN")_U_ABMVTYPE_U_+ABMEXP_U_ABMCNT_U_ABMTAMT ;data array by sequence number
  1. .....I $Y+5>IOSL D Q:+ABMEQUIT
  1. ......D RETURN^ABMECDSP
  1. ......Q:+ABMEQUIT
  1. ......S ABMORE=1
  1. ;
  1. S ABMINS("IEN")=0 ;Activer insurer IEN
  1. F S ABMINS("IEN")=$O(^TMP($J,"S",ABMINS("IEN"))) Q:'ABMINS("IEN") D Q:+ABMEQUIT
  1. .S ABMINS=$E($P($G(^AUTNINS(ABMINS("IEN"),0)),U),1,30) ;Insurer
  1. .S ABMVTYPE=0 ;Bill type
  1. .F S ABMVTYPE=$O(^TMP($J,"S",ABMINS("IEN"),ABMVTYPE)) Q:'ABMVTYPE D Q:+ABMEQUIT
  1. ..S ABMEXP=0 ;Mode of export
  1. ..F S ABMEXP=$O(^TMP($J,"S",ABMINS("IEN"),ABMVTYPE,ABMEXP)) Q:'ABMEXP D Q:+ABMEQUIT
  1. ...S ABMTAMT=$P(^TMP($J,"S",ABMINS("IEN"),ABMVTYPE,ABMEXP),U) ;Total amount
  1. ...S ABMCNT=$P(^TMP($J,"S",ABMINS("IEN"),ABMVTYPE,ABMEXP),U,2) ;Total count
  1. ...S ABMEXPD=$P($G(^ABMDEXP(+ABMEXP,0)),U) ;Export mode description
  1. ...I $G(ABMORE) D SUMPGHD^ABMECDSP ;if more than one page do page hdr
  1. ...S ABMNEXT=ABMNEXT+1 ;increment sequence number
  1. ...W !,$J(ABMNEXT,3),?6,ABMINS,?38,$J(ABMVTYPE,3),?44,ABMEXPD,?60,$J(ABMCNT,4),?69,$J($FN(ABMTAMT,",",2),10)
  1. ...; ABMER(#)=Insurer^Visit Type^Export mode^total count^total charge
  1. ...S ABMER(ABMNEXT)=ABMINS("IEN")_U_ABMVTYPE_U_+ABMEXP_U_ABMCNT_U_ABMTAMT ; data array by sequence number
  1. ...I $Y+5>IOSL D Q:+ABMEQUIT
  1. ....D RETURN^ABMECDSP
  1. ....Q:+ABMEQUIT
  1. ....S ABMORE=1
  1. ;end new abm*2.6*6 5010
  1. Q