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

SCRPI02.m

Go to the documentation of this file.
  1. SCRPI02 ;ALB/SCK - Incomplete Encounter Mgmt Statistical Summary Report ; 2/4/97
  1. ;;5.3;Scheduling;**66,1015**;AUG 13, 1993;Build 21
  1. ;
  1. EN ; Entry point for summary report
  1. ; Variables
  1. ; VAUTD,VAUTC - VA variables
  1. ; SDDT - Date range, Begin^End
  1. ; SDRTYP - Report type S - Summary Only
  1. ; D - Summary with Detail
  1. ;
  1. N VAUTD,VAUTC,SDDT,ZTSAVE,SDRTYP
  1. ;
  1. W !!,"Select Summary Report Only, or Summary Report with Detail",!
  1. Q:$$REPORT(.SDRTYP)'>-1
  1. ;
  1. S:SDRTYP["S" (VAUTD,VAUTC)=1
  1. I SDRTYP["D",$$DIV^SCRPIUT1<0 G ENQ
  1. I SDRTYP["D",$$CLN^SCRPIUT1<0 G ENQ
  1. ;
  1. I '$$ASKDT(.SDDT) G ENQ
  1. W !
  1. F X="SDDT","VAUTC","VAUTD","VAUTC(","VAUTD(","SDRTYP" D
  1. . S ZTSAVE(X)=""
  1. ;
  1. D EN^XUTMDEVQ("RPT^SCRPI02","IEMM Summary Error Report",.ZTSAVE)
  1. D HOME^%ZIS
  1. ENQ Q
  1. ;
  1. ENBLT ; Entry point for bulletin generation of summary only report
  1. ; Variables
  1. ; SDBLT - Flag to send output to a bulletin
  1. ; SDRTYP - See above
  1. ; SDDT - See above
  1. ;
  1. N SDBLT,VAUTC,VAUTD,SDRTYP,SDDT
  1. ;
  1. S SDBLT=1,SDRTYP="S",(VAUTD,VAUTC)=1
  1. S SDDT=$$FMADD^XLFDT($$DT^XLFDT,-2)_"^"_$$DT^XLFDT
  1. D RPT^SCRPI02
  1. Q
  1. ;
  1. RPT ; Entry point for building the summary report
  1. N SCCNT
  1. ;
  1. K ^TMP("SCRPI SUM",$J)
  1. S SCCNT=0
  1. Q:"SD"'[SDRTYP
  1. ;
  1. I '$G(SDBLT) I '$D(ZTQUEUED),IOST?1"C-".E D WAIT^DICD
  1. D BLD,BLDDEL
  1. D PRINT^SCRPI02A
  1. ;
  1. EXIT ;
  1. K ^TMP("SCRPI SUM",$J)
  1. Q
  1. ;
  1. BLD ; Search for errors in the transmitted outpatient encounter error file
  1. ; and begin building the report
  1. ;
  1. ; Variables
  1. ; SDEND - Ending date of date range
  1. ; SDOEDT - Encounter date
  1. ; SDOE - Encounter IEN in #409.68
  1. ;
  1. ; Output
  1. ; ^TMP("SCRPI SUM",$J,Division Name,Clinic Name,0)=P1^P2^P3^P4
  1. ; P1 - Total Incomplete Encounters
  1. ; P2 - Total Incomplete Deleted Encounters
  1. ; P3 - Total Encounters
  1. ; P4 - Total Deleted Encounters
  1. ;
  1. N SDEND,SDOE,SDOEDT
  1. ;
  1. S SDCNT=0
  1. S SDOEDT=$P(SDDT,U)-.1,SDEND=$P(SDDT,U,2)+.9
  1. F S SDOEDT=$O(^SCE("B",SDOEDT)) Q:'SDOEDT!(SDOEDT>SDEND) D
  1. . S SDOE=0 F S SDOE=$O(^SCE("B",SDOEDT,SDOE)) Q:'SDOE D
  1. .. Q:'$D(^SD(409.73,"AENC",SDOE))
  1. .. S SDIV=+$P($G(^SCE(SDOE,0)),U,11) Q:'SDIV
  1. .. S SDIVN=$P($G(^DG(40.8,SDIV,0)),U)
  1. .. Q:$S(VAUTD:0,$D(VAUTD(SDIV)):0,1:1)
  1. .. S SDDCL=+$P($G(^SCE(SDOE,0)),U,4) Q:'SDDCL
  1. .. S SDDCLN=$P($G(^SC(SDDCL,0)),U)
  1. .. Q:$S(VAUTC:0,$D(VAUTC(SDDCL)):0,1:1)
  1. .. S SDXMT=$O(^SD(409.73,"AENC",SDOE,0)) Q:'$D(^SD(409.73,SDXMT))
  1. .. S $P(^TMP("SCRPI SUM",$J,SDIVN,SDDCLN,0),U,3)=+$P($G(^TMP("SCRPI SUM",$J,SDIVN,SDDCLN,0)),U,3)+1
  1. .. Q:'$D(^SD(409.75,"B",SDXMT))
  1. .. S $P(^TMP("SCRPI SUM",$J,SDIVN,SDDCLN,0),U)=+$P($G(^TMP("SCRPI SUM",$J,SDIVN,SDDCLN,0)),U)+1
  1. .. D ADD(SDXMT,SDIV,SDIVN,SDDCL,SDDCLN,1)
  1. Q
  1. ;
  1. BLDDEL ; Search for entries in the Deleted Outpatient Encounter File and add to
  1. ; the report.
  1. ; Variables
  1. ; See list in BLD
  1. ;
  1. N SDOEDT,SDEND,SDOE
  1. ;
  1. S SDCNT=0
  1. S SDOEDT=$P(SDDT,U)-.1,SDEND=$P(SDDT,U,2)+.9
  1. F S SDOEDT=$O(^SD(409.74,"B",SDOEDT)) Q:'SDOEDT!(SDOEDT>SDEND) D
  1. . S SDOE=0 F S SDOE=$O(^SD(409.74,"B",SDOEDT,SDOE)) Q:'SDOE D
  1. .. Q:'$D(^SD(409.73,"ADEL",SDOE))
  1. .. S SDIV=+$P($G(^SD(409.74,SDOE,1)),U,11) Q:'SDIV
  1. .. S SDIVN=$P($G(^DG(40.8,SDIV,0)),U)
  1. .. Q:$S(VAUTD:0,$D(VAUTD(SDIV)):0,1:1)
  1. .. S SDDCL=+$P($G(^SD(409.74,SDOE,1)),U,4) Q:'SDDCL
  1. .. S SDDCLN=$P($G(^SC(SDDCL,0)),U)
  1. .. Q:$S(VAUTC:0,$D(VAUTC(SDDCL)):0,1:1)
  1. .. S SDXMT=$O(^SD(409.73,"ADEL",SDOE,0)) Q:'$D(^SD(409.73,SDXMT))
  1. .. Q:'$D(^SD(409.75,"B",SDXMT))
  1. .. S $P(^TMP("SCRPI SUM",$J,SDIVN,SDDCLN,0),U,4)=+$P($G(^TMP("SCRPI SUM",$J,SDIVN,SDDCLN,0)),U,4)+1
  1. .. D ADD(SDXMT,SDIV,SDIVN,SDDCL,SDDCLN,2)
  1. Q
  1. ;
  1. ADD(SDXMT,SDIV,SDIVN,SDDCL,SDDCLN,SDPCE) ; Add error entries from #409.75
  1. ; for transmission entry.
  1. ; Input
  1. ; SDXMT - Pointer to #409.75
  1. ; SDIV - Division IEN
  1. ; SDIVN - Division Name
  1. ; SDDCL - Clinic IEN
  1. ; SDDCLN - Clinic Name
  1. ; SDPCE - Piece to increment in ^TMP("SCRPI SUM",$J...
  1. ; 1 - Incomplete Encounter (P1)
  1. ; 2 - Deleted Incomplete Encounter (P2)
  1. ;
  1. ; Output
  1. ; ^TMP("SCRPI SUM",$J,Div Name, Clin Name, Error Table IEN,0)=P1^P2
  1. ;
  1. ; Variables
  1. ; SCDE - #409.75 IEN
  1. ; SCER - Pointer to #409.76
  1. ;
  1. N SCDE,SCER
  1. ;
  1. S SCDE=0 F S SCDE=$O(^SD(409.75,"B",SDXMT,SCDE)) Q:'SCDE D
  1. . S SCER=$P($G(^SD(409.75,SCDE,0)),U,2) Q:'SCER
  1. . S $P(^TMP("SCRPI SUM",$J,SDIVN,SDDCLN,SCER,0),U,SDPCE)=+$P($G(^TMP("SCRPI SUM",$J,SDIVN,SDDCLN,SCER,0)),U)+1
  1. . S SDCNT=SDCNT+1
  1. . I '$D(ZTQUEUED),(IOST?1"C-".E),(SDCNT#10=0) W "."
  1. Q
  1. ;
  1. REPORT(SDR) ; Select type of summary report
  1. ; Variable Input
  1. ; SDR - Returns with Report Type S - Summary Only,
  1. ; D - Summary with detail
  1. ;
  1. ; Returns
  1. ; 1 - Ok
  1. ; -1 - No report type selected
  1. N NX,Y
  1. ;
  1. S SDR=""
  1. S DIR(0)="YA",DIR("A")="Summary report only? ",DIR("B")="YES"
  1. S DIR("?")="Answer with Yes or No."
  1. S DIR("??")="^D HELP^SCRPI02"
  1. D ^DIR K DIR I $D(DIRUT) S Y=-1 G RPTQ
  1. S SDR=$S(Y:"S",1:"D")
  1. RPTQ Q Y
  1. ;
  1. ASKDT(SDT) ; Ask for date range for report
  1. ; Variable Input
  1. ; SDT - Returns date range as Begin^End
  1. ;
  1. ; Returns
  1. ; 1 - Date range selected
  1. ; 0 - No date range selected
  1. ;
  1. S SDBDT=$$FMADD^XLFDT($$DT^XLFDT,-7)
  1. W !!,"Date Range for Encounters"
  1. S DIR(0)="DA^2961001:NOW:EXP",DIR("A")="Enter beginning date for search: "
  1. S DIR("?")="^D HELP^%DTC"
  1. S DIR("B")=$$FMTE^XLFDT(SDBDT)
  1. D ^DIR I $D(DIRUT) K SDT G ASKQ
  1. K DIRUT
  1. S SDT=Y
  1. ;
  1. S DIR("A")="Enter ending date for search: "
  1. S DIR("B")="TODAY"
  1. D ^DIR K DIR I $D(DIRUT) K SDT G ASKQ
  1. K DIRUT
  1. S $P(SDT,U,2)=Y
  1. ASKQ Q $G(SDT)>0
  1. ;
  1. HELP ;
  1. W !?2,"Answering YES, will provide a table of all clinics,"
  1. W !?2,"showing total encounters, number of incomplete encounters, and"
  1. W !?2,"percentage. Answering NO will include a list of error details "
  1. W !?2,"for each selected clinic, in decsending order of occurrence,"
  1. W !?2,"and the number of encounters and incomplete encounters.",!
  1. Q