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