Medplum · Arazzo Workflow

Medplum Clinical Data Query

Version 1.0.0

Locate a patient by name, read the Patient resource, then pull that patient's Observations.

1 workflow 1 source API 1 provider
View Spec View on GitHub HealthcareFHIROpen-SourceDeveloper PlatformHIPAASMART on FHIRClinicalInteroperabilityArazzoWorkflows

Provider

medplum

Workflows

clinical-data-query
Find a patient and retrieve that patient's clinical Observations.
Searches Patient by name, reads the matched Patient by id, and searches Observation for that patient.
3 steps inputs: patientName outputs: observations, patient, patientId
1
findPatients
Locate the patient by name.
2
readPatient
Read the matched Patient resource by id.
3
findObservations
Retrieve the patient's US Core Observations by patient reference.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Medplum Clinical Data Query
  summary: Locate a patient by name, read the Patient resource, then pull that patient's Observations.
  description: >-
    A US Core clinical-data read flow against the Medplum FHIR R4 backend. A
    patient is located by name through a type-level search, read by id, and then
    that patient's Observations (US Core vital signs and laboratory results) are
    retrieved by patient reference. This follows the FHIR RESTful API search and
    read interactions used to assemble a patient's clinical summary. Every step
    inlines its request so the flow is self-contained.
  version: 1.0.0
  x-realizes-capability-ids:
  - BC-2900.60
  x-capability-derivation:
    method: 'deterministic join: sourceDescriptions -> per-tag OpenAPI -> tag/capability edge. No classification at this step.'
    min_confidence: 0.7
    sources:
    - capability_id: BC-2900.60
      capability_name: Healthcare Interoperability Operations
      spec: medplum-fhir-api-openapi.yml
      confidence: 0.7
    model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: fhirApi
  url: ../openapi/medplum-fhir-api-openapi.yml
  type: openapi
workflows:
- workflowId: clinical-data-query
  summary: Find a patient and retrieve that patient's clinical Observations.
  description: >-
    Searches Patient by name, reads the matched Patient by id, and searches
    Observation for that patient.
  inputs:
    type: object
    required:
    - patientName
    properties:
      patientName:
        type: string
        description: Patient name used to locate the patient.
  steps:
  - stepId: findPatients
    description: Locate the patient by name.
    operationId: search
    parameters:
    - name: resourceType
      in: path
      value: Patient
    - name: name
      in: query
      value: $inputs.patientName
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      patientId: $response.body#/entry/0/resource/id
  - stepId: readPatient
    description: Read the matched Patient resource by id.
    operationId: readResource
    parameters:
    - name: resourceType
      in: path
      value: Patient
    - name: id
      in: path
      value: $steps.findPatients.outputs.patientId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      patient: $response.body
  - stepId: findObservations
    description: Retrieve the patient's US Core Observations by patient reference.
    operationId: search
    parameters:
    - name: resourceType
      in: path
      value: Observation
    - name: patient
      in: query
      value: $steps.findPatients.outputs.patientId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      observations: $response.body
  outputs:
    patientId: $steps.findPatients.outputs.patientId
    patient: $steps.readPatient.outputs.patient
    observations: $steps.findObservations.outputs.observations

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/medplum-clinical-data-query-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.