| 1 | MPIFQ3 ;BIRM/CMC-QUERY LIST MANAGER FUNCTIONS ;APR 28, 2003 | 
|---|
| 2 | ;;1.0; MASTER PATIENT INDEX VISTA ;**28,43**;30 Apr 99 | 
|---|
| 3 | ; | 
|---|
| 4 | MSG(LOCSSN,LOCNAME,MPISSN,MPINAME,MPIDOB,LOCDOB) ; | 
|---|
| 5 | W !!!,"Local SSN = "_LOCSSN,?40,"MPI SSN = "_MPISSN | 
|---|
| 6 | W !,"Local NAME = "_LOCNAME,?40,"MPI NAME = "_MPINAME | 
|---|
| 7 | W !,"Local DATE OF BIRTH = "_LOCDOB,?40,"MPI DATE OF BIRTH = "_MPIDOB | 
|---|
| 8 | Q | 
|---|
| 9 | MSG3 W !!,"Updating ICN and CMOR" | 
|---|
| 10 | Q | 
|---|
| 11 | MSG1 W !!,"You are attempting to assign an ICN that has already been assigned",!,"to another patient in your Patient file." | 
|---|
| 12 | W !,"An exception will be recorded noting that these 2 patients ",!,"need to be reviewed to determine if they are duplicates." | 
|---|
| 13 | Q | 
|---|
| 14 | MSG2 W !!,"You have selected a patient from the list of potential matches",!," where there is a difference found between your data and the MPI." | 
|---|
| 15 | W !," Are you sure this is the correct patient?" | 
|---|
| 16 | Q | 
|---|
| 17 | MSG5 W !!,"No Action Taken" | 
|---|
| 18 | Q | 
|---|
| 19 | MSG4 W !!,"When you reach the MPI QUERY RESULTS screen, the software has" | 
|---|
| 20 | W !,"queried the Master Patient Index, for possible matches to the patient" | 
|---|
| 21 | W !,"you are adding, or have selected (pre-existing record).",!!,"The MPI has returned a list of possible matches for that patient." | 
|---|
| 22 | W !,"An '*' indicates the Integration Control Number of a patient",!,"on the list already matches one in your PATIENT (#2) file." | 
|---|
| 23 | W !,"To select a patient from the list, choose SE." | 
|---|
| 24 | I '$D(MPIFDUP) W !,"If the patients listed as potential matches are not the same patient",!,"select NEW to create a new entry on the MPI for this patient." | 
|---|
| 25 | W !,"To view all data for a patient in the list of possible matches",!,"from the MPI, select MPI." | 
|---|
| 26 | W !,"To view additional data for a patient in the list of possible",!,"matches from the CMOR site, select CMR." | 
|---|
| 27 | I $D(MPIFDUP) D | 
|---|
| 28 | .W !,"If the patients listed as potential matches are not the same as" | 
|---|
| 29 | .W !,"your patient, there is nothing for you to do.  Therefore, you may",!,"wish to mark the exception as processed." | 
|---|
| 30 | Q | 
|---|
| 31 | PROMPT ; | 
|---|
| 32 | W !! | 
|---|
| 33 | S DIR("A")="Hit the Enter key, to Continue ",DIR(0)="EA" | 
|---|
| 34 | D ^DIR K DIR(0),DIR("A") | 
|---|
| 35 | Q | 
|---|
| 36 | PROMPT1() ; | 
|---|
| 37 | N DIR,X,Y | 
|---|
| 38 | W ! | 
|---|
| 39 | S DIR("A")="Are you sure this is the correct patient? Enter YES or NO ",DIR(0)="YA" | 
|---|
| 40 | D ^DIR K DIR(0),DIR("A") | 
|---|
| 41 | Q Y | 
|---|
| 42 | HERESSN(SSN) ; | 
|---|
| 43 | N DFN | 
|---|
| 44 | I $G(SSN)="" Q 0 | 
|---|
| 45 | S DFN=$O(^DPT("SSN",SSN,0)) | 
|---|
| 46 | Q:$G(DFN)']"" 0 | 
|---|
| 47 | Q DFN | 
|---|
| 48 | CHECK(DFN) ; | 
|---|
| 49 | N CHECK | 
|---|
| 50 | D GETDATA^MPIFQ0("^DPT(",DFN,"CHECK",".01;.02;.03;.09;.301;391;1901") | 
|---|
| 51 | I $G(CHECK(2,DFN,.01))']"" Q 0 | 
|---|
| 52 | I $G(CHECK(2,DFN,.02))']"" Q 0 | 
|---|
| 53 | I $G(CHECK(2,DFN,.03))']"" Q 0 | 
|---|
| 54 | I $G(CHECK(2,DFN,.09))']"" Q 0 | 
|---|
| 55 | I $G(CHECK(2,DFN,.301))']"" Q 0 | 
|---|
| 56 | I $G(CHECK(2,DFN,391))']"" Q 0 | 
|---|
| 57 | I $G(CHECK(2,DFN,1901))']"" Q 0 | 
|---|
| 58 | Q 1 | 
|---|
| 59 | TF(DFN,ARR) ;Add you to TF list and trigger TF and Sub msgs | 
|---|
| 60 | I $$PATCH^XPDUTL("DG*5.3*261") D FILE^VAFCTFU(DFN,+$$SITE^VASITE,1) | 
|---|
| 61 | N RESLT | 
|---|
| 62 | S RESLT=$$A24^MPIFA24B(DFN) | 
|---|
| 63 | I +RESLT<0 D EXC^RGHLLOG(208,"Problem building A24 (ADD TF) for DFN= "_DFN,DFN) | 
|---|
| 64 | Q | 
|---|
| 65 | ; | 
|---|
| 66 | A28(DFN) ; | 
|---|
| 67 | S ICN=$$A28^MPIFA28(DFN) | 
|---|
| 68 | I +ICN>0 I '$D(MPIFS) W:'$D(MPIFRPC) !!,"Message sent to MPI requesting Patient to be added." | 
|---|
| 69 | Q | 
|---|
| 70 | LOCAL(DFN) ; | 
|---|
| 71 | Q:+$$GETICN^MPIF001(DFN)>0 | 
|---|
| 72 | N ICN S ICN=$$ICNLC^MPIF001(DFN) ;don't assign local if exists | 
|---|
| 73 | Q | 
|---|
| 74 | HEREICN(ICN) ; | 
|---|
| 75 | Q:$G(ICN)="" 0 | 
|---|
| 76 | N DFN S DFN=$$GETDFN^MPIF001(+ICN) | 
|---|
| 77 | Q:$G(DFN)'>0 0 | 
|---|
| 78 | Q DFN | 
|---|
| 79 | LOC2(DFN) ; | 
|---|
| 80 | W:'$D(MPIFRPC) !!,"Potential Match Found Assigning Local ICN" | 
|---|
| 81 | D START^RGHLLOG(),EXC^RGHLLOG(218,"For Patient DFN="_DFN_" Use Single Patient Initialization to MPI option to manually process",DFN),STOP^RGHLLOG() | 
|---|
| 82 | D LOCAL(DFN) | 
|---|
| 83 | Q | 
|---|
| 84 | D LOCAL(DFN) | 
|---|
| 85 | Q | 
|---|