- Timestamp:
- Dec 4, 2009, 12:11:15 AM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
WorldVistAEHR/trunk/r/ORDER_ENTRY_RESULTS_REPORTING-OR-OCX--ORRC--ORRJ/ORWGAPI.m
r613 r623 1 ORWGAPI ; SLC/STAFF - Graph API ;12/21/05 08:14 2 ;;3.0;ORDER ENTRY/RESULTS REPORTING;**215,243**;Dec 17, 1997;Build 242 3 ; 4 ALLITEMS(ITEMS,DFN) ; API - return all items of data on patient (procedures, tests, codes,..) 5 N CNT,SUB,TMP,TYPE 6 K ^TMP("ORWGAPI",$J) 7 S DFN=+$G(DFN) I 'DFN Q 8 D TYPES("ORWGAPI",DFN) 9 D RETURN^ORWGAPIW(.TMP,.ITEMS) 10 S CNT=0 11 S SUB="" 12 F S SUB=$O(^TMP("ORWGAPI",$J,SUB)) Q:SUB="" D 13 . S TYPE=$P(^TMP("ORWGAPI",$J,SUB),U) 14 . D ITEMS^ORWGAPIR(.ITEMS,DFN,TYPE,0,,,.CNT,TMP) 15 D SETLAST^ORWGTASK(DFN) 16 K ^TMP("ORWGAPI",$J) 17 Q 18 ; 19 ALLVIEWS(DATA,VIEW,USER) ; API - get all graph views 20 D ALLVIEWS^ORWGAPIP(.DATA,+$G(VIEW),+$G(USER)) 21 Q 22 ; 23 CLASS(DATA,TYPE) ; API - get classification 24 I TYPE=50.605 D DRUGC^ORWGAPIC(.DATA) 25 I TYPE=68 D ACC^ORWGAPIC(.DATA) 26 I TYPE=8925.1 D TIUTITLE^ORWGAPIA(.DATA) 27 I TYPE=100.98 D OITEM^ORWGAPIA(.DATA) 28 Q 29 ; 30 DATEDATA(DATA,OLDEST,NEWEST,TYPEITEM,DFN) ; API - return all data for an item on patient for date range 31 N CNT,ITEM,SUB,TMP,TYPE 32 S DFN=+$G(DFN) I 'DFN Q 33 S OLDEST=+$G(OLDEST) 34 S NEWEST=+$G(NEWEST,$$NOW^ORWGAPIX) 35 S TYPEITEM=$G(TYPEITEM) I TYPEITEM'[U Q 36 I 'OLDEST D ITEMDATA(.DATA,TYPEITEM,NEWEST,DFN,OLDEST) Q 37 I OLDEST<NEWEST Q 38 S TYPEITEM=$$UP^ORWGAPIX(TYPEITEM) 39 D RETURN^ORWGAPIW(.TMP,.DATA) 40 S TYPE=$P(TYPEITEM,U) 41 S ITEM=$P(TYPEITEM,U,2) 42 S CNT=0 43 D DATA^ORWGAPIR(.DATA,ITEM,TYPE,NEWEST,DFN,.CNT,TMP,OLDEST) 44 Q 45 ; 46 DATEITEM(ITEMS,OLDEST,NEWEST,TYPE,DFN) ; API - return all file items on patient for date range 47 N CNT,SUB,TMP 48 K ^TMP("ORWGAPI",$J) 49 S DFN=+$G(DFN) I 'DFN Q 50 S OLDEST=+$G(OLDEST),NEWEST=+$G(NEWEST),TYPE=$G(TYPE) 51 I $L(TYPE) S ^TMP("ORWGAPI",$J,1)=TYPE 52 I '$L(TYPE) D TYPES("ORWGAPI",DFN) 53 D RETURN^ORWGAPIW(.TMP,.ITEMS) 54 S CNT=0 55 S SUB="" 56 F S SUB=$O(^TMP("ORWGAPI",$J,SUB)) Q:SUB="" D 57 . S TYPE=$P(^TMP("ORWGAPI",$J,SUB),U) 58 . D ITEMS^ORWGAPIR(.ITEMS,DFN,TYPE,6,OLDEST,NEWEST,.CNT,TMP) 59 K ^TMP("ORWGAPI",$J) 60 Q 61 ; 62 DELVIEWS(DATA,NAME,PUBLIC) ; API - delete a graph view 63 D DELVIEWS^ORWGAPIP(.DATA,$G(NAME),$G(PUBLIC)) 64 Q 65 ; 66 DETAIL(DATA,DFN,DATE1,DATE2,VAL,COMP) ; API - get all reports for types of data from items and date range 67 D DETAIL^ORWGAPID("ORWGRPC",DFN,DATE1,DATE2,.VAL) 68 S DATA=$NA(^TMP("ORWGRPC",$J)) 69 Q 70 ; 71 DETAILS(DATA,DFN,DATE1,DATE2,TYPE,COMP) ; API - get report for type of data for a date or date range 72 D DETAILS^ORWGAPID("ORWGRPC",DFN,DATE1,DATE2,TYPE) 73 S DATA=$NA(^TMP("ORWGRPC",$J)) 74 Q 75 ; 76 FASTDATA(DATA,DFN) ; API - get all data (non-lab) on patient 77 D FASTDATA^ORWGAPIF(.DATA,DFN) 78 Q 79 ; 80 FASTITEM(ITEMS,DFN) ; API - get all items on patient 81 D FASTITEM^ORWGAPIF(.ITEMS,DFN) 82 D SETLAST^ORWGTASK(DFN) 83 Q 84 ; 85 FASTLABS(DATA,DFN) ; API - get all lab data on patient 86 D FASTLABS^ORWGAPIF(.DATA,DFN) 87 Q 88 ; 89 FASTTASK(STATUS,DFN,OLDDFN) ; API - process cache of all data and items on patient, -1 if turned off 90 ; this should be able to be turned off if needbe (D CLEAN^ORWGTASK) 91 D UPDATE^ORWGTASK(.STATUS,DFN,DUZ,+$G(OLDDFN)) 92 Q 93 ; 94 GETDATES(DATA,REPORTID) ; API - get graph date ranges 95 D GETDATES^ORWGAPID(.DATA,$G(REPORTID)) 96 Q 97 ; 98 GETPREF(DATA) ; API - get graph settings 99 D GETPREF^ORWGAPIP(.DATA) 100 Q 101 ; 102 GETSIZE(DATA) ; API - get graph positions and sizes 103 D GETSIZE^ORWGAPIP(.DATA) 104 Q 105 ; 106 GETVIEWS(DATA,ALL,PUBLIC,EXT,USER) ; API - get graph views 107 D GETVIEWS^ORWGAPIP(.DATA,$G(ALL),$G(PUBLIC),$G(EXT),+$G(USER)) 108 Q 109 ; 110 ITEMDATA(DATA,TYPEITEM,START,DFN,BACKTO) ; API - return data of an item on patient (glucose results) 111 N CNT,ITEM,TMP,TYPE 112 S DFN=+$G(DFN) I 'DFN Q 113 S TYPEITEM=$G(TYPEITEM) I TYPEITEM'[U Q 114 S TYPEITEM=$$UP^ORWGAPIX(TYPEITEM) 115 S START=$G(START,$$NOW^ORWGAPIX) 116 D RETURN^ORWGAPIW(.TMP,.DATA) 117 S TYPE=$P(TYPEITEM,U) 118 S ITEM=$P(TYPEITEM,U,2) 119 S CNT=0 120 D DATA^ORWGAPIR(.DATA,ITEM,TYPE,START,DFN,.CNT,TMP,$G(BACKTO)) 121 Q 122 ; 123 ITEMS(ITEMS,DFN,TYPE) ; API - return items of a type of data on patient (lab tests) 124 N CNT,TMP 125 S DFN=+$G(DFN) I 'DFN Q 126 S TYPE=$G(TYPE) I '$L(TYPE) Q 127 D RETURN^ORWGAPIW(.TMP,.ITEMS) 128 S CNT=0 129 D ITEMS^ORWGAPIR(.ITEMS,DFN,TYPE,3,,,.CNT,TMP) 130 I TYPE=63 D SETLAST^ORWGTASK(DFN) 131 Q 132 ; 133 LOOKUP(VAL,FILE,FROM,DIR) ; API - get item names for long lookup 134 N REF,SCREEN,XREF 135 D FILE^ORWGAPIU($G(FILE),.REF,.XREF,.SCREEN) 136 I '$L(REF) Q 137 D GENERIC^ORWGAPIW(.VAL,.FROM,DIR,FILE,REF,XREF,SCREEN) 138 Q 139 ; 140 PUBLIC(USER) ; API - $$(user) -> 1 if user can edit public settings and views 141 Q $$PUBLIC^ORWGAPIP(USER) 142 ; 143 RPTPARAM(IEN) ; API - $$(ien) -> PARAM1^PARAM2 for graph report else "" 144 Q $$RPTPARAM^ORWGAPIP(IEN) 145 ; 146 SETPREF(DATA,VAL,PUBLIC) ; API - set a graph setting 147 D SETPREF^ORWGAPIP(.DATA,$G(VAL),$G(PUBLIC)) 148 Q 149 ; 150 SETSIZE(DATA,VAL) ; API - set graph positions and settings 151 D SETSIZE^ORWGAPIP(.DATA,.VAL) 152 Q 153 ; 154 SETVIEWS(DATA,NAME,PUBLIC,VAL) ; API - set a graph view 155 D SETVIEWS^ORWGAPIP(.DATA,$G(NAME),$G(PUBLIC),.VAL) 156 Q 157 ; 158 TAX(DATA,ALL,REMTAX) ; API - get reminder taxonomies 159 D TAX^ORWGAPID(.DATA,+$G(ALL),.REMTAX) 160 Q 161 ; 162 TESTING(DATA) ; API - return test data 163 D TESTING^ORWGTEST(.DATA) 164 Q 165 ; 166 TESTSPEC(DATA) ; API - return test/spec info on all lab tests 167 D TESTSPEC^ORWGAPIC(.DATA) 168 Q 169 ; 170 TYPES(TYPES,DFN,SUB) ; API - return all types of data on patient (if no dfn, return all) 171 N TMP 172 S DFN=+$G(DFN) 173 S SUB=+$G(SUB) 174 D RETURN^ORWGAPIW(.TMP,.TYPES) 175 D TYPES^ORWGAPIT(.TYPES,DFN,SUB,TMP) 176 Q 1 ORWGAPI ; SLC/STAFF - Graph API ;12/21/05 08:14 2 ;;3.0;ORDER ENTRY/RESULTS REPORTING;**215**;Dec 17, 1997 3 ; 4 ALLITEMS(ITEMS,DFN) ; API - return all items of data on patient (procedures, tests, codes,..) 5 N CNT,SUB,TMP,TYPE 6 K ^TMP("ORWGAPI",$J) 7 S DFN=+$G(DFN) I 'DFN Q 8 D TYPES("ORWGAPI",DFN) 9 D RETURN^ORWGAPIU(.TMP,.ITEMS) 10 S CNT=0 11 S SUB="" 12 F S SUB=$O(^TMP("ORWGAPI",$J,SUB)) Q:SUB="" D 13 . S TYPE=$P(^TMP("ORWGAPI",$J,SUB),U) 14 . D ITEMS^ORWGAPIR(.ITEMS,DFN,TYPE,0,,,.CNT,TMP) 15 K ^TMP("ORWGAPI",$J) 16 Q 17 ; 18 CLASS(DATA,TYPE) ; API - get classification 19 I TYPE=50.605 D DRUGC^ORWGAPIA(.DATA) 20 I TYPE=68 D ACC^ORWGAPIA(.DATA) 21 I TYPE=8925.1 D TIUTITLE^ORWGAPIA(.DATA) 22 I TYPE=100.98 D OITEM^ORWGAPIA(.DATA) 23 Q 24 ; 25 DATEITEM(ITEMS,OLDEST,NEWEST,TYPE,DFN) ; API - return all file items on patient for date range 26 N CNT,SUB,TMP 27 K ^TMP("ORWGAPI",$J) 28 S DFN=+$G(DFN) I 'DFN Q 29 S OLDEST=+$G(OLDEST),NEWEST=+$G(NEWEST),TYPE=$G(TYPE) 30 I $L(TYPE) S ^TMP("ORWGAPI",$J,1)=TYPE 31 I '$L(TYPE) D TYPES("ORWGAPI",DFN) 32 D RETURN^ORWGAPIU(.TMP,.ITEMS) 33 S CNT=0 34 S SUB="" 35 F S SUB=$O(^TMP("ORWGAPI",$J,SUB)) Q:SUB="" D 36 . S TYPE=$P(^TMP("ORWGAPI",$J,SUB),U) 37 . D ITEMS^ORWGAPIR(.ITEMS,DFN,TYPE,6,OLDEST,NEWEST,.CNT,TMP) 38 K ^TMP("ORWGAPI",$J) 39 Q 40 ; 41 DELVIEWS(DATA,NAME,PUBLIC) ; API - delete a graph view 42 D DELVIEWS^ORWGAPIP(.DATA,$G(NAME),$G(PUBLIC)) 43 Q 44 ; 45 DETAIL(DATA,DFN,DATE1,DATE2,VAL,COMP) ; API - get all reports for types of data from items and date range 46 D DETAIL^ORWGAPID("ORWGRPC",DFN,DATE1,DATE2,.VAL) 47 S DATA=$NA(^TMP("ORWGRPC",$J)) 48 Q 49 ; 50 DETAILS(DATA,DFN,DATE1,DATE2,TYPE,COMP) ; API - get report for type of data for a date or date range 51 D DETAILS^ORWGAPID("ORWGRPC",DFN,DATE1,DATE2,TYPE) 52 S DATA=$NA(^TMP("ORWGRPC",$J)) 53 Q 54 ; 55 GETDATES(DATA,REPORTID) ; API - get graph date ranges 56 N DAT,TMP K DAT 57 S REPORTID=$G(REPORTID) 58 D RETURN^ORWGAPIU(.TMP,.DATA) 59 S DAT(1)="S^Date Range..." 60 S DAT(2)="1^Today" 61 S DAT(3)="2^One Week" 62 S DAT(4)="3^Two Weeks" 63 S DAT(5)="4^One Month" 64 S DAT(6)="5^Six Months" 65 S DAT(7)="6^One Year" 66 S DAT(8)="7^Two Years" 67 S DAT(9)="8^All Results" 68 D DATES^ORWGAPIP(.DAT,REPORTID) 69 I TMP M ^TMP(DATA,$J)=DAT 70 I 'TMP M DATA=DAT 71 Q 72 ; 73 GETPREF(DATA) ; API - get graph settings 74 D GETPREF^ORWGAPIP(.DATA) 75 Q 76 ; 77 GETSIZE(DATA) ; API - get graph positions and sizes 78 D GETSIZE^ORWGAPIP(.DATA) 79 Q 80 ; 81 GETVIEWS(DATA,ALL,PUBLIC,EXT) ; API - get graph views 82 D GETVIEWS^ORWGAPIP(.DATA,$G(ALL),$G(PUBLIC),$G(EXT)) 83 Q 84 ; 85 ITEMDATA(DATA,ITEM,START,DFN) ; API - return data of an item on patient (glucose results) 86 N CNT,FILE,TMP 87 S DFN=+$G(DFN) I 'DFN Q 88 S ITEM=$G(ITEM) I ITEM'[U Q 89 S START=$G(START,$$NOW^ORWGAPIX) 90 D RETURN^ORWGAPIU(.TMP,.DATA) 91 S FILE=$P(ITEM,U) 92 S ITEM=$P(ITEM,U,2) 93 S CNT=0 94 D DATA^ORWGAPIR(.DATA,ITEM,FILE,START,DFN,.CNT,TMP) 95 Q 96 ; 97 ITEMS(ITEMS,DFN,TYPE) ; API - return items of a type of data on patient (lab tests) 98 N CNT,TMP 99 S DFN=+$G(DFN) I 'DFN Q 100 S TYPE=$G(TYPE) I '$L(TYPE) Q 101 D RETURN^ORWGAPIU(.TMP,.ITEMS) 102 S CNT=0 103 D ITEMS^ORWGAPIR(.ITEMS,DFN,TYPE,3,,,.CNT,TMP) 104 Q 105 ; 106 LOOKUP(VAL,FILE,FROM,DIR) ; API - get item names for long lookup 107 N REF,SCREEN,XREF 108 D FILE^ORWGAPIU($G(FILE),.REF,.XREF,.SCREEN) 109 I '$L(REF) Q 110 D GENERIC^ORWGAPIU(.VAL,.FROM,DIR,FILE,REF,XREF,SCREEN) 111 Q 112 ; 113 PUBLIC(USER) ; API - $$(user) -> 1 if user can edit public settings and views 114 Q $$PUBLIC^ORWGAPIP(USER) 115 ; 116 RPTPARAM(IEN) ; API - $$(ien) -> PARAM1^PARAM2 for graph report else "" 117 Q $$RPTPARAM^ORWGAPIP(IEN) 118 ; 119 SETPREF(DATA,VAL,PUBLIC) ; API - set a graph setting 120 D SETPREF^ORWGAPIP(.DATA,$G(VAL),$G(PUBLIC)) 121 Q 122 ; 123 SETSIZE(DATA,VAL) ; API - set graph positions and settings 124 D SETSIZE^ORWGAPIP(.DATA,.VAL) 125 Q 126 ; 127 SETVIEWS(DATA,NAME,PUBLIC,VAL) ; API - set a graph view 128 D SETVIEWS^ORWGAPIP(.DATA,$G(NAME),$G(PUBLIC),.VAL) 129 Q 130 ; 131 TAX(DATA,ALL,REMTAX) ; API - get reminder taxonomies 132 D TAX^ORWGAPID(.DATA,+$G(ALL),.REMTAX) 133 Q 134 ; 135 TESTSPEC(DATA) ; API - return test/spec info on all lab tests 136 N CNT,LINE,TEST,TMP,SPEC 137 D RETURN^ORWGAPIU(.TMP,.DATA) 138 S CNT=0 139 S TEST=0 140 F S TEST=$O(^LAB(60,TEST)) Q:TEST<1 D 141 . S SPEC=0 142 . F S SPEC=$O(^LAB(60,TEST,1,SPEC)) Q:SPEC<1 D 143 .. S CNT=CNT+1 144 .. S LINE=TEST_U_$G(^LAB(60,TEST,1,SPEC,0)) 145 .. I $P(LINE,U,3)[$C(34) S $P(LINE,U,3)=$$TRIM^ORWGAPIX($P(LINE,U,3),"LR",$C(34)) 146 .. I $P(LINE,U,4)[$C(34) S $P(LINE,U,4)=$$TRIM^ORWGAPIX($P(LINE,U,4),"LR",$C(34)) 147 .. I TMP S ^TMP(DATA,$J,CNT)=LINE Q 148 .. S DATA(CNT)=LINE 149 Q 150 ; 151 TYPES(TYPES,DFN,SUB) ; API - return all types of data on patient (if no dfn, return all) 152 N TMP 153 S DFN=+$G(DFN) 154 S SUB=+$G(SUB) 155 D RETURN^ORWGAPIU(.TMP,.TYPES) 156 D TYPES^ORWGAPIT(.TYPES,DFN,SUB,TMP) 157 Q
Note:
See TracChangeset
for help on using the changeset viewer.