FHIR Connector Reference

The FHIR Connector allows you to work with resources in FHIR, which are the modular components of FHIR. The connector uses the FHIR RESTFul API to interact with FHIR.

Initializing the connector

Before you start performing various operations with the connector, make sure to import the FHIR certificate to your ESB client keystore.

To use the FHIR connector, add the element in your configuration before carrying out any other FHIR operations.

For more information on authentication/security of the FHIR REST API, see http://www.hl7.org/implement/standards/fhir/security.html.

fhir.init

The fhir.init operation initializes the connector to interact with the FHIR REST API.

Parameter Name Description Required
base The service root URL. Yes.

Sample configurations

<fhir.init>
    <base>{$ctx:base}</base>
<fhir.init>

Conformance

getConformance

The conformance interaction retrieves the server's conformance statement that defines how it supports resources. The conformance interaction retrieves the server's conformance statement that defines how it supports resources, For that use fhir.getConformance and specify the following properties. For more information, see FHIR API documentation.

Parameter Name Description Required
base The service root URL. Yes.
format The Mime Type. Yes.
id, content, lastUpdated, profile, query, security, tag, text, filter These are the optional parameters and are common search parameters for all resources. Optional.

Sample configurations

<fhir.getConformance>
    <base>{$ctx:base}</base>
    <format>{$ctx:format}</format>
    <id>{$ctx:id}</id>
    <content>{$ctx:content}</content>
    <lastUpdated>{$ctx:lastUpdated}</lastUpdated>
    <profile>{$ctx:profile}</profile>
    <query>{$ctx:query}</query>
    <security>{$ctx:security}</security>
    <tag>{$ctx:tag}</tag>
    <text>{$ctx:text}</text>
    <filter>{$ctx:filter}</filter>
</fhir.getConformance>

Sample request

{
    "base": "https://open-api.fhir.me",
    "format": "json",
    "id":"%s(id)",
    "content":"%s(content)",
    "lastUpdated":"%s(lastUpdated)",
    "profile":"%s(profile)",
    "query":"%s(query)",
    "security":"%s(security)",
    "tag":"%s(tag)",
    "text":"%s(text)",
    "filter":"%s(filter)"
}

Resources

create

To creates a new resource in a server-assigned location, use fhir.create and specify the following properties. For more information, see related FHIR API documentation.

Parameter Name Description Required
base The service root URL. Yes.
type The name of a resource type (e.g., "Patient"). Yes.
format The Mime Type. Yes.

Sample configurations

<fhir.create>
    <base>{$ctx:base}</base>
    <type>{$ctx:type}</type>
    <format>{$ctx:format}</format>
</fhir.create>

Sample request

{
    "base": "https://open-api.fhir.me",
    "type": "Patient",
    "format": "json"
}
update

To create a new current version for an existing resource or create an initial version if no resource already exists for the given id, use fhir.update and specify the following properties. For more information, see related FHIR API documentation.

Parameter Name Description Required
base The service root URL. Yes.
type The name of a resource type (e.g., "Patient"). Yes.
idToUpdate The element of a particular resource. If no id element is provided, or the value is wrong, the server SHALL respond with a HTTP 400 error code, and SHOULD provide an operation outcome identifying the issue. Yes.
format The Mime Type. Yes.

Sample configurations

<fhir.update>
    <base>{$ctx:base}</base>
    <type>{$ctx:type}</type>
    <idToUpdate>{$ctx:idToUpdate}</idToUpdate>
    <format>{$ctx:format}</format>
</fhir.update>

Sample request

{
    "base": "https://open-api.fhir.me",
    "type": "Patient",
    "idToUpdate":"1032702",
    "format": "json"
}
conditionalUpdate

The conditional update interaction allows a client to update an existing resource based on some identification criteria, rather than by logical id, For this use fhir.conditionalUpdate and specify the following properties. For more information, see related FHIR API documentation.

Parameter Name Description Required
base The service root URL. Yes.
type The name of a resource type (e.g., "Patient"). Yes.
format The Mime Type. Yes.
id, content, lastUpdated, profile, query, security, tag, text, filter These are the optional parameters and are common search parameters for all resources. Yes.

Sample configurations

<fhir.conditionalUpdate>
    <base>{$ctx:base}</base>
    <type>{$ctx:type}</type>
    <format>{$ctx:format}</format>
    <id>{$ctx:id}</id>
    <content>{$ctx:content}</content>
    <lastUpdated>{$ctx:lastUpdated}</lastUpdated>
    <profile>{$ctx:profile}</profile>
    <query>{$ctx:query}</query>
    <security>{$ctx:security}</security>
    <tag>{$ctx:tag}</tag>
    <text>{$ctx:text}</text>
    <filter>{$ctx:filter}</filter>
</fhir.conditionalUpdate>

Sample request

{
    "base": "https://open-api.fhir.me",
    "type": "Patient",
    "format": "json",
    "id":"%s(id)",
    "content":"%s(content)",
    "lastUpdated":"%s(lastUpdated)",
    "profile":"%s(profile)",
    "query":"%s(query)",
    "security":"%s(security)",
    "tag":"%s(tag)",
    "text":"%s(text)",
    "filter":"%s(filter)"
}
delete

To removes an existing resource, use fhir.delete and specify the following properties. For more information, see related FHIR API documentation.

Parameter Name Description Required
base The service root URL. Yes.
type The name of a resource type (e.g., "Patient"). Yes.
idToUpdate The element of a particular resource. If no id element is provided, or the value is wrong, the server SHALL respond with a HTTP 400 error code, and SHOULD provide an operation outcome identifying the issue. Yes.

Sample configurations

<fhir.delete>
    <base>{$ctx:base}</base>
    <type>{$ctx:type}</type>
    <idToDelete>{$ctx:idToDelete}</idToDelete>
</fhir.delete>

Sample request

{
    "base": "https://open-api.fhir.me",
    "type": "Patient",
    "idToDelete":"1032782",
    "format": "json"
}
conditionalDelete

The conditional delete interaction allows a client to delete an existing resource based on some selection criteria, rather than by a specific logical id, For this use fhir.conditionalDelete and specify the following properties. For more information, see related FHIR API documentation.

Parameter Name Description Required
base The service root URL. Yes.
type The name of a resource type (e.g., "Patient"). Yes.
format The Mime Type. Yes.
id, content, lastUpdated, profile, query, security, tag, text, filter These are the optional parameters and are common search parameters for all resources. Yes.

Sample configurations

<fhir.conditionalDelete>
    <base>{$ctx:base}</base>
    <type>{$ctx:type}</type>
    <format>{$ctx:format}</format>
    <id>{$ctx:id}</id>
    <content>{$ctx:content}</content>
    <lastUpdated>{$ctx:lastUpdated}</lastUpdated>
    <profile>{$ctx:profile}</profile>
    <query>{$ctx:query}</query>
    <security>{$ctx:security}</security>
    <tag>{$ctx:tag}</tag>
    <text>{$ctx:text}</text>
    <filter>{$ctx:filter}</filter>
</fhir.conditionalDelete>

Sample request

{
    "base": "https://open-api.fhir.me",
    "type": "Patient",
    "format": "json",
    "id":"%s(id)",
    "content":"%s(content)",
    "lastUpdated":"%s(lastUpdated)",
    "profile":"%s(profile)",
    "query":"%s(query)",
    "security":"%s(security)",
    "tag":"%s(tag)",
    "text":"%s(text)",
    "filter":"%s(filter)"
}
readResource

To accesses the current contents of a resource, use fhir.readResource and specify the following properties. For more information, see related FHIR API documentation.

Parameter Name Description Required
base The service root URL. Yes.
type The name of a resource type (e.g., "Patient"). Yes.
format The Mime Type. Yes.

Sample configurations

<fhir.readResource>
    <base>{$ctx:base}</base>
    <type>{$ctx:type}</type>
    <format>{$ctx:format}</format>
</fhir.readResource>

Sample request

{
    "base": "https://open-api.fhir.me",
    "type": "Patient",
    "format": "json"
}
readSpecificResourceById

To accesses the current contents of a resource, use fhir.readSpecificResourceById and specify the following properties. For more information, see related FHIR API documentation.

Parameter Name Description Required
base The service root URL. Yes.
type The name of a resource type (e.g., "Patient"). Yes.
id The possible values for the logical Id. Yes.
format The Mime Type. Yes.
summary The search parameter _summary can be used when reading a resource. It can have the values true, false, text & data. Yes.

Sample configurations

<fhir.readSpecificResourceById>
    <base>{$ctx:base}</base>
    <type>{$ctx:type}</type>
    <id>{$ctx:id}</id>
    <format>{$ctx:format}</format>
    <summary>{$ctx:summary}</summary> 
</fhir.readSpecificResourceById>

Sample request

{
    "base": "https://open-api.fhir.me",
    "type": "Patient",
    "id":"1032702",
    "format": "json",
    "summary": "true"
}
vReadResource

To preforms a version specific read of the resource, use fhir.vReadResource and specify the following properties. For more information, see related FHIR API documentation.

Parameter Name Description Required
base The service root URL. Yes.
type The name of a resource type (e.g., "Patient"). Yes.
logicalId The possible values for the logical Id. Yes.
format The Mime Type. Yes.
versionId The Version Id ("vid") is an opaque identifier that conforms to the same format requirements as a Logical Id. Yes.

Sample configurations

<fhir.vReadResource>
    <base>{$ctx:base}</base>
    <type>{$ctx:type}</type>
    <logicalId>{$ctx:logicalId}</logicalId>
    <versionId>{$ctx:versionId}</versionId>
    <format>{$ctx:format}</format>
</fhir.vReadResource>

Sample request

{
    "base": "https://open-api.fhir.me",
    "type": "Patient",
    "logicalId":"1032702",
    "versionId":"107748",
    "format": "json"
}

History

history

To retrieves the history of a particular resource supported by the system , use fhir.history and specify the following properties. For more information, see related FHIR API documentation.

Parameter Name Description Required
base The service root URL. Yes.
type The name of a resource type (e.g., "Patient"). Yes.
idForHistory The id of the history that needs to be retrieved. Yes.
format The Mime Type. Yes.
id, content, lastUpdated, profile, query, security, tag, text, filter These are the optional parameters and are common search parameters for all resources. Optional.

Sample configurations

<fhir.history>
    <base>{$ctx:base}</base>
    <type>{$ctx:type}</type>
    <idForHistory>{$ctx:idForHistory}</idForHistory>
    <format>{$ctx:format}</format>
    <id>{$ctx:id}</id>
    <content>{$ctx:content}</content>
    <lastUpdated>{$ctx:lastUpdated}</lastUpdated>
    <profile>{$ctx:profile}</profile>
    <query>{$ctx:query}</query>
    <security>{$ctx:security}</security>
    <tag>{$ctx:tag}</tag>
    <text>{$ctx:text}</text>
    <filter>{$ctx:filter}</filter>
</fhir.history>

Sample request

{
    "base": "https://open-api.fhir.me",
    "type": "Patient",
    "idForHistory":1032702",
    "format": "json",
    "id":"%s(id)",
    "content":"%s(content)",
    "lastUpdated":"%s(lastUpdated)",
    "profile":"%s(profile)",
    "query":"%s(query)",
    "security":"%s(security)",
    "tag":"%s(tag)",
    "text":"%s(text)",
    "filter":"%s(filter)"
}
historyAll

To retrieves the history of all resources supported by the system , use fhir.historyAll and specify the following properties. For more information, see related FHIR API documentation.

Parameter Name Description Required
base The service root URL. Yes.
format The Mime Type. Yes.
id, content, lastUpdated, profile, query, security, tag, text, filter These are the optional parameters and are common search parameters for all resources. Optional.

Sample configurations

<fhir.historyAll>
    <base>{$ctx:base}</base>
    <format>{$ctx:format}</format>
    <id>{$ctx:id}</id>
    <content>{$ctx:content}</content>
    <lastUpdated>{$ctx:lastUpdated}</lastUpdated>
    <profile>{$ctx:profile}</profile>
    <query>{$ctx:query}</query>
    <security>{$ctx:security}</security>
    <tag>{$ctx:tag}</tag>
    <text>{$ctx:text}</text>
    <filter>{$ctx:filter}</filter>
</fhir.historyAll>

Sample request

{
    "base": "https://open-api.fhir.me",
    "format": "json",
    "id":"%s(id)",
    "content":"%s(content)",
    "lastUpdated":"%s(lastUpdated)",
    "profile":"%s(profile)",
    "query":"%s(query)",
    "security":"%s(security)",
    "tag":"%s(tag)",
    "text":"%s(text)",
    "filter":"%s(filter)"
}
historyType

To retrieves the history of all resources of a given type supported by the system , use fhir.historyType and specify the following properties. For more information, see related FHIR API documentation.

Parameter Name Description Required
base The service root URL. Yes.
type The name of a resource type (e.g., "Patient"). Yes.
format The Mime Type. Yes.
id, content, lastUpdated, profile, query, security, tag, text, filter These are the optional parameters and are common search parameters for all resources. Optional.

Sample configurations

<fhir.historyType>
    <base>{$ctx:base}</base>
    <type>{$ctx:type}</type>
    <format>{$ctx:format}</format>
    <id>{$ctx:id}</id>
    <content>{$ctx:content}</content>
    <lastUpdated>{$ctx:lastUpdated}</lastUpdated>
    <profile>{$ctx:profile}</profile>
    <query>{$ctx:query}</query>
    <security>{$ctx:security}</security>
    <tag>{$ctx:tag}</tag>
    <text>{$ctx:text}</text>
    <filter>{$ctx:filter}</filter>
</fhir.historyType>

Sample request

{
    "base": "https://open-api.fhir.me",
    "type":"Patient"
    "format": "json",
    "id":"%s(id)",
    "content":"%s(content)",
    "lastUpdated":"%s(lastUpdated)",
    "profile":"%s(profile)",
    "query":"%s(query)",
    "security":"%s(security)",
    "tag":"%s(tag)",
    "text":"%s(text)",
    "filter":"%s(filter)"
}
search

To search from a particular resource supported by the system , use fhir.search and specify the following properties. For more information, see related FHIR API documentation on search operation and filter operation.

Parameter Name Description Required
base The service root URL. Yes.
type The name of a resource type (e.g., "Patient"). Yes.
format The Mime Type. Yes.
id, content, lastUpdated, profile, query, security, tag, text, filter These are the optional parameters and are common search parameters for all resources. Optional.

Sample configurations

<fhir.search>
    <base>{$ctx:base}</base>
    <type>{$ctx:type}</type>
    <format>{$ctx:format}</format>
    <id>{$ctx:id}</id>
    <content>{$ctx:content}</content>
    <lastUpdated>{$ctx:lastUpdated}</lastUpdated>
    <profile>{$ctx:profile}</profile>
    <query>{$ctx:query}</query>
    <security>{$ctx:security}</security>
    <tag>{$ctx:tag}</tag>
    <text>{$ctx:text}</text>
    <filter>{$ctx:filter}</filter>
</fhir.search>

Sample request

{
    "base": "https://open-api.fhir.me",
    "type": "Patient",
    "format": "json",
    "id":"%s(id)",
    "content":"%s(content)",
    "lastUpdated":"%s(lastUpdated)",
    "profile":"%s(profile)",
    "query":"%s(query)",
    "security":"%s(security)",
    "tag":"%s(tag)",
    "text":"%s(text)",
    "filter":"%s(filter)"
}
searchPost

To search from a particular resource supported by the system , use fhir.searchPost and specify the following properties. For more information, see related FHIR API documentation on the search operation.

Parameter Name Description Required
base The service root URL. Yes.
type The name of a resource type (e.g., "Patient"). Yes.
format The Mime Type. Yes.
id, content, lastUpdated, profile, query, security, tag, text, filter These are the optional parameters and are common search parameters for all resources. Optional.

Sample configurations

<fhir.historyAll>
    <base>{$ctx:base}</base>
    <format>{$ctx:format}</format>
    <id>{$ctx:id}</id>
    <content>{$ctx:content}</content>
    <lastUpdated>{$ctx:lastUpdated}</lastUpdated>
    <profile>{$ctx:profile}</profile>
    <query>{$ctx:query}</query>
    <security>{$ctx:security}</security>
    <tag>{$ctx:tag}</tag>
    <text>{$ctx:text}</text>
    <filter>{$ctx:filter}</filter>
</fhir.historyAll>

Sample request

{
    "base": "https://open-api.fhir.me",
    "type": "Patient",
    "format": "json",
    "id":"%s(id)",
    "content":"%s(content)",
    "lastUpdated":"%s(lastUpdated)",
    "profile":"%s(profile)",
    "query":"%s(query)",
    "security":"%s(security)",
    "tag":"%s(tag)",
    "text":"%s(text)",
    "filter":"%s(filter)"
}
Top