Ignore:
Timestamp:
Dec 4, 2009, 8:26:01 PM (14 years ago)
Author:
George Lilly
Message:

WorldVistAEHR overlayed on FOIAVistA

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:38am
    2  ;;3.0;DSS EXTRACTS;**8,13,23,24,33,35,39,46,71,84,92,105**;Dec 22, 1997;Build 70
     1ECXUTL2 ;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
    33 ;
    44ECXDEF(ECXHEAD,ECXPACK,ECXGRP,ECXFILE,ECXRTN,ECXPIECE,ECXVER) ;variables specific to extract from file #727.1
     
    1313 ;   ECXPIECE= running piece field (#11)
    1414 ;   ECXVER  = dss version
     15 ;
    1516 N ECXIEN,ECXARR,DIC,DA,DR,DIQ
    1617 S (ECXPACK,ECXGRP,ECXFILE,ECXRTN,ECXPIECE,ECXVER)="",ECXIEN=0
     
    4950 S ECXVER=7
    5051 Q
     52 ;
    5153PATDEM(DFN,DT1,PAR,FLG) ; determine patient information
    5254 ;  DFN   =
     
    7678 .S ECXEST=PAT("EC STAT"),ECXPST=PAT("POW STAT"),ECXPLOC=PAT("POW LOC")
    7779 .S ECXPHI=PAT("PHI"),ECXMST=PAT("MST STAT"),ECXAOL=PAT("AOL")
    78  .S ECXOEF=PAT("ECXOEF"),ECXOEFDT=PAT("ECXOEFDT")
    7980 I PAR["6" D
    8081 .S (ECXPAYOR,ECXSAI)="" D VISN19(DFN,.ECXPAYOR,.ECXSAI)
     
    9798 K ECXSBGRP
    9899 Q
     100 ;
    99101ENROLLM(DFN,RNDT) ;determines enrollment status, category, priority
    100102 ;and user enrollee status
     
    109111 ;    ECXUESTA = User enrollee
    110112 ;    return value 0 if no data found, 1 if data found
     113 ;
    111114 N CAT,PRIOR,STAT,X,X1,X2,X3,ENRIEN,ENR,FL,SBGRP
    112115 S (ECXCAT,ECXPRIOR,ECXSTAT,ECXSBGRP,ECXEUSTA)=""
     
    139142 S ECXSTAT=STAT,ECXPRIOR=PRIOR,ECXCAT=CAT,ECXSBGRP=$S(SBGRP=1:"a",SBGRP=3:"c",SBGRP=5:"e",SBGRP=7:"g",1:"")
    140143 Q 1
     144 ;
    141145PRIMARY(ECXDFN,ECXDATE,ECXPREFX) ;determine patient's pc team and pc provider
    142146 ; input
     
    146150 ;             defaults to "2" if not specified otherwise
    147151 ; 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 provider
    150  ;person class^assoc pc provider npi
     152 ; 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 ;
    151155 N ECPTTM,ECPTPR,ECCLAS,ECPRIME,ECASPR,ECCLAS2
    152156 S:'$D(ECXPREFX) ECXPREFX=2 S:(+ECXPREFX=0) ECXPREFX=2
     
    156160 S ECPTPR=+$$OUTPTPR^SDUTL3(ECXDFN,ECXDATE)
    157161 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)
    160162 S:ECPTPR=0 ECPTPR="" S:ECPTPR]"" ECPTPR=ECXPREFX_ECPTPR
     163 S ECPTNPI=""
    161164 ;assoc pc provider call ok if routine scapmca from patch177 is present
    162165 S ECASPR=""
     
    164167 .S ECASPR=+$$OUTPTAP^SDUTL3(ECXDFN,ECXDATE)
    165168 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)
    168169 S:ECASPR=0 ECASPR="" S:ECASPR]"" ECASPR=ECXPREFX_ECASPR
     170 S ECASNPI=""
    169171 ;assemble
    170172 S ECXPRIME=ECPTTM_U_ECPTPR_U_ECCLAS_U_ECPTNPI_U_ECASPR_U_ECCLAS2_U_ECASNPI
    171173 Q ECXPRIME
     174 ;
    172175INP(ECXDFN,ECXDATE) ; check for inpatient status
    173176 ; input
     
    182185 ;           where patient status = I for inpatient
    183186 ;                                = O for outpatient
     187 ;
    184188 N DFN,DSSDEPT,ECA,ECADM,ECMN,ECTS,ECWARD,ECDC,ECXINP,ECXPRO
    185189 N ECXATP,ECXDD,ECXDOM,ECXPROF,ECXPWP,ECXWW,FAC,VAIP,WRD,ECXPWPPC
     
    187191 D FIELD^DID(405,.19,,"SPECIFIER","ECXDD")
    188192 S ECXPROF=$E(+$P(ECXDD("SPECIFIER"),"P",2)) K ECXDD
     193 ;
    189194 ;- Inpat/outpat indicator (ECA) initially set to "O" (outpatient)
    190195 S DFN=ECXDFN,ECA="O"
     
    194199 I ECMN D
    195200 .S ECTS=+$P($G(^DIC(45.7,+VAIP(8),0)),U,2) S:ECTS=0 ECTS=""
     201 .;
    196202 .;- Get inpat/outpat indicator
    197203 .S ECA=$$INOUTP^ECXUTL4(ECTS)
     
    212218 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
    213219 Q ECXINP
     220 ;
    214221VISN19(ECXDFN,ECXPAYOR,ECXSAI) ;visn 19 sharing agreement data
    215222 ; input  ECXDFN = patient file ien
    216223 ; output ECXPAYOR, ECXSAI (passed by reference)
     224 ;
    217225 N JJ,ALIAS,INSUR,DIC,DIQ,DA,DR,ECXARY,ECXERR,ECXDA
    218226 S (ECXPAYOR,ECXSAI)=""
     
    226234 ;K ECXARY,ECXERR
    227235 I ECXPAYOR]"" D GETS^DIQ(2,ECXDFN,".3121*,","I","ECXARY","ECXERR") D
     236 . W !,"This is a test"
    228237 . I $D(ECXERR) Q
    229238 . S JJ=0,ECXDA=$O(ECXARY(2.312,JJ)) I ECXDA="" Q
Note: See TracChangeset for help on using the changeset viewer.