| 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 | 
|---|