Skip to content

FHIR Engine Library 0.1.0-alpha01

Pre-release
Pre-release
Compare
Choose a tag to compare
@jingtang10 jingtang10 released this 19 Apr 15:36
· 1097 commits to master since this release
1992c7a

The 0.1.0-alpha01 release of the FHIR Engine library allows Android developers to begin to develop offline capable native FHIR applications. The goal of this early release is to gather feedback from developers and identify critical issues that need to be addressed. As an early release APIs are subject to change.

The FHIR Engine Library provides a set of core features that are the foundation for a FHIR compliant Android application. These include SQLite database storage layer, data access APIs for interacting with the storage layer, search API for retrieving relevant resources and the sync API for communication between a FHIR server and the device.

When used together with the SDC Library, application developers are able to start to piece together an end to end FHIR compliant android client that can act as a stand-alone application or as part of a client-server architecture.

Please refer to the User's Guide of the wiki for relevant examples. The SDK is a community collaboration. To submit feature requests and suggestions about specific use cases, see Feedback. To contribute to the codebase, see Contributing.

SQLite database for FHIR resources

Supported functionality

  • On-device SQLite database (using standard Android encryption)

Future work

Data Access APIs

Data access layer to interact with the SQLite database. Provides CRUD capabilities and support for synchronisation.

Current functionality

  • read
  • add (and batch add)
  • delete
  • update

Future work (gathering requirements)

  • Support for batch updates of resources in the database
  • Advanced management of data conflicts in DB

Search API

The on-device search API using Kotlin DSL allows applications to compose complex search queries to filter FHIR resources and build lists. Indexing all search parameters in the database for faster look-ups

Current functionality

  • Search by resource type
  • Filtering (e.g. string search with equality operator)
  • Sort by criteria
  • Paging

Future work

  • Support all search parameter types (e.g. reference) and operators (e.g. not equal, greater than etc)
  • We don't have full logical operator support yet (and, or) beyond the prototype
  • Full-text search support

Sync API

Allows developers to define the resources to be synchronized between a FHIR server and the local SQLite database.

Current functionality

  • Synchronizing with a FHIR server using RESTful API
  • Support upload/download
  • Uses Android work manager

Future work

  • Explore different approaches to synchronization to support wider set of implementation use cases (e.g. allow for custom end-point to determine what resources a specific user should have access to)