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

SCMCHLR9.m

Go to the documentation of this file.
  1. SCMCHLR9 ;ALB/KCL - PCMM HL7 Reject Transmission Report Con't; 22-FEB-2000
  1. ;;5.3;Scheduling;**210,284,297**;AUG 13,1993
  1. ;
  1. PRINT ; Description: Used to print report.
  1. ;
  1. ;Init variables
  1. N CRT,QUIT,PAGE,SUBSCRPT,SCARRAY
  1. K SCARRAY
  1. S SCARRAY="SCERRSRT"
  1. K ^TMP(SCARRAY,$J)
  1. S (QUIT,PAGE)=0
  1. S CRT=$S($E(IOST,1,2)="C-":1,1:0)
  1. ;
  1. ;Get PCMM HL7 Transmission Log errors
  1. D GET^SCMCHLR2(SCARRAY,$G(SCRP("BEGIN")),$G(SCRP("END")),$G(SCRP("EPS")),$G(SCRP("SORT")))
  1. ;
  1. U IO
  1. I CRT,PAGE=0 W @IOF
  1. S PAGE=1
  1. D HEADER
  1. D PRINTERR($G(SCRP("SORT")),$G(SCRP("EPS")))
  1. I CRT,'QUIT D PAUSE
  1. I $D(ZTQUEUED) S ZTREQ="@"
  1. D ^%ZISC
  1. ;
  1. K ^TMP(SCARRAY,$J)
  1. Q
  1. ;
  1. LINE(LINE) ;
  1. ; Description: Prints a line. First prints header if at end of page.
  1. ;
  1. I CRT,($Y>(IOSL-4)) D
  1. .D PAUSE
  1. .Q:QUIT
  1. .W @IOF
  1. .D HEADER
  1. .W LINE
  1. ;
  1. E I ('CRT),($Y>(IOSL-2)) D
  1. .W @IOF
  1. .D HEADER
  1. .W LINE
  1. ;
  1. E W !,LINE
  1. Q
  1. ;
  1. ;
  1. ;
  1. N LINE,X
  1. I $Y>1 W @IOF
  1. W !,"PCMM Transmission Error Report"
  1. W ?33,"Run Date: "_$$FMTE^XLFDT($$NOW^XLFDT,"1P")
  1. W ?70,"Page ",PAGE
  1. S PAGE=PAGE+1
  1. W !
  1. S X=$G(SCRP("SORT"))
  1. W !,"Sort By: "_$S(X="N":"Patient Name",X="D":"Date Error Received",X="P":"Provider",1:"Unknown")
  1. I SCRP("BEGIN") D
  1. .W ?40,"Date Range: "_$$FMTE^XLFDT(SCRP("BEGIN"))_" to "_$$FMTE^XLFDT($G(SCRP("END")))
  1. E D
  1. .W ?40,"Date Range: "_$$DRMSG^SCMCHLR1
  1. S X=$G(SCRP("EPS"))
  1. W !,"Error Processing Status: "_$S(X=1:"New",X=2:"Checked",X=3:"New/Checked",1:"Unknown")
  1. W ?40,$$MRKMSG^SCMCHLR1
  1. W !
  1. ;
  1. W !?2,"Patient Name",?23,"PATID",?31,"Date Rec",?42,"Provider",?63,"Type",?70,"EP Status"
  1. S $P(LINE,"-",80)="-"
  1. W !,LINE,!
  1. Q
  1. ;
  1. ;
  1. PAUSE ; Description: Screen pause. Sets QUIT=1 if user decides to quit.
  1. ;
  1. N DIR,X,Y
  1. F Q:$Y>(IOSL-3) W !
  1. S DIR(0)="E"
  1. D ^DIR
  1. I ('(+Y))!$D(DIRUT) S QUIT=1
  1. Q
  1. ;
  1. ;
  1. PRINTERR(SCSORTBY,SCEPS) ; Description: Print list of errors.
  1. ;
  1. ; Input:
  1. ; SCSORTBY - Sort by criteria
  1. ; N -> Patient Name
  1. ; D -> Date/Time Ack Received
  1. ; P -> Provider
  1. ; SCEPS - Error processing status
  1. ;
  1. ; Output: None
  1. ;
  1. N DFN,SCSUB,SCLINE,SCTXT,SCTLIEN,SCERIEN,SCTLOG,SCPROV,SCTYPE
  1. ;
  1. ;Loop thru sort array by pat name, OR date ack rec'd, OR provider
  1. S SCSUB=$S(SCSORTBY="N":"",SCSORTBY="P":"",1:0)
  1. F S SCSUB=$O(^TMP("SCERRSRT",$J,SCSORTBY,SCSUB)) Q:SCSUB="" D Q:QUIT
  1. .;loop through PCMM HL7 Transmission Log ien(s)
  1. .S SCTLIEN=0
  1. .F S SCTLIEN=$O(^TMP("SCERRSRT",$J,SCSORTBY,SCSUB,SCTLIEN)) Q:'SCTLIEN D Q:QUIT
  1. ..;loop through Error Code subfile ien(s)
  1. ..S SCERIEN=0
  1. ..F S SCERIEN=$O(^TMP("SCERRSRT",$J,SCSORTBY,SCSUB,SCTLIEN,SCERIEN)) Q:'SCERIEN D Q:QUIT
  1. ...;
  1. ...;get data for PCMM HL7 Trans Log entry
  1. ...I $$GETLOG^SCMCHLA(SCTLIEN,SCERIEN,.SCTLOG) D
  1. ....;
  1. ....;set retransmit flag in line
  1. ....S SCLINE=$S($G(SCTLOG("STATUS"))="M":"*",1:" ")
  1. ....;
  1. ....;set patient name in line
  1. ....S SCTXT=$$LOWER^VALM1($S($G(SCTLOG("WORK")):"WORKLOAD",$G(SCTLOG("DFN")):$P($G(^DPT(SCTLOG("DFN"),0)),"^",1),1:"UNKNOWN"))
  1. ....S SCLINE=SCLINE_" "_$$LJ(SCTXT,18)
  1. ....;
  1. ....;set patient id in line
  1. ....S DFN=+SCTLOG("DFN") D PID^VADPT
  1. ....;D SET(SCARY,SCLINE,VA("BID"),SCCOL("PATID"),SCWID("PATID"),SCNUM,,,,.SCCNT)
  1. ....S SCLINE=SCLINE_" "_$$LJ(VA("BID"),5)
  1. ....;
  1. ....;set date ack received in line
  1. ....S SCTXT=$$LOWER^VALM1($S($G(SCTLOG("ACK DT/TM")):$E($$FDATE^VALM1(SCTLOG("ACK DT/TM")),1,8),1:"UNKNOWN"))
  1. ....S SCLINE=SCLINE_" "_$$LJ(SCTXT,8)
  1. ....;
  1. ....;set provider in display in line
  1. ....K SCHL
  1. ....S SCPROV=""
  1. ....;only get provider if ZPC segment error
  1. ....I $G(SCTLOG("WORK")) S SCPROV=$P($G(^SCPT(404.471,SCTLIEN,0)),U,8)
  1. ....I $G(SCTLOG("ERR","SEG"))="ZPC" D
  1. .....I $$GETHL7ID^SCMCHLA2($G(SCTLOG("ERR","ZPCID")),.SCHL)
  1. .....S SCPTR=$P($G(SCHL("HL7ID")),"-",2)
  1. .....I '$G(SCTLOG("WORK")) S SCPROV=$P($G(^SCTM(404.52,+$G(SCPTR),0)),"^",3)
  1. ....S SCTXT=$$LOWER^VALM1($S($G(SCPROV)'="":$$EXTERNAL^DILFD(404.52,.03,,SCPROV),1:"N/A"))
  1. ....S SCLINE=SCLINE_" "_$$LJ(SCTXT,18)
  1. ....;
  1. ....;set provider type in line
  1. ....S SCTYPE=$P($G(SCHL("HL7ID")),"-",4)
  1. ....S SCTXT=$S(SCTYPE'="":SCTYPE,1:"N/A")
  1. ....S SCLINE=SCLINE_" "_$$LJ(SCTXT,4)
  1. ....;
  1. ....;set error processing status in line
  1. ....S SCTXT=$$LOWER^VALM1($S($G(SCTLOG("ERR","EPS")):$$EXTERNAL^DILFD(404.47142,.06,,SCTLOG("ERR","EPS")),1:"UNKNOWN"))
  1. ....S SCLINE=SCLINE_" "_$$LJ(SCTXT,7)
  1. ....;
  1. ....D LINE(SCLINE) Q:QUIT
  1. ....;
  1. ....;set error code/desc in line
  1. ....I $$GETEC^SCMCHLA2($G(SCTLOG("ERR","CODE")),.SCERR)
  1. ....S SCTXT=" Error: "_$S($G(SCERR("CODE"))'="":SCERR("CODE")_"-"_$G(SCERR("SHORT")),1:$$LOWER^VALM1("UNKNOWN"))
  1. ....S SCLINE=$$LJ(SCTXT,80)
  1. ....D LINE(SCLINE) Q:QUIT
  1. ;
  1. Q
  1. ;
  1. ;
  1. LJ(STRING,LENGTH) ;
  1. ;
  1. Q $$LJ^XLFSTR($E(STRING,1,LENGTH),LENGTH)