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

RORRP026.m

Go to the documentation of this file.
  1. RORRP026 ;HCIOFO/SG - RPC: CDC UTILITIES ; 5/19/06 2:52pm
  1. ;;1.5;CLINICAL CASE REGISTRIES;**1**;Feb 17, 2006;Build 24
  1. ;
  1. ;--------------------------------------------------------------------
  1. ; Registry: [VA HIV]
  1. ;--------------------------------------------------------------------
  1. Q
  1. ;
  1. ;***** POPULATES THE FDA WITH THE CDC DATA
  1. ;
  1. ; IENS IENS of the record in the ROR HIV STUDY file
  1. ;
  1. ; TBLREF Reference to a field table in the source code
  1. ;
  1. ; SRCBUF Source data segment
  1. ;
  1. ; .FDA Reference to a local variable where the FDA
  1. ; nodes are created
  1. ;
  1. ; [.CACHE] Reference to a local variable where the field
  1. ; lists are cached.
  1. ;
  1. ; Return Values:
  1. ; <0 Error code
  1. ; 0 Ok
  1. ;
  1. CDCFDA(IENS,TBLREF,SRCBUF,RORFDA,CACHE) ;
  1. N BUF,FLD,I,POS,RC,RESULT,RORMSG,TGET,TMP,VAL
  1. S RC=0
  1. ;--- Prepare the fields (if they are not in the cache already)
  1. I $D(CACHE("CDCFLDS",TBLREF))<10 D Q:RC<0 RC
  1. . S TGET="S BUF=$T("_$P(TBLREF,"^")_"+I^"_$P(TBLREF,"^",2)_")"
  1. . F I=1:1 X TGET S BUF=$P(BUF,";;",2,999) Q:BUF="" D
  1. . . S FLD=$TR($P(BUF,U,2)," ") Q:FLD'>0
  1. . . S TMP=+$TR($P(BUF,U)," ")
  1. . . I TMP'>0 S CACHE("CDCFLDS",TBLREF,+FLD)="" Q
  1. . . S:FLD["D" TMP=TMP_"D" ; MM/YY field
  1. . . S:FLD["R" TMP=TMP_"R" ; Read-only field
  1. . . S CACHE("CDCFLDS",TBLREF,+FLD,$S(FLD["E":"E",1:"I"))=TMP
  1. ;--- Store the data into the FDA
  1. S FLD="",RC=0
  1. F S FLD=$O(CACHE("CDCFLDS",TBLREF,FLD)) Q:FLD="" D Q:RC
  1. . S POS=$G(CACHE("CDCFLDS",TBLREF,FLD,"I"))
  1. . I POS'>0 S POS=$G(CACHE("CDCFLDS",TBLREF,FLD,"E")) Q:POS'>0
  1. . Q:POS["R" ; Skip read-only fields
  1. . S VAL=$P(SRCBUF,U,+POS)
  1. . I VAL="" S RORFDA(799.4,IENS,FLD)="" Q
  1. . ;--- Process the 'YY/MM' date field
  1. . I POS["D" D Q
  1. . . S TMP=$$DATE1(VAL)
  1. . . I TMP<0 S RC=(+POS)_U_$P(SRCBUF,U) Q
  1. . . S RORFDA(799.4,IENS,FLD)=TMP
  1. . ;--- Precede the internal pointer value with the "`"
  1. . I +VAL=VAL S:$$GET1^DID(799.4,FLD,,"TYPE")="POINTER" VAL="`"_VAL
  1. . ;--- Validate the value and store it into the FDA
  1. . D VAL^DIE(799.4,IENS,FLD,"FU",VAL,.RESULT,"RORFDA","RORMSG")
  1. . S:RESULT="^" RC=(+POS)_U_$P(SRCBUF,U)
  1. Q RC
  1. ;
  1. ;***** FORMATS THE FILEMAN DATE AS 'MM/YY' OR 'YYYY'
  1. DATE(DATE) ;
  1. Q:DATE'>0 ""
  1. N MMYY,MONTH
  1. S MMYY=$TR($$FMTE^XLFDT(DATE,"6DF")," ","0")
  1. S MONTH=$P(MMYY,"/",2)
  1. Q $S(MONTH'="00":MONTH_"/"_$E($P(MMYY,"/",3),3,4),1:$P(MMYY,"/",3))
  1. ;
  1. ;***** CONVERTS THE 'MM/YY' OR 'YYYY' INTO THE FILEMAN DATE
  1. DATE1(MMYY) ;
  1. Q:$G(MMYY)="" ""
  1. N DATE
  1. ;--- Just a year (YY or YYYY)
  1. I MMYY?.1(2N)2N D Q $G(DATE,-1)
  1. . D DT^DILF("EP",MMYY,.DATE)
  1. ;--- Month and year
  1. D DT^DILF("EP",$P(MMYY,"/",2),.DATE)
  1. I $G(DATE)>0 D D DT^DILF("P",MMYY,.DATE)
  1. . S $P(MMYY,"/",2)=$G(DATE(0))
  1. Q $G(DATE,-1)
  1. ;
  1. ;***** LOADS THE DATA FROM THE 'ROR HIV STUDY' FILE
  1. ;
  1. ; IENS IENS of the record in the ROR HIV STUDY file
  1. ;
  1. ; TBLREF Reference to a field table in the source code
  1. ;
  1. ; DSTBUF Reference to a local variable where the data
  1. ; is returned to
  1. ;
  1. ; [.RORBUF] Reference to a local variable where the source
  1. ; field values are returned to (by GETS^DIQ)
  1. ;
  1. ; [.CACHE] Reference to a local variable where the field
  1. ; lists are cached.
  1. ;
  1. ; Return Values:
  1. ; <0 Error code
  1. ; 0 Ok
  1. ;
  1. LOAD(IENS,TBLREF,DSTBUF,RORBUF,CACHE) ;
  1. N BUF,FLD,I,RC,RORMSG,TGET,TMP
  1. S RC=0
  1. ;--- Prepare the fields (if they are not in the cache already)
  1. I $D(CACHE("CDCFLDS",TBLREF))<10 D Q:RC<0 RC
  1. . S TGET="S BUF=$T("_$P(TBLREF,"^")_"+I^"_$P(TBLREF,"^",2)_")"
  1. . F I=1:1 X TGET S BUF=$P(BUF,";;",2,999) Q:BUF="" D
  1. . . S FLD=$TR($P(BUF,U,2)," ") Q:FLD'>0
  1. . . S TMP=+$TR($P(BUF,U)," ")
  1. . . I TMP'>0 S CACHE("CDCFLDS",TBLREF,+FLD)="" Q
  1. . . S:FLD["D" TMP=TMP_"D"
  1. . . S CACHE("CDCFLDS",TBLREF,+FLD,$S(FLD["E":"E",1:"I"))=TMP
  1. . ;--- Create the list of fields for the GETS^DIQ
  1. . S (CACHE("CDCFLDS",TBLREF),FLD)=""
  1. . F S FLD=$O(CACHE("CDCFLDS",TBLREF,FLD)) Q:FLD="" D
  1. . . S CACHE("CDCFLDS",TBLREF)=CACHE("CDCFLDS",TBLREF)_FLD_";"
  1. ;--- Load the data from the file
  1. D GETS^DIQ(799.4,IENS,CACHE("CDCFLDS",TBLREF),"EI","RORBUF","RORMSG")
  1. I $G(DIERR) D Q RC
  1. . S RC=$$DBS^RORERR("RORMSG",-9,,,799.4,IENS)
  1. ;--- Store the data into the output buffer
  1. S FLD=""
  1. F S FLD=$O(CACHE("CDCFLDS",TBLREF,FLD)) Q:FLD="" D
  1. . S I=""
  1. . F S I=$O(CACHE("CDCFLDS",TBLREF,FLD,I)) Q:I="" D
  1. . . S TMP=CACHE("CDCFLDS",TBLREF,FLD,I)
  1. . . I '(TMP["D") S $P(DSTBUF,U,+TMP)=$G(RORBUF(799.4,IENS,FLD,I)) Q
  1. . . S $P(DSTBUF,U,+TMP)=$$DATE($G(RORBUF(799.4,IENS,FLD,"I")))
  1. Q $S(RC<0:RC,1:0)
  1. ;
  1. ;***** RETURNS DATE FIELD NUMBER FOR THE POSITIVE HIV DETECTION TEST
  1. PHIVFLD(TYPE) ;
  1. Q $S(TYPE=1:18.01,TYPE=2:18.02,TYPE=3:18.03,1:0)
  1. Q
  1. ;
  1. CDCFLDS ;***** CDC FIELD TABLE
  1. HDR ;
  1. ;; 3 ^ 9.01I ^ DATE CDC FORM COMPLETED
  1. ;; 4 ^ ^ CDC FORM COMPLETED BY (DUZ)
  1. ;; 5 ^ ^ CDC FORM COMPLETED BY (Name)
  1. ;; 6 ^ ^ Phone number of the person completed the form
  1. CDM ;
  1. ;; 3 ^ 9.02I ^ STATUS AT REPORT
  1. ;; ^ 9.03I ^ AGE AT HIV DIAGNOSIS
  1. ;; ^ 9.04I ^ AGE AT AIDS DIAGNOSIS
  1. ;; 5 ^ 9.9ER ^ PATIENT STATUS
  1. ;; 6 ^ 9.06I ^ STATE/TERRITORY OF DEATH
  1. ;; 7 ^ 9.07I ^ COUNTRY OF BIRTH
  1. ;; ^ 9.08I ^ DEPENDENCY OR POSSESSION NAME
  1. ;; ^ 9.09I ^ OTHER COUNTRY DESCRIPTION
  1. ;; 9 ^ 9.1I ^ ONSET OF ILLNESS/AIDS- CITY
  1. ;; 10 ^ 9.11I ^ ONSET OF ILLNESS/AIDS- COUNTY
  1. ;; 11 ^ 9.12I ^ ONSET OF ILLNESS/AIDS- STATE (IEN)
  1. ;; 12 ^ 9.12E ^ ONSET OF ILLNESS/AIDS- STATE (Name)
  1. ;; 13 ^ 9.13I ^ ONSET OF ILLNESS/AIDS- COUNTRY
  1. ;; 14 ^ 9.14I ^ ONSET OF ILLNESS/AIDS- ZIP
  1. FD ;
  1. ;; 3 ^ 12.01I ^ AIDS DX - HOSPITAL
  1. ;; 4 ^ 12.02I ^ AIDS DX - CITY
  1. ;; 5 ^ 12.03I ^ AIDS DX - STATE (IEN)
  1. ;; 6 ^ 12.03E ^ AIDS DX - STATE (Name)
  1. ;; 7 ^ 12.04I ^ AIDS DX - COUNTRY
  1. ;; 8 ^ 12.05I ^ AIDS DX - FACILITY SETTING
  1. ;; 9 ^ 12.06I ^ AIDS DX - FACILITY TYPE
  1. ;; 10 ^ 12.07I ^ AIDS DX - OTHER FACILITY TYPE
  1. ;
  1. PH ;
  1. ;; 3 ^ 14.01I ^ SEX RELATIONS W/MALE PARTNER
  1. ;; 4 ^ 14.02I ^ SEX RELATIONS W/FEMALE PARTNER
  1. ;; 5 ^ 14.03I ^ IV DRUGS AFTER 77 AND PRE HIV
  1. ;; 6 ^ 14.04I ^ REC'D CLOTTING FACTORS
  1. ;; 7 ^ 14.05I ^ TYPE OF HEMOPHILIA
  1. ;; 8 ^ 14.06I ^ OTHER HEMOPHILIA DESCRIPTION
  1. ;; 9 ^ 14.07I ^ SR WITH IV DRUG USER
  1. ;; 10 ^ 14.08I ^ SR WITH BISEXUAL MAN
  1. ;; 11 ^ 14.09I ^ SR W HEMOPHILIA/COAG DISORDER
  1. ;; 12 ^ 14.1I ^ SR W TRANS RECIPIENT WITH AIDS
  1. ;; 13 ^ 14.11I ^ TRANSPLANT RECIP-DOCUMNTD HIV
  1. ;; 14 ^ 14.12I ^ SR W AIDS/HIV INFECTION
  1. ;; 15 ^ 14.13I ^ TRANS AFTER 77 AND BEFORE HIV
  1. ;; 16 ^ 14.14ID ^ DATE OF FIRST TRANSFUSION
  1. ;; 17 ^ 14.15ID ^ DATE OF LAST TRANSFUSION
  1. ;; 18 ^ 14.16I ^ TRANSPLANT OR ARTIF INSEMIN
  1. ;; 19 ^ 14.17I ^ WORK IN HEALTH CARE OR LAB
  1. ;; 20 ^ 14.18I ^ OCCUPATION
  1. LD1 ;
  1. ;; 3 ^ 16.01I ^ HIV-1 EIA
  1. ;; 4 ^ 16.02ID ^ HIV-1 EIA DATE
  1. ;; 5 ^ 16.03I ^ HIV-1/HIV-2 EIA
  1. ;; 6 ^ 16.04ID ^ HIV-1/HIV-2 EIA DATE
  1. ;; 7 ^ 16.05I ^ HIV-1 WESTERN BLOT/IFA
  1. ;; 8 ^ 16.06ID ^ HIV-1 WESTERN BLOT/IFA DATE
  1. ;; 9 ^ 16.07I ^ OTHER HIV ANTIBODY TEST
  1. ;; 10 ^ 16.08ID ^ OTHER HIV ANTIBODY TEST DATE
  1. ;; 11 ^ 16.09I ^ OTHER HIV ANTIBODY TEST DESC
  1. ;; 12 ^ 18.13I ^ POSITIVE HIV DETECTION TEST
  1. ;; ^ 18.01I ^ HIV CULTURE DETECTION TEST
  1. ;; ^ 18.02I ^ HIV ANTIGEN DETECTION TEST
  1. ;; ^ 18.03I ^ HIV PCR, DNA, OR RNA PROBE
  1. ;; 14 ^ 18.04I ^ TYPE OF OTHER POSITIVE TEST
  1. ;; 15 ^ 18.05ID ^ DATE OTHER POS DETECTION TEST
  1. ;; 16 ^ 18.1I ^ DETECTABLE VIRAL LOAD TEST
  1. ;; 17 ^ 18.11I ^ DETECTABLE VIRAL LOAD RESULT
  1. ;; 18 ^ 18.12ID ^ DETECTABLE VIRAL LOAD DATE
  1. LD2 ;
  1. ;; 3 ^ 18.07I ^ TYPE FOR LAST NEG TEST
  1. ;; 4 ^ 18.06ID ^ LAST DOCUMNTD NEG HIV TEST
  1. ;; 5 ^ 18.08I ^ PHYS DOCUMNTD DIAGNOSIS?
  1. ;; 6 ^ 18.09ID ^ DATE PHYS DOCUMNTD DIAG
  1. ;; 7 ^ 20.01I ^ CD4+ COUNT FOR CDC
  1. ;; 8 ^ 20.02ID ^ CD4+ COUNT FOR CDC DATE
  1. ;; 9 ^ 20.03I ^ CD4+ PERCENT FOR CDC
  1. ;; 10 ^ 20.04ID ^ CD4+ PERCENT FOR CDC DATE
  1. ;; 11 ^ 20.05I ^ CD4 COUNT FIRST <200
  1. ;; 12 ^ 20.06ID ^ CD4 COUNT FIRST <200 DATE
  1. ;; 13 ^ 20.07I ^ CD4 PERCENT FIRST <14%
  1. ;; 14 ^ 20.08ID ^ CD4 PERCENT FIRST <14% DATE
  1. CS ;
  1. ;; 3 ^ 11.01I ^ RECORD REVIEWED
  1. ;; 4 ^ 11.02ID ^ DATE ASYMPTOMATIC
  1. ;; 5 ^ 11.03ID ^ DATE SYMPTOMATIC
  1. ;; 6 ^ 11.05I ^ RVCT CASE NO.
  1. ;; 7 ^ 11.04I ^ IMMUNODEF THAT DISQUALIFIES
  1. TS1 ;
  1. ;; 3 ^ 22.01I ^ PATIENT BEEN INFORMED OF HIV
  1. ;; 4 ^ 22.02I ^ PARTNERS NOTIFIED BY
  1. ;; 5 ^ 22.03I ^ HIV RELATED MED SERVICES
  1. ;; 6 ^ 22.09I ^ SUBSTANCE ABUSE TREATMENT
  1. ;; 7 ^ 22.04I ^ RCVD ANTI-RETROVIRAL THERAPY
  1. ;; 8 ^ 22.05I ^ RECEIVED PCP PROPHYLAXIS
  1. ;; 9 ^ 22.06I ^ ENROLLED AT CLINCAL TRIAL
  1. ;; 10 ^ 22.07I ^ ENROLLED AT CLINIC
  1. ;; 11 ^ 22.08I ^ PRIMARY REIMBURSER FOR MED RX
  1. TS2 ;
  1. ;; 3 ^ 23.01I ^ GYNECOLOGY OR OBSTETRIC CARE
  1. ;; 4 ^ 23.02I ^ CURRENTLY PREGNANT
  1. ;; 5 ^ 23.03I ^ DELIVERED LIVE BORN INFANT
  1. ;; 6 ^ 23.04I ^ CHILD'S DATE OF BIRTH
  1. ;; 7 ^ 23.05I ^ CHILD'S HOSPITAL OF BIRTH
  1. ;; 8 ^ 23.06I ^ CHILD'S HOSPITAL - CITY
  1. ;; 9 ^ 23.07I ^ CHILD'S HOSPITAL - STATE