Difference between revisions of "Allscripts Analytics Searches"
Logan.Cate (talk | contribs) |
Logan.Cate (talk | contribs) |
||
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%). | 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 <> Allscripts'' |
− | * Patient.Demographics.LastName NOT LIKE ZZ% | + | * ''Patient.Demographics.LastName NOT LIKE ZZ%'' |
− | ** The last name filtering is client-dependent -- whatever | + | ** The last name filtering is client-dependent -- whatever is used for test patients, patients that have been "fired", etc. |
'''Active Patients - w/recent appointments''' | '''Active Patients - w/recent appointments''' | ||
− | * Stacked: | + | |
− | ** Active Patients (existing - above) | + | 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. |
− | * Nested: | + | * Stacked search: |
+ | ** ''Active Patients'' (existing - above) | ||
+ | * Nested search: | ||
** Recent Appointments (new) | ** Recent Appointments (new) | ||
− | *** Patient.Encounters.IsAppointmentEncounterFlag = Y | + | *** ''Patient.Encounters.IsAppointmentEncounterFlag = Y'' |
− | *** Patient.Encounters.EncounterDTTM > dateadd(yy, -2, getdate()) | + | *** ''Patient.Encounters.EncounterDTTM > dateadd(yy, -2, getdate())'' |
− | *** Patient.Encounters.AppointmentStatusName = Arrived | + | *** ''Patient.Encounters.AppointmentStatusName = Arrived'' |
=== Problems === | === Problems === | ||
− | * Problem.ProblemStatusName = Active | + | |
− | * Problem.Flags.ProblemIncludeFlags = see below | + | 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: | For Active: | ||
− | ** ProblemIncludeFlags = 1, or | + | ** ''ProblemIncludeFlags = 1'', or |
− | ** ProblemIncludeFlags = 3, or | + | ** ''ProblemIncludeFlags = 3'', or |
− | ** ProblemIncludeFlags = 5, or | + | ** ''ProblemIncludeFlags = 5'', or |
− | ** ProblemIncludeFlags = 9, or | + | ** ''ProblemIncludeFlags = 9'', or |
− | ** ProblemIncludeFlags = 17 | + | ** ''ProblemIncludeFlags = 17'' |
For others, see this legend: | For others, see this legend: | ||
Line 48: | Line 53: | ||
=== Medications === | === Medications === | ||
− | Medication.MedicationStatusName = Active | + | |
− | *Note: | + | 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 === | === Result === | ||
− | Result.ResultStatusName <> Rejected | + | |
+ | This will return all results that were not rejected. | ||
+ | ''Result.ResultStatusName <> Rejected'' | ||
=== Task === | === Task === | ||
Line 58: | Line 67: | ||
Active Only: | Active Only: | ||
− | * Task.Task_Status_DE-EntryName = Active | + | * ''Task.Task_Status_DE-EntryName = Active'' |
All tasks: | All tasks: | ||
− | * Task.Task_Status_DE-EntryName <> Removed | + | * ''Task.Task_Status_DE-EntryName <> Removed'' |
− | * Task.Task_Status_DE-EntryName <> Deleted | + | * ''Task.Task_Status_DE-EntryName <> Deleted'' |
=== Findings === | === Findings === | ||
− | For Clinical Findings (aka Vitals) we typically include all, or use MultiSearch to find the most-recent Vitals. | + | 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''. This will return the Systolic Blood Pressure results that meet the other search criteria. |
=== Patient List === | === Patient List === | ||
Line 71: | Line 80: | ||
=== Order === | === Order === | ||
+ | |||
+ | This will return all properly entered orders for the patient. | ||
Order.OrderStatus <> Entered in Error | Order.OrderStatus <> Entered in Error | ||
Line 80: | Line 91: | ||
=== Charge === | === Charge === | ||
− | Charge.BillingStatus <> Removed | + | |
+ | This will return all current charges for the patient. | ||
+ | ''Charge.BillingStatus <> Removed'' | ||
=== mTemplate === | === mTemplate === | ||
Line 88: | Line 101: | ||
For any Chart Viewer items (includes everything in ChartViewer except Results), we filter out invalidated notes primarily. | For any Chart Viewer items (includes everything in ChartViewer except Results), we filter out invalidated notes primarily. | ||
− | Chart.InvalidatedByName = ''(blank)'' | + | ''Chart.InvalidatedByName ='' ''(blank)'' |
We commonly filter by status as well: Chart.DocStatus | We commonly filter by status as well: Chart.DocStatus | ||
Line 97: | Line 110: | ||
=== Allergy === | === Allergy === | ||
− | Allergy.AllergyStatus = Active | + | This will return all active allergies for the patient. |
+ | ''Allergy.AllergyStatus = Active'' | ||
=== Audit === | === Audit === | ||
Line 106: | Line 120: | ||
=== Medication Action === | === Medication Action === | ||
− | MedicationAction.MedicationStatusName = Active | + | ''MedicationAction.MedicationStatusName = Active'' |
Revision as of 03:17, 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 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
- Recent Appointments (new)
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. 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