Skip to main content

HealthLake Inbound Adapters

InterSystems provides two inbound adapters that can be used to retrieve FHIR® resources from HealthLake, one for performing a Read interaction and another for performing a Search interaction. In FHIR, interactions are the actions you can take to work with FHIR resources in a repository like HealthLake. The Read interaction retrieves a single resource based on its ID while the Search interaction retrieves one or more resources that meet certain search criteria. This distinction is important when retrieving a single resource by ID. If you use the adapter that performs a Read interaction, only the resource is returned from Healthlake. However, if you search by ID using the adapter that performs a Search interaction, you receive a bundle that contains the resource, not just the resource by itself. Both inbound adapters are used by a business service to retrieve a FHIR payload from a HealthLake data store and bring it into the production.

Reading a Single Resource

By incorporating a business service that uses the EnsLib.AmazonHealthLake.InboundAdapter adapter, your production can retrieve a resource from a HealthLake data store by specifying its resource type and ID. This inbound adapter performs a FHIR Read interaction. The adapter's properties include the HealthLake data store, the resource type, and the resource ID, along with an option to delete a resource from HealthLake once it has been retrieved. Like most adapter properties, these properties can be set in the Management Portal once the business service has been added to the production.

When a business service calls this inbound adapter, the resource that matches the resource type and ID defined in the adapter is returned in an EnsLib.AmazonHealthLake.InboundInput object. The JSON representation of the FHIR resource is placed in the object's PayLoad property as a Stream, while the data store ID, resource type, and resource ID are stored in the object as Strings.

When creating a custom business service that uses the EnsLib.AmazonHealthLake.InboundAdapter adapter, be sure that the OnProcessInput method accepts the EnsLib.AmazonHealthLake.InboundInput object as its first argument. For details on creating a custom business service, see Defining Business Services.

Feedback