- Add reverse combination-pack accessors, resolving a child pack to the
combination pack(s) of which it is a component:
parent-packs-for-vppid
and parent-packs-for-appid (extended product maps), with id-only
parent-vppids-for-vppid and parent-appids-for-appid. The relationship
is to-many, as a component pack may belong to more than one combination pack.
A major reworking of storage and the query API. Databases must be rebuilt:
the store now uses a new schema, and older databases are rejected at open
with a clear error.
- The full dm+d schema is now imported, including the supplementary history
and VTM-ingredient files and many fields previously dropped; stores open
read-only with strict validation and carry a
status summary (schema
version, release date, provenance and entity counts) - Every imported dataset is now queryable through
com.eldrix.dmd.core,
including extended product detail, pack pricing and reimbursement, GTINs
(with validity dates), product history, full-text search, hierarchy
traversal and subsumption - Updated dependencies
- Use a SQLite DataSource rather than a Connection in case used by multiple threads concurrently
- Update dependencies
- Return ATC matching to same approach as before switch to SQLite and support '*' and '?' for wildcards
- Automate tests using GitHub Actions on every commit to main branch and weekly with every release of dm+d in the UK
- Add function specifications for main APIs
- Update dependencies
- First release with new SQLite backing store
- Switch to using SQLite for backing store
- New API endpoint to search for a product by exact name
- New build system using tools.build
- Include metadata with each database permitting checks for compatibility and versioning
- Upgrade dependencies, including datalevin 0.5.22
- Simplify ECL generation of products, now only including VTMs,AMPs and VMPs by design.
- Add fetch of VMPPs and AMPPs for a product to backing store API.
- Permit resolution of ATC codes from any product arbitrarily.
- Include option to include product packs [this feature later removed]
- Turn ATC codes / regular expressions into SNOMED expressions that can be expanded by a terminology server such as hermes
- ATC mapping to VTM, VMP and AMPs
- Fully denormalise products recursing into to-one and to-many relationships such as lookups
- Map between dm+d products (e.g. get all VMPs for that VTM)
- Switch to using numeric fields, and therefore results, for lookup codes.
- Expand denormalization to include BNF DDD reference for VMPs
- Fix GTIN import
- Add synthetic BNF data for testing
- Add lookup tests
- Add continuous integration tests
- Significant improvements in functionality
- Switch to new datalog-based backend (using lmdb not mapdb).