developing an efficient scheduling process for …

84
DEVELOPING AN EFFiCIENT SCHEDULING PROCESS FOR AMBULATORY CARE University of Michigan Health System Central Staffing Resource Department April 19, 2000 Programs and Operations Analysis Ranjana Roy Dhruva Sreenivasan Kimberly Romeike

Upload: others

Post on 20-Jan-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

DEVELOPING AN EFFiCIENT SCHEDULING PROCESS FORAMBULATORY CARE

University of Michigan Health System Central Staffing Resource Department

April 19, 2000Programs and Operations Analysis

Ranjana RoyDhruva SreenivasanKimberly Romeike

TABLE OF CONTENTS

Executive Summary 1

Introduction and Background 2

Approach and Methodology 3

Current Situation 4

Hypotheses Considered 5

Findings 5

Recommendations and Conclusions 6

Action Plan 6

Time Studies Using Program 7

Appendices

CSR Staff Information A

Current Process Flow Diagrams B

Schedule Book Data (Historical Data) C

Forms/Codes Used by CSR D

Interview Template and Summary of Results E

Workload Analysis Data F

VisualBasic Program Prototype G

Executive Summary

The Central Staffing Resource (CSR) Department, which is responsible forscheduling both full time and temporary employees, is presently operating in a laborintensive and time-consuming environment. An Industrial and Operations Engineering481 team in conjunction with the Program and Operations Department analyzed theAmbulatory Care Unit in order to devise a more efficient scheduling system forAmbulatory Care float staff.

The team found a number of key findings:

Excessive unit cancellations occur on a daily basis (See Appendix C)> ANSOS is not usable in the actual scheduling process and requires daily rework

because it is used mainly as an administrative tool> Excessive variability occurs when creating schedules> Units may be overutilizing the float staff> Excessive amounts of time and effort occur to make daily changes in CSR schedules> Codes are difficult to remember and use (See Appendix D)> Inefficient time used on the phone to check and confirm availability of CSR staff> Outdated information exists in database (See Appendix E)

The noisy working environment makes it difficult to perform multiple tasks> Need to accommodate customer priority in a consistent format

The following resolutions are recommended to improve the efficiency of the AmbulatoryCare unit:

> Utilize a Microsoft Access database to store the information currently in oversizedbinders

> Create a Visual Basic scheduling prototype which will be able to schedule staff inclinics in a reasonable amount of time

> Implement a program taking into account the key features identified by the prototype> The program should be user-friendly and easy to update and input information

Introduction

The Central Staffing Resource Department (CSR) is a float-pool. The AmbulatoryCare Cluster fills the staffing needs of 120 clinics throughout the University of MichiganHealth System. The float staff consists of resident nurses (RNs), medical assistants(MAs), or clerical positions, o be filled for some length of time. The float staff has theability to work in more than one clinic.

The department has reported that the development of a schedule that fills theneeds of all the clinics and CSR staff is extraordinarily labor intensive and timeconsuming. Under the current schedule-making system, an estimated six months oftraining would be required before developing the knowledge and skills required tomaintain the same level of service to both the staff and clinics. The current scheduler’sknowledge is a necessity to the success of the Ambulatory Care cluster. Presently, acomputer program, Automated Nurse Scheduling Operating System (ANSOS), is beingutilized as a log for all the daily schedules and persona] data of the CSR staff. Currentlythere is one primary lead who is in charge of all the main scheduling revisions. Thedatabase has to be constantly reworked to accommodate for the daily changes when anurse calls in sick or a unit cancels for example. (See Appendix A)

f Background IWhile previous studies have focused on the inpatient operations, they have

demonstrated the inefficiencies of the scheduling process. Historical statistics from astudy and analysis conducted in December of 1999 and in April of 1998 explicitly statedthis in both of the reports. (See Appendix C)

The reoccurances of these scheduling issues demonstrate the necessity toapproach the current situation from a different angle. Obviously the scheduling withinCSR is a difficult and time-consuming skill to learn and teach to fellow employees. Amore simplified system needs to be implemented.

The current scheduling process is tedious and cumbersome. Since the scheduler isdealing with so many different clinics, locations, units, levels of staff, types of leave, etc.,numerous codes (abbreviations, color coding) are necessary to clarify the process.Currently, the scheduler has to go through a variety of sources (oversized binders and logbooks) before being able to decide on a suitable candidate to fill a position at a particularclinic. (See Appendix B)

Currently there is only one cluster lead. When this project analysis initially began,there was a Lead Administrative Assistant who was in the process of teaching anotherAdministrative Assistant the intricacies of the scheduling process. This training takes sixmonths. The Lead Administrative Assistant recently stopped working (-2 weeks ago) andnow his trainee is the sole scheduling lead. She is having a hard time learning acomplicated scheduling process which is not fully explained anywhere because the priorlead remembered a lot of the little details in his head.

Any changes to the schedule or database are inputted into ANSOS when it is mostconvenient for the scheduling lead(s). The daily and monthly activities are very time-consuming and a large portion of the process is primarily manual. A program other thanANSOS is used to determine priorities. This causes inconsistencies in the data collection

process. ANSOS is currently used only for one shift at a time, but it has the capability to

accommodate more than one shift.

Personnel

The project team consists of the Project Supervisor, the Project Coordinator, andthree Project Team Members. Lisa Floyd, Manager of Clinical Nursing, is the ProjectSupervisor. Mary Duck, a Senior Management Engineer at POA with prior experiencewith the scheduling process improvement project, functions as the Project Coordinator.The three team members are Ranjana Roy, Dhruva Sreenivasan, and Kimberly Romeike.Deb Omans and Matt Martin are the primary scheduling contacts. Matt is a LeadAdministrative Assistant and Deb is an Administrative Assistant.

Purpose and Objectives

The purpose of this project is to reduce the time requirecifor developing aworking schedule of Central Staffing Resource (CSR) nurses (RN’s) and medicalassistants (MA’s) within the Ambulatory Care Cluster. The project’s goals include:

Reducing scheduling variabilityEliminating non-value adding, time-consuming activitiesEstablishing a standardized method for CSR scheduling

> Quantifying the workload

Approach and Methodology

The main methods of analysis of the workload and procedures were conductedprimarily through observation and interviewing. Information was obtained by watchingthe main scheduling lead perform his job on a daily basis and by interviewing staffmembers within CSR.

The scheduling lead is in charge of the following tasks:

> Determining priorities

> Accommodating situations with an email message and a phone call when:-unit cancels-nurse OT request-unanticipated need-sick nurse-cut hours/termination of”employee

> Determining which CSR staff member is the most qualified for schedule holes> Updating the monthly and daily schedule> Calling in nurses to confirm their availability on a given day> Inputting data into ANSOS

In order to analyze the current scheduling process, the following method was utilized:

> Created flowchartsLooked at historical data ( number of cancellations, request for changes)

> Interviewed personnelResearched possibility of automating process by creating Visual Basic prototype

> Conducted time studies of various scheduling tasks using prototype program(See Table 1,2, and 3, on pages 7, 8, and 9)

Current Scheduling Process ]The Central Staffing Resource Department currently schedules according to the

flowcharts found in Appendix B. The preparatory steps include:

> The schedule is composed on a 4-weeldy basis according to the availability of thestaff members and the priorities of each unit

> First, the permanent and temporary staff schedules are obtainedThe names are all entered into oversized logbooks (the permanent employees writtenfirst)

> The unit shortage requests are then given to the CSR and priorities are made> The main scheduling lead then manually matches the nurses to units in the scheduling

books> The final schedule is then entered into ANSOS> A cross-check is conducted to make sure that the scheduling books are en sync with

ANSOS> The weekly updates are printed and then once again the scheduling books are verified

with ANSOS

The actual process flow used in the development of the four-week schedule can befound in Appendix B.

Alternatives Considered

While exploring all the available options, the following alternatives wereconsidered:

> Provide better training for scheduling leadsEnsure better communication within Ambulatory Care

> Increased use of ANSOS as a scheduling tool

Findings

The culmination of interviews and observations led to the following findings:

> Oversized binders take up too much surface space> ANSOS is mainly used as an administrative tool (billing purposes)> The possibility of using ANSOS more in the scheduling process has not really been

exploredToo much manual labor currently exists

> Human error exists> Need to cross-check between three sources: the book, the timecard, and ANSOS

Excessive number of phone calls (fixing problems and filling needs)> Workplace is a high traffic, noisy area- many distractions exist> Priorities are tedious due to large amounts of information> Numerous ANSOS codes exist (defining work shift, units, hours, skills, etc.)

Conclusions

According to the above findings, the following conclusions can be drawn:

A need exists for an alternate system that is easier to use and less time-consuming;

the system must be easy to update and input dataA different way of conducting daily changes needs to be implemented in order toreduce the amount of books

> A Visual Basic scheduling program will schedule staff in a reasonable amount oftime, greatly reducing the amount of time spent doing daily changesThe program needs to be user-friendly and easy to update and input information

> Through time-study comparisons, the prototype program illustrates the need for aprogram to replace the current scheduling system (See Tables 1, 2, and 3, on pages 7,8, and 9)

( Recommendations

The following recommendations are proposed to improve the scheduling process:

> Use ANSOS as minimally as possibleDeadlines for requests needs to be enforced somehow

> Email more and try to use the phone less> Utilize a program taking into account the key features identified by the prototype

Visual Basic Program and the bottleneck operations identified in the time studies

J Action Plan

The action plan is:

> Benchmark similar institutes> Orient staff to key features necessary in a good scheduling program

(See Appendix G)> Discuss whether or not a computer program is a viable solution in the provided

environment> Utilize a database in Microsoft Access to store information currently in oversized

binders

Ave

rage

Tim

eR

equi

rem

ents

By

Tas

k:

Tim

eT

oC

ompl

ete

Tas

kF

orS

ingl

eIn

cide

nt

Com

puter

Program

Method

Current

Method

Tas

ksa

mpl

esi

zere

ps/s

ampl

eav

g.tim

est

and.

Dev

sam

ple

size

reps

/sam

ple

stan

d.D

ev

Ent

er4-

wee

ksc

hed

ule

for

Em

ploy

ee

_____________________________________________________________________________________

(sam

ples

incl

uded

vary

ing

days

PTO

,11

557

sec

11se

c11

5J3

Q&

132s

ec

40-

and

35-h

our

empl

oym

ent

frac

tion,

1-

4m

orni

ngs

oraf

tern

oons

off)

Fill

Una

ntic

ipat

edA

bse

nce__

____

____

____

____

____

____

____

____

____

____

____

____

____

____

____

____

____

____

____

____

____

___

(rem

ove

empl

oyee

from

all

affe

cted

115

165se

c7s

ec11

597

sec

appo

intm

ents

,fi

ndre

plac

emen

ts

bych

ecki

ngfo

ror

ient

ed,

unsc

hedu

led

staf

f)

Fill

Cli

nic

Req

ues

tF

orC

over

age

115

5sec

76s

ec11

255s

ec

(sam

ples

incl

uded

situ

atio

nsw

here

noor

ient

edpe

rman

ent

staf

fw

as

9su

bjec

tsga

veup

duri

ngfir

stre

p

avai

labl

efo

rre

ques

ted

time,

requ

ired

Thi

sda

tais

for

2su

bjec

ts,

1re

pea

ch

rear

rang

ing

sche

dule

)

*S

ampl

esco

nsis

ted

of11

indi

vidu

als

(3m

ale,

8fe

mal

e)

All

were

given

brie

fles

son

and

allo

wed

as

muc

htim

eas

desi

red

to

fam

iliarize

them

selv

esw

ithprogram

.E

ach

experim

ental

bloc

kw

as

alte

rnat

edto

achieve

random

ness

and

redu

cenoise.

Tab

le1.

7m

ero

Co,

nple

/7€

w/.c

&q

4/n

cik

nt

n

Tot

alT

ime

Dif

fere

nce

Usi

ngP

rogr

amP

roto

type

Tot

alD

urin

gSi

ngle

Inci

dent

Sch

edul

ePe

riod

Tot

alFo

rY

ear

Tas

k(s

ingl

eem

ploy

ee)

(inc

lude

all

empl

oyee

s)(i

nclu

deal

lem

ploy

ees)

Ent

er4-

wee

ksc

hedu

lefo

rem

ploy

ee(-

297

sec)

-178

20-2

1384

0

Fill

Una

ntic

ipat

edA

bsen

ce(-

221

.5se

c)-4

430

-106

3200

Fill

Clin

icR

eque

stfo

rC

over

age

(-26

0se

c)-7

80-1

8720

0

Tot

alT

ime

Per

Yea

r(s

ec)

-146

4240

(hr)

406.7

3

Tab

le,

jvj

7ii

eD

,#1e

tW7C

ttsii’

qP

rczM

Pi-&

ohjp

e.

Recommended Features of a Program For Use By CSR Ambulatory Care Schedulers

(As Illustrated by Prototype time studies)

Schedule Automatically Prepped I(zero- time requirement)

Employees Automatically Entered As Available I(zero- time requirement) 1

Eliminates:

Choice time

(time increases exponentially

Automatic Entry of Annual PTO requests based on priority with # of choices)

Physical entry time of initial input

Automatic Update of Denied PTO Requests is comprobable to current system

Clinic Requests for Coverage:

Automatic Sorting of Candidates I Eliminates:

I Look-up time for determining

V if candidate is already scheduled

If No Candidates Are Available:

Automatic Re-Setting of Schedule Look-up time for determining if

to Maximize Number of Clinics Served candidate is oriented

Look-up time for determining if

candidate has requests for time off

Eliminates:

Automatic Updating of Schedule Into Ansos Need for manual entry into Ansos

Eliminates:Automatic E-Mail Distribution For Projected Schedules, Reminders Need for manual attachment of files

Eliminates:

Possible oversights, judgment errors

All Automated Program Processes Accidental scheduling overlaps

Table .3. PJccn1mendd Fèa’ws

km

(rIsI..

RN

.II

SN

Adu

lt(‘

rijic

al(‘

ate

iii.

ul-

5266

l’i

6743

Ph

one

-6-

3624

liarl

eite

l)av

ic,.

RN

.II

SNA

inhu

Iato

r(a

renu

il-

1189

1Pa

ge-

9965

Phon

e-

6-94

01

Mar

II

rber

.R

N.

ItSN

Ped

iatr

ic(‘

riik

al(‘

arc

mai

l-

S27

0la

ge

-7)

4I’

hone

6-’

199

Bat

hW

etul

a,R

N.

ItSN

PAC

;l’

crin

aial

IP

scl

im

ail

-l.K

83Pa

ge-

2783

Pho

ne-

3-67

0(1

ucat

iona

lN

urse

Coo

rdin

ator

iiM

arga

ret

Mer

edith

.R

N,

BSN

mai

l-

K64

7l’

agc

-23

94lit

omie

—6—

9400

Juan

ita

Parr

y.R

N.

ItS

NA

dult

Med

ical

Lm

aiI

-1.

808

Page

-23

53P

hone

-6-2

19

3O

rchi

dS

tew

art,

RN

.II

SNA

dult

Sur

gica

lli

iiai

l-

11Y

74Pu

ge-

Pho

ne-

6-38

43

Dea

nna

Itey

er.

RN

.M

SNA

mbu

lalo

ryC

are

[mai

l-

1)45

9Pa

ge-

2473

Pho

ne-

3.59

89Ju

lieW

ahi,

RN

,I3

SNA

dult

Med

ical

/ Sur

gica

l[m

ail

-N

183

Page

-674

1I’

hone

-6-

2266

Lea

dA

dmin

istr

ativ

eA

ssis

tant

s

IC

arla

Dun

har-

Dea

nA

ICLJ

,PI

CLJ

Psyc

h.C

alh

&[P

Lab

s,[C

M()

Phon

e6-

9379

IS

uppo

rtA

dmin

istr

ativ

eA

ssis

tant

s

Wat

ida

(ord

er

Iidi

nsoi

ilit

lany

Mar

sha

Dav

ison

Syl

vcrl

oolh

-Sie

war

iT

eiiip

..

cen

Ira!

affu

igR

esou

rce

Dep

artm

ent

-U

nive

r.,,

‘ofM

ichi

gan

Hea

lth

Syst

eni

1500

Eas

tM

edic

alC

ente

rD

rive

Med

-Inn

Bld

g.R

ns.C

108

Box

0804

Mai

nP

hone

-(7

34,

763-

5637

Fax

Num

ber

-(7

34,)

936-

8360

Cli

nic

alS

uper

vis

ors

I

Lis

aFl

oyd,

RN

,BSN

Clin

ical

Nur

seM

anag

erE

mai

l-

C87

3Pa

ge-

9232

Phon

e-

3-30

86

n

Non

-Cli

nica

lS

uper

viso

rs

Julie

Was

h1)

cpar

lmen

tS

ecre

tary

Ill

Phon

e-

6-93

99

Fion

a(l

iisho

lm—

Fcro

u,(‘

Icri

cul

tlam

hIec

r[m

ail

-II

140

Pag

e-6

742

Phon

e-

6-93

98

Col

leen

Kap

pC

leri

cal

Pcds

/Per

inat

al!P

sych

&A

dult

(‘ii

i ica

t(JIC

Pat

ient

Att

enda

nts

Imai

l-

1109

2Pa

ge.

6753

Phon

e-

6-47

27

Joel

leM

oroz

(.lcr

ical

Ad:

liA

cute

(‘ar

ePa

tient

Aue

ndan

b

Emai

l—

It11

7Pa

ge-

68rn

)Ph

one

t-47

1t

Edu

catio

nal

Nur

seC

oord

inat

orl)

iane

Piha

lja,

RN

,H

SNEn

mai

l-

11M

96Pa

ge-

5360

Phon

e-

3-77

59

I’at

tcA

rnol

d.

l’(C

.II

onic

Mcd

,(V

lear

n.A

l’S

Pho

ne-

6-91

8(1

Sta

ffL

)eve

lopm

cnC

oord

inat

orN

on-C

linic

alI

Ros

emar

ySi

erac

ki[m

ail

.11

146

Page

-941

2

LPh

one

-6-

653)

Pam

Sol

tman

-N

ursi

ngA

ssis

tant

sK

athy

Ileu

ton

-Pa

tient

Atte

ndan

tsP

hone

-3-

5637

Mar

ieB

rady

Tim

Rca

hurd

Bra

ndy

Cre

ps[

Jerr

iA

tkin

sD

ebra

Om

ans

l2lm

rN

ight

4Ohr

Nig

ht4O

hrE

ve4O

hrEv

e4O

hrI)

ay!E

vc

Central Staffing Resource Department

Contact Information - Listed by Job Catagory in Alphabetical Order

Cluster Leads

Pattie Arnold

Carla Dunbar Dean

Kathy Heaton

Mart Martin

Jan Resch —.

Pam Soitman

Administrative Assistant

Administrative Assistant

Administrative Assistant

Administrative Assistant

Administrative Assistant

Administrative Assistant

— I I I I I

Name Title Focus Area Email Pager Phone

r T r rNursing Manager [Lisa Floyd ‘Clinical Nurse Manager All Areas C873 9232 3-3086

Nursing Supervisors .1

Deanna Beyer Nursing Supervisor Ambulatory Care D459 2473 3-5989

Jan Crissey Nursing Supervisor AICU S266 6743 6-3624

Charlene Davies Nursing Supervisor Ambulatory Care B891 9965 I 6-9401

Mark Ether :Nmg Supervisor PCC S720 7141 6-2199

‘Juanita Parry Nursing Supervisor ‘MAC L808 2353 6-2193

Orchid Stewart Nursing Supervisor SAC BY74 7136 6-3843

Barb Wetula Nursing Supervisor PAC, PSYCH, WBC L883 2783 j 3-6700

Julie Wahi Nursing Supervisor MAC N183 6741 6-2226

ClericalSupervisors I 1

Fiona Chishoim-Ferrow Manager Inpatient Clerical Svs All Clerical Areas B140 6742 6-9398

Colleen Kapp Clerical Supervisor :PPP B092 6753 6-4727

Joelle Moroz Clerical Supervisor ‘UH B137 6800 6-4716

Education Resources ‘

...

Margaret Meredith Educational Nurse Coordinator MI Peds Areas, SAC. NA K647 2394 6-9400

Diane Pihalja Educational Nurse Coordinator Ambulatory Care, MAC BM96 5360 3-7759

Rosemary Sieracki Staff Development Clerical, PA B146 9412 6-6531

AGC,PGC,OR ‘ B136AICU. PCC. WBC,

PSYCH. Misc

N/A 6-9380

B204 : N/A 6-9379

Patient Attendant B157 N/A 3-5637

Ambulatory Care

Clerical

BB96 N/A 6-1490

B090 N/A 6-6530

Nursing Assistant AS2I N/A 3-5637

oa

c.1.

.e

CL

ez1.

.-.er

—o;

ci‘a

ri—

‘ati

as

7\

1-i‘a

%_

‘t

-1-4

-In

in‘c

‘‘

‘p‘a

-so

‘C-

C.

r—t4

—‘a

‘Ct—

00

00

4Ifl

1-1tI—

1-iIn

-d

1--—0

0‘a

00

t-1-I

1-i1-4

‘aO

s1-4

—t-

I-‘a

InIfl

‘a1-4

1-I‘a

InIn

—00

1-1q

11

—‘a

•,

1--0

0

.

•Inin

00

In0

‘1

---

-—

aa

aa

eW

iW

IW

I•0

7-

E-(

e

.a

aa—

CL

—=

•00

‘.

..

i._

1It

CL

CL

CL

-rw\r—

E—

aC

LILI

LI—

c.).

L.

UU

U.

;..—

I..

aa

aW

IW

IWI

WI

-a

a—

—LI

ULI

UL

IL

ILI

LILI

I-I

I.

IU

I..—

I..I..

li

ii.

II

L.

II..

I..-

-

-<--

L.

-<

..

-,

.ii

..

rti

i-.z

I.-c.

tII-

I.-.

I---

I-I--

I--

I--a.

c-)L.a.

SCIULI

CL

..I I•LI

;.

a

--.

aa.

—-

•.—

WI

,I

WI

CL

WI

LIL

IW

IS

—-

LI

CL

a-.=

:(I)

a•

-ae

,i

aa

..—

cC1

ea

aL)

i

-.<

—CC

WI

t:

..

..

aLI

‘—

‘—

I—

=—

.—LI

ci

.-‘

LI

CL

S—

LI(I)

Ifl

—LI

aE

SS

L.L

I

LI

i:CM

c•

—‘

.C1.’.

a

---E

S

CL

aa-aIWIc-)

-0

aUU,

aaCL

CC

0SUWI

I.i.

SUWI

I.’LI.

atECCI..

CCLI

I.a

LILI

a

QJ

-a

>5

CL

00Ua0CL

aa

E0a

.2a.2

LI

a

JTT

I0

0

I00

::.

‘0I4

rF-

00

tI—

90

rrK)

I-.0

00

00

,,

t‘0

00

%0

‘0,

00‘

‘0‘0

t00

0%96

‘0—

—0%

‘(4

1fl

t4In

tin

00

qN

In

©0C

r0%

Iin

06’0%

o3t%

’000%

o%

I.—=int.

‘1

9000

—in

00

00

.-

F-

In—

In‘0

inIn

(tI

in,

inin

inin

3‘t

‘7‘

‘0‘0

‘0‘0

‘0‘0

‘0—

—-e

‘1

0..

‘0

06‘F

ti1—

,00

06ItK

in•

lfl

in%

go

inin

•in

in(K

in

.90

000

00

00

006

In.

00

•00

90

90

—06

06o

in.0

..

.•

•.0

••

I-

•L

..L..L

e1•.0

.Ii

Ic

c.,

.z

N—

0N

NN

NN

NN

NN

NN

02

0U

—U

U—

001

01U

0101

01

0.

00

I-0.

0.

00.

0.

0.

0.

(I)

KK

00

—ri

ff

——

0.4

.4N

--

I-I-.

I--

f--.

--

-‘-

f-.

tI0606.0•-

intIin

in0.•01N

NN

.U

ULI

c)—

I.0

.0

.

.<.

.

U—

-

I-I-

--

-

..

2•0

=0

KM

-

00

NI0

CIf)

‘.110

411

cE

t0

ç1KM

b0

00

1

KMz

ZE

o•

00.

.00

I-14

0.

.22

.0U

t—

0.

Z

aa

I,,

CU

=0.

I7.

KMC‘

0.—01

—‘

—E

01N

iW

I=

‘KM

C(I)

.0

.t

0

o=,—

If)‘..d

,f.I

a

z

KM41.00

KM

NKM.0KM01CI

,01=

5K2

—0

••,•

I—

N0.

.)

.

2.

cc

z

v—)-

.P

5..I-NC022

50C-C-tC£0

5-

00

00-VI-V

00UC000

00NC01

CgoN

00I01C0.

1J

I

p

Ii 2. Arei E IM. 8-6 •VV

3H 219 m cc-T-c ñ?a_4.._p

(

<. Zr-

V.

,4R ,4 C “ I

( 5Z ‘

OH7

J-. rn7

C1 2/

I f:JThi /- —

Lqg-

L-( ç- /

— rL

(oI(o17

UNiVERSITY OF MICHIGAN HEALTH SYSTEMCENTRAL STAFFING RESOURCE DEPARTMENT

Ambulatory Care ClusterEmployee Guidelines

1ha1 //L:t/SPS ilSCHEDULING! PAYROLL GUIDELINES

SCHEDULE REQUESTS

1. Each employee shall receive one of the following Scieduling Procedures appropriate for their classification.a. Regular employee- Registered Nurse or Medical Assistantb. Temporary employee- Float Registered Nurse, Medical Assistant or Nursing Assistantc. Temporary employee- Clinic based Registered Nurse, Medical Assistant or Nursing Assistant

2. It is the responsibility of all Ambulatory Care Cluster employees to check their mailbox for their schedule.Staff who do not work prior to the new time period, may call the office to receive the first requested shiftassignment of the new schedule.

3. Due to unanticipated clinic needs, employee assignments may be changed after the initial scheduledistribution. A projected staffing schedule is posted on SYSM E-mail daily, Monday through Friday for thefollowing day. CSR staff are expected to review this schedule daily for verification of the following day’sassignment. If CSR staff are not working on the day prior to a schedule change, the AC Administrative

-.. Assistant will notify them of the change via phone.

4. Float staff may not directly schedule time with an individual clinic.(EXCEPTION: all unit based staff mayschedule with their clinic and then inform CSR of the agreed upon schedule. All scheduling of float staffmust be transacted through the department.

AVAILABILITY LIST

If an employee is on the schedule to work but not initially assigned to a clinic, the employee will beconsidered AVAILABLE to work.

Employees the AVAILABLE LIST but not at home to receive a message. Will call the office to see if theyhave an assignment no later than 7am that morning.

Messages will be left on the employee’s answering machine regarding an assignment, but the employeewill need to call the office to confirm that assignment.

4. When the employee is on the “AVAILABLE LIST”, but can not be contacted about an assignment, it isconsidered a NO CALL NO SHOW shift.

5. If the employee is canceled from one clinic, they will be reassigned to the next available clinic to whichthey are oriented or will be scheduled to orient in a new clinic. Availability will not be canceled untilclinic staffing needs are met.

C ECARDS / PAYROLL

1. After completing the last work shift for the week, the employee will bring their timecard to the CentralStaffing Office or fax it to (734) 936-8360. In all cases, completed timecards must be in the office by12:OOMN on Friday before payday. Saturday shifts are recorded on a separate time card and are turned onor faxed to the office at the end of that shift.

.sharcI Iorfl1saflhcare•aflhsch2dRc

(j

2. Paydays around holidays occasionally require timecards to be turned in early. When this happens, signs

will be posted in the office and E-Mail messages will go out with the early due dates. No special checks

will be made for late cards.

3. Holidays and overtime will be paid at time and a half. All overtime must be approved by the CSR

supervisor.

FILLING OUT REQUESTS/TIMECARDS

1. When filling out a schedule request form, print your full name (if you hyphenate your last name do so

on your request sheet). Circle RNT (RN Tempor’ry), NA (Nurse Aide) or MA (Medical Assistant), fill in

your ANSOS number and your date of hire.

2. When filling in the dates on the request sheet, make sure you have the correct dates under the correct

day of the week, If your dates are incorrect, we will go by the day of the week, and you will be held

responsible for working the days requested.

3. Put an “X” on the days you cannot work and put a “D” on the days you can work. Do not leave days

blank on the request sheet. Every space should either have an “X” or a “D”.

4. Use the comment section to make any special requests about your schedule. You are responsible for

writing down special requests with every schedule turned in.

( Time cards must be filled out completely. Ensure that your complete name and ANSOS numberare filled out. The date, clinic, person you are providing coverage for, and arrival/departure

time must be complete.

If you do not know the name of the person you are providing coverage for, call the nursemanager in that area or call the CSR office.

6. Use one timecard per week. Never put two different payroll time periods on the same timecard. If you

have any questions regarding the beginning and end of payroll time periods, check with the CSR

Administrative Assistant.

Remember, if your timecard is not submitted on time you will not receive payment from our

department, until the next payday.

7. Overtime occurs in the following cases:

A. You decide during your work shift that you want to pick up additional hours at the end of the shift.

B. You stay beyond your scheduled shift to complete patient care.The CSR supervisor needs fo be notified about all CT Specify on the time card (under comments) why

overtime was necessary.

EXPECTATIONS

1. You are expected to float to all clinics to which you have been oriented.

2 You are expected to be flexible in accepting assignments. Clinic needs are based on a priority systemwith higher priority needs filled before lesser priority needs.

3. You are expected to work all dates you have requested. In the rare event of a sick call, you need to callthe office at least two hours prior to the clinic start time.

4. Because you are a temporary per diem float, there is no guarantee of work and canceled shifts are tobe expected.

I sharcd\firms\amhcarc\aihschgd

I/)

5. You will have an E-mail ID and must know how to access the computer for information. You are

responsible for all communication from the office that goes out through E-mail. If you do not have an

ID or do not know how to access E-Mail, contact a CSR Educational Coordinator. Check your E-mail

every time you work.

EXCESSIVE ABSENCES

1. Excessive absences fall into several categories:A. Excessive sick time usage: Defined as two (2) occurrences of illness within any consecutive

three month period.B. Excessive scheduled shift cancellations: Defined as two (2) occurrences of cancellations within

any consecutive three-month period for non-illness related reasons. Also, included in this

category is an employee who has made him/herself available for work and can not be reached

by phone with their assignment. When the employee cannot be reached, the assignment is

immediately given to the next available employee.C. No Call-No Show: One (1) occurrence is excessive. Defmed as: “the employee does not call in

and does not report for a scheduled shift.

All excessive absences are tracked and forwarded to your CSR Supervisor.

ADDITIONAL INFORMATION

Nurses and Medical Assistants and Nursing Assistants are expected to be BCLS certified upon hire.

The course may be taken through the Hospital. (There is no pay for attendance.) Recertification is

required every 2 years, and it is the responsibility of the employee to maintain certification.

2. Each year mandatory programs (fire, infection control, blood transfusion and safety) must be updated

to continue working. Certification is required annually and may be completed by attending or

completing one of the programs offered throughout the hospital, or through the Central Staffing

Department. (Contact an Educational Coordinator) or on the UMHC Web Home Page. If you complete

your update in a clinic, you must let your CSR supervisor know. You are required to bring a copy of

your BCLS card and/or the mandatory activity sheets to your supervisor. JACHO requires that this

information be available in your employee file.

3. A one month grace period is granted from the date your BCLS/Mandatones expire. After the grace

period expires, if you have not updated you will not be permitted to work.

4. The Central Staffing Resource Office is open 24 hours a day (except during extending circumstances,

at which time your message will be recorded on Voice Mail. Please leave a message and we will get

back to you when the office re-opens.) If it is an emergency , page the supervisor on pager #7136.

5. Additional time cards and schedule request forms may be picked up in the Central Staffing Office,

C108 Med Inn.

6. If you fax Requests and/or completed timecards to the office, you must then send us the hard copy

through campus mail, C108 MIB, Box 0804.

7. Ambulatory Care Float RN’s, MA’s and NA’s are expected to work an average of 3 days per week as a

minimum.

8. If you will not be requesting work for an extended period of time (greater than one month), it is your

responsibility to notify the Central Staffing Resource supervisor After three months of norequests/work and no notification, you will AUTOMATICALLY be taken out of the system. If the

department is hiring, you may reapply and interview for a position.

I \hared riis\athcar,\aiii bsch dRev. I/9

All employees are expected to provide written letters of resignation when they choose to leave the

department. Future work references will not be provided for those individuals who did not inform the

department of their departure.

f: \ shared \forms \ambcare \ ambschgdrevised 1/98

I: sharcdtrms\amhcare\ambcgR /98

UNIVERSITY OF MICHIGAN HEALTH SYSTEMCENTRAL STAFFING RESOURCE DEPARTMENT

MISSION STATEMENT:

Our mission is to supplement regular decentralized staffing at the University of MichiganHealth System using centralized, high quality, cost-effective, resources. We strive toprovide excellent service and leadership in all areas of supplemental staffing services.

GOAL STATEMENT:

Our goal is to facilitate a safe and effective patient care environment by providingsupplemental staffing resources.

OBJECTIVES:

• Create / maintain a centralized float pool comprised ofcompetent well-trainednurses, clerks and ancillary staff to supplement regular unit/clinic staffing

• Assist and support unit I clinic personnel in utilizing our services effectively

• Form a partnership with other IJMHS team members in order to better serve ourcustomers by establishing and maintaining safe staffing standards

• Establish an institutional environment that recognizes the value of CSR staffingresources and supports the unique needs of CSR float staff

• Partner with nurse managers to develop and implement forecasting strategies for longterm unit staffing needs

• Partner with unit / clinic charge nurses on a shift by shift basis to solve exigent shortterm staffing problems

• Evaluate needs using data driven processes which result in the equitable, consistent,and cost effective allocation of staffing resources

• Coordinate system wide resource sharing, communication and problem solving

• Support current IJMPNC contract

• Reduce excessive institutional overtime

• Provide ongoing educational opportunities to all CSR employees

• Focus on continual improvement in all areas of the department

• Make customer satisfaction paramount

APPENDIX BCurrent Process Flow Diagrams

• Monthly Scheduling Process, Bi• Daily Activities, B3

W,u’ S uctali,,y procS:Start

Reminder E-mail to CSR:4-week schedule requests are due

Blank Schedules are Prepped

___________

]

Refer to EmployeeRequest Form

And Transfer toSchedule

Update Standord.xls & Copbook.xls

Review calendar

Transcribe PTO grid onto schedule

Prepare 4 week calendar forms for eachof the CSR perm RN’s and MA’s

4 references used:

Review “Annual PTOGrid” transcribe any

approved Ff0

Sort and Review contents of“Schedule Requests” folder,

transcribe requests ontocalendar form

Refer Back toPrevious 4 Week

Schedule to DetermineRotation of Employees

Alphabetize Permanent and TemporaryCalendar Forms

Review clinics requests folder and writerequests in Copbook.xls

Input float staff availability on schedule

Review the “Clinics Requests’ folder andwrite clinic requests in Copbook.xls

Print 4 copies of Copbook.xls and PasteOnto Schedule Sheet

Add Highlighter Lines to Schedule Sheets

Alphabetically list the available float CSRemployees

White Out UBT employees if preprinted onschedule sheets

Write Clinic Assignments on the IndividualCSR staff calendar forms

Review the “Clinics Requests’ folder andwrite clinic requests in Copbook.xls

Review “Standing Orders” and Transcribe

Assign Available Float Staff

Photocopy Schedules and Send toAppropriate Clinic Managers / Schedulers

E-mail Clinic Managers and IndividualStaff regarding filled PTO requests

E-mail CSR employees to inform them ofSchedule Distribution

Distribute the CSR employees’ copies ofcalendar forms

Enter the CSR Schedule into ANSOSScheduler from calendar forms

DAILY ACTIVITIES

Ca/I ffec&o’

APPENDIX CScheduling Book Data

• Summary of historical data (March 1998), Cl

SUM

MA

RY

OF

REQ

UES

TS/C

AN

CEL

ATI

ON

SU

àoji

2Mai

cli2

CL

IUS

TE

R..

lAdu

llG

C

Requeil

s

Can

ceIâ

lio

ifl

%F

,iled

%N

oFi

lls%

Can

ceU

al.o

ns

Pç.

1.üi

iol

Can

c.Ie

loii

sby

Uni

l

IP.d

.G

CSW

6M7U

7W

484C

—-

SA5B

5C

8A6B

8C

7A

7CSA

688C

TBA

C

146

213

124

129

101

9295

4921

8268

199

152

l8

6010

272

4762

3551

2310

3132

6264

45

514%

509%

32.3

%550%

29.7

%36

.3%

36.8

%49

0%31

0%46

3%50

0%50

3%520%

401%

15%

II7

.9.

1%$

5%8.

9%24

.5%

9.5%

4.1%

259%

159%

136%

85%

59%

212.

411%

314%

581%

36.4

%61

.4%

37.2

%53

.7%

469%

31.0

%31

8%36

4%41

2%42

1.

38r.

84/.

14

2%

101%

66%

8.7%

4.9%

71%

32%

1.4%

43%

45%

II5%

69%

6i.

.

lAdul

ICU

Req

ues

ts16

412

011

850

53

Can

cell

atio

ns41

2752

1817

%F

ille

d576%

550%

38.1

%44

.0%

54,7

%

%N

oFi

lls20

1%22

5%17

.8%

20.0

%13

.2%

%C

ance

*ali

ons

223%

225%

44.1

%35

.0%

32.1

%P

oh

anat

Can

caN

anon

sby

Unn

266%

Il4%

336%

11

.6%

Ii0

%

R.q

ues

tsC

ance

llat

ions

%Fi

lled

%N

oF

ills

%C

anc.

Ilab

ons

ni

h.

IIn

..

6070

5040

R24

811

8254%

26%

116.

29.4

%

247

91

587%

45%

36.8

%IS

0%

373

136

59.2

%4

3%36

.5%

22.5

%

‘33 4$

58.6

%5.

3%36

.1%

7.9%

1TBC

4DC

211

110

105

4746

.9%

52.7

%3,

3%4.

5%49

.8%

42.7

%17

.4%

7.8%

(P.d

aIC

U14

01.

ICU

CT

UPI

CU

Req

uest

s21

332

133

644

Can

cella

tions

200

114

205

6•.

Fil

eo23

4%54

5%32

1%79

.5%

%N

oF

dIs

33%

10

0%

6.8%

6.8%

%C

ence

lLal

.ons

733%

355

./.

61.0

%13

.6%

Pob

onol

Can

cell

atio

nsby

Uni

t38

1%21

.7%

39.0

%1.

1%

APPENDIX DForms/Codes Used by CSR

• Copy of ANSOS Codes, Dl• Central Staffing Schedule Request Form, D4• Xerox Of Scheduling Book, D5

C, 0 0

(I,

‘1 0

cz 0 0 0 0

U,

(O

Tj

1 0 cj) 0 0 0 0

C’,

r) •1 0 C)

C CENTRAL STAFFING RESOURCESCHEDULE REQUEST FORM

(QO

Pef ftJ

NAME:

___

DATE: DATE OF HIRE:

HOME UNIT/CLUSTER: SCHEDULE DATES:

DAY SUN MON rUES WED THUR FRI SAT

DATEA VAILABILITY

/

X

DAY SUN MON TUES WED THUR FRI SAT

[DAiE

L4 VAJL4BILITY

-s

C DOMENTScJ 1 r; -10rk 4

DAYDATE

SUN

A VAILABILITY

MONa&3G

TUES WED

S%%/

THUR FRI SAT

! )K

DAY SUN MON TUES WED THUR FRI SAT

DATEA VAILABILITY

%5><

S:tm.I*99doc (SF99)

DATE

____

_J

OF’

)TO

KU

N

ST

I?4

U5

S

T’J

C

DE

SAI

A1

3L

FIT

ZPA

TR

ICK

GO

ftJO

tJ

HA

LL.

R0EZ

-MO

OR

E

DATE

Mon

day

‘an

uar

y2

4,

2000

cop

CE

X

CE

X

AR

LA

GE

;1T5

RO

IHT

N

O1F

IEU

M

RN

RN

AL

SUR

to

8a.5

6a-5

8a-5

73

0.4

8.4

8.-S

CC

/

CO

P

CE

X

CE

X1p

4

DATE

____

g4

/JM

AT

7iJ

I

8.4

CE

X

8._

sB

OU

NO

SG-/

CL

)Mt4

IIJG

Siz

-5j

61

MJE

JI

!_

-

Cc/

Ti

——

-—

——

Ti}

PtJ

Fc;4

1T

Y73t/

-ri1

L’-

1A

--—

-

SIG

&t.

J

bE

PnnA

tE

,AN

8-3

:Ci

•R

iPtE

YT

/<L

)SH

MA

N‘-co?

P-O

PS

AS

VZ

O

-rR

11,T

,vP

,J-5

——

--o-

WA

6t.J

EP

——

—-

F3uL

t1L

AJ

-5

——

cop

if.J

HoP

q/

——

—-

——

‘i,j

i6IE

i’I

——

——

coP

GO

1UoN

-siZ

A-

coP

CU

)MM

ls’J

Si-

u3

——

-—

)BIE

N1’-41cof

f’II

SEL

AJI

CZ

OA

&Ic

oR

j5C

oe

IJL

f1çE

ccO

‘-

——

—o

fiL

tJT

——

——

•iiii

•iiii

•ii

ICT

OM

ASI

K8.4

30

Icon

I[

Cf

PC

UR

TI

S5

5—

—,R

A1lt

J1’

4M—

——

T’1

Mti

8.4

30JO

AL

-[S

HC

,oG

E!z

——

-Fo

”JS

——

-

___

--

-f/c

LfO

4P

j—

——

.i2A

P&i

bBI

I•

flC

/z.6

Cj<

5—

co

e—

z::

z•

LE

bE

/

PE

7-6

EE

Z8

-5V

AE

s’JE

i.—

M,1

fT

L—

——

_—

-—

.—

——

-——

——

PTO

W4i

KjE

1P

oL

LL

,1A

Jz_

_

NAM

E

CC

I

GM

O

LIV

ERC

M

GS

A

PE

ND

O

OR

TH

O

UR

O

UR

O

AA

A•A

GA

LIY

AS

McC

AS

KE

Y

RA

NC

K

GO

RD

ON

cui

y,ç

BA

UM

AN

N

RU

SH

LO

W

RO

MO

OR

E

NAM

E

O1C

)4p-

9 830a-

5

Ba-

S

Ba-

S

Ba-

S

Ba-

S

9a-6

CE

X

CO

P

CE

X

MA

CO

P

CO

P

CO

P

CE

X

CO

P

AA

I,” A A A I’ A

coP

A

“4

‘A

A A

IPIN

Ff

I(3L.L

EY

A

IP

Tuii,j

&7w

rL

CH

cU

/’1A

1M

JcS

L—

—/-

lc(R

t)M

——

CC

I/f

A<

7!t

J6’

7’-L

A—

p-r

d<

s—

JEu1

Ow

A1I

cEP

.L

—S

,’JS

AM

&.‘/

——

.

GIA

SEA

AJ/

LE

A!

‘I-a

—-

——

.

AIcc’

-5

&—

——

C0A

GçofA

--

TA

CN

A—

1’E

LA

M

UM

FoA

cT

Y-/2

i4

c4gp.

L6J’44ti

-—

coP

—-

——

.[6

A40

SE

CC

C-

Ot-

SS

ON

••

.—

RA

bIC

KE

tt—

gq

AC

op

t)erT

UL

A,

I—5

-—

—-

OL

f’Jf

?fo

f&&

4R

Ty

í—1,

ST

F?A

US

SF

tJ1-K

FJr

frJO

LF

E6L

4S

EF

K,T

CH

FJ’

JE

fl)C

KE

t1-5

—-

-“

LJG

!4E

J.—

KA

I-A

/<41

10—

M/I

F//

IFF

EY

-.___

MoO

Pe

IHC

PE

DT

e,”

liq,/

(330p.7

30C

0P

AP

MG

SP

YA

1/l

N3M

—btJ

I4N

CL

IHC

BO

NO

-CR

OC

KE

R9a-

530

CO

PA

A—

——

——

-N

CH

OA

RD

830a-

5LO

AC

AR

DA

A—

——

——

——

-S

CA

RD

MA

MM

OS

ER

Ba-

SC

EX

AA

SC

AR

D/tL

tE

fB

a-5

AR

NO

LD

ApE

rFE

E.

VA

ATA

AuI

/’1a-5

3O

ML

OA

f\A

TR

AU

Th4N

--

-

—-

-C

FP

fl4L

-L\1

At’T

hErE

Rc

-—

/71/iL

——

—M

1tL

——

--

——

-

744sI/ç

11-3

-—

——

——

——

——

-

——

CS

R1J1

CK

8-5k

CS

Rru

c,<

c!.

-iz

CR

tiU

4-I2-

P-r

oru

NAM

E

CT

VAR

LWHT

N

Cu LA

B

Mo

VER

CM

JIM

-

END

O

END

O

UR

N

UR

N

RT

HO

DE

SAI

AT

TE

NB

ER

GE

R

UcC

ASK

EY

RA

NC

K

Ffl

ZP

AT

RIC

K

ZIO

LA

BA

UM

AN

N

1.—

8.-

12

Ba-

5

Ba-

5

830.4

84

8.4

30

8.-

S

Ba-

s

Ba-

S

830.4

Ba-

5

8.-S

LAJA

LL-A

LC

EX

CE

)

Cop

cop

CEX

cop

co

p

co

p

CEX

CEX

Co

p

co

pR

OR

OE

-MO

OR

E—

/‘pr

C.J

EL

-CeY

—-

Cd

2L

__

..P

TE

cs

G-e

-f—

——

—F

Ok1O

5-

——

icA

SE

LOG

AN

co,4

&j_

__

_T

4g

c’j4

4L—

L-—

——

—4G

6o

g,

1’-

——

—----

‘/:

-

______

.M

e.’

P

BiP

c0P

HW

P1__coP

N-

1’

-5

Co

P)

——

——

——

——

——

.I

==

=—

——

——

—-—

dl

4,1

-f-

——

—-

-—

——

-

)

—--

--

—-

---

c—

--

1-

&or

HC

PE

D_

_E1p.7çO

___

-—

--

-ór

-o.

—-

-

NC

-B

ON

O-C

RO

CK

ER

Sa53

0C

OP

--

-—

——

—M

I—

—-

SC

AR

D81

14A

RN

OL

D—

——

—,4

’l4

——

-

AA

—----

M,o

SoH

—----

;—

—-—

—-

—-

—-

---

I—

--

NAM

E

E,I

M;C

IT5

AR

DIH

TN

)CU

)I8

MO

T

IMO

IF

IVER

CM

IHE

UM

EN

DO

‘NE

PH

-

PUR

N

UR

N-

RT

HO

RO

pu(o1I1

LE

Y

OFO

TO

KU

N

DE

SA)

__

__

_

CH

EL

MIN

SKI

MIL

LS

FIT

ZPA

TR

ICK

HO

LO

DN

ICK

BA

UM

AN

N

RO

E-M

OO

RE

T4P

LL

CO

P

CE

X

BA

RLA

GE

CO

P-

CE

X

CE

X

Co

p

cop

Cop

CE

X

CE

X

CO

P

CO

P

8.-S

8a-5

730.4

8.5

83

0.-

!

8.-

S

e.-

s

8.-

S

h-S

8.4

1P4 8.5

8.-

!

G4J

004

(1

/CA

6g-5

7i.

i5i

1F

cC

)1-5

——

5H

wA

i,<

yF

f—

OT

O—

5Sj

f’Y

JO7-

6f

Ft’

i)11

Ei-

.jK

EiJ

L—

—-

—R

.4Jb

-rj-l

,c—

-—

cc/1

2.

——

——

S/j

OL

TS

Kr-

i’—

——

PCA

RtJE

i‘J

LPt

!!

——

—S

iCE

j,1

jc4

——

fsJe

V&

C1F

j.s

jcc/r

q-

——

-________

—-

-

cc/r

3—

——

——

‘°

/.A

For:

-—

——

AR

ci1

S—

--

IPT

,cuM

1A,q

-—

—ir

llS

1fr

V141

Ptl-

(—

—-

Pcci

35

LJB

-

&—

——

CO

Pcc

/rs

——

—-

-—

—-

——

——

CC

I—

—-

A,c

1-c

——

-

——

—-

CC

I—

—-

-oefo

c-

tJB

EL

—-

-

7vc.

4—

----

—-

-

--

—-

-

141.

1—

—-

—-

-—

&.,

t’n

HC

PE

D-

--_____

330p

.73

co

p-—

M&

Yt’

K1

I17

—W

,LL

/41L

——

ICT

OM

ASI

K9.4

30

p—

k-

——

—Jt

-’S

TE

.—

——

scA

Ro

8.5

AR

NO

LD

--

NoJI

VA

t’EN

IJ:r

,zi

——

——

fl)S

TE

P..

——

M.

9.-

S3

OU

LO

AC

PH

A1

51r

CF

P—

——

fj-.

c’e’

i SI’

——

——

L-l

RbR

——

Pro

5c

t-E

EA

-i11

,—

Appendix EInterview Summary

Interview Template and Results Summary, El

Summary of Interviews:

Conducted by: Ranjana Roy, Dhruva Sreenivasan, and Kim RomeikeDate: March 8, 2000Sample Size: 4 CSR Staff Members Affected by the Scheduling Process:

2 Administrative Assistants, 2 Clinical SupervisorsFormat: Very casual question end answer session

The questions and summary of responses are provided below:

> How useful is ANSOS in the scheduling process?

Not very useful and often a hassle to reinput data

How is the working environment?

It is okay, the people are nice... can be noisy when things get busy though.

> What form of communication is utilized most within the Ambulatory Care inCSR?

Phone and email primarily

> How could your job be made easier?

Automating tasks, eliminating redundancy, strict enforcement of deadlines, in generala more efficient scheduling system

> Can you list specific inefficiencies, problem areas, andlor time constraints, thatyou that you feel could be reduced or eliminated, within the schedulingprocedure?

1. Staff did not turn in 4 week schedule form. The Administrative Assistant(s) had tocontact each staff member and obtain their availability, and manually enter the datainto the 4 week schedule form. She has spent nearly 5 hours on this process, wherestaff members could have easily filled out their availability in less than 5 to 10minutes.

2. The Orientation Grid is not up-to-date. The Administrative Assistant(s) has to spendtime figuring out which staff members are approved to work in which clinics(checking for orientation).

3. Updating the Standing Order via email. The Administrative Assistant(s) has to spendtime confirming all vacancies prior to scheduling for holes. This is a very time-consuming and laborious ctivity.

4. Making phone calls tends to be a tedious process since one does not always get a holdof the designated person the first time so numerous phone calls are often made on adaily basis.

> How long does it take to create a 4 week schedule? Break down each task intotimed elements if possible. This will also help us determine where excessive timeis being spent.

The total time spent on one 4 week schedule, is 7 work days with 2 people. A total of84 labor hours. The Administrative Assistant(s) handed out a set of “DevelopmentGuidelines” to be referenced.

> How would you feel about a computer program taking the place of the oversizedbinders currently used for scheduling within Ambulatory Care?

Very open to the idea, but would depend upon how easily the program would adaptinto the scheduling process as a whole.

Appendix FWorkload Analysis Data

• Workload Analysis by Task, Fl• Manual Labor Versus Automated Tasks While Creating 4-Week

Schedule, F2

The

Cre

atio

nof

the

4W

eek

Sch

edule

Rem

inde

rE

mai

l

E-m

ail

CSR

empl

oyee

sto

into

rmth

emof

Sch

edut

eD

istr

ibut

ion

E-m

ail

Clin

icM

anag

ers

and

Indi

vidu

alSt

all

rega

rdin

gtil

ted

PTO

requ

ests

Tra

nscr

ibe

Em

ploy

eeR

eque

stFo

rm

Prin

tC

opie

sof

Cop

book

xis

Whi

teO

utU

8Tem

ploy

ees

itpr

epri

nted

onsc

hedu

lesh

eets

Det

erm

ine

Rot

atio

nof

Em

ploy

ees

Alp

habe

tize

Perm

and

Tem

pFo

rm

Add

Hig

htig

hter

Lin

esto

Sch

edul

eS

heet

s

Tra

nscr

ibe

the

Clin

icR

eque

stFo

lder

Rev

iew

Cal

enda

r

Bla

nkS

ched

ule

Pre

p

Alp

habe

tical

lylis

tth

eav

aila

ble

floa

tC

SRem

toye

es

Tra

nscr

ibe

PTO

Grid

Dis

trib

ute

the

CSR

empl

oyee

sco

pies

ofca

lend

arfo

rms

Ass

ign

Ava

ilabl

eFl

oat

Sta

tt

Tra

nscr

ibe

Cli

nic

sR

eque

st”

Fold

er

Upd

ate

Sla

ndor

dxls

&C

opbo

okxi

s

Pho

toco

pyS

ched

ules

and

Sen

dto

App

ropr

iate

Clin

icM

anag

ers

1S

ched

uler

s

Wri

teC

linic

Ass

ignm

ents

onth

eIn

divi

dual

CSR

staf

fca

lend

arfo

rms

inpu

tFl

oat

Stat

tA

vaila

bilit

y

Rev

iew

“Sta

ndin

gO

rder

s”an

dT

rans

crib

e

Ent

erth

eC

SRS

ched

ule

into

AN

SOS

Sch

edul

erfr

omca

lend

arfo

rms

Tra

nscr

ibe

App

rove

dPT

O

Tra

nscr

ibe

Sch

edul

esR

eque

sts

Fold

er

020

040

060

080

010

0012

0014

0016

0018

0020

00T

ime

(min

ute

s)

Individual TasksTime To Complete In Percentage

Enter the CSR Schedule into ANSOS Scheduler from calendar 7 420 69%Update Standord.xls & Copbook.xls 3 180 30%E-mail Clinic Managers and Individual Staff regarding filled PT 0.083333 5 1%E-mail CSR employees to inform them of Schedule Distributioi 0.083333 5 1%Reminder Email 0.083333 5 1%Transcribe “Schedules Requests” Folder 30 1800 295%Transcribe Approved PTO 18 1080 177% 5040Review Standing Orders and Transcribe 7 420 69%Input Float Staff Availability 4 240 39%Write Clinic Assignments on the Individual CSR staff calendar tom, 4 240 39%Photocopy Schedules and Send to Appropriate Clinic Managers/ 3.333333 200 33%Transcribe Clinic’s Request” Folder 2.5 150 25%Assign Available Float Staff 2 120 20%Distribute the CSR employees’ copies of calendar forms 2 120 20%Transcribe PTO Grid 1.5 90 15%Alphabetically list the available float CSR emloyees 1 60 10%Blank Schedule Prep 0.75 45 7%Review Calendar 0.75 45 7%Transcnbe the “Clinic Request” Folder 0.75 45 7%Add Highlighter Lines to Schedule Sheets 0.5 30 5%Alphabetize Perm and Temp Form 0.5 30 5%Determine Rotation of Employees 0.5 30 5%White Out UBT employees if preprinted on schedule sheets 0.5 30 5%Print Copies of Copbook.xls 0.25 15 2%Transcribe Employee Request Form 0.166667 10 2%

Manual Labor 80 88.6%Automated Tasks 10.25 11.4%

Manual Labor vs. Automation

C Manual Laborstomated Tasks

88.6%

!.M

anual

Lab

or

Man

ual

Lab

orvs.

Auto

mat

ion

11

AO

lI

I.‘

-t•

/0

88.6

%

APPENDIX GVisual Basic Prototype Program

• Source Code. G 1• Printouts of Screens.. G31• Basic Visual Basic Information. G-40

frrnAvaiiabilityl — 1

Cprivate Sub crndFinishedClick()

irn RecpenedOrders,I To 100), clinic As String)im i, round, deie:emade As Integerim ternDanscs, tempdate, temptimebegin, temptimeend As String

im Period As Dare‘eriod = lbiScheduePeriod.Caption

* * * * * * * * * * * * SUNDAY * * * * * * * * * * * * * * * * * * * * *

f ootSunlAvail.Vaiue = True Then

atTimeOff. Reccrdse: Move First

f datTimeOff.Recordset(”ansos”) = lblAnsos.Caption —

And datTimeOff.Recordset(”requestdate”) = lblSunl.Caption ThendatTimeOff. Recordset . DeletedatTirneOff. Recordset . MoveNext

ise: datTimeOff.Recordset.MoveNextnd Ifoop Until datTimeOff.Recordset.EOF = Truend If

f optSurilUnavaii.Value = True Then

datTimeOff. Recordset .AddNewtTimeOff.Recordset (“ansos”) = lblAnsos.Caption

tTimeOff.Recordset (“requestdate”) = lblSunl.CaptiondatTimeOff.Recordset (“aliday”) = 1datTirneOff.Recordset(”reason”) = cmbSunlReason.TextdatTimeOff.Recordset .Update

datWorkOrder. Recordset . MoveFirsti=iDoIf ((datWorkOrder.Recordset(”date”) = lblSunl.Caption) And —

(datWorkOrder.Recordset(”filledby”) = lblAnsos.Caption)) ThendatWorkOrder. Recordset . EditdatWorkOrder.Recordset (“filledby”) =

datWorkOrder. Recordset . UpdateReopenedOrders (i) = datWorkOrder.Recordset (“ordernumber”)clinic = datWorkOrder.Recordset(”clinic”)MsgBox (***The Clinic “ & clinic & “ no longer has coverage for Order#

& RecpenedOrders(i) & “““ & vbCrLf & “Reassign coverage by “ —

& “acing to Welcome screen and selecting:” —

& vbCrLf & “‘Reassign Coverage For Existing Clinic Orders’”)i=i+1datWorkOrder . Recordset . MoveNext

Else: datWorkOrder. Recordset . MoveNextEnd IfLoop Until datwcrkOrder.Recordset.EOF = True

nd If

f ootSun1Partal.Vaiue = True Then- ameSunl.Visible = True

cTimeOff . Recordset . AddNewdatTirneOff.Recordset(”ansos”) = ibiAnsos.CaptiondatTimeOff.Recordset (“requestdate”) = lblSunl.CaptiondatTimeOff.Recordset(”allday”) 0datTirneOff.Recordset(”begintimeoff”) = txtSunlFrom.TextdatTixneOff.Recordset(”endtirneoff”) = txtSunltintil.TextdatTjrneQff.Recordset (“reason”) = crnbSunlReason.TextdatTimeOff . Recorset . Update

datWorkorder. Fsecordset . MoveFirst

rtAvailabilityl - 2

:emptime.Recordset.Edit

dattemptirne.Recordset (“From”) = txtSunlFrom.Text

dattemptime.Recordset(”Untjj”) = txtSunlUntil.Text

Do

If (datWorkOrder.Recordset(”date”) = iblSunl.Caption) And —

(datWorkOrder.Recordset(”filledby”) lblAnsos.Caption) And —

((dattemptime.Recordset(”From”) <= datWorkOrder.Recordset(”timestart”) And

dattemptime.Recordset(”Until”) >= datWorkOrder.Recordset(”timestart”)) Or —

(dattemptime.Recordset(”Frorn”) <= datWorkOrder.Recordset(”timeend”) And

dattemptirne.Recordset(”Until”) >= datworkOrder.Recordset(”timeend”H) Then

datWorkOrder . Recordset Edit

datWorkOrder.Recordset (“filledby”) =

datWorkOrder Recordset . Update

ReopenedOrders (i) datWorkOrder.Recordset (“ordernumber”)

clinic = datWorkOrder.Recordset(”clinic”)

MsgBox (“***The Clinic “ & clinic & “ no longer has coverage for Order# “ —

& ReopenedOrders(i) & vbCrLf & “Reassign coverage by “ —

& “going to Welcome screen and selecting:” —

& vbCrLf & “‘Reassign Coverage For Existing Clinic Orders’”)

i=i+ldatWorkOrder. Recordset . MoveNext

Else: datWorkOrder. Recordset . MoveNext

End IfLoop Until datWorkOrder.Recordset.EOF = True

rid* * *** * ****** * *****MONDAY******** ** *** ******

f optMonlAvail.Value = True Then

atTimeOff. Recordset .MoveFirst

f datTimeOff.Recordset(”ansos”) = lblAnsos.Caption —

And datTimeOff.Recordset (“requestdate”) = lblMonl .Caption Then

datTimeOff. Recordset . Delete

datTiineOff. Recordset .MoveNext

lse: datTimeOff. Recordset .MoveNext

nd Ifloop Until datTimeOff.Recordset.EOF True

rid If

:f optMonlUnavail.Value = True Then

datTimeOff. Recordset .AddNew

S datTimeOff.Recordset(”ansos”) = lblAnsos.Caption

datTimeOff.Recordset (“requestdate”) = lblMonl.Caption

datTimeOff.Recordset(”allday”) = 1

datTimeOff.Recordset (“reason”) = crnbMonlReason.Text

datTimeOff. Recordset . Update

datWorkOrder. Recordset . MoveFirst

i=lS

DoIf ((datworkOrder.Recordset(”date”) = lblMonl.Caption) And —

(datWorkOrder.Recorc5set (“filledby”) = lblAnsos.Caption)) Then

k datWorkQrder.Recordset.Edjt

datWorkOrder.Recordset(”filledby”) =

datWorkOrder. Recordset . Update

ReopenedOrders (i) = datWorkOrder. Recordset (“ordernumber”)

clinic = datWorkOrder.Recordset(”cliriic”)

MsgBox (“***The Clinic “ & clinic & “ no longer has coverage for Order “

S

& ReopenedOrders(i) & “‘“ & vbCrLf & “Reassign coverage by “ —

& “going to Welcome screen and selecting:” —

& vbCrLf & “‘Reassign Coverage For Existing Clinic Orders’”)

=lt1kflr(- Reccrdset .McveNext

vailabilityl — 3

: datWorkOrder. Recordset . MoveNext

If:ocp Until datWorkOrder.Recordset.EOF = True

c.DtonlPartial.Value = True Then

frameMonl.Visible = True

dacTimeOff. Recordset . AddNew

datTimeOff.Recordset(”ansos”) = lblAnsos.Caption

datTimeOff.Recordset(”requestdate”) lblMonl.Caption

datTirneOff.Recordset (“aliday’) = 0

datTimeOff.Recordset(”begintjmeoff”) = txtMonlFrom.Text

darTimeOff.Recordset(”endtimeoff”) = txtMonlUntil.Text

datTirneOff.Recordset (“reason”) = cmbMonlReason.Text

darTirneOff Recordset. Update

datWorkOrder. Recordset . Move First

dattemptime . Recordset . MoveFirst

dattemptime . Recordset . Edit

dattemptirne.Recordset (“From”) = txtMonlFrom.Text

dattemnptimne.Recordset (“Until”) = txtMonlUntil.Text

i=lDo

(datWorkOrder.Recordset(”date”) = lblMonl.Caption) And —

(datWorkOrder.Recordset (“filledby”) = lblAnsos.CaptiQn) And —

(dattemptime.Recordset(”From”) <= datWorkOrder.Recordset(”timestart”) Arid —

datternptime.Recordset (“Until”) >= datWorkOrder.Recordset (“timestart”)) Or

(dattemptime.Recordset (“From”) <= datWorkOrder.Recordset (“timeend”) Arid

dattemptime.Recordset (“Until”) >= datworkOrder.Recordset (“timeend”H) Then

datWorkOrder. Recordset . Edit

datWorkOrder.Recordset (“filledby”) =

datWorkOrder. Recordset . Update

ReopenedOrders (i) = datWorkOrder.Recordset (“ordernumber”)

clinic = datWorkOrder.Recordset (“clinic”)

MsgBox (‘***The Clinic “ & clinic & “ no longer has coverage for Order# “ —

& ReopenedOrders(i) & ““ & vbCrLf & “Reassign coverage by “ —

& “going to Welcome screen and selecting:” —

& vbCrLf & “‘Reassign Coverage For Existing Clinic Orders’”)

i=i+1datWorkOrder. Recordset . MoveNext

ise: datWorkOrder. Recordset . MoveNext

End Ifoop Until datWorkOrder.Reccrdset.EOF = True

rieremade = 0

tTimeOff . Recordset .MoveLast

ounn =

:und > 1 Then

a:TimeOff. Recordset .MoveLast

:TimeOff . Recordset . MovePrevious

= rouna1

cp Until x = 1

:niAvailabilityl — 4

mpa.isOS = datTimeOtf.Recordset (“ansos”)

enpoate = datTirneOff.Recordset(”requestdate”)

ernptirnebegin = datTirneOff.Recordset(”begintimeoft”)

emptimeend = datTimeOff.Recordset(”endtimeoff”)

etTimeOfi Recordset Move Previous

datTimeOff.Recordset(”ansos”) tempansos

And datTimeOff.Recordset(”requestdate”) tempdate Then

datTimeOff. Recordset . Delete

deleternade = 1

datTimeOff. Recordset . MovePrevious

round = round - 1

se: datTimeOff. Recordset . MovePrevjous

ndIfDOp Until datTimeOff.Recordset.BOF = True

ouno = round + 1

ooc Until datTimeOff Recordset BOF = True

atTimeOff.Recordset.MoveLast

xtSunlFrorn.Text = “12:00am”

xtSunlUntil.Text = “11:59pm”

;rnbSunlReason.Text = “reason?”

xtMonlFrom.Text = “12:00am”

xtMonlUntil.Text = “11:59pm”

;mbMonlReason.Text = “reason?”

:xtesiFrom.Text = “12:00am”

:xtTueslUntil.Text = “11:59pm”

mbTues1Reason.Text = “reason?”

xtWed1From.Text = “12:00am”

xtWedlUntil.Text = “11:59pm”

DrnbWedlReaSon.Text = “reason?”

xtThurslFrom.Text = “12:00am”

xtThurs1Until.Text = “11:59pm”

zmbThurslReason.Text “reason?”

lxtFrilFrom.Text = “12:00am”

}xtFrilUntil.Text “11:59pm”

DmbFrilReason.Text = “reason?”

:xtSatlFrom.Text = “12:00am”

ixtSatlUntii.Text = “11:59pm”

DmbSatiReason.Text = “reason?”

rmEmployeeMenu. Show

IrmAvaiiabilityl . Hide

nd Sub

?rivate Sub cmdShowWk2Click()

ub

?rivate Sub Form Load()

im done As Integer

datTimeOff.Databaseame = App.Path & “\CSRdatabase.mdb”

‘datTimeOff.Refresh

dattemptirne.DatabaseName = App.Path & “\CSRdatabase.mdb”

datternptirne.. Refresh

oa:WorkOrder.DatabaseName = App.Path & “\CSRdatabase.mdb”

‘WorkC)rder Refresh

raAvaiiability2 — 1

C

:vae Sub cmdWeeklClick()

mAvailabilityl . Show

:mAvailability2 Hide

i Sub

;jvae Sub cmdWeek3Click()

:rAvaiiabiiity3 Show

mAvaiiabi1ity2 . Hide

d Sub

rivate Sub Form Load()

2atTimeOff.DatabaseName = App.Path & “\CSRdatabase.rndb”

iatTimeQff Refresh

attemptime.DatabaseName = App.Path & “\CSRdatabase.mdb”

attemptime Refresh

atWorkOrder.DatabaseName = App.Path & “\CSRdatabase.mdb”

ubtWorkOrder Refresh

d Sub

rnAvailabilitY3 - 1

Explicit

ivare Sub cmdWeek2Click()

raAvailability2. Show

Availability3 . Hide

Sub

:ivate Sub cmdWeek4Click()

;raAvailability4 . Show

zrvailability3 . Hide

d Sub

rivate Sub Option7Click()

a Sub

rivate Sub Form Load()

atTimeOff.DatabaseName = App. Path & “\CSRdatabase.mdb”

tTirneOff . Refresh

attemptime.DatabaseName = App.Path & “\CSRdatabase.mdb’

attemptime.Refresh

atworkorder.DatabaseName = App.Path & “\CSRdatabase.mdb”

atworkOrder. Refresh

rid Sub

rJvai1abi1ity4 — 1

ivate Sub cmdWeek3Click()

Avai1abi1ity3. Show

aAvailability4 Hide

.d Sub

-ivate Sub ForrnLoad()

tTizneOff.DatabaseName = App.Path & “\CSRdatabase.mdb”

tTimeOff. Refresh

ttemptime.DatabaseName = App.Path & “\CSRdatabase.mdb”

tternptime.Refresh

tWorkOrder.DatabaseName = App.Path & “\CSRdatabase.mdb”

tWorkOrder.Refresh

:d Sub

nCandidates - 1

v Sub cmdNextCljck()

seiected, ansos, SpacePos As String

Selectedlndex As Integer

lblNoCandidates.Caption = “0” Then

Welcome. ShownCandidates . Hide

If lstPerm.Listlndex <> —1 Then

selected = lstPerm.Text

Elself lstTemp.Listlndex <> —1 Then

selected = lstTemp.Text

ElseMsgBox (“You have not selected a name!”)

End If

acePos = InStr(1, selected, “

.sos = Trim$(Left$(selected, SpacePos — 1))

-rnEnterClinicRequest ! datOrders. Recordset . MoveLast

nnEnterClinicRequest ! datOrders . Recordset . Edit

rnEnterClinicRequest ! datOrders . Recordset (“filledby”) = ansos

rmEnterC1inicRequest !datOrders.Recordset (“filledby”) —

= ansos

ome.ShowmCandidates . Hide

ld Ifid Sub

nCliniclnfo — 1

Explicit

ivate Sub cmdBackClick()

count, k As Integer

ClinicArrayCO To 500) As String

mCliniclnfo Hide

mupdateClinic datClinic. Recordset MoveFirst

-mupdateClinic! crnbClinics . Clear

:mtipdateClinic! cnibClinics .Addltem

:mUpdateClinic!cmbClinics.Text = “(select clinic from list)”

unt 0

CiinicArray(count) = frmtipdateCiinic!datClinic.Recordset (“name”)

frm[JpdateClinic! datClinic . Recordset MoveNext

count = count + 1

:op While frmUpdateClinic!datClinic.Recordset.EOF False

rrnUpdateClinic! cmbClinics .Addltem

=0

frmUpdateClinic cmbClinics .Addltem ClinicArray (k)

k= k+ 1Dop While k < count

rrnUpdateClinic. Show

nd Sub

rivate Sub cmdFinishClick()

rmC1 iniclnfo.Hide

cm -iicMenu! lblname.Caption = lblClinicName.Caption

rmCnicMenu! iblAnsos Caption = txtAnsos Text

rmClinicMenu. Show

rid Sub

rivate Sub Form Load()

atClinic.DatabaseName = App.Path & “\CSRdatabase.mdb”

atClinic. Refreshrid Sub

rnClinicMenu - 1

Explicit

-ivate Sub cmdNextClick()

rn ClinicName, Query As String

f optRequest.ValUe = True Then

rnClinicMenu. HidernEnterClinicRequest iblAnsos . Caption = iblArisos Caption

ZinicName = lblname.Caption

rnEnterClinicRequest datOrders . Recordset . AddNew

rrnEnterClinicRequest !datOrders.Recordset (“clinic”) = ClinicName

rmEnterClinicRequest datOrders . Recordset . Update

rrnEnterClinicRequest datOrders . Recordset . MoveLast

rrnEnterClinicRequest . Show

id If

idSub

rivate Sub Form Load()

atOrders.DatabaseName = App.Path & “\CSRdatabase.mdb”

atorders . RefreshndSub

-ncurrentSchedule — 1

zi Explicit

:vate Sub CalendarlClick()

i As Integer

:a:eSelected.Caption Calendarl.Value

= grdSample.Rows

ciSarnple.Removeltem (i)

=i -1p Until I = 2

liGridSub

:ivate Sub SetupRecordset()

EmcloyeeInfo . Refresh

tTimeOff. Refresh

atWorkOrders . Refresh

d Sub

rivate Sub crndBackClick()

rinWelcome. ShowrmCurrentSchedule. Hide

rid Sub

rivate Sub Form Load()

atEmoloyeeInfo.DatabaseName = App.Path & “\CSRdatabase.mdb”

atEmDloyeeInfo. Refresh

.atTimeOff.DatabaseName App.Path & “\CSRdatabase.mdb”

iatTimeOff . Refresh.atWorkOrders.DatabaseName = App.Path & “\CSRdatabase.mdb”

iatWorkOrders . Refresh

bloateSelected.Caption = Date

etuRecordsetetupGrid-

— -- 1

nd Sub

rivae Sub SetupGrid()

‘im WideString As String

;irn C As Integer, GridWidth As Integer

\‘ideString = String$(4,

rrdSampie.ColWidth(O) =

ideString = Strings (4,

rdSarnple.ColWidth(1) =

.‘ideString = StringS (3,

;rdmple.ColWidth2)

r nple.ColWidth(3) =

rcimple.ColWidth(4) =

rdSample.ColWidth(5)

rrdSample.ColWidth(6)

rdSample . ColWidth (7) =

rdSample.ColWidth(8) =

roSample.ColWidth(9) =

rrdSample. ColWidth (10) =

rdSample.ColWidth(1l) =

:rcSlrnple . ColWidth (12) =

c-1w-t-h(13) =

“X”TextWidth (WideString)

TextWidth (WideSt ring)

“X”TextWidth (WideSt ring)

TextWidth (WideString)

TextWidth (Widest ring)

TextWidth (WideString)

TextWidth (Widest ring)

TextWidth (WideString)

TextWidth (WideStririg)

TextWidth (WideSt ring)

TextWidth (WideString)

TextWidth (WideString)

TextWidth (WideString)

TextWidth (WideString)

mCurrentSchedule - 2

:iS le.ColWidth(14) = Textwidth(WideString)

r C = 0 To 14GridWidth = GridWidth + grdSample.ColWidth(C)

:t C

Sample. TextMatrix (0,

dsample. TextMatrix (0,

3Sample. TextMatrix (0,

dSample. TextMatrix(0,

dSample. TextMatrix (0,

dSarnpie. TextMatrix (0,

:dSample TextMatrix (0,

dSarnple. TextMatrix(0,

:dSarnple TextMatrix(0,

:dSarnple. TextMatrix(D,

dSample. TextMatrix CD,

dSample. TextMatrix(0,

dSample. TextMatrix (0,

dSample TextMatrix(O,

dSainple. TextMatrix (0,

id Sub

ivate Sub FillGrid()

= “Last Name”= “First Name”= “ANSOS”= “Clinicl”= “From: “

= “Until:”= “Reason:”= “Cliriic2”= “From:”= “Until:”

= “Reason:”= “Clinic3”= “From:”= “Until:”= “Reason:”

Dnst NUMEMPLOYEES = 100

..rn NewRow, LastName, FirstName, ansos As String

im count, i, j, a, g, round, 0, p, z As Integer

irn DateSelected As Date

im eduleArray(0 To NUMEMPLOYEES, 0 To 14), q, w, e, r, t, y As String

ateSelected = lblDateSelected.Caption

atEmployeelnfo. Recordset . MoveFirst

=0

astName = datEmployeelnfo.Recordset(”lastname”)

irstName = datEmployeelnfo.Recordset (“firstname”)

.nsos = datEmployeelnfo.Recordset (“ansos”)

cheduleArray(i, 0) = LastName

cheduleArray(i, 1) = FirstName

cheduleArray(i, 2) = ansos

:atEmployeelnfo. Recordset MoveNext

=i+1

oop Until datEmployeelnfo.Recordset . EOF True

:f ScheduleArray(z, 0) > ScheduleArray(z + 1, 0) Then

z=z + 1ise

q = ScheduleArray(z, 0)

w = ScheduleArray(z + 1,

= ScheduleArray(z, 1)

= ScheduleArray(z + 1,

c = ScheduleArray(z, 2)

y = ScheduleArray(z + 1,

ScheduleArray(z, 0) = w

ScheduieArray(z + 1, 0) = q

ScheduleArray(z, 1) = r

ScheduleArray(z + 1, 1) = €

ScheduleArray(z, 2) = y

ScheduleArray(z + 1, 2) = t

0)1)2)3)4)5)6)7)8)9)10)11)12)13)14)

0)

1)

2)

-mcurrentSchedule - 3

:OD nIle z < i + 3

p=pti

:00 While p < i + 3frflAAAAAAAA A AAAAAAA A A

oTimeOff . Recordset MoveFirst

f (datTimeOff.Recordset(”requestdate”) = DateSelected And —

datTimeOff.Recordset(”ansos”) = ScheduleArray(a, 2)) Then

If ScheduleArray(a, 3) = ““ Then

ScheduleArrav(a, 3) =

If datTimeOff.Recordset(”aUday”) = 1 Then

ScheduleArray(a, 4) = “ALL DAY”

ScheduleArray(a, 6) = datTirneOff.Recordset(”reason”)

a=a+ 1Else: ScheduleArray(a, 4) = datTimeOff.Recordset(”begintimeoff”)

ScheduleArray(a, 5) = datTimeOff.Recordset(”endtimeoff”)

ScheduleArray(a, 6) = datTimeOff.Recordset(”reason”)

a=adatTimeOff. Recordset . MoveNext

End If

Elself ScheduleArray(a, 7) = ‘“ Then

ScheduleArray(a, 7) =

ScheduleArray(a, 8) = datTimeoff.Recordset(”begintimeoff”)

ScheduleArray(a, 9) = datTimeOff.Recordset(”endtirneoff”)

ScheduleArray(a, 10) = datTimeOff.Reccrdset(”reason”)

a=adatTirneOff. Recordset . MoveNext

Else: ScheduleArray(a, 11) = vv**oFF**I

ScheduleArray(a, 12) = datTimeOff.Recordset(”begintimeoff”)

ScheduleArray(a, 13) = datTimeOff.Recordset(”endtirneoff”)

ScheduleArray(a, 14) = datTimeOff.Recordset(”reason”)

a=a+ 1

End If

:15e datTirneOff. Recordset . MoveNext

d Ifoop While datTimeOff.Recordset.EOF = False

ktWorkOrders . Recordset . MoveFirst

f (datWorkOrders.Recordset(”date”) = DateSelected And —

datWorkOrders .Recordset (“filledby”) = ScheduleArray(a, 2)) Then

If ScheduleArray(a, 3) ““ Then

ScheduleArray(a, 3) = datWorkOrders.Recordset(”clinic”)

ScheduleArray(a, 4) = datWorkOrders.Recordset(”timestart”)

ScheduleArray(a, 5) = datWorkOrders.Recordset(”timeend’T)

ScheduleArray(a, 6) = datWorkOrders.Recordset(”reason”)

datWorkOrders . Recordset . MoveNext

Elself ScheduleArray(a, 7) = ““ Then

ScheduleArray(a, 7) = datWorkOrders.Recordset(”clinic”)

j ( ScheduleArray(a, 8) = datWorkOrders.Recordset(”tirnestart”)

ScheduleArray(a, 9) = datWorkOrders.Recordset(”timeend”)

ScheduleArray(a, 10) = datWorkOrders.Recordset(”reason”)

datWorkOrders . Recordset . MoveNext

Else: ScheduleArray(a, 11) = datWorkOrders.Recordset(”clinic”)

ScheduleArray(a, 12) = datWorkOrders.Recordset(’timestart”)

ScheduieArray(a, 13) = datWorkOrders.Recordset (“timeend”)

ScheduleArray(a, 14) = datWorkOrders.Recordset(”reason”)

W-rIflrders . Recordset . XoveLast

CurrentSchedule - 4

End Ifse: datworkOrders. Recordset . MoveNext

p While datworkOrders.Recordset.EOF False

=a+lop While a < i

NewRow = ScheduleArray(O, 0) & vbTab & ScheduleArray(O, 1) &

vbTab & ScheduleArray(O, 2) & vbTab & —

ScheduleArray(O, 3) & vbTab & —

ScheduleArray(O, 4) & vbTab & ScheduleArray(O, 5) & vbTab & —

ScheduleArray(O, 6) & vbTab & ScheduleAxray(O, 7) & —

vbTab & ScheduleArray(O, 8) & vbTab & —

ScheduleArray(O, 9) & vbTab & —

ScheduleArray(O, 10) & vbTab & ScheduleArray(O, 11) & vbTab &

ScheduleArray(O, 12) & vbTab & ScheduleArray(O, 13) & —

vbTab & ScheduleArray(O, 14)

grdSample .Addltem NewRow

0=0-1

oop Until C = 0 - 1

nd Sub

mEmployeelflfO - 1

Czvate Sub cmdBacClick()

count, k As IntegerEmpioyeeArray(0 To 500) As String

nEmpioyeelnfo. Hide

-mupdateEmployee! datEmployee . Recordset MoveFirstpd5teEmployee! cmbNames Clear

mUpdateEmployee cmbNames . Addltem

rnUDdateEmpioyee!crnbNames.Text = “select a name from list)”

unt=0 V

ErnpioyeeArray(count) = frmupdateEmployee! datEmployee.Recordset (“lastname”)

& “, “ & frmupdateEmployee!datEmployee.Recordset(”firstname”)

frmupdateErnployee datEmployee. Recordset MoveNext

count = count + 1op While frmtipdateErnployee!datEmployee.Recordset.EOF = False

mUpdateEmployee! cmbNames.Addltem

=0

frmtjpdateEmployee! crnbNames.Addltem EmployeeArray(k)

k=k+ 1op While k < count

:mtipdateEmployee. Show

ivate Sub crndFinishClick()

rmEmployeelnfo. HidemEmployeeMenu ibiname. Caption = lblLastName . Caption &

“ & lblFirstName.Caption

rmEmployeeMenu! lblAnsos.Captiori = txtAnsos .Text

mEmployeeMenu Calendarl . Value = Date

mEmDloyeeMenu. Show

id Sub

ivate Sub Form Load()atEmcioyee.DatabaseName = App.Path & “\CSRdatabase.mdb”

tEmDloyee . Refreshd Sub

rmEmployee4eflU - 1

ot Explicit

rivate Sub cmdCancelClick()

rrnEmployeelnfo. ShowrrnEmployeeMeflu. Hide

rid Sub

rivate Sub cmdNextClick()

im Period, InitialDate, CurrentDate, TargetDate As Date

im i, done As Integer

argetDate = Calendarl.Value

nitialDate = Calendar2.Value

optCurrent.Value = True Then

=0

• =1+1oop Until (TargetDate >= (InitialDate + (7 * U)) And

(TargetDate < (InitialDate + (7 * (i + 1))))

?er 1 = InitialDate + (7 *

j)

rmAvailabilityl lblSchedulePeriod.Caption = Period

rmAvailabilityl!lblSunl.Caption = Period + C

rmAvailability1!lblMon1.Caption = Period + 1

irrnAvailabilityl!lblTuesl.Caption = Period + 2

rmAvailabilityl!lblWedl.Caption = Period + 3

rrnAvailabilityl!lblThursl.Caption = Period + 4

:rmAvailabilityl!lblFril.Caption = Period -I- 5

rrnAvailability1!lblSat1.Caption = Period + 6

rmAvailability1 lblAnsos . Caption iblArisos Caption

rrnAvailability1 lblFullName. Caption = ibiname. Caption

‘Week 1

TrmAvailabilityl datTirneOff. Recordset .MoveFirst

lone =

jof (frmAvailabilityLdatTimeOff.Recordset(”ansos”) = lblAnsos.Caption —

/nd frmAvailabilityl!datTimeoff.Recordset(”requestdate”) = Period) Then

frrvailabilityl!datTimeOff.Recordset(”allday”) = 1 Then

frmvailabiiity1!optSunlUnavail.Value = True

frmAvailabilityl !cmbSuniReason.Text = frmAvailabilityl!datTirneoff.Recordset(”reason”)

done=1Else: frmAvailabilityl!optSunlPartial.Value = True

frmAvailabilityl!txtSuniFrorn.Text = frmAvailabilityl!datTimeOff.Recordset(”begintimeoff

frmAvailabilityl!txtSuriiUntil.Text = frmAvailabilityl!datTirneOff.Recordset(”endtimeoff”

frrnAvailabilitvl!cmbSurJReason.Text = frrnAvailabilitylldatTirneOff.Recordset(”reason”)

rrnEmployeeMeflU — 2

CEnd If

_se:rmA-;aliaDlllty! !aatTimeOff. Recordset MoveNext

op Until (frvailabilityl!datTimeOff.Recordset.EOF = True) Or (done = 1)

done = 0 ThenrvaiIabilitvl optSunlAvail .Value True

no* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

rAvailabilityl datTimeOff Recordset .MoveFirst

Dne = 0

(frmAvailabilityl!datTimeoff.Recordset(”ansos”) = lblAnsos.Caption —

And frmAvailabili:yl!datTimeOff.Recordset(”requestdate”) = Period + 1) Then

If frxnAvailabilityl!datTiineOff.Recordset(”allday”) = 1 Then

frrnAvailabilityl I optMonlUnavail Value = True

frmAvailabilityl!cmbMonlReason.Text = frrnAvailabilityl!datTimeOff.Recordset(”reason”)

done = 1Eise: frmAvailabilityl!optMoniPartial.Value = True

frmAvailabilityl!txtMonlFrom.Text = frmAvailabilityl!datTimeOff.Recordset(”begintimeoff

frinAvailabilityl!txtMonlUntil.Text = frmAvailabilityl!datTimeOff.Recordset(”endtimeoff”

frmAvailabilityl!cmbMonlReason.Text = frmAvailabilityl!datTimeOff.Recordset(”reason”)

done = 1End If

iS frrnAvailabilityl I datTimeOff. Recordset . MoveNext

ndop Until (frmAvaiiabilityl!datTimeOff.Recordset.EOF = True) Or (done = 1)

f done = 0 ThenrmAvailabilityl I optMonlAvail . Value = True

nd If* ****** * ********* ****************

rmAvailabilityl datTirneOff. Recordset . MoveFirst —

one = 00

f (frrnAvailabilityl!datTimeOff.Recordset(”ansos”) = iblAnsos.Caption —

And frmAvailabilityl!datTimeOff.Recordset(”requestdate”) = Period + 2) Then

If frvailability1!datTimeOff.Recordset(”allday”) = 1 Then

frvailabilityl!optTueslUnavail.Value = True

frmAvailabilityl!cmbTueslReason.Text = frmAvailabilityl!datTimeOff.Recordset(”reason”)

done = 1Else: frn’Availabiiityl optTueslPartial .Value = True

frmAvailabilityl!txtTueslFrom.Text = frmAvailabilityl!datTimeOff.Recordset(”begintimeof

frmAvailabilityl!txtTueslUntil.Text = frmAvailabilityl!datTimeOff.Recordset(”endtirneoff

frmAvailabilityl!cmbTueslReason.Text = frrnAvailabilityl!datTimeOff.Recordset(”reason”)

done = 1End If

1)se: frrnAvailabilityl ! datTimeOff. Recordset 4oveNext

Ifoop Until (frrnAvailabilityl!datTimeOff.Recordset.EOF = True) Or (done = 1)

done = 0 Thenrrr iiabilityl!optTueslAvaii.Value = True

:nd f

mAvaiiability1 IdatTimeOff.Recordset.Movepirst

:Dfle = 0

f (frmAvaiiabilityl!datTimeOff.Recordset(”ansos’) = lblAnsos.Caption —

And frrriAvailabilityl!datTimeOff.Recordset(”requestdate”) = Period + 3) Then

frmAvailabilitvi!datTirneOff.Recordset(”allday”) = 1 Then

frrnAvailabilitvl I optWedlUnavail .Value = True

rnEmployeeMenu - 3

( vailabilitv1!cNedlReason.Text = frvailability1!datTimeOff.Recordset(”reason”)

oone =

Else: frrvaiiabilityl!optWedlPartial.Value = True

ffrrvaiiabiiityl!txtWedlFrom.Text = frmAvailabilityl !datTirneOff.Recordset(”begintimeoff

ffraAvailabilityl!txtWedluntil.Text = frmAvailabilityl!datTimeOff.Recordset(”endtimeoff”

frrnAvailabilitylcinbWed1Reason.Text = frmAvailabilityl!datTimeOff.Recordset(”reasori’t)

done = I

End If..se: frrnAvailabilityl!datTirneOff.RecordsetjoveNext

d IfDop Until (frrrvailability1!datTimeOff.Recordset.EOF = True) Or (done 1)

done = C Then

rinAvailabilityl optWedlAvail Value = True

-d If

rrnAvailabilityl !datTimeOff.Recordset .MoveFirst

Dne = 0D

f (frmAvailabilityl!datTimeOff.Recordset(”ansos”) = lblAnsos.Caption —

And frrn.Availabilityl!datTimeOff.Recordset(”requestdate”) = Period + 4) Then

If frinAvailabilitvl!datTimeOff.Recordset(”allday”) = 1 Then

frrnAvailabilityl I optThurslUnavail Value = True

frrnAvailabilityl !cmbThurslReason.Text = frrnAvailabilityl!datTimeOff.Recordset(”reason”)

done = 1Else: frrnAvailabilityl optThurslPartial.Value = True

frrnAvailabiiityl!txtThurslFrom.Text = frmAvailabilityl!datTirneOff.Recordset(”begintimeo

frmAvailabilityl!txtThurslUntil.Text = frmAvailabilityl!datTimeOff.Recordset(endtimeof

‘I )frrnAvailabilityl!crnbThurslReason.Text = frmAvailabilityl!datTimeOff.Recordset(”reason”)

done = 1

End Ifilse: frmvailabilityl datTimeOff. Recordset . oveNext

nd Ifoop Until (frmAvailabilityl!datTimeOff.Recordset.EOF = True) Or (done 1)

f done = 0 Then

rmAvailability1loptThurslAvail.Value = True

nd If

* * * * * ** * * * * FRI DAY# 1 * * * * * * * * * * * * * * * * * * * ** * * * * *

rrnAvaiiabilityi datTimeOff. Recordset .MoveFirst

one = 0

Jf (frmAvailabilityl!datTimeOff.Recordset (“ansost’) = lblAnsos.Caption —

And frrnAvaiiabilityl!datTimeOff.Recordset.(t’requestdate”) = Period + 5) Then

If frrnAvailabiiityl!datTimeOff.Recordset(’tallday”) = 1 Then

frmAvailabilityl!optFrilUnavail.Value= True

frmAvailabilityl!crnbFrilReason.Text = frrnAvailabilityl!datTimeOff.Recordset(”reason”)

done = 1Else: frmAvailabilityl!optFrilPartial.Value = True

ffrmAvailabilitylltxtFrilFrom.Text = frrnAvailabilityl!datTinieOff.Recordset(”begintixneoff

frrnAvailabilityl!txtFrilUntil.Text = frmAvailabilitylldatTimeOff.Recordset(”endtimeoff”

I C frvailability1!cmbFriiReason.Text = frmAvailabilityl!datTimeOff.Recordset(”reason”)

done = 1;_• ,-

jise: frmAvailabilityl!datTimeOff.Recordset.MoveNext

End foop Until (frrnAvaiiabilityl!datTimeoff.Recordset.EOF = True) Or (done = 1)

f done = 0 Then

YrrnAvailabilityllcptFrilAvail.value = True

End If* * * * * * * * * * ATURDAY# 1 * * * * * * * * * * * * * * * * * * * * * * * * *

rmEmployeeMeflU - 4

ilabilityl datTimeOff Recordset . oveFirst

- 0

ffrnAvailabilityl datTimeOff. Recordset (“ansos”) = iblAnsos . Caption —

And frmAvailabilityl!datTimeOff.Recordset(”requestdate”) = Period + 6) Then

:f frrnAvailability1datTimeOff.Recordset(”allday”) = 1 Then

frmAvailabilityl optSatlUnavail . Value = True

frmAvailabilityl!crnbSatlReasori.Text = frinAvailabilityl !datTimeOff.Recordset(”reason”)

done = 1Else: frmAvailabilityl!optSatlPartial.Value = True

frrnAvailabilityl!txtSatlFrom.Text = frmAvailabilityl!datTimeOff.Recordset(”begintimeoff

frmAvailabilityl!txtSatlUntil.Text = frinAvailabilityl!datTirneOff.Recordset(”endtimeoff”

frrnAvailabilityl!cmbSatlReason.Text = frmAvailabilityl!datTimeOff.Recordset(”reason”)

done = 1End If

Ise: frmAvailabilityl datTimeOff. Recordset . MoveNext

rid Ifop Until (frmAvailabilityl!datTirneOff.Recordset.EOF = True) Or (done = 1)

done = 0 ThenrrnAvailabilityl ! optSatlAvail . Value = True

rid If

rrnAvailabilityl. ShowrmErnDloyeeMenu. Hide

0.nd Ifnd Sub

mEnterClifliCReqUeSt — 1

Explicit

ivate Sub cmdNextClick()

status, clinic, reauestdate, tirnestart, tirneend, reason, ansos, eligible As String

_rn potential, failure As Integer

atOrders Recordset MoveLast

inic = datOrders Recordset (“clinic”)

tatus = datOrders.Recordset (“i-n”)

2questdate = datOrders . Recordset (“date”)

imestart = datOrders Recordset (“timestart”)

meend datOrders.Recordset(”timeend”)

3ason = datOrders Recordset (“reason”)

ilure = 1

reason = “Orient” Then

atEmployeelnfo. Recordset . MoveFirst

risos = datEmployeelnfo.Recordset (“ansos”)

datOrient. Recordset . MoveFirst

DoIf Not (datOrient.Recordset(”clinic”) = clinic And

rtOrient.Recordset(”ansos”) = ansos) Then

Orient. Recordset . MoveNext

utential = 1Else:potential = 0End IfLoop Until datOrient.Recordset.EOF True Or potential 0

f potential = 1 Then

datOrders . Recordset . MoveFirst

Do

If ((datOrders.Recordset(”date”) = requestdate) And —

(datOrders.Recordset(”filledby”) = ansos) And —

((timestart <= datOrders.Recordset(”timestart”) And —

timeerid >= datOrders.Recordset(”tirnestart”)) Or —

(timestart <= datOrders.Recordset(”timeend”) And —

timeend >= datOrders.Recordset(”timeend”H)) Then

potential = 0

Else: potential = 1datOrders . Recordset .MoveNext

End IfLoop Until (datOrders.Recordset.EOF = True) Or potential = 0

rid If

.i potential = 1 ThendatTimeOff. Recordset . MoveFirst

- r)

f ((datTimeOff.Recordset(”requestdate”) = requestdate) And —

(datTimeOff.Recordset(”ansos”) = ansos) And —

((timestart <= datTimeOff.Recordset (“begintimeoff”) And

timeend >= datTimeOff.Recordset(”begintimeoff”)) Or

(timestart <= datTimeOff.Recordset(”endtimeoff”) And

timeend >= datTimeQff.Recordset(”endtimeoff”)) Or —

(datTimeOff.Recordset(”allday”) = 1H) Then

Potential = 0

-.EnterClinicRequest - 2

E : potential = 1

ntTirneOff . Recordset MoveNext

End IfLoop Until (datTimeOff.Recordset.EOF = True) Or potential = 0

If

potential = 1 And datEmployeelnfo.Recordset(”rn”) = status> Then

failure = 0If datEmployeelnfo.Recordset(”perrn”) = “Regular” Then

frmCandidates!lstPerm.Addltem datEmployeelnfo.Recordset(”ansos”)

& “ “ & datEmployeelnfo.Recordset(”lastname”) & “, “ & —

datEmployeelnfo.Recordset (“firstname”)

ElsefrmCandidates lstTemp.Addltem datEmployeelnfo.Recordset (“ansos”)

& “ & datEmployeelnfo.Recordset(”lastname”) & “, “ &

datEmployeelnfo.Recordset (“firstname”)

End If

d If

.tEmployeelnfo . Recordset . MoveNext

op Until datEmployeelnfo.Recordset.EOF = True

self reason = “Coverage” Then

tEr”mloyee Info. Recordset Move First

isos = datEmployeelnfo.Recordset(”ansos”)

datOrient Recordset . MoveFirst

DoIf (datOrient.Recordset(”clinic”) = clinic And —

datOrient.Recordset (“ansos”) = ansos) Then

potential = 1Else:datOrient .Recordset .MoveNext

potential = 0End IfLoop Until datOrient.Recordset.EOF = True Or potential 1

potential = 1 Then

datOrders .Recordset .MoveFirst

Do

If ((datOrders.Recordset(”date”) = requestdate) And —

(datOrders.Recordset(”filledby”) = ansos) And —

((timestart <= datOrders.Recordset(”timestart”) And

timeend >= datOrders.Recordset(”timestart”)) Or —

(timestart <= datOrders.Recordset(”timeend”) And —

timeend >= datOrders.Recordset (“timeend”)H) Then

potential = 0

Else: potential = 1

tOrders . Recordset MoveNext

id IfLoop Until (datOrders.Recordset.EOF = True) Or potential = 0

nd If

potential = 1 Then

datTimeOff. Recordset . MoveFirst

Do

) If ((datTimeOff.Recordset(”requestdate”) = requestdate) And —

datTimeOff.Recordset(”ansos”) = ansos) And

((timestart <= datTirneOff.Recordset(”begintirneoff”) And

rrnScheduleMeflu - 1

1 Explicit

Erivate Sub cmdCancelClick()rrnScheduleMenu. Hidernwelcome Showrd Sub

rivate Sub cmdNextClick()

:f optRegularRN.Value = True ThenrmCurrentSchedule Calendarl . Value = DatermCurrentSchedule. ShowrmScheduleMenu. Hide

nd Sub

rnUpdateClinic - 1

Explicit

rivate Sub cmbClinicsGotFocus()

::NewAnsos.Text =

•::NewCliriic.Text =

:tCiinicName.Text =

::Ar.sos.Text

d Sub

rivate Sub cmdCancelClick()

rmUpdateClinic Hide

rmWelcome Show

:<:tAnsos.Text =

xtNewAnsos.Text =

xtClinicNarne.Text =

xtNewClinic.Text = “I’

nd Sub

rivate Sub cmdNextClick()

im ClinicName, AnsosCode, NewClinicName, NewAnsosCode,

uery As String

n Error GoTo Warning

(txtNewAnsos.Text = ““ And Not txtNewClinic.Text = “) Or —

(txtNewClinic.Text = “ And Not txtNewAnsos.Text = “) Then

MsgBox (“You must enter the new clinic’s name AND ansos code!!”)

Exit Subnd If

f tNewAnsos.Text = “ And txtNewClinic.Text = “ And —

tAnsos.Text = “ And txtClinicName.Text = “ And

(crnbClinics.Text = “ Or cmbClinics.Text = “(select clinic from list)”)) Then

MsgBox (“You have not entered any information!!”)

Exit Sub:nd If

f Not txtClinicName.Text = “ Then

ClinicName = txtClinicName.Text

Query = “name Like “ & “‘“ & ClinicName &

datClinic . Refresh

datClinic. Recordset. FindFirst Query

frrnCliniclnfo!datClinic.Recordset. FindFirst Query

If Not frmCliniclnfo!datClinic.Recordset(”name”) = ClinicName Then

Msgox (“This clinic does not currently exist.” & vbCrLf &

“Please check spelling and letter cases!!”)

Exit SubEnd If

nd If

If Not txtNewClinic.Text = “ And Not txtNewAnsos = “ Then

NewClinicName = txtNewClinic.Text

NewAnsosCode = txtNewAnsos.Text

Query = “name Like “ & “‘“ & NewClinicName &

datClinic.Refresh

datClinic. Recordset FindFirst Query

frmCliniclnfo! datClinic Recordset. FindFirst Query

I 1Tf Not frmCliniclnfo!datClinic.Recordset(”name”) NewClinicName Then

( frmCliniclnfo! datClinic.Recordset .AddNew

/ frmCliniclnfo!datClinjc.Recorcset(”narrie”) = NewClinlcName

frmCliniclnfo!datCljnic.Recordset (“ansos”) = NewAnsosCode

frmCliniclnfo ! datClinic. Recordset . Update

ClinicName = txtClinicName.Text

Query = “name Like “ & “‘“ & NewClinicName &

datClinic. RefreshdatClinic. Recordset. FindFirst Query

frmCljniclnfo!datClinjc.Recordset.Findpirst Query

Else: MsaBox (“This clinic already exists.” & vbCrLf & —

“Please check spelling and letter cases! I”)

rnupdateCliniC - 2

t SubErd If

Nnt txtAnsos.Text ““ Then

AnsosCode = txtAnsos.Text

Query = “ansos LIke “ & “‘“ & AnsosCode &

datCilnic. Refresh

datClinic. Recordset. FindFirst Query

frrnCliniclnfo ! datClinic . Recordset. FindFirst Query

If Not frmCliniclnfo!datClinic.Recordset(”ansos”) = AnsosCode Then

MsgBox (“This clinic does not currently exist.” & vbCrLf &

“Please check spelling and letter cases!!”)

Exit SubEnd If

d If

Not cmbClinics.Text = “(select clinic from list)” And Not cmbClinics.Text = “ Then

ClinicName = cmbClinics.Text

Query = “name Like “ & “‘“ & ClinicName &

datClinic. Refresh

datClinic. Recordset . FindFirst Query

frmCliniclnfo ! datClinic. Recordset. FindFirst Query

If Not frmCliniclnfo!datCliriic.Recordset(”name”) = ClinicName Then

MsgBox (“This clinic does not currently exist.” & vbCrLf & —

“Please check spelling and letter cases! !“)

Exit Sub

“d If

datOrient . Recordset . Move First

DoIf (datOrient.Recordset(”clinic”) = datClinic.Recordset(”name”)) Then

frmCliniclnfo!lstOriented.Addltem datOrient.Recordset (“ansos”) & —

& datOrient.Recordset(”status”)

End IfdatOrienc . Recordset MoveNext

Loop Until datOrient.Recordset.EOF = True

;rmUpdateClinic. Hide

rmCliniclnfo. Show

xit Subarnlng:

MsgBox (“You have entered invalid information:” & vbCrLf & —

“A different letter—case version of this clinic already exists.”)

Ixit Sub

:nd Sub

rivate Sub Form Load()

lw one As Inteaer

atCiinic.DatabaseName = App.Path & “\CSRdatabase.mdb”

atClinic. Refresh

etOrient.DatabaseName = App.Path & “\CSRdatabase.mdb”

atOrient . Refresh

nd Sub

rivate Sub txtAnsosClick()

::tNewAnsos.Text =

.Text =

rmupdateClinic — 3

::( iicName.Text =

-bCnics.Text = “(select clinic from list)”

d Sub

:vate Sub txtClinicName Click))

::NewAnsos.Text =

:tNewClinic.Text =

•:tAnsos.Text =

bClinics.Text = “(select clinic from list)”

-d Sub

:ivate Sub txtNewAnsosClick()

:tAnsos.Text =

;::ClinicName.Text =

-bClinics.Text = “(select clinic from list)”

d Sub

rivate Sub txtNewClinic Click))

tClinicName.Text =

tAnsos.Text =

abClinics.Text = “(select clinic from list)”

nd Sub

rmUpdateErnployee - 1

Cption Explicit

rivate Sub cmbNamesGotFocus()

xtNewAnsOS.Text =

xtNewLastNarne.Text =

xtNewFirstName.Text =

xtAnsos.Text =

xtLastName =

nd Sub

rivate Sub cmdCancelClick()rrmuodateEmpioyee. HiderrrnWeicme ShowxtAnsos.Text =

:xtNewAnsos.Text =

:xtNewLascName.Text =

xtNewFirstName.Text =

xtLastName.Text =

;mbNarnes.Text = “(select name from list)”

:nd Sub

:rjvate Sub cmdNextClick()

im LastName, NewLastName, NewFirstName, AnsosCode, FirstName, —

NewAnsosCode, WholeName, Query, status As String

im ComrnaPos, line, x As Integer

)n Error GoTo Warningme=O

.stName 0ewFirstName = 0-nsosCode 0ewAnsosCode = 0

f (txtNewAnsos.Text = “ And (Not txtNewLastName.Text = “ Or Not txtNewFirstName.Text “)) 0

(txtNewLastName.Text = “ And (Not txtNewAnsos.Text = ““ Or Not txtNewFirstName.Text = ““)) 0

(txtNewFirstName.Text = “ And (Not txtNewLastName.Text = “ Or Not txtNewAnsos.Text = “)) T

MsgBox (“You must enter the new employees’s FULL name AND ansos code!!”)

Exit Sub

‘f (txtNewAnsos.Text = “ And txtNewLastName.Text = “ And

txtAnsos.Text = “ And txtLastName.Text “ And txtNewFirstName.Text = “ And

(crnbNames.Text = “ Or crnbNames.Text = “(select name from list)”)) Then

MsgBox (“You have not entered any information!!”)

Exit Subnd If

f Not :xtLastName.Text = “ ThenastName = txtLastName.Text

Query = “lastnarne Like “ & “‘“ & LastName &

dazErnployee. RefreshdatEmployee. Recordset. FindFirst Query

mEmoloyeeInfo!datEmployee.Recordset. FindFirst Query

Not frmEmoioyeeInfodatEmployee.Recordset(”lastname”) = LastNarne Then

MsgEox (“This employee does not currently exist:” & vbCrLf & —

“Please check spelling and letter case!!”)

Exit SubEnd If

Thd If

f (Not tztNewLastName.Text = ““ And Not tztNewFirstName.Text =

And Not txtNewAnscs = “) Then

mUpdateEmplOyee — 2

(‘iLastNarne = txtNewLastName.Text

.EirstName = txtNewFirstNarne.Text

NewAnsosCode = tx:NewAnsos.Text

Query = “ansos Like “ & “‘“ & NewAnsosCode &

datEmDloyee. Refresh

datEmoloyee . Recordset. FindFirst Query

frmCliniclnfo! datClinic. Recordset. FindFirst Query

If Not frmEmployeelnfo!datEmployee.Recordset(”ansos”) = NewAnsosCode Then

frmEmployeelnfo! datEmployee. Recordset .AddNew

frmErnployeelnfo!datErnployee.Recordset (“ansos”) = NewAnsosCode

frmEmployeelnfo!datErnployee.Recordset (“lastname”) = NewLastName

frmEmployeelnfo!datEmployee.Recordset (“firstname”) = NewFirstName

frmErnployeelnfo! datErnplo.yee . Recordset .Update

NewAnsosCode = txtNewAnsos.Text

Query = “ansos Like & “‘“ & NewAnsosCode &

datErnployee. Refresh

datEmloyee . Recordset. FindFirst Query

frmEmDloyeelnfo! datEmployee . Recordset . FindFirst Query

Else: MsgBox (“This employee already exists.” & vbCrLf & --

“Please check spelling and letter cases!!”)

Exit SubEnd If

d If

Not txtAnsos.Text = “ Then

( sosCode = txtAnsos.Text

.ery = “ansos Like “ & “‘“ & AnsosCode & “‘“

datEmployee. Refresh

datEmployee . Recordset. FindFirst Query

frmEmployeelnfo ! datEmployee. Recordset. FindFirst Query

If Not frmEmployeelnfo!datEmployee.Recordset(”ansos”) = AnsosCode Then

MsgBox (“This employee does not currently exist:” & vbCrLf &

“Please check spelling and letter case!!”)

Exit SubEnd If

:nd If

f Not ((crnbNames.Text = “(select name from list)”) Or (cmbNames.Text = “)) Then

iine = cmbNames..istlndex

holeName = cmbNames.Text

CommaPos = InStr(l, WholeName, “,“)

LastNarne = TrimS(Left$(WholeName, CommaPos — 1))

FirstName = Trim$(Mid$(WholeName, CornmaPos t 1))

status = 1

frmEmployeelnfo! datEmployee. Recordset . MoveFirst

DoIf (LastName = frmEmployeelnfo!datEmployee.Recordset(”lastname”) And —

FirstName = trmEmpioyeelnfo!datEmployee.Recordset (“firstname”)) Then

status = 0Else: frmEmployeelnfo ! datEmployee . Recordset . MoveNext

End If

( o Until status = 0 Or frmEmpicyeelnfo!datEmployee.Recordset.EOF = True

if Not (frmEmplcyeelnfo!datEmployee.Recordset(”lastname”) = LastName Or —

frmEmplcyeelnfo!datEmployee.Recordset(”firstname”) = FirstName) Then

MsgBox (“This employee does not currently exist:” & vbCrLf & —

“Please check spelling and letter case!!”)

Exit SubEnd If

rmUpdateEmplOYee - 3

datOrient . Reccraset 1oveFirstDoif (datOrient.Recordset (“ansos”) = frmEmployeelnfo!datEmployee.Recordset (“ansos”)) Then

frmEmployeeinfo!lstOrientation.Addltem datOrient.Recordset(”clinic”)

End IfdatOrient Recordset MoveNextLoop Until datOrient.Recordset.EOF = True

rmUpdateEmployee . HidermEmployeeInfoShow

xit Sub:arning:

MsgBox (“You have entered invalid information:” & vbCrLf & —

“Data is case—sensitive — Please check your letter cases!!”)

xit Sub

nd Sub

rivate Sub Form Load()

:atEmployee.DatabaseName = App.Path & “\CSRdatabase.mdb”

:a:Emoloyee . Refresh

nd Sub

‘ri .e Sub txtAnsosClick():xtNewAnsos.Text =

:xtNewLastName.Text =

:xtNewFirstName.Text =

xtLastName.Text:mbNames.Text = “(select name from list)”nd Sub

‘rivate Sub txtLastNameClick():xtAnsos.Text =

:xtNewAnsos.Text =

:xtNewLastName.Text =

xtNewFirstName.Text =

;oNames.iext = “(select name from list)”nd Sub

rivate Sub txtNewAnsosClick():xtAnsos.Text =

:x:LastName.Text =

:mbNames.Text = “(select name from list)”nd Sub

‘rivate Sub txtNewLastName Click ()xtAnsos.Text =

x:LastName.Text =

:bNames.Text = “(select name from list)”nd Sub

e Sub txtNewFirstNameCjjck():xt.5os.Text =

x:LastName.Text =

moNames.Text = “(select name from list)”:nd Sub

rmWelcome - 1

ri’te Sub cmdNextClick()ir. unt, k As Integer

moloyeeArray(0 To 100), ClinicArray(0 To 100) As String

opzClinicInfo True ThenrmWeicome . HiderrnUpdateClinic 1 datClinic. Recordset . MoveFirstrmupdateClinic! cmbClinics Addltem

rrnrJpdateC1inic!cmbClinics.Text = “(select clinic from list)”ount = 0

ClinicArray(count) = frmupdateC.linic!datClinic.Recordset(”narne”)frmUpdateClinic I datClinic. Recordset MoveNextcount = count + 1

cop While frmUpdateClinic!datClinic.Recordset.EOF = FalsermupdateClinic I cmbClinics .Addltem=0

frmUpdateClinic! cmbClinics .Addltem ClinicArray(k)k= k+ 1

cop While k < count

rrnUpdateClinic.Show

.** ****************************,***************

self ootErnployeelnfo = True ThenrrnupdateEmployee I datEmployee. Recordset . MoveFirstrmvpdateEmployee! cmbNames .AddltemrmU’iateEmployee!cmbNames.Text = “(select name from list)”ou =0

EmployeeArray(count) = frmupdateEmployee!datEmployee.Recordset (“lastname”) —

& “, “ & frmUpdateEmployee!datEmployee.Recordset(”firstname”)

frmupdateEmployee I datEmployee Recordset . MoveNextcount = count + 1

cop While frmUpdateEmployee!datEmployee.Recordset.EOF = FalsermupdateEmployee! cmbNames .Addltem=0

frinUpdateEmployee! cmbNames .Addltem EmployeeArray(k)= k + 1

co While k < count

rmupdateEmployee. Show

rrnWelcome. HidecmUpdateEmployee. Show

iself optSchedules = True ThenfrmWelcome. HidefrmScheduleMenu. Show

****************************** ******** ********

seIf optStats = True ThenmWeicomeHideaStatsMenu. Show

d Ifid Sub

ivate Sub cmdQuit Click()

:d Sub

D

I

0

C

,Faa? KillLI

C

I

I

_________________________________________

‘miami

C

D

J

LJor

)

)

Fmml.

For further information regarding Visual Basic topics (Tutorials. Contacts.or Basic information. etc.). please consult the following ‘ ebpage:

http ://msdn.microsoft.conilvbasic/default.asp