Ignore:
Timestamp:
Dec 4, 2009, 12:11:15 AM (14 years ago)
Author:
George Lilly
Message:

revised back to 6/30/08 version

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
     1ORWGAPI ; SLC/STAFF - Graph API ;12/21/05  08:14
     2 ;;3.0;ORDER ENTRY/RESULTS REPORTING;**215**;Dec 17, 1997
     3 ;
     4ALLITEMS(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 ;
     18CLASS(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 ;
     25DATEITEM(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 ;
     41DELVIEWS(DATA,NAME,PUBLIC) ; API - delete a graph view
     42 D DELVIEWS^ORWGAPIP(.DATA,$G(NAME),$G(PUBLIC))
     43 Q
     44 ;
     45DETAIL(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 ;
     50DETAILS(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 ;
     55GETDATES(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 ;
     73GETPREF(DATA) ; API - get graph settings
     74 D GETPREF^ORWGAPIP(.DATA)
     75 Q
     76 ;
     77GETSIZE(DATA) ; API - get graph positions and sizes
     78 D GETSIZE^ORWGAPIP(.DATA)
     79 Q
     80 ;
     81GETVIEWS(DATA,ALL,PUBLIC,EXT) ; API - get graph views
     82 D GETVIEWS^ORWGAPIP(.DATA,$G(ALL),$G(PUBLIC),$G(EXT))
     83 Q
     84 ;
     85ITEMDATA(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 ;
     97ITEMS(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 ;
     106LOOKUP(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 ;
     113PUBLIC(USER) ; API - $$(user) -> 1 if user can edit public settings and views
     114 Q $$PUBLIC^ORWGAPIP(USER)
     115 ;
     116RPTPARAM(IEN) ; API - $$(ien) -> PARAM1^PARAM2 for graph report else ""
     117 Q $$RPTPARAM^ORWGAPIP(IEN)
     118 ;
     119SETPREF(DATA,VAL,PUBLIC) ; API - set a graph setting
     120 D SETPREF^ORWGAPIP(.DATA,$G(VAL),$G(PUBLIC))
     121 Q
     122 ;
     123SETSIZE(DATA,VAL) ; API - set graph positions and settings
     124 D SETSIZE^ORWGAPIP(.DATA,.VAL)
     125 Q
     126 ;
     127SETVIEWS(DATA,NAME,PUBLIC,VAL) ; API - set a graph view
     128 D SETVIEWS^ORWGAPIP(.DATA,$G(NAME),$G(PUBLIC),.VAL)
     129 Q
     130 ;
     131TAX(DATA,ALL,REMTAX) ; API - get reminder taxonomies
     132 D TAX^ORWGAPID(.DATA,+$G(ALL),.REMTAX)
     133 Q
     134 ;
     135TESTSPEC(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 ;
     151TYPES(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.