Devs following the Order Entry design discussions,

Following some recent design discussions around how to flexibly define
different types of orders, Wycliff and I were trying to come up with a way
to model order types that would serve our requirements.  We want to support
the basic Java-based types of orders, while allowing implementations to
create more granular classifications (e.g., distinguishing among tests that
are serology vs. microbiology vs. radiology, etc.) as they see fit, provide
a simple hierarchy of these more granular classes to the basic types of
orders, accommodate new order types introduced by modules, and provide a
design that doesn't overly confuse developers & admins.

We think we've got a design that will meet these requirements as well as
provide an extra bonus: defining all orderable concepts through (meta)data
instead of hardcoding it.

*Summary:*

   - We allow orderable concepts to be classified into any granularity
   needed by an implementation using concept classes, which is already the
   precedent.
   - We replace the existing Order Type management screen, which currently
   just lets the admin invent random order types, with a list of the actual
   available order types (i.e., Java classes provided by core and any modules
   that have introduced new order types) where the administrator can associate
   0-to-n concept classes with these order types.  For example, assuming
   OpenMRS 1.10 ships with DrugOrder and TestOrder order types, the "Manage
   Order Types" admin screen would ship with concept class "Drug" mapped to
   DrugOrder and the concept class "Test" mapped to TestOrder.  If an
   implementation wanted to make separate concept classes for Lab Tests and
   Radiology Tests, then both of these could be mapped to TestOrder.  A module
   introducing a new order type (e.g., ReferralOrder), could introduce a new
   Referral concept class and map it to the ReferralOrder.
   - As a bonus, the mapping of concept classes to order types allows the
   order service to easily identify which concepts are orderable – i.e., any
   concept with a class that is mapped to an order type.

If interested, you can read more on the Order Types (Design
Page)<https://wiki.openmrs.org/x/ywoJAg>on the wiki.  Comments are
welcome.

Cheers,

-Burke

_________________________________________

To unsubscribe from OpenMRS Developers' mailing list, send an e-mail to 
[email protected] with "SIGNOFF openmrs-devel-l" in the  body (not 
the subject) of your e-mail.

[mailto:[email protected]?body=SIGNOFF%20openmrs-devel-l]

Reply via email to