Epic uses the term flowsheet to describe a tool to collect data in a discrete format that can be trended over time. There are different types of data that flowsheets can store, including string (or free text), numeric, custom list, date, and time, to name a few. The most prominent example of the use of flowsheets in Epic is to document a patient's Vital Signs. Height, Weight, Blood Pressure, Oxygen Saturation, and Pulse are all stored in flowsheet rows (more on that later in the article) and can be reported on and trended once they are documented in Epic. In this article, we describe what flowsheets are and how they are used in Epic.

How are Flowsheets Structured?

At the lowest level, flowsheets are documented in rows. The Epic "masterfile" or "INI" for a flowsheet row is FLO. The aforementioned Vital Signs, such as Height and Weight, are stored in flowsheet row (FLO) records.

Next in the flowsheet hierarchy are flowsheet groups. Flowsheet groups, like rows, are also stored in FLO records. Groups are used to collect related flowsheet rows together under a common header. For example, you may have several different ways to document a pain assessment. You may use the 0-10 scale, the Wong-Baker FACES scale, or a pediatric scale such as the FLACC. Each of these recordings would be stored to a different flowsheet row, and you could group all of these together in a flowsheet group called "Pain Screenings".

At the highest level is the flowsheet template. The Epic masterfile for a flowsheet template is FLT. All of the rows and groups within a specific assessment are collected within a template. For example, the Vital Signs template would include all of the rows that represent individual vital signs, as well as groups of rows that are part of the overall assessment.

What are Cascading Flowsheets?

Some flowsheet rows are only appropriate to show if a question is answered in a certain way. In the previous example of the Pain Screenings group, you may first have a flowsheet row that asks the question "Pain Scale(s) Used". It wouldn't make sense to show the FLACC scale and clutter up the user's view if they didn't use that scale, and so you would only "cascade" in the FLACC flowsheet row(s) if the user first answered "FLACC" for type of scale used. Cascading flowsheets are sort of like an "if-then" logic to tool determine whether or not to show a given row. If flowsheet row "x" has answer "y", then cascade in flowsheet row "z".

Advantages of Flowsheets

Flowsheets are extremely easy for administrators to build, and they require little effort to design them. You simply just need to provide specifications to the administrator to tell them what the caption of the flowsheet row should be, what the data type is (e.g., free text, custom list, numeric, etc.), specific choices if custom list is the data type, whether any of the rows should be collected in groups, and to which users where the flowsheet template should be made available (for example, in the Outpatient setting, Inpatient, ED, etc.).

Flowsheets are also very easy to build SmartLinks out of to pull the data into your note templates. You can easily use a SmartLink such as @FLOW(1234)@, where 1234 is the flowsheet (or FLO) row ID.

Sometimes the tricky thing is figuring out what the ID (FLO ID) is for a given row. We have some tricks on how to find that, and more tips on creating flowsheet-based SmartLinks in the article below:


How to Create a Flowsheet-based SmartLink


Limitations of Flowsheets

In my opinion, the default tool for documenting flowsheets, the Flowsheets activity, is pretty clunky and not particularly user friendly. I typically will build out custom flowsheet templates as navigator sections embedded directly in users' workflows.

Even if you embed flowsheets into a navigator section, some quirks related to cascading present themselves where if you "undo" the answer that led to the cascade, it doesn't "un-cascade" the flowsheet row. For that reason, I recommend creating a Flowsheet-based SmartForm, which allows you much greater control over the look and feel of the user interface. You can set up scripting to show/hide rows based on the answers to certain questions, and embed certain types of decision support. SmartForms, though much more difficult to set up than a "standard" Flowsheet-based navigator section, can be much more user friendly if the administrator takes the time to build them properly.