2

QUESTION:

"Is there some architectural design-pattern where many independent applications are controlled by a parent (master, host) application, containing common information?"


BACKGROUND:

We are designing a medical application with the following architecture:

  • There will be a host application where patient data will be centralized in a single database;
  • There will be many (two to eight, more or less) applications, which are responsible for different types of diagnostic examinations for a given patient;
  • Typically, workflow involves:
    1. Opening the master application;
    2. Navigating to a patient's record;
    3. Opening a new task for that patient in some sub-application;
    4. From here forwards, working exclusively "inside" this sub-application, which "takes control" untill the user finishes it (returning to the parent application), while state of master application is available for context.
  • There should be a single Parent-Child interface for common tasks, so that Child Applications would be polymorphic regarding these common tasks. Then, the Parent would be unaware of encapsulated specifics of each child application.
  • It would be desireable that each sub-application could be deployed as standalone, with a minimal, dedicated front-end.

CONSIDERATIONS/CANDIDATES:

  • The Mediator pattern would "provide a unified interface to a set of interfaces in a subsystem", but it seems more oriented towards mediating communication between Colleagues, while in my use-case I need to mediate between Parent and Child applications, where children are unaware of each other;
  • The template method pattern "defines the program skeleton of an algorithm in a method, called template method, which defers some steps to subclasses". This could induce the formulation of a "common clinical diagnostic workflow", composed by, say, data capture, processing, display, interpretation and reporting.

Thanks for reading, any insight will be much appreciated!

4

0 回答 0