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

ABMKIDS.m

Go to the documentation of this file.
  1. ABMKIDS ; IHS/SD/SDR - Kidscare Report ;
  1. ;;2.6;IHS Third Party Billing;**1**;NOV 12, 2009
  1. ;IHS/SD/SDR - abm*2.6*1 - HEAT5296 - NEW ROUTINE to report KIDSCARE
  1. ;
  1. EN ;
  1. K ^TMP("ABM-KIDS",$J)
  1. K ABMTOT
  1. K DIR,DIC,DIE,DA,X,Y
  1. S DIR(0)="DAO"
  1. S DIR("A")="Enter eligibility date: "
  1. D ^DIR K DIR
  1. Q:X=""
  1. S ABMDT=Y
  1. ;
  1. K DIR,DIC,DIE,DA,X,Y
  1. S DIR(0)="YAO"
  1. S DIR("A")="Include detail? "
  1. S DIR("B")="N"
  1. D ^DIR K DIR
  1. Q:X=""
  1. S ABMDET=Y
  1. ;
  1. K ABM,ABMY
  1. S ABM("HD",0)="SCHIP ELIGIBILITY COUNTS BY AGE for "_$P($G(^AUTTLOC(DUZ(2),0)),U,2)
  1. S Y=ABMDT
  1. D DD^%DT
  1. S ABM("HD",1)="Eligible on "_Y
  1. S ABM("HD",2)="Report generated by "_$P($G(^VA(200,DUZ,0)),U)
  1. S ABM("PG")=1
  1. S ABMQ("RC")="COMPUTE^ABMKIDS",ABMQ("RX")="POUT^ABMDRUTL",ABMQ("NS")="ABM"
  1. S ABMQ("RP")="WRITE^ABMKIDS"
  1. D ^ABMDRDBQ
  1. ;
  1. COMPUTE ;
  1. ;medicaid
  1. S ABMTYP="MCD"
  1. S ABMI=0
  1. F S ABMI=$O(^AUPNMCD(ABMI)) Q:'ABMI D
  1. .Q:($P($G(^AUPNMCD(ABMI,0)),U,10)="")
  1. .Q:($P($G(^AUTNINS($P($G(^AUPNMCD(ABMI,0)),U,10),2)),U)'="K") ;Kidscare only
  1. .S ABMIM=0
  1. .F S ABMIM=$O(^AUPNMCD(ABMI,11,ABMIM)) Q:'ABMIM D
  1. ..Q:ABMIM>ABMDT ;start date after search date
  1. ..;end date and it is before search date
  1. ..I $P($G(^AUPNMCD(ABMI,11,ABMIM,0)),U,2)'="",($P($G(^AUPNMCD(ABMI,11,ABMIM,0)),U,2)<ABMDT) Q
  1. ..S ABMAGE=$$GET1^DIQ(9000001,$P($G(^AUPNMCD(ABMI,0)),U),1102.99,"")
  1. ..D AGE
  1. ..D:ABMDET DETAIL
  1. ;private
  1. S ABMTYP="PI"
  1. S ABMI=0
  1. F S ABMI=$O(^AUPNPRVT(ABMI)) Q:'ABMI D
  1. .S ABMMIEN=0
  1. .F S ABMMIEN=$O(^AUPNPRVT(ABMI,11,ABMMIEN)) Q:'ABMMIEN D
  1. ..S ABMINS=$P($G(^AUPNPRVT(ABMI,11,ABMMIEN,0)),U)
  1. ..Q:($P($G(^AUTNINS(ABMINS,2)),U)'="K")
  1. ..Q:$P($G(^AUPNPRVT(ABMI,11,ABMMIEN,0)),U,6)>ABMDT
  1. ..I $P($G(^AUPNPRVT(ABMI,11,ABMMIEN,0)),U,7)'="",($P($G(^AUPNPRVT(ABMI,11,ABMMIEN,0)),U,7)<ABMDT) Q
  1. ..S ABMAGE=$$GET1^DIQ(9000001,ABMI,1102.99,"")
  1. ..D AGE
  1. ..D:ABMDET DETAIL
  1. Q
  1. AGE ;
  1. I ABMTYP="MCD" D
  1. .S ABMPT=$P($G(^AUPNMCD(ABMI,0)),U)
  1. I ABMTYP="PI" S ABMPT=ABMI
  1. Q:$D(^TMP("ABM-KIDS",$J,ABMAGE,ABMTYP,ABMPT)) ;counted pt once; don't count again
  1. S ABMTOT=+$G(ABMTOT)+1
  1. I ABMAGE<5 S ABM("0-4")=+$G(ABM("0-4"))+1,ABMFLG="0-4" Q
  1. I ABMAGE>4,(ABMAGE<10) S ABM("5-9")=+$G(ABM("5-9"))+1,ABMFLG="5-9" Q
  1. I ABMAGE>9,(ABMAGE<15) S ABM("10-14")=+$G(ABM("10-14"))+1,ABMFLG="10-14" Q
  1. I ABMAGE>14,(ABMAGE<19) S ABM("15-18")=+$G(ABM("15-18"))+1,ABMFLG="15-18" Q
  1. I ABMAGE>18,(ABMAGE<22) S ABM("19-21")=+$G(ABM("19-21"))+1,ABMFLG="19-21" Q
  1. I ABMAGE>21 S ABM("OVER 21")=+$G(ABM("OVER 21"))+1,ABMFLG="OVER 21"
  1. Q
  1. DETAIL ;
  1. S ^TMP("ABM-KIDS",$J,ABMAGE,ABMTYP,ABMPT)=ABMI_"^"_$S(ABMTYP="MCD":ABMIM,1:ABMMIEN)
  1. Q
  1. WRITE ;
  1. D WHD^ABMDRHD
  1. W !,"RANGE",?10,"COUNT"
  1. W !,"0-4",?10,$J(+$G(ABM("0-4")),"6R")
  1. W !,"5-9",?10,$J(+$G(ABM("5-9")),"6R")
  1. W !,"10-14",?10,$J(+$G(ABM("10-14")),"6R")
  1. W !,"15-18",?10,$J(+$G(ABM("15-18")),"6R")
  1. W !,"19-21",?10,$J(+$G(ABM("19-21")),"6R")
  1. W !,"OVER 21",?10,$J(+$G(ABM("OVER 21")),"6R")
  1. W !,"=====",?10,"======"
  1. W !,"TOTAL",?9,$J(+$G(ABMTOT),"7R")
  1. ;
  1. I $D(^TMP("ABM-KIDS",$J)) D
  1. .D HD
  1. .S ABMAGE=""
  1. .F S ABMAGE=$O(^TMP("ABM-KIDS",$J,ABMAGE)) Q:ABMAGE="" D
  1. ..S ABMTYP=""
  1. ..F ABMTYP=$O(^TMP("ABM-KIDS",$J,ABMAGE,ABMTYP)) Q:ABMTYP="" D
  1. ...S ABMPT=0
  1. ...F S ABMPT=$O(^TMP("ABM-KIDS",$J,ABMAGE,ABMTYP,ABMPT)) Q:'ABMPT D
  1. ....S ABMI=$P($G(^TMP("ABM-KIDS",$J,ABMAGE,ABMTYP,ABMPT)),U)
  1. ....S ABMMI=$P($G(^TMP("ABM-KIDS",$J,ABMAGE,ABMTYP,ABMPT)),U,2)
  1. ....I ABMTYP="MCD" D
  1. .....S ABMPLAN=$P($G(^AUTNINS($P($G(^AUPNMCD(ABMI,0)),U,10),0)),U)
  1. .....S ABMEFFDT=$P($G(^AUPNMCD(ABMI,11,ABMMI,0)),U)
  1. .....S ABMENDDT=$P($G(^AUPNMCD(ABMI,11,ABMMI,0)),U,2)
  1. .....S ABMCTYP=$P($G(^AUPNMCD(ABMI,11,ABMMI,0)),U,3)
  1. ....;
  1. ....I ABMTYP="PI" D
  1. .....S ABMPLAN=$P($G(^AUTNINS($P($G(^AUPNPRVT(ABMPT,11,ABMMI,0)),U),0)),U)
  1. .....S ABMEFFDT=$P($G(^AUPNPRVT(ABMPT,11,ABMMI,0)),U,6)
  1. .....S ABMCTYP="",ABMPH=""
  1. .....S ABMPH=$P($G(^AUPNPRVT(ABMPT,11,ABMMI,0)),U,8)
  1. .....S:ABMPH'=""&($P($G(^AUPN3PPH(ABMPH,0)),U,5)'="") ABMCTYP=$P($G(^AUTTPIC($P($G(^AUPN3PPH(ABMPH,0)),U,5),0)),U,3)
  1. .....S ABMENDDT=$P($G(^AUPNPRVT(ABMPT,11,ABMMI,0)),U,7)
  1. ....;
  1. ....W !,ABMAGE
  1. ....W ?4,$P($G(^AUPNPAT(ABMPT,41,DUZ(2),0)),U,2)
  1. ....W ?11,$E($P($G(^DPT(ABMPT,0)),U),1,29)
  1. ....W ?42,$E(ABMTYP,1)
  1. ....W ?44,$E(ABMPLAN,1,14)
  1. ....W ?60,$$SDTO^ABMDUTL(ABMEFFDT)
  1. ....W ?69,ABMCTYP
  1. ....W ?74,$$SDTO^ABMDUTL(ABMENDDT)
  1. ....I $Y>(IOSL-5) D WHD^ABMDRHD Q:$D(DTOUT)!$D(DUOUT)!$D(DIROUT) D HD W " (cont)"
  1. Q
  1. HD ;
  1. S ABM("PG")=+ABM("PG")+1
  1. W !!,"AGE",?4,"PT HRN",?11,"PT NAME",?42,"I",?44,"PLAN NAME",?60,"EFF DT",?69,"CTYP",?74,"END DT"
  1. Q