110 lines
3.7 KiB
Mathematica
110 lines
3.7 KiB
Mathematica
DGENCDA ;ALB/CJM,Zoltan,JAN,BRM,TDM - Catastrophic Disability API - Retrieve Data;May 24, 1999;Nov 14, 2001 ; 9/19/05 11:35am
|
|
;;5.3;Registration;**121,147,232,387,451,653**;Aug 13,1993;Build 2
|
|
;
|
|
GET(DFN,DGCDIS) ;
|
|
;Description: Get catastrophic disability information for a patient
|
|
;Input:
|
|
; DFN - Patient IEN
|
|
;Output:
|
|
; DGCDIS - the catastrophic disability array, passed by reference
|
|
; subscripts:
|
|
; "BY" Decided By
|
|
; "DATE" Date of Decision
|
|
; "FACDET" Facility Making Determination
|
|
; "REVDTE" Review Date
|
|
; "VETREQDT" Date Veteran Requested CD Evaluation
|
|
; "DTFACIRV" Date Facility Initiated Review
|
|
; "DTVETNOT" Date Veteran Was Notified
|
|
;
|
|
N SUB,ITEM,SITEM,SIEN,IND
|
|
K DGCDIS S DGCDIS=""
|
|
I '$G(DFN) D Q 0
|
|
. F SUB="VCD","BY","DATE","FACDET","REVDTE","METDET","VETREQDT","DTFACIRV","DTVETNOT" S DGCDIS(SUB)=""
|
|
; .39 VETERAN CATASTROPHICALLY DISABLED? field.
|
|
S DGCDIS("VCD")=$P($G(^DPT(DFN,.39)),"^",6)
|
|
; .391 DECIDED BY field.
|
|
S DGCDIS("BY")=$P($G(^DPT(DFN,.39)),"^",1)
|
|
; .392 DATE OF DECISION field.
|
|
S DGCDIS("DATE")=$P($G(^DPT(DFN,.39)),"^",2)
|
|
; .393 FACILITY MAKING DETERMINATION field.
|
|
S DGCDIS("FACDET")=$P($G(^DPT(DFN,.39)),"^",3)
|
|
; .394 REVIEW DATE field.
|
|
S DGCDIS("REVDTE")=$P($G(^DPT(DFN,.39)),"^",4)
|
|
; .395 METHOD OF DETERMINATION field.
|
|
S DGCDIS("METDET")=$P($G(^DPT(DFN,.39)),"^",5)
|
|
; .3951 DATE VETERAN REQUESTED CD EVAL
|
|
S DGCDIS("VETREQDT")=$P($G(^DPT(DFN,.39)),"^",7)
|
|
; .3952 DATE FACILITY INITIATED REVIEW
|
|
S DGCDIS("DTFACIRV")=$P($G(^DPT(DFN,.39)),"^",8)
|
|
; .3953 DATE VETERAN WAS NOTIFIED
|
|
S DGCDIS("DTVETNOT")=$P($G(^DPT(DFN,.39)),"^",9)
|
|
; .396 CD STATUS DIAGNOSES field (multiple):
|
|
S SIEN=0
|
|
F ITEM=1:1 S SIEN=$O(^DPT(DFN,.396,SIEN)) Q:'SIEN D
|
|
. ; .01 CD STATUS DIAGNOSES sub-field.
|
|
. S DGCDIS("DIAG",ITEM)=$P($G(^DPT(DFN,.396,SIEN,0)),"^",1)
|
|
; .397 CD STATUS PROCEDURES field (multiple):
|
|
S (ITEM,SITEM,SIEN)=0
|
|
F S ITEM=$O(^DPT(DFN,.397,"B",ITEM)) Q:'ITEM D
|
|
. S IND=0,SIEN=SIEN+1
|
|
. F S SITEM=$O(^DPT(DFN,.397,"B",ITEM,SITEM)) Q:'SITEM D
|
|
. . ; .01 CD STATUS PROCEDURES sub-field.
|
|
. . S DGCDIS("PROC",SIEN)=$P($G(^DPT(DFN,.397,SITEM,0)),"^",1)
|
|
. . ; 1 AFFECTED EXTREMITY sub-field.
|
|
. . S DGCDIS("EXT",SIEN)=$P($G(^DPT(DFN,.397,SITEM,0)),"^",2)
|
|
. . S IND=IND+1,DGCDIS("EXT",SIEN,IND)=$P($G(^DPT(DFN,.397,SITEM,0)),"^",2)
|
|
; - .398 CD STATUS CONDITIONS field (multiple):
|
|
S SIEN=0
|
|
F ITEM=1:1 S SIEN=$O(^DPT(DFN,.398,SIEN)) Q:'SIEN D
|
|
. ; .01 CD STATUS CONDITIONS sub-field.
|
|
. S DGCDIS("COND",ITEM)=$P($G(^DPT(DFN,.398,SIEN,0)),"^",1)
|
|
. ; 1 SCORE sub-field.
|
|
. S DGCDIS("SCORE",ITEM)=$P($G(^DPT(DFN,.398,SIEN,0)),"^",2)
|
|
. ; 2 PERMANENT INDICATOR sub-field.
|
|
. S DGCDIS("PERM",ITEM)=$P($G(^DPT(DFN,.398,SIEN,0)),"^",3)
|
|
Q 1
|
|
;
|
|
DISABLED(DFN) ;
|
|
;Description: Returns whether the patient is catastrophically disabled.
|
|
;
|
|
;Input:
|
|
; DFN - Patient IEN
|
|
;Output:
|
|
; Function Value - returns 1 if the patient is catastrophically
|
|
; disabled, otherwise 0
|
|
;
|
|
Q $$HASCAT(DFN)
|
|
;
|
|
HASCAT(DFN) ;
|
|
;Description: returns 1 if the patient is CATASTROPHICALLY DISABLED
|
|
;
|
|
Q:'$G(DFN) 0
|
|
Q $P($G(^DPT(DFN,.39)),"^",6)="Y"
|
|
;
|
|
CHKSITE(DFN) ;is this the facility that made the CD determination?
|
|
;
|
|
;Input:
|
|
; DFN - Patient IEN
|
|
;Output:
|
|
; Function Value - returns 1 if CD evaluation was entered at local
|
|
; site, otherwise 0^SITE #
|
|
;
|
|
Q:'$G(DFN) 0
|
|
N SITE
|
|
S SITE=$$SITE^VASITE
|
|
Q:$P($G(^DPT(DFN,.39)),"^",3)=$P(SITE,"^") 1
|
|
Q "0^"_$P($G(^DPT(DFN,.39)),"^",3)
|
|
;
|
|
CDTYPE(DFN) ; Was the method of determination "Physical Exam"?
|
|
;
|
|
;Input:
|
|
; DFN - Patient IEN
|
|
;Output:
|
|
; Function Value - returns 1 if CD='Yes' & Method='Physical Exam'
|
|
; otherwise 0
|
|
;
|
|
Q:'$G(DFN) 0
|
|
Q:'$$HASCAT(DFN) 0
|
|
Q $P($G(^DPT(DFN,.39)),"^",5)=3
|
|
;
|