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

AGAPIS1.m

Go to the documentation of this file.
  1. AGAPIS1 ;IHS/ASDS/TPF - THESE APIS CALLS ARE CALLED FROM AGAPIS AND ARE LIMITED TO THE ELIGIBILITY API
  1. ;;7.1;PATIENT REGISTRATION;**2,4**;AUG 25,2005
  1. W !,"DO NOT CALL FROM ROOT!"
  1. Q
  1. ;
  1. ;GET RAILROAD RETIREMENT PART A & B
  1. GETRRAB(CATPRIOR) ;EP - CALLED BY AGAPIS
  1. ;GET TOP LEVEL
  1. S TPRECPTR=$P(RECPTR,",")
  1. D GETS^DIQ(9000005,TPRECPTR,"*",AGGFLAG,"AGGDATA","AGGERR")
  1. Q:$D(AGGERR)
  1. M AGGINS=AGGDATA
  1. M CATPRIOR(CATEGORY,PRIORITY,INSPTR)=AGGINS
  1. ;GET JUST THE ONE SUB LEVEL
  1. S SBRECPTR=$P(RECPTR,",",3)_","_$P(RECPTR,",")_","
  1. D GETS^DIQ(9000005,SBRECPTR,"*",AGGFLAG,"AGGDATA","AGGERR")
  1. Q:$D(AGGERR)
  1. S AGGFILE=9000005.11
  1. D GETDATES(AGGFLAG,.AGGDATA,AGGFILE)
  1. I STDT="" S ENDDT="" Q
  1. ;I '$$ISACTIVE(STDT,ENDDT,AGGDOS) K AGGDATA,CATPRIOR(CATEGORY,PRIORITY,INSPTR,9000005,TPRECPTR) Q
  1. I '$$ISACTIVE(STDT,ENDDT,AGGDOS) K AGGDATA,CATPRIOR(CATEGORY,PRIORITY,INSPTR) Q ;BAR*1.8*4 IM
  1. K STDT,ENDDT
  1. M AGGINS=AGGDATA
  1. M CATPRIOR(CATEGORY,PRIORITY,INSPTR)=AGGINS
  1. K AGGDATA,AGGERR,AGGINS
  1. Q
  1. ;GET MEDICARE PART A & B
  1. GETMCRAB(CATPRIOR) ;EP - CALLED BY AGAPIS
  1. ;GET TOP LEVEL
  1. S TPRECPTR=$P(RECPTR,",")
  1. D GETS^DIQ(9000003,TPRECPTR,"*",AGGFLAG,"AGGDATA","AGGERR")
  1. Q:$D(AGGERR)
  1. M CATPRIOR(CATEGORY,PRIORITY,INSPTR)=AGGDATA
  1. ;GET JUST THE ONE SUB LEVEL
  1. S SBRECPTR=$P(RECPTR,",",3)_","_$P(RECPTR,",")_","
  1. K AGGDATA,AGGERR
  1. D GETS^DIQ(9000003.11,SBRECPTR,"*",AGGFLAG,"AGGDATA","AGGERR")
  1. Q:$D(AGGERR)
  1. S AGGFILE=9000003.11
  1. D GETDATES(AGGFLAG,.AGGDATA,AGGFILE)
  1. ;I '$$ISACTIVE(STDT,ENDDT,AGGDOS) K AGGDATA,CATPRIOR(CATEGORY,PRIORITY,INSPTR,9000003,TPRECPTR) Q
  1. I '$$ISACTIVE(STDT,ENDDT,AGGDOS) K AGGDATA,CATPRIOR(CATEGORY,PRIORITY,INSPTR) Q ;BAR*1.8*4 IM
  1. K STDT,ENDDT
  1. M CATPRIOR(CATEGORY,PRIORITY,INSPTR)=AGGDATA
  1. K AGGDATA,AGGERR
  1. Q
  1. ;GET MEDICAID
  1. GETMCD(CATPRIOR) ;EP - CALLED BY AGAPIS
  1. ;GET TOP LEVEL FIELDS
  1. S TPRECPTR=$P(RECPTR,",")
  1. D GETS^DIQ(9000004,TPRECPTR,"*",AGGFLAG,"AGGDATA","AGGERR")
  1. M CATPRIOR(CATEGORY,PRIORITY,INSPTR)=AGGDATA
  1. ;GET JUST THE ONE SUB LEVEL
  1. S SBRECPTR=$P(RECPTR,",",3)_","_$P(RECPTR,",")_","
  1. D GETS^DIQ(9000004.11,SBRECPTR,"*",AGGFLAG,"AGGDATA","AGGERR") ;MEDICAID
  1. Q:$D(AGGERR)
  1. S AGGFILE=9000004.11
  1. D GETDATES(AGGFLAG,.AGGDATA,AGGFILE)
  1. ;I STDT=""!('$$ISACTIVE(STDT,ENDDT,AGGDOS)) K AGGDATA,CATPRIOR(CATEGORY,PRIORITY,INSPTR,9000004,TPRECPTR) Q
  1. I STDT=""!('$$ISACTIVE(STDT,ENDDT,AGGDOS)) K AGGDATA,CATPRIOR(CATEGORY,PRIORITY,INSPTR) Q ;BAR*1.8*4 IM
  1. K STDT,ENDDT
  1. M CATPRIOR(CATEGORY,PRIORITY,INSPTR)=AGGDATA
  1. K AGGDATA,AGGERR
  1. Q
  1. ;GET RAILROAD RETIREMENT PART D
  1. GETRRD(CATPRIOR) ;EP - CALLED BY AGAPIS
  1. ;GET JUST THE ONE SUB LEVEL
  1. S SBRECPTR=$P(RECPTR,",",3)_","_$P(RECPTR,",")_","
  1. D GETS^DIQ(9000005.11,SBRECPTR,"*",AGGFLAG,"AGGDATA","AGGERR")
  1. Q:$D(AGGERR)
  1. S AGGFILE=9000005.11
  1. D GETDATES(AGGFLAG,.AGGDATA,AGGFILE)
  1. ;I '$$ISACTIVE(STDT,ENDDT,AGGDOS) K AGGDATA,CATPRIOR(CATEGORY,PRIORITY,INSPTR,9000005,TPRECPTR) Q
  1. I '$$ISACTIVE(STDT,ENDDT,AGGDOS) K AGGDATA,CATPRIOR(CATEGORY,PRIORITY,INSPTR) Q ;BAR*1.8*4 IM
  1. K STDT,ENDDT
  1. M AGGINS=AGGDATA
  1. M CATPRIOR(CATEGORY,PRIORITY,INSPTR)=AGGINS
  1. K AGGINS,AGGDATA,AGGERR
  1. Q
  1. ;GET MEDICARE PART D
  1. GETMCRD(CATPRIOR) ;EP - CALLED BY AGAPIS
  1. ;GET JUST THE ONE SUB LEVEL
  1. S SBRECPTR=$P(RECPTR,",",3)_","_$P(RECPTR,",")_","
  1. K AGGDATA,AGGERR
  1. D GETS^DIQ(9000003.11,SBRECPTR,"*",AGGFLAG,"AGGDATA","AGGERR")
  1. Q:$D(AGGERR)
  1. S AGGFILE=9000003.11
  1. D GETDATES(AGGFLAG,.AGGDATA,AGGFILE)
  1. ;I '$$ISACTIVE(STDT,ENDDT,AGGDOS) K AGGDATA,CATPRIOR(CATEGORY,PRIORITY,INSPTR,9000003,TPRECPTR) Q
  1. I '$$ISACTIVE(STDT,ENDDT,AGGDOS) K AGGDATA,CATPRIOR(CATEGORY,PRIORITY,INSPTR) Q ;BAR*1.8*4 IM
  1. K STDT,ENDDT
  1. M CATPRIOR(CATEGORY,PRIORITY,INSPTR)=AGGDATA
  1. K AGGDATA,AGGERR
  1. Q
  1. ;GET GUARANTOR
  1. GETGUAR(CATPRIOR) ;EP - CALLED BY AGAPIS
  1. ;GET TOP LEVEL FIELDS
  1. S TPRECPTR=$P(RECPTR,",")
  1. D GETS^DIQ(9000043,TPRECPTR,"*",AGGFLAG,"AGGDATA","AGGERR")
  1. Q:$D(AGGERR)
  1. M CATPRIOR(CATEGORY,PRIORITY,INSPTR)=AGGDATA
  1. ;GET JUST THE ONE SUB LEVEL
  1. S SBRECPTR=$P(RECPTR,",",3)_","_$P(RECPTR,",")_","
  1. D GETS^DIQ(9000043.0101,SBRECPTR,"*",AGGFLAG,"AGGDATA","AGGERR") ;MEDICAID
  1. Q:$D(AGGERR)
  1. S AGGFILE=9000043.0101
  1. D GETDATES(AGGFLAG,.AGGDATA,AGGFILE)
  1. ;I STDT=""!('$$ISACTIVE(STDT,ENDDT,AGGDOS)) K AGGDATA,CATPRIOR(CATEGORY,PRIORITY,INSPTR,9000043.0101,TPRECPTR) Q
  1. I STDT=""!('$$ISACTIVE(STDT,ENDDT,AGGDOS)) K AGGDATA,CATPRIOR(CATEGORY,PRIORITY,INSPTR) Q ;BAR*1.8*4 IM
  1. K STDT,ENDDT
  1. M CATPRIOR(CATEGORY,PRIORITY,INSPTR)=AGGDATA
  1. K AGGDATA,AGGERR
  1. Q
  1. GETTPL(CATPRIOR) ;EP - CALLED BY AGAPIS
  1. ;GET JUST THE ONE SUB LEVEL
  1. S SBRECPTR=$P(RECPTR,",",3)_","_$P(RECPTR,",")_","
  1. D GETS^DIQ(9000041.0101,SBRECPTR,"*",AGGFLAG,"AGGDATA","AGGERR")
  1. Q:$D(AGGERR)
  1. S AGGFILE=9000041.0101
  1. D GETDATES(AGGFLAG,.AGGDATA,AGGFILE)
  1. ;I '$$ISACTIVE(STDT,ENDDT,AGGDOS) K AGGDATA,CATPRIOR(CATEGORY,PRIORITY,INSPTR,9000041.0101,TPRECPTR) Q
  1. I '$$ISACTIVE(STDT,ENDDT,AGGDOS) K AGGDATA,CATPRIOR(CATEGORY,PRIORITY,INSPTR) Q ;BAR*1.8*4 IM
  1. K STDT,ENDDT
  1. M AGGINS=AGGDATA
  1. M CATPRIOR(CATEGORY,PRIORITY,INSPTR)=AGGINS
  1. K AGGINS,AGGDATA,AGGERR
  1. Q
  1. WCOMP(CATPRIOR) ;EP - CALLED BY AGAPIS
  1. ;GET JUST THE ONE SUB LEVEL
  1. S SBRECPTR=$P(RECPTR,",",2)_","_$P(RECPTR,",")_","
  1. D GETS^DIQ(9000042.11,SBRECPTR,"*",AGGFLAG,"AGGDATA","AGGERR")
  1. Q:$D(AGGERR)
  1. S AGGFILE=9000042.11
  1. D GETDATES(AGGFLAG,.AGGDATA,AGGFILE)
  1. ;I '$$ISACTIVE(STDT,ENDDT,AGGDOS) K AGGDATA,CATPRIOR(CATEGORY,PRIORITY,INSPTR,9000042.11,TPRECPTR) Q
  1. I '$$ISACTIVE(STDT,ENDDT,AGGDOS) K AGGDATA,CATPRIOR(CATEGORY,PRIORITY,INSPTR) Q ;BAR*1.8*4 IM
  1. K STDT,ENDDT
  1. M AGGINS=AGGDATA
  1. M CATPRIOR(CATEGORY,PRIORITY,INSPTR)=AGGINS
  1. K AGGERR,AGGDATA,AGGERR
  1. Q
  1. GETPRVT(CATPRIOR) ;EP - CALLED BY AGAPIS
  1. ;GET JUST THE ONE SUB LEVEL
  1. S SBRECPTR=$P(RECPTR,",",3)_","_$P(RECPTR,",")_","
  1. K AGGDATA,AGGERR
  1. D GETS^DIQ(9000006.11,SBRECPTR,"*",AGGFLAG,"AGGDATA","AGGERR")
  1. Q:$D(AGGERR)
  1. S AGGFILE=9000006.11
  1. D GETDATES(AGGFLAG,.AGGDATA,AGGFILE)
  1. ;I '$$ISACTIVE(STDT,ENDDT,AGGDOS) K AGGDATA,CATPRIOR(CATEGORY,PRIORITY,INSPTR,9000006.11,TPRECPTR) Q
  1. I '$$ISACTIVE(STDT,ENDDT,AGGDOS) K AGGDATA,CATPRIOR(CATEGORY,PRIORITY,INSPTR) Q ;BAR*1.8*4 IM
  1. K STDT,ENDDT
  1. M CATPRIOR(CATEGORY,PRIORITY,INSPTR)=AGGDATA
  1. ;NOW LETS GET THE POLICY HOLDER ENTRY
  1. K AGGPOLH,AGGERR
  1. D GETS^DIQ(9000006.11,SBRECPTR,.08,"I","AGGPOLH","AGGERR")
  1. Q:$D(AGGERR)
  1. S POLHPTR=$G(AGGPOLH(9000006.11,SBRECPTR,.08,"I"))
  1. Q:POLHPTR=""
  1. K AGGPOLH,AGGERR
  1. D GETS^DIQ(9000003.1,POLHPTR,"*",AGGFLAG,"AGGPOLH","AGGERR")
  1. Q:$D(AGGERR)
  1. M CATPRIOR(CATEGORY,PRIORITY,INSPTR)=AGGPOLH
  1. K AGGPOLH,AGGDATA,AGGERR
  1. Q
  1. ;TAKE EXTERNAL DATE AND MAKE INTERNAL
  1. INT(DATE) ;
  1. K %DT
  1. S X=DATE D ^%DT
  1. K %DT
  1. Q Y
  1. ISACTIVE(EFFDT,ENDDT,DOS) ;EP - DETERMINE WHETHER THE POLICY IS ACTIVE AS OF DOS
  1. N OPENEND
  1. I EFFDT="",(ENDDT="") Q 0 ;NO DATES CONSIDERED INACTIVE
  1. S ENDDT=ENDDT ;TRUE IF END DATE IS AT COB OF END DATE - ANSWER FROM
  1. S OPENEND=ENDDT=""
  1. I OPENEND I DOS=EFFDT!(DOS>EFFDT) Q 1
  1. I DOS=EFFDT!(DOS=ENDDT) Q 1
  1. I DOS>EFFDT&(DOS<ENDDT) Q 1
  1. Q 0
  1. GETDATES(AGGFLAG,AGGDATA,AGGFILE) ;
  1. I AGGFLAG="R" D
  1. .S STDT=$G(AGGDATA(AGGFILE,SBRECPTR,$S(AGGFILE=9000043.0101!(AGGFILE=9000042.11)!(AGGFILE=9000041.0101):"EFFECTIVE DATE",1:"ELIG. DATE")))
  1. .S ENDDT=$G(AGGDATA(AGGFILE,SBRECPTR,$S(AGGFILE=9000043.0101!(AGGFILE=9000042.11)!(AGGFILE=9000041.0101):"ENDING DATE",1:"ELIG. END DATE")))
  1. .S STDT=$$INT(STDT)
  1. .Q:ENDDT=""
  1. .S ENDDT=$$INT(ENDDT)
  1. I AGGFLAG="E" D
  1. .S STDT=$G(AGGDATA(AGGFILE,SBRECPTR,$S(AGGFILE=9000042.11:.13,AGGFILE=9000041.0101:.04,AGGFILE=9000006.11:.06,1:.01),"E"))
  1. .S ENDDT=$G(AGGDATA(AGGFILE,SBRECPTR,$S(AGGFILE=9000042.11:.14,AGGFILE=9000041.0101:.05,AGGFILE=9000006.11:.07,1:.02),"E"))
  1. .S STDT=$$INT(STDT)
  1. .Q:ENDDT=""
  1. .S ENDDT=$$INT(ENDDT)
  1. I AGGFLAG="I" D
  1. .S STDT=$G(AGGDATA(AGGFILE,SBRECPTR,$S(AGGFILE=9000042.11:.13,AGGFILE=9000041.0101:.04,AGGFILE=9000006.11:.06,1:.01),"I"))
  1. .S ENDDT=$G(AGGDATA(AGGFILE,SBRECPTR,$S(AGGFILE=9000042.11:.14,AGGFILE=9000041.0101:.05,AGGFILE=9000006.11:.07,1:.02),"I"))
  1. .S STDT=$$INT(STDT)
  1. .Q:ENDDT=""
  1. .S ENDDT=$$INT(ENDDT)
  1. I AGGFLAG["E"&(AGGFLAG["I")&(AGGFLAG'["R") D
  1. .S STDT=$G(AGGDATA(AGGFILE,SBRECPTR,$S(AGGFILE=9000042.11:.13,AGGFILE=9000041.0101:.04,AGGFILE=9000006.11:.06,1:.01),"I"))
  1. .S ENDDT=$G(AGGDATA(AGGFILE,SBRECPTR,$S(AGGFILE=9000042.11:.14,AGGFILE=9000041.0101:.05,AGGFILE=9000006.11:.07,1:.02),"I"))
  1. I AGGFLAG["R"&(AGGFLAG["E")&(AGGFLAG'["I") D
  1. .S STDT=$G(AGGDATA(AGGFILE,SBRECPTR,$S(AGGFILE=9000043.0101!(AGGFILE=9000042.11)!(AGGFILE=9000041.0101):"EFFECTIVE DATE",1:"ELIG. DATE"),"E"))
  1. .S ENDDT=$G(AGGDATA(AGGFILE,SBRECPTR,$S(AGGFILE=9000043.0101!(AGGFILE=9000042.11)!(AGGFILE=9000041.0101):"ENDING DATE",1:"ELIG. END DATE"),"E"))
  1. .S STDT=$$INT(STDT)
  1. .Q:ENDDT=""
  1. .S ENDDT=$$INT(ENDDT)
  1. I AGGFLAG["R"&(AGGFLAG["I")&(AGGFLAG'["E") D
  1. .S STDT=$G(AGGDATA(AGGFILE,SBRECPTR,$S(AGGFILE=9000043.0101!(AGGFILE=9000042.11)!(AGGFILE=9000041.0101):"EFFECTIVE DATE",1:"ELIG. DATE"),"I"))
  1. .S ENDDT=$G(AGGDATA(AGGFILE,SBRECPTR,$S(AGGFILE=9000043.0101!(AGGFILE=9000042.11)!(AGGFILE=9000041.0101):"ENDING DATE",1:"ELIG. END DATE"),"I"))
  1. I AGGFLAG["R"&(AGGFLAG["E")&(AGGFLAG["I") D
  1. .S STDT=$G(AGGDATA(AGGFILE,SBRECPTR,$S(AGGFILE=9000043.0101!(AGGFILE=9000042.11)!(AGGFILE=9000041.0101):"EFFECTIVE DATE",1:"ELIG. DATE"),"I"))
  1. .S ENDDT=$G(AGGDATA(AGGFILE,SBRECPTR,$S(AGGFILE=9000043.0101!(AGGFILE=9000042.11)!(AGGFILE=9000041.0101):"ENDING DATE",1:"ELIG. END DATE"),"I"))
  1. Q