| 1 | PXRMCSU ;SLC/JVS - Code Set Version-dialog file-Utilities ;4/10/03  12:02
 | 
|---|
| 2 |  ;;2.0;CLINICAL REMINDERS;;Feb 04, 2005
 | 
|---|
| 3 |  ;Variable List
 | 
|---|
| 4 |  ;DATECV     =Converted Date
 | 
|---|
| 5 |  Q
 | 
|---|
| 6 | SUB ;==============Sub Routines=============================
 | 
|---|
| 7 | DT6M(DT) ;Add 180 days to DT
 | 
|---|
| 8 |  N DT6M
 | 
|---|
| 9 |  S DT6M=$$FMADD^XLFDT(DT,180,0,0,0)
 | 
|---|
| 10 |  Q DT6M
 | 
|---|
| 11 | CONV(DATE) ;Date time conversion
 | 
|---|
| 12 |  N DATECV
 | 
|---|
| 13 |  S DATECV=$$FMTE^XLFDT(DATE,"5Z")
 | 
|---|
| 14 |  Q DATECV
 | 
|---|
| 15 | CPTA(VARIEN) ; Return all data for cpt code
 | 
|---|
| 16 |  ; INACDATE=Inactive date
 | 
|---|
| 17 |  ; FPP     =FUTURE PRESENT PAST
 | 
|---|
| 18 |  ; RETURNS CPTDATA = Whole string of information
 | 
|---|
| 19 |  ;         FPPREF  = Time Reference (Null if no data)
 | 
|---|
| 20 |  N INACDATE,FPP,FPPREF,CPTDATA
 | 
|---|
| 21 |  S CPTDATA=$$CPT^ICPTCOD(VARIEN,$$DT6M(DT))
 | 
|---|
| 22 |  S INACDATE=$P(CPTDATA,"^",8),FPPREF="" I INACDATE>0 D
 | 
|---|
| 23 |  .S FPP=$S(INACDATE>DT:"Future",INACDATE<DT:"Past",INACDATE=DT:"Today",1:"Unknown")
 | 
|---|
| 24 |  .S FPPREF=FPP
 | 
|---|
| 25 |  Q CPTDATA_"^"_FPPREF
 | 
|---|
| 26 | ICD9A(VARIEN) ; Return all data for cpt code
 | 
|---|
| 27 |  ; INACDATE=Inactive date
 | 
|---|
| 28 |  ; FPP     =FUTURE PRESENT PAST
 | 
|---|
| 29 |  ; RETURNS CPTDATA = Whole string of information
 | 
|---|
| 30 |  ;         FPPREF  = Time Reference (Null if no data)
 | 
|---|
| 31 |  N INACDATE,FPP,FPPREF,ICD9DATA
 | 
|---|
| 32 |  S ICD9DATA=$$ICDDX^ICDCODE(VARIEN,$$DT6M(DT))
 | 
|---|
| 33 |  S INACDATE=$P(ICD9DATA,"^",12),FPPREF="" I INACDATE>0 D
 | 
|---|
| 34 |  .S FPP=$S(INACDATE>DT:"Future",INACDATE<DT:"Past",INACDATE=DT:"Today",1:"Unknown")
 | 
|---|
| 35 |  .S FPPREF=FPP
 | 
|---|
| 36 |  Q ICD9DATA_"^"_FPPREF
 | 
|---|
| 37 | CPT(VARIEN) ; Return code from IEN
 | 
|---|
| 38 |  N VARCODE
 | 
|---|
| 39 |  S VARCODE=$$CPT^ICPTCOD(VARIEN,$$DT6M(DT))
 | 
|---|
| 40 |  S VARCODE=$P(VARCODE,"^",2)
 | 
|---|
| 41 |  Q VARCODE
 | 
|---|
| 42 | CPTD(VARIEN) ;Return CPT code Description from IEN
 | 
|---|
| 43 |  N VARDESC
 | 
|---|
| 44 |  S VARDESC=$$CPT^ICPTCOD(VARIEN,$$DT6M(DT))
 | 
|---|
| 45 |  S VARDESC=$P(VARDESC,"^",3)
 | 
|---|
| 46 |  Q VARDESC
 | 
|---|
| 47 | ICD9(VARIEN) ; Return ICD9 (Diagnosis) Code from IEN
 | 
|---|
| 48 |  N VARCODE
 | 
|---|
| 49 |  S VARCODE=$$ICDDX^ICDCODE(VARIEN,$$DT6M(DT))
 | 
|---|
| 50 |  S VARCODE=$P(VARCODE,"^",2)
 | 
|---|
| 51 |  Q VARCODE
 | 
|---|
| 52 | ICD9D(VARIEN) ; Return ICD9 (Diagnosis) Description from IEN
 | 
|---|
| 53 |  N VARDESC
 | 
|---|
| 54 |  S VARDESC=$$ICDDX^ICDCODE(VARIEN,$$DT6M(DT))
 | 
|---|
| 55 |  S VARDESC=$P(VARDESC,"^",4)
 | 
|---|
| 56 |  Q VARDESC
 | 
|---|
| 57 | ICD0(VARIEN) ; Return ICD0 (Operation) Code from an IEN
 | 
|---|
| 58 |  N VARCODE
 | 
|---|
| 59 |  S VARCODE=$$ICDOP^ICDCODE(VARIEN,$$DT6M(DT))
 | 
|---|
| 60 |  S VARCODE=$P(VARCODE,"^",2)
 | 
|---|
| 61 |  Q VARCODE
 | 
|---|
| 62 | ICD0D(VARIEN) ; Return ICD0 (Operation) Description from IEN
 | 
|---|
| 63 |  N VARCODE
 | 
|---|
| 64 |  S VARDESC=$$ICDOP^ICDCODE(VARIEN,$$DT6M(DT))
 | 
|---|
| 65 |  S VARDESC=$P(VARDESC,"^",5)
 | 
|---|
| 66 |  Q VARDESC
 | 
|---|
| 67 | STATUS(VRSTATUS) ;RETURN STATUS FOR BOTH CPT AND ICD CODES
 | 
|---|
| 68 |  N STATUS
 | 
|---|
| 69 |  ;VRSTATUS = Internal form of status
 | 
|---|
| 70 |  ;STATUS    = Exteral form of status
 | 
|---|
| 71 |  S STATUS=$S(($P(VRSTATUS,"^",1)=1)&($P(VRSTATUS,"^",2)>0):"Active",($P(VRSTATUS,"^",1)=0)&($P(VRSTATUS,"^",2)>0):"Inactive",($P(VRSTATUS,"^",1)=0)&($P(VRSTATUS,"^",2)<0):"Unknown",1:"")
 | 
|---|
| 72 |  Q STATUS
 | 
|---|