Uploaded image for project: 'OpenMRS Core'
  1. OpenMRS Core
  2. TRUNK-4761

Free Text Drug Orders

    XMLWordPrintable

Details

    • New Feature
    • Status: Closed
    • Should
    • Resolution: Fixed
    • Platform 1.11.4
    • None
    • None
    • Undetermined

    Description

      The goal of this issue is to add the ability to order drugs or drug formulations which are not in the system by:

      • Allowing for a free text drug formulation (i.e., free text subtitute for Drug) within a drug order.
      • Recognizing a special DRUG OTHER concept to be used to order a drug for which there is no concept (in which case the other drug must be specified within the free text formulation).

      Approach

      1. Create a DRUG OTHER concept (class = Drug).
      2. Create a drugOrder.drugOther global property to identify a DRUG OTHER concept by UUID.
      3. Add a new String drugNonCoded property to DrugOrder
      4. Refactor API so that a DrugOrder can not have both DrugOrder.drug and DrugOrder.drugNonCoded specified at the same time.
      5. Any code in openmrs-core that references DrugOrder.drug should also work when this is null and use DrugOrder.drugNonCoded instead.
      6. If DrugOrder.concept == DRUG OTHER (matches global property), then DrugOrder.drugNonCoded must be specified (cannot be blank).

      Acceptance Criteria

      1. There should be a drugOrder.drugOther global property that can point to the concept to be used for non-coded drug references.
      2. A client of the API should be able to create a drug order with a Drug whose concept is DRUG OTHER
      3. A client of the API should be able to create a drug order with drugOrder.concept set to DRUG OTHER concept with drugOrder.drug not specified and DrugOrder.drugNonCoded non-blank.
      4. A client of the API should be able to create a drug order with a drug concept (e.g., "AMPICILLIN") with drugOrder.drug not specified and DrugOrder.drugNonCoded non-blank.
      5. An attempt to create an DRUG OTHER order without specifying DrugOrder.drugNonCoded should fail (i.e., if drugNonCoded is blank or only whitespace)
      6. An attempt to create more than one concurrently active DRUG OTHER order with the same non-coded name (drugNonCoded values equal ignoring case) should fail as a duplicate order.
      7. As before, a client should be able to create a drug order with a specific drug concept (not DRUG OTHER) with both DrugOrder.drug and DrugOrder.drugNonCoded blank as long as the drugOrder.requireDrug global property is false.

      Gliffy Diagrams

        Attachments

          Activity

            People

              sravanthi17 sravanthi naraharisetti
              sravanthi17 sravanthi naraharisetti
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: