| [613] | 1 | MPIFDUPS ;SFCIO/CMC-MPIF RPC APIS ;26 Sept 01 | 
|---|
|  | 2 | ;;1.0; MASTER PATIENT INDEX VISTA ;**20**;30 Apr 99 | 
|---|
|  | 3 | ; | 
|---|
|  | 4 | ;Integration Agreements Utilized: | 
|---|
|  | 5 | ;  ^DPT( - #2070 | 
|---|
|  | 6 | ; | 
|---|
|  | 7 | TOSITE(RETURN,ARRAY) ; | 
|---|
|  | 8 | ; RPC for processing ICNs from MPI's TOSITE global | 
|---|
|  | 9 | I $G(ARRAY)="" S RETURN="-1^NO DATA TO CHECK" Q | 
|---|
|  | 10 | N ENT,ICN,SSN,SITE,NODE,MPIN,DFN | 
|---|
|  | 11 | S RETURN="" | 
|---|
|  | 12 | F ENT=1:1 S NODE=$P(ARRAY,"^",ENT) Q:NODE=""!(+RETURN=-1)  D | 
|---|
|  | 13 | .S SITE=$P(NODE,";") | 
|---|
|  | 14 | .I $P($$SITE^VASITE,"^",3)'=SITE S RETURN="-1^WRONG SITE^"_ARRAY Q | 
|---|
|  | 15 | .S ICN=$P(NODE,";",2),SSN=$P(NODE,";",3) | 
|---|
|  | 16 | .S DFN=+$$GETDFN^MPIF001(ICN) | 
|---|
|  | 17 | .I DFN<0 S RETURN=RETURN_NODE_";1^" Q | 
|---|
|  | 18 | . ; ^ 1=ICN doesn't exist | 
|---|
|  | 19 | .I DFN D | 
|---|
|  | 20 | ..; checking if ICN is on MPI node | 
|---|
|  | 21 | ..S MPIN=$$MPINODE^MPIFAPI(DFN) | 
|---|
|  | 22 | ..I $P(MPIN,"^")'=ICN S RETURN=RETURN_NODE_";4^" Q | 
|---|
|  | 23 | ..; checking if SSN is the same as on MPI  - 4=icn should be inactivated | 
|---|
|  | 24 | ..I $P(^DPT(DFN,0),"^",9)'=SSN S RETURN=RETURN_NODE_";3^" Q | 
|---|
|  | 25 | ..; 3 = SSN conflict | 
|---|
|  | 26 | ..S RETURN=RETURN_NODE_";2^" Q | 
|---|
|  | 27 | ..; 2 = ICN exists | 
|---|
|  | 28 | Q | 
|---|
|  | 29 | ; | 
|---|