| 1 | ORWCIRN ; slc/dcm,REV - Functions for GUI CIRN ACTIONS ;22-NOV-1999 07:27:24 | 
|---|
| 2 | ;;3.0;ORDER ENTRY/RESULTS REPORTING;**10,101,109,132,141,160,208,239,215**;October 28, 1997 | 
|---|
| 3 | ; | 
|---|
| 4 | FACLIST(ORY,ORDFN) ; Return list of remote facilities for patient | 
|---|
| 5 | ;Check to see if CIRN PD/MPI installed | 
|---|
| 6 | N X,ORSITES,I,IFN,LOCAL,CTR,HDRFLG | 
|---|
| 7 | S X="MPIF001" X ^%ZOSF("TEST") | 
|---|
| 8 | I '$T S ORY(0)="-1^CIRN MPI not installed." Q | 
|---|
| 9 | S X="VAFCTFU1" X ^%ZOSF("TEST") | 
|---|
| 10 | I '$T S ORY(0)="-1^Remote data view not installed." Q | 
|---|
| 11 | S X=$$GET^XPAR("ALL","ORWRP CIRN REMOTE DATA ALLOW",1,"I") | 
|---|
| 12 | I 'X S ORY(0)="-1^Remote access not allowed" Q | 
|---|
| 13 | D TFL^VAFCTFU1(.ORY,ORDFN) | 
|---|
| 14 | S I=0 F  S I=$O(ORY(I)) Q:'I  I $P(ORY(I),"^",5)="OTHER",'($P(ORY(I),"^")="200HD") K ORY(I) ;Screen out Type 'OTHER' locations | 
|---|
| 15 | S HDRFLG=0 | 
|---|
| 16 | I $$GET^XPAR("ALL","ORWRP CIRN SITES ALL",1,"I") D | 
|---|
| 17 | . S (CTR,I)=0 | 
|---|
| 18 | . F  S I=$O(ORY(I)) Q:'I  S $P(ORY(I),"^",5)=1,CTR=CTR+1 D | 
|---|
| 19 | .. I $P(ORY(I),"^")=200 S $P(ORY(I),"^",2)="DEPT. OF DEFENSE" | 
|---|
| 20 | .. I $P(ORY(I),"^")="200HD" D | 
|---|
| 21 | ... I +$$GET^XPAR("ALL","ORWRP HDR ON",1,"I")=0 K ORY(I) S CTR=CTR-1 Q | 
|---|
| 22 | ... S HDRFLG=I ; Remove commented out code to enable HDR + 1 other site. | 
|---|
| 23 | D GETLST^XPAR(.ORSITES,"ALL","ORWRP CIRN SITES","I") | 
|---|
| 24 | S (CTR,I)=0,LOCAL=$P($$SITE^VASITE,"^",3) | 
|---|
| 25 | F  S I=$O(ORY(I)) Q:'I  D | 
|---|
| 26 | . I +ORY(I)=+LOCAL K ORY(I) Q | 
|---|
| 27 | . S IFN=$$IEN^XUAF4(ORY(I)),CTR=CTR+1 | 
|---|
| 28 | . I IFN,$G(ORSITES(IFN)) S $P(ORY(I),"^",5)=1 I $P(ORY(I),"^")=200 S $P(ORY(I),"^",2)="DEPT. OF DEFENSE" | 
|---|
| 29 | . I IFN,$G(ORSITES(IFN)),$P(ORY(I),"^")="200HD" D | 
|---|
| 30 | .. I +$$GET^XPAR("ALL","ORWRP HDR ON",1,"I")=0 K ORY(I) S CTR=CTR-1 Q | 
|---|
| 31 | .. S HDRFLG=I ; Remove commented out code to enable HDR + 1 other site. | 
|---|
| 32 | I '$L($O(ORY(""))) S ORY(0)="-1^Only local data exists for this patient" | 
|---|
| 33 | I $G(HDRFLG),CTR'>1 K ORY(HDRFLG) S ORY(0)="-1^Only HDR has data for this patient" | 
|---|
| 34 | Q | 
|---|
| 35 | RESTRICT(ORY,PATID) ;Check for sensitive patient | 
|---|
| 36 | N DFN,ICN,SITE | 
|---|
| 37 | I '$G(PATID) S ORY(1)="-1",ORY(2)="Invalid Patient ID" Q | 
|---|
| 38 | S ICN=$P(PATID,";",2) | 
|---|
| 39 | I 'ICN S ORY(1)="-1",ORY(2)="Invalid ICN" Q | 
|---|
| 40 | S SITE=$$SITE^VASITE,SITE=$P(SITE,"^",2)_";"_$P(SITE,"^",3) | 
|---|
| 41 | S DFN=+$$GETDFN^MPIF001(ICN) | 
|---|
| 42 | I DFN<0 S ORY(1)="-1",ORY(2)="Patient not found on remote system ("_SITE_")" Q | 
|---|
| 43 | D PTSEC^DGSEC4(.ORY,DFN) | 
|---|
| 44 | Q | 
|---|
| 45 | CHKLNK(ORY) ;Check for active HL7 TCP link on local system | 
|---|
| 46 | S ORY=$$STAT^HLCSLM | 
|---|
| 47 | Q | 
|---|
| 48 | VISTAWEB(ORY)   ;Check VistaWeb Parameter | 
|---|
| 49 | S ORY=+$$GET^XPAR("ALL","ORWRP VISTAWEB",1,"I") | 
|---|
| 50 | Q | 
|---|
| 51 | WEBCH(ORY,ORVALUE)      ;Change value of ORWRP VISTAWEB parameter | 
|---|
| 52 | D PUT^XPAR(DUZ_";VA(200,","ORWRP VISTAWEB",1,ORVALUE) | 
|---|
| 53 | Q | 
|---|
| 54 | WEBADDR(ORY,PATID)      ;Get VistaWeb Address | 
|---|
| 55 | S ORY=$$GET^XPAR("ALL","ORWRP VISTAWEB ADDRESS",1,"I") | 
|---|
| 56 | I ORY="" S ORY="https://vistaweb.med.va.gov" Q | 
|---|
| 57 | I ORY="https://vistaweb.med.va.gov" Q | 
|---|
| 58 | S ORY=ORY_"?q9gtw0="_$P($$SITE^VASITE,"^",3)_"&xqi4z="_PATID_"&yiicf="_DUZ | 
|---|
| 59 | Q | 
|---|
| 60 | AUTORDV(ORY) ;Get parameter value for ORWRP CIRN AUTOMATIC | 
|---|
| 61 | S ORY=+$$GET^XPAR("ALL","ORWRP CIRN AUTOMATIC",1,"I") | 
|---|
| 62 | Q | 
|---|
| 63 | HDRON(ORY)      ;Get parameter value for ORWRP HDR ON | 
|---|
| 64 | S ORY=+$$GET^XPAR("ALL","ORWRP HDR ON",1,"I") | 
|---|
| 65 | Q | 
|---|