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

AGBIC2C.m

Go to the documentation of this file.
  1. AGBIC2C ; IHS/ASDS/EFG - COMPUTE ELIGIBILITY STATUS ;
  1. ;;7.1;PATIENT REGISTRATION;;AUG 25,2005
  1. ;
  1. Q:'$D(^AUPNPAT(DFN,11))
  1. S AG("OLDELIG")=" "
  1. I $P(^AUPNPAT(DFN,11),U,24)]"" D
  1. . S AG("OLDELIG")=$P(^AUTTBICE($P(^AUPNPAT(DFN,11),U,24),0),U,2)
  1. S AG("Q")=$P(^AUPNPAT(DFN,11),U,10)
  1. S AG("TRIBE")=$P(^AUPNPAT(DFN,11),U,8)
  1. S AG("MINOR")=$P(^AUPNPAT(DFN,11),U,25)
  1. S AG("TRBVER")=$P(^AUPNPAT(DFN,11),U,19)
  1. S AG("BIC")=$P(^AUPNPAT(DFN,11),U,24)
  1. S AG("RESVER")=$P(^AUPNPAT(DFN,11),U,21)
  1. S AG("PRVRES")=$P(^AUPNPAT(DFN,11),U,22)
  1. BLOOD ;
  1. ;Indian using Blood Quantum.
  1. S AG("Q")=$S(AG("Q")="N":1,AG("Q")="NONE":2,AG("Q")="UNK":3,AG("Q")="UNKNOWN":4,AG("Q")="UNS":5,AG("Q")="UNSPECIFIED":6,1:9)
  1. G:AG("Q")=9 TRIBE
  1. S AG("ELIG")="E"
  1. D SETELIG
  1. G END
  1. TRIBE ;
  1. ;Tribal Member.
  1. I AG("TRIBE")="" I AG("MINOR")'="T"&(AG("MINOR")'="B") D Q
  1. . S AG("ELIG")="F"
  1. . D SETELIG
  1. . D END
  1. I AG("TRIBE")]"" S AG("CD")=$P(^AUTTTRI(AG("TRIBE"),0),U,2) I AG("CD")="000"!(AG("CD")>"979") I AG("MINOR")'="T"&(AG("MINOR")'="B") S AG("ELIG")="F" D SETELIG,END Q
  1. I $P(^AUTTTRI(AG("TRIBE"),0),U,4)="Y" I AG("MINOR")'="T"&(AG("MINOR")'="B") D Q
  1. . S AG("ELIG")="F"
  1. . D SETELIG
  1. . D END
  1. TRBVER ;
  1. I AG("TRBVER")'="Y"&(AG("MINOR")'="T")&(AG("MINOR")'="B") G TRBNOTVR
  1. RES ;
  1. ;Resides in HSDA.
  1. I '$D(^AUPNPAT(DFN,51)) G CKPREV
  1. S AG("DT")=0
  1. S AG("DT")=$O(^AUPNPAT(DFN,51,AG("DT")))
  1. I $P(^AUPNPAT(DFN,51,AG("DT"),0),U,3)="" G CKPREV
  1. I $P(^AUTTCTY($P(^AUTTCOM($P(^AUPNPAT(DFN,51,AG("DT"),0),U,3),0),U,2),0),U,5)'="Y" G CKPARENT
  1. RESVER ;
  1. ;Residence Verified.
  1. I AG("RESVER")="Y"!(AG("MINOR")="C")!(AG("MINOR")="B") D Q
  1. . S AG("ELIG")="A"
  1. . D SETELIG
  1. . D END
  1. RESNOTVR ;
  1. S AG("ELIG")="G"
  1. D SETELIG
  1. D END
  1. Q
  1. CKPARENT ;
  1. I AG("MINOR")="C"!(AG("MINOR")="B") D Q
  1. . S AG("ELIG")="A"
  1. . D SETELIG
  1. . D END
  1. CKPREV ;
  1. I AG("MINOR")="C"!(AG("MINOR")="B") D Q
  1. . S AG("ELIG")="A"
  1. . D SETELIG
  1. . D END
  1. I AG("PRVRES")="Y" D Q
  1. . S AG("ELIG")="B"
  1. . D SETELIG
  1. . D END
  1. S AG("ELIG")="X"
  1. D SETELIG
  1. D END
  1. Q
  1. TRBNOTVR ;
  1. G CKPREV1:'$D(^AUPNPAT(DFN,51))
  1. G CKPREV1:$P(^AUPNPAT(DFN,51,0),U,3)=""
  1. G CKPREV1:'$D(^AUPNPAT(DFN,51,$P(^AUPNPAT(DFN,51,0),U,3),0))
  1. S AG("DT")=0
  1. S AG("DT")=$O(^AUPNPAT(DFN,51,AG("DT")))
  1. I $P(^AUPNPAT(DFN,51,AG("DT"),0),U,3)="" G CKPREV1
  1. I $P(^AUTTCTY($P(^AUTTCOM($P(^AUPNPAT(DFN,51,AG("DT"),0),U,3),0),U,2),0),U,5)'="Y" G CKPRNT1
  1. I AG("RESVER")="Y"!(AG("MINOR")="C")!(AG("MINOR")="B") S AG("ELIG")="Z" D SETELIG,END Q
  1. S AG("ELIG")="K"
  1. D SETELIG
  1. D END
  1. Q
  1. CKPRNT1 ;
  1. I AG("MINOR")="C"!(AG("MINOR")="B") D Q
  1. . S AG("ELIG")="Z"
  1. . D SETELIG
  1. . D END
  1. CKPREV1 ;
  1. I AG("MINOR")="C"!(AG("MINOR")="B") D Q
  1. . S AG("ELIG")="Z"
  1. . D SETELIG
  1. . D END
  1. I AG("PRVRES")="Y" D Q
  1. . S AG("ELIG")="J"
  1. . D SETELIG
  1. . D END
  1. S AG("ELIG")="X"
  1. D SETELIG
  1. D END
  1. Q
  1. END ;
  1. K AG("COMM"),AG("DT"),AG("ELIG"),AG("OLDELIG"),AG("Q"),AG("TRIBE")
  1. K AG("MINOR"),AG("TRBVER"),AG("BIC"),AG("RESVER"),AG("PRVRES")
  1. Q
  1. ELIGDATE ;
  1. S DA=DFN
  1. S DR="1123///"_DT
  1. S DIE="^AUPNPAT("
  1. D ^DIE
  1. Q
  1. SETELIG ;
  1. S DA=DFN
  1. S DIE="^AUPNPAT("
  1. S DR="1124///"_AG("ELIG")
  1. D ^DIE
  1. D ELIGDATE
  1. I "AB"[AG("ELIG") I "AB"'[AG("OLDELIG") D ^AGBIC1
  1. Q