Order Catalog Query Interface
Order Catalog Query Interface
Introduction
The Order Catalog Query interface provides consumers with visibility into the catalog of items maintained by the Order service.
Query Catalog Item Types
This operation retrieves a list of catalog item types maintained by this catalog service. Catalog item types may include orderables, orderable items, order sets, etc.
- Story Board : Dr. Hospitalist is writing inpatient orders for Dave Everyman. A new employee at the hospital, Dr. Hospitalist is unsure what types of orders the CPOE system can handle. He logs in and queries the system and is pleased to discover the system allows him to order lab, radiology, nursing, nutrition and medication items.
- Description: Orderer can query for types of orderable entities.
- Conceptual Information Objects
- Input : A valid query statement, we are assuming this will be the valid XQuery which contains valid conditions for filtering the XML data. (DISCLAIMER : The format of query is not yet decided, so for sake of implementation we are assuming XQuery which will fetch all Catalog Item Types)
- Output : A collection of catalog item types
- Exception Conditions : Invalid Catalog Request
- Implementation : The underlying service will use the provided XQuery to query the XML data stored in exist-db database and fetch the records. The fetched records are then mapped to the respective response POJO.
Query Catalog Items
- Story Board : Dr. Hospitalist, interested in nutrition orders, queries the CPOE system to obtain a list of different dietary sub-categories including oral diets, enteral, and parenteral nutrition. Further selecting solid diets, Dr. Hospitalist receives a searchable list of orderable items.
- Description: User can navigate/query an order catalog and locate orderable items.
- Conceptual Information Objects
- Input : A valid query, we are assuming this will be the valid XQuery which contains valid conditions for filtering the XML data. (DISCLAIMER : The format of query is not yet decided, so for sake of implementation we are assuming XQuery which will fetch all Catalog Items)
- Output : A collection of catalog items
- Exception Conditions : None
- Implementation : The underlying service will use the provided XQuery to query the XML data stored in exist-db database and fetch the records. The fetched records are then mapped to the respective response POJO.
Get Catalog Item Detail
- Story Board : Dr. Hospitalist selects a reduced calorie, low carbohydrate diet from the order catalog. He receives a brief description of the types of items available in the diet and some examples of when the diet is clinically appropriate.
- Description: User can retrieve details about orderable items in the catalog.
- Conceptual Information Objects
- Input : The identifier of the catalog item
- Output : The catalog item
- Exception Conditions : Catalog Item Does Not Exist
- Implementation : The underlying service will create XQuery to search for Catalog Item in the XML data stored in exist-db database by identifier and fetch the matched record. The fetched record will then mapped to the respective response POJO.
Get Catalog Item Prototype
This method returns the Catalog Item Prototype for the given prototype identifier. A Catalog Item Prototype represents an example instance for a type of catalog resource. For instance, it might consist of an example order item for Metoprolol.
- Story Board : Dr. Hospitalist selects an appropriate diet and requests an order prototype. The order catalog returns a representative order for the diet in question, annotated clearly to indicate available options and how the order is best completed.
- Description: User can retrieve a prototypical example of a completed order.
- Conceptual Information Objects
- Input : Catalog Item Prototype identifier or Catalog Item Type
- Output : Catalog Item Prototype
- Exception Conditions : Catalog Item Does Not Exist
- Implementation : The underlying service will create XQuery to search for Catalog Item in the XML data stored in exist-db database by prototype identifier or catalog item type and fetch the matched record. The fetched record will then mapped to the respective response POJO.