Skip to content

Releases: google/android-fhir

Data Capture Library 1.2.0

18 Sep 18:52
d114245
Compare
Choose a tag to compare

Highlights

  • Full repeated group support with UI controls to add and remove groups, a refreshed style, and a number of fixes for bugs raised by app developers
  • Enhanced support for expressions including launch context, questionnaire constraint, x-fhir-query and performance optimizations
  • A number of enhancements and bug fixes to improve the user experience with navigation in a paginated questionnaire
  • Behaviour fixes for text input and open choice widgets
  • Capability to customise the style of individual questions

Changelog

Enhancements 🌟

  • Repeated group headers [#726]
  • Add support for answerReference when using enableWhen [#1834]
  • Improve initial load of calculated expression [#2519]
  • Support questionnaire-constraint Extension [#1849]
  • Support evaluation of variables, launchContext and other FHIR contexts for cqf-calculatedValue expressions [#2292]
  • X-FHIR-Query support for variable extension [#2075]
  • Support optionExclusive Extension in Popup [#2436]
  • Quantity unit options with initial quantity value [#2395]
  • Allow modification of Questionnaire submit action button text via configuration [#2239]
  • Add the next button navigation view to a default long scroll [#1764]
  • Flyover text as secondary dialog title [#2647]

Fixes 🔨

  • Remove deep copy for answers in question view item [#2593]
  • Fix anomalous behaviour of enableWhen expressions in a repeated group [#2590]
  • Pack repeated groups even if there is only one group in the response [#2564]
  • Add missing response items to repeated group child items [#2655]
  • Handle empty repeated group header [#2574]
  • Open choice missing string value [#2520]
  • Display code string [#1604]
  • Add missing use of viewItem.questionText [#2664]
  • Bind to bottomNavContainerFrame only if bottomNavItems not empty [#2588]
  • Fix Previous button visibility in review mode [#2516]
  • Hide the bottom navigation container on no visible buttons [#2446]
  • Hide the Next button if it is disabled [#2404]
  • Hide previous and next button [#2394]
  • Help info box disappears after changing answer [#2356]
  • Update questionnaire buttons in xml fragment [#2353]
  • Duplicate entry of invalid decimal entry present in another decimal field [#2401]
  • Keyboard hides itself when focusing to open-choice text box [#2651]
  • Fix cursor moving back and missing characters [#1914]

Style update 👗

  • Per question custom style [#2636]
  • Repeated group UI style [#726]

Code health 🧹

  • Clean up UI navigation item [#2658]
  • Remove submit and cancel visibility style [#2428]
  • Create helper function to go through question answer pairs [#2618]
  • Add questionnaire and qItem as reserved variables [#2477]

Catalog app and documentation 📚

  • Update documentation for custom UI components [#2581]
  • Update calculated expression example to calculate age from date of birth [#2627]
  • Add location mapping widget [#800]

Thanks to all the contributors to this release:
@FikriMilano @maimoonak @santosh-pingle @MJ1998 @LZRS @jingtang10 @aditya-07 @nsabale7 @joiskash @asad-zaman @allan-on @f-odhiambo

Knowledge Manager 0.1.0 beta01

09 Sep 10:35
8301d62
Compare
Choose a tag to compare
Pre-release

The Knowledge Manager 0.1.0 beta01 release updates the dependency on Clinical Reasoning and makes important changes to the APIs for loading knowledge artifacts:

  • Update clinical reasoning dependencies [#2637]
  • Load resources with url and optional version [#2666]
  • Rename install API to index for file in knowledge manager [#2634]

FHIR Engine 1.0.0

07 Feb 10:34
81c435b
Compare
Choose a tag to compare

The FHIR Engine v1.0.0 release includes major enhacements made to the sync API as well as changes in the search API and the dependencies of the library.

Feature Highlights

Upload strategies

The newly introduced upload strategies strike a balance between customizability and robustness of the sync logic, allowing applications to customize the way FHIR resources are uploaded to the FHIR server without having to deal with the implementation details. For example, applications can now upload changes using JSON patches, and bundle the changes in fewer requests to improve sync performance. Uploading using HTTP POST will be available soon, too. See available upload strategies and how to use them in a FhirSyncWorker.

Revamped sync status

The new sync status provides more accurate information on the sync jobs, combining job history with the status of the current job. See example.

Updated build rules

The application's build file no longer needs to include the force blocks to manually fix guava, jackson, and HAPI versions. See example.

Changelog

Sync API 🌟

  • Create new resources on the server using POST [#760]
    • Resource consolidation for resources created with POST [#2217]
    • Adding PerResourceLocalChangeFetcher [#2257]
    • Refactor syncUpload Method to improve flow and error handling [#2173]
    • Remove UploadStrategy.AllChangesBundlePut option from engine [#2431]
  • Store sync progress in a local storage in the engine [#2119]
  • Restore granular upload progress updates and database consolidation [#2392]
  • Synchronize sync workers [#2385]
  • Fix error with Json patches for the same field [#2342]

Search API 🔎

  • Allow sorting data in the include and revinclude search API [#2378]

Other fixes 🛠️

  • Dependency versions fix [#2380]

@aditya-07 @jingtang10 @omarismail94 @anchita-g @santosh-pingle @MJ1998 @vitorpamplona @vorburger

Data Capture Library 1.1.0

17 Jan 17:53
45c687e
Compare
Choose a tag to compare

The 1.1.0 release of Structure Data Capture Library includes the following changes:

Enhancements 🌟

  • Enhanced expression support
    • Handle fhirpath expression in x-fhir-query [#1658]
    • Candidate expression support [#1789]
    • EnableWhenExpression context literal fhirpath supplement implementation [#1957]
    • CQF expression support [#1945]
    • Variable support in answer expression [#2052]
    • Support answer options toggle extension [#2034]
    • Variable support for enableWhenExpression [#2096]
    • Allow usage of variable and context in answer expression [#2039]
    • Support fhirpath supplement %questionnaire and %qItem literals [#2163]
  • Save draft answers in decimal text boxes [#1923]
  • Required and Optional labels for required and optional input [#1954]
  • Multiple initial values for repeating question [#2019]
  • Make questionnaire properties accessible for custom components [#2023]
  • Optimize flatten and descendent traversal [#2079]
  • Support multiple Instructions [#2092]
  • Populate reference initial values in dropdown list [#2065]
  • Implement questionnaire-unit and questionnaire-unitOption extensions [#2014]
  • Support entry format for date and time [#1850]
  • Support initialSelected in answer options [#2032]
  • Support cancel button [#1829]
  • Definition based extraction for repeated groups [#1794]
  • Handle repeated answers in questionnaire validation [#487]
  • Definition Based Extraction: Issue in extracting Observation value of type valueCoding #1769
  • Support minLine attribute [#1518]

Fixes 🔨

  • Hide initial validation error message for modal and open choice widgets [#1514]
  • Fix mismatched nested items with skip logic [#1972]
  • Fix FHIRPath constant value null casting [#2012]
  • Do not replay earlier updates in DialogSelectViewHolderFactory [#2080]
  • Nested items of group are not rendering when loading Questionnaire using QuestionnaireResponse [#1998]
  • Make help card show/hide state per page [#2054]
  • Handle code systems correctly [#2136]
  • Fix calculated expression beyond initial changes [#2354]
  • Fix cursor skipping back while start typing a value in numeric field [#1914]
  • Create nested items correctly [#1881]
  • Validate current page items before entering review page [#1682]
  • Support definition based extraction for lists with non-primitive types [#1769]
  • Fix mismatched answers in open choice and drop down widgets [#1537]
  • Refactor Auto complete widget [#1398]
  • Fix enableWhen in repeated group [#1895]
  • Pass original response items instead of copy to getEnabledResponses [#1776]
  • Fix failed mapping of repeated groups when questionaire response is passed as argument [#1900]
  • Fix enable when expressions for display items [#1835]

Style update 👗

  • Make horizontal boolean type options full screen width [#1968]
  • Refactor text overflow in dropdown [#1966]
  • Make spacing a configurable attribute [#1986]
  • Make image size consistent [#2057]
  • Fix cropped help icon [#2093]
  • Review screen style changes [#1737]
  • Remove extra space when the group headers have no text to show [#1339]
  • Customize bottom container style and behavior [#1842]
  • Improve overriding dimens [#1832]
  • Show dateformat text in lowercase for date and date time label [#1969]

Thanks to all the contributors to this release:
@FikriMilano @maimoonak @omarismail94 @santosh-pingle @khyativyasargus @shelaghm @MJ1998 @KhumboLihonga @LZRS @PallaviGanorkar @jingtang10 @aditya-07 @nsabale7 @joiskash @vbothe23 @Itskiprotich

FHIR Engine 0.1.0 beta05

18 Oct 15:02
56f0253
Compare
Choose a tag to compare
Pre-release

The FHIR Engine 0.1.0-beta05 release includes the following changes:

Sync module changes (esp. upload redesign) continued

  • Add a LocalChangeFetcher #2135
  • Add ResourceConsolidator #2137
  • Introduce Patches: changes to be uploaded to the server #2156
  • Remove UploadWorkManager #2166
  • Refactoring UploadRequestGenerator for Upload Sync Redesign #2168
  • Introducing Upload Strategies #2171
  • Refactor syncUpload Method to improve flow and error handling #2173
  • Add resource UUID to LocalChangeEntity, fixing changing UUID issue for the same resource #2210
  • Update the version of resource after updates are downloaded from the server #2272

Improvements in tests and testing infrastructure

  • Add tests to sync classes #1505
  • Clean up SyncJobStatus and add FhirSynchronizer test #2184
  • Set up CodeQL #2185
  • Set up Dependency graph for Dependencies and Dependents #2194
  • Set up Dependabot #2195
  • Fix broken CI for trivial PRs #2197
  • Remove CQL dependencies in the engine/benchmark module #2229
  • SdkSuppress FhirSyncWorkerBenchmark oneTimeSync_50patients (re. #2235) #2236

Dependency updates

  • Migrates engine to HAPI 6.8 while forcing Workflow to stay on 6.0 #2245
  • Update gradle build tool from 8.0.2 to 8.1.1 #2158
  • Bump com.android.tools.build:gradle from 8.1.1 to 8.1.2 #2219
  • Bump actions/upload-artifact from 2 to 3 #2249
  • Bump actions/checkout from 3 to 4 #2248
  • Bump styfle/cancel-workflow-action from 0.7.0 to 0.12.0 #2250
  • Bump com.diffplug.spotless:spotless-plugin-gradle from 6.21.0 to 6.22.0 #2252
  • Bump com.spotify.ruler:ruler-gradle-plugin from 1.2.1 to 1.4.0 #2253
  • Bump com.squareup:kotlinpoet from 1.12.0 to 1.14.2 #2255
  • Bump androidx.build.gradle.gcpbuildcache from 1.0.0-beta01 to 1.0.0-beta05 #2266

Documentation and codelabs

  • Update dependencies in engine colab #2268

Contributors:
@aditya-07 @anchita-g @jingtang10 @omarismail94 @roywanyaga @santosh-pingle @vorburger

Knowledge Manager 0.1.0-alpha02

10 Oct 20:59
ab27ca0
Compare
Choose a tag to compare
Pre-release

The Knowledge Manager 0.1.0-alpha02 release (com.google.android.fhir:knowledge:0.1.0-alpha02) adds the capability to download and manage FHIR NPM packages as well as other API improvements and fixes. In more detail:

  • Implement a simple NpmManager [#2028]
  • Fix the version collision in Knowledge Manager [#2043]
  • Allow custom package server in Knowledge Manager [#2244]

FHIR Engine 0.1.0-beta04

04 Sep 14:05
75bf7b8
Compare
Choose a tag to compare
Pre-release

The FHIR Engine 0.1.0-beta04 release includes the following enhancements and fixes:

Sync API:

  • Support sending gzipped request body when uploading [#1988]
  • Support basic and bearer HTTP authentication [#2037]
  • Support headers in the http requests and using ETags for upload [#1989]
  • Refactor upload work manager for enable future customization [#2021, #2149]
  • Handle local insert-delete sequence as no-op when squashing [#1951]

Search API:

  • Implement _revinclude [#1947]
  • Add _tag and _profile search parameters for x-fhir-query [#1935]
  • Fix Date/DateTime and Token indexes to speed up search [#2040]

Other:

  • Setup benchmarking for the sync worker [#1996]
  • Enforce Java 11 usage and update dependencies [#2072]
  • Store timeStamp as Instant instead of human readable string format in LocalChangeEntity [#2083]
  • Fix engine and knowledge library versions in workflow and testing [#2085]
  • Upgrade AGP and Dependencies [#2064]

Warning: This release includes a database schema change. Applications upgraded to this version of the library cannot be downgraded to a previous version without the application crashing due to database incompatibility.

Workflow Library 0.1.0-alpha03

31 Jul 13:59
a26dcbe
Compare
Choose a tag to compare
Pre-release

This workflow-0.1.0-alpha03 release contains the following enhancements and fixes:

Enhancements:

  • CarePlan can be generated without an Encounter [#1741]
  • Cache ModelResolver and use cached FhirContext to increase performance [#1753]
  • Migration of the CQL Translator, Engine and Evaluator to version 2.4 [#1771]
  • Workflow library is now integrated with Knowledge Manager [#1854]
  • A compiled Library cache that survives multiple executions of the evaluator has been added to improve workflow performance [#2033]

Fixes:

  • CQL logic in a PlanDefinition is now correctly evaluated by specifying a data endpoint when invoking $apply [#1982]

Knowledge Manager 0.1.0-alpha01

30 May 12:53
b129c66
Compare
Choose a tag to compare
Pre-release

This knowledge-0.1.0-alpha01 release of the Knowledge Manager library allows developers to import knowledge artifacts and Implementation Guides and store them locally on device.

Functionalities

  • Import Implementation Guide
  • Import individual knowledge artifacts
  • Provide APIs to access Knowledge Artifacts
  • Delete Knowledge Artifacts

Future work

  • Download published Implementation Guides using the NPM package manager
  • Integration with other Android FHIR SDK Libraries through the Knowledge Manager APIs

FHIR engine 0.1.0 beta03

06 Apr 13:36
da963d5
Compare
Choose a tag to compare
Pre-release

The FHIR Engine 0.1.0-beta03 release includes the following enhancements and fixes:

Search API:

  • Include resource type as parameter in has function in the Search DSL [#1921]
  • Add Coding type to token index [#1609]
  • Remove old indexes when resource is updated [#1840]
  • Allow developers to add custom search parameter to the engine [#1382]

Sync API:

  • Add sync progress status update [#1484]
  • Refactor and simplify Sync API [#1578]
  • Fix engine upload sync [#1893]
  • Remove SyncedResourceEntity from database [#1889]
  • Add Bundle request support for downloading resources [#1888]

Other:

  • Log HTTP API calls that are invoked by the FHIR Engine while syncing [#1426]
  • Update HAPI structures dependency to 6.0.1 [#1616]
  • Bump the Android minSdk level to 24 [#1628]

Warning: This release includes a database schema change. Applications upgraded to this version of the library cannot be downgraded to a previous version without the application crashing due to database incompatibility.

Warning: As a result of the effort to generalize the sync API, applications that use lastUpdated timestamp to download FHIR resources are now required to manage the timestamp in the application. See DemoDataStore and TimestampBasedDownloadWorkManagerImpl for a reference implementation. The default sync download implementation has also been updated. See ResourceParamsBasedDownloadWorkManager.