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

SDSCPRV.m

Go to the documentation of this file.
  1. SDSCPRV ;ALB/JAM/RBS - ASCD Provider Total Report ; 1/19/07 12:46pm
  1. ;;5.3;Scheduling;**495,1015**;Aug 13, 1993;Build 21
  1. ;;MODIFIED FOR NATIONAL RELEASE from a Class III software product
  1. ;;known as Service Connected Automated Monitoring (SCAM).
  1. ;
  1. ;**Program Description**
  1. ; This report gives a total of the number of encounters that meet
  1. ; the criteria: SC='Yes', auto-verified, and changed
  1. Q
  1. EN ; Entry Point
  1. N DIR,SDSCDVSL,SDSCDVLN,X,Y,ZTQUEUED,POP,ZTRTN,ZTDTH,ZTDESC,ZTSAVE
  1. ; Get Divisions
  1. D DIV^SDSCUTL
  1. D ^DIR
  1. I $G(DTOUT)!($G(DUOUT)) G EXIT
  1. S SDSCDVSL=Y,SDSCDVLN=SCLN
  1. ; Get start and end date for report
  1. D GETDATE^SDSCOMP I SDSCTDT="" G EXIT
  1. K %ZIS,IOP,IOC,ZTIO S %ZIS="MQ" D ^%ZIS G:POP EXIT
  1. I $D(IO("Q")) D G EXIT
  1. . S ZTRTN="BEG^SDSCPRV",ZTDTH=$H,ZTDESC="ASCD Provider Total Report"
  1. . S ZTSAVE("SDSCBDT")="",ZTSAVE("SDSCEDT")="",ZTSAVE("SDSCDVSL")=""
  1. . S ZTSAVE("SDSCDVLN")="",ZTSAVE("GROUP")="",ZTSAVE("SDEDT")="",ZTSAVE("SDSCTDT")=""
  1. . K IO("Q") D ^%ZTLOAD W !,"REQUEST QUEUED"
  1. ;
  1. BEG ; Begin report
  1. N P,L,SDABRT,CT,SDSCDIV,SDSCDNM,THDR,SDI
  1. S (P,L,SDABRT,CT)=0
  1. S SDSCDIV=$S(SDSCDVSL'[SDSCDVLN:SDSCDVSL,1:"")
  1. I SDSCDIV="" S SDSCDNM="ALL" D FND G EXT
  1. I SDSCDIV'="" D
  1. . S THDR=""
  1. . F SDI=1:1:$L(SDSCDVSL,",") S SDSCDIV=$P(SDSCDVSL,",",SDI) Q:SDSCDIV="" D Q:$G(SDABRT)=1
  1. .. S SDSCDNM=$P(^DG(40.8,SDSCDIV,0),"^",1),THDR=THDR_SDSCDNM_",",CT=CT+1 D FND
  1. G EXT
  1. ;
  1. FND ;
  1. N SDPROV,SDOEDT,SDPRNM,SDOE,SDSCDATA,TOTAL,TYP,LEV1,COL,AMT,SCVAL
  1. K ^TMP("SDSCPRV",$J)
  1. S SDPROV=0
  1. F S SDPROV=$O(^SDSC(409.48,"AF",SDPROV)) Q:'SDPROV D
  1. . S SDOEDT=SDSCTDT,SDPRNM=$$UP^XLFSTR($$NAME^XUSER(SDPROV,"F"))
  1. . F S SDOEDT=$O(^SDSC(409.48,"AF",SDPROV,SDOEDT)) Q:SDOEDT\1>SDEDT!(SDOEDT="") D
  1. .. S SDOE=""
  1. .. F S SDOE=$O(^SDSC(409.48,"AF",SDPROV,SDOEDT,SDOE)) Q:'SDOE D
  1. ... I SDSCDIV'="" Q:$P(^SDSC(409.48,SDOE,0),U,12)'=SDSCDIV
  1. ... S SDSCDATA=^SDSC(409.48,SDOE,0)
  1. ... I +$P(SDSCDATA,U,9),+$P(SDSCDATA,U,6) D STORE("VBA") Q
  1. ... I $P(SDSCDATA,U,5)="C" S SCVAL=$$SCHNG^SDSCUTL(SDOE) D:SCVAL'="" Q
  1. ....I '+SCVAL D STORE("NO CHANGE") Q
  1. ....I $P(SCVAL,"^",2) D STORE("SCNSC") Q
  1. ....D STORE("NSCSC")
  1. ... D STORE("NEW")
  1. ;
  1. PRT ; Print
  1. K TOTAL
  1. S SDHDR="Provider Summary Data Report"
  1. D HDR G EXT:$G(SDABRT)=1
  1. F TYP="VBA","SCNSC","NSCSC","NO CHANGE","NEW" S TOTAL(TYP)=0
  1. S LEV1=""
  1. F S LEV1=$O(^TMP("SDSCPRV",$J,LEV1)) Q:LEV1="" D Q:$G(SDABRT)=1
  1. . I L+4>IOSL D HDR Q:$G(SDABRT)=1
  1. . W !,LEV1 S L=L+1
  1. . S COL=20 F TYP="VBA","SCNSC","NSCSC","NO CHANGE","NEW" S COL=COL+10 D
  1. .. S AMT=+$G(^TMP("SDSCPRV",$J,LEV1,TYP)),SBTOT(LEV1,TYP)=$G(SBTOT(LEV1,TYP))+AMT,TOTAL(TYP)=$G(TOTAL(TYP))+AMT
  1. .. W ?COL,$J(AMT,7)
  1. I $G(SDABRT)=1 Q
  1. S COL=20,L=L+1 W ! I L+4>IOSL D HDR Q:$G(SDABRT)=1
  1. F TYP="VBA","SCNSC","NSCSC","NO CHANGE","NEW" S COL=COL+10 D
  1. . W ?COL,"-------"
  1. S COL=20,L=L+1 W !,"TOTAL"
  1. F TYP="VBA","SCNSC","NSCSC","NO CHANGE","NEW" S COL=COL+10 D
  1. . W ?COL,$J($G(TOTAL(TYP)),7)
  1. Q
  1. ;
  1. EXT ;
  1. I CT>1,$G(SDABRT)'=1 D PRTT
  1. D RPTEND^SDSCRPT1
  1. ;
  1. EXIT ;
  1. K SDNWPV,SDSCBDT,SDSCEDT,EDIV,GROUP,SDSCTDT,SDEDT,I,Y,^TMP("SDSCPRV",$J)
  1. K SDHDR,SCLN,DTOUT,DUOUT,SBTOT,TOTAL
  1. Q
  1. STORE(VAL) ; Total up and Store
  1. S ^TMP("SDSCPRV",$J,SDPRNM,VAL)=$G(^TMP("SDSCPRV",$J,SDPRNM,VAL))+1
  1. S ^TMP("SDSCPRV",$J,SDPRNM,VAL,SDOE)=""
  1. K VAL
  1. Q
  1. HDR ; Header
  1. U IO D STDHDR^SDSCRPT2 Q:$G(SDABRT)=1
  1. S SDNWPV=1
  1. W SDHDR,?67,"PAGE: ",P
  1. W !,?5,"For Encounters Dated ",$$FMTE^XLFDT(SDSCTDT,2)," THRU ",$$FMTE^XLFDT(SDEDT,2)_" By Division: "_SDSCDNM
  1. W !?31," VBA OK",?40,"SC to NSC",?51,"NSC to SC",?62,"SC KEPT",?74,"NEW",!
  1. F I=1:1:79 W "-"
  1. Q
  1. ;
  1. HDR1 ;
  1. N HHDR,HHDR1,HHDR2,HHDR3,HHDR4,I
  1. U IO D STDHDR^SDSCRPT2 Q:$G(SDABRT)=1
  1. I $E(THDR,$L(THDR))="," S THDR=$E(THDR,1,$L(THDR)-1)
  1. W SDHDR,?67,"PAGE: ",P
  1. S HHDR1="For Encounters Dated "_$$FMTE^XLFDT(SDSCTDT,2)_" THRU "_$$FMTE^XLFDT(SDEDT,2)_" TOTAL for "
  1. S HHDR2=THDR
  1. I $L(HHDR1)+$L(HHDR2)>IOM D
  1. . S HHDR3=$P(HHDR2,",",1),HHDR4=$P(HHDR2,",",2,99)
  1. . S HHDR=HHDR1_HHDR3
  1. . I HHDR4'="" S HHDR=HHDR_","
  1. I $L(HHDR1)+$L(HHDR2)'>IOM D
  1. . S HHDR=HHDR1_HHDR2
  1. W !,HHDR
  1. I $G(HHDR4)'="" W !,?5,HHDR4
  1. W !?31," VBA OK",?40,"SC to NSC",?51,"NSC to SC",?62,"SC KEPT",?74,"NEW",!
  1. F I=1:1:79 W "-"
  1. Q
  1. ;
  1. PRTT ;
  1. D HDR1 Q:$G(SDABRT)=1
  1. F TYP="VBA","SCNSC","NSCSC","NO CHANGE","NEW" S TOTAL(TYP)=0
  1. S LEV1=""
  1. F S LEV1=$O(SBTOT(LEV1)) Q:LEV1="" D
  1. . I L+4>IOSL D HDR1 Q:$G(SDABRT)=1
  1. . W !,LEV1 S L=L+1
  1. . S COL=20 F TYP="VBA","SCNSC","NSCSC","NO CHANGE","NEW" S COL=COL+10 D
  1. .. S AMT=SBTOT(LEV1,TYP),TOTAL(TYP)=$G(TOTAL(TYP))+AMT
  1. .. W ?COL,$J(AMT,7)
  1. S COL=20,L=L+1 W ! I L+4>IOSL D HDR1 Q:$G(SDABRT)=1
  1. F TYP="VBA","SCNSC","NSCSC","NO CHANGE","NEW" S COL=COL+10 D
  1. . W ?COL,"-------"
  1. S COL=20,L=L+1 W !,"TOTAL"
  1. F TYP="VBA","SCNSC","NSCSC","NO CHANGE","NEW" S COL=COL+10 D
  1. . W ?COL,$J($G(TOTAL(TYP)),7)
  1. Q