| 1 | ORWLRR ;SLC/STAFF- rpc routing for lab results ;10/20/98  14:08
 | 
|---|
| 2 |  ;;3.0;ORDER ENTRY/RESULTS REPORTING;**10**;Dec 17, 1997
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 |  ; this routine simply routes CPRS rpc calls to the appropriate lab routine
 | 
|---|
| 5 |  ;
 | 
|---|
| 6 | ALLTESTS(ORY,FROM,DIR) ; from Remote Procedure file
 | 
|---|
| 7 |  D ALLTESTS^LR7OGO(.ORY,FROM,DIR)
 | 
|---|
| 8 |  Q
 | 
|---|
| 9 |  ;
 | 
|---|
| 10 | ATESTS(ORY,TEST) ; from Remote Procedure file
 | 
|---|
| 11 |  D ATESTS^LR7OGO(.ORY,TEST)
 | 
|---|
| 12 |  Q
 | 
|---|
| 13 |  ;
 | 
|---|
| 14 | ATG(ORY,TESTGP,USER) ; from Remote Procedure file
 | 
|---|
| 15 |  D ATG^LR7OGO(.ORY,TESTGP,USER)
 | 
|---|
| 16 |  Q
 | 
|---|
| 17 |  ;
 | 
|---|
| 18 | ATOMICS(ORY,FROM,DIR) ; from Remote Procedure file
 | 
|---|
| 19 |  D ATOMICS^LR7OGO(.ORY,FROM,DIR)
 | 
|---|
| 20 |  Q
 | 
|---|
| 21 |  ;
 | 
|---|
| 22 | CHART(ORY,DFN,DATE1,DATE2,SPEC,TEST) ; from Remote Procedure file
 | 
|---|
| 23 |  D CHART^LR7OGC(.ORY,DFN,DATE1,DATE2,SPEC,TEST)
 | 
|---|
| 24 |  Q
 | 
|---|
| 25 |  ;
 | 
|---|
| 26 | CHEMTEST(ORY,FROM,DIR) ; from Remote Procedure file
 | 
|---|
| 27 |  D CHEMTEST^LR7OGO(.ORY,FROM,DIR)
 | 
|---|
| 28 |  Q
 | 
|---|
| 29 |  ;
 | 
|---|
| 30 | GRID(ORY,DFN,DATE1,DATE2,SPEC,ORTESTS) ; from Remote Procedure file
 | 
|---|
| 31 |  D GRID^LR7OGG(.ORY,DFN,DATE1,DATE2,SPEC,.ORTESTS)
 | 
|---|
| 32 |  Q
 | 
|---|
| 33 |  ;
 | 
|---|
| 34 | INTERIM(ORY,DFN,DATE1,DATE2) ; Interim Report RPC (All Tests by Date)
 | 
|---|
| 35 |  N ROOT
 | 
|---|
| 36 |  S ROOT=$$SET()
 | 
|---|
| 37 |  I $$REMOTE(.DFN,.ROOT) D INTERIM^LR7OGM(.ORY,DFN,DATE1,DATE2)
 | 
|---|
| 38 |  D CLEAN(.ORY,.ROOT)
 | 
|---|
| 39 |  Q
 | 
|---|
| 40 |  ;
 | 
|---|
| 41 | INTERIMG(ORY,DFN,DATE1,DIR,FORMAT) ; from Remote Procedure file
 | 
|---|
| 42 |  D INTERIMG^LR7OGM(.ORY,DFN,DATE1,DIR,$G(FORMAT,1))
 | 
|---|
| 43 |  Q
 | 
|---|
| 44 |  ;
 | 
|---|
| 45 | INTERIMS(ORY,DFN,DATE1,DATE2,ORTESTS) ; from Remote Procedure file
 | 
|---|
| 46 |  D INTERIMS^LR7OGM(.ORY,DFN,DATE1,DATE2,.ORTESTS)
 | 
|---|
| 47 |  Q
 | 
|---|
| 48 |  ;
 | 
|---|
| 49 | MICRO(ORY,DFN,DATE1,DATE2) ; Micro Report RPC
 | 
|---|
| 50 |  N ROOT
 | 
|---|
| 51 |  S ROOT=$$SET()
 | 
|---|
| 52 |  I $$REMOTE(.DFN,.ROOT) D MICRO^LR7OGM(.ORY,DFN,DATE1,DATE2)
 | 
|---|
| 53 |  D CLEAN(.ORY,.ROOT)
 | 
|---|
| 54 |  Q
 | 
|---|
| 55 |  ;
 | 
|---|
| 56 | NEWOLD(ORY,DFN) ; from Remote Procedure file
 | 
|---|
| 57 |  D NEWOLD^LR7OGMU(.ORY,DFN)
 | 
|---|
| 58 |  Q
 | 
|---|
| 59 |  ;
 | 
|---|
| 60 | PARAM(ORY) ; from Remote Procedure file
 | 
|---|
| 61 |  D PARAM^LR7OGO(.ORY)
 | 
|---|
| 62 |  Q
 | 
|---|
| 63 |  ;
 | 
|---|
| 64 | SPEC(ORY,FROM,DIR) ; from Remote Procedure file
 | 
|---|
| 65 |  D SPEC^LR7OGO(.ORY,FROM,DIR)
 | 
|---|
| 66 |  Q
 | 
|---|
| 67 |  ;
 | 
|---|
| 68 | TG(ORY,USER) ; from Remote Procedure file
 | 
|---|
| 69 |  D TG^LR7OGO(.ORY,USER)
 | 
|---|
| 70 |  Q
 | 
|---|
| 71 |  ;
 | 
|---|
| 72 | USERS(ORY,FROM,DIR) ; from Remote Procedure file
 | 
|---|
| 73 |  D USERS^LR7OGO(.ORY,FROM,DIR)
 | 
|---|
| 74 |  Q
 | 
|---|
| 75 |  ;
 | 
|---|
| 76 | UTGA(ORY,ORTESTS) ; from Remote Procedure file
 | 
|---|
| 77 |  D UTGA^LR7OGO(.ORY,.ORTESTS)
 | 
|---|
| 78 |  Q
 | 
|---|
| 79 |  ;
 | 
|---|
| 80 | UTGD(ORY,TGRP) ; from Remote Procedure file
 | 
|---|
| 81 |  D UTGD^LR7OGO(.ORY,TGRP)
 | 
|---|
| 82 |  Q
 | 
|---|
| 83 |  ;
 | 
|---|
| 84 | UTGR(ORY,ORTESTS,TGRP) ; from Remote Procedure file
 | 
|---|
| 85 |  D UTGR^LR7OGO(.ORY,.ORTESTS,TGRP)
 | 
|---|
| 86 |  Q
 | 
|---|
| 87 |  ;
 | 
|---|
| 88 | INFO(ORY,ORTEST) ; Get Lab test description info
 | 
|---|
| 89 |  I '$L($T(ONE^LR7OR4)) S ORY(1)="Missing lab API (part of patch LR*5.2*256)" Q
 | 
|---|
| 90 |  D ONE^LR7OR4(.ORY,.ORTEST)
 | 
|---|
| 91 |  Q
 | 
|---|
| 92 | REMOTE(DFN,ROOT)  ;Setup for remote data
 | 
|---|
| 93 |  N REMOTE,ORGO
 | 
|---|
| 94 |  S REMOTE=+$P(DFN,";",2),ORGO=1
 | 
|---|
| 95 |  I 'REMOTE S DFN=+DFN Q ORGO ;DFN = DFN;ICN for remote calls
 | 
|---|
| 96 |  I REMOTE D
 | 
|---|
| 97 |  . I '$L($T(GETDFN^MPIF001)) D SETITEM^ORWRP(.ROOT,"MPI routines missing on remote system") S ORGO=0 Q
 | 
|---|
| 98 |  . S ICN=+$P(DFN,";",2),DFN=+$$GETDFN^MPIF001(ICN)
 | 
|---|
| 99 |  . I DFN<0 D SETITEM^ORWRP(.ROOT,"Patient not found on remote system") S ORGO=0 Q
 | 
|---|
| 100 |  . S:'$D(DUZ("AG")) DUZ("AG")="" ;Broker not currently setting agency for remote sites
 | 
|---|
| 101 |  Q ORGO
 | 
|---|
| 102 | SET()     ;Shared setup of ROOT node
 | 
|---|
| 103 |  K ^TMP("ORDATA",$J,"OUTPUT")
 | 
|---|
| 104 |  S ROOT=$NA(^TMP("ORDATA",$J,"OUTPUT"))
 | 
|---|
| 105 |  Q ROOT
 | 
|---|
| 106 | CLEAN(ORY,ROOT)   ;Shared Clean-up
 | 
|---|
| 107 |  I '$O(@ROOT@(0)) S @ROOT@(1)="",@ROOT@(2)="No Data Found"
 | 
|---|
| 108 |  I $S($D(ORY):$S('$O(@ORY@(0)):1,1:0),1:$O(@ROOT@(0))) M @ORY=@ROOT
 | 
|---|
| 109 |  K ^TMP("ORDATA",$J,"OUTPUT")
 | 
|---|
| 110 |  Q
 | 
|---|