Who Works Here?
Several years ago, as part of a new management team for the
IT department, I started assembling a new web development group.
Our goal was to create a robust, professional intranet with plenty
of automated processes to streamline internal workflow. But one
of the ingredients for any automated workflow is a rock-solid identity
for each user, and we had no data about workers.
One of the first members of the new webdev team was
a former Meditech applications analyst who had been learning Microsoft
SQL Server on the side, and was interested in making a career transition.
I needed someone to build a data warehouse for a new analyst group,
and his extensive Meditech knowledge was a godsend.
of his first tasks was to pull an updated list of all payroll employees
from the Meditech payroll module at least daily. We immediately
discovered a problem many employee records were configured
with their Social Security number as their employee ID number. Because
an employee ID number may appear in many places, this was an obvious
privacy issue, so we worked with HR to identify a range of six-digit
numbers that werent being used for employee ID numbers, assigned
new numbers to everyone who was using their SSN, and scripted the
changes into Meditech payroll (another way the Meditech knowledge
this only solved part of the problem. We now had a list of payroll
employees, but it wasnt clean. It contained employees who
had left the organization but whose status was still Active.
We need to know immediately when an employee is terminated, in order
to promptly close system accounts. If we know a termination date
in advance, even better!
with HR, we learned that terminated payroll employees are kept Active
long enough for any terminal benefits to be paid. This can be as
little as a couple weeks (accrued vacation, etc.) or as much as
several months (severance pay). That made sense, but we still needed
a way to know when the employee had left the building.
solution was to create a new, custom field in Meditech payroll,
where HR could input the real termination date for an
employee. This would be the date when they left the building,
it could be input in advance of the termination date, and it would
be the trigger for us to change the employees status for any
system accounts, regardless of their official status in payroll.
Now that we had a handle on payroll employees, we needed to track
non-employees. Any teaching hospital has a lot of non-employees
around, and this organization certainly has its share. Over time,
we identified five broad categories of non-employees, each of which
has different characteristics:
Agency employees (temp agencies)
Students (anyone here in a learning
capacity, even if not enrolled in a formal program)
(usually, but not always, part of formal volunteer program)
(people who receive a 1099-Misc)
(anyone employed by someone else, including private physicians,
university instructors, contract maintenance staff, etc.)
built an application on the intranet to create positions
for every non-employee who had anything to do with the organization.
We made sure that there were powerful incentives for people to track
their non-employees this way (see Non-Employee Management). With
a solid process for managing all non-employees, we finally had a
clear picture of how many non-employees were in the organization,
and it was quite a shock. Fully 25% of the workers*
were non-employees! No one had realized that this group comprised
such a large percentage of our workers, and it really brought home
the importance of tight management of everyone in the organization
not just payroll employees.
Over time, we realized that no ID number was constant for every
worker. Employee ID numbers sometimes change for payroll employees
(rehire or other administrative issue). Because we have a unique
range of worker ID numbers for non-employees, if a worker switches
status from employee to non-employee (or vice versa) the ID number
changes. Even Social Security numbers can change, and not all workers
have Social Security numbers (e.g., foreign nationals who are instructors
or students or volunteers).
needed a number that would virtually never change. So we created
a new number, visible to only to certain IT staff, which we called
the ITID. This is simply a sequential number assigned to each new
worker, regardless of status, which remains constant even as other
ID numbers may come and go. This ITID, tracked in our User Access
database, became our anchor, with every other bit of data about
the worker including other ID numbers simply another
attribute of that worker, all connected through the ITID.
Find a way to immediately learn about new hires, terminations,
job changes, status changes, etc. through the human resources
portion of the workforce that is not paid through payroll (or
paid at all) may be larger than you think.
health care organizations in particular, compliance with many
federal and state regulations about privacy and security is impossible
without a good process for tracking non-employees.
timely data about all workers in the organization can be a powerful
enabler for all sorts of downstream activities, such as system
account management, compliance efforts, etc.
must be some stable, constant identifier for every worker, serving
as the connector for all the information about that worker over
purposes of this post, a worker is defined as an individual
who has any relationship with the organization other than as a customer.
11 March 2008