Try NLTK-based tagging
Make codes persist in the database
Allow to override the cache
Slightly easier NLP handling
Refactor EligibilityCriteria to utilize the Analyzable class
Let the Analyzable handle the "force" flag correctly
Handle negated tags in UMLS lookup
Move MetaMap NLP to ElementTree and add text position information to tags
Better text position handling in MetaMap
More robust Analyzable string extraction
Let’s name this “keypath”
Eligibility criteria cleanup
Optimizations and cleanup:

- Rename “Study” class to “Trials”
- Use “requests” module throughout
- Reduce redundant calls
- More lazy loading
Update status reporting
Keep progress reporting in check
Increase badge size
Lazily check UMLS databases
Start transitioning the runner to SQLite
More refactoring, more to come
More refactoring