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

AGINS1.m

Go to the documentation of this file.
  1. AGINS1 ; IHS/ASDS/EFG - ROUTINE 2 TO BUILD AGINS ARRAY ;
  1. ;;7.1;PATIENT REGISTRATION;**2,3,13**;AUG 25, 2005;Build 1
  1. ;IHS/OIT/NKD AG*7.1*13 RAILROAD DISPLAY FIX
  1. Q
  1. LOAD ;EP - LOAD ARRAY AGINS WITH ELIGIBILITY DATA
  1. S SEL=SEL+1
  1. I '$D(PLANPTR) S PLANPTR=""
  1. S AGINS(SEL)=$G(INS)_U_$G(INSPTR)_U_$G(COVPTR)_U_$G(COV)_U_$G(EFF)_U_$G(END)_U_$G(PHPTR)_U_$G(PH)_U_$G(POLNUM)_U_$G(TYPE)_U_$G(RECPTR)_U_$G(PLANPTR)_U_$G(ISACTIVE)_U_$G(INSGLORF)_U_$G(MCDRATE)_U_$G(RELPOLHO)
  1. S AGINS(SEL)=AGINS(SEL)_U_$G(PCP)_U_$G(PLANNAME)_U_$G(GRPNAME)_U_$G(GRPNUMB)_U_$G(GSTREET)_U_$G(GCITY)_U_$G(GSTATE)_U_$G(GZIP)_U_$G(INSGEND)_U_$G(OPCOPAY)_U_$G(OPCOINS)_U_$G(FAMDEDUC)_U_$G(INDDEDUC)
  1. Q
  1. ;CALLED FROM AGINS
  1. ADDSEQNM ;EP - ADD SEQ #
  1. N SEQ,SEQ2,EFFDT,ENDDT,OLDSEQ,MEDCR,INSPTR,MEDICARE,MEDTYP,MEDSEQ,MED2SEQ,NEWSEQ,RAILSEQ,RAIL2SEQ
  1. N COVTYP ;IHS/SD/TPF 12/2/2005 AG*7.1*1
  1. S SEQ2=0,MEDCR=0
  1. S SEQ="" F S SEQ=$O(AGINS(SEQ)) Q:SEQ="" D
  1. .S EFFDT=$P(AGINS(SEQ),U,5)
  1. .S ENDDT=$P(AGINS(SEQ),U,6)
  1. .S SPECSUB=$S(ENDDT="":"O",1:"T") ;O=OPEN ENDED , T=TERM DATE PRESENT
  1. .S MEDTYP=$P(AGINS(SEQ),U,4)
  1. .S INSPTR=$P(AGINS(SEQ),U,2)
  1. .S SEQ2=SEQ2+1
  1. .;RESORT BASED ON MOST RECENT EFF OR END DATE DEPENDING ON WHETHER TWO DATES EXIST OR NOT
  1. .I MEDTYP="" D
  1. ..I SPECSUB="O" S AGINSN1(SPECSUB,9999999-EFFDT_U_INSPTR,SEQ)=AGINS(SEQ)
  1. ..E S AGINSN1(SPECSUB,9999999-ENDDT_U_INSPTR,SEQ)=AGINS(SEQ)
  1. .E D
  1. ..I SPECSUB="O" S AGINSN1(SPECSUB,9999999-EFFDT_U_INSPTR,SEQ)=AGINS(SEQ)
  1. ..E S AGINSN1(SPECSUB,9999999-ENDDT_U_INSPTR,SEQ)=AGINS(SEQ)
  1. ;NEW SEQ AND DISPLAY ARRAY FOR 7.1. SO MCR AND RR PART A
  1. ;AN B LIST TOGETHER AS ONE ITEM ON THE SUMMARY PAGE
  1. ;DO NOT INLCUDE MEDICARE PART D
  1. S MEDCARE=0
  1. S RAILROAD=0
  1. S NEWSEQ=0
  1. S NEWSEQR=0
  1. S SPECSUB=""
  1. F S SPECSUB=$O(AGINSN1(SPECSUB)) Q:SPECSUB="" D
  1. .S EFFDT=""
  1. .F S EFFDT=$O(AGINSN1(SPECSUB,EFFDT)) Q:EFFDT="" D
  1. ..S OLDSEQ=""
  1. ..F S OLDSEQ=$O(AGINSN1(SPECSUB,EFFDT,OLDSEQ)) Q:OLDSEQ="" D
  1. ...S MEDTYP=$P(AGINSN1(SPECSUB,EFFDT,OLDSEQ),U,2)
  1. ...S COVTYP=$P(AGINSN1(SPECSUB,EFFDT,OLDSEQ),U,4) ;IHS/SD/TPF 12/2/2005 AG*7.1*1
  1. ...;MEDICARE
  1. ...I MEDTYP=2,MEDCARE,(COVTYP'="D") S MED2SEQ=MED2SEQ+1,AGINSNN(MEDSEQ,MED2SEQ)=AGINS(OLDSEQ) Q
  1. ...;I MEDTYP=2,'MEDCARE S MEDCARE=1 S NEWSEQ=NEWSEQ+1,MEDSEQ=NEWSEQ,MED2SEQ=1 S AGINSNN(MEDSEQ,MED2SEQ)=AGINS(OLDSEQ) Q
  1. ...I MEDTYP=2,'MEDCARE,(COVTYP'="D") S MEDCARE=1 S NEWSEQ=NEWSEQ+1,MEDSEQ=NEWSEQ,MED2SEQ=1 S AGINSNN(MEDSEQ,MED2SEQ)=AGINS(OLDSEQ) Q ;IHS/SD/TPF 12/2/2005 AG*7.1*1
  1. ...;NEW CODE FOR RAILROAD
  1. ...;I MEDTYP=1,RAILROAD S RAIL2SEQ=RAIL2SEQ+1,AGINSNN(MEDSEQ,RAIL2SEQ)=AGINS(OLDSEQ) Q ; IHS/OIT/NKD AG*7.1*13
  1. ...I MEDTYP=1,RAILROAD S RAIL2SEQ=RAIL2SEQ+1,AGINSNN(RAILSEQ,RAIL2SEQ)=AGINS(OLDSEQ) Q
  1. ...;I MEDTYP=1,'RAILROAD S RAILROAD=1 S NEWSEQ=NEWSEQ+1,MEDSEQ=NEWSEQ,RAIL2SEQ=1 S AGINSNN(MEDSEQ,RAIL2SEQ)=AGINS(OLDSEQ) Q ; IHS/OIT/NKD AG*7.1*13
  1. ...I MEDTYP=1,'RAILROAD S RAILROAD=1 S NEWSEQ=NEWSEQ+1,RAILSEQ=NEWSEQ,RAIL2SEQ=1 S AGINSNN(RAILSEQ,RAIL2SEQ)=AGINS(OLDSEQ) Q
  1. ...;END RAILROAD
  1. ...I MEDTYP'=2,(MEDTYP'=1) S NEWSEQ=NEWSEQ+1
  1. ...I MEDTYP=2,(COVTYP="D") S NEWSEQ=NEWSEQ+1 ;IHS/SD/TPF 12/5/05 AG*7.1*1 ITEM 1
  1. ...S AGINSNN(NEWSEQ)=AGINS(OLDSEQ)
  1. ;AGINS REMAINS AND WILL BE USED WITH SEQUENCING
  1. ;AGINSNN NEW ARRAY TO BE USED WITH "DEFAULT" OR "NORMAL" DISPLAY
  1. Q