Operation Theater Module Midterm Presentation

Hey everybody,

here you can find my midterm presentation for the operation theater module. Your feedback is highly appreciated!

In the screencast I present:

  • the purpose of this module
  • demonstrate the functionality that is already implemented
  • and give an outlook on how I plan to build the automatic scheduler.

My questions for you:

  • Which features would be helpful for managing operation theaters?
  • Do you know OptaPlanner or alternative libraries?

My resources (unfortunately discourse only allows two links for new users)

Thanks, Lukas


Awesome Work Lukas :).

@lbat, thanks for the presentation. A couple thoughts:

  • Should procedures be Concepts? (might be worth discussing with @akanter)

  • Thanks for introducing me to OptaPlanner. :stuck_out_tongue:

hey @burke,

thanks for taking your time to watch my screencast :slight_smile:

  • Concepts: I will have a deeper look at it tomorrow… What kind of advantages do you see in this approach? In a later iteration it would be nice to adjust the values for a specific patient. (e.g. due to a bad general condition the patient has to stay longer in the hospital as the average) One possibility would be to model the average case as concept and copy individual changes to the procedures table @akanter what do you think?

  • Optaplanner: I have just finished my first version of the automatic scheduler with one hard rule (no overlapping surgeries) and one soft rule (first come first served)

Cheers, Lukas

I don’t fully understand the question about concepts for procedures. However, we traditionally have all procedures as concepts with their appropriate reference code mappings. Procedures include not only traditional procedures like appendectomy, but also things like Encounter for xxxxxx or Admission to ICU or Application of device…

1 Like

Using concepts for procedures would provide localization and make it clear when a procedure referenced by the Operation Theater Module was the same procedure documented in a note, referenced in a financial module, etc. (i.e., normalize procedures across the system).

@akanter, the question is whether procedures should be defined & used as concepts rather than created within the module. See the video at 1:55. When I first looked at CIEL, I just did some searches in the dictionary and didn’t find procedures. I just dug a little deeper and found nearly 500 concepts with class “Procedure”. Many are surgeries and procedures that make sense to me. There are others that don’t look like procedures to me. For example, here’s a sampling of concepts classified as procedures that include lab tests, referrals, medications, and miscellaneous concepts:

  • HIV Test (1356)
  • Physical Exercise (159364)
  • medical advice given (159636)
  • Recommended motorcycle transport (159638)
  • emergency caesarean section (159739)
  • HIV care program enrolled (159812)
  • Combined treatment for HIV and Tuberculosis (162180)
  • Home assessment (162190)
  • Assistance for HIV disclosure (162284)
  • Highly active antiretroviral therapy (162321)
  • Interrupted highly active antiretroviral therapy (162322)
  • PMTCT Option A regimen (162323)
  • Single dose Nevirapine (162325)
  • Nevirapine administered for six weeks (162326)
  • Nevirapine administered during breast feeding (162327)
  • Dry powder inhaler (162417)

@lbat, you may want to simply use concepts with class “Procedure”, have users pick from these concepts to define procedures for your module, or at least provide a concept mapping attribute to allow each procedure to be mapped to its concept.

hi @burke,

thank you very much for your detailed explanation! The benefits are now obvious for me. I will evaluate the two solutions that you mentioned and implement the “winner” accordingly.

Hi Lukas, great work! (And sorry I’m just watching this now!)

I would echo what Burke said–your Procedure object should point to a Concept (though I personally would keep a “name” field in your Procedure domain object and not delegate naming to the Concept).

E.g. if Partners In Health were to use this module, we’d want to have the same concept linking (1) the procedure a patient is scheduled for, and (2) the “procedure performed” question recorded in the post-op surgical note (which we implement via HTML Form Entry).

For us that form currently asks:

<label><uimessage code="procedures"/></label>
<obs conceptId="PIH:Surgical procedure" answerClasses="Procedure" style="autocomplete"/>
<obs conceptId="PIH:Surgical procedure" answerClasses="Procedure" style="autocomplete"/>
<obs conceptId="PIH:Surgical procedure" answerClasses="Procedure" style="autocomplete"/>

As an aside, my understanding is that there are a lot of things that go into deciding whether a patient is ready for surgery. Any chance that you’re going to touch the workflow around the clinician signing off that a patient is ready for surgery?

1 Like

hey darius, I am very sorry that it took me so long to reply! I totally forgot about it Thank you for your time and your feedback!

about Concepts: If a use my own naming field, wouldn’t I loose the localization benefit?

about patient ready workflow: I had it in mind, but I doubt that there will be enough time left to implement this solution. My focus lies on the automatic scheduler and it is my goal to deliver a high quality end product. From my point of view that is better than having a lot of buggy features. Of course this functionality can be implemented in a later iteration.

Thanks, Lukas