ECXTRAC ;ALB/GTS,JAP,BIR/DMA,CML-Package Extracts for DSS ; 5/9/05 10:39am ;;3.0;DSS EXTRACTS;**9,8,14,24,30,33,49,84**;Dec 22, 1997 ;Date range, queuing and message sending for package extracts ;Input ; ECPACK printed name of package (e.g. Lab, Prescriptions) ; ECNODE in file 728 where last date is stored ; ECPIECE piece of node where last date is stored ; ECRTN in the form of START^ROUTINE ; ECGRP name of local mail group to receive summary message ; (MUST BE 1 TO 5 UPPER CASE ALPHA - NO SPACES) ; ECFILE file number of the local editing file ; ECXLOGIC Fiscal year extract logic to use (optional) ; ECXDATES StartDate^EndDate^DoNotUpdate728 (optional) ;Generates ; EC23=2nd and 3rd piece of zero node in local editing file ; =YYMM of end date^pointer to 727 ; ECXLOGIC=Fiscal year extract logic to use ; EN ;entry point N OUT,CHKFLG I '$D(ECNODE) S ECNODE=7 I '$D(ECHEAD) S ECHEAD=" " I $P($G(^ECX(728,1,ECNODE+.1)),U,ECPIECE)]"" D Q .W !!,$C(7),ECPACK," extract is already scheduled to run",!! .D PAUSE W @IOF,!,"Extract ",ECPACK," Information for DSS",!! S:'$D(ECINST) ECINST=+$P(^ECX(728,1,0),U) S ECXINST=ECINST K ECXDIC S DA=ECINST,DIC="^DIC(4,",DIQ(0)="I",DIQ="ECXDIC",DR=".01;99" D EN^DIQ1 S ECINST=$G(ECXDIC(4,DA,99,"I")) K DIC,DIQ,DA,DR,ECXDIC ;* get last date for all extracts except prosthetics I ECGRP'="PRO" D .S ECLDT=$S($D(^ECX(728,1,ECNODE)):$P(^(ECNODE),U,ECPIECE),1:2610624) .S:ECLDT="" ECLDT=2610624 ;* get last date for prosthetics I ECGRP="PRO" D .N ECXDA1 .S ECXDA1=$O(^ECX(728,0)) .I $D(^ECX(728,ECXDA1,1,ECXINST,0)) D ..S ECLDT=$P(^ECX(728,ECXDA1,1,ECXINST,0),U,2) .I '$D(^ECX(728,ECXDA1,1,ECXINST,0)) D ..S DA(1)=ECXDA1 ..S DIC(0)="L" K ECXDD ..D FIELD^DID(728,59,,"SPECIFIER","ECXDD") ..S DIC("P")=ECXDD("SPECIFIER") K ECXDD ..S DIC="^ECX(728,"_DA(1)_",1,",X=ECXINST,DINUM=X ..K DD,DO D FILE^DICN ..K DIC,X,DINUM,Y,DA ..S ECLDT=2610624 S X=$G(ECXDATES) S ECSD=$P(X,"^",1),ECED=$P(X,"^",2) S OUT=0 I (ECSD="")!(ECED="") F S (ECED,ECSD)="" D Q:OUT .K %DT S %DT="AEX",%DT("A")="Starting with Date: " D ^%DT .I Y<0 S OUT=1 Q .S ECSD=Y .K %DT S %DT="AEX",%DT("A")="Ending with Date: " D ^%DT .I Y<0 S OUT=1 Q .I YDT:1,1:0) .I CHKFLG D ..W !!,"All active IV Rooms in the IV Room file (#59.5) must have a ""DIVISION""",!,"assigned to run this extract!" ..W !!,"This information can be entered using the DSS Extract Manager's Maintenance ",!,"option ""Enter/Edit IV Room Division""." ..D PAUSE Q ; PAUSE ;pause screen N DIR,X,Y S OUT=0 I $E(IOST)="C" D .S SS=22-$Y F JJ=1:1:SS W ! .S DIR(0)="E" W ! D ^DIR K DIR I 'Y S OUT=1 W !! Q