Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: SDSCNSCP

SDSCNSCP.m

Go to the documentation of this file.
  1. SDSCNSCP ;ALB/JAM - ASCD NSC Encounters Purge ; 4/24/07 4:29pm
  1. ;;5.3;Scheduling;**495,1015**;Aug 13, 1993;Build 21
  1. ;
  1. ;**Program Description**
  1. ; This program will purge encounters with a status of NEW where
  1. ; the Visit SC value equals the ASCD value of "NO" for a specified
  1. ; division(s) with and a user defined date range. Users must have
  1. ; the SDSC SUPER key to run this option.
  1. Q
  1. EN ; Entry Point
  1. N ZTQUEUED,POP,ZTRTN,ZTDTH,ZTDESC,ZTSAVE,SDSCDVSL,SDSCDVLN,DIR,X,Y
  1. N DTOUT,DUOUT
  1. ; Get start and end date for encounter list.
  1. D GETDATE^SDSCOMP I SDSCTDT="" G EXIT
  1. ; Ask for division
  1. D DIV^SDSCUTL
  1. D ^DIR
  1. I $G(DTOUT)!($G(DUOUT)) G EXIT
  1. S SDSCDVSL=Y,SDSCDVLN=SCLN
  1. K SCLN,DIR
  1. ; Determine type of user
  1. D TYPE^SDSCUTL
  1. I SDTYPE'="S" W !!,"You do not have privileges to run this report." Q
  1. W !!,"This option will permanently remove the outpatient encounters that are at a"
  1. W !,"NEW status when both the Encounter SC value and the ASCD value are 'NO' from"
  1. W !,"the SDSC SERVICE CONNECTED CHANGES file (#409.48).",!
  1. S DIR(0)="Y",DIR("A")="Are you sure you want to continue",DIR("B")="N"
  1. S DIR("?")="YES to remove encounters from the Review file, NO to Exit."
  1. D ^DIR
  1. I ('Y)!($G(DTOUT))!($G(DUOUT)) G EXIT
  1. ;
  1. K %ZIS,IOP,IOC,ZTIO S %ZIS="QM" D ^%ZIS G:POP EXIT
  1. I $D(IO("Q")) D G EXIT
  1. . S ZTRTN="BEG^SDSCNSCP",ZTDTH=$H,ZTDESC="Purge ASCD NSC Encounters"
  1. . S ZTSAVE("SDSCDVSL")="",ZTSAVE("SDSCDVLN")="",ZTSAVE("SDEDT")=""
  1. . S ZTSAVE("SDSCTDT")="",ZTIO=ION
  1. . K IO("Q") D ^%ZTLOAD W !,"REQUEST QUEUED"
  1. ;
  1. BEG ; Begin report
  1. N SDSCDIV,SDSCDNM,SDI,SDGTOT,SDPG
  1. S SDGTOT=0,SDPG=1
  1. S SDSCDIV=$S(SDSCDVSL'[SDSCDVLN:SDSCDVSL,1:"")
  1. I SDSCDIV="" S SDSCDNM="ALL" D FND G EXIT
  1. I SDSCDIV'="" D
  1. . F SDI=1:1:$L(SDSCDVSL,",") S SDSCDIV=$P(SDSCDVSL,",",SDI) Q:SDSCDIV="" D
  1. .. S SDSCDNM=$P(^DG(40.8,SDSCDIV,0),"^",1)
  1. .. D FND
  1. W !!,"Grand total of NSC Records Purged: ",SDGTOT
  1. G EXIT
  1. ;
  1. FND ; Find records and delete
  1. N SDOEDT,SDOE0,SDEDIV,SDOE,SDSCDATA,SDL,SDV0,SDPRV,SCVST,SDCNT,DFN,DIK,DA
  1. ;
  1. D HDR
  1. S SDOEDT=SDSCTDT-1,(SDL,SDCNT)=0
  1. F S SDOEDT=$O(^SDSC(409.48,"AE",SDOEDT)) Q:SDOEDT\1>SDEDT!(SDOEDT="") D
  1. . S SDOE=""
  1. . F S SDOE=$O(^SDSC(409.48,"AE",SDOEDT,SDOE)) Q:SDOE="" D
  1. .. S SDOE0=$$GETOE^SDOE(SDOE),SDSCDATA=$G(^SDSC(409.48,SDOE,0))
  1. .. Q:SDOE0="" Q:SDSCDATA=""
  1. .. ; Check if status is NEW
  1. .. I $P(SDSCDATA,U,5)'="N" Q
  1. .. S SDEDIV=$P(SDSCDATA,U,12) Q:SDEDIV=""
  1. .. I SDSCDIV'="" Q:SDEDIV'=SDSCDIV
  1. .. ; Check for ASCD SC value
  1. .. I $P(SDSCDATA,U,9)'=0 Q
  1. .. ; Check for Visit SC value
  1. .. S SDV0=$P(SDOE0,U,5),SCVST=$$GET1^DIQ(9000010,SDV0_",",80001,"I")
  1. .. I SCVST'=0 Q
  1. .. S DFN=$P(SDOE0,U,"2Z") D DEM^VADPT
  1. .. S SDCNT=SDCNT+1,SDGTOT=SDGTOT+1,SCVST=$S(SCVST:"Y",SCVST=0:"NO",1:"")
  1. .. S SDPRV=$$GET1^DIQ(200,$$PRIMVPRV^PXUTL1(SDV0)_",",.01,"E"),SDL=SDL+1
  1. .. W !,$$FMTE^XLFDT(SDOEDT,2),?16,SDOE,?30,$E(VADM(1),1,25),?55,$E(SDPRV,1,19),?75,SCVST
  1. .. S DIK="^SDSC(409.48,",DA=SDOE D ^DIK
  1. .. D KVA^VADPT
  1. .. I $E(IOST,1,2)'="C-",SDL+4>IOSL D HDR
  1. W !!,"Number of NSC Records Purged: ",SDCNT," for "_SDSCDNM
  1. Q
  1. ;
  1. HDR ; Print report
  1. N SDHDR,I
  1. S SDHDR="Purge ASCD NSC Encounters"
  1. W @IOF
  1. W SDHDR,?67,"PAGE: ",SDPG
  1. W !,?5,"For Encounters Dated ",$$FMTE^XLFDT(SDSCTDT,2)," THRU ",$$FMTE^XLFDT(SDEDT,2)," For Division: ",SDSCDNM,!!
  1. W "Encounter Date",?16,"Encounter No.",?30,"Patient Name",?55,"Provider",?73,"SC Val"
  1. W ! F I=1:1:79 W "-"
  1. S SDPG=SDPG+1
  1. Q
  1. ;
  1. EXIT ;clean up variables before exiting option
  1. K SDEDT,SDOPT,SDSCBDT,SDSCCR,SDSCEDT,SDSCTAT,SDSCTDT,SDTYPE
  1. Q