| [613] | 1 | LRACF ;SLC/RWA - FORCE PAGES TO FULL ;2/19/91  10:10
 | 
|---|
 | 2 |  ;;5.2;LAB SERVICE;;Sep 27, 1994
 | 
|---|
 | 3 | QUEUE S U="^"
 | 
|---|
 | 4 | WARN W !,"This option will identify patients who have been inactive for the specified",!,"period of time defined in the GRACE PERIOD FOR INACTIVITY field of the"
 | 
|---|
 | 5 |  W !,"Laboratory Site file and force their lab data onto a permanent cumulative page,",!,"making the data eligible for archiving.",!
 | 
|---|
 | 6 |  W !,"The parameter is set for ( ",+$P(^LAB(69.9,1,0),U,13)," ) days ",!
 | 
|---|
 | 7 | WARN1 W !,"Are you sure you want to continue" S %=2 D YN^DICN Q:%=2!(%=-1)  I %=0 G HELP
 | 
|---|
 | 8 |  S ZTRTN="ENT^LRACF",ZTDESC="Force Cumulative data to Archive",LRFG=0 D IO^LRWU Q
 | 
|---|
 | 9 | ENT S U="^",LRFG=0
 | 
|---|
 | 10 |  S:$D(ZTQUEUED) ZTREQ="@" U IO S X="N",%DT="T" D ^%DT
 | 
|---|
 | 11 |  Q:'$L($P(^LAB(69.9,1,0),U,13))  S X1=DT,X2=-$P(^(0),U,13) D C^%DTC S LRDAYS=9999999-X_.5 D HDR S LRDFN=0 F  S LRDFN=$O(^LR(LRDFN)) Q:LRDFN<1  D IDT
 | 
|---|
 | 12 | END K LRDAYS,LRDFN,LRDPF,LRFG,LRIDT,LRINO,LRNM,LRTXT,LRSPCM,LRSUB,LROPG,LRPG,LRPGE,LRPL
 | 
|---|
 | 13 |  Q
 | 
|---|
 | 14 | IDT Q:'$D(^LR(LRDFN,0))  S LRDPF=$P(^(0),U,2),DFN=$P(^(0),U,3) Q:LRDPF'=2  S LRNM=$S($D(^DPT(DFN,0)):$P(^(0),U,1),1:"UNKNOWN") Q:$O(^LR(LRDFN,"CH",0))<LRDAYS
 | 
|---|
 | 15 | MORE S LRIDT=0 F  S LRIDT=$O(^LRO(68,"AC",LRDFN,LRIDT)) Q:LRIDT<1  S LRSUB=0 F  S LRSUB=$O(^LRO(68,"AC",LRDFN,LRIDT,LRSUB)) Q:LRSUB<1  D:LRSUB'=1 CHECK K ^LRO(68,"AC",LRDFN,LRIDT,LRSUB),LRPG,LROPG,LRPGE
 | 
|---|
 | 16 | KILL Q:LRFG=0  K ^LAC("LRAC",LRDFN),^LAC("LRKILL",LRDFN),^LAC("LGOT",LRDFN)
 | 
|---|
 | 17 |  I $Y>(IOSL-7) D HDR
 | 
|---|
 | 18 |  W !!,LRDFN,?10,LRNM S LRTXT="" F I=0:0 S LRTXT=$O(^TMP($J,LRTXT)) Q:LRTXT=""  S ^LR(LRDFN,"PG",$P(LRTXT,"^",1))=LRTXT D TEXT
 | 
|---|
 | 19 |  S LRFG=0 K ^TMP($J) Q
 | 
|---|
 | 20 | CHECK I '$D(^LR(LRDFN,"CH",LRIDT,LRSUB)) Q
 | 
|---|
 | 21 |  S LRFG=1 D PAGE S:LROPG="" $P(^LR(LRDFN,"CH",LRIDT,0),U,9)=LRPGE,LROPG=$P(^(0),U,9) S:LROPG'[LRPGE $P(^LR(LRDFN,"CH",LRIDT,0),U,9)=LROPG_";"_LRPGE S ^TMP($J,LRPG)=""
 | 
|---|
 | 22 |  Q
 | 
|---|
 | 23 | PAGE S LRPG="" D FIND S LRPL=$F(LRPG,"^"),LRPGE=$E(LRPG,1,LRPL-2)_":"_$E(LRPG,LRPL,$L(LRPG)),LROPG=$P(^LR(LRDFN,"CH",LRIDT,0),U,9) Q
 | 
|---|
 | 24 | FIND ;Since Major Header and Page number is unknown this subroutine
 | 
|---|
 | 25 |  ;determines the major header and page number to be assigned.
 | 
|---|
 | 26 |  S LRSPCM=$P(^LR(LRDFN,"CH",LRIDT,0),"^",5)
 | 
|---|
 | 27 |  S LRMH=0 F  S LRMH=$O(^LAB(64.5,"AC",LRSUB,1,LRMH)) Q:'LRMH  S LRSH=0 F  S LRSH=$O(^LAB(64.5,"AC",LRSUB,1,LRMH,LRSH)) Q:'LRSH  S LRTSTS=0 F  S LRTSTS=$O(^LAB(64.5,"AC",LRSUB,1,LRMH,LRSH,LRTSTS)) Q:'LRTSTS  D SPCM
 | 
|---|
 | 28 |  I LRPG="" S LRPG=$S('$D(^LR(LRDFN,"PG","MISC")):"MISC^1",1:"MISC^"_($P(^LR(LRDFN,"PG","MISC"),"^",2)+1))
 | 
|---|
 | 29 |  Q
 | 
|---|
 | 30 | SPCM S LRSPM1=$P(^LAB(64.5,"AC",LRSUB,1,LRMH,LRSH,LRTSTS),"^",1) Q:LRSPCM'=LRSPM1  I $D(^LR(LRDFN,"PG",LRMH)) S LRPG=LRMH_"^"_($P(^LR(LRDFN,"PG",LRMH),"^",2)+1) Q
 | 
|---|
 | 31 |  S LRPG=LRMH_"^"_1
 | 
|---|
 | 32 |  Q
 | 
|---|
 | 33 | HDR W @IOF,!,?20,"***** INACTIVE PATIENTS FOR ARCHIVE*****",!!
 | 
|---|
 | 34 |  W "LRDFN"_"     "_"PATIENT NAME"_"                       "_"PAGE FORCED TO PERMANENT"
 | 
|---|
 | 35 |  Q
 | 
|---|
 | 36 | TEXT W ?57,LRTXT,! Q
 | 
|---|
 | 37 | HELP W !!,"Enter 'Yes' to continue, 'No' or '^' to exit" W ! G WARN1
 | 
|---|