ECRRPT2 ;ALB/DAN - Event Capture Report RPC Broker (Cont) ;Nov 16, 2022@13:46:43
 ;;2.0;EVENT CAPTURE;**112,131,139,156,159**;8 May 96;Build 61
 ;
 ; Reference to ^TMP supported by SACC 2.3.2.5.1
 ; Reference to ^XUSEC(KEY) in ICR #10076
 ; Reference to ^DIC in ICR #10006
 ; Reference to ^VA(200, in ICR #10060
 ;
ECRDSSUA ;List users with access to DSS Units
 ;     Variables passed in
 ;       ECD0...n    - DSS Unit to report (1, some or ALL)
 ;       ECDUZ       - User IEN from file (#200)
 ;       ECPTYP      - Where to send output (P)rinter, (D)evice or screen, (E)xport
 ;                     data will be returned in ^TMP($J,"ECRPT") in
 ;                     delimited format for export to spreadsheet
 ;
 ;     Variable return
 ;       ^TMP($J,"ECRPT",n)=report output or to print device.
 N ECDSSU,ECV,ECI,ECKEY,ECROU,ECSAVE,ECDESC,ECX,DIC,X,Y
 S ECV="ECD0^ECDUZ^ECPTYP" D REQCHK^ECRRPT(ECV) I ECERR Q
 D  I '$D(ECDSSU) S ^TMP("ECMSG",$J)="1^Invalid DSS Unit." Q
 . I ECD0="ALL" D  Q
 . . S ECKEY=$S($D(^XUSEC("ECALLU",ECDUZ)):1,1:0) D ALLU
 . S ECI=0 F ECI=0:1 S ECX="ECD"_ECI Q:'$D(@ECX)  D
 . . K DIC S DIC=724,DIC(0)="QNZX",X=@ECX D ^DIC I Y<0 Q
 . . S ECDSSU(+Y)=$P(Y,U,2)
 I ECPTYP="P" D  Q
 . S ECROU="STRPT^ECRDSSUA"
 . S ECSAVE("ECDSSU(")=""
 . S ECDESC="Users with access to DSS Units"
 . D QUEUE^ECRRPT
 D STRPT^ECRDSSUA
 Q
ALLU ;-- Get all DSS Units and create ECDSSU array
 N ECD,ECN,ECX,Y
 S ECD="",ECN=0
 F  S ECD=$O(^ECD("B",ECD)) Q:ECD=""  F  S ECN=$O(^ECD("B",ECD,ECN)) Q:'ECN  D
 . Q:'$$VALID(ECN)!('ECKEY&('$D(^VA(200,ECDUZ,"EC",+ECN))))
 . S ECDSSU(ECN)=ECD
ALLUQ Q
 ;
VALID(IEN) ;-- Check DSS Unit for use by Event Capture
 N NODE
 S NODE=$G(^ECD(IEN,0))
 Q $S($P(NODE,"^",8):1,1:0)
 ;
ECRUDSS ;List all DSS units user has access to
 ;     Variables passed in
 ;       ECDUZ       - User IEN from file (#200)
 ;       ECPTYP      - Where to send output (P)rinter, (D)evice or screen, (E)xport
 ;                     data will be returned in ^TMP($J,"ECRPT") in
 ;                     delimited format for export to spreadsheet
 ;
 ;     Variable return
 ;       ^TMP($J,"ECRPT",n)=report output or to print device.
 N ECV,ECROU,ECSAVE,ECDESC
 S ECV="ECDUZ^ECPTYP" D REQCHK^ECRRPT(ECV) I ECERR Q
 I ECPTYP="P" D  Q
 . S ECROU="STRPT^ECRUDSS"
 . S ECSAVE("ECDUZ")=""
 . S ECDESC="DSS unit access for a selected user"
 . D QUEUE^ECRRPT
 D STRPT^ECRUDSS
 Q
 ;
ECRDSSEC ;List event code screens for selected DSS unit
 ;     Variables passed in
 ;       ECD       - DSS Unit IEN
 ;       STAT      - Event code screen, (A)ctive, (I)nactive,(B)oth
 ;       ECPTYP    - Where to send output (P)rinter, (D)evice or screen, (E)xport
 ;
 ;     Variable return
 ;       ^TMP($J,"ECRPT",n)=delimited data
 ;
 ;
 N ECV,ECROU,ECSAVE,ECDESC
 S ECV="ECD^STAT^ECPTYP" D REQCHK^ECRRPT(ECV) I ECERR Q
 I ECPTYP="P" D  Q
 . S ECROU="STRPT^ECRDSSEC"
 . S ECSAVE("ECD")="",ECSAVE("STAT")="",ECSAVE("ECPTYP")=""
 . S ECDESC="Event code screens for selected DSS Unit"
 . D QUEUE^ECRRPT
 D STRPT^ECRDSSEC
 Q
 ;
ECRECER ;Event Capture Encounter Report
 ;     Variables passed in
 ;       ECD0...n    - DSS Unit to report (1, some or ALL)
 ;       ECDUZ       - User IEN from file (#200)
 ;       ECL0        - Location IEN (1 or ALL)
 ;       ECSORT      - Sort ordered by (P)atient or (D)octor (provider)
 ;       ECSD        - Start date range
 ;       ECED        - End date range
 ;       ECPTYP      - Where to send output (P)rinter, (D)evice (screen), (E)xport
 ;
 ;     Variable return
 ;       ^TMP($J,"ECRPT",n)=returned if exported
 N ECDSSU,ECV,ECI,ECKEY,ECROU,ECSAVE,ECDESC,ECX,DIC,X,Y,ECLOC,ECLOC1
 S ECV="ECD0^ECDUZ^ECL0^ECSORT^ECSD^ECED^ECPTYP" D REQCHK^ECRRPT(ECV) I ECERR Q
 D DATECHK^ECRRPT(.ECSD,.ECED)
 D  I '$D(ECDSSU) S ^TMP("ECMSG",$J)="1^Invalid DSS Unit." Q
 . I ECD0="ALL" D  Q
 . . S ECKEY=$S($D(^XUSEC("ECALLU",ECDUZ)):1,1:0) D ALLU
 . S ECI=0 F ECI=0:1 S ECX="ECD"_ECI Q:'$D(@ECX)  D
 . . K DIC S DIC=724,DIC(0)="QNZX",X=@ECX D ^DIC I Y<0 Q
 . . S ECDSSU(+Y)=$P(Y,U,2)
 D  I '$D(ECLOC) S ^TMP("ECMSG",$J)="1^Invalid Location." Q
 . I ECL0="ALL" D LOCARRY^ECRUTL Q
 . S DIC=4,DIC(0)="QNZX",X=ECL0 D ^DIC Q:Y<0  S ECLOC(1)=+Y_U_$P(Y,U,2),ECLOC1(+Y)=$P(Y,U,2)
 I ECPTYP="P" D  Q
 . S ECROU="STRPT^ECRECER"
 . S ECSAVE("ECDSSU(")="",ECSAVE("ECLOC(")="",ECSAVE("ECLOC1(")=""
 . S ECDESC="Event Capture Encounter Report"
 . D QUEUE^ECRRPT
 D STRPT^ECRECER
 Q
 ;
ECRECSIC ;Event Capture Report, Event Capture Screen, Inactive Clinics
 ;     Variables passed in
 ;       ECD0...n    - DSS Unit to report (1, some or ALL)
 ;       ECL0...n    - Location IEN (1,some or ALL)
 ;       ECDUZ       - User IEN from file (#200)
 ;       ECPTYP      - Where to send output (P)rinter, (D)evice (screen), (E)xport
 ;
 ;     Variable return
 ;       ^TMP($J,"ECRPT",n)=returned if exported
 N ECDSSU,ECV,ECI,ECKEY,ECROU,ECSAVE,ECDESC,ECX,DIC,X,Y,ECLOC,ECLOC1
 S ECV="ECD0^ECL0^ECDUZ^ECPTYP" D REQCHK^ECRRPT(ECV) I ECERR Q
 D  I '$D(ECDSSU) S ^TMP("ECMSG",$J)="1^Invalid DSS Unit." Q
 . I ECD0="ALL" D  Q
 . . S ECKEY=$S($D(^XUSEC("ECALLU",ECDUZ)):1,1:0) D ALLU
 . S ECI=0 F ECI=0:1 S ECX="ECD"_ECI Q:'$D(@ECX)  D
 . . K DIC S DIC=724,DIC(0)="QNZX",X=@ECX D ^DIC I Y<0 Q
 . . S ECDSSU(+Y)=$P(Y,U,2)
 D  I '$D(ECLOC) S ^TMP("ECMSG",$J)="1^Invalid Location." Q
 . I ECL0="ALL" D LOCARRY^ECRUTL Q
 . S ECI=0 F ECI=0:1 S ECX="ECL"_ECI Q:'$D(@ECX)  D
 . . S DIC=4,DIC(0)="QNZX",X=@ECX D ^DIC Q:Y<0  S ECLOC(1)=+Y_U_$P(Y,U,2),ECLOC1(+Y)=$P(Y,U,2)
 I ECPTYP="P" D  Q
 . S ECROU="STRPT^ECRECSIC"
 . S ECSAVE("ECDSSU(")=""
 . S ECSAVE("ECLOC(")="",ECSAVE("ECLOC1(")=""
 . S ECDESC="Event Capture Event Code Screens with Inactive Clinics"
 . D QUEUE^ECRRPT
 D STRPT^ECRECSIC
 Q
 ;
ECRECSPC ;Event code screens by procedure code
 ;     Variables passed in
 ;       ECLPC0...n  - Procedure Code (1, some or ALL)
 ;       ECL0...n    - Location IEN (1,some or ALL)
 ;       ECDUZ       - User IEN from file (#200)
 ;       ECPTYP      - Where to send output (P)rinter, (D)evice (screen), (E)xport
 ;
 ;     Variable return
 ;       ^TMP($J,"ECRPT",n)=returned if exported
 N ECV,ECI,ECKEY,ECROU,ECSAVE,ECDESC,ECX,DIC,X,Y,ECPROC,ECLOC,ECLOC1
 S ECV="ECLPC0^ECL0^ECDUZ^ECPTYP" D REQCHK^ECRRPT(ECV) I ECERR Q
 D  I '$D(ECPROC)&(ECLPC0'="ALL") S ^TMP("ECMSG",$J)="1^Invalid Procedure Code." Q
 . I ECLPC0="ALL" Q
 . S ECI=0 F ECI=0:1 S ECX="ECLPC"_ECI Q:'$D(@ECX)  D
 . . S ECPROC(@ECX)=""
 D  I '$D(ECLOC) S ^TMP("ECMSG",$J)="1^Invalid Location." Q
 . I ECL0="ALL" D LOCARRY^ECRUTL Q
 . S ECI=0 F ECI=0:1 S ECX="ECL"_ECI Q:'$D(@ECX)  D
 . . S DIC=4,DIC(0)="QNZX",X=@ECX D ^DIC Q:Y<0  S ECLOC(1)=+Y_U_$P(Y,U,2),ECLOC1(+Y)=$P(Y,U,2)
 I ECPTYP="P" D  Q
 . S ECROU="STRPT^ECRECSPC"
 . S ECSAVE("ECPROC(")=""
 . S ECSAVE("ECLOC(")="",ECSAVE("ECLOC1(")=""
 . S ECDESC="Event Capture Event Code Screens by procedure code"
 . D QUEUE^ECRRPT
 D STRPT^ECRECSPC
 Q
ECRGP ;generic print capability
 ;  Variables passed in
 ;  ECLIN0...n  - Lines of data to be printed out
 ;
 ;  Variables returned - none
 ;
 N ECROU,ECSAVE,ECDESC,ECX,I,ECV
 S ECV="ECLIN0" D REQCHK^ECRRPT(ECV) I ECERR Q
 S ECROU="PRINT^ECRRPT2"
 S ECDESC="Generic Print of Event Capture Report"
 F I=0:1 S ECX="ECLIN"_I Q:'$D(@ECX)  S ECSAVE(ECX)=""
 D QUEUE^ECRRPT
 Q
 ;
PRINT ;Send data to printer
 N I,ECX
 U IO
 W @IOF
 F I=0:1 S ECX="ECLIN"_I Q:'$D(@ECX)  W !,@ECX I $Y>(IOSL-4) W @IOF
 Q
 ;
ECDSSSNR ;131 DSS units set to send no records to PCE
 ;     Variables passed in
 ;       ECPTYP      - Where to send output (P)rinter, (D)evice or screen, (E)xport
 ;                     data will be returned in ^TMP($J,"ECRPT") in
 ;                     delimited format for export to spreadsheet
 ;
 ;     Variable return
 ;       ^TMP($J,"ECRPT",n)=report output or to print device.
 N ECV,ECROU,ECDESC
 S ECV="ECPTYP" D REQCHK^ECRRPT(ECV) I ECERR Q
 I ECPTYP="P" D  Q
 . S ECROU="START^ECDSSSNR"
 . S ECDESC="DSS Units set to send no records to PCE"
 . D QUEUE^ECRRPT
 D START^ECDSSSNR
 Q
 ;
ECDISSUM ;131 Disabled Category and Procedure Summary Report
 ;     Variables passed in
 ;       ECL0..n  - Location to report (1,some or ALL)
 ;       ECPTYP   - Where to send output (P)rinter, (D)evice or screen
 ;                  or (E)xport
 ;
 ;     Variable return
 ;       ^TMP($J,"ECRPT",n)=report output or to print device.
 N ECV,ECLOC,I,LIEN,ECSAVE,ECDESC,ECROU
 S ECV="ECL0^ECPTYP" D REQCHK^ECRRPT(ECV) I ECERR Q
 D  I '$D(ECLOC) S ^TMP("ECMSG",$J)="1^Invalid Location." Q
 . D LOCARRY^ECRUTL I ECL0="ALL" Q
 . K ECLOC F I=0:1 S LIEN=$G(@("ECL"_I)) Q:'+LIEN  I $D(ECLOC1(LIEN)) S ECLOC(I+1)=LIEN_"^"_ECLOC1(LIEN)
 I ECPTYP="P" D  Q
 . S ECV="ECL0^ECPTYP",ECROU="EN^ECDISSUM"
 . S ECSAVE("ECLOC(")=""
 . S ECDESC="EC Disabled Category Report"
 . D QUEUE^ECRRPT
 D EN^ECDISSUM
 Q
 ;
ECLATESH ;139 Possible Late State Home Entries Report
 ;     Variables passed in
 ;       ECSD   - Start Date or Report
 ;       ECED   - End Date or Report
 ;       ECPTYP - Where to send output (P)rinter, (D)evice or screen
 ;                or (E)xport
 ;
 ;     Variable return
 ;       ^TMP($J,"ECRPT",n)=report output or to print device.
 N ECV,ECDATE,ECROU,ECDESC
 S ECV="ECSD^ECED" D REQCHK^ECRRPT(ECV) I ECERR Q
 D DATECHK^ECRRPT(.ECSD,.ECED)
 S ECSD=ECSD-.0001,ECED=ECED+.9999
 I ECPTYP="P" D  Q
 . S ECV="ECSD^ECED^ECDATE",ECROU="START^ECLATESH"
 . S ECDESC="Possible Late State Home Entries Report"
 . D QUEUE^ECRRPT
 D START^ECLATESH
 Q
 ;
ECRPROC ;156 - Procedure Used Report
 ;     Variables passed in
 ;       ECPROC - IEN of the Procedure Code for file #81 or #725:100217;ICPT(^B4154  EF SPEC METABOLIC NONINHERIT"/3291;EC(725,^NU079  NUTR GP, 11-20 PT 1ST 30M
 ;       ECU    - All or single IEN for file 200
 ;       ECL0   - All, 1, or many locations
 ;       ECD0   - All, 1, or many DSS units
 ;       ECSD   - Start Date or Report
 ;       ECED   - End Date or Report
 ;       ECPTYP - Where to send output (P)rinter, (D)evice or screen
 ;                or (E)xport
 ;
 ;     Variable return
 ;       ^TMP($J,"ECRPT",n)=report output or to print device.
 N ECV,ECDATE,ECUN,ECROU,ECDESC,DIC,X,Y,ECSAVE,ECPROC,ECLOC,ECDSSU,NUM
 N ECNT,ECI,ECX
 S ECV="ECU^ECLPC0^ECSD^ECED^ECL0^ECD0^ECPTYP" D REQCHK^ECRRPT(ECV) I ECERR Q
 I ECU="ALL" S ECUN="ALL"
 I ECU'="ALL" S DIC=200,DIC(0)="QNZX",X=ECU D ^DIC D:Y<0  Q:Y<0  S ECUN=$P(Y,U,2)
 . S ^TMP("ECMSG",$J)="1^Invalid Provider."
 D DATECHK^ECRRPT(.ECSD,.ECED)
 D  I '$D(ECPROC)&(ECLPC0'="ALL") S ^TMP("ECMSG",$J)="1^Invalid Procedure Code." Q
 . I ECLPC0="ALL" Q
 . S ECI=0 F ECI=0:1 S ECX="ECLPC"_ECI Q:'$D(@ECX)  D
 . . S ECPROC(@ECX)=""
 D  I '$D(ECLOC) S ^TMP("ECMSG",$J)="1^Invalid Location." Q
 . D LOCARRY^ECRUTL I ECL0="ALL" Q
 . S ECNT=0,DIC=4,DIC(0)="QNZX" F I=0:1 S LIEN=$G(@("ECL"_I)) Q:'+LIEN  D
 .. S X=LIEN D ^DIC Q:Y<0
 .. S ECNT=ECNT+1,ECLOC(ECNT)=+Y_"^"_$P(Y,U,2)
 D  I '$D(ECDSSU) S ^TMP("ECMSG",$J)="1^Invalid DSS Unit." Q
 . I ECD0="ALL" D  Q
 . . I '$D(ECDUZ) Q
 . . S ECKEY=$S($D(^XUSEC("ECALLU",ECDUZ)):1,1:0) D ALLU^ECRUTL
 . S (ECI,ECNT)=0 F ECI=0:1 S ECX="ECD"_ECI Q:'$D(@ECX)  D
 . . K DIC S DIC=724,DIC(0)="QNZX",X=@ECX D ^DIC I Y<0 Q
 . . S ECNT=ECNT+1,ECDSSU(ECNT)=Y
 I ECPTYP="P" D  Q
 . S ECV="ECU^ECUN^ECLPC0^ECSD^ECED^ECDATE^ECL0^ECD0^ECPTYP"
 . S (ECSAVE("ECLOC("),ECSAVE("ECDSSU("))="",ECSAVE("ECPROC(")=""
 . S ECROU="EN^ECRPROC",ECDESC="Event Capture Procedure Used Report"
 . D QUEUE^ECRRPT
 D EN^ECRPROC
 Q
 ;
ECREDIT ;159 - Edit Log Report
 ;     Variables passed in
 ;       ECL    - Location to report (1 or ALL)
 ;       ECD0   - DSS Unit to report (1, some or ALL)
 ;       ECSORT - Sort type(D or U)
 ;       ECSD   - Start Date or Report
 ;       ECED   - End Date or Report
 ;       ECDUZ  - User IEN from file (#200)
 ;       ECPTYP - Where to send output (P)rinter, (D)evice or screen
 ;                or (E)xport
 ;     Variable return
 ;       ^TMP($J,"ECRPT",n)=report output or to print device.
 ;
 N ECDATE,ECDSSU,ECV,ECI,ECNT,ECKEY,ECROU,ECSAVE,ECDESC,ECX,DIC,X,Y,ECLOC,ECLOC1,LIEN
 S ECV="ECD0^ECDUZ^ECL0^ECSORT^ECSD^ECED^ECPTYP" D REQCHK^ECRRPT(ECV) I ECERR Q
 D  I '$D(ECDSSU) S ^TMP("ECMSG",$J)="1^Invalid DSS Unit." Q
 . I ECD0="ALL" D  Q
 . . I '$D(ECDUZ) Q
 . . S ECKEY=$S($D(^XUSEC("ECALLU",ECDUZ)):1,1:0) D ALLU^ECRUTL
 . S (ECI,ECNT)=0 F ECI=0:1 S ECX="ECD"_ECI Q:'$D(@ECX)  D
 . . K DIC S DIC=724,DIC(0)="QNZX",X=@ECX D ^DIC I Y<0 Q
 . . S ECNT=ECNT+1,ECDSSU(ECNT)=Y
 D  I '$D(ECLOC) S ^TMP("ECMSG",$J)="1^Invalid Location." Q
 . D LOCARRY^ECRUTL I ECL0="ALL" Q
 . K ECLOC S X=ECL0,DIC=4,DIC(0)="QNZX" D ^DIC Q:Y<0  S ECLOC(1)=ECL0_U_$P(Y,U,2)
 D DATECHK^ECRRPT(.ECSD,.ECED)
 I ECPTYP="P" D  Q
 . S ECROU="EN^ECREDIT",ECV="ECSORT^ECSD^ECED^ECPTYP"
 . S ECSAVE("ECDSSU(")="",ECSAVE("ECLOC(")="",ECSAVE("ECLOC1(")=""
 . S ECDESC="Event Capture Edit Log Report"
 . D QUEUE^ECRRPT
 D EN^ECREDIT
 Q
 ;
ECCLIPRO ;159 - Procedure by Clinic Report
 N ECDATE,ECDSSU,ECV,ECI,ECNT,ECKEY,ECROU,ECSAVE,ECDESC,ECX,DIC,X,Y,ECLOC,ECCLIN
 S ECV="ECD0^ECDUZ^ECL0^ECSORT^ECSD^ECED^ECPTYP" D REQCHK^ECRRPT(ECV) I ECERR Q
 D  I '$D(ECDSSU) S ^TMP("ECMSG",$J)="1^Invalid DSS Unit." Q
 . I ECD0="ALL" D  Q
 . . I '$D(ECDUZ) Q
 . . S ECKEY=$S($D(^XUSEC("ECALLU",ECDUZ)):1,1:0) D ALLU^ECRUTL
 . S (ECI,ECNT)=0 F ECI=0:1 S ECX="ECD"_ECI Q:'$D(@ECX)  D
 . . K DIC S DIC=724,DIC(0)="QNZX",X=@ECX D ^DIC I Y<0 Q
 . . S ECNT=ECNT+1,ECDSSU(ECNT)=Y
 D  I '$D(ECLOC) S ^TMP("ECMSG",$J)="1^Invalid Location." Q
 . S X=ECL0,DIC=4,DIC(0)="QNZX" D ^DIC Q:Y<0  S ECLOC=ECL0
 D  I '$D(ECCLI) S ^TMP("ECMSG",$J)="1^Invalid Clinic." Q
 . S X=ECCLI,DIC=44,DIC(0)="QNZX",DIC("S")="I $P(^(0),U,3)=""C"""
 . D ^DIC Q:Y<0  S ECCLIN=ECCLI
 D DATECHK^ECRRPT(.ECSD,.ECED)
  I ECPTYP="P" D  Q
 . S ECROU="EN^ECCLIPRO",ECV="ECLOC^ECCLI^ECSORT^ECSD^ECED^ECPTYP"
 . S ECSAVE("ECDSSU(")=""
 . S ECDESC="Event Capture Procedure by Clinic Report"
 . D QUEUE^ECRRPT
 D EN^ECCLIPRO
 Q
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HECRRPT2   14163     printed  Sep 23, 2025@19:34:50                                                                                                                                                                                                    Page 2
ECRRPT2   ;ALB/DAN - Event Capture Report RPC Broker (Cont) ;Nov 16, 2022@13:46:43
 +1       ;;2.0;EVENT CAPTURE;**112,131,139,156,159**;8 May 96;Build 61
 +2       ;
 +3       ; Reference to ^TMP supported by SACC 2.3.2.5.1
 +4       ; Reference to ^XUSEC(KEY) in ICR #10076
 +5       ; Reference to ^DIC in ICR #10006
 +6       ; Reference to ^VA(200, in ICR #10060
 +7       ;
ECRDSSUA  ;List users with access to DSS Units
 +1       ;     Variables passed in
 +2       ;       ECD0...n    - DSS Unit to report (1, some or ALL)
 +3       ;       ECDUZ       - User IEN from file (#200)
 +4       ;       ECPTYP      - Where to send output (P)rinter, (D)evice or screen, (E)xport
 +5       ;                     data will be returned in ^TMP($J,"ECRPT") in
 +6       ;                     delimited format for export to spreadsheet
 +7       ;
 +8       ;     Variable return
 +9       ;       ^TMP($J,"ECRPT",n)=report output or to print device.
 +10       NEW ECDSSU,ECV,ECI,ECKEY,ECROU,ECSAVE,ECDESC,ECX,DIC,X,Y
 +11       SET ECV="ECD0^ECDUZ^ECPTYP"
           DO REQCHK^ECRRPT(ECV)
           IF ECERR
               QUIT 
 +12       Begin DoDot:1
 +13           IF ECD0="ALL"
                   Begin DoDot:2
 +14                   SET ECKEY=$SELECT($DATA(^XUSEC("ECALLU",ECDUZ)):1,1:0)
                       DO ALLU
                   End DoDot:2
                   QUIT 
 +15           SET ECI=0
               FOR ECI=0:1
                   SET ECX="ECD"_ECI
                   if '$DATA(@ECX)
                       QUIT 
                   Begin DoDot:2
 +16                   KILL DIC
                       SET DIC=724
                       SET DIC(0)="QNZX"
                       SET X=@ECX
                       DO ^DIC
                       IF Y<0
                           QUIT 
 +17                   SET ECDSSU(+Y)=$PIECE(Y,U,2)
                   End DoDot:2
           End DoDot:1
           IF '$DATA(ECDSSU)
               SET ^TMP("ECMSG",$JOB)="1^Invalid DSS Unit."
               QUIT 
 +18       IF ECPTYP="P"
               Begin DoDot:1
 +19               SET ECROU="STRPT^ECRDSSUA"
 +20               SET ECSAVE("ECDSSU(")=""
 +21               SET ECDESC="Users with access to DSS Units"
 +22               DO QUEUE^ECRRPT
               End DoDot:1
               QUIT 
 +23       DO STRPT^ECRDSSUA
 +24       QUIT 
ALLU      ;-- Get all DSS Units and create ECDSSU array
 +1        NEW ECD,ECN,ECX,Y
 +2        SET ECD=""
           SET ECN=0
 +3        FOR 
               SET ECD=$ORDER(^ECD("B",ECD))
               if ECD=""
                   QUIT 
               FOR 
                   SET ECN=$ORDER(^ECD("B",ECD,ECN))
                   if 'ECN
                       QUIT 
                   Begin DoDot:1
 +4                    if '$$VALID(ECN)!('ECKEY&('$DATA(^VA(200,ECDUZ,"EC",+ECN))))
                           QUIT 
 +5                    SET ECDSSU(ECN)=ECD
                   End DoDot:1
ALLUQ      QUIT 
 +1       ;
VALID(IEN) ;-- Check DSS Unit for use by Event Capture
 +1        NEW NODE
 +2        SET NODE=$GET(^ECD(IEN,0))
 +3        QUIT $SELECT($PIECE(NODE,"^",8):1,1:0)
 +4       ;
ECRUDSS   ;List all DSS units user has access to
 +1       ;     Variables passed in
 +2       ;       ECDUZ       - User IEN from file (#200)
 +3       ;       ECPTYP      - Where to send output (P)rinter, (D)evice or screen, (E)xport
 +4       ;                     data will be returned in ^TMP($J,"ECRPT") in
 +5       ;                     delimited format for export to spreadsheet
 +6       ;
 +7       ;     Variable return
 +8       ;       ^TMP($J,"ECRPT",n)=report output or to print device.
 +9        NEW ECV,ECROU,ECSAVE,ECDESC
 +10       SET ECV="ECDUZ^ECPTYP"
           DO REQCHK^ECRRPT(ECV)
           IF ECERR
               QUIT 
 +11       IF ECPTYP="P"
               Begin DoDot:1
 +12               SET ECROU="STRPT^ECRUDSS"
 +13               SET ECSAVE("ECDUZ")=""
 +14               SET ECDESC="DSS unit access for a selected user"
 +15               DO QUEUE^ECRRPT
               End DoDot:1
               QUIT 
 +16       DO STRPT^ECRUDSS
 +17       QUIT 
 +18      ;
ECRDSSEC  ;List event code screens for selected DSS unit
 +1       ;     Variables passed in
 +2       ;       ECD       - DSS Unit IEN
 +3       ;       STAT      - Event code screen, (A)ctive, (I)nactive,(B)oth
 +4       ;       ECPTYP    - Where to send output (P)rinter, (D)evice or screen, (E)xport
 +5       ;
 +6       ;     Variable return
 +7       ;       ^TMP($J,"ECRPT",n)=delimited data
 +8       ;
 +9       ;
 +10       NEW ECV,ECROU,ECSAVE,ECDESC
 +11       SET ECV="ECD^STAT^ECPTYP"
           DO REQCHK^ECRRPT(ECV)
           IF ECERR
               QUIT 
 +12       IF ECPTYP="P"
               Begin DoDot:1
 +13               SET ECROU="STRPT^ECRDSSEC"
 +14               SET ECSAVE("ECD")=""
                   SET ECSAVE("STAT")=""
                   SET ECSAVE("ECPTYP")=""
 +15               SET ECDESC="Event code screens for selected DSS Unit"
 +16               DO QUEUE^ECRRPT
               End DoDot:1
               QUIT 
 +17       DO STRPT^ECRDSSEC
 +18       QUIT 
 +19      ;
ECRECER   ;Event Capture Encounter Report
 +1       ;     Variables passed in
 +2       ;       ECD0...n    - DSS Unit to report (1, some or ALL)
 +3       ;       ECDUZ       - User IEN from file (#200)
 +4       ;       ECL0        - Location IEN (1 or ALL)
 +5       ;       ECSORT      - Sort ordered by (P)atient or (D)octor (provider)
 +6       ;       ECSD        - Start date range
 +7       ;       ECED        - End date range
 +8       ;       ECPTYP      - Where to send output (P)rinter, (D)evice (screen), (E)xport
 +9       ;
 +10      ;     Variable return
 +11      ;       ^TMP($J,"ECRPT",n)=returned if exported
 +12       NEW ECDSSU,ECV,ECI,ECKEY,ECROU,ECSAVE,ECDESC,ECX,DIC,X,Y,ECLOC,ECLOC1
 +13       SET ECV="ECD0^ECDUZ^ECL0^ECSORT^ECSD^ECED^ECPTYP"
           DO REQCHK^ECRRPT(ECV)
           IF ECERR
               QUIT 
 +14       DO DATECHK^ECRRPT(.ECSD,.ECED)
 +15       Begin DoDot:1
 +16           IF ECD0="ALL"
                   Begin DoDot:2
 +17                   SET ECKEY=$SELECT($DATA(^XUSEC("ECALLU",ECDUZ)):1,1:0)
                       DO ALLU
                   End DoDot:2
                   QUIT 
 +18           SET ECI=0
               FOR ECI=0:1
                   SET ECX="ECD"_ECI
                   if '$DATA(@ECX)
                       QUIT 
                   Begin DoDot:2
 +19                   KILL DIC
                       SET DIC=724
                       SET DIC(0)="QNZX"
                       SET X=@ECX
                       DO ^DIC
                       IF Y<0
                           QUIT 
 +20                   SET ECDSSU(+Y)=$PIECE(Y,U,2)
                   End DoDot:2
           End DoDot:1
           IF '$DATA(ECDSSU)
               SET ^TMP("ECMSG",$JOB)="1^Invalid DSS Unit."
               QUIT 
 +21       Begin DoDot:1
 +22           IF ECL0="ALL"
                   DO LOCARRY^ECRUTL
                   QUIT 
 +23           SET DIC=4
               SET DIC(0)="QNZX"
               SET X=ECL0
               DO ^DIC
               if Y<0
                   QUIT 
               SET ECLOC(1)=+Y_U_$PIECE(Y,U,2)
               SET ECLOC1(+Y)=$PIECE(Y,U,2)
           End DoDot:1
           IF '$DATA(ECLOC)
               SET ^TMP("ECMSG",$JOB)="1^Invalid Location."
               QUIT 
 +24       IF ECPTYP="P"
               Begin DoDot:1
 +25               SET ECROU="STRPT^ECRECER"
 +26               SET ECSAVE("ECDSSU(")=""
                   SET ECSAVE("ECLOC(")=""
                   SET ECSAVE("ECLOC1(")=""
 +27               SET ECDESC="Event Capture Encounter Report"
 +28               DO QUEUE^ECRRPT
               End DoDot:1
               QUIT 
 +29       DO STRPT^ECRECER
 +30       QUIT 
 +31      ;
ECRECSIC  ;Event Capture Report, Event Capture Screen, Inactive Clinics
 +1       ;     Variables passed in
 +2       ;       ECD0...n    - DSS Unit to report (1, some or ALL)
 +3       ;       ECL0...n    - Location IEN (1,some or ALL)
 +4       ;       ECDUZ       - User IEN from file (#200)
 +5       ;       ECPTYP      - Where to send output (P)rinter, (D)evice (screen), (E)xport
 +6       ;
 +7       ;     Variable return
 +8       ;       ^TMP($J,"ECRPT",n)=returned if exported
 +9        NEW ECDSSU,ECV,ECI,ECKEY,ECROU,ECSAVE,ECDESC,ECX,DIC,X,Y,ECLOC,ECLOC1
 +10       SET ECV="ECD0^ECL0^ECDUZ^ECPTYP"
           DO REQCHK^ECRRPT(ECV)
           IF ECERR
               QUIT 
 +11       Begin DoDot:1
 +12           IF ECD0="ALL"
                   Begin DoDot:2
 +13                   SET ECKEY=$SELECT($DATA(^XUSEC("ECALLU",ECDUZ)):1,1:0)
                       DO ALLU
                   End DoDot:2
                   QUIT 
 +14           SET ECI=0
               FOR ECI=0:1
                   SET ECX="ECD"_ECI
                   if '$DATA(@ECX)
                       QUIT 
                   Begin DoDot:2
 +15                   KILL DIC
                       SET DIC=724
                       SET DIC(0)="QNZX"
                       SET X=@ECX
                       DO ^DIC
                       IF Y<0
                           QUIT 
 +16                   SET ECDSSU(+Y)=$PIECE(Y,U,2)
                   End DoDot:2
           End DoDot:1
           IF '$DATA(ECDSSU)
               SET ^TMP("ECMSG",$JOB)="1^Invalid DSS Unit."
               QUIT 
 +17       Begin DoDot:1
 +18           IF ECL0="ALL"
                   DO LOCARRY^ECRUTL
                   QUIT 
 +19           SET ECI=0
               FOR ECI=0:1
                   SET ECX="ECL"_ECI
                   if '$DATA(@ECX)
                       QUIT 
                   Begin DoDot:2
 +20                   SET DIC=4
                       SET DIC(0)="QNZX"
                       SET X=@ECX
                       DO ^DIC
                       if Y<0
                           QUIT 
                       SET ECLOC(1)=+Y_U_$PIECE(Y,U,2)
                       SET ECLOC1(+Y)=$PIECE(Y,U,2)
                   End DoDot:2
           End DoDot:1
           IF '$DATA(ECLOC)
               SET ^TMP("ECMSG",$JOB)="1^Invalid Location."
               QUIT 
 +21       IF ECPTYP="P"
               Begin DoDot:1
 +22               SET ECROU="STRPT^ECRECSIC"
 +23               SET ECSAVE("ECDSSU(")=""
 +24               SET ECSAVE("ECLOC(")=""
                   SET ECSAVE("ECLOC1(")=""
 +25               SET ECDESC="Event Capture Event Code Screens with Inactive Clinics"
 +26               DO QUEUE^ECRRPT
               End DoDot:1
               QUIT 
 +27       DO STRPT^ECRECSIC
 +28       QUIT 
 +29      ;
ECRECSPC  ;Event code screens by procedure code
 +1       ;     Variables passed in
 +2       ;       ECLPC0...n  - Procedure Code (1, some or ALL)
 +3       ;       ECL0...n    - Location IEN (1,some or ALL)
 +4       ;       ECDUZ       - User IEN from file (#200)
 +5       ;       ECPTYP      - Where to send output (P)rinter, (D)evice (screen), (E)xport
 +6       ;
 +7       ;     Variable return
 +8       ;       ^TMP($J,"ECRPT",n)=returned if exported
 +9        NEW ECV,ECI,ECKEY,ECROU,ECSAVE,ECDESC,ECX,DIC,X,Y,ECPROC,ECLOC,ECLOC1
 +10       SET ECV="ECLPC0^ECL0^ECDUZ^ECPTYP"
           DO REQCHK^ECRRPT(ECV)
           IF ECERR
               QUIT 
 +11       Begin DoDot:1
 +12           IF ECLPC0="ALL"
                   QUIT 
 +13           SET ECI=0
               FOR ECI=0:1
                   SET ECX="ECLPC"_ECI
                   if '$DATA(@ECX)
                       QUIT 
                   Begin DoDot:2
 +14                   SET ECPROC(@ECX)=""
                   End DoDot:2
           End DoDot:1
           IF '$DATA(ECPROC)&(ECLPC0'="ALL")
               SET ^TMP("ECMSG",$JOB)="1^Invalid Procedure Code."
               QUIT 
 +15       Begin DoDot:1
 +16           IF ECL0="ALL"
                   DO LOCARRY^ECRUTL
                   QUIT 
 +17           SET ECI=0
               FOR ECI=0:1
                   SET ECX="ECL"_ECI
                   if '$DATA(@ECX)
                       QUIT 
                   Begin DoDot:2
 +18                   SET DIC=4
                       SET DIC(0)="QNZX"
                       SET X=@ECX
                       DO ^DIC
                       if Y<0
                           QUIT 
                       SET ECLOC(1)=+Y_U_$PIECE(Y,U,2)
                       SET ECLOC1(+Y)=$PIECE(Y,U,2)
                   End DoDot:2
           End DoDot:1
           IF '$DATA(ECLOC)
               SET ^TMP("ECMSG",$JOB)="1^Invalid Location."
               QUIT 
 +19       IF ECPTYP="P"
               Begin DoDot:1
 +20               SET ECROU="STRPT^ECRECSPC"
 +21               SET ECSAVE("ECPROC(")=""
 +22               SET ECSAVE("ECLOC(")=""
                   SET ECSAVE("ECLOC1(")=""
 +23               SET ECDESC="Event Capture Event Code Screens by procedure code"
 +24               DO QUEUE^ECRRPT
               End DoDot:1
               QUIT 
 +25       DO STRPT^ECRECSPC
 +26       QUIT 
ECRGP     ;generic print capability
 +1       ;  Variables passed in
 +2       ;  ECLIN0...n  - Lines of data to be printed out
 +3       ;
 +4       ;  Variables returned - none
 +5       ;
 +6        NEW ECROU,ECSAVE,ECDESC,ECX,I,ECV
 +7        SET ECV="ECLIN0"
           DO REQCHK^ECRRPT(ECV)
           IF ECERR
               QUIT 
 +8        SET ECROU="PRINT^ECRRPT2"
 +9        SET ECDESC="Generic Print of Event Capture Report"
 +10       FOR I=0:1
               SET ECX="ECLIN"_I
               if '$DATA(@ECX)
                   QUIT 
               SET ECSAVE(ECX)=""
 +11       DO QUEUE^ECRRPT
 +12       QUIT 
 +13      ;
PRINT     ;Send data to printer
 +1        NEW I,ECX
 +2        USE IO
 +3        WRITE @IOF
 +4        FOR I=0:1
               SET ECX="ECLIN"_I
               if '$DATA(@ECX)
                   QUIT 
               WRITE !,@ECX
               IF $Y>(IOSL-4)
                   WRITE @IOF
 +5        QUIT 
 +6       ;
ECDSSSNR  ;131 DSS units set to send no records to PCE
 +1       ;     Variables passed in
 +2       ;       ECPTYP      - Where to send output (P)rinter, (D)evice or screen, (E)xport
 +3       ;                     data will be returned in ^TMP($J,"ECRPT") in
 +4       ;                     delimited format for export to spreadsheet
 +5       ;
 +6       ;     Variable return
 +7       ;       ^TMP($J,"ECRPT",n)=report output or to print device.
 +8        NEW ECV,ECROU,ECDESC
 +9        SET ECV="ECPTYP"
           DO REQCHK^ECRRPT(ECV)
           IF ECERR
               QUIT 
 +10       IF ECPTYP="P"
               Begin DoDot:1
 +11               SET ECROU="START^ECDSSSNR"
 +12               SET ECDESC="DSS Units set to send no records to PCE"
 +13               DO QUEUE^ECRRPT
               End DoDot:1
               QUIT 
 +14       DO START^ECDSSSNR
 +15       QUIT 
 +16      ;
ECDISSUM  ;131 Disabled Category and Procedure Summary Report
 +1       ;     Variables passed in
 +2       ;       ECL0..n  - Location to report (1,some or ALL)
 +3       ;       ECPTYP   - Where to send output (P)rinter, (D)evice or screen
 +4       ;                  or (E)xport
 +5       ;
 +6       ;     Variable return
 +7       ;       ^TMP($J,"ECRPT",n)=report output or to print device.
 +8        NEW ECV,ECLOC,I,LIEN,ECSAVE,ECDESC,ECROU
 +9        SET ECV="ECL0^ECPTYP"
           DO REQCHK^ECRRPT(ECV)
           IF ECERR
               QUIT 
 +10       Begin DoDot:1
 +11           DO LOCARRY^ECRUTL
               IF ECL0="ALL"
                   QUIT 
 +12           KILL ECLOC
               FOR I=0:1
                   SET LIEN=$GET(@("ECL"_I))
                   if '+LIEN
                       QUIT 
                   IF $DATA(ECLOC1(LIEN))
                       SET ECLOC(I+1)=LIEN_"^"_ECLOC1(LIEN)
           End DoDot:1
           IF '$DATA(ECLOC)
               SET ^TMP("ECMSG",$JOB)="1^Invalid Location."
               QUIT 
 +13       IF ECPTYP="P"
               Begin DoDot:1
 +14               SET ECV="ECL0^ECPTYP"
                   SET ECROU="EN^ECDISSUM"
 +15               SET ECSAVE("ECLOC(")=""
 +16               SET ECDESC="EC Disabled Category Report"
 +17               DO QUEUE^ECRRPT
               End DoDot:1
               QUIT 
 +18       DO EN^ECDISSUM
 +19       QUIT 
 +20      ;
ECLATESH  ;139 Possible Late State Home Entries Report
 +1       ;     Variables passed in
 +2       ;       ECSD   - Start Date or Report
 +3       ;       ECED   - End Date or Report
 +4       ;       ECPTYP - Where to send output (P)rinter, (D)evice or screen
 +5       ;                or (E)xport
 +6       ;
 +7       ;     Variable return
 +8       ;       ^TMP($J,"ECRPT",n)=report output or to print device.
 +9        NEW ECV,ECDATE,ECROU,ECDESC
 +10       SET ECV="ECSD^ECED"
           DO REQCHK^ECRRPT(ECV)
           IF ECERR
               QUIT 
 +11       DO DATECHK^ECRRPT(.ECSD,.ECED)
 +12       SET ECSD=ECSD-.0001
           SET ECED=ECED+.9999
 +13       IF ECPTYP="P"
               Begin DoDot:1
 +14               SET ECV="ECSD^ECED^ECDATE"
                   SET ECROU="START^ECLATESH"
 +15               SET ECDESC="Possible Late State Home Entries Report"
 +16               DO QUEUE^ECRRPT
               End DoDot:1
               QUIT 
 +17       DO START^ECLATESH
 +18       QUIT 
 +19      ;
ECRPROC   ;156 - Procedure Used Report
 +1       ;     Variables passed in
 +2       ;       ECPROC - IEN of the Procedure Code for file #81 or #725:100217;ICPT(^B4154  EF SPEC METABOLIC NONINHERIT"/3291;EC(725,^NU079  NUTR GP, 11-20 PT 1ST 30M
 +3       ;       ECU    - All or single IEN for file 200
 +4       ;       ECL0   - All, 1, or many locations
 +5       ;       ECD0   - All, 1, or many DSS units
 +6       ;       ECSD   - Start Date or Report
 +7       ;       ECED   - End Date or Report
 +8       ;       ECPTYP - Where to send output (P)rinter, (D)evice or screen
 +9       ;                or (E)xport
 +10      ;
 +11      ;     Variable return
 +12      ;       ^TMP($J,"ECRPT",n)=report output or to print device.
 +13       NEW ECV,ECDATE,ECUN,ECROU,ECDESC,DIC,X,Y,ECSAVE,ECPROC,ECLOC,ECDSSU,NUM
 +14       NEW ECNT,ECI,ECX
 +15       SET ECV="ECU^ECLPC0^ECSD^ECED^ECL0^ECD0^ECPTYP"
           DO REQCHK^ECRRPT(ECV)
           IF ECERR
               QUIT 
 +16       IF ECU="ALL"
               SET ECUN="ALL"
 +17       IF ECU'="ALL"
               SET DIC=200
               SET DIC(0)="QNZX"
               SET X=ECU
               DO ^DIC
               if Y<0
                   Begin DoDot:1
 +18                   SET ^TMP("ECMSG",$JOB)="1^Invalid Provider."
                   End DoDot:1
               if Y<0
                   QUIT 
               SET ECUN=$PIECE(Y,U,2)
 +19       DO DATECHK^ECRRPT(.ECSD,.ECED)
 +20       Begin DoDot:1
 +21           IF ECLPC0="ALL"
                   QUIT 
 +22           SET ECI=0
               FOR ECI=0:1
                   SET ECX="ECLPC"_ECI
                   if '$DATA(@ECX)
                       QUIT 
                   Begin DoDot:2
 +23                   SET ECPROC(@ECX)=""
                   End DoDot:2
           End DoDot:1
           IF '$DATA(ECPROC)&(ECLPC0'="ALL")
               SET ^TMP("ECMSG",$JOB)="1^Invalid Procedure Code."
               QUIT 
 +24       Begin DoDot:1
 +25           DO LOCARRY^ECRUTL
               IF ECL0="ALL"
                   QUIT 
 +26           SET ECNT=0
               SET DIC=4
               SET DIC(0)="QNZX"
               FOR I=0:1
                   SET LIEN=$GET(@("ECL"_I))
                   if '+LIEN
                       QUIT 
                   Begin DoDot:2
 +27                   SET X=LIEN
                       DO ^DIC
                       if Y<0
                           QUIT 
 +28                   SET ECNT=ECNT+1
                       SET ECLOC(ECNT)=+Y_"^"_$PIECE(Y,U,2)
                   End DoDot:2
           End DoDot:1
           IF '$DATA(ECLOC)
               SET ^TMP("ECMSG",$JOB)="1^Invalid Location."
               QUIT 
 +29       Begin DoDot:1
 +30           IF ECD0="ALL"
                   Begin DoDot:2
 +31                   IF '$DATA(ECDUZ)
                           QUIT 
 +32                   SET ECKEY=$SELECT($DATA(^XUSEC("ECALLU",ECDUZ)):1,1:0)
                       DO ALLU^ECRUTL
                   End DoDot:2
                   QUIT 
 +33           SET (ECI,ECNT)=0
               FOR ECI=0:1
                   SET ECX="ECD"_ECI
                   if '$DATA(@ECX)
                       QUIT 
                   Begin DoDot:2
 +34                   KILL DIC
                       SET DIC=724
                       SET DIC(0)="QNZX"
                       SET X=@ECX
                       DO ^DIC
                       IF Y<0
                           QUIT 
 +35                   SET ECNT=ECNT+1
                       SET ECDSSU(ECNT)=Y
                   End DoDot:2
           End DoDot:1
           IF '$DATA(ECDSSU)
               SET ^TMP("ECMSG",$JOB)="1^Invalid DSS Unit."
               QUIT 
 +36       IF ECPTYP="P"
               Begin DoDot:1
 +37               SET ECV="ECU^ECUN^ECLPC0^ECSD^ECED^ECDATE^ECL0^ECD0^ECPTYP"
 +38               SET (ECSAVE("ECLOC("),ECSAVE("ECDSSU("))=""
                   SET ECSAVE("ECPROC(")=""
 +39               SET ECROU="EN^ECRPROC"
                   SET ECDESC="Event Capture Procedure Used Report"
 +40               DO QUEUE^ECRRPT
               End DoDot:1
               QUIT 
 +41       DO EN^ECRPROC
 +42       QUIT 
 +43      ;
ECREDIT   ;159 - Edit Log Report
 +1       ;     Variables passed in
 +2       ;       ECL    - Location to report (1 or ALL)
 +3       ;       ECD0   - DSS Unit to report (1, some or ALL)
 +4       ;       ECSORT - Sort type(D or U)
 +5       ;       ECSD   - Start Date or Report
 +6       ;       ECED   - End Date or Report
 +7       ;       ECDUZ  - User IEN from file (#200)
 +8       ;       ECPTYP - Where to send output (P)rinter, (D)evice or screen
 +9       ;                or (E)xport
 +10      ;     Variable return
 +11      ;       ^TMP($J,"ECRPT",n)=report output or to print device.
 +12      ;
 +13       NEW ECDATE,ECDSSU,ECV,ECI,ECNT,ECKEY,ECROU,ECSAVE,ECDESC,ECX,DIC,X,Y,ECLOC,ECLOC1,LIEN
 +14       SET ECV="ECD0^ECDUZ^ECL0^ECSORT^ECSD^ECED^ECPTYP"
           DO REQCHK^ECRRPT(ECV)
           IF ECERR
               QUIT 
 +15       Begin DoDot:1
 +16           IF ECD0="ALL"
                   Begin DoDot:2
 +17                   IF '$DATA(ECDUZ)
                           QUIT 
 +18                   SET ECKEY=$SELECT($DATA(^XUSEC("ECALLU",ECDUZ)):1,1:0)
                       DO ALLU^ECRUTL
                   End DoDot:2
                   QUIT 
 +19           SET (ECI,ECNT)=0
               FOR ECI=0:1
                   SET ECX="ECD"_ECI
                   if '$DATA(@ECX)
                       QUIT 
                   Begin DoDot:2
 +20                   KILL DIC
                       SET DIC=724
                       SET DIC(0)="QNZX"
                       SET X=@ECX
                       DO ^DIC
                       IF Y<0
                           QUIT 
 +21                   SET ECNT=ECNT+1
                       SET ECDSSU(ECNT)=Y
                   End DoDot:2
           End DoDot:1
           IF '$DATA(ECDSSU)
               SET ^TMP("ECMSG",$JOB)="1^Invalid DSS Unit."
               QUIT 
 +22       Begin DoDot:1
 +23           DO LOCARRY^ECRUTL
               IF ECL0="ALL"
                   QUIT 
 +24           KILL ECLOC
               SET X=ECL0
               SET DIC=4
               SET DIC(0)="QNZX"
               DO ^DIC
               if Y<0
                   QUIT 
               SET ECLOC(1)=ECL0_U_$PIECE(Y,U,2)
           End DoDot:1
           IF '$DATA(ECLOC)
               SET ^TMP("ECMSG",$JOB)="1^Invalid Location."
               QUIT 
 +25       DO DATECHK^ECRRPT(.ECSD,.ECED)
 +26       IF ECPTYP="P"
               Begin DoDot:1
 +27               SET ECROU="EN^ECREDIT"
                   SET ECV="ECSORT^ECSD^ECED^ECPTYP"
 +28               SET ECSAVE("ECDSSU(")=""
                   SET ECSAVE("ECLOC(")=""
                   SET ECSAVE("ECLOC1(")=""
 +29               SET ECDESC="Event Capture Edit Log Report"
 +30               DO QUEUE^ECRRPT
               End DoDot:1
               QUIT 
 +31       DO EN^ECREDIT
 +32       QUIT 
 +33      ;
ECCLIPRO  ;159 - Procedure by Clinic Report
 +1        NEW ECDATE,ECDSSU,ECV,ECI,ECNT,ECKEY,ECROU,ECSAVE,ECDESC,ECX,DIC,X,Y,ECLOC,ECCLIN
 +2        SET ECV="ECD0^ECDUZ^ECL0^ECSORT^ECSD^ECED^ECPTYP"
           DO REQCHK^ECRRPT(ECV)
           IF ECERR
               QUIT 
 +3        Begin DoDot:1
 +4            IF ECD0="ALL"
                   Begin DoDot:2
 +5                    IF '$DATA(ECDUZ)
                           QUIT 
 +6                    SET ECKEY=$SELECT($DATA(^XUSEC("ECALLU",ECDUZ)):1,1:0)
                       DO ALLU^ECRUTL
                   End DoDot:2
                   QUIT 
 +7            SET (ECI,ECNT)=0
               FOR ECI=0:1
                   SET ECX="ECD"_ECI
                   if '$DATA(@ECX)
                       QUIT 
                   Begin DoDot:2
 +8                    KILL DIC
                       SET DIC=724
                       SET DIC(0)="QNZX"
                       SET X=@ECX
                       DO ^DIC
                       IF Y<0
                           QUIT 
 +9                    SET ECNT=ECNT+1
                       SET ECDSSU(ECNT)=Y
                   End DoDot:2
           End DoDot:1
           IF '$DATA(ECDSSU)
               SET ^TMP("ECMSG",$JOB)="1^Invalid DSS Unit."
               QUIT 
 +10       Begin DoDot:1
 +11           SET X=ECL0
               SET DIC=4
               SET DIC(0)="QNZX"
               DO ^DIC
               if Y<0
                   QUIT 
               SET ECLOC=ECL0
           End DoDot:1
           IF '$DATA(ECLOC)
               SET ^TMP("ECMSG",$JOB)="1^Invalid Location."
               QUIT 
 +12       Begin DoDot:1
 +13           SET X=ECCLI
               SET DIC=44
               SET DIC(0)="QNZX"
               SET DIC("S")="I $P(^(0),U,3)=""C"""
 +14           DO ^DIC
               if Y<0
                   QUIT 
               SET ECCLIN=ECCLI
           End DoDot:1
           IF '$DATA(ECCLI)
               SET ^TMP("ECMSG",$JOB)="1^Invalid Clinic."
               QUIT 
 +15       DO DATECHK^ECRRPT(.ECSD,.ECED)
 +16       IF ECPTYP="P"
               Begin DoDot:1
 +17               SET ECROU="EN^ECCLIPRO"
                   SET ECV="ECLOC^ECCLI^ECSORT^ECSD^ECED^ECPTYP"
 +18               SET ECSAVE("ECDSSU(")=""
 +19               SET ECDESC="Event Capture Procedure by Clinic Report"
 +20               DO QUEUE^ECRRPT
               End DoDot:1
               QUIT 
 +21       DO EN^ECCLIPRO
 +22       QUIT