b.well SDK v0.15.1 Change Log

Production SDK Patch Release

b.well SDK version 0.15.1 includes known issue corrections related to User Journey 4: User is able to retrieve Health Data.

Improvements

The following known issues reported in v0.15.0 Change Log have been corrected:

  • getEncounterGroups now returns code values that can be used as input parameters to search and filter getEncounters
  • getMedicationStatements now supports searching by code values.
    • Searching by IDs has been added to the getMedicationStatements schema, but is not yet functional.

Known Issues and Future Enhancements

  • Searching by IDs is not yet supported by any of the health data endpoints.
  • SD-595 Missing fields for MedicationStatement will be added in an upcoming release.

b.well SDK v0.15.0 Change Log

Production SDK Updates

b.well SDK version 0.15.0 includes the final round of fully integrated methods aligned with User Journey 4: User is able to retrieve Health Data.

Before referencing the method documentation, please take some time to read the Codings in Health Data Request Objects guide. It will be important to understand this concept as you begin to integrate the health data methods.

The following methods are now available:

Important Changes

Removed Mock Endpoints

The following mock endpoints were no longer in use and have been removed:

  • getMedication
  • getMedicationPricing
  • getMedicationList
  • getCommunications
  • getLabDetails

Known Issues and Future Enhancements

getEncounters

  • The getEncounters method does not currently support searching with code values as the code values needed are not returned from the getEncounterGroups method. This will be resolved quickly in an upcoming release.

getMedicationStatements

  • Searching using the getMedicationStatements is not currently supported with this release. Searching functionality will be enhanced in an upcoming release.
  • The following fields are included on MedicationStatement.

Field

Description

id

The id of the MedicationStatement

status

Status of the medication

medication

[CodeableConcept] representing the medication

authoredOn

Authored on date of the most recent medication request
Known as prescribedDate in the mock SDK

requester

Requester of the most recent medication request
Known as prescriber in the mock SDK

effectiveDate

Effective period of the medication statement
Known as validityPeriod in the mock SDK

dosageInstruction

Details of how medication is/was taken or should be taken

Resolved Service Desk Tickets

  • SD-591 - reasonCode is now available in the SDK on Immunizations, but it is currently returning a null value. We are actively working to resolve this issue.

Test User with Health Data

The following test user JWT can be used for authenticating a user that has health data stored on the b.well FHIR server.

eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJ3ZWxsLXRlc3QifQ.eyJndWlkIjoiYndlbGwtdGVzdF9QVlREcTRZMFg5bVl6UDBCbHBrNC9nPT0iLCJvdGlkIjpmYWxzZSwiZXhwIjoyNjk4MjM0MzcxLCJpYXQiOjE3MDY3MzQ5MzF9.CFND_f7azw7GV4cXnZ2JngzkUBqocoLZKmInPDO4_X31fUj0_p_ozAzLgtlnzp1jzNKchioxM-uA-tYP6iucsA

After authenticating, the health data methods can be used to retrieve data. In this case no specific demographics are needed for the user because we are not matching to an external data connection.

Note:

  • This user does not currently have labGroups or conditionGroups. We are actively working on populating this data.
  • It is a known issue that you may experience cases when the health data methods return null values where data exists in the FHIR server for the user. We are actively working to resolve this scenario.
❗️

When using this test user to test data retrieval, please DO NOT connect this user to any data connections.

b.well SDK v0.14.0 Change Log

Production SDK Updates

b.well SDK version 0.14.0 includes the latest round of fully integrated methods aligned with User Journey 4: User is able to retrieve Health Data.

Before referencing the method documentation, please take some time to read the Codings in Health Data Request Objects guide. It will be important to understand this concept as you begin to integrate the health data methods.

The following methods are now available:

Methods not available in this release, but coming (very) soon:

  • getEncounters
  • getMedicationStatements
  • getLabs
  • getLabGroups
  • getLabKnowledge

Important Changes

SDK Changes

  • Due to changes in the SDK, all Group queries will no longer function with SDK v0.13.0 or earlier. Please update dependencies to use v0.14.0 as soon as possible

Changes to getEncounterGroups

  • participant was removed. This will be replaced with performer in an upcoming release.
  • period was replaced with performedDate

Changes to AllergyIntolerance

  • AllergyIntolerance.category is now a List<AllergyIntoleranceCategoryCode?>

Future Enhancements

  • Error handling with getMedicationKnowledge will be improved in a future release. Currently, error handling to be aware of:
    • Passing a medicationStatementId that exists but does not have the correct codes configured will return a 400 response.
    • Passing a medicationStatementId that does not exist results in an empty list returned.

b.well SDK v0.13.0 Change Log

Production SDK Updates

b.well SDK version 0.13.0 includes the latest round of fully integrated methods aligned with User Journey 4: User is able to retrieve Health Data.

Note: As mentioned in v0.12.0 Change Log, composites are now referred to as groups.

Before referencing the method documentation, please take some time to read the Codings in Health Data Request Objects guide. It will be important to understand this concept as you begin to integrate the health data methods.

The following Groups methods are now available:

The following base resource methods are now available:

Also included in this release:

Note The request object for this method included in the mock SDK has changed from ConnectionRequest to RequestConnectionRequest

Methods not available in this release, but coming soon:

  • getHealthSummary
  • getEncounters
  • getVitalSigns
  • getMedicationStatements
  • getMedicationGroups
  • getLabs
  • getLabGroups
  • getMedicationKnowledge
  • getLabKnowledge

Important Changes

Repository Update

maven {
            url = uri("https://artifacts.icanbwell.com/repository/bwell-public/")

Naming Changes

  • Pluralization of names used in Health Data methods have been changed. For example, AllergyIntolerancesRequest is now AllergyIntoleranceRequest. This applies to all Health Data methods.
  • ObservationComposition is now VitalSignGroup

Notable Improvements

  • A fix for exception=Request failed with errors: [Unable to create consent] when calling `createConsent is included in this release. Reference SD-581.

Future Enhancements

  • Improved Pagination for Groups: Currently, pagination controls (page and pageSize) are not respected by methods for retrieving Groups and specifically the getCarePlan method. Instead all groups are returned regardless of the paging parameters that were set. This will be resolved in an upcoming release.
  • Refined Search by IDs on Base Resources: An upcoming update will include improvements to the search functionality by IDs on base resources. Currently, searching by IDs returns the full list instead of a filtered list. This will be resolved, ensuring that your search results are more accurate and relevant to your specific queries.
  • Enhanced Health Data Fields: We are also addressing an issue where certain fields in each health data endpoint return null values, even when the FHIR server possesses a value. This enhancement will be resolved internally within the service and will not require an SDK release.

b.well SDK v0.12.0 Change Log

Production SDK Updates

b.well SDK version 0.12.0 includes the latest round of fully integrated methods aligned with User Journey 5: User is able to receive notifications about insights.

  1. Register a Device
  2. Deregister a Device
  3. Retrieve Tasks for a User
  4. Update Task Status

Additional Production SDK Methods

  1. Delete a User's Account

Important Updates

OperationOutcome

  • Previously, the OperationOutcome class included status and exception fields.
    To better align with FHIR standards, we're updating this structure by removing these fields and introducing an issue array in the OperationOutcome class.
    This change will provide a more standardized and detailed description of outcomes, ensuring clearer communication of operation results within the SDK.
    In addition, the BWellResult class now includes an error field of type BWellError.

Health Data Endpoint Updates

  • Composite is now renamed to Groups for each of the Health Data endpoints. While the Health Data endpoints are not yet fully integrated, you may notice this change as part of this release.

b.well SDK v0.11.0 Change Log

Production SDK Updates

b.well SDK version 0.11.0 includes the latest round of fully integrated methods aligned with User Journey 2: User is able to search for and select a data connection.

  1. General Search
  2. Search Providers
  3. Search Connections

Please note the following regarding Data Connection Categories:

The searchConnections method is tailored to effectively categorize different data connection categories.

  • For Clinics, Hospitals, and Health Systems, use .organizationTypeFilters(listOf(OrganizationType.PROVIDER)).
  • For Labs, use .organizationTypeFilters(listOf(OrganizationType.LABORATORY))

When using searchProviders for Providers, do not apply the .organizationTypeFilter as it will result in no returned data.

Please reference the method guides for more detailed example uses.

Important Changes

Method Updates

  • registerDeviceToken has been changed to registerDevice. This change is included in v0.11.0 however the method is not yet fully integrated and will continue to return mock data. More details will be included with v0.12.0
suspend fun registerDevice(deviceRequest: RegisterDeviceTokenRequest): OperationOutcome
  • deregisterDeviceTokenhas been changed to deregisterDevice. This change is included in v0.11.0 however the method is not yet fully integrated and will continue to return mock data. More details will be included with v0.12.0
suspend fun deregisterDevice(deviceToken: String): OperationOutcome

Namespaces and Enum Updates

Please note the following changes to existing namespaces and enums:

  • import com.bwell.search.requests.ProviderSearchRequest
    changed to
    import com.bwell.search.requests.provider.ProviderSearchRequest
  • import com.bwell.search.requests.ConnectionRequest
    changed to
    import com.bwell.search.requests.connection.ConnectionRequest
  • import com.bwell.generated.search.type.OrganizationType
    changed to
    import com.bwell.common.models.domain.search.enums.OrganizationType
  • import com.bwell.generated.search.type.SortField
    changed to
    import com.bwell.common.models.domain.search.enums.SortField
  • import com.bwell.generated.search.type.SortOrder
    changed to
    com.bwell.common.models.domain.common.enums.SortOrder
  • import com.bwell.generated.search.type.Gender
    changed to
    import com.bwell.common.models.domain.common.enums.Gender

Future Enhancements

  • Currently, entering page: 0 or pageSize: 0 within the ProviderSearchRequest will result in a crash. This scenario will be handled properly in a future release.

b.well SDK v0.10.0 Change Log

Production SDK Updates

b.well SDK version 0.10.0 includes the latest round of fully integrated methods aligned with User Journey 3: User is able to make a data connection.

Please note that v0.9.0 was skipped. Methods related to Data Connections and Search were separated into v0.10.0 and v0.11.0 respectively. Any changes previously communicated with v0.9.0 are now included in v0.10.0 and v0.11.0. Reference the change logs for more detail.

Updated Methods

  1. Retrieve a Data Source
  2. Create a Data Connection
  3. Retrieve an Oauth URL
  4. Retrieve a User's Data Connections
  5. Disconnect a Data Connection

Additional Documentation

  1. Data Connection Sequence Diagram

Notable Improvements

  • Previous version of the SDK prevented the passing of a null value for id when calling updateProfile method. This is now resolved and updateProfile can now be called without including id in the request.

Future Enhancements

  • The SDK currently experiences challenges when blank parameters are passed in functions like getOAuthUrl, getDataSource, and createConnection. Our team is committed to enhancing the SDK's error handling capabilities in these scenarios and will be introducing improvements in an upcoming release to provide a more user-friendly experience.

b.well SDK v0.8.0 Change Log

Production SDK Updates

b.well SDK version 0.8.0 includes the latest round of fully integrated methods aligned with User Journey 1: User is able to be authenticated.

Updated Methods

  1. Create User Consent Data
    • Note: consentUpdate is now consentCreate
    • Note: provisionType is now provision
  2. Retrieve User Consent Data
    • Note: categoryCode is an optional parameter but if omitted or set to null the API will return an error. Please use "TOS" or any acceptable category for testing. This error handling will be enhanced in an upcoming release.
  3. Update User Profile Data
    • Note: Passing empty string values to the updateProfile method results in a 200 success response but does not update the user's profile correctly. For testing, all values should be non-empty strings. Handling of empty string values will be enhanced in an upcoming release.
    • Note: updateProfile currently accepts gender values of male, female, other, unknown as a string. This will be enhanced to accept enum values in an upcoming release.
  4. Retrieve User Profile Data

b.well SDK v0.7.0 Change Log

Production SDK Updates

b.well SDK version 0.7.0 includes the first round of fully integrated methods aligned with User Journey 1: User is able to be authenticated.

Updated Methods

  1. Initialize the SDK
    • Note: Keystore is now required as part of the config object when initializing the SDK. Reference Initialize the SDK for more information.
  2. Authenticate a User
    • Note: Client generated JWTs can now be used to test the authentication flow pending verification of correct server validation configuration.

Future Improvements

  1. Error handling when passing an incorrect clientkey during initialize will be improved in an upcoming release.
  2. Error handling when passing an incorrect or invalid JWT during authenticate will be improved in an upcoming release.

Mock SDK Updates

getHealthSummary Method

The getHealthSummary method offers a streamlined way to retrieve a summarized view of current health records, categorized by resource types.

This view includes counts for AllergyIntolerance, CarePlan, Encounter, Immunization, Procedure, and Vital Sign resources.

Parameters

  • request(optional) : An object of type HealthSummaryRequest that allows you to specify parameters and filters for customizing the health summary information retrieval, such as category, date range, or other relevant parameters.

Return

  • Returns a BWellResult<HealthSummary> object, which is based off of generated Compositions, representing an aggregation of AllergyIntolerance, CarePlan, Encounter, Immunization, Procedure, and VitalSign resources.

Method Signature

suspend fun getHealthSummary(request: HealthSummaryRequest) : BWellResult<HealthSummary>