- ECXQSR1 ;ALB/JAP,BIR/PTD-DSS QUASAR Extract ;4/24/18 14:06
- ;;3.0;DSS EXTRACTS;**105,120,127,132,136,144,149,154,161,166,170**;Dec 22, 1997;Build 12
- FILE ;file record in #727.825
- ;node0
- ;inst^dfn ECXDFN^ssn ECXSSN^name ECXPNM^i/o status ECXA^day ECDAY^
- ;DSS unit ECDU^^category ECPTTM^procedure ECP^volume ECV^cost center^
- ;ordering sec ^section^provider ECXPRV1^ECXPPC1^ECXPRV2^ECXPPC2^ECXPRV3^
- ;ECXPPC3^mov # ECXMN^treat spec ECXTS^time ECTIME^Placehold primary care team
- ;ECPTTM^Placehold primary care provider ECPTPR^pce cpt code & modifers ECXCPT^
- ;Placeholder ECDIA^Placeholder ECXICD91^Placeholder ECXICD92^
- ;Placeholder ECXICD93^Placeholder ECXICD94^
- ;agent orange ECXAST^radiation exposure ECRST^environmental
- ;contaminants ECEST^service connected ECSC^sent to pce^^dss identifier
- ;ECDSS^placeholder
- ;node1
- ;mpi ECXNPI^placeholder ECXDSSD^^^Placehold PC provider person class^placeholder
- ;^Placehold assoc pc provider ECASPR^Placehold assoc pc prov person class
- ;ECCLAS2^placeholder^divison ECXDIV^dom ECXDOM^
- ;enrollment category ECXCAT^enrollment status ECXSTAT^enrollment prior
- ;ECXPRIOR^period of service ECXPOS^purple heart ECXPHI^observ pat ind
- ;ECXOBS^encounter num ECXENC^ao loc ECXAOL^ord div ECXODIV^contr st dt
- ;ECXCSDT^contr end dt ECXCEDT^contr typ ECXCTYP^CNH stat ECXCNH^
- ;production division ECXPDIV^eligibility ECXELIG^Placehold ethnicity ECXETH^
- ;Placehold race1 ECXRC1^enrollment location ECXENRL^^enrollment priority
- ;ECXPRIOR_enrollment subgroup ECXSBGRP^user enrollee ECXUESTA^patient
- ;type ECXPTYPE^combat vet elig ECXCVE
- ;NODE 2
- ;^combat vet elig end date ECXCVEDT^
- ;enc cv eligible ECXCVENC^national patient record flag ECXNPRFI^
- ;emergency response indicator(FEMA) ECXERI^agent orange indicator
- ;ECXAO^environ contam ECXECE^head/neck ECXHNC^military sexual trauma
- ;ECXMIL^radiation encoun ECXIR^nutrition dx(currently null)^OEF/OIF ECXOEF^
- ;OEF/OIF return date ECXOEFDT^Placehold assoc pc provider npi ECASNPI^
- ;Placehold primary care provider npi ECPTNPI^provider npi ECPR1NPI^
- ;provider #2 npi ECPR2NPI^provider #3 npi ECPR3NPI^shad status ECXSHADI^
- ;shad encouter ECXSHAD^pat cat ECXPATCAT^provider #4 ECXPRV4^
- ;provider #4 pc ECXPPC4^provider #4 npi ECPR4NPI^provider #5 ECXPRV5^
- ;provider #5 pc ECXPPC5^provider #5 npi ECPR5NPI^
- ;primary ICD-10 code ECXICD10P^Secondary ICD-10 Code #1 ECXICD101^
- ;Secondary ICD-10 Code #2 ECXICD102^Secondary ICD-10 Code #3 ECXICD103^
- ;NODE 3
- ;Secondary ICD-10 Code #4 ECXICD104^Encounter SC ECXESC^Vietnam Status ECXVNS
- ;Provider #6 ECXPRV6^ Prov #6 PC ECXPPC6^Prov #6 NPI ECPR6NPI^Provider #7 ECXPRV7^ Prov #7 PC ECXPPC7^Prov #7 NPI ECPR7NPI^4CHAR ECX4CHAR^Clinic IEN ECAC (NOW NULL)^Camp Lejeune status ECXCLST^Encounter Camp Lejeune ECXECL
- ;Combat Service Indicator (ECXSVCI) ^ Combat Service Location (ECXSVCL)
- ;Clinic IEN ECAC
- ;^ Patient Division (ECXSTANO) 166
- ;convert specialty to PTF Code for transmission
- N ECXDATA,ECXTSC
- N ECXRES1,ECXRES2,ECXRES3,ECXSVCI,ECXSVCL ;149
- S (ECXRES1,ECXRES2,ECXRES3,ECXSVCI,ECXSVCL)="" ;149
- S ECXDATA=$$TSDATA^DGACT(42.4,+ECXTS,.ECXDATA)
- S ECXTSC=$G(ECXDATA(7))
- ;done
- N DA,DIK
- S EC7=$O(^ECX(ECFILE,999999999),-1),EC7=EC7+1
- I ECXLOGIC>2018 S (ECXETH,ECXRC1,ECPTTM,ECPTPR,ECCLAS,ECASPR,ECCLAS2,ECASNPI,ECPTNPI)="" ;170 Fields will now be null
- S ECODE=EC7_U_EC23_U
- S ECODE=ECODE_ECL_U_ECXDFN_U_ECXSSN_U_ECXPNM_U_ECXA_U_ECDAY_U_ECDU_U_U
- S ECODE=ECODE_ECP_U_ECV_U_ECCS_U_ECO_U_ECM_U_ECXPRV1_U_ECXPPC1_U
- S ECODE=ECODE_ECXPRV2_U_ECXPPC2_U_ECXPRV3_U_ECXPPC3_U_U
- S ECODE=ECODE_ECXMN_U_ECXTSC_U_ECTIME_U_ECPTTM_U
- S ECODE=ECODE_ECPTPR_U_ECXCPT_U_ECDIA_U_ECXICD91_U_ECXICD92_U
- S ECODE=ECODE_ECXICD93_U_ECXICD94_U_ECXAST_U_ECXRST_U_ECXEST_U
- S ECODE=ECODE_ECSC_U_"N"_U_U_ECDSS_U_U
- S ECODE1=ECXMPI_U_ECXDSSD_U_U_U_U_ECCLAS_U_U_ECASPR_U
- S ECODE1=ECODE1_ECCLAS2_U_U_ECXDIV_U_ECXMST_U_ECXDOM_U
- S ECODE1=ECODE1_ECXDOB_U_ECXCAT_U_ECXSTAT_U_$S(ECXLOGIC<2005:ECXPRIOR,1:"")_U_ECXPOS_U_ECXPHI_U
- S ECODE1=ECODE1_ECXOBS_U_ECXENC_U_ECXAOL_U_ECXODIV_U_ECXCSDT_U_ECXCEDT_U
- S ECODE1=ECODE1_ECXCTYP_U_ECXCNH_U_ECXPDIV_U_ECXELIG_U_ECXHNCI_U_ECXETH_U
- S ECODE1=ECODE1_ECXRC1
- I ECXLOGIC>2003 S ECODE1=ECODE1_U_ECXENRL
- I ECXLOGIC>2004 S ECODE1=ECODE1_U_U_ECXPRIOR_ECXSBGRP_U_ECXUESTA_U_ECXPTYPE_U_ECXCVE_U
- I ECXLOGIC>2004 S ECODE2=ECXCVEDT_U_ECXCVENC_U_ECXNPRFI
- I ECXLOGIC>2006 S ECODE2=ECODE2_U_ECXERI_U_ECXAO_U_ECXECE_U_ECXHNC_U_ECXMIL_U_ECXIR_U
- I ECXLOGIC>2007 S ECODE2=ECODE2_U_$G(ECXOEF)_U_$G(ECXOEFDT)_U_$G(ECASNPI)_U_$G(ECPTNPI)_U_$G(ECPR1NPI)_U_$G(ECPR2NPI)_U_$G(ECPR3NPI)
- I ECXLOGIC>2010 S ECODE2=ECODE2_U_$G(ECXSHADI)_U_$G(ECXSHAD)_U_ECXPATCAT
- I ECXLOGIC>2011 S ECODE2=ECODE2_U_$G(ECXPRV4)_U_$G(ECXPPC4)_U_$G(ECPR4NPI)_U_$G(ECXPRV5)_U_$G(ECXPPC5)_U_$G(ECPR5NPI)
- I ECXLOGIC>2012 S ECODE2=ECODE2_U_ECXICD10P_U_ECXICD101_U_ECXICD102_U_ECXICD103_U
- I ECXLOGIC>2012 S ECODE3=ECXICD104
- I ECXLOGIC>2013 S ECODE3=ECODE3_U_ECXESC_U_ECXVNS_U_ECXPRV6_U_ECXPPC6_U_ECPR6NPI_U_ECXPRV7_U_ECXPPC7_U_ECPR7NPI_U_ECX4CHAR_U_$S(ECXLOGIC>2015:"",1:ECAC)_U_ECXCLST_U_ECXECL ;144
- I ECXLOGIC>2014 S ECODE3=ECODE3_U_ECXRES1_U_ECXRES2_U_ECXRES3_U_ECXSVCI_U_ECXSVCL ;149
- I ECXLOGIC>2015 S ECODE3=ECODE3_U_ECAC ;154 MOVED CLINIC IEN
- I ECXLOGIC>2017 S ECODE3=ECODE3_U_ECXSTANO ;166
- S ^ECX(ECFILE,EC7,0)=ECODE,^ECX(ECFILE,EC7,1)=ECODE1,^ECX(ECFILE,EC7,2)=$G(ECODE2),^ECX(ECFILE,EC7,3)=$G(ECODE3),ECRN=ECRN+1
- S DA=EC7,DIK="^ECX("_ECFILE_"," D IX1^DIK K DIK,DA
- I $D(ZTQUEUED),$$S^%ZTLOAD
- Q
- SETUP ;Set required input for ECXTRAC
- S ECHEAD="ECQ"
- D ECXDEF^ECXUTL2(ECHEAD,.ECPACK,.ECGRP,.ECFILE,.ECRTN,.ECPIECE,.ECVER)
- Q
- QUE ;Entry point for the background requeuing handled by ECXTAUTO.
- D SETUP,QUE^ECXTAUTO,^ECXKILL Q
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HECXQSR1 5764 printed Mar 13, 2025@20:58:22 Page 2
- ECXQSR1 ;ALB/JAP,BIR/PTD-DSS QUASAR Extract ;4/24/18 14:06
- +1 ;;3.0;DSS EXTRACTS;**105,120,127,132,136,144,149,154,161,166,170**;Dec 22, 1997;Build 12
- FILE ;file record in #727.825
- +1 ;node0
- +2 ;inst^dfn ECXDFN^ssn ECXSSN^name ECXPNM^i/o status ECXA^day ECDAY^
- +3 ;DSS unit ECDU^^category ECPTTM^procedure ECP^volume ECV^cost center^
- +4 ;ordering sec ^section^provider ECXPRV1^ECXPPC1^ECXPRV2^ECXPPC2^ECXPRV3^
- +5 ;ECXPPC3^mov # ECXMN^treat spec ECXTS^time ECTIME^Placehold primary care team
- +6 ;ECPTTM^Placehold primary care provider ECPTPR^pce cpt code & modifers ECXCPT^
- +7 ;Placeholder ECDIA^Placeholder ECXICD91^Placeholder ECXICD92^
- +8 ;Placeholder ECXICD93^Placeholder ECXICD94^
- +9 ;agent orange ECXAST^radiation exposure ECRST^environmental
- +10 ;contaminants ECEST^service connected ECSC^sent to pce^^dss identifier
- +11 ;ECDSS^placeholder
- +12 ;node1
- +13 ;mpi ECXNPI^placeholder ECXDSSD^^^Placehold PC provider person class^placeholder
- +14 ;^Placehold assoc pc provider ECASPR^Placehold assoc pc prov person class
- +15 ;ECCLAS2^placeholder^divison ECXDIV^dom ECXDOM^
- +16 ;enrollment category ECXCAT^enrollment status ECXSTAT^enrollment prior
- +17 ;ECXPRIOR^period of service ECXPOS^purple heart ECXPHI^observ pat ind
- +18 ;ECXOBS^encounter num ECXENC^ao loc ECXAOL^ord div ECXODIV^contr st dt
- +19 ;ECXCSDT^contr end dt ECXCEDT^contr typ ECXCTYP^CNH stat ECXCNH^
- +20 ;production division ECXPDIV^eligibility ECXELIG^Placehold ethnicity ECXETH^
- +21 ;Placehold race1 ECXRC1^enrollment location ECXENRL^^enrollment priority
- +22 ;ECXPRIOR_enrollment subgroup ECXSBGRP^user enrollee ECXUESTA^patient
- +23 ;type ECXPTYPE^combat vet elig ECXCVE
- +24 ;NODE 2
- +25 ;^combat vet elig end date ECXCVEDT^
- +26 ;enc cv eligible ECXCVENC^national patient record flag ECXNPRFI^
- +27 ;emergency response indicator(FEMA) ECXERI^agent orange indicator
- +28 ;ECXAO^environ contam ECXECE^head/neck ECXHNC^military sexual trauma
- +29 ;ECXMIL^radiation encoun ECXIR^nutrition dx(currently null)^OEF/OIF ECXOEF^
- +30 ;OEF/OIF return date ECXOEFDT^Placehold assoc pc provider npi ECASNPI^
- +31 ;Placehold primary care provider npi ECPTNPI^provider npi ECPR1NPI^
- +32 ;provider #2 npi ECPR2NPI^provider #3 npi ECPR3NPI^shad status ECXSHADI^
- +33 ;shad encouter ECXSHAD^pat cat ECXPATCAT^provider #4 ECXPRV4^
- +34 ;provider #4 pc ECXPPC4^provider #4 npi ECPR4NPI^provider #5 ECXPRV5^
- +35 ;provider #5 pc ECXPPC5^provider #5 npi ECPR5NPI^
- +36 ;primary ICD-10 code ECXICD10P^Secondary ICD-10 Code #1 ECXICD101^
- +37 ;Secondary ICD-10 Code #2 ECXICD102^Secondary ICD-10 Code #3 ECXICD103^
- +38 ;NODE 3
- +39 ;Secondary ICD-10 Code #4 ECXICD104^Encounter SC ECXESC^Vietnam Status ECXVNS
- +40 ;Provider #6 ECXPRV6^ Prov #6 PC ECXPPC6^Prov #6 NPI ECPR6NPI^Provider #7 ECXPRV7^ Prov #7 PC ECXPPC7^Prov #7 NPI ECPR7NPI^4CHAR ECX4CHAR^Clinic IEN ECAC (NOW NULL)^Camp Lejeune status ECXCLST^Encounter Camp Lejeune ECXECL
- +41 ;Combat Service Indicator (ECXSVCI) ^ Combat Service Location (ECXSVCL)
- +42 ;Clinic IEN ECAC
- +43 ;^ Patient Division (ECXSTANO) 166
- +44 ;convert specialty to PTF Code for transmission
- +45 NEW ECXDATA,ECXTSC
- +46 ;149
- NEW ECXRES1,ECXRES2,ECXRES3,ECXSVCI,ECXSVCL
- +47 ;149
- SET (ECXRES1,ECXRES2,ECXRES3,ECXSVCI,ECXSVCL)=""
- +48 SET ECXDATA=$$TSDATA^DGACT(42.4,+ECXTS,.ECXDATA)
- +49 SET ECXTSC=$GET(ECXDATA(7))
- +50 ;done
- +51 NEW DA,DIK
- +52 SET EC7=$ORDER(^ECX(ECFILE,999999999),-1)
- SET EC7=EC7+1
- +53 ;170 Fields will now be null
- IF ECXLOGIC>2018
- SET (ECXETH,ECXRC1,ECPTTM,ECPTPR,ECCLAS,ECASPR,ECCLAS2,ECASNPI,ECPTNPI)=""
- +54 SET ECODE=EC7_U_EC23_U
- +55 SET ECODE=ECODE_ECL_U_ECXDFN_U_ECXSSN_U_ECXPNM_U_ECXA_U_ECDAY_U_ECDU_U_U
- +56 SET ECODE=ECODE_ECP_U_ECV_U_ECCS_U_ECO_U_ECM_U_ECXPRV1_U_ECXPPC1_U
- +57 SET ECODE=ECODE_ECXPRV2_U_ECXPPC2_U_ECXPRV3_U_ECXPPC3_U_U
- +58 SET ECODE=ECODE_ECXMN_U_ECXTSC_U_ECTIME_U_ECPTTM_U
- +59 SET ECODE=ECODE_ECPTPR_U_ECXCPT_U_ECDIA_U_ECXICD91_U_ECXICD92_U
- +60 SET ECODE=ECODE_ECXICD93_U_ECXICD94_U_ECXAST_U_ECXRST_U_ECXEST_U
- +61 SET ECODE=ECODE_ECSC_U_"N"_U_U_ECDSS_U_U
- +62 SET ECODE1=ECXMPI_U_ECXDSSD_U_U_U_U_ECCLAS_U_U_ECASPR_U
- +63 SET ECODE1=ECODE1_ECCLAS2_U_U_ECXDIV_U_ECXMST_U_ECXDOM_U
- +64 SET ECODE1=ECODE1_ECXDOB_U_ECXCAT_U_ECXSTAT_U_$SELECT(ECXLOGIC<2005:ECXPRIOR,1:"")_U_ECXPOS_U_ECXPHI_U
- +65 SET ECODE1=ECODE1_ECXOBS_U_ECXENC_U_ECXAOL_U_ECXODIV_U_ECXCSDT_U_ECXCEDT_U
- +66 SET ECODE1=ECODE1_ECXCTYP_U_ECXCNH_U_ECXPDIV_U_ECXELIG_U_ECXHNCI_U_ECXETH_U
- +67 SET ECODE1=ECODE1_ECXRC1
- +68 IF ECXLOGIC>2003
- SET ECODE1=ECODE1_U_ECXENRL
- +69 IF ECXLOGIC>2004
- SET ECODE1=ECODE1_U_U_ECXPRIOR_ECXSBGRP_U_ECXUESTA_U_ECXPTYPE_U_ECXCVE_U
- +70 IF ECXLOGIC>2004
- SET ECODE2=ECXCVEDT_U_ECXCVENC_U_ECXNPRFI
- +71 IF ECXLOGIC>2006
- SET ECODE2=ECODE2_U_ECXERI_U_ECXAO_U_ECXECE_U_ECXHNC_U_ECXMIL_U_ECXIR_U
- +72 IF ECXLOGIC>2007
- SET ECODE2=ECODE2_U_$GET(ECXOEF)_U_$GET(ECXOEFDT)_U_$GET(ECASNPI)_U_$GET(ECPTNPI)_U_$GET(ECPR1NPI)_U_$GET(ECPR2NPI)_U_$GET(ECPR3NPI)
- +73 IF ECXLOGIC>2010
- SET ECODE2=ECODE2_U_$GET(ECXSHADI)_U_$GET(ECXSHAD)_U_ECXPATCAT
- +74 IF ECXLOGIC>2011
- SET ECODE2=ECODE2_U_$GET(ECXPRV4)_U_$GET(ECXPPC4)_U_$GET(ECPR4NPI)_U_$GET(ECXPRV5)_U_$GET(ECXPPC5)_U_$GET(ECPR5NPI)
- +75 IF ECXLOGIC>2012
- SET ECODE2=ECODE2_U_ECXICD10P_U_ECXICD101_U_ECXICD102_U_ECXICD103_U
- +76 IF ECXLOGIC>2012
- SET ECODE3=ECXICD104
- +77 ;144
- IF ECXLOGIC>2013
- SET ECODE3=ECODE3_U_ECXESC_U_ECXVNS_U_ECXPRV6_U_ECXPPC6_U_ECPR6NPI_U_ECXPRV7_U_ECXPPC7_U_ECPR7NPI_U_ECX4CHAR_U_$SELECT(ECXLOGIC>2015:"",1:ECAC)_U_ECXCLST_U_ECXECL
- +78 ;149
- IF ECXLOGIC>2014
- SET ECODE3=ECODE3_U_ECXRES1_U_ECXRES2_U_ECXRES3_U_ECXSVCI_U_ECXSVCL
- +79 ;154 MOVED CLINIC IEN
- IF ECXLOGIC>2015
- SET ECODE3=ECODE3_U_ECAC
- +80 ;166
- IF ECXLOGIC>2017
- SET ECODE3=ECODE3_U_ECXSTANO
- +81 SET ^ECX(ECFILE,EC7,0)=ECODE
- SET ^ECX(ECFILE,EC7,1)=ECODE1
- SET ^ECX(ECFILE,EC7,2)=$GET(ECODE2)
- SET ^ECX(ECFILE,EC7,3)=$GET(ECODE3)
- SET ECRN=ECRN+1
- +82 SET DA=EC7
- SET DIK="^ECX("_ECFILE_","
- DO IX1^DIK
- KILL DIK,DA
- +83 IF $DATA(ZTQUEUED)
- IF $$S^%ZTLOAD
- +84 QUIT
- SETUP ;Set required input for ECXTRAC
- +1 SET ECHEAD="ECQ"
- +2 DO ECXDEF^ECXUTL2(ECHEAD,.ECPACK,.ECGRP,.ECFILE,.ECRTN,.ECPIECE,.ECVER)
- +3 QUIT
- QUE ;Entry point for the background requeuing handled by ECXTAUTO.
- +1 DO SETUP
- DO QUE^ECXTAUTO
- DO ^ECXKILL
- QUIT