Result At Order Entry (Questions/RESOE) Rule
This rule covers the use of questions and answers for the result at order entry, RESOE, processes. The new code-driven RESOE process is described in the Code Driven Question / Answer Screen section in the order process flow.
Below you will find additional information about the code-driven RESOE rule requirements.
Standard RESOE Rule
To active the standard RESOE rule, you must enter questions and answers for tests.
Some tests require that results are entered for specific questions at the time of order. The system allows for an extensive rule set to create related rules. For RESOE, those rules are in the form of questions and answers for those tests.
When a test is ordered the system will look at the FO_Tests_QA table to see if any QA codes are associated with the test code being ordered. If there are questions in the table for that test, they are presented to the user to gather answers for submission with the order.
If there are questions, the system will look at each question to determine what kind of answer is required, if there is an edit mask and if an answer is mandatory. In addition, the system will look to see if there is an answer list, based on answer group code, and, if so, present that selectable list of answer options.
Creating Questions and Answers
Using maintenance procedures, an admin is allowed to establish a set of questions and, if necessary, possible answers for those questions, for any test.
Questions are entered into the FO_Test_QA table and must have a unique test code / QA code pair value. If a test needs multiple questions, each question must have a unique test code / QA code pair value.
Answer options, which are presented as a selectable list, are entered into the FO_QA_AnswerGroup table for a question. The answers are associated to a question by the value of the FO_Test_QA.AnswerGroup which must match the FO_QA_AnswerGroup.AnswerGroup value.
In the FO_Tests_QA table, a single question is defined in each record of the table and that question is identified by a unique combination of the test code field and QA code field values. The QA code is an arbitrary code assigned to a question for a test.
Note: The test code / QA code pair value must be unique for each question.
If an orderable test should have two associated questions then two records, each with a different, unique, test code / QA code pair, must be created in the FO_Tests_QA table.
Note: A QA code may be re-used for a different test code. For example, a QA code of ASKWGT could be used for any test code that requires a question about the patient’s weight.
To create questions for a test:
- enter a record into the FO_Tests_QA table with a unique TestCode / QACode pair of values.
- create, or re-use, a QA code for that test question. A QA code can only be used once in combination with a specific test code, however a QA code may be used for a different test code.
- for multiple questions for a test, add more question records each with the same test code and a different QA code.
For each question, you must provide information:
- for a default answer, which may be overridden. A default answer is not required.
- to define the specific type of answer which must be given for the question. The type is required and may be:
- TEXT, with a character limit. Must also indicate in the TreateMaskAsNumberValue field if the text entered for the answer should be treated as a number.
- LIST
- NUMERIC
- For code-driven RESOE, the answer types may be:
- LIST
- NUMERIC
- CODE which is from FO_Dictionary or list; allows search in FO_Dictionary. When this type is used, you also need to provide value(s) in the UseCodeTypesForSearch field for searching the FO_Dictionary records.
- Date or Date Time
- to indicate if an answer to this question is required, or mandatory.
- to indicate if both the code and description should be sent for OBX.
- to establish an edit mask, if needed, for the answer.
- for instructions to the user when the question is displayed.
- for the sequence value if there are multiple questions for this test. A sequence is required so the questions are presented in the correct order.
See FO_Test_QA for more information about field definitions and allowed values.
To create answers for a specific question:
- be sure to enter an AnswerGroup value in the FO_Tests_QA question record.
- enter multiple records into the FO_QA_AnswerGroup table each with the same AnswerGroup value which must match the FO_Tests_QA.AnswerGroup value for that question. Each answer record must have a FO_QA_AnswerGroup.Choice, or answer, value and a sequence value. A sequence is required so the answers are presented, as a list, in the correct order.
An answer, or Choice, is the text presented to the user as an answer option for the question. An answer may be a LIS coded value created by entering the LIS English Text Code followed by a “^” carat character and then the description that goes with the code. The system automatically populates the correct field for Coded Value and description when sent across an HL7 Interface. For example, a value of “CC^Clean Catch” tells the system that the English text code is “CC” for description of “Clean Catch.”
See FO_QA_AnswerGroup for more information about field definitions and allowed values.
Note: An answer group code may be utilized for any number of questions. For example, if you wish to create the same options for the specimen description answer options for both the Sputum and Throat cultures then the same answer group code can be assigned to the appropriate question record in the FO_Tests_QA table.
Maintenance on the FO_Tests_QA and on the FO_QA_AnswerGroup tables allows you to create any number of questions and answers for any number of tests.
Assign permission qachkedtmsksave to a user group to make the system re-check the edit masks for all answers to questions for an order when the Save button is clicked. If a mask if found to fail, the user will be asked to exit the save operation and correct the answer. This is useful when answers are provided by external order entry systems where no mask applies.
See the APPENDIX - QA Tables Relationship for the FO_Tests_QA and FO_QA_AnswerGroup tables in the Appendix.
[edit the relationship map for the field FO_QA_AnswerGroup.UseCodeTypesForSearch field and its relationship to the FO_Dictionary.Type field.]
Code-Driven RESOE Rule Requirements
The code-driven RESOE rule provides a way to more tightly control answers that are electronically sent by external systems or manually entered.
Note: Electronic orders must meet the criteria defined for an answer before the order is considered reviewed and ready to complete processing.
To activate this rule, you must:
- assign permission qacodedrivenscreen to a user group.
- add questions and answers to the FO_Tests_QA and FO_QA_AnswerGroup tables as above for the standard RESOE rule
- add all codes needed for answers to the FO_Dictionary table. Every code referenced by the FO_QA_AnswerGroup.Choice values must be defined in the FO_Dictionary table. This applies to questions with an FO_Tests_QA.AnswerType = CODE.
- as needed, you may limit an answer to a subset of dictionary defined codes by entering a value in FO_QA_AnswerGroup.UseCodeTypesForSearch and entering the same value in FO_Dictionary.Type field. If this is used, the code search drop-down will be preloaded with top 30 entries.
(Need more info on the FO_QA_AnswerGroup.UseCodeTypesForSearch, it is not in the db schema that I have. Need more info on the expected type of value and/or value in that field and the FO_Dictionary.Type field.)
Code-driven RESOE provides new definitive answer types and also retains some of the old types. The table below outlines the possible answer types:
Answer Type |
Description |
CODE |
Requires an answer containing one or more coded values. Freetext entry is not allowed for this type. |
LIST |
Requires an answer selected from a predefined list of codes. Used to specify a list of possible answers for a particular test. |
NUMBER |
Requires a numeric value for the answer. |
DATE |
Requires a date for the answer. Date must have the format MM/DD/YYYY |
DATETIME |
Requires a date and time value for the answer. The format must be MM/DD/YYYY HH:MM:SS. Seconds are not required, may use 00 for seconds. (OK to not enter seconds, ie MM/DD/YYYY HH:MM OK?) |
TEXT |
Requires a list of free text and coded values for the answer. Any combination in any sequence is allowed. |
Code-driven RESOE allows a user to assemble the components of an answer and then the system builds an answer string.