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

APCHS5A.m

Go to the documentation of this file.
  1. APCHS5A ; IHS/CMI/LAB - PART 5A OF APCHS5 -- SUMMARY PRODUCTION COMPONENTS ;
  1. ;;2.0;IHS PCC SUITE;**2,5,21**;MAY 14, 2009;Build 34
  1. ;
  1. MAID ;ENTRY POINT
  1. ; MEDICAID
  1. K APCHSITB
  1. ;<SETUP>
  1. S APCHSPDN=0 F APCHSQ=0:0 S APCHSPDN=$O(^AUPNMCD("B",APCHSPAT,APCHSPDN)) Q:APCHSPDN="" D BMAID
  1. ;<DISPLAY>
  1. S APCHSI=0 F APCHSQ=0:0 S APCHSI=$O(APCHSITB(APCHSI)) Q:APCHSI="" S APCHSJ=$O(APCHSITB(APCHSI,0)) S APCHSP=APCHSITB(APCHSI,APCHSJ) S APCHSPDN=$P(APCHSP,";",1),APCHSEDN=$P(APCHSP,";",2) D DMAID
  1. ;<CLEANUP>
  1. MAIDX K APCHSCOV,APCHSDTL,APCHSDTN,APCHSDTS,APCHSEDN,APCHSI,APCHSIDN,APCHSINS,APCHSJ,APCHSN,APCHSPDN,APCHSUFF,Y,APCHSXDT,APCHSNM
  1. Q
  1. BMAID Q:'$D(^AUPNMCD(APCHSPDN))
  1. S APCHSEDN=0 F APCHSQ=0:0 S APCHSEDN=$O(^AUPNMCD(APCHSPDN,11,APCHSEDN)) Q:'APCHSEDN S APCHSP=^(APCHSEDN,0) S APCHSI=$P(^AUPNMCD(APCHSPDN,0),U,4)_"-"_$P(APCHSP,U,3),APCHSJ=9999999-$P(APCHSP,U,1) S APCHSITB(APCHSI,APCHSJ)=APCHSPDN_";"_APCHSEDN
  1. Q
  1. DMAID ;
  1. S APCHSN=^AUPNMCD(APCHSPDN,0)
  1. S APCHSINS=$S($P(APCHSN,U,2):$P(^AUTNINS($P(APCHSN,U,2),0),U,1),1:"???") ;IHS/CMI/LAB - patch 6 prevent sbscr
  1. S APCHSNM=^AUPNMCD(APCHSPDN,11,APCHSEDN,0)
  1. S Y=$P(APCHSNM,U,1) X APCHSCVD S APCHSDTL=Y
  1. ;-- IHS/CMI/MAW add set of exp date variable, quit if not current
  1. S (APCHSXDT,Y)=$P(APCHSNM,U,2) X APCHSCVD S APCHSDTN=Y
  1. I APCHSXDT="" S APCHSXDT=9999999
  1. Q:APCHSXDT<DT
  1. ;-- IHS/CMI/MAW end of mods
  1. X APCHSCKP Q:$D(APCHSQIT) W:APCHSNPG "(Medicaid cont.)",!
  1. S X=$P($G(^DIC(5,+$P(APCHSN,U,4),0)),U,2) W $S(X="":"??",1:X)," ",APCHSINS,?32,$P(APCHSN,U,3) ;IHS/ANMC/LJF 12/18/2002
  1. ;W $P(^DIC(5,$P(APCHSN,U,4),0),U,2)," ",APCHSINS,?32,$P(APCHSN,U,3)
  1. W ?49,$P(APCHSNM,U,3),?54,APCHSDTL,?72,APCHSDTN,!
  1. I $P(APCHSN,U,10)]"" W ?3,"Plan Name: ",$$VAL^XBDIQ1(9000004,APCHSPDN,.11),!
  1. Q
  1. MCARE ;ENTRY POINT
  1. ; MEDICARE
  1. Q:'$D(^AUPNMCR(APCHSPAT))
  1. S APCHSN=^AUPNMCR(APCHSPAT,0)
  1. Q:'$D(^AUPNMCR(APCHSPAT,0)) ;CMI/LAB
  1. S APCHSINS=$S($P(APCHSN,U,2):$P(^AUTNINS($P(APCHSN,U,2),0),U,1),1:"???") ;IHS/CMI/LAB - prevent sbscr
  1. S APCHSUFF=$P(APCHSN,U,4) S:APCHSUFF]"" APCHSUFF=$P(^AUTTMCS(APCHSUFF,0),U,1)
  1. K APCHSITB
  1. S APCHSEDN=0 F APCHSQ=0:0 S APCHSEDN=$O(^AUPNMCR(APCHSPAT,11,APCHSEDN)) Q:APCHSEDN'=+APCHSEDN S APCHSP=^(APCHSEDN,0) S APCHSI=$P(APCHSN,U,2)_"-"_$P(APCHSP,U,3),APCHSJ=9999999-$P(APCHSP,U,1) S APCHSITB(APCHSI,APCHSJ)=APCHSPAT_";"_APCHSEDN
  1. S APCHSI=0 F APCHSQ=0:0 S APCHSI=$O(APCHSITB(APCHSI)) Q:APCHSI="" S APCHSJ=$O(APCHSITB(APCHSI,0)) S APCHSP=APCHSITB(APCHSI,APCHSJ) S APCHSPDN=$P(APCHSP,";",1),APCHSEDN=$P(APCHSP,";",2) D DMCARE
  1. W:$X'=0 !
  1. Q
  1. DMCARE ;
  1. S APCHSNM=^AUPNMCR(APCHSPDN,11,APCHSEDN,0)
  1. S Y=$P(APCHSNM,U,1) X APCHSCVD S APCHSDTL=Y
  1. ;-- IHS/CMI/MAW add set of exp date variable, quit if not current
  1. S (APCHSXDT,Y)=$P(APCHSNM,U,2) X APCHSCVD S APCHSDTN=Y
  1. I APCHSXDT="" S APCHSXDT=9999999
  1. Q:APCHSXDT<DT
  1. ;-- IHS/CMI/MAW end of mods
  1. X APCHSCKP Q:$D(APCHSQIT) W:APCHSNPG "(Medicare cont.)",!
  1. ;W APCHSINS,?32,$P(APCHSN,U,3),?44,APCHSUFF
  1. W APCHSINS,?32,$$GETMCR^AGUTL(APCHSPAT),?44,APCHSUFF ;IHS/CMI/LAB NMCI
  1. S APCHSCOV=$P(APCHSNM,U,3)
  1. S APCHSDTS="" I APCHSCOV="B" S Y=$P(^AUPNPAT(APCHSPAT,0),U,4) X APCHSCVD S APCHSDTS=Y
  1. X APCHSCKP Q:$D(APCHSQIT) W:APCHSNPG "(Medicare cont.)",!
  1. W ?49,APCHSCOV,?54,APCHSDTL,?63,APCHSDTS,?72,APCHSDTN,!
  1. K APCHSXDT,APCHSNM
  1. Q
  1. THIRD ;ENTRY POINT
  1. ; OTHER THIRD PARTY
  1. Q:$O(^AUPNPRVT(APCHSPAT,11,0))=""
  1. K APCHSITB
  1. S APCHSIDN=0 F APCHSQ=0:0 S APCHSIDN=$O(^AUPNPRVT(APCHSPAT,11,APCHSIDN)) Q:APCHSIDN'=+APCHSIDN S APCHSP=^(APCHSIDN,0) S APCHSITB($P(APCHSP,U,1)_"-"_$P(APCHSP,U,3),9999999-$P(APCHSP,U,6))=APCHSIDN
  1. ;S APCHSI="" F APCHSQ=0:0 S APCHSI=$O(APCHSITB(APCHSI)) Q:APCHSI="" S APCHSJ=$O(APCHSITB(APCHSI,0)) S APCHSIDN=APCHSITB(APCHSI,APCHSJ) D DTHIRD
  1. S APCHSI="" F APCHSQ=0:0 S APCHSI=$O(APCHSITB(APCHSI)) Q:APCHSI="" S APCHSJ="" F S APCHSJ=$O(APCHSITB(APCHSI,APCHSJ)) Q:APCHSJ="" S APCHSIDN=APCHSITB(APCHSI,APCHSJ) D DTHIRD
  1. Q
  1. DTHIRD S APCHSN=^AUPNPRVT(APCHSPAT,11,APCHSIDN,0)
  1. Q:$P(APCHSN,U,1)=""
  1. S APCHSINS=$P(^AUTNINS($P(APCHSN,U,1),0),U,1)
  1. S Y=$P(APCHSN,U,6) X APCHSCVD S APCHSDTL=Y
  1. ;-- IHS/CMI/MAW add set of exp date variable, quit if not current
  1. S (APCHSXDT,Y)=$P(APCHSN,U,7) X APCHSCVD S APCHSDTN=Y
  1. I APCHSXDT="" S APCHSXDT=9999999
  1. Q:APCHSXDT<DT
  1. ;-- IHS/CMI/MAW end of mods
  1. X APCHSCKP Q:$D(APCHSQIT) W:APCHSNPG "(3rd party cont.)",!
  1. ;IHS/CMI/GRL policy number field of Private Insurance Eligible is obsolete. Per Adrian Lujan,
  1. ;following code looks at the Member Number field of Insurer multiple. If null, then get policy number
  1. ;from Policy Holder File
  1. S $P(APCHSN,U,2)=$P($G(^AUPNPRVT(APCHSPAT,11,APCHSIDN,2)),U) ;member number
  1. I $P($G(APCHSN),U,2)']"",$P(APCHSN,U,8) S $P(APCHSN,U,2)=$P($G(^AUPN3PPH($P(APCHSN,U,8),0)),U,4) ;policy number
  1. ;IHS/CMI/GRL end of patch
  1. W APCHSINS,?32,$P(APCHSN,U,2),?49,$P(APCHSN,U,3),?54,APCHSDTL,?72,APCHSDTN,!
  1. X APCHSCKP Q:$D(APCHSQIT) W:APCHSNPG "(3rd party cont.)",!
  1. I $P(APCHSN,U,8) W ?32,"Coverage Type: ",$$VAL^XBDIQ1(9000003.1,$P(APCHSN,U,8),.05),!
  1. K APCHSXDT
  1. Q
  1. RR ;EP
  1. ; RAILROAD RETIREMENT
  1. Q:'$D(^AUPNRRE(APCHSPAT))
  1. S APCHSN=^AUPNRRE(APCHSPAT,0)
  1. S APCHSINS=$P(^AUTNINS($P(APCHSN,U,2),0),U,1)
  1. S APCHSUFF=$P(APCHSN,U,3)
  1. K APCHSITB
  1. S APCHSEDN=0 F APCHSQ=0:0 S APCHSEDN=$O(^AUPNRRE(APCHSPAT,11,APCHSEDN)) Q:APCHSEDN'=+APCHSEDN S APCHSP=^(APCHSEDN,0) S APCHSI=$P(APCHSN,U,2)_"-"_$P(APCHSP,U,3),APCHSJ=9999999-$P(APCHSP,U,1) S APCHSITB(APCHSI,APCHSJ)=APCHSPAT_";"_APCHSEDN
  1. S APCHSI=0 F APCHSQ=0:0 S APCHSI=$O(APCHSITB(APCHSI)) Q:APCHSI="" S APCHSJ=$O(APCHSITB(APCHSI,0)) S APCHSP=APCHSITB(APCHSI,APCHSJ) S APCHSPDN=$P(APCHSP,";",1),APCHSEDN=$P(APCHSP,";",2) D DRR
  1. W:$X'=0 !
  1. Q
  1. DRR ;
  1. S APCHSNM=^AUPNRRE(APCHSPDN,11,APCHSEDN,0)
  1. S Y=$P(APCHSNM,U,1) X APCHSCVD S APCHSDTL=Y
  1. ;-- IHS/CMI/MAW add set of exp date variable, quit if not current
  1. S (APCHSXDT,Y)=$P(APCHSNM,U,2) X APCHSCVD S APCHSDTN=Y
  1. I APCHSXDT="" S APCHSXDT=9999999
  1. Q:APCHSXDT<DT
  1. ;-- IHS/CMI/MAW end of mods
  1. S APCHSCOV=$P(APCHSNM,U,3)
  1. X APCHSCKP Q:$D(APCHSQIT) W:APCHSNPG "(Railroad Retirement cont.)",!
  1. ;W APCHSINS,?32,$P(APCHSN,U,4),?44,APCHSUFF
  1. W APCHSINS,?32,$$GETRRE^AGUTL(APCHSPAT),?44,APCHSUFF
  1. W ?49,APCHSCOV,?54,APCHSDTL,?72,APCHSDTN,!
  1. K APCHSNM,APCHSXDT
  1. Q