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