| [613] | 1 | RORRP026 ;HCIOFO/SG - RPC: CDC UTILITIES ; 5/19/06 2:52pm
 | 
|---|
 | 2 |  ;;1.5;CLINICAL CASE REGISTRIES;**1**;Feb 17, 2006;Build 24
 | 
|---|
 | 3 |  ;
 | 
|---|
 | 4 |  ;--------------------------------------------------------------------
 | 
|---|
 | 5 |  ; Registry: [VA HIV]
 | 
|---|
 | 6 |  ;--------------------------------------------------------------------
 | 
|---|
 | 7 |  Q
 | 
|---|
 | 8 |  ;
 | 
|---|
 | 9 |  ;***** POPULATES THE FDA WITH THE CDC DATA
 | 
|---|
 | 10 |  ;
 | 
|---|
 | 11 |  ; IENS          IENS of the record in the ROR HIV STUDY file
 | 
|---|
 | 12 |  ;
 | 
|---|
 | 13 |  ; TBLREF        Reference to a field table in the source code
 | 
|---|
 | 14 |  ;
 | 
|---|
 | 15 |  ; SRCBUF        Source data segment
 | 
|---|
 | 16 |  ;
 | 
|---|
 | 17 |  ; .FDA          Reference to a local variable where the FDA
 | 
|---|
 | 18 |  ;               nodes are created
 | 
|---|
 | 19 |  ;
 | 
|---|
 | 20 |  ; [.CACHE]      Reference to a local variable where the field
 | 
|---|
 | 21 |  ;               lists are cached.
 | 
|---|
 | 22 |  ;
 | 
|---|
 | 23 |  ; Return Values:
 | 
|---|
 | 24 |  ;       <0  Error code
 | 
|---|
 | 25 |  ;        0  Ok
 | 
|---|
 | 26 |  ;
 | 
|---|
 | 27 | CDCFDA(IENS,TBLREF,SRCBUF,RORFDA,CACHE) ;
 | 
|---|
 | 28 |  N BUF,FLD,I,POS,RC,RESULT,RORMSG,TGET,TMP,VAL
 | 
|---|
 | 29 |  S RC=0
 | 
|---|
 | 30 |  ;--- Prepare the fields (if they are not in the cache already)
 | 
|---|
 | 31 |  I $D(CACHE("CDCFLDS",TBLREF))<10  D  Q:RC<0 RC
 | 
|---|
 | 32 |  . S TGET="S BUF=$T("_$P(TBLREF,"^")_"+I^"_$P(TBLREF,"^",2)_")"
 | 
|---|
 | 33 |  . F I=1:1  X TGET  S BUF=$P(BUF,";;",2,999)  Q:BUF=""  D
 | 
|---|
 | 34 |  . . S FLD=$TR($P(BUF,U,2)," ")  Q:FLD'>0
 | 
|---|
 | 35 |  . . S TMP=+$TR($P(BUF,U)," ")
 | 
|---|
 | 36 |  . . I TMP'>0  S CACHE("CDCFLDS",TBLREF,+FLD)=""  Q
 | 
|---|
 | 37 |  . . S:FLD["D" TMP=TMP_"D" ; MM/YY field
 | 
|---|
 | 38 |  . . S:FLD["R" TMP=TMP_"R" ; Read-only field
 | 
|---|
 | 39 |  . . S CACHE("CDCFLDS",TBLREF,+FLD,$S(FLD["E":"E",1:"I"))=TMP
 | 
|---|
 | 40 |  ;--- Store the data into the FDA
 | 
|---|
 | 41 |  S FLD="",RC=0
 | 
|---|
 | 42 |  F  S FLD=$O(CACHE("CDCFLDS",TBLREF,FLD))  Q:FLD=""  D  Q:RC
 | 
|---|
 | 43 |  . S POS=$G(CACHE("CDCFLDS",TBLREF,FLD,"I"))
 | 
|---|
 | 44 |  . I POS'>0  S POS=$G(CACHE("CDCFLDS",TBLREF,FLD,"E"))  Q:POS'>0
 | 
|---|
 | 45 |  . Q:POS["R"  ; Skip read-only fields
 | 
|---|
 | 46 |  . S VAL=$P(SRCBUF,U,+POS)
 | 
|---|
 | 47 |  . I VAL=""  S RORFDA(799.4,IENS,FLD)=""  Q
 | 
|---|
 | 48 |  . ;--- Process the 'YY/MM' date field
 | 
|---|
 | 49 |  . I POS["D"  D  Q
 | 
|---|
 | 50 |  . . S TMP=$$DATE1(VAL)
 | 
|---|
 | 51 |  . . I TMP<0  S RC=(+POS)_U_$P(SRCBUF,U)  Q
 | 
|---|
 | 52 |  . . S RORFDA(799.4,IENS,FLD)=TMP
 | 
|---|
 | 53 |  . ;--- Precede the internal pointer value with the "`"
 | 
|---|
 | 54 |  . I +VAL=VAL  S:$$GET1^DID(799.4,FLD,,"TYPE")="POINTER" VAL="`"_VAL
 | 
|---|
 | 55 |  . ;--- Validate the value and store it into the FDA
 | 
|---|
 | 56 |  . D VAL^DIE(799.4,IENS,FLD,"FU",VAL,.RESULT,"RORFDA","RORMSG")
 | 
|---|
 | 57 |  . S:RESULT="^" RC=(+POS)_U_$P(SRCBUF,U)
 | 
|---|
 | 58 |  Q RC
 | 
|---|
 | 59 |  ;
 | 
|---|
 | 60 |  ;***** FORMATS THE FILEMAN DATE AS 'MM/YY' OR 'YYYY'
 | 
|---|
 | 61 | DATE(DATE) ;
 | 
|---|
 | 62 |  Q:DATE'>0 ""
 | 
|---|
 | 63 |  N MMYY,MONTH
 | 
|---|
 | 64 |  S MMYY=$TR($$FMTE^XLFDT(DATE,"6DF")," ","0")
 | 
|---|
 | 65 |  S MONTH=$P(MMYY,"/",2)
 | 
|---|
 | 66 |  Q $S(MONTH'="00":MONTH_"/"_$E($P(MMYY,"/",3),3,4),1:$P(MMYY,"/",3))
 | 
|---|
 | 67 |  ;
 | 
|---|
 | 68 |  ;***** CONVERTS THE 'MM/YY' OR 'YYYY' INTO THE FILEMAN DATE
 | 
|---|
 | 69 | DATE1(MMYY) ;
 | 
|---|
 | 70 |  Q:$G(MMYY)="" ""
 | 
|---|
 | 71 |  N DATE
 | 
|---|
 | 72 |  ;--- Just a year (YY or YYYY)
 | 
|---|
 | 73 |  I MMYY?.1(2N)2N  D  Q $G(DATE,-1)
 | 
|---|
 | 74 |  . D DT^DILF("EP",MMYY,.DATE)
 | 
|---|
 | 75 |  ;--- Month and year
 | 
|---|
 | 76 |  D DT^DILF("EP",$P(MMYY,"/",2),.DATE)
 | 
|---|
 | 77 |  I $G(DATE)>0  D  D DT^DILF("P",MMYY,.DATE)
 | 
|---|
 | 78 |  . S $P(MMYY,"/",2)=$G(DATE(0))
 | 
|---|
 | 79 |  Q $G(DATE,-1)
 | 
|---|
 | 80 |  ;
 | 
|---|
 | 81 |  ;***** LOADS THE DATA FROM THE 'ROR HIV STUDY' FILE
 | 
|---|
 | 82 |  ;
 | 
|---|
 | 83 |  ; IENS          IENS of the record in the ROR HIV STUDY file
 | 
|---|
 | 84 |  ;
 | 
|---|
 | 85 |  ; TBLREF        Reference to a field table in the source code
 | 
|---|
 | 86 |  ;
 | 
|---|
 | 87 |  ; DSTBUF        Reference to a local variable where the data
 | 
|---|
 | 88 |  ;               is returned to
 | 
|---|
 | 89 |  ;
 | 
|---|
 | 90 |  ; [.RORBUF]     Reference to a local variable where the source
 | 
|---|
 | 91 |  ;               field values are returned to (by GETS^DIQ)
 | 
|---|
 | 92 |  ;
 | 
|---|
 | 93 |  ; [.CACHE]      Reference to a local variable where the field
 | 
|---|
 | 94 |  ;               lists are cached.
 | 
|---|
 | 95 |  ;
 | 
|---|
 | 96 |  ; Return Values:
 | 
|---|
 | 97 |  ;       <0  Error code
 | 
|---|
 | 98 |  ;        0  Ok
 | 
|---|
 | 99 |  ;
 | 
|---|
 | 100 | LOAD(IENS,TBLREF,DSTBUF,RORBUF,CACHE) ;
 | 
|---|
 | 101 |  N BUF,FLD,I,RC,RORMSG,TGET,TMP
 | 
|---|
 | 102 |  S RC=0
 | 
|---|
 | 103 |  ;--- Prepare the fields (if they are not in the cache already)
 | 
|---|
 | 104 |  I $D(CACHE("CDCFLDS",TBLREF))<10  D  Q:RC<0 RC
 | 
|---|
 | 105 |  . S TGET="S BUF=$T("_$P(TBLREF,"^")_"+I^"_$P(TBLREF,"^",2)_")"
 | 
|---|
 | 106 |  . F I=1:1  X TGET  S BUF=$P(BUF,";;",2,999)  Q:BUF=""  D
 | 
|---|
 | 107 |  . . S FLD=$TR($P(BUF,U,2)," ")  Q:FLD'>0
 | 
|---|
 | 108 |  . . S TMP=+$TR($P(BUF,U)," ")
 | 
|---|
 | 109 |  . . I TMP'>0  S CACHE("CDCFLDS",TBLREF,+FLD)=""  Q
 | 
|---|
 | 110 |  . . S:FLD["D" TMP=TMP_"D"
 | 
|---|
 | 111 |  . . S CACHE("CDCFLDS",TBLREF,+FLD,$S(FLD["E":"E",1:"I"))=TMP
 | 
|---|
 | 112 |  . ;--- Create the list of fields for the GETS^DIQ
 | 
|---|
 | 113 |  . S (CACHE("CDCFLDS",TBLREF),FLD)=""
 | 
|---|
 | 114 |  . F  S FLD=$O(CACHE("CDCFLDS",TBLREF,FLD))  Q:FLD=""  D
 | 
|---|
 | 115 |  . . S CACHE("CDCFLDS",TBLREF)=CACHE("CDCFLDS",TBLREF)_FLD_";"
 | 
|---|
 | 116 |  ;--- Load the data from the file
 | 
|---|
 | 117 |  D GETS^DIQ(799.4,IENS,CACHE("CDCFLDS",TBLREF),"EI","RORBUF","RORMSG")
 | 
|---|
 | 118 |  I $G(DIERR)  D  Q RC
 | 
|---|
 | 119 |  . S RC=$$DBS^RORERR("RORMSG",-9,,,799.4,IENS)
 | 
|---|
 | 120 |  ;--- Store the data into the output buffer
 | 
|---|
 | 121 |  S FLD=""
 | 
|---|
 | 122 |  F  S FLD=$O(CACHE("CDCFLDS",TBLREF,FLD))  Q:FLD=""  D
 | 
|---|
 | 123 |  . S I=""
 | 
|---|
 | 124 |  . F  S I=$O(CACHE("CDCFLDS",TBLREF,FLD,I))  Q:I=""  D
 | 
|---|
 | 125 |  . . S TMP=CACHE("CDCFLDS",TBLREF,FLD,I)
 | 
|---|
 | 126 |  . . I '(TMP["D")  S $P(DSTBUF,U,+TMP)=$G(RORBUF(799.4,IENS,FLD,I))  Q
 | 
|---|
 | 127 |  . . S $P(DSTBUF,U,+TMP)=$$DATE($G(RORBUF(799.4,IENS,FLD,"I")))
 | 
|---|
 | 128 |  Q $S(RC<0:RC,1:0)
 | 
|---|
 | 129 |  ;
 | 
|---|
 | 130 |  ;***** RETURNS DATE FIELD NUMBER FOR THE POSITIVE HIV DETECTION TEST
 | 
|---|
 | 131 | PHIVFLD(TYPE) ;
 | 
|---|
 | 132 |  Q $S(TYPE=1:18.01,TYPE=2:18.02,TYPE=3:18.03,1:0)
 | 
|---|
 | 133 |  Q
 | 
|---|
 | 134 |  ;
 | 
|---|
 | 135 | CDCFLDS ;***** CDC FIELD TABLE
 | 
|---|
 | 136 | HDR ;
 | 
|---|
 | 137 |  ;;  3 ^  9.01I  ^ DATE CDC FORM COMPLETED
 | 
|---|
 | 138 |  ;;  4 ^         ^ CDC FORM COMPLETED BY (DUZ)
 | 
|---|
 | 139 |  ;;  5 ^         ^ CDC FORM COMPLETED BY (Name)
 | 
|---|
 | 140 |  ;;  6 ^         ^ Phone number of the person completed the form
 | 
|---|
 | 141 | CDM ;
 | 
|---|
 | 142 |  ;;  3 ^  9.02I  ^ STATUS AT REPORT
 | 
|---|
 | 143 |  ;;    ^  9.03I  ^ AGE AT HIV DIAGNOSIS
 | 
|---|
 | 144 |  ;;    ^  9.04I  ^ AGE AT AIDS DIAGNOSIS
 | 
|---|
 | 145 |  ;;  5 ^  9.9ER  ^ PATIENT STATUS
 | 
|---|
 | 146 |  ;;  6 ^  9.06I  ^ STATE/TERRITORY OF DEATH
 | 
|---|
 | 147 |  ;;  7 ^  9.07I  ^ COUNTRY OF BIRTH
 | 
|---|
 | 148 |  ;;    ^  9.08I  ^ DEPENDENCY OR POSSESSION NAME
 | 
|---|
 | 149 |  ;;    ^  9.09I  ^ OTHER COUNTRY DESCRIPTION
 | 
|---|
 | 150 |  ;;  9 ^  9.1I   ^ ONSET OF ILLNESS/AIDS- CITY
 | 
|---|
 | 151 |  ;; 10 ^  9.11I  ^ ONSET OF ILLNESS/AIDS- COUNTY
 | 
|---|
 | 152 |  ;; 11 ^  9.12I  ^ ONSET OF ILLNESS/AIDS- STATE (IEN)
 | 
|---|
 | 153 |  ;; 12 ^  9.12E  ^ ONSET OF ILLNESS/AIDS- STATE (Name)
 | 
|---|
 | 154 |  ;; 13 ^  9.13I  ^ ONSET OF ILLNESS/AIDS- COUNTRY
 | 
|---|
 | 155 |  ;; 14 ^  9.14I  ^ ONSET OF ILLNESS/AIDS- ZIP
 | 
|---|
 | 156 | FD ;
 | 
|---|
 | 157 |  ;;  3 ^ 12.01I  ^ AIDS DX - HOSPITAL
 | 
|---|
 | 158 |  ;;  4 ^ 12.02I  ^ AIDS DX - CITY
 | 
|---|
 | 159 |  ;;  5 ^ 12.03I  ^ AIDS DX - STATE (IEN)
 | 
|---|
 | 160 |  ;;  6 ^ 12.03E  ^ AIDS DX - STATE (Name)
 | 
|---|
 | 161 |  ;;  7 ^ 12.04I  ^ AIDS DX - COUNTRY
 | 
|---|
 | 162 |  ;;  8 ^ 12.05I  ^ AIDS DX - FACILITY SETTING
 | 
|---|
 | 163 |  ;;  9 ^ 12.06I  ^ AIDS DX - FACILITY TYPE
 | 
|---|
 | 164 |  ;; 10 ^ 12.07I  ^ AIDS DX - OTHER FACILITY TYPE
 | 
|---|
 | 165 |  ;
 | 
|---|
 | 166 | PH ;
 | 
|---|
 | 167 |  ;;  3 ^ 14.01I  ^ SEX RELATIONS W/MALE PARTNER
 | 
|---|
 | 168 |  ;;  4 ^ 14.02I  ^ SEX RELATIONS W/FEMALE PARTNER
 | 
|---|
 | 169 |  ;;  5 ^ 14.03I  ^ IV DRUGS AFTER 77 AND PRE HIV
 | 
|---|
 | 170 |  ;;  6 ^ 14.04I  ^ REC'D CLOTTING FACTORS
 | 
|---|
 | 171 |  ;;  7 ^ 14.05I  ^ TYPE OF HEMOPHILIA
 | 
|---|
 | 172 |  ;;  8 ^ 14.06I  ^ OTHER HEMOPHILIA DESCRIPTION
 | 
|---|
 | 173 |  ;;  9 ^ 14.07I  ^ SR WITH IV DRUG USER
 | 
|---|
 | 174 |  ;; 10 ^ 14.08I  ^ SR WITH BISEXUAL MAN
 | 
|---|
 | 175 |  ;; 11 ^ 14.09I  ^ SR W HEMOPHILIA/COAG DISORDER
 | 
|---|
 | 176 |  ;; 12 ^ 14.1I   ^ SR W TRANS RECIPIENT WITH AIDS
 | 
|---|
 | 177 |  ;; 13 ^ 14.11I  ^ TRANSPLANT RECIP-DOCUMNTD HIV
 | 
|---|
 | 178 |  ;; 14 ^ 14.12I  ^ SR W AIDS/HIV INFECTION
 | 
|---|
 | 179 |  ;; 15 ^ 14.13I  ^ TRANS AFTER 77 AND BEFORE HIV
 | 
|---|
 | 180 |  ;; 16 ^ 14.14ID ^ DATE OF FIRST TRANSFUSION
 | 
|---|
 | 181 |  ;; 17 ^ 14.15ID ^ DATE OF LAST TRANSFUSION
 | 
|---|
 | 182 |  ;; 18 ^ 14.16I  ^ TRANSPLANT OR ARTIF INSEMIN
 | 
|---|
 | 183 |  ;; 19 ^ 14.17I  ^ WORK IN HEALTH CARE OR LAB
 | 
|---|
 | 184 |  ;; 20 ^ 14.18I  ^ OCCUPATION
 | 
|---|
 | 185 | LD1 ;
 | 
|---|
 | 186 |  ;;  3 ^ 16.01I  ^ HIV-1 EIA
 | 
|---|
 | 187 |  ;;  4 ^ 16.02ID ^ HIV-1 EIA DATE
 | 
|---|
 | 188 |  ;;  5 ^ 16.03I  ^ HIV-1/HIV-2 EIA
 | 
|---|
 | 189 |  ;;  6 ^ 16.04ID ^ HIV-1/HIV-2 EIA DATE
 | 
|---|
 | 190 |  ;;  7 ^ 16.05I  ^ HIV-1 WESTERN BLOT/IFA
 | 
|---|
 | 191 |  ;;  8 ^ 16.06ID ^ HIV-1 WESTERN BLOT/IFA DATE
 | 
|---|
 | 192 |  ;;  9 ^ 16.07I  ^ OTHER HIV ANTIBODY TEST
 | 
|---|
 | 193 |  ;; 10 ^ 16.08ID ^ OTHER HIV ANTIBODY TEST DATE
 | 
|---|
 | 194 |  ;; 11 ^ 16.09I  ^ OTHER HIV ANTIBODY TEST DESC
 | 
|---|
 | 195 |  ;; 12 ^ 18.13I  ^ POSITIVE HIV DETECTION TEST
 | 
|---|
 | 196 |  ;;    ^ 18.01I  ^ HIV CULTURE DETECTION TEST
 | 
|---|
 | 197 |  ;;    ^ 18.02I  ^ HIV ANTIGEN DETECTION TEST
 | 
|---|
 | 198 |  ;;    ^ 18.03I  ^ HIV PCR, DNA, OR RNA PROBE
 | 
|---|
 | 199 |  ;; 14 ^ 18.04I  ^ TYPE OF OTHER POSITIVE TEST
 | 
|---|
 | 200 |  ;; 15 ^ 18.05ID ^ DATE OTHER POS DETECTION TEST
 | 
|---|
 | 201 |  ;; 16 ^ 18.1I   ^ DETECTABLE VIRAL LOAD TEST
 | 
|---|
 | 202 |  ;; 17 ^ 18.11I  ^ DETECTABLE VIRAL LOAD RESULT
 | 
|---|
 | 203 |  ;; 18 ^ 18.12ID ^ DETECTABLE VIRAL LOAD DATE
 | 
|---|
 | 204 | LD2 ;
 | 
|---|
 | 205 |  ;;  3 ^ 18.07I  ^ TYPE FOR LAST NEG TEST
 | 
|---|
 | 206 |  ;;  4 ^ 18.06ID ^ LAST DOCUMNTD NEG HIV TEST
 | 
|---|
 | 207 |  ;;  5 ^ 18.08I  ^ PHYS DOCUMNTD DIAGNOSIS?
 | 
|---|
 | 208 |  ;;  6 ^ 18.09ID ^ DATE PHYS DOCUMNTD DIAG
 | 
|---|
 | 209 |  ;;  7 ^ 20.01I  ^ CD4+ COUNT FOR CDC
 | 
|---|
 | 210 |  ;;  8 ^ 20.02ID ^ CD4+ COUNT FOR CDC DATE
 | 
|---|
 | 211 |  ;;  9 ^ 20.03I  ^ CD4+ PERCENT FOR CDC
 | 
|---|
 | 212 |  ;; 10 ^ 20.04ID ^ CD4+ PERCENT FOR CDC DATE
 | 
|---|
 | 213 |  ;; 11 ^ 20.05I  ^ CD4 COUNT FIRST <200
 | 
|---|
 | 214 |  ;; 12 ^ 20.06ID ^ CD4 COUNT FIRST <200 DATE
 | 
|---|
 | 215 |  ;; 13 ^ 20.07I  ^ CD4 PERCENT FIRST <14%
 | 
|---|
 | 216 |  ;; 14 ^ 20.08ID ^ CD4 PERCENT FIRST <14% DATE
 | 
|---|
 | 217 | CS ;
 | 
|---|
 | 218 |  ;;  3 ^ 11.01I  ^ RECORD REVIEWED
 | 
|---|
 | 219 |  ;;  4 ^ 11.02ID ^ DATE ASYMPTOMATIC
 | 
|---|
 | 220 |  ;;  5 ^ 11.03ID ^ DATE SYMPTOMATIC
 | 
|---|
 | 221 |  ;;  6 ^ 11.05I  ^ RVCT CASE NO.
 | 
|---|
 | 222 |  ;;  7 ^ 11.04I  ^ IMMUNODEF THAT DISQUALIFIES
 | 
|---|
 | 223 | TS1 ;
 | 
|---|
 | 224 |  ;;  3 ^ 22.01I  ^ PATIENT BEEN INFORMED OF HIV
 | 
|---|
 | 225 |  ;;  4 ^ 22.02I  ^ PARTNERS NOTIFIED BY
 | 
|---|
 | 226 |  ;;  5 ^ 22.03I  ^ HIV RELATED MED SERVICES
 | 
|---|
 | 227 |  ;;  6 ^ 22.09I  ^ SUBSTANCE ABUSE TREATMENT
 | 
|---|
 | 228 |  ;;  7 ^ 22.04I  ^ RCVD ANTI-RETROVIRAL THERAPY
 | 
|---|
 | 229 |  ;;  8 ^ 22.05I  ^ RECEIVED PCP PROPHYLAXIS
 | 
|---|
 | 230 |  ;;  9 ^ 22.06I  ^ ENROLLED AT CLINCAL TRIAL
 | 
|---|
 | 231 |  ;; 10 ^ 22.07I  ^ ENROLLED AT CLINIC
 | 
|---|
 | 232 |  ;; 11 ^ 22.08I  ^ PRIMARY REIMBURSER FOR MED RX
 | 
|---|
 | 233 | TS2 ;
 | 
|---|
 | 234 |  ;;  3 ^ 23.01I  ^ GYNECOLOGY OR OBSTETRIC CARE
 | 
|---|
 | 235 |  ;;  4 ^ 23.02I  ^ CURRENTLY PREGNANT
 | 
|---|
 | 236 |  ;;  5 ^ 23.03I  ^ DELIVERED LIVE BORN INFANT
 | 
|---|
 | 237 |  ;;  6 ^ 23.04I  ^ CHILD'S DATE OF BIRTH
 | 
|---|
 | 238 |  ;;  7 ^ 23.05I  ^ CHILD'S HOSPITAL OF BIRTH
 | 
|---|
 | 239 |  ;;  8 ^ 23.06I  ^ CHILD'S HOSPITAL - CITY
 | 
|---|
 | 240 |  ;;  9 ^ 23.07I  ^ CHILD'S HOSPITAL - STATE
 | 
|---|