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

ABMM2PV8.m

Go to the documentation of this file.
  1. ABMM2PV8 ;IHS/SD/SDR - MU Patient Volume EP Report ;
  1. ;;2.6;IHS 3P BILLING SYSTEM;**12,15**;NOV 12, 2009;Build 251
  1. ;IHS/SD/SDR - 2.6*15 - HEAT161159 - Made change to correct duplicates; also made changes to resolve summary not reconciling to pt list
  1. ;IHS/SD/SDR - 2.6*15 - HEAT183289 - Added code for Tribal self-insured; will look if patient has only one insurer and that insurer is defined
  1. ; as tribal self-insured in 3P Insurer file
  1. ;
  1. ELIG ;EP
  1. S ABMICNT=0 ;abm*2.6*15 HEAT183289
  1. ;mcd
  1. K ABMK,ABML
  1. K ABMILST,ABMP("STATE") ;abm*2.6*15 HEAT161159
  1. K ABMTSI ;abm*2.6*15 HEAT183289
  1. K ABMP("SAVE")
  1. S ABMP("MDFN")=""
  1. F S ABMP("MDFN")=$O(^AUPNMCD("B",ABMPT,ABMP("MDFN"))) Q:'ABMP("MDFN") D
  1. .Q:$P($G(^AUPNMCD(ABMP("MDFN"),0)),U)=""
  1. .Q:$P($G(^AUPNMCD(ABMP("MDFN"),0)),U,2)=""
  1. .Q:$P($G(^AUPNMCD(ABMP("MDFN"),0)),U,4)=""
  1. .S ABM("INS")=+$P($G(^AUPNMCD(ABMP("MDFN"),0)),U,10)
  1. .I 'ABM("INS") S ABM("INS")=$P($G(^AUPNMCD(ABMP("MDFN"),0)),U,2)
  1. .S ABM("ITYP")=$$GET1^DIQ(9999999.181,$$GET1^DIQ(9999999.18,ABM("INS"),".211","I"),1,"I")
  1. .;S ABMGRP=$S(ABM("ITYP")="D":"MCD",ABM("ITYP")="K":"CHIP",(ABM("ITYP")="P"&($D(ABMI("INS",ABM("INS"))))):"CHIP",1:"OTHR")
  1. .S ABMGRP=$S(ABM("ITYP")="D":"MCD",($D(ABMI("INS",ABM("INS")))):"CHIP",1:"OTHR")
  1. .S ABMP("DDFN")=0
  1. .F S ABMP("DDFN")=$O(^AUPNMCD(ABMP("MDFN"),11,ABMP("DDFN"))) Q:'ABMP("DDFN") D
  1. ..S ABMP("SDT")=+$P($G(^AUPNMCD(ABMP("MDFN"),11,ABMP("DDFN"),0)),U)
  1. ..S ABMP("EDT")=+$P($G(^AUPNMCD(ABMP("MDFN"),11,ABMP("DDFN"),0)),U,2)
  1. ..D ENROLL2
  1. I +$G(ABMP("SAVE"))'=0 S ABMP("MDFN")=ABMP("SAVE") ;abm*2.6*15 HEAT164125
  1. ;pi
  1. S ABMI=0
  1. F S ABMI=$O(^AUPNPRVT(ABMPT,11,ABMI)) Q:'ABMI D
  1. .S ABM("INS")=+$P($G(^AUPNPRVT(ABMPT,11,ABMI,0)),U)
  1. .S ABM("ITYP")=$$GET1^DIQ(9999999.181,$$GET1^DIQ(9999999.18,ABM("INS"),".211","I"),1,"I")
  1. .;S ABMGRP=$S(ABM("ITYP")="D":"MCD",ABM("ITYP")="K":"CHIP",(ABM("ITYP")="P"&($D(ABMI("INS",ABM("INS"))))):"CHIP",1:"OTHR")
  1. .S ABMGRP=$S(ABM("ITYP")="D":"MCD",($D(ABMI("INS",ABM("INS")))):"CHIP",1:"OTHR")
  1. .S ABMP("SDT")=+$P($G(^AUPNPRVT(ABMPT,11,ABMI,0)),U,6)
  1. .S ABMP("EDT")=+$P($G(^AUPNPRVT(ABMPT,11,ABMI,0)),U,7)
  1. .D ENROLL2
  1. ;mcr
  1. S ABM("INS")=+$P($G(^AUPNMCR(ABMPT,0)),U,2)
  1. S ABM("ITYP")=$$GET1^DIQ(9999999.181,$$GET1^DIQ(9999999.18,ABM("INS"),".211","I"),1,"I")
  1. ;S ABMGRP=$S(ABM("ITYP")="D":"MCD",ABM("ITYP")="K":"CHIP",(ABM("ITYP")="P"&($D(ABMI("INS",ABM("INS"))))):"CHIP",1:"OTHR")
  1. S ABMGRP=$S(ABM("ITYP")="D":"MCD",($D(ABMI("INS",ABM("INS")))):"CHIP",1:"OTHR")
  1. S ABMI=0
  1. F S ABMI=$O(^AUPNMCR(ABMPT,11,ABMI)) Q:'ABMI D
  1. .S ABMP("SDT")=+$P($G(^AUPNMCR(ABMPT,11,ABMI,0)),U)
  1. .S ABMP("EDT")=+$P($G(^AUPNMCR(ABMPT,11,ABMI,0)),U,2)
  1. .D ENROLL2
  1. ;rr
  1. S ABM("INS")=+$P($G(^AUPNRRE(ABMPT,0)),U,2)
  1. S ABM("ITYP")=$$GET1^DIQ(9999999.181,$$GET1^DIQ(9999999.18,ABM("INS"),".211","I"),1,"I")
  1. ;S ABMGRP=$S(ABM("ITYP")="D":"MCD",ABM("ITYP")="K":"CHIP",(ABM("ITYP")="P"&($D(ABMI("INS",ABM("INS"))))):"CHIP",1:"OTHR")
  1. S ABMGRP=$S(ABM("ITYP")="D":"MCD",($D(ABMI("INS",ABM("INS")))):"CHIP",1:"OTHR")
  1. S ABMI=0
  1. F S ABMI=$O(^AUPNRRE(ABMPT,11,ABMI)) Q:'ABMI D
  1. .S ABMP("SDT")=+$P($G(^AUPNRRE(ABMPT,11,ABMI,0)),U)
  1. .S ABMP("EDT")=+$P($G(^AUPNRRE(ABMPT,11,ABMI,0)),U,2)
  1. .D ENROLL2
  1. Q
  1. ENROLL2 ;EP
  1. S:($G(ABMTSI)="") ABMTSI=$P($G(^ABMNINS(ABMVLOC,ABM("INS"),0)),U,11) ;tribal self-insured flag ;abm*2.6*15 HEAT183289
  1. I ABM("ITYP")="I"!(ABM("ITYP")="N") Q
  1. I $P(ABMP("VDT"),".")<ABMP("SDT") Q ;vst before start dt
  1. I ABMP("EDT")'=0,($P(ABMP("VDT"),".")>ABMP("EDT")) Q ;vst after end dt
  1. S ABML(ABMGRP)=1
  1. S ABMK($S(($D(ABMI("INS",ABM("INS")))):"K",1:ABM("ITYP")))=1
  1. ;I ABMGRP="MCD" S ABMP("SAVE")=ABMP("MDFN") ;abm*2.6*15 HEAT164125
  1. ;start new abm*2.6*15 HEAT164125
  1. I ABMGRP="CHIP",+$G(ABMP("SAVE"))'=0 K ABMP("SAVE"),ABMILST("STATE")
  1. I ABMGRP="MCD" D
  1. .I +$G(ABMP("SAVE"))'=0 K ABMP("SAVE"),ABMILST("STATE")
  1. S ABMP("SAVE")=ABMP("MDFN"),ABMILST("STATE",ABM("INS"))=$$GET1^DIQ(5,$$GET1^DIQ(9000004,ABMP("MDFN"),".04","I"),1,"E")
  1. ;end new HEAT164125
  1. S ABMILST(ABM("INS"))=ABM("ITYP") ;abm*2.6*15 HEAT161159 - to track pt's insurers
  1. S ABMICNT=+$G(ABMICNT)+1 ;abm*2.6*15 HEAT183289
  1. Q