Order Entry: Configuring Care Settings in O3

Extending discussion from Drug Orders: Order Templates modelling.

OpenMRS has what I guess I would partial support for “Care Settings” at least for Orderables. I would love to know how implementations are configuring this, is driven through the User’s context? Some special GP? How do we plan to configure this in O3?

cc: @ibacher, @burke, @eudson, @mseaton

The intent of “Care Setting” is to discriminate between orders placed in different clinical care settings (inpatient, outpatient, emergency, nursing home, etc.). This aligns with FHIR’s Encounter.class and MedicationRequest.category. Distinguishing between outpatient & inpatient care settings for clinical data is especially important for medications, since a patient’s active inpatient meds are active outpatient meds are distinct and managed separately.

When we modeled orders, we knew were were eventually going to need to support this distinction (i.e., know the difference between active inpatient meds and active outpatient meds) and figured it would be easier to build that assumption in up front than to try to retroactively introduce it later.

The care setting isn’t something users should be selecting arbitrarily on an order-by-order basis. Rather, we’d expect the user would select a context more broadly (e.g., either logging into an “inpatient” or “outpatient” view, toggling between them, or by navigating through separate parts of the application associated with a particular context). For now, OpenMRS instances might be dedicated to use in a single care setting (using a special GP), but we’d eventually expect the application to incorporate care setting-specific features (e.g., a provider taking care of a patient in the hospital will likely want a different dashboard for their patient than a provider working in clinic) and will likely want to take user’s context into account (e.g., a user’s care setting context default to the last one they chose or, if undefined, to the special GP… and features in the application that are using across contexts take this user context into account).