...
Sprint to continuing to develop core features of the application
Finalize Read-only Server with Testing Infrastructure
- 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
DONE: BAC: REST APIs - fix @Consumes and @Produces
- Annotations are now at the class level, with TEXT_PLAIN overrides where parameters or return values are String.
- Transitive closure computer - avoid cycles.
- Pass set of identifiers "seen" along the way - fail?
- PG: Finalize integration REST testing
- DONE: security service
- DONE: Metadata Service
- Content Service DONE: Content Service
- History service
PG: History service - handle other data structures
- Loaders
- DONE: Make sure snapshot and full create release info
- DONE: BAC: RF2 full - get this workingRF2 snapshot
- DS: RF2 delta
- Handle other data structures (currently only 4) - 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"
- 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)
- Can delta loader scale to a full sized delta?
PG: History service - handle other data structures
PG: History service - integration tests.
BAC: Admin DONE: change run.config to run.config.ts
DONE: BAC: Admin tools - all should use "server" flag except for QaDatabase and Create/Updatedb
- Only release mojos need to be fixed.
BAC: BAC: QA Admin tool - fill in queries and reuse
Add queries for project and for release info
DONE: 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
- BAC - Unit Testing
- helpers
- handlers
- algorithms
- BAC - Unit Testing
- ContentServiceRest
- get methods for refsets
- find all refset members (by refset id)
- get all members for a concept/description
- getInverseRelationships(Concept)
- Unit testing for these.
- get methods for refsets
- Very basic user interface (as part of rest project).
- Point to swagger (change that index page to swagger.html)
- Security: login/logout
- Metadata:
- show terminologies and versions
- show all metadata for a selected terminology
- Content
- find concept
- get ancestors
- get children
- get descendants
FOR FUTURE SPRINTS
Fleshing out APIs
Handling effective time (new handler)
- Loaders should be allowed to set effective time
- release process should be allowed to set effective time
- want to be able to distinguish between published and unpublished things (perhaps a "published" flag is better)
Semantic search.
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
...