| 1 | ORWGAPI2 ; SLC/STAFF - Graph API Items ;12/21/05 08:16
|
|---|
| 2 | ;;3.0;ORDER ENTRY/RESULTS REPORTING;**215,243**;Dec 17, 1997;Build 242
|
|---|
| 3 | ;
|
|---|
| 4 | ADVERSE(ITEMS,DFN,FMT,OLDEST,NEWEST,CNT,TMP) ; from ORWGAPIR
|
|---|
| 5 | N DATE,IEN,ITEM,RESULT
|
|---|
| 6 | K ^TMP("ORWGRPC SORT",$J),^TMP("ORWGRPC TEMP",$J)
|
|---|
| 7 | S IEN=0
|
|---|
| 8 | F S IEN=$O(^GMR(120.8,"B",DFN,IEN)) Q:IEN<1 D
|
|---|
| 9 | . I '$D(^GMR(120.8,IEN,0)) Q
|
|---|
| 10 | . I $G(^GMR(120.8,IEN,"ER")) Q
|
|---|
| 11 | . I '$P(^GMR(120.8,IEN,0),U,12) Q
|
|---|
| 12 | . S DATE=+$P($G(^GMR(120.8,IEN,0)),U,4) I 'DATE Q
|
|---|
| 13 | . S ITEM=$P(^GMR(120.8,IEN,0),U,2) I '$L(ITEM) Q
|
|---|
| 14 | . S ^TMP("ORWGRPC SORT",$J,DATE,ITEM)="" ;ADVERSE
|
|---|
| 15 | I FMT=6 D
|
|---|
| 16 | . S DATE=OLDEST
|
|---|
| 17 | . F S DATE=$O(^TMP("ORWGRPC SORT",$J,DATE)) Q:DATE<1 Q:DATE>NEWEST D
|
|---|
| 18 | .. S ITEM=""
|
|---|
| 19 | .. F S ITEM=$O(^TMP("ORWGRPC SORT",$J,DATE,ITEM)) Q:ITEM="" D
|
|---|
| 20 | ... I $D(^TMP("ORWGRPC TEMP",$J,ITEM)) Q
|
|---|
| 21 | ... S ^TMP("ORWGRPC TEMP",$J,ITEM)=""
|
|---|
| 22 | ... S CNT=CNT+1
|
|---|
| 23 | ... S RESULT="120.8^"_ITEM
|
|---|
| 24 | ... D SETUP^ORWGAPIW(.ITEMS,RESULT,TMP,.CNT)
|
|---|
| 25 | I FMT'=6 D
|
|---|
| 26 | . S DATE=0
|
|---|
| 27 | . F S DATE=$O(^TMP("ORWGRPC SORT",$J,DATE)) Q:DATE<1 D
|
|---|
| 28 | .. S ITEM=""
|
|---|
| 29 | .. F S ITEM=$O(^TMP("ORWGRPC SORT",$J,DATE,ITEM)) Q:ITEM="" D
|
|---|
| 30 | ... I $D(^TMP("ORWGRPC TEMP",$J,ITEM)) Q
|
|---|
| 31 | ... S ^TMP("ORWGRPC TEMP",$J,ITEM)=""
|
|---|
| 32 | ... S CNT=CNT+1
|
|---|
| 33 | ... I FMT=3 S RESULT="120.8^"_ITEM_"^^"_ITEM_"^^"_DATE
|
|---|
| 34 | ... I FMT=0 S RESULT="120.8^"_ITEM_U_ITEM
|
|---|
| 35 | ... D SETUP^ORWGAPIW(.ITEMS,RESULT,TMP,.CNT)
|
|---|
| 36 | K ^TMP("ORWGRPC SORT",$J),^TMP("ORWGRPC TEMP",$J)
|
|---|
| 37 | Q
|
|---|
| 38 | ;
|
|---|
| 39 | PL(ITEMS,DFN,FMT,OLDEST,NEWEST,CNT,TMP) ; from ORWGAPIR
|
|---|
| 40 | N DATE,ICD9,OK,PRIORITY,RESULT,STATUS
|
|---|
| 41 | K ^TMP("ORWGRPC TEMP",$J)
|
|---|
| 42 | S STATUS=""
|
|---|
| 43 | F S STATUS=$O(^PXRMINDX(9000011,"PSPI",DFN,STATUS)) Q:STATUS="" D
|
|---|
| 44 | . S PRIORITY=""
|
|---|
| 45 | . F S PRIORITY=$O(^PXRMINDX(9000011,"PSPI",DFN,STATUS,PRIORITY)) Q:PRIORITY="" D
|
|---|
| 46 | .. S ICD9=""
|
|---|
| 47 | .. F S ICD9=$O(^PXRMINDX(9000011,"PSPI",DFN,STATUS,PRIORITY,ICD9)) Q:ICD9="" D
|
|---|
| 48 | ... S OK=0
|
|---|
| 49 | ... I FMT=6 D
|
|---|
| 50 | .... S DATE=OLDEST
|
|---|
| 51 | .... F S DATE=$O(^PXRMINDX(9000011,"PSPI",DFN,STATUS,PRIORITY,ICD9,DATE)) Q:DATE="" Q:DATE>NEWEST D Q:OK
|
|---|
| 52 | ..... S CNT=CNT+1
|
|---|
| 53 | ..... S OK=1
|
|---|
| 54 | ..... S RESULT=9000011_U_ICD9
|
|---|
| 55 | ... I FMT=3 D
|
|---|
| 56 | .... S DATE=$O(^PXRMINDX(9000011,"PSPI",DFN,STATUS,PRIORITY,ICD9,""),-1)
|
|---|
| 57 | .... I DATE S ^TMP("ORWGRPC TEMP",$J,ICD9,DATE)=""
|
|---|
| 58 | ... I FMT=0 D
|
|---|
| 59 | .... S CNT=CNT+1
|
|---|
| 60 | .... S OK=1
|
|---|
| 61 | .... S RESULT=9000011_U_ICD9_U_$$EVALUE^ORWGAPIU(ICD9,9000011,.01)
|
|---|
| 62 | ... I OK D SETUP^ORWGAPIW(.ITEMS,RESULT,TMP,.CNT)
|
|---|
| 63 | I FMT=3 D
|
|---|
| 64 | . S ICD9=""
|
|---|
| 65 | . F S ICD9=$O(^TMP("ORWGRPC TEMP",$J,ICD9)) Q:ICD9="" D
|
|---|
| 66 | .. S DATE=$O(^TMP("ORWGRPC TEMP",$J,ICD9,""),-1)
|
|---|
| 67 | .. I 'DATE Q
|
|---|
| 68 | .. S CNT=CNT+1
|
|---|
| 69 | .. S RESULT=9000011_U_ICD9_"^^"_$$EVALUE^ORWGAPIU(ICD9,9000011,.01)_"^^"_DATE
|
|---|
| 70 | .. D SETUP^ORWGAPIW(.ITEMS,RESULT,TMP,.CNT)
|
|---|
| 71 | K ^TMP("ORWGRPC TEMP",$J)
|
|---|
| 72 | Q
|
|---|
| 73 | ;
|
|---|
| 74 | PLX(ITEMS,DFN,FMT,OLDEST,NEWEST,CNT,TMP) ; from ORWGAPIR
|
|---|
| 75 | D PLX2^ORWGAPID(.ITEMS,DFN,FMT,OLDEST,NEWEST,.CNT,.TMP)
|
|---|
| 76 | Q
|
|---|
| 77 | ;
|
|---|
| 78 | REG(ITEMS,DFN,FILE,FMT,OLDEST,NEWEST,CNT,TMP) ; from ORWGAPIR
|
|---|
| 79 | N DATE,ICD,ITEM,NUM,OK,RESULT
|
|---|
| 80 | K ^TMP("ORWGRPC TEMP",$J)
|
|---|
| 81 | I $E(FILE,3,4)="DX" S ICD="ICD9"
|
|---|
| 82 | I $E(FILE,3,4)="OP" S ICD="ICD0"
|
|---|
| 83 | S NUM=""
|
|---|
| 84 | F S NUM=$O(^PXRMINDX(45,ICD,"PNI",DFN,NUM)) Q:NUM="" D
|
|---|
| 85 | . S ITEM=""
|
|---|
| 86 | . F S ITEM=$O(^PXRMINDX(45,ICD,"PNI",DFN,NUM,ITEM)) Q:ITEM="" D
|
|---|
| 87 | .. S OK=0
|
|---|
| 88 | .. I FMT=6 D
|
|---|
| 89 | ... S DATE=OLDEST
|
|---|
| 90 | ... F S DATE=$O(^PXRMINDX(45,ICD,"PNI",DFN,NUM,ITEM,DATE)) Q:DATE="" Q:DATE>NEWEST D Q:OK
|
|---|
| 91 | .... S CNT=CNT+1
|
|---|
| 92 | .... S OK=1
|
|---|
| 93 | .... S RESULT=FILE_U_ITEM
|
|---|
| 94 | .. I FMT=3 D
|
|---|
| 95 | ... S DATE=$O(^PXRMINDX(45,ICD,"PNI",DFN,NUM,ITEM,""),-1)
|
|---|
| 96 | ... I DATE S ^TMP("ORWGRPC TEMP",$J,ITEM,DATE)=""
|
|---|
| 97 | .. I FMT=0 D
|
|---|
| 98 | ... S CNT=CNT+1
|
|---|
| 99 | ... S OK=1
|
|---|
| 100 | ... S RESULT=FILE_U_ITEM_U_$$EVALUE^ORWGAPIU(ITEM,45_";"_ICD,.01)
|
|---|
| 101 | .. I OK D SETUP^ORWGAPIW(.ITEMS,RESULT,TMP,.CNT)
|
|---|
| 102 | I FMT=3 D
|
|---|
| 103 | . S ITEM=""
|
|---|
| 104 | . F S ITEM=$O(^TMP("ORWGRPC TEMP",$J,ITEM)) Q:ITEM="" D
|
|---|
| 105 | .. S DATE=$O(^TMP("ORWGRPC TEMP",$J,ITEM,""),-1)
|
|---|
| 106 | .. I 'DATE Q
|
|---|
| 107 | .. S CNT=CNT+1
|
|---|
| 108 | .. S RESULT=FILE_U_ITEM_"^^"_$$EVALUE^ORWGAPIU(ITEM,45_";"_ICD,.01)_"^^"_DATE
|
|---|
| 109 | .. D SETUP^ORWGAPIW(.ITEMS,RESULT,TMP,.CNT)
|
|---|
| 110 | K ^TMP("ORWGRPC TEMP",$J)
|
|---|
| 111 | Q
|
|---|
| 112 | ;
|
|---|