Allscripts Analytics Searches

From Galen Healthcare Solutions - Allscripts TouchWorks EHR Wiki
Revision as of 15:58, 4 May 2011 by Logan.Cate (talk | contribs)
Jump to navigation Jump to search

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.


THIS PAGE IS STILL BEING UPDATED.

Analytics Terms

Fields will be defined in the way they are found in Analytics. The following field would be found by double clicking the highlighted folders or items in the MetaLayer tree.

  • Patient.Identification.patient-fullname

Patient.identification.patient-fullname.png

In a search, if there is a value defined for a field, it will appear as follows:

  • Problem.problem-problemstatusname = Active

In the Edit search window, the above field would appear as follows:

Problem.problem-problemstatusname search.png

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 is used for test patients, patients that have been "fired", etc.


Active Patients - w/recent appointments

This will return all patients who are alive, active, and are not test or fake and have had and completed an appointment in the past two years.

  • Stacked search:
    • Active Patients (existing - above)
  • Nested search:
    • Recent Appointments (new)
      • Patient.Encounters.IsAppointmentEncounterFlag = Y
      • Patient.Encounters.EncounterDTTM > dateadd(yy, -2, getdate())
      • Patient.Encounters.AppointmentStatusName = Arrived

Problems

This will return problems that are relevant to this patient. Note that as Problem Category is not set to Active, this will return data from other fields as seen below. Family history and past problems may show up unless both Problem Status Name and Problem Category are set to Active.

  • 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

This will return all the active medications for a patient. This will include medications that have been completed unless marked otherwise.

  • Medication.MedicationStatusName = Active
  • Note: Click See Distinct Values to ensure you don't want others - such as Unauthorized or Need Information.

Result

This will return all results that were not rejected.

  • 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. When using MultiSearch, remember to do a quick search on the Finding#; this tells the search what to look for. For example, right click on Finding1-entrycode and select Quick Search; type in BP SYS under the Like field. This will return the Systolic Blood Pressure results that meet the other search criteria.

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

This will return all properly entered orders for the patient.

  • 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

This will return all current charges for the patient.

  • 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

This will return all active allergies for the patient.

  • 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