We are using surescripts for our patient portal. Does anyone know of a way to get a list of our patients who have signed up for the portal?
We actually make a entry in the registration notes when they sign up. So we can run a query from that..
I would like to know the answer to this question as well. Also are you satisfied with the GE patient portal? Do you have a vendor that assits you with building templates and forms?
What about running the following script against the Enterprise database on your Patient Portal Application Server? For our company I rule out the system records (donotreply and system); you may have to do the same. And by selecting that they have validated their email gives me the patients who have signed up for our portal.
select kea.EmailAddress, kea.HasValidatedEmail, ku.*
from KUser ku, KEmailAddress kea
where ku.UserID = kea.UserID
and kea.EmailAddress notin('[email protected]','system')
and kea.HasValidatedEmail = 1
Depending on what you're looking for, you can just look at the muactivitylog table and then expand the query from there.
select * from MUActivityLog where MUActivityLogTypeId = '510'
What we've done is joined tables to give more useful data. This is also based on us using the portal sign up method, not the patportalpin for signups. We use the patportalpin obs term for declines only. I'm sure others may have different or better ways of doing it, but this is what we've got. I've removed anything that may not apply.
WITH INITIAL AS (select distinct
a.last
, a.First
, a.PatientId
, a.EMailAddress
, DB_Create_Timestamp
, UserAccessIdentifier
, MUActivityLog.MUActivityLogTypeId
, MUActivityLogType.Description
, MUActivityLog.Recipient
, a.ContactByMId
, a.EthnicityMId
--, DoctorFacility.First as DoctorFirst
--, DoctorFacility.Last as DoctorLast
, DoctorFacility.DotId
,DATEDIFF(YY,Birthdate,GETDATE()) -
CASE
WHEN DATEADD(YY,DATEDIFF(YY,Birthdate,GETDATE()),Birthdate)
> GETDATE() THEN 1
ELSE 0
END AS [AGE]
,DoctorFacility.Last+', '+DoctorFacility.First AS DoctorName
from MUActivityLog
inner join PatientProfile a on MUActivityLog.PID = a.PId
inner join MUActivityLogType on MUActivityLog.MUActivityLogTypeId = MUActivityLogType.MUActivityLogTypeId
inner join DoctorFacility on a.DoctorId = DoctorFacility.DoctorFacilityId
where MUActivityLog.MUActivityLogTypeId = '510'
and a.First not like 'test' and a.last not like 'test'),
START AS (SELECT
PatientId
, SUMMARY
, DB_CREATE_DATE
, LoginUser
, OrgName
from DOCUMENT
inner join PatientProfile a on DOCUMENT.PID = a.PId
inner join DoctorFacility on DOCUMENT.USRID = DoctorFacility.PVId
where SUMMARY like 'pin generator')
SELECT * from INITIAL
left join START on INITIAL.PatientId = START.PatientId
order by INITIAL.Last
You can get a list of patients who have successfully registered from the audit events in the portal admin.
Thank you mscianni. that did the trick!!!
I would like the opposite, a list of active patients who have not registered for the portal
Thanks for the info. Are they a way for the list to show the patient's name?