Difference between revisions of "Allscripts Analytics Searches"

From Galen Healthcare Solutions - Allscripts TouchWorks EHR Wiki
Jump to navigation Jump to search
(Created page with '== Searches == When running any reports - Worksheets, Analysis Crosstabs, etc - you will want to ensure that you're only pulling the data you need. If you're running a report to…')
 
Line 6: Line 6:
  
 
'''Active Patients'''
 
'''Active Patients'''
 +
This will return all patients who are alive, active, and are not test or fake. Keep in mind that there may be other test patient names to add to this list. Also beware of using wildcards as some legitimate patients may have part of a test name in their name. For example, Testor, John would be excluded from a search using (<> test%).
 
* Patient.Demographics.Flags.IsDeceasedFlag = N
 
* Patient.Demographics.Flags.IsDeceasedFlag = N
 
* Patient.Demographics.Flags.IsInactiveFlag = N
 
* Patient.Demographics.Flags.IsInactiveFlag = N
 
* Patient.Demographics.LastName <> Test
 
* Patient.Demographics.LastName <> Test
 +
* Patient.Demographics.LastName <> Allscripts
 
* Patient.Demographics.LastName NOT LIKE ZZ%
 
* Patient.Demographics.LastName NOT LIKE ZZ%
 
** The last name filtering is client-dependent -- whatever they use for test patients, patients that have been "fired", etc.
 
** The last name filtering is client-dependent -- whatever they use for test patients, patients that have been "fired", etc.

Revision as of 02:51, 26 April 2011

Searches

When running any reports - Worksheets, Analysis Crosstabs, etc - you will want to ensure that you're only pulling the data you need. If you're running a report to show all diabetics, you will want to ensure that you are only looking at active problems in the active problem view - if a patient's father had diabetes (problem in the Family History view), that may not be relevant to your search. Below you will find a list of common search criteria.

Patients

There are two common approaches with patients - include patients only if they have had a recent appointment (e.g. last 2 years), or include all patients that have not been deactivated or merged.

Active Patients This will return all patients who are alive, active, and are not test or fake. Keep in mind that there may be other test patient names to add to this list. Also beware of using wildcards as some legitimate patients may have part of a test name in their name. For example, Testor, John would be excluded from a search using (<> test%).

  • Patient.Demographics.Flags.IsDeceasedFlag = N
  • Patient.Demographics.Flags.IsInactiveFlag = N
  • Patient.Demographics.LastName <> Test
  • Patient.Demographics.LastName <> Allscripts
  • Patient.Demographics.LastName NOT LIKE ZZ%
    • The last name filtering is client-dependent -- whatever they use for test patients, patients that have been "fired", etc.


Active Patients - w/recent appointments

  • Stacked:
    • Active Patients (existing - above)
  • Nested:
    • Recent Appointments (new)
      • Patient.Encounters.IsAppointmentEncounterFlag = Y
      • Patient.Encounters.EncounterDTTM > dateadd(yy, -2, getdate()) (This is an expression to indicate that the appointment was within two years of today)
      • Patient.Encounters.AppointmentStatusName = Arrived

Problems

  • Problem.ProblemStatusName = Active
  • Problem.Flags.ProblemIncludeFlags = see below

For Active:

    • ProblemIncludeFlags = 1, or
    • ProblemIncludeFlags = 3, or
    • ProblemIncludeFlags = 5, or
    • ProblemIncludeFlags = 9, or
    • ProblemIncludeFlags = 17

For others, see this legend:

    • 1 = Active
    • 2 = Past Medical History (PMH)
    • 3 = Active and PMH
    • 4 = Past Surgical History (PSH)
    • 5 = Active and PSH
    • 8 = Personal History (PHx)
    • 9 = Active and PHx
    • 10 = PHx and PMH
    • 16 = Family History (FHx)
    • 17 = Active and FHx

Medications

Medication.MedicationStatusName = Active

  • Note: see distinct values to ensure you don't want others - such as Unauthorized or Need Information

Result

Result.ResultStatusName <> Rejected

Task

We filter on Task Status commonly, though with Tasks you are often looking at completed Tasks as well as active ones.

Active Only:

  • Task.Task_Status_DE-EntryName = Active

All tasks:

  • Task.Task_Status_DE-EntryName <> Removed
  • Task.Task_Status_DE-EntryName <> Deleted

Findings

For Clinical Findings (aka Vitals) we typically include all, or use MultiSearch to find the most-recent Vitals.

Patient List

For Patient List entries we usually include all, since there is no concept of status - a patient is either on a list or not.

Order

Order.OrderStatus <> Entered in Error

You may also choose to filter out additional statuses, say if you only cared to see active/outstanding orders.

Health Maintenance Plan

  • Health Maintenance Plan.HMP-Status <> Entered in Error, or
  • Health Maintenance Plan.HMP-Status <> Discontinued

Charge

Charge.BillingStatus <> Removed

mTemplate

For mTempalte (aka Medcin Findings -- and these are finding entered in a Note, or through a flow sheet), we usually include all.

Chart

For any Chart Viewer items (includes everything in ChartViewer except Results), we filter out invalidated notes primarily.

Chart.InvalidatedByName = (blank)

We commonly filter by status as well: Chart.DocStatus

Immunization

For Immunizations we usually include all.

Allergy

Allergy.AllergyStatus = Active

Audit

For Audit we usually include all that meet the other criteria that we have set.

Patient Access Log

For Patient Access Log we usually include all that meet the other criteria we have set.

Medication Action

MedicationAction.MedicationStatusName = Active