| 1 | RGEX05 ;BAY/ALS-LISTMANAGER ROUTINE FOR REMOTE PDAT IN EXCEPTION HANDLER ;10/04/01 | 
|---|
| 2 | ;;1.0;CLINICAL INFO RESOURCE NETWORK;**23,20,31**;30 Apr 99 | 
|---|
| 3 | ;Reference to RPCCHK^XWB2HL7 supported by IA #3144 | 
|---|
| 4 | ;Reference to RTNDATA^XWBDRPC supported by IA #3149 | 
|---|
| 5 | EN(ICN) ;main entry point for RG EXCPT REMOTE PDAT | 
|---|
| 6 | D EN^VALM("RG EXCPT RPDAT") | 
|---|
| 7 | Q | 
|---|
| 8 | HDR ;header code | 
|---|
| 9 | S VALMHDR(1)="MPI/PD REMOTE PATIENT DATA" | 
|---|
| 10 | S VALMHDR(2)="" | 
|---|
| 11 | Q | 
|---|
| 12 | INIT ; | 
|---|
| 13 | K ^TMP("RGEXC5",$J) | 
|---|
| 14 | K @VALMAR | 
|---|
| 15 | I '$D(ICN) G EXIT | 
|---|
| 16 | S LIN=1,X=0,STR="",TXT="" | 
|---|
| 17 | S TXT="-> For ICN "_$P(ICN,"V",1) S STR=$$SETSTR^VALM1(TXT,STR,2,78) D ADDTMP | 
|---|
| 18 | S L=0 F  S L=$O(TFARR(L)) Q:'L  D | 
|---|
| 19 | . S SL=$P(TFARR(L),"^",1) | 
|---|
| 20 | . S STATUS=$P(TFL(SL),"^",3) | 
|---|
| 21 | . I STATUS["Handle" S STATUS="Error in Process" | 
|---|
| 22 | . E  I STATUS["New" S STATUS="Request Sent" | 
|---|
| 23 | . E  I STATUS["Running" S STATUS="Awaiting Response" | 
|---|
| 24 | . E  I STATUS["Done" S STATUS="Response Received" | 
|---|
| 25 | . S TXT="  "_$P(TFL(SL),"^")_"  status: ("_STATUS_")" | 
|---|
| 26 | . D ADDTMP | 
|---|
| 27 | . S STR=$$SETSTR^VALM1(TXT,STR,2,78) D ADDTMP D | 
|---|
| 28 | . S LOC=$P(TFL(SL),"^",2) | 
|---|
| 29 | . N STATUS,RETURN,RESULT,RET,RESULT | 
|---|
| 30 | . I '$D(^XTMP("RGPDAT"_ICN,0)) S TXT=" - No patient data query exists for this patient." S STR=$$SETSTR^VALM1(TXT,STR,2,78) D ADDTMP | 
|---|
| 31 | . I $D(^XTMP("RGPDAT"_ICN,LOC,0)) D | 
|---|
| 32 | .. S RETURN(0)=$P(^XTMP("RGPDAT"_ICN,LOC,0),"^") | 
|---|
| 33 | .. D RPCCHK^XWB2HL7(.RESULT,RETURN(0)) I +RESULT(0)=1 D | 
|---|
| 34 | ... D RTNDATA^XWBDRPC(.RET,RETURN(0)) D | 
|---|
| 35 | ... I $G(RET(0))<0 S TXT="No Data Returned Due To: "_$P(RET(0),"^",2,99) S STR=$$SETSTR^VALM1(TXT,STR,2,78) D ADDTMP Q | 
|---|
| 36 | ... I $G(RET)'="",$D(@RET) S GLO=RET F  S GLO=$Q(@GLO) Q:$QS(GLO,1)'=$J  S TXT=@GLO S STR=$$SETSTR^VALM1(TXT,STR,2,78) D ADDTMP | 
|---|
| 37 | ... S R="" F  S R=$O(RET(R)) Q:R=""  S TXT=RET(R) S STR=$$SETSTR^VALM1(TXT,STR,2,78) D ADDTMP ;**31 | 
|---|
| 38 | K ICNARR,R,L,SL,LOC,TFL,GLO | 
|---|
| 39 | S VALMCNT=LIN-1 | 
|---|
| 40 | Q | 
|---|
| 41 | ADDTMP ; | 
|---|
| 42 | S ^TMP("RGEXC5",$J,LIN,0)=STR | 
|---|
| 43 | S ^TMP("RGEXC5",$J,"IDX",LIN,LIN)="" | 
|---|
| 44 | S LIN=LIN+1,STR="" | 
|---|
| 45 | Q | 
|---|
| 46 | HELP ; | 
|---|
| 47 | S X="?" D DISP^XQORM1 W !! | 
|---|
| 48 | Q | 
|---|
| 49 | EXIT ; | 
|---|
| 50 | S VALMBCK="" | 
|---|
| 51 | K ^TMP("RGEXC5",$J),LIN,X,STR,TXT | 
|---|
| 52 | S VALMBCK="R" | 
|---|
| 53 | Q | 
|---|