Skip to content

API Design

Bill Majurski edited this page Feb 6, 2020 · 1 revision

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

  1. Document each request here along with its parameters and assumptions.
  2. Return content from these functions are mostly generated with GSON. Probably needs upgrading (see ChannelConfig for upgrade example).
  3. Generate Java library that defines API.
  4. Javadoc generation added to system build.
  5. IT tests to validate library.
  6. Examples of use.
Clone this wiki locally