Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • DONE: serialization of concepts should include id, terminologyId, preferred name
    • Applies to Description and Relationship
    • Return 0 for Long if not set
    • Return "" for String if not set
  • DONE:  Claml loader 
    • make sure transitive closure computation is working
  • BAC: REST APIs - fix @Consumes and @Produces

  • PG: Finalize integration REST testing
    • DONE: security service
    • DONE: Metadata Service
    • Content Service 
  • Loaders 
    • DONE: Make sure snapshot and full create release info
    • BAC: RF2 full - get this working
    • RF2 snapshot
    • DS: RF2 delta
      • Handle other data structures (currently only 4)
      RF2 daily build loader
      • extends delta loader with a - need to add sample data  (and headers) too
      • Remember AttributeValue and AssociationReference need handling for both description and concept
      • Need new ContentServiceJpa methods
      • No need for "handle retracted changes" method that looks at the previous release state of each element (using history service)
    • Performance - optimize "commit"
  • Claml loader 
    • make sure transitive closure computation is working
    • Scale to full RF2
      • Monitor the number of copies of objects
      • BAC: Manage memory usage and optimize commit
        • Can delta loader scale to a full sized delta?
          • Load full SNOMED 20140731
          • then load delta SNOMED 20150131
        • Can snapshot loader scale to a full sized snapshot with only a single commit?
          • Consider making description/concept connections merely an id (lose referential integrity, but these could be added qa database)
  • PG: History service - handle other data structures

  • PG: History service - integration tests.

  • BAC: Admin tools - all should use "server" flag except for QaDatabase and Create/Updatedb

  • most do, create a project, start editing cycle, and release mojos don't yet.
  • History service - support other data types

    • Only release mojos need to be fixed.
  • BACQA Admin tool - fill in queries and reuse

    • Add queries for project and for release info

  • BAC: Separate "updatedb" into

    • admin project called "db"

    • pass hibernate.hbm2dd.auto as a parameter to the execution

      • call System.setProperty("hibernate.hbm2ddl.auto", hbm2ddlParameter).

      • THEN create the root service.

    • "createdb" profile

    • "updatedb" profile

    • Remove the properties section from pom.xml
    • Update documentation.
  • Mojo integration testing

    • Have a setup dev environment mojo

    • Have a teardown dev environment mojo (calls createdb at the end to clean up after itself, leavign an empty Db ready to go).

  • Testing

    • Unit Testing
      • coverage, equals/hashcode/copy constructor; lists; algorithms; handlers
    • Mojo Tests

FOR FUTURE SPRINTS

Fleshing out APIs

  • Project metadata service

    • For Project (pull out of content service)
    • for release info (pull out of history service)
  • PG Support running all admin tools through REST services

    • Add additional rest calls (e.g. to action service or whatever)
    • Add corresponding client calls.
    • When adding a new project, have REST service set the "lastModifiedBy" to the user who authenticated.
  • Project-based authorization (e.g. only allow edits on concepts where a user is an author)

    • This requires tracking the full concept scope with the project. (what if you add a concept?)
  • Application metadata service (project stuff?)

  • Terminology Metadata service
    • DONE Support classifier - root node (done), isa relationship (done), and role root.
    • DONE stated/inferred char types should be metadata methods,
      • Update TerminologyUtility accordingly to avoid hardcoded values
    • new DL features for properties and data properties
      • access to "RoleRelationship" objects
  • Security service - n/a

  • Content service methods for adding/removing inferred rels in batch.

  • Separate read/write services of content service
  • SNOMEDCT Editing Service
  • HistoryService
    • getRevisions (without boolean)
    • getReleaseRevision(id, String release) - pick any one with matching release - get first one
  • Configuration setting for synchronizing access to write services
  • ContentService (and content change service) - have a "deep" delete on concept and description that deletes connected refset data too.
    • REST layer
  • Implement semantic search
  • Implement everything across the board for Concept, Description, Language Refset, Relationship, and AssociationReference (e.g. reason for inactivation)
    • Let the demo drive all use cases, 
  • READ only version of rest service

...