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

Remove Need for ConceptSet Manipulation from API

    XMLWordPrintable

    Details

    • Type: New Feature
    • Status: Closed
    • Priority: Should
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: OpenMRS 1.7.0
    • Component/s: None
    • Labels:
      None
    • Complexity:
      Undetermined

      Description

      Currently ConceptSet is treated and exposed like any other domain object. We want to hide this behind the API.

      Add a method to the Concept class to get direct (immediate) members of a set like:

      if (concept.isSet())
        List<Concept> concept.getMembers();
      

      and add a method to ConceptService to get all members (turning any child sets into their members):

      if (concept.isSet))
        List<Concept> Context.getConceptService()
          .getAllConceptMembers(concept);
      

      Nowhere does the API consumer need to know or be concerned about ConceptSet. ConceptSet disappears from the API (domain objects and service methods). Whether or not concept_set_derived is used becomes an internal performance issue hidden within the API.

      Decided on this dev call.

        Gliffy Diagrams

          Attachments

          1. openmrs_1921_added_new_api_methods.patch
            13 kB
          2. openmrs-1921.patch
            4 kB
          3. openmrs-1921-3.patch
            13 kB

            Activity

              People

              Assignee:
              zabilcm Zabil C.M [X] (Inactive)
              Reporter:
              burke Burke Mamlin
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: