API Design - usnistgov/asbestos GitHub Wiki
These are design notes for the Asbestos (FHIR Toolkit) API.
Candidate functions
The candidate functions are the functions already implemented server-side for use with the UI. The source for these is found at https://github.com/usnistgov/asbestos/tree/master/asbestos-proxy/src/main/java/gov/nist/asbestos/asbestosProxy/requests.
Heartbeats
Hapi and Xds both have liveliness checks. The engine needs same (we currently use an indirect determination on the UI).
General config
GetProxyBase, GetSessionNames, GetSignin exist.
Channels
CreateChannel, DeleteChannel, GetChannelIds, GetChannelConfig, LockChannel exist.
Events
GetEventsForChannel, GetEvent, GetEventForResourceType exist.
Inspector
GetLogEventAnalysis
Test details
GetTestAssertions, GetTestCollectionNames, GetTestCollection, GetTestDefinition
Test running
GetClientEventEval, GetClientTestEval, RunTest
Test Logs
GetTestLog, GetTestLogs
Next Steps
- Document each request here along with its parameters and assumptions.
- Return content from these functions are mostly generated with GSON. Probably needs upgrading (see ChannelConfig for upgrade example).
- Generate Java library that defines API.
- Javadoc generation added to system build.
- IT tests to validate library.
- Examples of use.