| [613] | 1 | RGEVPM ;BIR/CML-VIEW POTENTIAL MATCH PATIENT LIST ;07/20/99 | 
|---|
|  | 2 | ;;1.0;CLINICAL INFO RESOURCE NETWORK;**1,3,19**;30 Apr 99 | 
|---|
|  | 3 | S QFLG=1 | 
|---|
|  | 4 | BEGIN ; | 
|---|
|  | 5 | W !!,"This report prints a list of patients who have been identified as having" | 
|---|
|  | 6 | W !,"multiple Potential Matches on the Master Patient Index (MPI) and who haven't" | 
|---|
|  | 7 | W !,"yet been resolved using the option ""Single Patient Initialization to MPI""." | 
|---|
|  | 8 | W !,"Status is current as of the date/time the report is generated." | 
|---|
|  | 9 | W !!,"This data is pulled from the CIRN HL7 EXCEPTION LOG file (#991.1)." | 
|---|
|  | 10 | W !,"Prior to producing the report, duplicate POTENTIAL MATCH patients will be" | 
|---|
|  | 11 | W !,"purged from the file." | 
|---|
|  | 12 | ; | 
|---|
|  | 13 | D EXCTMP | 
|---|
|  | 14 | I XCNT=0 W !!,"There are no patients identified as Potential Matches." G QUIT | 
|---|
|  | 15 | DEV ; | 
|---|
|  | 16 | W !!,"The right margin for this report is 80.",!! | 
|---|
|  | 17 | D EN^XUTMDEVQ("START^RGEVPM","MPI/PD - Potential Match Patient List") I 'POP Q | 
|---|
|  | 18 | W !,"NO DEVICE SELECTED OR REPORT PRINTED!!" | 
|---|
|  | 19 | G QUIT | 
|---|
|  | 20 | START ; | 
|---|
|  | 21 | S HOME=$$SITE^VASITE()   ;institution file ptr^station name^station number | 
|---|
|  | 22 | ; | 
|---|
|  | 23 | LOOP ;Search ^RGHL7(991.1,"ADFN" to see how many patients need to be resolved to MPI | 
|---|
|  | 24 | K ^TMP("RGEVPM",$J) | 
|---|
|  | 25 | ; | 
|---|
|  | 26 | S (RCNT,RGDFN)=0 | 
|---|
|  | 27 | F  S RGDFN=$O(^RGHL7(991.1,"ADFN",218,RGDFN)) Q:'RGDFN  D | 
|---|
|  | 28 | .S ICN=+$$GETICN^MPIF001(RGDFN) | 
|---|
|  | 29 | .I $E(ICN,1,3)=$P(HOME,"^",3)!(ICN<0) D | 
|---|
|  | 30 | ..S RCNT=RCNT+1 | 
|---|
|  | 31 | ..S DFN=RGDFN D DEM^VADPT | 
|---|
|  | 32 | ..S ^TMP("RGEVPM",$J,VADM(1),RGDFN)=$P(VADM(2),"^")_"^"_$P(VADM(3),"^",2) | 
|---|
|  | 33 | ; | 
|---|
|  | 34 | PRT ;Print report | 
|---|
|  | 35 | S (PG,QFLG)=0,$P(LN,"-",81)="",LOCSITE=$P(HOME,"^",2) | 
|---|
|  | 36 | D NOW^%DTC S HDT=$$FMTE^XLFDT($E(%,1,12)) | 
|---|
|  | 37 | D HDR | 
|---|
|  | 38 | I '$D(^TMP("RGEVPM",$J)) W !!,"No patients found who need to be resolved to the MPI." G QUIT | 
|---|
|  | 39 | ; | 
|---|
|  | 40 | ;count the number of patients who need to be resolved | 
|---|
|  | 41 | S PTNM="",CNT=0 | 
|---|
|  | 42 | F  S PTNM=$O(^TMP("RGEVPM",$J,PTNM)) Q:PTNM=""  Q:QFLG  D | 
|---|
|  | 43 | .S RGDFN=0 | 
|---|
|  | 44 | .F  S RGDFN=$O(^TMP("RGEVPM",$J,PTNM,RGDFN)) Q:'RGDFN  S CNT=CNT+1 | 
|---|
|  | 45 | ; | 
|---|
|  | 46 | S PTNM="" | 
|---|
|  | 47 | F  S PTNM=$O(^TMP("RGEVPM",$J,PTNM)) Q:PTNM=""  Q:QFLG  D | 
|---|
|  | 48 | .S RGDFN=0 | 
|---|
|  | 49 | .F  S RGDFN=$O(^TMP("RGEVPM",$J,PTNM,RGDFN)) Q:'RGDFN  Q:QFLG  D | 
|---|
|  | 50 | ..S SSN=$P(^TMP("RGEVPM",$J,PTNM,RGDFN),"^") | 
|---|
|  | 51 | ..S DOB=$P(^TMP("RGEVPM",$J,PTNM,RGDFN),"^",2) | 
|---|
|  | 52 | ..D:$Y+4>IOSL HDR Q:QFLG  W !,PTNM,?36,SSN,?50,DOB,?68,$J(RGDFN,9) | 
|---|
|  | 53 | W !!,"TOTAL: ",CNT | 
|---|
|  | 54 | ; | 
|---|
|  | 55 | QUIT ; | 
|---|
|  | 56 | I $E(IOST,1,2)="C-"&('QFLG) S DIR(0)="E" D  D ^DIR K DIR | 
|---|
|  | 57 | .S SS=22-$Y F JJ=1:1:SS W ! | 
|---|
|  | 58 | K ^TMP("RGEVPM",$J) | 
|---|
|  | 59 | K %,CNT,DA,DFN,DIK,DIR,DOB,DUPCNT,EXCDT,HDT,HOME,ICN,IEN,IEN2,JJ,LCNT,LN,LOCSITE | 
|---|
|  | 60 | K NCNT,NODE,OLDDT,OLDNODE,PG,PTNM,QFLG,RCNT,RDT,RGDFN,SS,SSN,VADM,X,XCNT,Y,ZTSK | 
|---|
|  | 61 | D ^%ZISC S:$D(ZTQUEUED) ZTREQ="@" Q | 
|---|
|  | 62 | ; | 
|---|
|  | 63 | HDR ;HEADER | 
|---|
|  | 64 | I $E(IOST,1,2)="C-" S SS=22-$Y F JJ=1:1:SS W ! | 
|---|
|  | 65 | I $E(IOST,1,2)="C-",PG>0 S DIR(0)="E" W ! D ^DIR K DIR I 'Y S QFLG=1 Q | 
|---|
|  | 66 | S PG=PG+1 W:$Y!($E(IOST,1,2)="C-") @IOF | 
|---|
|  | 67 | W !,"PATIENT LIST of Potential Matches to be Resolved",?72,"Page: ",PG | 
|---|
|  | 68 | W !,"Printed at ",LOCSITE," on ",HDT | 
|---|
|  | 69 | W !!,"Patient Name",?39,"SSN",?52,"DOB",?70,"DFN",!,LN | 
|---|
|  | 70 | Q | 
|---|
|  | 71 | ; | 
|---|
|  | 72 | EXCTMP ;Count number of POTENTIAL MATCH type entries (IEN=218) in CIRN HL7 EXCEPTION LOG | 
|---|
|  | 73 | ;file 991.1, build XTMP global of unique patients and purge dup entries in file. | 
|---|
|  | 74 | W !!,"...one moment please..",! | 
|---|
|  | 75 | K ^TMP("RGEVPM",$J) | 
|---|
|  | 76 | S (RGDFN,CNT,XCNT,DUPCNT)=0 | 
|---|
|  | 77 | F  S RGDFN=$O(^RGHL7(991.1,"ADFN",218,RGDFN)) Q:'RGDFN  D | 
|---|
|  | 78 | .S IEN=0 | 
|---|
|  | 79 | .F  S IEN=$O(^RGHL7(991.1,"ADFN",218,RGDFN,IEN)) Q:'IEN  D | 
|---|
|  | 80 | ..S IEN2=0 | 
|---|
|  | 81 | ..F  S IEN2=$O(^RGHL7(991.1,"ADFN",218,RGDFN,IEN,IEN2)) Q:'IEN2  D | 
|---|
|  | 82 | ...S CNT=CNT+1 | 
|---|
|  | 83 | ...S EXCDT=$P(^RGHL7(991.1,IEN,0),"^",3) | 
|---|
|  | 84 | ...I '$D(^TMP("RGEVPM",$J,RGDFN)) D  Q | 
|---|
|  | 85 | ....S XCNT=XCNT+1 | 
|---|
|  | 86 | ....D SETTMP | 
|---|
|  | 87 | ...I $D(^TMP("RGEVPM",$J,RGDFN))  D | 
|---|
|  | 88 | ....S OLDNODE=^TMP("RGEVPM",$J,RGDFN) | 
|---|
|  | 89 | ....S OLDDT=$P(OLDNODE,"^") | 
|---|
|  | 90 | ....I EXCDT>OLDDT D  Q | 
|---|
|  | 91 | .....S DA(1)=$P(OLDNODE,"^",2),DA=$P(OLDNODE,"^",3) | 
|---|
|  | 92 | .....D DELDUP | 
|---|
|  | 93 | .....D SETTMP | 
|---|
|  | 94 | ....I OLDDT>EXCDT!(OLDDT=EXCDT) D | 
|---|
|  | 95 | .....S DA(1)=IEN,DA=IEN2 | 
|---|
|  | 96 | .....D DELDUP | 
|---|
|  | 97 | W !,DUPCNT," duplicate patient entries for POTENTIAL MATCH exceptions were identified" | 
|---|
|  | 98 | W !,"and deleted from the CIRN HL7 EXCEPTION LOG file (#991.1)." | 
|---|
|  | 99 | Q | 
|---|
|  | 100 | ; | 
|---|
|  | 101 | SETTMP ;set TMP global for patient check | 
|---|
|  | 102 | S ^TMP("RGEVPM",$J,RGDFN)=EXCDT_"^"_IEN_"^"_IEN2 | 
|---|
|  | 103 | Q | 
|---|
|  | 104 | ; | 
|---|
|  | 105 | DELDUP ;delete patient dups from file | 
|---|
|  | 106 | S DUPCNT=DUPCNT+1 | 
|---|
|  | 107 | S DIK="^RGHL7(991.1,"_DA(1)_",1," | 
|---|
|  | 108 | D ^DIK K DIK,DA | 
|---|
|  | 109 | Q | 
|---|
|  | 110 | ; | 
|---|
|  | 111 | CURPM() ;Call to check if there are any patients in the CIRN HL7 EXCEPTION LOG | 
|---|
|  | 112 | ;file (#991.1) with an exception TYPE of "POTENTIAL MATCH" who currently need | 
|---|
|  | 113 | ;to be resolved to the MPI. | 
|---|
|  | 114 | ;returns a value of "1" if any are found, "0" if none are found | 
|---|
|  | 115 | N LOC,RGDFN,GOT,ICN | 
|---|
|  | 116 | S LOC=$P($$SITE^VASITE(),"^",3) | 
|---|
|  | 117 | S (GOT,RGDFN)=0 | 
|---|
|  | 118 | F  S RGDFN=$O(^RGHL7(991.1,"ADFN",218,RGDFN)) Q:'RGDFN  D  Q:GOT | 
|---|
|  | 119 | .S ICN=+$$GETICN^MPIF001(RGDFN) | 
|---|
|  | 120 | .I $E(ICN,1,3)=LOC!(ICN<0) S GOT=1 Q | 
|---|
|  | 121 | I GOT Q 1 | 
|---|
|  | 122 | Q 0 | 
|---|