[613] | 1 | AUPNPAT2 ; IHS/CMI/LAB - PATIENT ELIGIBILITY EXTRINSICS ; [ 05/09/2003 8:02 AM ]
|
---|
| 2 | ;;1.0;PCE PATIENT CARE ENCOUNTER;**167**;Aug 12, 1996;Build 22
|
---|
| 3 | ;
|
---|
| 4 | Q
|
---|
| 5 | ;
|
---|
| 6 | ;---------
|
---|
| 7 | ; MCR: Input - P = DFN
|
---|
| 8 | ; D = Date
|
---|
| 9 | ; Output - 1 = Yes, patient is/was MCare eligible on date D.
|
---|
| 10 | ; 0 = No, or unable.
|
---|
| 11 | ;
|
---|
| 12 | ; Examples: I $$MCR^AUPNPAT(DFN,2930701)
|
---|
| 13 | ; S AGMCR=$$MCR^AUPNPAT(DFN,DT)
|
---|
| 14 | ;
|
---|
| 15 | MCR(P,D) ;EP - Is patient P medicare eligible on date D. 1 = yes, 0 = no.
|
---|
| 16 | ; I = IEN in ^AUPNMCR multiple.
|
---|
| 17 | I '$G(P) Q 0
|
---|
| 18 | I '$G(D) Q 0
|
---|
| 19 | NEW I,Y
|
---|
| 20 | S Y=0,U="^"
|
---|
| 21 | I '$D(^DPT(P,0)) G MCRX
|
---|
| 22 | I $P(^DPT(P,0),U,19) G MCRX
|
---|
| 23 | I '$D(^AUPNPAT(P,0)) G MCRX
|
---|
| 24 | I '$D(^AUPNMCR(P,11)) G MCRX
|
---|
| 25 | I $D(^DPT(P,.35)),$P(^(.35),U)]"",$P(^(.35),U)<D G MCRX
|
---|
| 26 | S I=0
|
---|
| 27 | F S I=$O(^AUPNMCR(P,11,I)) Q:I'=+I D
|
---|
| 28 | . Q:$P(^AUPNMCR(P,11,I,0),U)>D
|
---|
| 29 | . I $P(^AUPNMCR(P,11,I,0),U,2)]"",$P(^(0),U,2)<D Q
|
---|
| 30 | . S Y=1
|
---|
| 31 | .Q
|
---|
| 32 | MCRX ;
|
---|
| 33 | Q Y
|
---|
| 34 | ;
|
---|
| 35 | ;----------
|
---|
| 36 | ; MCD: Input - P = DFN
|
---|
| 37 | ; D = Date
|
---|
| 38 | ; Output - 1 = Yes, patient is/was MCaid eligible on date D.
|
---|
| 39 | ; 0 = No, or unable.
|
---|
| 40 | ;
|
---|
| 41 | ; Examples: I $$MCD^AUPNPAT(DFN,2930701)
|
---|
| 42 | ; S AGMCD=$$MCD^AUPNPAT(DFN,DT)
|
---|
| 43 | ;
|
---|
| 44 | MCD(P,D) ;EP - Is patient P medicaid eligible on date D.
|
---|
| 45 | ; I = IEN.
|
---|
| 46 | ; J = Node 11 IEN in ^AUPNMCD.
|
---|
| 47 | I '$G(P) Q 0
|
---|
| 48 | I '$G(D) Q 0
|
---|
| 49 | NEW I,J,Y
|
---|
| 50 | S Y=0,U="^"
|
---|
| 51 | I '$D(^DPT(P,0)) G MCDX
|
---|
| 52 | I $P(^DPT(P,0),U,19) G MCDX
|
---|
| 53 | I '$D(^AUPNPAT(P,0)) G MCDX
|
---|
| 54 | I $D(^DPT(P,.35)),$P(^(.35),U)]"",$P(^(.35),U)<D G MCDX
|
---|
| 55 | S I=0 F S I=$O(^AUPNMCD("B",P,I)) Q:I'=+I D
|
---|
| 56 | .Q:'$D(^AUPNMCD(I,11))
|
---|
| 57 | .S J=0 F S J=$O(^AUPNMCD(I,11,J)) Q:J'=+J D
|
---|
| 58 | ..Q:J>D
|
---|
| 59 | ..I $P(^AUPNMCD(I,11,J,0),U,2)]"",$P(^(0),U,2)<D Q
|
---|
| 60 | ..S Y=1
|
---|
| 61 | ..Q
|
---|
| 62 | .Q
|
---|
| 63 | ;
|
---|
| 64 | MCDX ;
|
---|
| 65 | Q Y
|
---|
| 66 | ;
|
---|
| 67 | ;----------
|
---|
| 68 | ; MCDPN: Input - P = DFN
|
---|
| 69 | ; D = Date
|
---|
| 70 | ; F = Form for output of plan (Insurer) name.
|
---|
| 71 | ; If F = "E", return external form, else pointer to INSURER file.
|
---|
| 72 | ; Output - Literal = Cleartext name of insurer.
|
---|
| 73 | ; Number = Pointer to INSURER file.
|
---|
| 74 | ;
|
---|
| 75 | ; Examples: I $$MCDPN^AUPNPAT(DFN,2930701)
|
---|
| 76 | ; S AGMCDPN=$$MCDPN^AUPNPAT(DFN,DT,"E")
|
---|
| 77 | ;
|
---|
| 78 | MCDPN(P,D,F) ;EP - return medicaid plan name for patient P on date D in form F.
|
---|
| 79 | ; I = IEN
|
---|
| 80 | ; J = Node 11 IEN
|
---|
| 81 | I '$G(P) Q ""
|
---|
| 82 | I '$G(D) Q ""
|
---|
| 83 | S F=$G(F)
|
---|
| 84 | NEW I,J,Y
|
---|
| 85 | S Y="",U="^"
|
---|
| 86 | I '$D(^DPT(P,0)) G MCDPNX
|
---|
| 87 | I $P(^DPT(P,0),U,19) G MCDPNX
|
---|
| 88 | I '$D(^AUPNPAT(P,0)) G MCDPNX
|
---|
| 89 | I $D(^DPT(P,.35)),$P(^(.35),U)]"",$P(^(.35),U)<D G MCDPNX
|
---|
| 90 | S I=0
|
---|
| 91 | F S I=$O(^AUPNMCD("B",P,I)) Q:I'=+I D
|
---|
| 92 | . Q:'$D(^AUPNMCD(I,11))
|
---|
| 93 | . S J=0
|
---|
| 94 | . F S J=$O(^AUPNMCD(I,11,J)) Q:J'=+J D
|
---|
| 95 | .. Q:J>D
|
---|
| 96 | .. I $P(^AUPNMCD(I,11,J,0),U,2)]"",$P(^(0),U,2)<D Q
|
---|
| 97 | .. S Y=$P(^AUPNMCD(I,0),U,10)
|
---|
| 98 | .. I Y]"" S Y=$S(F="E":$P(^AUTNINS(Y,0),U),1:Y)
|
---|
| 99 | ..Q
|
---|
| 100 | .Q
|
---|
| 101 | ;
|
---|
| 102 | MCDPNX ;
|
---|
| 103 | Q Y
|
---|
| 104 | ;
|
---|
| 105 | ;----------
|
---|
| 106 | ; PI: Input - P = DFN
|
---|
| 107 | ; D = Date
|
---|
| 108 | ; Output - 1 = Yes, patient is/was PI eligible on date D.
|
---|
| 109 | ; 0 = No, or unable.
|
---|
| 110 | ;
|
---|
| 111 | ; Examples: I $$PI^AUPNPAT(DFN,2930701)
|
---|
| 112 | ; S AGPI=$$PI^AUPNPAT(DFN,DT)
|
---|
| 113 | ;
|
---|
| 114 | PI(P,D) ;EP - Is patient P private insurance eligible on date D. 1= yes, 0=no.
|
---|
| 115 | ; I = IEN
|
---|
| 116 | ; Y = 1:yes, 0:no
|
---|
| 117 | ; X = Pointer to INSURER file.
|
---|
| 118 | I '$G(P) Q 0
|
---|
| 119 | I '$G(D) Q 0
|
---|
| 120 | NEW I,Y,X
|
---|
| 121 | S Y=0,U="^"
|
---|
| 122 | I '$D(^DPT(P,0)) G PIX
|
---|
| 123 | I $P(^DPT(P,0),U,19) G PIX
|
---|
| 124 | I '$D(^AUPNPAT(P,0)) G PIX
|
---|
| 125 | I '$D(^AUPNPRVT(P,11)) G PIX
|
---|
| 126 | I $D(^DPT(P,.35)),$P(^(.35),U)]"",$P(^(.35),U)<D G PIX
|
---|
| 127 | S I=0
|
---|
| 128 | F S I=$O(^AUPNPRVT(P,11,I)) Q:I'=+I D
|
---|
| 129 | . Q:$P(^AUPNPRVT(P,11,I,0),U)=""
|
---|
| 130 | . S X=$P(^AUPNPRVT(P,11,I,0),U) Q:X=""
|
---|
| 131 | . Q:$P(^AUTNINS(X,0),U)["AHCCCS"
|
---|
| 132 | . Q:$P(^AUPNPRVT(P,11,I,0),U,6)>D
|
---|
| 133 | . I $P(^AUPNPRVT(P,11,I,0),U,7)]"",$P(^(0),U,7)<D Q
|
---|
| 134 | . S Y=1
|
---|
| 135 | .Q
|
---|
| 136 | PIX ;
|
---|
| 137 | Q Y
|
---|
| 138 | ;
|
---|
| 139 | ;----------
|
---|
| 140 | ; PIN: Input - P = DFN
|
---|
| 141 | ; D = Date
|
---|
| 142 | ; F = Form for output of plan (Insurer) name.
|
---|
| 143 | ; If F = "E", return external form, else pointer to INSURER file.
|
---|
| 144 | ; Output - Literal = Cleartext name of insurer.
|
---|
| 145 | ; Number = Pointer to INSURER file.
|
---|
| 146 | ;
|
---|
| 147 | ; Examples: I $$PIN^AUPNPAT(DFN,2930701)
|
---|
| 148 | ; S AGPIN=$$PIN^AUPNPAT(DFN,DT,"E")
|
---|
| 149 | ;
|
---|
| 150 | PIN(P,D,F) ;EP - return private insurer name for patient P on date D in form F
|
---|
| 151 | ; I = IEN
|
---|
| 152 | I '$G(P) Q 0
|
---|
| 153 | I '$G(D) Q 0
|
---|
| 154 | NEW I,Y,J
|
---|
| 155 | S F=$G(F)
|
---|
| 156 | S Y="",U="^",J=""
|
---|
| 157 | I '$D(^DPT(P,0)) G PINX
|
---|
| 158 | I $P(^DPT(P,0),U,19) G PINX
|
---|
| 159 | I '$D(^AUPNPAT(P,0)) G PINX
|
---|
| 160 | I '$D(^AUPNPRVT(P,11)) G PINX
|
---|
| 161 | I $D(^DPT(P,.35)),$P(^(.35),U)]"",$P(^(.35),U)<D G PINX
|
---|
| 162 | S I=0
|
---|
| 163 | F S I=$O(^AUPNPRVT(P,11,I)) Q:I'=+I D
|
---|
| 164 | . Q:$P(^AUPNPRVT(P,11,I,0),U)=""
|
---|
| 165 | . S Y=$P(^AUPNPRVT(P,11,I,0),U)
|
---|
| 166 | . I $P(^AUTNINS(Y,0),U)["AHCCCS" Q
|
---|
| 167 | . I $P(^AUPNPRVT(P,11,I,0),U,6)>D Q
|
---|
| 168 | . I $P(^AUPNPRVT(P,11,I,0),U,7)]"",$P(^(0),U,7)<D Q
|
---|
| 169 | . S J=$S(F="E":$P(^AUTNINS(Y,0),U),1:Y)
|
---|
| 170 | .Q
|
---|
| 171 | PINX ;
|
---|
| 172 | Q J
|
---|
| 173 | ;
|
---|
| 174 | ;Begin New Code;IHS/SET/GTH AUPN*99.1*8 10/04/2002
|
---|
| 175 | RRE(P,D) ;EP - Does pt have Railroad insurance on date? 1 = yes, 0 = no.
|
---|
| 176 | ; I = IEN in ^AUPNRRE multiple.
|
---|
| 177 | I '$G(P) Q 0
|
---|
| 178 | I '$G(D) Q 0
|
---|
| 179 | NEW I,Y
|
---|
| 180 | S Y=0,U="^"
|
---|
| 181 | I '$D(^DPT(P,0)) Q 0
|
---|
| 182 | I $P($G(^DPT(P,0)),U,19) Q 0
|
---|
| 183 | I '$D(^AUPNPAT(P,0)) Q 0
|
---|
| 184 | I '$D(^AUPNRRE(P,11)) Q 0
|
---|
| 185 | I $D(^DPT(P,.35)),$P(^DPT(P,.35),U)]"",$P($G(^DPT(P,.35)),U)<D Q 0
|
---|
| 186 | S I=0
|
---|
| 187 | F S I=$O(^AUPNRRE(P,11,I)) Q:I'=+I D
|
---|
| 188 | . Q:$P(^AUPNRRE(P,11,I,0),U)>D
|
---|
| 189 | . I $P($G(^AUPNRRE(P,11,I,0)),U,2)]"",$P($G(^AUPNRRE(P,11,I,0)),U,2)<D Q
|
---|
| 190 | . S Y=1
|
---|
| 191 | .Q
|
---|
| 192 | RREX ;
|
---|
| 193 | Q Y
|
---|
| 194 | ;
|
---|
| 195 | ;End New Code;IHS/SET/GTH AUPN*99.1*8 10/04/2002
|
---|