| [623] | 1 | ECXSCX2 ;ALB/ESD  DSS Clinic Extract Utilities (continued) ; 11/2/06 8:59am
 | 
|---|
 | 2 |  ;;3.0;DSS EXTRACTS;**39,46,49,71,84,92**;Dec 22, 1997;Build 30
 | 
|---|
 | 3 |  ;
 | 
|---|
 | 4 |  ;
 | 
|---|
 | 5 | INTPAT ;initialize patient variables
 | 
|---|
 | 6 |  S (ECXSSN,ECXPNM,ECPTPR,ECCLAS,ECPTNPI,ECASPR,ECCLAS2,ECASNPI,ECXZIP)=""
 | 
|---|
 | 7 |  S (ECPTTM,ECXVET,ECXRACE,ECXENRL,ECXMPI,ECXSEX)=""
 | 
|---|
 | 8 |  S (ECXDOB,ECXELIG,ECXPST,ECXPLOC,ECXRST,ECXAST,ECXMST,ECXSTATE)=""
 | 
|---|
 | 9 |  S (ECXCNTY,ECXATYP,ECXPVST,ECXMTST,ECXEST,ECXECE,ECXHNC)=""
 | 
|---|
 | 10 |  Q
 | 
|---|
 | 11 |  ;
 | 
|---|
 | 12 | PAT1(ECXDFN,ECXDATE,ECXERR)     ;get patient demographic data
 | 
|---|
 | 13 |  N ECXPAT,K,OK,X
 | 
|---|
 | 14 |  S ECXERR=0
 | 
|---|
 | 15 |  S OK=$$PAT^ECXUTL3(ECXDFN,$P(ECXDATE,"."),"1;2;3;4;5",.ECXPAT)
 | 
|---|
 | 16 |  I 'OK S ECXERR=1 Q
 | 
|---|
 | 17 |  S ECXSSN=ECXPAT("SSN"),ECXPNM=ECXPAT("NAME"),ECXMPI=ECXPAT("MPI")
 | 
|---|
 | 18 |  S ECXSEX=ECXPAT("SEX"),ECXDOB=ECXPAT("DOB"),ECXELIG=ECXPAT("ELIG")
 | 
|---|
 | 19 |  S ECXVET=ECXPAT("VET"),ECXSVC=ECXPAT("SC%"),ECXRACE=ECXPAT("RACE")
 | 
|---|
 | 20 |  S ECXPST=ECXPAT("POW STAT"),ECXPLOC=ECXPAT("POW LOC")
 | 
|---|
 | 21 |  S ECXRST=ECXPAT("IR STAT"),ECXAST=ECXPAT("AO STAT")
 | 
|---|
 | 22 |  S ECXMST=ECXPAT("MST STAT"),ECXSTATE=ECXPAT("STATE")
 | 
|---|
 | 23 |  S ECXCNTY=ECXPAT("COUNTY"),ECXZIP=ECXPAT("ZIP")
 | 
|---|
 | 24 |  S ECXENRL=ECXPAT("ENROLL LOC"),ECXMTST=ECXPAT("MEANS")
 | 
|---|
 | 25 |  ; changes for 2001
 | 
|---|
 | 26 |  S ECXPOS=ECXPAT("POS"),ECXPHI=ECXPAT("PHI")
 | 
|---|
 | 27 |  ;- Agent Orange location
 | 
|---|
 | 28 |  S ECXAOL=ECXPAT("AOL")
 | 
|---|
 | 29 |  I $$ENROLLM^ECXUTL2(ECXDFN)
 | 
|---|
 | 30 |  ; - Head and Neck Cancer Indicator
 | 
|---|
 | 31 |  S ECXHNCI=$$HNCI^ECXUTL4(ECXDFN)
 | 
|---|
 | 32 |  ; - Race and Ethnicity
 | 
|---|
 | 33 |  S ECXETH=ECXPAT("ETHNIC")
 | 
|---|
 | 34 |  S ECXRC1=ECXPAT("RACE1")
 | 
|---|
 | 35 |  ; - Environmental Contaminants
 | 
|---|
 | 36 |  S ECXEST=ECXPAT("EC STAT")
 | 
|---|
 | 37 |  ;get emergency response indicator (FEMA)
 | 
|---|
 | 38 |  S ECXERI=ECXPAT("ERI")
 | 
|---|
 | 39 |  Q
 | 
|---|
 | 40 |  ;
 | 
|---|
 | 41 | PAT2(ECXDFN,ECXDATE)    ;get date specific patient data
 | 
|---|
 | 42 |  N K,X
 | 
|---|
 | 43 |  ;get primary care data
 | 
|---|
 | 44 |  S X=$$PRIMARY^ECXUTL2(ECXDFN,$P(ECXDATE,"."))
 | 
|---|
 | 45 |  S ECPTTM=$P(X,U),ECPTPR=$P(X,U,2),ECCLAS=$P(X,U,3),ECPTNPI=$P(X,U,4)
 | 
|---|
 | 46 |  S ECASPR=$P(X,U,5),ECCLAS2=$P(X,U,6),ECASNPI=$P(X,U,7)
 | 
|---|
 | 47 |  ;get inpatient data
 | 
|---|
 | 48 |  S X=$$INP^ECXUTL2(ECXDFN,ECXDATE),ECXA=$P(X,U),ECXTS=$P(X,U,3)
 | 
|---|
 | 49 |  S ECXDOM=$P(X,U,10),ECXADMDT=$P(X,U,4)
 | 
|---|
 | 50 |  ;- set national patient record flag if exist
 | 
|---|
 | 51 |  D NPRF^ECXUTL5
 | 
|---|
 | 52 |  Q
 | 
|---|
 | 53 |  ;
 | 
|---|
 | 54 | FILE2(ECXFILE,EC7,ECODE) ;file record
 | 
|---|
 | 55 |  N DA,DIK,X S X=""
 | 
|---|
 | 56 |  F  S X=$O(ECODE(X)) Q:X=""  S ^ECX(ECXFILE,EC7,X)=ECODE(X)
 | 
|---|
 | 57 |  S DA=EC7,DIK="^ECX("_ECXFILE_"," D IX1^DIK K DIK,DA
 | 
|---|
 | 58 |  I $D(ZTQUEUED),$$S^%ZTLOAD S QFLG=1
 | 
|---|
 | 59 |  Q
 | 
|---|
 | 60 |  ;
 | 
|---|
 | 61 | CBOC(MDIV) ;Determine whether patient's facility was CBOC
 | 
|---|
 | 62 |  N LOCARR,DIC,DR,DIQ,DA,INST,FTYP
 | 
|---|
 | 63 |  S DIC=40.8,DA=MDIV,DR=".07",DIQ(0)="I",DIQ="LOCARR" D EN^DIQ1
 | 
|---|
 | 64 |  S INST=$G(LOCARR(40.8,MDIV,.07,"I")) I INST="" Q ""
 | 
|---|
 | 65 |  K LOCARR S DIC=4,DA=INST,DR="13",DIQ(0)="I",DIQ="LOCARR" D EN^DIQ1
 | 
|---|
 | 66 |  S FTYP=$G(LOCARR(4,INST,13,"I")) I FTYP="" Q ""
 | 
|---|
 | 67 |  K LOCARR S DIC=4.1,DA=FTYP,DR=".01",DIQ(0)="I",DIQ="LOCARR" D EN^DIQ1
 | 
|---|
 | 68 |  Q $S($G(LOCARR(4.1,FTYP,.01,"I"))="CBOC":"Y",1:"")
 | 
|---|