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/ECXTRT.m

    r628 r636  
    1 ECXTRT ;ALB/JAP,BIR/DMA,CML,PTD-Treating Specialty Change Extract ; 10/17/07 3:48pm
    2  ;;3.0;DSS EXTRACTS;**1,8,17,24,33,35,39,46,49,84,107,105**;Dec 22, 1997;Build 70
     1ECXTRT ;ALB/JAP,BIR/DMA,CML,PTD-Treating Specialty Change Extract ; 04/12/2007
     2 ;;3.0;DSS EXTRACTS;**1,8,17,24,33,35,39,46,49,84,107**;Dec 22, 1997;Build 9
    33BEG ;entry point from option
    44 D SETUP I ECFILE="" Q
     
    3737 ..D:ECXTRTL'=ECXTRTN PREVTRT^ECXTRT1(.LOC,ECD1,ECD2,ECXTRTL,.ECXLOS)
    3838 ..;whether ts has changed or not, see if primary provider has changed
    39  ..;don't bother if there's no data on current primary provider or no change in provider
     39 ..;dont bother if there's no data on current primary provider or no change in provider
    4040 ..D:(ECXPRVN'="")&(ECXPRVN'=ECXPRVL) PREVPRV^ECXTRT1(.LOC,ECD1,ECXPRVN,ECD2,.ECXPRVL,.ECXLOSP)
    4141 ..;whether ts has changed or not, see if attending physician has changed
    42  ..;don't bother if there's no data on current attending physician or no change in attending
     42 ..;dont bother if theres no data on current attending physician or no change in attending
    4343 ..D:(ECXATTN'="")&(ECXATTN'=ECXATTL) PREVATT^ECXTRT1(.LOC,ECD1,ECXATTN,ECD2,.ECXATTL,.ECXLOSA)
    4444 ..S ECXDATE=$$ECXDATE^ECXUTL(ECXMVD1,ECXYM),ECXTIME=$$ECXTIME^ECXUTL(ECXMVD1)
     
    4747 ..S ECXPDIV=""
    4848 ..I ECXLOGIC>2003 S ECXPDIV=$S(WRD="":"",1:$$NPDIV(WRD))
     49 ..S (ECXALNPI,ECXANNPI,ECXPLNPI,ECXPNNPI)=""
    4950 ..;
    5051 ..;- Observation patient indicator (YES/NO)
     
    5657 ..;- Get providers person classes
    5758 .. S ECXATLPC=$$PRVCLASS^ECXUTL($E(ECXATTL,2,999),ECXADT)
    58  .. S ECATLNPI=$$NPI^XUSNPI("Individual_ID",$E(ECXATTL,2,999),ECXADT)
    59  .. S:+ECATLNPI'>0 ECATLNPI="" S ECATLNPI=$P(ECATLNPI,U)
    6059 .. S ECXPRNPC=$$PRVCLASS^ECXUTL($E(ECXPRVN,2,999),ECXADT)
    61  .. S ECPRVNPI=$$NPI^XUSNPI("Individual_ID",$E(ECXPRVN,2,999),ECXADT)
    62  .. S:+ECPRVNPI'>0 ECPRVNPI="" S ECPRVNPI=$P(ECPRVNPI,U)
    6360 .. S ECXATNPC=$$PRVCLASS^ECXUTL($E(ECXATTN,2,999),ECXADT)
    64  .. S ECATTNPI=$$NPI^XUSNPI("Individual_ID",$E(ECXATTN,2,999),ECXADT)
    65  .. S:+ECATTNPI'>0 ECATTNPI="" S ECATTNPI=$P(ECATTNPI,U)
    6661 .. S ECXPRLPC=$$PRVCLASS^ECXUTL($E(ECXPRVL,2,999),ECXADT)
    67  .. S ECPRLNPI=$$NPI^XUSNPI("Individual_ID",$E(ECXPRVL,2,999),ECXADT)
    68  .. S:+ECPRLNPI'>0 ECPRLNPI="" S ECPRLNPI=$P(ECPRLNPI,U)
    6962 ..;
    7063 ..;- If no encounter number, don't file record
    7164 ..S ECXENC=$$ENCNUM^ECXUTL4(ECXA,ECXSSN,ECXADT,,ECXTS,ECXOBS,ECHEAD,,)
    72  ..D:ECXENC'="" FILE^ECXTRT2
     65 ..D:ECXENC'="" FILE
    7366 ;for nhcu episodes with intervening asih stays, the los calculated here is not accurate,
    7467 ;but it never has been; this is best solution within current extract framework;
    75  ;at discharge the los calculated for nhcu episodes will be the los since admission w/o asih los subtracted;
     68 ;at discharge the los calculated for nhcu apisodes will be the los since admission w/o asih los subtracted;
    7669 ;
    7770 ;loop through discharges to get last treating specialty
     
    109102 ..S ECXPDIV=""
    110103 ..I ECXLOGIC>2003 S ECXPDIV=$S(WRD="":"",1:$$NPDIV(WRD))
     104 ..S (ECXALNPI,ECXANNPI,ECXPLNPI,ECXPNNPI)=""
    111105 ..;
    112106 ..;- Observation patient indicator (YES/NO)
     
    118112 ..;- Get providers person classes
    119113 .. S ECXATLPC=$$PRVCLASS^ECXUTL($E(ECXATTL,2,999),ECXADT)
    120  .. S ECATLNPI=$$NPI^XUSNPI("Individual_ID",$E(ECXATTL,2,999),ECXADT)
    121  .. S:+ECATLNPI'>0 ECATLNPI="" S ECATLNPI=$P(ECATLNPI,U)
    122114 .. S ECXPRNPC=$$PRVCLASS^ECXUTL($E(ECXPRVN,2,999),ECXADT)
    123  .. S ECPRVNPI=$$NPI^XUSNPI("Individual_ID",$E(ECXPRVN,2,999),ECXADT)
    124  .. S:+ECPRVNPI'>0 ECPRVNPI="" S ECPRVNPI=$P(ECPRVNPI,U)
    125115 .. S ECXATNPC=$$PRVCLASS^ECXUTL($E(ECXATTN,2,999),ECXADT)
    126  .. S ECATTNPI=$$NPI^XUSNPI("Individual_ID",$E(ECXATTN,2,999),ECXADT)
    127  .. S:+ECATTNPI'>0 ECATTNPI="" S ECATTNPI=$P(ECATTNPI,U)
    128116 .. S ECXPRLPC=$$PRVCLASS^ECXUTL($E(ECXPRVL,2,999),ECXADT)
    129  .. S ECPRLNPI=$$NPI^XUSNPI("Individual_ID",$E(ECXPRVL,2,999),ECXADT)
    130  .. S:+ECPRLNPI'>0 ECPRLNPI="" S ECPRLNPI=$P(ECPRLNPI,U)
    131117 ..;
    132118 ..;- If no encounter number don't file record
    133119 ..S ECXENC=$$ENCNUM^ECXUTL4(ECXA,ECXSSN,ECXADT,,ECXTS,ECXOBS,ECHEAD,,)
    134  ..D:ECXENC'="" FILE^ECXTRT2
     120 ..D:ECXENC'="" FILE
    135121 D KPATDEM^ECXUTL2
    136122 Q
     
    178164 Q
    179165 ;
     166FILE ;file the extract record
     167 ;node0
     168 ;^dfn^ssn^name^i/o (ECXA)^date^product^adm date^d/c date^
     169 ;mov#^type^new ts^losing ts^losing ts los^
     170 ;losing attending^movement type^time^adm time^new provider^
     171 ;new attending^losing provider
     172 ;node1
     173 ;mpi^dss dept^losing attending npi^new provider npi^new attending npi^
     174 ;losing provider npi^losing attending los^losing provider los^dom^
     175 ;observ pat ind^encounter num
     176 ;
     177 ;convert specialties to PTF Codes for transmission
     178 ;
     179 N ECXDATA
     180 S ECXDATA=$$TSDATA^DGACT(42.4,+ECXSPCN,.ECXDATA)
     181 S ECXSPCN=$G(ECXDATA(7))
     182 S ECXDATA=$$TSDATA^DGACT(42.4,+ECXSPCL,.ECXDATA)
     183 S ECXSPCL=$G(ECXDATA(7))
     184 ;done
     185 S EC7=$O(^ECX(ECFILE,999999999),-1),EC7=EC7+1
     186 S ECODE=EC7_U_EC23_U_U_ECXDFN_U_ECXSSN_U_ECXPNM_U_ECXA_U_ECXDATE_U_U
     187 S ECODE=ECODE_ECXADMDT_U_ECXDCDT_U_ECDA_U_6_U_ECXSPCN_U_ECXSPCL_U
     188 S ECODE=ECODE_ECXLOS_U_ECXATTL_U_ECMT_U_ECXTIME_U_ECXADMTM_U_ECXPRVN_U
     189 S ECODE=ECODE_ECXATTN_U_ECXPRVL_U
     190 S ECODE1=ECXMPI_U_ECXDSSD_U_ECXALNPI_U_ECXPNNPI_U_ECXANNPI_U_ECXPLNPI_U
     191 S ECODE1=ECODE1_ECXLOSA_U_ECXLOSP_U_ECXDOM_U_ECXOBS_U_ECXENC_U_ECXPDIV
     192 I ECXLOGIC>2005 S ECODE1=ECODE1_U_ECXATLPC_U_ECXPRNPC_U_ECXATNPC_U_ECXPRLPC
     193 S ^ECX(ECFILE,EC7,0)=ECODE,^ECX(ECFILE,EC7,1)=ECODE1,ECRN=ECRN+1
     194 S DA=EC7,DIK="^ECX("_ECFILE_"," D IX1^DIK K DIK,DA
     195 I $D(ZTQUEUED),$$S^%ZTLOAD S QFLG=1
     196 Q
     197 ;
    180198SETUP ;Set required input for ECXTRAC
    181199 S ECHEAD="TRT"
Note: See TracChangeset for help on using the changeset viewer.