| [613] | 1 | SCMCHLR9 ;ALB/KCL - PCMM HL7 Reject Transmission Report Con't; 22-FEB-2000
 | 
|---|
 | 2 |  ;;5.3;Scheduling;**210,284,297**;AUG 13,1993
 | 
|---|
 | 3 |  ;
 | 
|---|
 | 4 | PRINT ; Description: Used to print report.
 | 
|---|
 | 5 |  ;
 | 
|---|
 | 6 |  ;Init variables
 | 
|---|
 | 7 |  N CRT,QUIT,PAGE,SUBSCRPT,SCARRAY
 | 
|---|
 | 8 |  K SCARRAY
 | 
|---|
 | 9 |  S SCARRAY="SCERRSRT"
 | 
|---|
 | 10 |  K ^TMP(SCARRAY,$J)
 | 
|---|
 | 11 |  S (QUIT,PAGE)=0
 | 
|---|
 | 12 |  S CRT=$S($E(IOST,1,2)="C-":1,1:0)
 | 
|---|
 | 13 |  ;
 | 
|---|
 | 14 |  ;Get PCMM HL7 Transmission Log errors
 | 
|---|
 | 15 |  D GET^SCMCHLR2(SCARRAY,$G(SCRP("BEGIN")),$G(SCRP("END")),$G(SCRP("EPS")),$G(SCRP("SORT")))
 | 
|---|
 | 16 |  ;
 | 
|---|
 | 17 |  U IO
 | 
|---|
 | 18 |  I CRT,PAGE=0 W @IOF
 | 
|---|
 | 19 |  S PAGE=1
 | 
|---|
 | 20 |  D HEADER
 | 
|---|
 | 21 |  D PRINTERR($G(SCRP("SORT")),$G(SCRP("EPS")))
 | 
|---|
 | 22 |  I CRT,'QUIT D PAUSE
 | 
|---|
 | 23 |  I $D(ZTQUEUED) S ZTREQ="@"
 | 
|---|
 | 24 |  D ^%ZISC
 | 
|---|
 | 25 |  ;
 | 
|---|
 | 26 |  K ^TMP(SCARRAY,$J)
 | 
|---|
 | 27 |  Q
 | 
|---|
 | 28 |  ;
 | 
|---|
 | 29 | LINE(LINE) ;
 | 
|---|
 | 30 |  ; Description: Prints a line. First prints header if at end of page.
 | 
|---|
 | 31 |  ;
 | 
|---|
 | 32 |  I CRT,($Y>(IOSL-4)) D
 | 
|---|
 | 33 |  .D PAUSE
 | 
|---|
 | 34 |  .Q:QUIT
 | 
|---|
 | 35 |  .W @IOF
 | 
|---|
 | 36 |  .D HEADER
 | 
|---|
 | 37 |  .W LINE
 | 
|---|
 | 38 |  ;
 | 
|---|
 | 39 |  E  I ('CRT),($Y>(IOSL-2)) D
 | 
|---|
 | 40 |  .W @IOF
 | 
|---|
 | 41 |  .D HEADER
 | 
|---|
 | 42 |  .W LINE
 | 
|---|
 | 43 |  ;
 | 
|---|
 | 44 |  E  W !,LINE
 | 
|---|
 | 45 |  Q
 | 
|---|
 | 46 |  ;
 | 
|---|
 | 47 |  ;
 | 
|---|
 | 48 | HEADER ; Description: Prints the report header.
 | 
|---|
 | 49 |  ;
 | 
|---|
 | 50 |  N LINE,X
 | 
|---|
 | 51 |  I $Y>1 W @IOF
 | 
|---|
 | 52 |  W !,"PCMM Transmission Error Report"
 | 
|---|
 | 53 |  W ?33,"Run Date: "_$$FMTE^XLFDT($$NOW^XLFDT,"1P")
 | 
|---|
 | 54 |  W ?70,"Page ",PAGE
 | 
|---|
 | 55 |  S PAGE=PAGE+1
 | 
|---|
 | 56 |  W !
 | 
|---|
 | 57 |  S X=$G(SCRP("SORT"))
 | 
|---|
 | 58 |  W !,"Sort By: "_$S(X="N":"Patient Name",X="D":"Date Error Received",X="P":"Provider",1:"Unknown")
 | 
|---|
 | 59 |  I SCRP("BEGIN") D
 | 
|---|
 | 60 |  .W ?40,"Date Range: "_$$FMTE^XLFDT(SCRP("BEGIN"))_" to "_$$FMTE^XLFDT($G(SCRP("END")))
 | 
|---|
 | 61 |  E  D
 | 
|---|
 | 62 |  .W ?40,"Date Range: "_$$DRMSG^SCMCHLR1
 | 
|---|
 | 63 |  S X=$G(SCRP("EPS"))
 | 
|---|
 | 64 |  W !,"Error Processing Status: "_$S(X=1:"New",X=2:"Checked",X=3:"New/Checked",1:"Unknown")
 | 
|---|
 | 65 |  W ?40,$$MRKMSG^SCMCHLR1
 | 
|---|
 | 66 |  W !
 | 
|---|
 | 67 |  ;
 | 
|---|
 | 68 |  W !?2,"Patient Name",?23,"PATID",?31,"Date Rec",?42,"Provider",?63,"Type",?70,"EP Status"
 | 
|---|
 | 69 |  S $P(LINE,"-",80)="-"
 | 
|---|
 | 70 |  W !,LINE,!
 | 
|---|
 | 71 |  Q
 | 
|---|
 | 72 |  ;
 | 
|---|
 | 73 |  ;
 | 
|---|
 | 74 | PAUSE ; Description: Screen pause.  Sets QUIT=1 if user decides to quit.
 | 
|---|
 | 75 |  ;
 | 
|---|
 | 76 |  N DIR,X,Y
 | 
|---|
 | 77 |  F  Q:$Y>(IOSL-3)  W !
 | 
|---|
 | 78 |  S DIR(0)="E"
 | 
|---|
 | 79 |  D ^DIR
 | 
|---|
 | 80 |  I ('(+Y))!$D(DIRUT) S QUIT=1
 | 
|---|
 | 81 |  Q
 | 
|---|
 | 82 |  ;
 | 
|---|
 | 83 |  ;
 | 
|---|
 | 84 | PRINTERR(SCSORTBY,SCEPS) ; Description: Print list of errors.
 | 
|---|
 | 85 |  ;
 | 
|---|
 | 86 |  ;  Input:
 | 
|---|
 | 87 |  ;   SCSORTBY - Sort by criteria
 | 
|---|
 | 88 |  ;               N -> Patient Name
 | 
|---|
 | 89 |  ;               D -> Date/Time Ack Received
 | 
|---|
 | 90 |  ;               P -> Provider
 | 
|---|
 | 91 |  ;      SCEPS -  Error processing status
 | 
|---|
 | 92 |  ;
 | 
|---|
 | 93 |  ; Output: None
 | 
|---|
 | 94 |  ;
 | 
|---|
 | 95 |  N DFN,SCSUB,SCLINE,SCTXT,SCTLIEN,SCERIEN,SCTLOG,SCPROV,SCTYPE
 | 
|---|
 | 96 |  ;
 | 
|---|
 | 97 |  ;Loop thru sort array by pat name, OR date ack rec'd, OR provider
 | 
|---|
 | 98 |  S SCSUB=$S(SCSORTBY="N":"",SCSORTBY="P":"",1:0)
 | 
|---|
 | 99 |  F  S SCSUB=$O(^TMP("SCERRSRT",$J,SCSORTBY,SCSUB)) Q:SCSUB=""  D  Q:QUIT
 | 
|---|
 | 100 |  .;loop through PCMM HL7 Transmission Log ien(s)
 | 
|---|
 | 101 |  .S SCTLIEN=0
 | 
|---|
 | 102 |  .F  S SCTLIEN=$O(^TMP("SCERRSRT",$J,SCSORTBY,SCSUB,SCTLIEN)) Q:'SCTLIEN  D  Q:QUIT
 | 
|---|
 | 103 |  ..;loop through Error Code subfile ien(s)
 | 
|---|
 | 104 |  ..S SCERIEN=0
 | 
|---|
 | 105 |  ..F  S SCERIEN=$O(^TMP("SCERRSRT",$J,SCSORTBY,SCSUB,SCTLIEN,SCERIEN)) Q:'SCERIEN  D  Q:QUIT
 | 
|---|
 | 106 |  ...;
 | 
|---|
 | 107 |  ...;get data for PCMM HL7 Trans Log entry
 | 
|---|
 | 108 |  ...I $$GETLOG^SCMCHLA(SCTLIEN,SCERIEN,.SCTLOG) D
 | 
|---|
 | 109 |  ....;
 | 
|---|
 | 110 |  ....;set retransmit flag in line
 | 
|---|
 | 111 |  ....S SCLINE=$S($G(SCTLOG("STATUS"))="M":"*",1:" ")
 | 
|---|
 | 112 |  ....;
 | 
|---|
 | 113 |  ....;set patient name in line
 | 
|---|
 | 114 |  ....S SCTXT=$$LOWER^VALM1($S($G(SCTLOG("WORK")):"WORKLOAD",$G(SCTLOG("DFN")):$P($G(^DPT(SCTLOG("DFN"),0)),"^",1),1:"UNKNOWN"))
 | 
|---|
 | 115 |  ....S SCLINE=SCLINE_" "_$$LJ(SCTXT,18)
 | 
|---|
 | 116 |  ....;
 | 
|---|
 | 117 |  ....;set patient id in line
 | 
|---|
 | 118 |  ....S DFN=+SCTLOG("DFN") D PID^VADPT
 | 
|---|
 | 119 |  ....;D SET(SCARY,SCLINE,VA("BID"),SCCOL("PATID"),SCWID("PATID"),SCNUM,,,,.SCCNT)
 | 
|---|
 | 120 |  ....S SCLINE=SCLINE_"   "_$$LJ(VA("BID"),5)
 | 
|---|
 | 121 |  ....;
 | 
|---|
 | 122 |  ....;set date ack received in line
 | 
|---|
 | 123 |  ....S SCTXT=$$LOWER^VALM1($S($G(SCTLOG("ACK DT/TM")):$E($$FDATE^VALM1(SCTLOG("ACK DT/TM")),1,8),1:"UNKNOWN"))
 | 
|---|
 | 124 |  ....S SCLINE=SCLINE_"   "_$$LJ(SCTXT,8)
 | 
|---|
 | 125 |  ....;
 | 
|---|
 | 126 |  ....;set provider in display in line
 | 
|---|
 | 127 |  ....K SCHL
 | 
|---|
 | 128 |  ....S SCPROV=""
 | 
|---|
 | 129 |  ....;only get provider if ZPC segment error
 | 
|---|
 | 130 |  ....I $G(SCTLOG("WORK")) S SCPROV=$P($G(^SCPT(404.471,SCTLIEN,0)),U,8)
 | 
|---|
 | 131 |  ....I $G(SCTLOG("ERR","SEG"))="ZPC" D
 | 
|---|
 | 132 |  .....I $$GETHL7ID^SCMCHLA2($G(SCTLOG("ERR","ZPCID")),.SCHL)
 | 
|---|
 | 133 |  .....S SCPTR=$P($G(SCHL("HL7ID")),"-",2)
 | 
|---|
 | 134 |  .....I '$G(SCTLOG("WORK")) S SCPROV=$P($G(^SCTM(404.52,+$G(SCPTR),0)),"^",3)
 | 
|---|
 | 135 |  ....S SCTXT=$$LOWER^VALM1($S($G(SCPROV)'="":$$EXTERNAL^DILFD(404.52,.03,,SCPROV),1:"N/A"))
 | 
|---|
 | 136 |  ....S SCLINE=SCLINE_"   "_$$LJ(SCTXT,18)
 | 
|---|
 | 137 |  ....;
 | 
|---|
 | 138 |  ....;set provider type in line
 | 
|---|
 | 139 |  ....S SCTYPE=$P($G(SCHL("HL7ID")),"-",4)
 | 
|---|
 | 140 |  ....S SCTXT=$S(SCTYPE'="":SCTYPE,1:"N/A")
 | 
|---|
 | 141 |  ....S SCLINE=SCLINE_"   "_$$LJ(SCTXT,4)
 | 
|---|
 | 142 |  ....;
 | 
|---|
 | 143 |  ....;set error processing status in line
 | 
|---|
 | 144 |  ....S SCTXT=$$LOWER^VALM1($S($G(SCTLOG("ERR","EPS")):$$EXTERNAL^DILFD(404.47142,.06,,SCTLOG("ERR","EPS")),1:"UNKNOWN"))
 | 
|---|
 | 145 |  ....S SCLINE=SCLINE_"   "_$$LJ(SCTXT,7)
 | 
|---|
 | 146 |  ....;
 | 
|---|
 | 147 |  ....D LINE(SCLINE) Q:QUIT
 | 
|---|
 | 148 |  ....;
 | 
|---|
 | 149 |  ....;set error code/desc in line
 | 
|---|
 | 150 |  ....I $$GETEC^SCMCHLA2($G(SCTLOG("ERR","CODE")),.SCERR)
 | 
|---|
 | 151 |  ....S SCTXT="     Error: "_$S($G(SCERR("CODE"))'="":SCERR("CODE")_"-"_$G(SCERR("SHORT")),1:$$LOWER^VALM1("UNKNOWN"))
 | 
|---|
 | 152 |  ....S SCLINE=$$LJ(SCTXT,80)
 | 
|---|
 | 153 |  ....D LINE(SCLINE) Q:QUIT
 | 
|---|
 | 154 |  ;
 | 
|---|
 | 155 |  Q
 | 
|---|
 | 156 |  ;
 | 
|---|
 | 157 |  ;
 | 
|---|
 | 158 | LJ(STRING,LENGTH) ;
 | 
|---|
 | 159 |  ;
 | 
|---|
 | 160 |  Q $$LJ^XLFSTR($E(STRING,1,LENGTH),LENGTH)
 | 
|---|