7/18/2016
1
UseCases:
WhatAreThey?
HowtoDevelopThem
AndMethodstoTestThem
PatriciaSengstack,DNP,RNBC,CPHIMS
ChiefNursingInformaticsOfficer
BonSecoursHealthSystem,Inc.
patricia_sengst[email protected]
SethCarlson,MS,CPHIMS
ClinicalArchitect
NationalInstitutesofHealth
Objectives
Define and describe a Use Case in the healthcare
information technology field
State the importance of a collaborative approach
in the development of Use Cases
Define the various types of testing and discuss
their importance (unit, functional, integration,
regression, performance, user acceptance)
“Use Case” Defined
Behaviorally related sequence of steps (a
scenario), both automated and manual for the
purpose of completing a single business task.
Use Cases describe the system functions from
the perspective of end users
Technique to better understand and document a
system’s requirements
Source: Whitten, Bentley & Dittman (2000). Systems Analysis and Design Methods (5
th
ed.). McGraw-Hill
Irwin. Boston.
System (Functional) Requirements
A functional requirement is a function or feature
that must be included in an information system
to satisfy the business need and be acceptable to
the end users
Can be put into 3 categories:
Must have
Would like to have
Bells and whistles
7/18/2016
2
Example Requirements - An Infection
Control System shall:
Identify culture results indicating that a particular
antibiotic would be resistant in a patient in real
time.
Include patient unit, room number, name, account
number and organism.
Identify drug-bug mismatches and opportunities to
streamline or discontinue antimicrobial therapy
Automate creation of National Healthcare Safety
Network reports that are formatted for export to
Microsoft Excel and/or upload to NHSN
Examples in Healthcare
More Examples: ONC’s Interoperability Task Force 6/23 -
five broadly applicable use cases for health IT
1.Transitions of Care: Automated query from ER physician in one state to the
patient’s PCP EHR record where the patient is regularly seen and have it
imported directly to the ER physician’s EHR.
2.Shared Care Plans: All health professionals sharing care for a cancer patient
have access to care plan developed by the oncologist.
3.Patient-Initiated Data: A diabetic patient’s caregiver gathers notes and lab
results from her PCP and Endocrinologist and submits the patient’s glucometer
readings to both doctors.
4.Clinical Information Transparency for Patients/PCP: Hospital
discharge of high-risk patient to post-acute care with appropriate involvement
of PCP. The patient is able to access and review their health information, view
costs for medications and pharmacies; in addition to payer coverage.
5.Quality Improvement: Allow persons in quality management and health
care organizations (such as ACOs) the ability to interchange and review clinical
quality data for a patient or a population.
7
Benefits of Use Cases
Provides the perspective of the desired system
functionality from the end user’s viewpoint
Ensures end user involvement
Creates an effective tool for validating
requirements
Supplies an effective communication tool for all
parties involved in analysis, development and
testing
7/18/2016
3
Actors and Their Roles for $400
Terminology for Use Cases can be confusing.
Actors – anything that needs to interact with the
system to exchange information during the course of
the scenario
An actor initiates the Use Case for the purpose of
completing a task
An “actor” represents a role fulfilled by an end user
interacting with the system – not an individual
person
In Use Cases we create, who is our primary actor?
The Nurse!
Time as an Actor
Remember - An actor initiates the Use Case for the
purpose of completing a task
Time can be a trigger to initiate a task
Examples:
A billing system for a credit card company may
automatically generate bills at midnight on the 5
th
day
of the month
A lab system may automatically generate a list of
morning labs for the phlebotomist daily at 5am
“Temporal Event” – is a system event that is
triggered by time. An actor of a temporal event is
time.
Naming Use Cases
Use Cases are typically named using the name of
the event or input preceded by an action verb
Examples
Submit blood transfusion order
Administer blood transfusion using bar code
scanner
Generate list of morning labs to be drawn by
phlebotomist
7/18/2016
4
Documenting the Use Case
Step by step description starting with the actor
initiating the use case and going through to the end
of the event
Include:
Use Case name
Actors
Any references (requirements)
Course of events – each step spelled out individually
Alternate course of events – if applicable
Pre-condition
Post condition
Use Case Example
Use Case name: Administer blood transfusion using bar code
scanner
Actor: Nurse
Any references (requirements): See requirements
document
Course of events – each step spelled out individually:
Alternate course of events (if applicable): May include
steps if barcode technology not working or steps if
patient experiences reaction
Pre-condition: Patient’s condition warrants
administration of PRBCs
Post condition: Blood administered, patient stable, H &
H drawn for follow-up
Step by step course of events
Actor – triggers initiation of use case: Nurse
sends message to blood bank to deliver PRBCs
back to nursing unit
Blood bank receives message, delivers blood to
nursing unit
Nurse takes blood to patient’s bedside with
another RN
Nurse scans patient armband, nurses badge and
unit of PRBC, etc…..
Use Case Documentation
7/18/2016
5
Use Case Documentation (cont’d)
Source: Whitten, Bentley & Dittman (2000). Systems Analysis and Design Methods (5
th
ed.). McGraw-Hill Irwin. Boston.
Use Case Diagram
Use Case Templates
(available on the web)
TechnoSolutions:
http://www.technosolutions.com/use_case_template.html
TechWhirl: http://techwhirl.com/use-case-template/
Bridging the Gap: http://www.bridging-the-
gap.com/what-is-a-use-case/
Product Management Insights:
http://pmblog.accompa.com/2009/10/08/use-case-
template-example-requirements-management-basics/
Testing
A Use Case is a great collaborative tool for
developers and end users to work through a
system design and build
Testing throughout the design and build is as
important (if not more) as developing a strong
use case
Terminology around testing can also be complex
7/18/2016
6
Phases of Testing
Unit Testing
Functional Testing
Integration Testing
Regression Testing
Performance Testing
User Acceptance Testing
Production Validation Testing
Use Case Scenario – Specimen
Collection Verification Testing
Specimen collection verification using bar code
technology
Source: Carlson, S. (2015). Testing in the Healthcare Informatics Environment. In Sengstack & Boicey Mastering Informatics: A Healthcare
Handbook for Success. STTI. Indianapolis, IN
Unit Testing
Initial testing of an individual software
component
Performed while a component is being
developed and before it is turned over to the test
team
Typically performed by the developer who
creates the component
Includes testing of different low-level logical
pathways within component
Unit Testing - Example
Unit test of status update to EHR
Create positive test case that unit xyz has been
transfused to patient. Validate in EHR that
patient shows they have received unit XYZ
Create negative test case that unit xyz was not
successfully transfused. Validate in EHR that
patient did not receive unit XYZ
7/18/2016
7
Function Testing
Testing of system by the test team to ensure that
system meets the functional requirements
Functional requirements and use cases need to
be defined and documented
Test scripts written to evaluate if the system
meets the functional requirements
Each requirement is mapped to a test script
Function Testing - Example
Requirement = The system shall notify the end
user of an incompatibility of blood type between
patient and unit to be administered
Create a test patient in system with ABO blood
type A
Create unit to be transfused with ABO blood
type B
Attempt to select unit for transfusion. Validate
that system displays alert about ABO type
mismatch
Integration Testing
“The development of common scenarios that will
exercise the integrated components of the
clinical system”
Goal is to ensure that the individual components
of the system work together to support the
business process
Can leverage common use cases for this testing
Source: Garton & McCulloch (2012). Source: Garton & McCulloch (2012). Fundamentals of technology project management (2
nd
ed.) MC Press
Online, LLC. Boise, ID.
Integration Testing - Example
Physician orders PRBCs to be transfused to
patient
Transfusion medicine department verifies
crossmatch and issues units
RN uses barcoding system to identify patient
and issued units
RN takes vitals and transfuses units to patient
Vital signs and transfusion report are sent to
EHR to document process
7/18/2016
8
User Acceptance Testing
End users perform testing of the system and
identify problems or issues they see with the
functional aspects of the system, or the business
process flow
Testing is often similar to how the end users
envision using the system once it is deployed
User Acceptance Testing - Example
Can be similar to the Integration testing
scenarios/use cases, except executed by the end
user
Can be done by the end users alone, or with
another member of the project team who acts as
an observer and records significant issues,
observations by the end user about the system
Performance Testing
Technical testing, which involves creating a user
load on the system to validate the components
can withstand anticipated volumes of usage
Involves testing the application itself, the
underlying database, and any other system
components, and how they perform together as a
whole
Source: Garton & McCulloch (2012). Source: Garton & McCulloch (2012). Fundamentals of technology project management (2
nd
ed.) MC Press
Online, LLC. Boise, ID.
Performance Testing - Example
Create a script that simulates the Integration test
scenario of ordering units, issuing units, and
then documenting vital signs and the transfusion
Run this script with 50 concurrent incidences
and monitor memory usage and response time
of the system
Another example is flushing all of the toilets at
the same time in a football stadium
7/18/2016
9
Regression Testing
A standardized set of test scripts which is used to
verify that no functionality that was previously
working is now failing as a result of a change
that was introduced
Performed after a change has been made to the
system along with testing of the change itself
Source: Garton & McCulloch (2012). Fundamentals of technology project management (2
nd
ed.) MC Press
Online, LLC. Boise, ID.
Regression Testing - Example
After a change is made to the interface that
sends the issued units from the Transfusion
Medicine system to the Barcoding system,
regression testing would consist of testing
additional functions of the interface, including
issuing different types of units, and canceling the
issuing of units.
Production Validation Testing
Production Validation testing is performed when
testing a change that has passed testing in a Test
environment and has now been placed into the
Production environment
Usually means running a similar test case to
what was tested in the Test environment, but
may only mean running a subset of the tests
Production Validation Testing -
Example
When moving the new Transfusion System to
Production, many test cases have been run in the
Test environment
In Production, would execute some
representative scenarios and functionality tests,
including issuing a new unit and then
transfusing the unit (on a test patient), and
performing a transfusion with and without vital
signs
7/18/2016
10
Tying it all Together
Use cases help document a scenario of system
use from the end user perspective
Use cases (documented well) reduce the chances
that your IT team builds something that won’t
work or won’t be accepted
Testing what is built in a system needs to happen
on a number of levels to ensure the system is
working as intended
Conducting all types of testing are required to
maintain a strong system
Question
One of the most important benefits of a Use Case
is:
1. It supports the concept of “if it’s not
documented, it’s not done”
2. It ensures the end user’s perspective is included
in the design of a system
3. It requires rigorous testing
4. Actors can configure functional requirements
Question
Functional requirements that provide the
foundation for a Use Case can be categorized
into 3 categories. Which one does not belong:
1. Would like to have
2. Actor supported
3. Bells and whistles
4. Must have
Question
Conducting testing to ensure that the individual
components of the system work together to
support the business process (from A to Z)
would be called:
1. Performance testing
2. Regression testing
3. Integration testing
4. Unit testing
7/18/2016
11
More Questions:
Does your organization use Use Cases? Can you
share an example?
If your organization does not use Use Cases –
can you think of a current project that could
benefit from the development of one?
Does your organization perform User
Acceptance testing prior to implementation in
production? How is this done?
Thank you!
Patricia Sengstack, DNP, RN-BC, CPHIMS
Chief Nursing Informatics Officer
Bon Secours Health System, Inc.
Seth Carlson, MS, CPHIMS
Clinical Architect
National Institutes of Health