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