勤務表自動作成を導入後の業務の流れ(2017.3.15)

 今回は勤務表の自動作成を導入したら病棟師長の業務はどう変わるか?を具体的にお話ししたいと思います。
 「コラム2自動生成のしくみ」でもお話しした通り、自動作成は導入時の設定がとても大切で、当社が設定を代行させていただく際にも先方の部門管理者の方に確認をとりながら相当の時間を掛けて設定を行います。
 今回のお話は、その設定が終わり通常の業務に当社のシステム導入が完了した時のお話しです。

Step1:前月実績の入力


 最初に前月実績の投入です。とは言っても勤務表を作成するのは翌月勤務表が始まる前でしょうから、実際は当月の実績に加えて、月内に予想される勤務予定と異なるシフトを投入することになります。
 この作業が大きく影響するのは、1つは公休数のカウントです。暦月で管理して翌月に繰り越さない病院様もありますし、年間で管理されていて月ごとの消化を数字的に決めていない病院様などさまざまですが、勤務管理にはとても重要な項目です。さらに繰越の設定をしている場合、例えば当月公休を取得できなかったスタッフについては、翌月その分を自動的に取得させるように条件が自動的に修正されます。
 2つ目は夜勤の連なり。2交代夜勤の場合で月末に「入り」が割り振られたスタッフには翌月の最初に「明け」が割り振られなければいけません。同様に「明け」の後に「公休」取得を遵守している病棟の場合は当月末日に「明け」のスタッフには翌月初日は「公休」となる必要がありますから。
 このほかにも休みと休みの間隔を指定していたり、特定シフトの連続を許していない場合など、多数あります。自動作成の場合は当然そこまで管理しますから、月またぎのシフトの並びに関しては注意が必要です。

 実際の作業イメージは下記の動画をご覧ください。




 このように予定と異なった勤務となった場所のみ下段(実績欄)にマウスで入力を行います。予定自体が途中で変更となった場合など、それを予定として保存する必要がある場合は予定の方を変更する形でも結構です。ソフトウェアは実績が入っいない日の勤務については、予定=実績と判断しますから、予定通りに勤務が行われた場合は実績は空欄のままで大丈夫です。

 当月の勤務が正しく入力されたら、次は勤務変更の確認へ移動します。

Step2:勤務変更の確認


 次の画面では勤務変更の確認します。上段には休職中や産休、育休中のスタッフ一覧が表示されます。私たちのソフトウェアではそれらのスタッフは勤務表に掲載されませんので、こちらで毎月確認を行います。
 下段には翌月以降に予定されている人の動きが並んでいます。入職、退職、休職、産休、育休、復帰、異動、異動(兼任)、兼任取消の各項目が表示されますから、不足している異動情報はないか?これ以降に確認するシフト配置などの条件に影響を与えそうな異動情報はないか?などを確認します。未登録の異動情報があればここから登録を行います。

 実際の作業イメージは下記の動画をご覧ください。




 動画では新たに入職登録を行う例を示しています。最低限必須項目のみを入力すれば勤務表に名前を載せることはできますが、自動作成を行うためには勤務可能なシフトや担当可能な回数などを入力する必要があります。さらに病院で定められたラダーや病棟でのスキル分類などを入力しておけば日々の配置でスキルに偏りのない勤務表を作成するのに役立ちます。

 勤務変更の確認を終えたら、次は条件の確認へ移動します。

Step3:条件の確認


 勤務表作成の条件にはとても重要なもの、例えば2交代夜勤で準夜勤(「入り」と表現される場合が多いです)の翌日は深夜勤(「明け」と表現される場合が多いです)でなければならない。のような条件は守られないと勤務表成り立ちません。一方、「AさんとBさんはできるだけ夜勤で一緒にしないように」というように1回くらい一緒になってしまっても仕方ない…と判断されるものもあります。
 我々の自動生成ではこの「必ず守らなければならないもの」=条件、「できるだけ守るように努力するもの」=目標と分けて処理をしています。条件としては先ほど挙げた2交代での【入】→【明】の並びや、「Cさんは日曜日勤務できない」といったスタッフ個別の勤務条件、さらには「月曜日は日勤が最低10人、夜勤入りは3人、夜勤明けも3人、さらに早出は1名…と行った日々のシフト配置なども条件として扱います。ここではそれら条件の設定を確認することになります。事前に設定された条件が日本語に書き下されて表示されていますからそれをひとつづつ確認してゆきます。

実際の作業イメージは下記の動画をご覧ください。




 スタッフの勤務条件(例えば勤務可能な夜勤回数や曜日など)などは変化することも多いと思いますのでここでしっかりと確認する必要があります。翌日の条件として相応しくないものがあれば設定内容を呼び出して編集します。また翌月のみ考慮しなくてよいような条件がもしあれば、一時的に不使用とすることもできます。

 翌月の条件が確認できたら、次は勤務予約に移動します。

Step4:勤務予約の入力


 毎月の作業としてはここが最も重要なステップとなります。
『勤務予約』=『スタッフの勤務希望』+『病棟都合の勤務指定』となります。
 入力はスタンプを押すような感じで必要箇所に入力してゆきます。当社ソフトではスタッフ由来の希望はピンク色の枠で、病棟由来の予約はグリーンの枠で表示しますから、一目でその予約がどちらの理由によるものかがわかります。さらにそれら希望、予約に対して1(実線枠)と2(破線枠)を用意しています。これは1の方は条件(必ず守る)、2の方は目標(次の項目で説明しますが、できるだけ守る、他の条件や目標が許せば叶える)という4種類に分けて入力が可能です。
 それぞれの予約の中身はさらに、受容と回避が分類できます。受容とはそのシフトを守る(orできるだけ守る)となりますが、回避はそのシフトを避ける( or できるだけ避ける)ということになります。さらに受容・回避に関してどちらも複数指定が可能です。例えば「遅出」と「夜勤入り」いうシフトを回避とすると、そこには指定シフト以外の「日勤」や「夜勤明け」、「公休」などの中から何かが割り振られることとなります。
 この入力で役立つのが前月の最終週の表示と各スタッフ毎の公休残やシフト集計を表示です。委員会や研修などの予定を別ウィンドウで表示させるイベント表示機能も備えています。

 こちらの動画の場合は師長がスタッフが記入した勤務希望を転記している設定となっていますが、提出締め切りが守られなかったり、希望申請の上限数が守られなかったり、勤務希望に転記する際に行を間違えるリスクがあったり…などという問題が起こる場合がありますし、それらが結果的に不公平感醸成の温床となる場合もあります。
 そこで勤務希望については各スタッフから各自で入力させることも可能となっています。各スタッフは一般的なウェブブラウザを使って指定されたURLから各自に与えられたIDとPWでログインして自分の希望を入力します。申請可能な数を指定することもできますし、締め切りを指定することも可能となります。それだけでなく各スタッフが指定ページを開いた時に「今月は祝日が多いので希望は少なめに」などというメッセージを表示させることもできます。スタッフ側からは各申請に対して「子供の遠足で…」などといったメッセージを入力することも可能です。(他のスタッフには表示されません)この機能を使用すれば、勤務予約の入力に関わる時間やミスが大幅に削減されると思います。こちらの機能はまた別の機会に詳しくご説明します。

「シフト配置検証」
 勤務予約の入力が終わったらStep2での条件と合わせて翌月の勤務表で守らなければならない条件(勤務希望1と勤務予約1は条件として扱います)が全て出揃ったこととなります。この段階で条件が破綻していないか(勤務希望が集中して配置すべきシフトが置けない…などというケースがないか?など)をこの段階でチェックする機能で、シフト配置検証と呼んでいます。勤務予約画面の下に配置されたボタンで確認ができます。
 シフト配置検証の結果エラーが出た場合は、エラー解消のヒントが表示されますので、それに従って勤務予約の調整を行ったり、条件を緩和したりの作業を行ってください。この作業は必須ではありませんが、この段階で条件エラーとなっている場合は、何度自動生成を行っても満足する結果が得られないこととなりますから是非利用していただきたい機能です。

実際の作業イメージは下記の動画をご覧ください。




 当月の勤務予約の入力を終え(シフト配置検証で確認も済ませ)たら、次は目標の確認へ移動します。

Step5:目標の確認


 前の項目までで自動作成を行うことも出来ますが、より詳細な条件を実現するための目標=生成の過程でできるだけ満たす項目 の確認を行います。Step2の条件と何処が違うのか?という疑問が湧くかも知れません。しかしこの項目こそが自動生成の真骨頂という見方もできます。
 条件と違うところは、相反する目標をも同時に処理できるという点にあります。例えば、「月曜日の日勤にはスキルが「リーダー」のスタッフを2名置きたい」「3人いるリーダーのうちDさんとFさんは日勤帯で同じにしたくない」という前者を実現すると後者が実現できない目標を同時に立てた場合など。この場合、2つの目標の重み付け=実現できなかった場合に勤務表の評価に課すペナルティ度合い を設定することによってどちらを優先すべき目標かがコントロールされます。前者の重みを例えば「6」として、後者が「3」とした場合にはそれぞれが実現しなかった場合には前者の方が後者よりも2倍のペナルティが課せられます。この場合は前者を実現した勤務表の方が良い勤務表と判断されます。では後者の存在価値がないのでは?と思えるのですが、他のたくさんの目標が同時に評価されますから、前者がどうしても実現できずに後者のみ実現した勤務表が全体として良い勤務表と評価されるチャンスも出てくる訳です。
 「休みと休みの間隔は5日以内」とか「スタッフ全員に土日祝の連休を1回は与える」とか「入明入明と2連続夜勤の後にはできるだけ2連休を与える」などといったできれば実現したいがスタッフ数や勤務希望の偏りによって全てを叶えることが難しいといった場合は、理想の形に近づくための目標をすべて設定して、さらに目標間の重み付けを適切にせっていすることにより可能な限り理想に近い勤務表を生成することが可能となってきます。
 勤務予約のところで説明した「希望2」や「予約2」というできるだけ…というものはこの目標と同じ位置付けとなります。ですから「勤務希望2・勤務予約2を守る」という目標がデフォルトで設定されていますから、他の目標と比較して重み付けを変化させて使用します。
 確認画面では、勤務表横方向(スタッフごとの目標)と勤務表縦方向(日ごとの目標)が別々に表示されていますから順にチェックを行います。もちろん条件と同様に各目標の内容を編集することや追加することも可能です。

 実際の作業イメージは下記の動画をご覧ください。




 このステップが終われば自動作成を開始となります。

自動生成


 自動生成の時間はズタッフの数や条件や目標の数、さらには生成サーバの動作環境によって異なりますが、標準的なスタッフ数で一般的な目標の場合は概ね1分半程度です。しかしながら生成スタートを複数の病棟で同時に実行した場合は、並行処理はされませんので順番に生成が行われることとなります。その際画面に○人待ちと表示されます。
 高度な条件を設定している場合などは生成に多少時間が必要となる場合もあります。例えば「夜勤に初心者が割り振られた場合は、夜勤担当者を1名増やす」などといった日々の固定数を変化させるようなもの(縦方向の変異条件と呼んでいます)であったり、「割り振られた公休の中からランダムに幾つか選んで特休に変化させる」(横方向の変異条件と呼んでいます)などが組み込まれた場合などです。

 システムが自動生成を終えると勤務表が表示されます。勤務表の表示は用途に応じて切り替えることが可能です。

1)標準モード:最初に表示されるもので、各スタッフのシフトが1行/1人で表示されています。

2)拘束モード:病棟での拘束時間を示すモードで、各スタッフごとにシフト、所属部門での日勤帯拘束時間、所属部門での夜勤帯拘束時間、他部門での日勤帯拘束時間、他部門での夜勤帯拘束時間という5行/1人で表示されています。
設定されたシフト情報により各時間が自動入力されますが、必要に応じて編集も可能です。拘束時間(こちらは様式9号の出力に反映されます。)でのポイントは勤務中の休憩時間も含まれているということ。ただし残業時間は計上できませんので注意が必要です。

3)実働モード:実働時間を示すモードで拘束時間モードとの違いは休憩時間が差し引かれていること。さらに詳しく言えば、拘束モードでは差し引くことになっている申し送り時間(送る側)もそのまま計上されます。こちらも所属部門での日勤帯拘束時間、所属部門での夜勤帯拘束時間、他部門での日勤帯拘束時間、他部門での夜勤帯拘束時間という5行/1人で表示されています。

4)予約モード:勤務予約で指定したシフトが生成の結果どうなったかを見るモードです。もちろん「必ず」で1つだけ指定されたシフトは必ず守られますが「できれば」で指定した希望や、「複数のうち何か」で指定したものなどはその結果を見ることができます。ここでは、希望、予定(結果)の2行/人で表示されます。

5)実績モード:この表示はStep1で入力した実績入力と同じものです。勤務表運用中に入力を行ったり、別途予定外の人員配置を実績(予定)として入力する使用方法もあります。予定シフト、実績シフトという2行/1人で表示されています。

 以上が生成結果の表示バリエーションでしたが、これ以外にも便利な表示を備えています。

6)インベントウィンドウ:これは研修や委員会などの予定を勤務表上に表示する機能です。委員会出席者が公休となっていないか?などを確認するのに使用します。イベントは部門固有のものだけでなく病院全体に通知されるイベントも表示されます。前者は自在に追加編集が可能ですが、後者は原則見るだけとなり、追加編集するには別の権限となります。イベントは繰り返し設定も可能なだけでなく、様式9号を出力する際に出席者の拘束時間から指定時間を自動的に差し引くといった機能も持っています。

7)自動生成結果レポート:これは表示された勤務表の生成結果を詳細を別ウィンドウで表示します。目標の改善率(100%となっていれば、条件だけでなくせってした目標も全て満たされたことになります)、横方向のエラー(達成できなかった目標)、縦方向のエラー、自動生成の過程を示すグラフ(よい勤務表が表示されない場合にボトルネックとなっている目標などが無いかなどを見つけることができます)、自動生成の各設定、シフト一覧、スタッフ一覧、各スタッフの勤務条件一覧、条件目標の一覧と続いています。

 このほか手動で編集を行った場合に条件や目標の評価結果がどう変化したかを見るリスク表示なども備えています。

 実際の作業イメージは下記の動画をご覧ください。




再生成~編集~採用


 最初の1回で良い勤務表が出ない場合は、再生成を行います。全く同じ条件なります。これは遺伝的アルゴリズムを利用した自動生成の特性で生成過程で偶然の要素が盛り込まれるためです。(「勤務表自動生成の仕組み」もご覧ください)
 ですから、最初に目標改善率98%となっても再度生成をすると100%となることもあります。(もちろんさらに悪い結果となる場合もあります。)そのため数回はそのまま再生成をして様子をみることをお勧めします。再生成は全体でなくても、例えばAチームの方は好ましい感じなのでBチームだけ再生成といった選択も可能です。
 何度か再生を繰り返したが改善しない…生成結果レポートを見ると相反する目標が立っている…固定配置を減らさないと規定の公休を付与できないなどという場合は別画面に条件・目標一覧を呼び出して編集を行うことが可能です。この場合は複数箇所を同時に変更修正を行わず1箇所づつ変更〜保存して再生成を行う方が結果的に良好な結果に早く到達できます。(勤務表は名前をつけて幾つでも保存可能ですからそれぞれを出力して比較検討することも可能です)

 実際の作業イメージは下記の動画をご覧ください。




 自動生成の結果を利用して一部分をご自身で手直しすることも可能です。変えたいシフトを左クリックするとシフト一覧が表示されますから、当てたいシフトを選ぶだけです。1箇所修正を行うと縦横のシフト集計が変化しますから、固定配置は守られているか?各スタッフの勤務回数は大丈夫か?などをチェックしながら作業を進めます。
 同様に目標のシフトを右クリックすると、別のチームや別の病棟へ応援に出すことが可能です。例えば自分の病棟のSさんを別病棟に応援に出すと、応援先の勤務表にSさんが表示される…といった感じです。応援先では(応援に出された日に限り)自在にシフトを割り振ることが可能ですし、その結果が先に説明した他部門での日勤帯勤務時間や夜勤帯勤務時間に反映されてきます。

 実際の作業イメージは下記の動画をご覧ください。




 ここまで作業が進めば勤務表をエクセル形式で出力することがが可能となります。勤務表全体だけでなく、チームごと、チームの組み合わせての出力も可能ですから用途に合わせて指定を行います。

 実際の作業イメージは下記の動画をご覧ください。




 最後に「採用」ボタンを押せば翌月の勤務表としてシステムに登録されます。複数保存をしている場合は採用する勤務表を画面に呼び出してからボタンを押してください。

 実際の作業イメージは下記の動画をご覧ください。




 採用を行えば、別途出力メニューから様式9号を出力できるようになります。イベント登録で拘束時間からマイナスを指定した場合は、この段階で正しい時間数が送られているかを確認してください。


 いかがでしたでしょうか?勤務表システムの導入は師長さんが負荷が軽減されるだけという考え方は正しくありません。毎月多くの時間を割いていた勤務表作成作業が軽減されればその分患者さんやスタッフ一人一人に目を配ることが可能になりますが、ITを使用することにより公平性の担保ができること、大きな条件に引っ張られて忘れてしまいがちな微細な条件を考慮することが可能になるなどのメリットもあります。条件や目標を進化させてゆくことによりスタッフを育成する、離職を防止するといった効果まで期待ができるようになります。そのため私たちは看護師勤務表は単なる勤務スケジュールではなく、病棟戦略を出来る最も身軽で実践的なツールであると考えています。