2025年3月27日木曜日

変則2交代講義操作編資料

昨日講義させていただきました。私の不手際もあったりしたりしたのですが、休憩を入れながら、講義と実習を行いました。(3時間超) 

鋭いご質問も頂いたりしながら、楽しく自分の思いを語らせて頂きました。また、RPAという言葉を教えて頂きました。スタッフの希望を勤怠システムからスケジュールナースにインポートするのに使えないか検討中とのことでした。

講義は3篇を予定しており、最初の一稿になります。

 変則2交代勤務表の作成操作編

今回に限らず、実際に操作して頂きながらのレクチャは、時間としてはよりかかってしまいますが、理解のし易さ、記憶に残りやすいという点においては、効果が高いと感じています。

5月以降、一連の講義を動画としてアップしていきたいと思います。



2025年3月25日火曜日

委員会の実装

Pythonを使わない実装も考えたのですが、委員会の数が10個の場合もあり、シフト化数 が多くなってしまうので、唯一これだけは、Pythonの記述で残すことにしました。BlackBoxとして使用可能と思います。その他については、一点だけ、現状のGUIでは、あまりよろしくない実装があったので、アップデートを予定しています。4月下旬頃の予定です。これにより、ほぼ全ての制約をGUIで記述可能となります。

通常、委員会は、固定日に開催すると思いますが、頂いた仕様は、委員会の数が10個もあり、ダイナミックに決定する、とのことでした。

仕様:

プロジェクトファイル
機能

委員会の指定

                


委員の指定


候補日の指定

    


長日勤を委員会開催日に含むかの指定


ハード制約にするかどうかの指定


解の出力例

明示的な出力はありません。求解右ペインに出力される情報により、実際の開催日を決めてください。


現任委員会の解の例
                     
新任委員会の解の例





2025年3月24日月曜日

Q. プロジェクト作成依頼をお断りさせていただく場合もある

 Q.条件をもとに、作成いただけますでしょうか?

当院、当直表(今後シフト制)というスケジュールを作成したいです。

今週土曜日にZOOMをこちらで設定しますので、いろいろとご教示いただけますとたすかりますが、いかがでしょうか?

Ans.

申し訳ありませんが、土曜日のZOOMは、キャンセルとさせてください。

仕様をお出し頂くようお願いしたのですが、全く理解できません。

経験上、「部外者」にご自身の職場のルールを説明できないプロジェクトは必ず失敗します。申し訳ありませんが、理解できる仕様を頂かない限りお仕事はお受けできません。

<仕様とは?>

部外者にご自分がつくる勤務表のルールを説明してみてください。それが「仕様」です。部外者ですから、部内の暗黙ルールは何も分かっていません。何も分からない部外者に、分かるように言葉で伝えること、それが仕様になります。その仕様文書を手に入れることが出来れば、誰もが、同じく内容を理解することが出来る、違う場所で、同じ勤務ルールを再現出来る、ということになります。

仕様は、誰が受け取っても、別な解釈を生まない、ことが重要です。必要にして十分かつ正確な情報伝達文書、それが仕様になります。仕様はソフトウェアに依存しません。

<仕様が全てのスタート>
ある大学病院では、添付のような仕様を頂いて仕事がスタートしました。仕様とは、実現したいルールを言葉で書いたものです。(例は、添付シート参照)

この全てを実装した訳ではありませんが、お客さまとの了承を得ながら、実装し易い形に記述したのが、スケジュールナース上での制約になります。

この立ち上げには、数か月間でブラシュアップしていたと記憶しています。この期間は、お客さまとの共同開発作業で一般的なものです。仕様に基づいて実装しますが、その仕様で全てを網羅している訳ではなく暗黙知や、漏れ、意識していなかったが脳内では実装していた..等が必ずと言ってよいほど在るのが普通のプロジェクトです。当直表や勤務表というのは、実は、作成者は、実に多くのことを考慮しており、かなり知的で複雑なことをしています。それを整理せずに、そのままとりかかることは、お互いに時間の無駄です。

このプロジェクトは、5年ほど前になりますが、現在も担当者が変わって使われ続けていると認識しています。ルールを言葉で残すことは、引継ぎの場面でも必要かと思います。

まずは、しっかりと、ルールをまとめるところから始めることをお勧めします。

また、上記プロジェクトを元にしたサンプルプロジェクト例もアップしておりますので参考になるかと思います。

https://www.nurse-scheduling-software.com/japanese/constraints_faqs/chapter23/

このスケジュールナース解も添付していますので、出力される解イメージの参考になると思います。

以上、大変失礼なことを申し上げました。

ご検討の程よろしくお願いいたします。

2025年3月23日日曜日

ロックは過ぎ去った過去には掛けない

 基本的には、今より後の未来にのみ掛けることを原則とします。

この理由として、「予定」は、シフト集合、ソフト制約により非決定のセルが含まれることがあります。これに対して、「解」は、決定したセルになります。で、それを予定に送るとすれば、ロックが掛かっていると予定は非決定のままとなってしまいます。ロックのままでは上書きできないので、ロックを外しておくことが必要です。

先月部についても、この基本原則に則れば、

今月の勤務表作成時から過去なのでロックしない

ということにしたいと思います。これまでのサンプルで、先月部にロックを掛けてしまっている例がありますが、修正します。下図のように先月部はロックしないでください。


<ロックが掛かっていると問題の例>

スタッフ24が、今月から夜勤なしの日勤のみになったとします。


日勤のみなので、予定FILLINすることにして全ての数値設定をクリアします。

スタッフ毎の当該シフトをクリアします。

                             しかし、求解するとエラーが出てしまいます。


当該箇所に飛ぶと、
                            
                                ロックを外せば、「先月部の矛盾するシフトをソフト化」が効いて


                        ということで、最初からロックがかかっていなければ、防げる問題でした。




2025年3月21日金曜日

3月末のリリース予定改善7

 改善前:

https://schedule-nurse.blogspot.com/2025/03/q.html


改善後:

IntelGraphicsDriverでは、特定のRGB領域で、真っ黒背景になるセルが出てきます。この暫定対策として、1年ほど前に、特定のRGBを似た色に内部で変換することを実施しました。今回この暫定対策を実施するか否かを決定するオプションを設けました。現象は、IntelGraphicsで、特定のRGBが黒になる、ということだけですので、この色の使用を避ければ足ります。また、Intel以外では、本現象は確認されていないので、AMDやNVIDIAでは、暫定対策を行う必要はありませんでした。


この問題のため、下記のチェックがDefaultで入っています。

このチェックが入った状態では、次のようになります。全ての色が若干変わりますが、黒のセルは無くなります。


上記チェックを外すと、色は、素のままに出てきます。


2025年3月20日木曜日

3月末のリリース予定改善6

改善前: 

特別の日のリンクチェックなし

https://schedule-nurse.blogspot.com/2025/01/q_13.html

改善後:

参照リンクがある場合は、編集ができないようにしました。

(削除する場合は、先ず参照先を削除することを強制します。)


例:



元に戻ります。

適用を外したり、行削除しても同様です。