[613] | 1 | DGENA ;ALB/CJM,ISA/KWP,Zoltan,LBD,CKN,EG - Enrollment API - Retrieve Data; 12/11/00 4:19pm ; 04/24/2006 8:51 AM
|
---|
| 2 | ;;5.3;Registration;**121,122,147,232,314,564,672,659,653**;Aug 13, 1993;Build 2
|
---|
| 3 | ;
|
---|
| 4 | FINDCUR(DFN) ;
|
---|
| 5 | ;Description: Used to find a patients current enrollment.
|
---|
| 6 | ;Input :
|
---|
| 7 | ; DFN - Patient IEN
|
---|
| 8 | ;Output:
|
---|
| 9 | ; Function Value - returns the internal entry number of the patient's
|
---|
| 10 | ; current enrollment if there is one, NULL otherwise. Checks that
|
---|
| 11 | ; current enrollment actually belongs to the patient.
|
---|
| 12 | ;
|
---|
| 13 | Q:'$G(DFN) ""
|
---|
| 14 | ;
|
---|
| 15 | N CUR
|
---|
| 16 | S CUR=$P($G(^DPT(DFN,"ENR")),"^")
|
---|
| 17 | I CUR,$P($G(^DGEN(27.11,CUR,0)),"^",2)'=DFN S CUR=""
|
---|
| 18 | Q CUR
|
---|
| 19 | ;
|
---|
| 20 | FINDPRI(DGENRIEN) ;
|
---|
| 21 | ;Description: Used to obtain a patient's enrollment record that was
|
---|
| 22 | ; prior to the enrollment identified by DGENRIEN.
|
---|
| 23 | ;Input :
|
---|
| 24 | ; DGENRIEN - this is the internal entry number of a PATIENT ENROLLMENT
|
---|
| 25 | ; record
|
---|
| 26 | ;Output:
|
---|
| 27 | ; Function Value - returns the internal entry number of the prior
|
---|
| 28 | ; enrollment for the patient if there is one, NULL otherwise.
|
---|
| 29 | ;
|
---|
| 30 | Q:'$G(DGENRIEN) ""
|
---|
| 31 | Q $P($G(^DGEN(27.11,DGENRIEN,0)),"^",9)
|
---|
| 32 | ;
|
---|
| 33 | ENROLLED(DFN) ;
|
---|
| 34 | ;Description: Returns whether the patient is currently enrolled.
|
---|
| 35 | ;Input:
|
---|
| 36 | ; DFN - Patient IEN
|
---|
| 37 | ;Output:
|
---|
| 38 | ; Function Value - returns 1 if the patient is currently enrolled with
|
---|
| 39 | ; a status of VERIFIED, 0 otherwise
|
---|
| 40 | ;
|
---|
| 41 | N STATUS
|
---|
| 42 | S STATUS=$$STATUS($G(DFN))
|
---|
| 43 | I (STATUS=2) Q 1
|
---|
| 44 | Q 0
|
---|
| 45 | ;
|
---|
| 46 | STATUS(DFN) ;
|
---|
| 47 | ;Description: Returns ENROLLMENT STATUS from the patient's current
|
---|
| 48 | ; enrollment.
|
---|
| 49 | ;Input:
|
---|
| 50 | ; DFN - Patient IEN
|
---|
| 51 | ;Output:
|
---|
| 52 | ; Function Value - If the patient has a current ENROLLMENT STATUS this
|
---|
| 53 | ; function will return its value, otherwise it returns NULL.
|
---|
| 54 | N DGENRIEN
|
---|
| 55 | S DGENRIEN=$$FINDCUR($G(DFN))
|
---|
| 56 | Q:'DGENRIEN ""
|
---|
| 57 | Q $P($G(^DGEN(27.11,DGENRIEN,0)),"^",4)
|
---|
| 58 | ;
|
---|
| 59 | PRIORITY(DFN) ;
|
---|
| 60 | ;Description: Returns ENROLLMENT PRIORITY from the patient's current
|
---|
| 61 | ; enrollment.
|
---|
| 62 | ;Input:
|
---|
| 63 | ; DFN - Patient IEN
|
---|
| 64 | ;Output:
|
---|
| 65 | ; Function Value - If the patient has a current ENROLLMENT PRIORITY
|
---|
| 66 | ; this function will return its value, otherwise it returns NULL.
|
---|
| 67 | N DGENRIEN
|
---|
| 68 | S DGENRIEN=$$FINDCUR($G(DFN))
|
---|
| 69 | Q:'DGENRIEN ""
|
---|
| 70 | Q $P($G(^DGEN(27.11,DGENRIEN,0)),"^",7)
|
---|
| 71 | ;
|
---|
| 72 | SOURCE(DFN) ;
|
---|
| 73 | ;Description: Returns SOURCE OF ENROLLMENT from the patient's current
|
---|
| 74 | ; enrollment.
|
---|
| 75 | ;Input:
|
---|
| 76 | ; DFN - Patient IEN
|
---|
| 77 | ;Output:
|
---|
| 78 | ; Function Value - If the patient has a current ENROLLMENT
|
---|
| 79 | ; this function will return the SOURCE OF ENROLLMENT, otherwise
|
---|
| 80 | ; it returns NULL.
|
---|
| 81 | ;
|
---|
| 82 | N DGENRIEN
|
---|
| 83 | S DGENRIEN=$$FINDCUR($G(DFN))
|
---|
| 84 | Q:'DGENRIEN ""
|
---|
| 85 | Q $P($G(^DGEN(27.11,DGENRIEN,0)),"^",3)
|
---|
| 86 | ;
|
---|
| 87 | GET(DGENRIEN,DGENR) ;
|
---|
| 88 | ;Description: Used to obtain a record from the Patient Enrollment file
|
---|
| 89 | ; into the local DGENR array.
|
---|
| 90 | ;Input :
|
---|
| 91 | ; DGENRIEN - this is the internal entry number of a PATIENT ENROLLMENT record
|
---|
| 92 | ;Output:
|
---|
| 93 | ; Function Value - returns 1 on success, 0 on failure.
|
---|
| 94 | ; DGENR - this is the name of a local array, it should be passed by
|
---|
| 95 | ; reference. If the function is successful this array will
|
---|
| 96 | ; contain the enrollment.
|
---|
| 97 | ;
|
---|
| 98 | ; subscript field name
|
---|
| 99 | ; "APP" Enrollment Applicaiton Date
|
---|
| 100 | ; "DATE" Enrollment Date
|
---|
| 101 | ; "END" Enrollment End Date
|
---|
| 102 | ; "DFN" Patient IEN
|
---|
| 103 | ; "SOURCE" Enrollment Source
|
---|
| 104 | ; "STATUS" Enrollment Status
|
---|
| 105 | ; "REASON" Reason Canceled/Declined
|
---|
| 106 | ; "REMARKS" Canceled/Declined Remarks
|
---|
| 107 | ; "FACREC" Facility Received
|
---|
| 108 | ; "PRIORITY" Enrollment Priority
|
---|
| 109 | ; "SUBGRP" Enrollment Sub-Group
|
---|
| 110 | ; "EFFDATE" Effective Date
|
---|
| 111 | ; "PRIORREC" Prior Enrollment Record
|
---|
| 112 | ; "ELIG","CODE" Primary Eligibility Code
|
---|
| 113 | ; "ELIG","CODE",<code ien> Eligibility Codes
|
---|
| 114 | ; "ELIG","SC" Service Connected
|
---|
| 115 | ; "ELIG","SCPER" Service Connected Percentage
|
---|
| 116 | ; "ELIG","POW" POW Status Indicated
|
---|
| 117 | ; "ELIG","A&A" Receiving A&A Benefits
|
---|
| 118 | ; "ELIG","HB" Receiving Housebound Benefits
|
---|
| 119 | ; "ELIG","VAPEN" Receiving a VA Pension
|
---|
| 120 | ; "ELIG","VACKAMT" Total Annual VA Check Amount
|
---|
| 121 | ; "ELIG","DISRET" Military Disability Retirement
|
---|
| 122 | ; "ELIG","DISLOD" Discharged Due to Disability
|
---|
| 123 | ; "ELIG","MEDICAID" Medicaid
|
---|
| 124 | ; "ELIG","AO" Exposed to Agent Orange
|
---|
| 125 | ; "ELIG","IR" Radiation Exposure Indicated
|
---|
| 126 | ; "ELIG","RADEXPM" Radiation Exposure Method
|
---|
| 127 | ; "ELIG","EC" Environmental Contaminants
|
---|
| 128 | ; "ELIG","MTSTA" Means Test Status
|
---|
| 129 | ; "ELIG","VCD" Veteran Catastrophically Disabled?
|
---|
| 130 | ; "ELIG","PH" Purple Heart Indicated?
|
---|
| 131 | ; "ELIG","UNEMPLOY" Unemployable
|
---|
| 132 | ; "ELIG","CVELEDT" Combat Veteran End Date
|
---|
| 133 | ; "ELIG","SHAD" SHAD Indicated
|
---|
| 134 | ; "DATETIME" Date/Time Entered
|
---|
| 135 | ; "USER" Entered By
|
---|
| 136 | ;
|
---|
| 137 | N SUB,NODE
|
---|
| 138 | I '$G(DGENRIEN) Q 0
|
---|
| 139 | I '$D(^DGEN(27.11,DGENRIEN,0)) Q 0
|
---|
| 140 | K DGENR
|
---|
| 141 | S DGENR=""
|
---|
| 142 | S NODE=$G(^DGEN(27.11,DGENRIEN,0))
|
---|
| 143 | S DGENR("APP")=$P(NODE,"^")
|
---|
| 144 | S DGENR("DATE")=$P(NODE,"^",10)
|
---|
| 145 | S DGENR("END")=$P(NODE,"^",11)
|
---|
| 146 | S DGENR("DFN")=$P(NODE,"^",2)
|
---|
| 147 | S DGENR("SOURCE")=$P(NODE,"^",3)
|
---|
| 148 | S DGENR("STATUS")=$P(NODE,"^",4)
|
---|
| 149 | S DGENR("REASON")=$P(NODE,"^",5)
|
---|
| 150 | S DGENR("FACREC")=$P(NODE,"^",6)
|
---|
| 151 | S DGENR("PRIORITY")=$P(NODE,"^",7)
|
---|
| 152 | S DGENR("EFFDATE")=$P(NODE,"^",8)
|
---|
| 153 | S DGENR("PRIORREC")=$P(NODE,"^",9)
|
---|
| 154 | ;Phase II Get enrollment sub-grp (SRS 6.4)
|
---|
| 155 | S DGENR("SUBGRP")=$P(NODE,"^",12)
|
---|
| 156 | S NODE=$G(^DGEN(27.11,DGENRIEN,"R"))
|
---|
| 157 | S DGENR("REMARKS")=$P(NODE,"^")
|
---|
| 158 | S NODE=$G(^DGEN(27.11,DGENRIEN,"E"))
|
---|
| 159 | S DGENR("ELIG","CODE")=$P(NODE,"^")
|
---|
| 160 | S DGENR("ELIG","SC")=$P(NODE,"^",2)
|
---|
| 161 | S DGENR("ELIG","SCPER")=$P(NODE,"^",3)
|
---|
| 162 | S DGENR("ELIG","POW")=$P(NODE,"^",4)
|
---|
| 163 | S DGENR("ELIG","A&A")=$P(NODE,"^",5)
|
---|
| 164 | S DGENR("ELIG","HB")=$P(NODE,"^",6)
|
---|
| 165 | S DGENR("ELIG","VAPEN")=$P(NODE,"^",7)
|
---|
| 166 | S DGENR("ELIG","VACKAMT")=$P(NODE,"^",8)
|
---|
| 167 | S DGENR("ELIG","DISRET")=$P(NODE,"^",9)
|
---|
| 168 | S DGENR("ELIG","DISLOD")=$P(NODE,"^",20) ;added with DG*5.3*672
|
---|
| 169 | S DGENR("ELIG","MEDICAID")=$P(NODE,"^",10)
|
---|
| 170 | S DGENR("ELIG","AO")=$P(NODE,"^",11)
|
---|
| 171 | S DGENR("ELIG","IR")=$P(NODE,"^",12)
|
---|
| 172 | S DGENR("ELIG","EC")=$P(NODE,"^",13)
|
---|
| 173 | S DGENR("ELIG","MTSTA")=$P(NODE,"^",14)
|
---|
| 174 | S DGENR("ELIG","VCD")=$P(NODE,"^",15)
|
---|
| 175 | S DGENR("ELIG","PH")=$P(NODE,"^",16)
|
---|
| 176 | S DGENR("ELIG","UNEMPLOY")=$P(NODE,"^",17)
|
---|
| 177 | S DGENR("ELIG","CVELEDT")=$P(NODE,"^",18)
|
---|
| 178 | S DGENR("ELIG","SHAD")=$P(NODE,"^",19)
|
---|
| 179 | S DGENR("ELIG","RADEXPM")=$P(NODE,"^",21)
|
---|
| 180 | ;S DGENCDZZ=1 ; for CD Testing (disabled).
|
---|
| 181 | S NODE=$G(^DGEN(27.11,DGENRIEN,"U"))
|
---|
| 182 | S DGENR("DATETIME")=$P(NODE,"^")
|
---|
| 183 | S DGENR("USER")=$P(NODE,"^",2)
|
---|
| 184 | Q 1
|
---|
| 185 | ;
|
---|