Changeset 636 for FOIAVistA/tag/r/DSS_EXTRACTS-ECX/ECXUTL2.m
- Timestamp:
- Dec 4, 2009, 8:26:01 PM (14 years ago)
- Location:
- FOIAVistA/tag/r
- Files:
-
- 1 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
FOIAVistA/tag/r/DSS_EXTRACTS-ECX/ECXUTL2.m
r628 r636 1 ECXUTL2 ;ALB/JAP - Utilities for DSS Extracts (cont.) ; 6/12/07 6:38am2 ;;3.0;DSS EXTRACTS;**8,13,23,24,33,35,39,46,71,84,92 ,105**;Dec 22, 1997;Build 701 ECXUTL2 ;ALB/JAP - Utilities for DSS Extracts (cont.) ; 11/2/06 9:03am 2 ;;3.0;DSS EXTRACTS;**8,13,23,24,33,35,39,46,71,84,92**;Dec 22, 1997;Build 30 3 3 ; 4 4 ECXDEF(ECXHEAD,ECXPACK,ECXGRP,ECXFILE,ECXRTN,ECXPIECE,ECXVER) ;variables specific to extract from file #727.1 … … 13 13 ; ECXPIECE= running piece field (#11) 14 14 ; ECXVER = dss version 15 ; 15 16 N ECXIEN,ECXARR,DIC,DA,DR,DIQ 16 17 S (ECXPACK,ECXGRP,ECXFILE,ECXRTN,ECXPIECE,ECXVER)="",ECXIEN=0 … … 49 50 S ECXVER=7 50 51 Q 52 ; 51 53 PATDEM(DFN,DT1,PAR,FLG) ; determine patient information 52 54 ; DFN = … … 76 78 .S ECXEST=PAT("EC STAT"),ECXPST=PAT("POW STAT"),ECXPLOC=PAT("POW LOC") 77 79 .S ECXPHI=PAT("PHI"),ECXMST=PAT("MST STAT"),ECXAOL=PAT("AOL") 78 .S ECXOEF=PAT("ECXOEF"),ECXOEFDT=PAT("ECXOEFDT")79 80 I PAR["6" D 80 81 .S (ECXPAYOR,ECXSAI)="" D VISN19(DFN,.ECXPAYOR,.ECXSAI) … … 97 98 K ECXSBGRP 98 99 Q 100 ; 99 101 ENROLLM(DFN,RNDT) ;determines enrollment status, category, priority 100 102 ;and user enrollee status … … 109 111 ; ECXUESTA = User enrollee 110 112 ; return value 0 if no data found, 1 if data found 113 ; 111 114 N CAT,PRIOR,STAT,X,X1,X2,X3,ENRIEN,ENR,FL,SBGRP 112 115 S (ECXCAT,ECXPRIOR,ECXSTAT,ECXSBGRP,ECXEUSTA)="" … … 139 142 S ECXSTAT=STAT,ECXPRIOR=PRIOR,ECXCAT=CAT,ECXSBGRP=$S(SBGRP=1:"a",SBGRP=3:"c",SBGRP=5:"e",SBGRP=7:"g",1:"") 140 143 Q 1 144 ; 141 145 PRIMARY(ECXDFN,ECXDATE,ECXPREFX) ;determine patient's pc team and pc provider 142 146 ; input … … 146 150 ; defaults to "2" if not specified otherwise 147 151 ; output 148 ; ECXPRIME = pc team ien^prefix_pc provider ien^pc provider person 149 ; class^pc provider npi^prefix_assoc pc provider ien^assoc pc provider150 ; person class^assoc pc provider npi152 ; ECXPRIME = pc team ien^prefix_pc provider ien^pc provider person class^pc provider npi 153 ; ^prefix_assoc pc provider ien^assoc pc provider person class^assoc pc provider npi 154 ; 151 155 N ECPTTM,ECPTPR,ECCLAS,ECPRIME,ECASPR,ECCLAS2 152 156 S:'$D(ECXPREFX) ECXPREFX=2 S:(+ECXPREFX=0) ECXPREFX=2 … … 156 160 S ECPTPR=+$$OUTPTPR^SDUTL3(ECXDFN,ECXDATE) 157 161 S ECCLAS="" I ECPTPR>0 S ECCLAS=$$PRVCLASS^ECXUTL(ECPTPR,ECXDATE) 158 N ECXUSRTN S ECXUSRTN=$$NPI^XUSNPI("Individual_ID",ECPTPR,ECXDATE)159 S:+ECXUSRTN'>0 ECXUSRTN="" S ECPTNPI=$P(ECXUSRTN,U)160 162 S:ECPTPR=0 ECPTPR="" S:ECPTPR]"" ECPTPR=ECXPREFX_ECPTPR 163 S ECPTNPI="" 161 164 ;assoc pc provider call ok if routine scapmca from patch177 is present 162 165 S ECASPR="" … … 164 167 .S ECASPR=+$$OUTPTAP^SDUTL3(ECXDFN,ECXDATE) 165 168 S ECCLAS2="" I ECASPR>0 S ECCLAS2=$$PRVCLASS^ECXUTL(ECASPR,ECXDATE) 166 N ECXUSRTN S ECXUSRTN=$$NPI^XUSNPI("Individual_ID",ECASPR,ECXDATE)167 S:+ECXUSRTN'>0 ECXUSRTN="" S ECASNPI=$P(ECXUSRTN,U)168 169 S:ECASPR=0 ECASPR="" S:ECASPR]"" ECASPR=ECXPREFX_ECASPR 170 S ECASNPI="" 169 171 ;assemble 170 172 S ECXPRIME=ECPTTM_U_ECPTPR_U_ECCLAS_U_ECPTNPI_U_ECASPR_U_ECCLAS2_U_ECASNPI 171 173 Q ECXPRIME 174 ; 172 175 INP(ECXDFN,ECXDATE) ; check for inpatient status 173 176 ; input … … 182 185 ; where patient status = I for inpatient 183 186 ; = O for outpatient 187 ; 184 188 N DFN,DSSDEPT,ECA,ECADM,ECMN,ECTS,ECWARD,ECDC,ECXINP,ECXPRO 185 189 N ECXATP,ECXDD,ECXDOM,ECXPROF,ECXPWP,ECXWW,FAC,VAIP,WRD,ECXPWPPC … … 187 191 D FIELD^DID(405,.19,,"SPECIFIER","ECXDD") 188 192 S ECXPROF=$E(+$P(ECXDD("SPECIFIER"),"P",2)) K ECXDD 193 ; 189 194 ;- Inpat/outpat indicator (ECA) initially set to "O" (outpatient) 190 195 S DFN=ECXDFN,ECA="O" … … 194 199 I ECMN D 195 200 .S ECTS=+$P($G(^DIC(45.7,+VAIP(8),0)),U,2) S:ECTS=0 ECTS="" 201 .; 196 202 .;- Get inpat/outpat indicator 197 203 .S ECA=$$INOUTP^ECXUTL4(ECTS) … … 212 218 S ECXINP=ECA_U_ECMN_U_ECTS_U_ECADM_U_ECWARD_U_ECDC_U_ECXPWP_U_ECXATP_U_ECXWW_U_ECXDOM_U_ECXPWPPC_U_ECXATPPC 213 219 Q ECXINP 220 ; 214 221 VISN19(ECXDFN,ECXPAYOR,ECXSAI) ;visn 19 sharing agreement data 215 222 ; input ECXDFN = patient file ien 216 223 ; output ECXPAYOR, ECXSAI (passed by reference) 224 ; 217 225 N JJ,ALIAS,INSUR,DIC,DIQ,DA,DR,ECXARY,ECXERR,ECXDA 218 226 S (ECXPAYOR,ECXSAI)="" … … 226 234 ;K ECXARY,ECXERR 227 235 I ECXPAYOR]"" D GETS^DIQ(2,ECXDFN,".3121*,","I","ECXARY","ECXERR") D 236 . W !,"This is a test" 228 237 . I $D(ECXERR) Q 229 238 . S JJ=0,ECXDA=$O(ECXARY(2.312,JJ)) I ECXDA="" Q
Note:
See TracChangeset
for help on using the changeset viewer.