Skip to main content

Updates 2024-05-30

· 2 min read
Confused-Moniker
Maintainer of IGUHealth

Server Enhancements

Author Parameter

We've moved the author parameter from being a token search parameter to a reference parameter. Custom operations, ClientApplications with client credentials, and Membership users who make any updates will now be displayed as an extension pointing back to them.

Below is an example of the extension (which is automatically generated on all resources under meta.extension).

      {
"url": "https://iguhealth.app/author",
"valueReference": {
"reference": "Membership/NuqYfcMykSm1Qsq2wHUNet"
}
}

You can now also perform chained searches against the author parameter as an example:

iguhealth api search_type r4 Patient _iguhealth-author.email=[email protected]

Alignment with new root users

Root users are now treated like every other member, with a membership resource being used to determine their role and access to newly created tenants.

Remove _ from ID generation

Per FHIR Spec, this is not compatible with the id regex.

See here for more information about how Vanya Client uncovered this on our server.

Admin Application Enhancements

Settings

Settings now displays links to R4, R4B, and OIDC endpoints, which are pulled from our .well-known/openid-configuration. Additionally, we've updated our libraries to use well-known/openid-configuration for pulling OIDC endpoints instead of hardcoding them.

History View

Versioned resources can now be viewed as a diff from the previous version.

Invite Modal

The invite modal will now allow you to specify a user role and tie an access policy to them.

General

Updated Packages

  • @iguhealth/iguhealth.fhir.r4.core: 0.5.8
  • @iguhealth/admin-app: 0.7.8
  • @iguhealth/cli: 1.4.4
  • @iguhealth/client: 0.8.4
  • @iguhealth/components: 0.7.7
  • @iguhealth/fhir-validation: 0.7.2
  • @iguhealth/fhirpath: 0.5.2
  • @iguhealth/generated-ops: 0.5.4
  • @iguhealth/jwt: 0.4.1
  • @iguhealth/meta-value: 0.5.2
  • @iguhealth/operation-execution: 0.7.2
  • @iguhealth/server: 0.14.9

Dependencies Updated to Latest

We've updated the following dependencies to their latest versions:

  • Storybook
  • ioredis

Vanya Client Integration

· 3 min read
Confused-Moniker
Maintainer of IGUHealth

Vanya client is a desktop app that allows you to view data in FHIR. It works with a variety of FHIR servers and can be a great way to check for conformance and data quality more on that later.

How to integrate Vanya with Iguhealth

OAuth Client Credentials

  1. Go to the admin application and create a new ClientApplication.
  2. Set the grant type to client_credentials.
  3. Set the response type to token.
  4. Set the secret to a secure value.
  5. Hit Actions and create
  6. Mark down the client ID and secret.
  7. Click Security->AccessPolicyV2 in the admin app and create a new access policy.
  8. Create AccessPolicyV2 with the engine set to `Full Access'.
  9. Under Target.Link reference the ClientApplication created on step 5.
  10. Open the Vanya client.
  11. Click Add New Server.
  12. Go to Settings on the Admin App and copy the FHIR R4 URL.
  13. Paste the URL in the Vanya Client for the URL.
  14. In Vanya, click OAuth2.
  15. Copy and paste the token endpoint from the admin app settings.
  16. Copy the clientID from step 5 and paste it in Vanya.
  17. Copy the client secret from step 5 and paste it in Vanya.
  18. Set the grant type to client_credentials.
  19. Click Save.

Basic Authentication

  1. Go to the admin application and create a new ClientApplication.
  2. Set the grant type to basic_auth.
  3. Set the response type to token.
  4. Set the secret to a secure value.
  5. Hit Actions and create
  6. Mark down the client ID and secret.
  7. Click Security->AccessPolicyV2 in Admin App and create a new access policy.
  8. Create AccessPolicyV2 with the engine set to `Full Access'.
  9. Under Target.Link reference the client application created on step 5.
  10. Use the below widget and enter the client ID and secret, then copy the authorization header value.

Below is a simple form to generate an Authorization header for basic authentication.

  1. Open the Vanya client.
  2. Click Add New Server.
  3. Click the Request Headers tab, create a key Authorization and paste in the value from step 10.
  4. Go to Settings on the Admin App and copy the FHIR R4 URL.
  5. Paste the URL in the Vanya Client for the URL.
  6. Click Save.

Vanya Client discovered a non-conformant aspect of our server

We use nanoid to generate unique identifiers for our resources. Vanya client discovered that our use of the default alphabet for nanoid, is not FHIR compliant. Specifically the _ is a character not allowed in FHIR ids.

Updates 2024-05-22

· 2 min read
Confused-Moniker
Maintainer of IGUHealth

Admin Application Enhancements

Better handling of 403 errors

App now displays a more user-friendly message when a user is not authorized to access a resource. This fixes the issue where users were seeing a blank page when they were not authorized to access a resource.

Invite operation

We have added an invite operation to the admin application. You can now invite users to your organization by providing their email address.

Server Usage Display

We have added a display to show the current server usage in the admin application. This will help you keep track of your server usage and plan accordingly.

Server Enhancements

Validation Performance

We have improved the performance of validation operations. You should see a significant improvement in the time taken to validate resources and perform CRUD operations. (We have seen a 50% improvement in validation times.).

Improved Login Flow

Login flow now will automatically direct users to admin-app if not directed too from the authorize endpoint (which will redirect to the client specified by client_id and redirect_url).

Email Templates

Emails being sent are now formatted using our email templates.

General

Dependencies Updated to Latest

We've updated the following dependencies to their latest versions:

  • CodeMirror
  • React
  • React Router
  • Storybook
  • HeadlessUI

Updates 2024-05-14

· One min read
Confused-Moniker
Maintainer of IGUHealth

Admin Application Enhancements

Search Table Component

We've published a generative search table for FHIR. This component will automatically query for search parameters for a given resource type and display parameters as columns with the ability to filter and sort on each column. We've updated the admin app to use this table for searching resources.

Search Table Image

Display Components

We now support readonly react components for the following data types:

IGUHealth Provider

We've updated IGUHealth Provider to support the following features:

  • The client will now automatically initiate authentication flow after token expiration.
  • Support for client-side redirects after successful login. This allows SPAs to redirect users back to their starting location in the app after a successful login.

Support for Missing

All parameters now support the missing modifier. This allows you to search for resources that do not have a value for a given parameter.

GET /Patient?name:missing=true

Updates 2024-05-08

· 2 min read
Confused-Moniker
Maintainer of IGUHealth

Support for External Message Brokers

We now support external message brokers. You can now configure your own message broker and message topics to send and receive messages between your services.

Support for pushing messages to a message broker

Subscription

We support tying FHIR Subscriptions to message brokers. Read our documentation here on how to set this up.

API

We have added an API to push messages to a message broker. You can now push messages to a message broker by invoking the following operation on the MessageTopic resource:

POST /MessageTopic/${message-topic-id}/$message-post
{
"resourceType": "Parameters",
"parameter": [
{ "name":"input","resource": { "resourceType":"Patient" } }
]
}

Input can be any FHIR resource. The output of this operation is a code that represents the status of the message.

Support for Basic Authentication

We now support basic authentication as a grant type for client applications. When creating a client application, you can now specify basic_auth as a grant type, which will allow you to authenticate via Authorization Basic: ${btoa(username:password)}

Documentation for R4B FHIR

We have added documentation for the R4B FHIR version. You can now view the documentation here.

Search Documentation

We have added search functionality to the documentation. You can now do a full-text search for resources and operations on this site.