Medplum
Medplum is the open source healthcare developer platform that helps you build, test, and deliver any healthcare product or service.
Medplum is the open source healthcare developer platform that helps you build, test, and deliver any healthcare product or service.
Category: EHR Integrations. Adds 13 actions and 2 webhooks to a care flow.
What to configure
Set these once, on the extension in Awell Studio. An action fails at run time if a required setting is missing.
| Setting | Required | Notes |
|---|---|---|
| Base URL | No | Optional custom base URL for Medplum server (e.g., https://api.medplum.com/). Leave empty to use default. |
| Client ID | Yes | Used to authenticate with Medplum Stored as a secret. |
| Client secret | Yes | Used to authenticate with Medplum Stored as a secret. |
Actions
Medplum adds these 13 actions to a care flow. Add one to a step, then fill in its inputs.
Add side effect
Add side effect to Medication Request
| Input | Type | Required | Description |
|---|---|---|---|
| The ID of the medication request you want to link the side effec to | string | Yes | — |
| Side effect | string | Yes | — |
Create calculation observation
Create a calculation observation in Medplum
| Input | Type | Required | Description |
|---|---|---|---|
| Patient ID | string | Yes | The identifier of the patient in Medplum to assign the response to |
| Questionnaire response ID | string | No | The identifier of the questionnaire response you want to link the calculation result to |
Returns:
| Data point | Type |
|---|---|
observationId | string |
Create patient
Create a patient in Medplum
| Input | Type | Required | Description |
|---|---|---|---|
| First name | string | No | — |
| Last name | string | No | — |
| Mobile phone | string | No | — |
string | No | — | |
| Birth date | date | No | — |
| Gender | string | No | Valid values are "male", "female", "other", "unknown" |
| Address | string | No | — |
| City | string | No | — |
| State | string | No | — |
| Country | string | No | — |
| Postal code | string | No | — |
Returns:
| Data point | Type |
|---|---|
patientId | string |
Find or create resource
Find or create any FHIR resource in Medplum. Optionally search for existing resources by type and identifier before creating. Supports single resources or FHIR Bundles (transaction/batch) for creating multiple resources atomically.
| Input | Type | Required | Description |
|---|---|---|---|
| Resource JSON | json | Yes | FHIR resource or Bundle as JSON. Supports single resources (e.g., Patient, Observation) or FHIR Bundles (transaction/batch) for creating multiple resources. |
| Search Resource Type | string | No | Optional: FHIR resource type to search for (e.g., Patient, Observation). If provided along with Search Identifier, the action will search for existing resources before creating a new one. |
| Search Identifier | string | No | Optional: Identifier value to search for (e.g., MRN, SSN). If provided along with Search Resource Type, the action will search for existing resources with this identifier before creating a new one. |
Returns:
| Data point | Type |
|---|---|
bundleId | string |
bundleType | string |
resourceId | string |
resourceIds | string |
resourcesCreated | json |
resourceType | string |
wasResourceFound | boolean |
Create service request
Create a service request in Medplum
| Input | Type | Required | Description |
|---|---|---|---|
| Patient ID | string | Yes | ID of the patient in Medplum |
| Status | string | Yes | The status of the order One of: draft, active, on-hold, revoked, completed, entered-in-error, unknown. |
| Mobile phone | string | Yes | Whether the request is a proposal, plan, an original order or a reflex order. One of: proposal, plan, directive, order, original-order, reflex-order, filler-order, instance-order, option. |
| Priority | string | No | The priority of the order One of: routine, urgent, asap, stat. |
Returns:
| Data point | Type |
|---|---|
serviceRequestId | string |
Create task
Create a Task in Medplum
| Input | Type | Required | Description |
|---|---|---|---|
| Patient ID | string | Yes | ID of the patient in Medplum the task is for |
| Task name | string | Yes | Briefly describes what the task involves |
| Description name | text | No | Human-readable explanation of task |
| Status | string | Yes | The status of the task One of: draft, requested, received, accepted, rejected, ready, cancelled, in-progress, on-hold, failed, completed, entered-in-error. |
| Intent | string | Yes | Indicates the "level" of actionability associated with the Task. One of: unknown, proposal, plan, order, original-order, reflex-order, filler-order, instance-order, option. |
| Priority | string | No | The priority of the task One of: routine, urgent, asap, stat. |
| Due date | date | No | — |
| Performer type | string | No | Indicate which role can/should perform this task |
Returns:
| Data point | Type |
|---|---|
taskId | string |
Execute Bot
Execute a Medplum Bot
| Input | Type | Required | Description |
|---|---|---|---|
| Bot ID | string | Yes | You can find the id of your Bot by clicking on the Details tab of the Bot resource in the Medplum app |
| Body | json | No | Data in JSON format you would like to pass to the Bot |
Returns:
| Data point | Type |
|---|---|
data | string |
jsonData | json |
Get appointment
Retrieve appointment details from Medplum
This action can be previewed in Studio before you publish.
| Input | Type | Required | Description |
|---|---|---|---|
| Appointment ID | string | Yes | The identifier of the appointment in Medplum |
Returns:
| Data point | Type |
|---|---|
appointmentData | json |
Get medication request
Retrieve medication request details from Medplum
This action can be previewed in Studio before you publish.
| Input | Type | Required | Description |
|---|---|---|---|
| Resource ID | string | Yes | The resource ID of the MedicationRequest in Medplum |
Returns:
| Data point | Type |
|---|---|
dosageInstructions | string |
intent | string |
medicationDisplay | string |
medicationRequest | json |
patientId | string |
priority | string |
status | string |
Get patient
Retrieve patient details from Medplum
This action can be previewed in Studio before you publish.
| Input | Type | Required | Description |
|---|---|---|---|
| Patient ID | string | Yes | The identifier of the patient in Medplum |
Returns:
| Data point | Type |
|---|---|
patientData | json |
patientDob | date |
patientFirstName | string |
patientGender | string |
patientLastName | string |
Get service request
Retrieve service request details from Medplum
This action can be previewed in Studio before you publish.
| Input | Type | Required | Description |
|---|---|---|---|
| Resource ID | string | Yes | The resource ID of the ServiceRequest in Medplum |
Returns:
| Data point | Type |
|---|---|
intent | string |
patientId | string |
priority | string |
serviceRequestResource | json |
status | string |
Search patient
Search for patients in Medplum using parameters
This action can be previewed in Studio before you publish.
| Input | Type | Required | Description |
|---|---|---|---|
| Search Parameter | string | Yes | FHIR search parameter (e.g., "identifier", "name", "birthdate") |
| Search Value | string | Yes | Value to search for (e.g., "12345" for identifier) |
Returns:
| Data point | Type |
|---|---|
patientData | json |
searchResults | json |
Submit questionnaire response
Creates a questionnaire response in Medplum for the latest submitted form in the current step
| Input | Type | Required | Description |
|---|---|---|---|
| Patient ID | string | Yes | The identifier of the patient in Medplum to assign the response to |
Returns:
| Data point | Type |
|---|---|
questionnnaireResponseId | string |
Webhooks
Medplum can send these 2 events into Awell, where each one can start a care flow or move a patient along. Point the webhook at the URL Studio shows you when you enable it.
observationCreated
Payload:
| Data point | Type |
|---|---|
observation | json |
observationId | string |
patientCreated
Payload:
| Data point | Type |
|---|---|
patientId | string |
Setup and notes
Medplum is the open source healthcare developer platform that helps you build, test, and deliver any healthcare product or service.
Extension settings
The following settings are required to configure the Medplum extension:
- **Client ID: Used to authenticate with Medplum's API (required)
- Client Secret: Used to authenticate with Medplum's API (required)
- Base URL**: Optional custom base URL for your Medplum server (e.g.,
https://api.medplum.com/). Leave empty to use the default Medplum server.
Where this page comes from
The settings, actions, inputs, outputs and webhooks above are generated from the
extension's own code, at @awell-health/awell-extensions v2.1.159. They match what the
platform actually does rather than a description of it.
Field-level detail also appears in Awell Studio when you configure the action. Something wrong or missing? Email support@awellhealth.com.