Skip to main content

Agent Features

Each feature that the Agent supports, such as the Agent/$push operation, Agent/$status, Agent/$reload-config, etc. all require minimum versions of both Medplum Server and Medplum Agent in order to work. The matrix of feature, Medplum Server version, and Medplum Agent version looks like this:

FeatureDescriptionMedplum ServerMedplum Agent
Prefer: respond-asyncAllows asynchronous calls to Agent/$push via the Prefer header. The header tells the server to return a 202 Accepted HTTP response and allows the client to poll for the completion of the Agent/$push operation asynchronously without keeping the client waiting for an HTTP response. Useful when a response from a target device can take several seconds or even minutes to come back.> 3.1.5> 3.1.5
Agent/$reload-configAllows for dynamically reloading the config of the Agent from Medplum Server via the Agent/$reload-config FHIR operation. Useful for pushing changes to an Agent via the Agent resource without restarting the Agent service.> 3.1.6> 3.1.6
Agent.statusAllows using Agent.status and Agent.channel.endpoint.status to disable an Agent or a particular channel via the Agent resource. Useful for stopping traffic during Agent maintenance or for debugging of particular channels.> 3.1.6> 3.1.6
Agent keepAlive settingAllows you to tell the Agent to keep TCP connections alive for both outgoing traffic (via Agent/$push) and incoming traffic (via configured Agent channels) by setting the keepAlive setting to true on the Agent resource. Useful when you want to reduce number of connections to the Agent or if a particular device configuration expects the connection not to close.> 3.1.9> 3.1.10
Agent/$upgradeAllows for remotely upgrading the Agent version via the Agent/$upgrade FHIR operation.> 3.1.9> 3.1.10

Major Bug Fixes

Server VersionAgent VersionDescriptionRelated PR
3.2.10N/AFixes HL7 ACK messages from bots not making it back to the sending device.5212

Compatibility Between Versions

Aside from the features and bug fixes listed above, the majority of the core functionality of the Medplum Agent is broadly compatible across all versions; notably from 3.1.5 onward. This means the Agent/$push FHIR operation functions broadly the same across versions and should be compatible on Medplum Server and Medplum Agent versions > 3.1.5.

However, it is not advised to run older versions of the Medplum Agent or Medplum Server against each other if possible, and we recommend to regularly update both Medplum Server and Medplum Agent in tandem.