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

ORWGAPID.m

Go to the documentation of this file.
  1. ORWGAPID ; SLC/STAFF - Graph API Details ;12/21/05 08:19
  1. ;;3.0;ORDER ENTRY/RESULTS REPORTING;**215,243**;Dec 17, 1997;Build 242
  1. ;
  1. DETAILS(DATA,DFN,DATE1,DATE2,FILEITEM) ; from ORWGAPI (series click)
  1. N ITEM,FILE,SUBHEAD,TYPEITEM K SUBHEAD,TYPEITEM
  1. K ^TMP("LR7OGX",$J),^TMP("LRC",$J)
  1. K ^TMP("ORLRC",$J),^TMP("PSBO",$J),^TMP("TIUVIEW",$J)
  1. S FILE=$P(FILEITEM,U)
  1. S ITEM=$$UP^ORWGAPIX($P(FILEITEM,U,2))
  1. I '$L(ITEM) Q
  1. D
  1. . I FILE=63 D Q
  1. .. D INTERIM^ORWLRR(.DATA,DFN,DATE1,DATE2)
  1. .. M ^TMP("ORWGRPC",$J)=^TMP("LR7OGX",$J,"OUTPUT")
  1. . I FILE="63MI" D Q
  1. .. D MICRO^ORWLRR(.DATA,DFN,DATE1,DATE2)
  1. .. M ^TMP("ORWGRPC",$J)=^TMP("LR7OGX",$J,"OUTPUT")
  1. . I FILE="63AP" D Q
  1. .. S SUBHEAD("CYTOPATHOLOGY")=""
  1. .. S SUBHEAD("SURGICAL PATHOLOGY")=""
  1. .. S SUBHEAD("EM")=""
  1. .. S SUBHEAD("AUTOPSY")=""
  1. .. D LABSUM^ORWGAPIC(.DATA,DFN,DATE1,DATE2,.SUBHEAD)
  1. .. M ^TMP("ORWGRPC",$J)=^TMP("LRC",$J)
  1. . I FILE="63BB" D Q
  1. .. D BLR^ORWRP1(.DATA,DFN,"",DATE1,DATE2)
  1. .. M ^TMP("ORWGRPC",$J)=^TMP("ORLRC",$J)
  1. . I FILE="53.79" D Q
  1. .. ;D BCMA1^ORWRP1A(.DATA,DFN,"",DATE1,DATE2) ***** BA 12/14/07
  1. .. D BCMA1^ORWRP1A(.DATA,DFN,"",DATE2,DATE1)
  1. .. M ^TMP("ORWGRPC",$J)=^TMP("PSBO",$J)
  1. . I FILE="8925" D Q
  1. .. D NOTE(.DATA,DFN,DATE1,DATE2,ITEM)
  1. .. ;M ^TMP("ORWGRPC",$J)=^TMP("TIUVIEW",$J)
  1. . S TYPEITEM(1)=FILE_"^0"
  1. . D DETAIL(.DATA,DFN,DATE1,DATE2,.TYPEITEM)
  1. K ^TMP("LR7OGX",$J),^TMP("LRC",$J)
  1. K ^TMP("ORLRC",$J),^TMP("PSBO",$J),^TMP("TIUVIEW",$J)
  1. Q
  1. ;
  1. DETAIL(DATA,DFN,DATE1,DATE2,TYPEITEM) ; from ORWGAPI (legend click)
  1. N CNT,FILE,GMTSPX1,GMTSPX2,ITEM,TITEMS,TYPE
  1. N COMP,NEWITEMS K COMP,NEWITEMS
  1. K ^TMP("ORDATA",$J)
  1. S DFN=+$G(DFN) I 'DFN Q
  1. I '$L($O(TYPEITEM(0))) Q
  1. S TYPE=""
  1. F S TYPE=$O(TYPEITEM(TYPE)) Q:TYPE="" D
  1. . S TITEMS=TYPEITEM(TYPE)
  1. . S FILE=$P(TITEMS,U) I '$L(FILE) Q
  1. . S ITEM=$P(TITEMS,U,2) I '$L(ITEM) Q
  1. . S NEWITEMS(FILE,ITEM)=""
  1. S CNT=0
  1. S FILE=""
  1. F S FILE=$O(NEWITEMS(FILE)) Q:FILE="" D
  1. . S CNT=CNT+1
  1. . S COMP(CNT)=$$COMPTYPE^ORWGAPIT(FILE)
  1. S GMTSPX1=DATE1,GMTSPX2=DATE2
  1. D REPORT^ORWRP2(.DATA,.COMP,DFN)
  1. M ^TMP("ORWGRPC",$J)=^TMP("ORDATA",$J)
  1. ;K ^TMP("ORDATA",$J)
  1. ;Q
  1. ;
  1. S CNT=0
  1. S TYPE=""
  1. F S TYPE=$O(TYPEITEM(TYPE)) Q:TYPE="" D
  1. . S TITEMS=TYPEITEM(TYPE)
  1. . S CNT=CNT+1
  1. . S ^TMP("ORWGRPC",$J,CNT/10000)="~~~^"_TITEMS
  1. ;
  1. K ^TMP("ORDATA",$J)
  1. Q
  1. ;
  1. GETDATES(DATA,REPORTID) ; from ORWGAPI
  1. N DAT,TMP K DAT
  1. D RETURN^ORWGAPIW(.TMP,.DATA)
  1. S DAT(1)="S^Date Range..."
  1. S DAT(2)="1^Today"
  1. S DAT(3)="2^One Week"
  1. S DAT(4)="3^Two Weeks"
  1. S DAT(5)="4^One Month"
  1. S DAT(6)="5^Six Months"
  1. S DAT(7)="6^One Year"
  1. S DAT(8)="7^Two Years"
  1. S DAT(9)="8^All Results"
  1. D DATES^ORWGAPIP(.DAT,REPORTID)
  1. I TMP M ^TMP(DATA,$J)=DAT
  1. I 'TMP M DATA=DAT
  1. Q
  1. ;
  1. NOTE(DATA,DFN,DATE1,DATE2,ITEM) ;
  1. N CNT,DATE,DOC,DOCCLASS,DOCTYPE,DUM,IEN,LINE,NUM,RESULTS K DUM
  1. K ^TMP("TIUR",$J),^TMP("TIUVIEW",$J)
  1. S CNT=$G(CNT)
  1. F DOCTYPE="P","D","C" D
  1. . S DOCCLASS=$$DOCCLASS^ORWGAPIA(DOCTYPE)
  1. . K ^TMP("TIUR",$J)
  1. . D TIU^ORWGAPIA(.DUM,DOCCLASS,5,DFN,DATE1,DATE2)
  1. . S DOC=0
  1. . F S DOC=$O(^TMP("TIUR",$J,DOC)) Q:DOC<1 D
  1. .. S RESULTS=^TMP("TIUR",$J,DOC)
  1. .. S IEN=+$P(RESULTS,U)
  1. .. K ^TMP("TIUVIEW",$J)
  1. .. D GETTIU^ORWGAPIA(.DATA,IEN)
  1. .. S NUM=0
  1. .. F S NUM=$O(^TMP("TIUVIEW",$J,NUM)) Q:NUM<1 D
  1. ... S LINE=$G(^TMP("TIUVIEW",$J,NUM))
  1. ... S CNT=CNT+1
  1. ... S ^TMP("ORWGRPC",$J,CNT)=LINE
  1. .. I CNT>1 D
  1. ... S CNT=CNT+1
  1. ... S ^TMP("ORWGRPC",$J,CNT)=" "
  1. ... S CNT=CNT+1
  1. ... S ^TMP("ORWGRPC",$J,CNT)=" "
  1. ... S ^TMP("ORWGRPC",$J,CNT/10000)="~~~^"_^TMP("TIUR",$J,DOC)
  1. K ^TMP("TIUR",$J),^TMP("TIUVIEW",$J)
  1. Q
  1. ;
  1. TAX(DATA,ALL,REMTAX) ; from ORWGAPI
  1. N CNT,REM,CODE,NUM,TMP
  1. K ^TMP("ORWG TEMP",$J)
  1. D RETURN^ORWGAPIW(.TMP,.DATA)
  1. S CNT=0
  1. S REM=0
  1. I ALL F S REM=$O(^PXD(811.2,REM)) Q:REM<1 D TEMP(REM)
  1. I 'ALL D
  1. . S NUM=0
  1. . F S NUM=$O(REMTAX(NUM)) Q:NUM<1 D
  1. .. S REM=REMTAX(NUM)
  1. .. D TEMP(REM)
  1. S CODE=""
  1. F S CODE=$O(^TMP("ORWG TEMP",$J,CODE)) Q:CODE="" D
  1. . D SETUP^ORWGAPIW(.DATA,CODE,TMP,.CNT)
  1. K ^TMP("ORWG TEMP",$J)
  1. Q
  1. ;
  1. TEMP(REM) ;
  1. N NODE,NUM,SUB
  1. I $P($G(^PXD(811.2,REM,0)),U,6)=1 Q
  1. F SUB=80,80.1,81 D
  1. . S NUM=0
  1. . F S NUM=$O(^PXD(811.3,REM,SUB,NUM)) Q:NUM<1 D
  1. .. S NODE=+$G(^PXD(811.3,REM,SUB,NUM,0))
  1. .. I 'NODE Q
  1. .. I SUB=80 D Q
  1. ... S ^TMP("ORWG TEMP",$J,"45DX;"_NODE)=""
  1. ... S ^TMP("ORWG TEMP",$J,"9000010.07;"_NODE)=""
  1. ... S ^TMP("ORWG TEMP",$J,"9000011;"_NODE)=""
  1. .. I SUB=80.1 D Q
  1. ... S ^TMP("ORWG TEMP",$J,"45OP;"_NODE)=""
  1. .. I SUB=81 D Q
  1. ... S ^TMP("ORWG TEMP",$J,"9000010.18;"_NODE)=""
  1. Q
  1. ;
  1. PLX2(ITEMS,DFN,FMT,OLDEST,NEWEST,CNT,TMP) ; from ORWGAPIR
  1. N DATE,DTONSET,DTPLUS1,DTRESOLV,NODE,PRIORITY,PROB,PROBDX,PSTATUS,RESULT,STATUS,VALUE
  1. K ^TMP("ORWGRPC TEMP",$J)
  1. S DTPLUS1=$$FMADD^ORWGAPIX(DT,1)
  1. S STATUS=""
  1. F S STATUS=$O(^PXRMINDX(9000011,"PSPI",DFN,STATUS)) Q:STATUS="" D
  1. . S PRIORITY=""
  1. . F S PRIORITY=$O(^PXRMINDX(9000011,"PSPI",DFN,STATUS,PRIORITY)) Q:PRIORITY="" D
  1. .. S ITEM=""
  1. .. F S ITEM=$O(^PXRMINDX(9000011,"PSPI",DFN,STATUS,PRIORITY,ITEM)) Q:ITEM="" D
  1. ... S DATE=""
  1. ... F S DATE=$O(^PXRMINDX(9000011,"PSPI",DFN,STATUS,PRIORITY,ITEM,DATE)) Q:DATE="" D
  1. .... S NODE=""
  1. .... F S NODE=$O(^PXRMINDX(9000011,"PSPI",DFN,STATUS,PRIORITY,ITEM,DATE,NODE)) Q:NODE="" D
  1. ..... D PROB^ORWGAPIA(.PROB,.PSTATUS,.PROBDX,.DTONSET,.DTRESOLV,NODE)
  1. ..... I 'DTRESOLV S ^TMP("ORWGRPC TEMP",$J,PROBDX,DTONSET)=DTPLUS1 Q
  1. ..... S ^TMP("ORWGRPC TEMP",$J,PROBDX,DTONSET)=DTRESOLV
  1. S PROB=""
  1. F S PROB=$O(^TMP("ORWGRPC TEMP",$J,PROB)) Q:PROB="" D
  1. . S VALUE=$$EVALUE^ORWGAPIU(PROB,9000011,.01)
  1. . I FMT=0 D
  1. .. S CNT=CNT+1
  1. .. S RESULT=9999911_U_PROB_U_VALUE
  1. .. D SETUP^ORWGAPIW(.ITEMS,RESULT,TMP,.CNT)
  1. . I FMT=6 D
  1. .. S OK=0
  1. .. S DATE=0
  1. .. F S DATE=$O(^TMP("ORWGRPC TEMP",$J,PROB,DATE)) Q:DATE="" Q:DATE>NEWEST D Q:OK
  1. ... S DTRESOLV=^TMP("ORWGRPC TEMP",$J,PROB,DATE)
  1. ... I DTRESOLV<OLDEST Q
  1. ... S CNT=CNT+1
  1. ... S OK=1
  1. ... S RESULT=9999911_U_PROB
  1. .. I OK D SETUP^ORWGAPIW(.ITEMS,RESULT,TMP,.CNT)
  1. . I FMT=3 D
  1. .. S DATE=$O(^TMP("ORWGRPC TEMP",$J,PROB,""),-1)
  1. .. I 'DATE Q
  1. .. S CNT=CNT+1
  1. .. S RESULT=9999911_U_PROB_"^^"_VALUE_"^^"_DATE
  1. .. D SETUP^ORWGAPIW(.ITEMS,RESULT,TMP,.CNT)
  1. K ^TMP("ORWGRPC TEMP",$J)
  1. Q
  1. ;
  1. PROBX4(DATA,ITEM,START,DFN,CNT,TMP) ; from ORWGAPIR
  1. N DATE,DTONSET,DTPLUS1,DTRESOLV,NODE,PRIORITY,PROB,PROBDX,PSTATUS,RESULT,STATUS,VALUE
  1. K ^TMP("ORWGRPC TEMP",$J)
  1. S CNT=$G(CNT),DTPLUS1=$$FMADD^ORWGAPIX(DT,1)
  1. S STATUS=""
  1. F S STATUS=$O(^PXRMINDX(9000011,"PSPI",DFN,STATUS)) Q:STATUS="" D
  1. . S PRIORITY=""
  1. . F S PRIORITY=$O(^PXRMINDX(9000011,"PSPI",DFN,STATUS,PRIORITY)) Q:PRIORITY="" D
  1. .. S DATE=""
  1. .. F S DATE=$O(^PXRMINDX(9000011,"PSPI",DFN,STATUS,PRIORITY,ITEM,DATE)) Q:DATE="" D
  1. ... I DATE>START Q
  1. ... S NODE=""
  1. ... F S NODE=$O(^PXRMINDX(9000011,"PSPI",DFN,STATUS,PRIORITY,ITEM,DATE,NODE)) Q:NODE="" D
  1. .... S ^TMP("ORWGRPC TEMP",$J,NODE)=""
  1. S NODE=""
  1. F S NODE=$O(^TMP("ORWGRPC TEMP",$J,NODE)) Q:NODE="" D
  1. . D PROB^ORWGAPIA(.PROB,.PSTATUS,.PROBDX,.DTONSET,.DTRESOLV,NODE)
  1. . I 'DTONSET Q
  1. . I 'DTRESOLV S DTRESOLV=DTPLUS1
  1. . S RESULT=9999911_U_PROBDX_U_DTONSET_U_DTRESOLV_U_$$EXT^ORWGAPIX(PSTATUS,9000011,.12)
  1. . D SETUP^ORWGAPIW(.DATA,RESULT,TMP,.CNT)
  1. K ^TMP("ORWGRPC TEMP",$J)
  1. Q
  1. ;