ORWGAPI3 ; SLC/STAFF - Graph Data ;12/21/05 08:17 ;;3.0;ORDER ENTRY/RESULTS REPORTING;**215**;Dec 17, 1997 ; ; ADVERSE(DATA,ITEM,START,DFN,CNT,TMP) ; from ORWGAPIR N ADVERSE,DATE,DATE2,NODE,RESULT,RXN,VALUE S DATE="",DATE2="",CNT=$G(CNT) S ADVERSE="" S VALUE=ITEM_U_ITEM S NODE="" F S NODE=$O(^GMR(120.8,"B",DFN,NODE)) Q:NODE="" D . I '$D(^GMR(120.8,NODE,0)) Q . I $G(^GMR(120.8,NODE,"ER")) Q ; entered in error . I '$P(^GMR(120.8,NODE,0),U,12) Q ; signed . S DATE=+$P($G(^GMR(120.8,NODE,0)),U,4) I 'DATE Q . I DATE>START Q . I ITEM'=$P(^GMR(120.8,NODE,0),U,2) Q . S RXN=0 . F S RXN=$O(^GMR(120.8,NODE,10,"B",RXN)) Q:RXN<1 D .. S ADVERSE=ADVERSE_$$EVALUE^ORWGAPIU(RXN,120.8)_", " . I $L(ADVERSE)>0 S ADVERSE=$E(ADVERSE,1,$L(ADVERSE)-2) . S CNT=CNT+1 . S RESULT=120.8_U_ITEM_U_DATE_U_DATE2_U_ADVERSE . D SETUP^ORWGAPIU(.DATA,RESULT,TMP,.CNT) Q ; BCMA(DATA,ITEM,START,DFN,CNT,TMP) ; from ORWGAPIR N DATE,NODE,RESULT,VALUE S DATE="",CNT=$G(CNT) F S DATE=$O(^PSB(53.79,"AOIP",DFN,ITEM,DATE)) Q:DATE="" D . I DATE>START Q . S NODE="" . F S NODE=$O(^PSB(53.79,"AOIP",DFN,ITEM,DATE,NODE)) Q:NODE="" D .. S VALUE=$P($G(^PSB(53.79,NODE,0)),U,9) I VALUE'="G" Q .. S RESULT=53.79_U_ITEM_U_DATE_"^^" .. D SETUP^ORWGAPIU(.DATA,RESULT,TMP,.CNT) Q ; DX(DATA,ITEM,START,DFN,CNT,TMP) ; from ORWGAPIR N DATE,DATE2,NODE,NUM,RESULT,VALUE K VALUE K ^TMP("ORWGRPC TEMP",$J) S DATE2="",CNT=$G(CNT) S NUM="" F S NUM=$O(^PXRMINDX(45,"ICD9","PNI",DFN,NUM)) Q:NUM="" D . S DATE="" . F S DATE=$O(^PXRMINDX(45,"ICD9","PNI",DFN,NUM,ITEM,DATE)) Q:DATE="" D .. I DATE>START Q .. S NODE="" .. F S NODE=$O(^PXRMINDX(45,"ICD9","PNI",DFN,NUM,ITEM,DATE,NODE)) Q:NODE="" D ... I '$D(^TMP("ORWGRPC TEMP",$J,ITEM,DATE)) S ^TMP("ORWGRPC TEMP",$J,ITEM,DATE)=NODE_U_NUM S ITEM="" F S ITEM=$O(^TMP("ORWGRPC TEMP",$J,ITEM)) Q:ITEM="" D . S DATE="" . F S DATE=$O(^TMP("ORWGRPC TEMP",$J,ITEM,DATE)) Q:DATE="" D .. S NODE=$G(^TMP("ORWGRPC TEMP",$J,ITEM,DATE)) I '$L(NODE) Q .. S NUM=$P(NODE,U,2) .. S NODE=$P(NODE,U) .. D PTF^ORWGAPIA(NODE,.VALUE) S VALUE=$$EXT^ORWGAPIX($G(VALUE("DISCHARGE STATUS")),45,6) .. I NUM="DXLS" S VALUE="(DXLS) "_VALUE .. S RESULT=45_"DX"_U_ITEM_U_DATE_U_DATE2_U_" "_VALUE .. D SETUP^ORWGAPIU(.DATA,RESULT,TMP,.CNT) K ^TMP("ORWGRPC TEMP",$J) Q ; INRX(DATA,ITEM,START,DFN,CNT,TMP) ; from ORWGAPIR N DATE,DATE2,NODE,RESULT,VALUE K VALUE S DATE="",CNT=$G(CNT) F S DATE=$O(^PXRMINDX(55,"PI",DFN,ITEM,DATE)) Q:DATE="" D . I DATE>START Q . S DATE2="" . F S DATE2=$O(^PXRMINDX(55,"PI",DFN,ITEM,DATE,DATE2)) Q:DATE2="" D .. S NODE="" .. F S NODE=$O(^PXRMINDX(55,"PI",DFN,ITEM,DATE,DATE2,NODE)) Q:NODE="" D ... D RXIN^ORWGAPIA(NODE,.VALUE) S VALUE=VALUE("STAT") ... S VALUE=VALUE_" "_$$INSIG^ORWGAPIA(NODE) ... S RESULT=55_U_ITEM_U_DATE_U_DATE2_U_VALUE ... D SETUP^ORWGAPIU(.DATA,RESULT,TMP,.CNT) Q ; LAB(DATA,ITEM,START,DFN,CNT,TMP) ; from ORWGAPIR N COMMENT,DATE,DATE2,NODE,RESULT,TYPE,VALUE K VALUE S DATE="",DATE2="",CNT=$G(CNT) D . I $E(ITEM)="A" S TYPE="AP" Q . I $E(ITEM)="M" S TYPE="MI" Q . S TYPE="" Q F S DATE=$O(^PXRMINDX(63,"PI",DFN,ITEM,DATE)) Q:DATE="" D . I DATE>START Q . S NODE="" . F S NODE=$O(^PXRMINDX(63,"PI",DFN,ITEM,DATE,NODE)) Q:NODE="" D .. K VALUE .. D LAB^ORWGAPIA(.VALUE,NODE,ITEM) .. I TYPE="AP" S RESULT="63AP^"_ITEM_U_DATE_U_DATE2 ;_U_$P(VALUE,U,2) .. I TYPE="MI" S RESULT="63MI^"_ITEM_U_DATE_U_DATE2_U_$P(VALUE,U,4) .. I TYPE="" D ... S COMMENT="" ... I $L($G(VALUE("COMMENTS",1))) S COMMENT=1 ... S RESULT="63^"_ITEM_U_DATE_U_DATE2_U_$P(VALUE,U,3)_U_$P(VALUE,U,4)_U_$G(VALUE("SPECIMEN"))_U_COMMENT .. D SETUP^ORWGAPIU(.DATA,RESULT,TMP,.CNT) Q ; MED(DATA,ITEM,START,DFN,CNT,TMP) ; from ORWGAPIR D MED3^ORWGAPID(.DATA,ITEM,START,DFN,.CNT,.TMP) Q ; NOTE(DATA,ITEM,START,DFN,CNT,TMP) ; from ORWGAPIR N DATE,DOC,DOCCLASS,DOCTYPE,DUM,IEN,RESULT,RESULTS,TITLE,VALUE K DUM K ^TMP("ORWGRPC TEMP",$J),^TMP("TIUR",$J) S CNT=$G(CNT),ITEM=$$UP^ORWGAPIX(ITEM) F DOCTYPE="P","D","C" D . S DOCCLASS=$$DOCCLASS^ORWGAPIA(DOCTYPE) . K ^TMP("TIUR",$J) . D TIU^ORWGAPIA(.DUM,DOCCLASS,5,DFN) . S DOC=0 . F S DOC=$O(^TMP("TIUR",$J,DOC)) Q:DOC<1 D .. S RESULTS=^TMP("TIUR",$J,DOC) .. S IEN=+$P(RESULTS,U) .. S TITLE=$$UP^ORWGAPIX($P(RESULTS,U,2)) .. I TITLE'=ITEM Q .. ; do not use admission date S DATE=$P($G(^AUPNVSIT(+$P($G(^TIU(8925,IEN,0)),U,3),0)),U) .. S DATE=$P(RESULTS,U,3) .. I DATE>START Q .. S VALUE=$P(RESULTS,U,7) .. S CNT=CNT+1 .. S RESULT=8925_U_TITLE_U_DATE_"^^"_VALUE .. I $D(^TMP("ORWGRPC TEMP",$J,RESULT)) Q .. S ^TMP("ORWGRPC TEMP",$J,RESULT)="" .. D SETUP^ORWGAPIU(.DATA,RESULT,TMP,.CNT) K ^TMP("ORWGRPC TEMP",$J),^TMP("TIUR",$J) Q ; NVAE(DATA,ITEM,START,DFN,CNT,TMP) ; from ORWGAPIR N DATE,DATE2,NODE,RESULT,VALUE K VALUE S DATE="",CNT=$G(CNT) F S DATE=$O(^PXRMINDX("55NVA","PI",DFN,ITEM,DATE)) Q:DATE="" D . I DATE>START Q . S DATE2="" . F S DATE2=$O(^PXRMINDX("55NVA","PI",DFN,ITEM,DATE,DATE2)) Q:DATE2="" D .. S NODE="" .. F S NODE=$O(^PXRMINDX("55NVA","PI",DFN,ITEM,DATE,DATE2,NODE)) Q:NODE="" D ... D RXNVA^ORWGAPIA(NODE,.VALUE) S VALUE=$G(VALUE("STATUS")) ... S VALUE=VALUE_" "_$$NVASIG^ORWGAPIA(NODE) ... S RESULT="55NVAE"_U_ITEM_U_DATE_"^^"_VALUE ; DATE2 is not used, NVA defined as an event ... ;S RESULT="55NVAE"_U_ITEM_U_DATE_U_$S(DATE2["U":DT,1:DATE2)_U_VALUE ; DATE2 is not used, NVA defined as an event ... D SETUP^ORWGAPIU(.DATA,RESULT,TMP,.CNT) Q ; NVA(DATA,ITEM,START,DFN,CNT,TMP) ; from ORWGAPIR D NVA3^ORWGAPID(.DATA,ITEM,START,DFN,.CNT,.TMP) Q ; ORDER(DATA,ITEM,START,DFN,CNT,TMP) ; from ORWGAPIR N DATE,DATE2,NODE,ORUPCHUK,RESULT,VALUE K ORUPCHUK S DATE="",CNT=$G(CNT) F S DATE=$O(^PXRMINDX(100,"PI",DFN,ITEM,DATE)) Q:DATE="" D . I DATE>START Q . S DATE2="" . F S DATE2=$O(^PXRMINDX(100,"PI",DFN,ITEM,DATE,DATE2)) Q:DATE2="" D .. S NODE="" .. F S NODE=$O(^PXRMINDX(100,"PI",DFN,ITEM,DATE,DATE2,NODE)) Q:NODE="" D ... D EN^ORX8($P(NODE,";")) S VALUE=$P($G(ORUPCHUK("ORSTS")),U,2) ... S RESULT=100_U_ITEM_U_DATE_"^^"_VALUE ... D SETUP^ORWGAPIU(.DATA,RESULT,TMP,.CNT) Q ; OUTRX(DATA,ITEM,START,DFN,CNT,TMP) ; from ORWGAPIR N DATE1,DATE2,LNUM,NODE,RESULT,VALUE K VALUE S DATE1="",DATE2="",CNT=$G(CNT) F S DATE1=$O(^PXRMINDX(52,"PI",DFN,ITEM,DATE1)) Q:DATE1="" D . I DATE1>START Q . S DATE2="" . F S DATE2=$O(^PXRMINDX(52,"PI",DFN,ITEM,DATE1,DATE2)) Q:DATE2="" D .. S NODE="" .. F S NODE=$O(^PXRMINDX(52,"PI",DFN,ITEM,DATE1,DATE2,NODE)) Q:NODE="" D ... D RXOUT^ORWGAPIA(NODE,.VALUE) S VALUE=$$EXTERNAL^ORWGAPIX(52,100,"",VALUE("STATUS")) ... S VALUE=VALUE_" "_$$SIG^ORWGAPIA(DFN,+NODE) ... S RESULT=52_U_ITEM_U_DATE1_U_DATE2_U_VALUE ... D SETUP^ORWGAPIU(.DATA,RESULT,TMP,.CNT) Q ; RAD(DATA,ITEM,START,DFN,CNT,TMP) ; from ORWGAPIR N DATE,DATE2,NODE,RESULT,VALUE K VALUE S DATE="",DATE2="",CNT=$G(CNT) F S DATE=$O(^PXRMINDX(70,"PI",DFN,ITEM,DATE)) Q:DATE="" D . I DATE>START Q . S NODE="" . F S NODE=$O(^PXRMINDX(70,"PI",DFN,ITEM,DATE,NODE)) Q:NODE="" D .. D RAD^ORWGAPIA(NODE,.VALUE) S VALUE=$G(VALUE("PDX"))_"-"_$G(VALUE("EXAM STATUS")) .. S RESULT=70_U_ITEM_U_DATE_U_DATE2_U_VALUE .. D SETUP^ORWGAPIU(.DATA,RESULT,TMP,.CNT) Q ;