Integrations and Interoperability Engine
Medplum offers a powerful integration and interoperability engine that speaks common healthcare "languages" (FHIR, HL7, SFTP, CCD-A and more). This is the most commonly used feature of Medplum. It can be used to receive data from and send data to other systems - medical or cloud based.
Medplum integrations and interoperability is an event-driven service. It listens to notifications from medical systems like a laboratory information system or EHRs. The service logs data and supports persistence to a FHIR datastore as needed. It is open source.
Overview
Medplum enables many medical and non-medical services to be effectively composed, and so allows a powerful user-facing application to be built on top. Medplum provides the following event-driven functionality:
- Listens to notifications from systems like LIS, EHR, and webhook enabled webapps
- Sends notifications and data to external systems, triggered off events
- Transforms data via a custom scripting engine, enabling bespoke workflows
- Stores data, allowing applications like dashboards to be built
- Logs activity and version history, enabling debugging and traceability
Below is an example of a medical practice "Foo Medical" with connections to various systems. This is an example deployment, but can give a sense of what connections might be needed in practice.
Creating Medical Integrations
Creating effective integrations often requires writing some code. We provide pre-built integrations, high level SDKs, testing framework, deployment and provisioning features that greatly reduce the engineering burden to build, and to maintain integrations.
Our integration framework is called bots and there are detailed bots tutorials in our technical documentation.
Before starting an integration, we recommend filling out the following checklist
- What system are you trying to connect to?
- What type of interfaces are available? (Check multiple if appropriate)
- FHIR or Smart-On-FHIR
- REST API
- HL7
- SFTP
- XML based, like CCD-A or CDISC
- File based - text or binary (e.g. X12, images, video)
- Delimited Text
- Something else?
- How can you request credentials/access to a test environment?
- What process is required to gain access to production?
Examples: Integrations by Interface Type
To get started integrating services into Medplum, it can be useful to think about which type of medical applications have which type of interfaces. Medplum provides the infrastructure that helps connect systems like these together.
This is by no means a comprehensive list, but we provide this list of interfaces as examples of tools and systems indexed by type of integration is commonly seen.
Interface Type | Systems with interface | Examples |
---|---|---|
HL7 | Lab (LIS), Imaging, Legacy EHR | Data Innovations, eRad PACS, Athena HL7 |
SFTP | Lab, Government programs like vaccine registry | Labcorp, Texas Immunization Registry |
FHIR | EHRs and payors | Epic, CMS Blue Button |
XML Based | Billing systems, EDC, Care Continuity | CCD-A workflow |
REST | Many modern digital health services | Mobile phlebotomy, Eligibility Check |
Text Delimited | Billing systems | EDI 837 |
Binary files | Billing systems, video and photo | CMS 1500, X12, Twilio |
If you are interested in a specific integration type, please contact us at hello@medplum.com or in our Discord.
Examples: Integrations by Product Category
To get a medical application to work as intended often requires many systems to talk to each other, each with a different function. Medplum enables connectivity to various systems, through the Bot framework.
Below are some of the classes of applications indexed by common integration methods. Medplum supports building interfaces of this type to enable connectivity.
Product Category | Common Integration Method | Comments |
---|---|---|
Lab | HL7, SFTP | HL7 ORU, OBX message types common |
Legacy EHR | HL7, SFTP, FHIR | HL7 ADT, SIU message types and more, may also have Mirth |
PACS | HL7 | HL7 ORU, OBX message types common |
Vaccine Registry | SFTP | Often operated by public health departments, government |
Payor | FHIR | Regulatory changes have increased payor FHIR adoption |
Pharmacy | REST | Pharmacy API such as DoseSpot, Surescripts |
Logging and Analytics | REST | Splunk, Freshpaint, Amplitude, Segment and related |
CRM | REST, CSV | CRM often have API or file based import |
Forms | REST | Qualtrics, Jotforms, Formstack have REST API with webhooks |
EDC | REST, binary file | Redcap, Medidata etc. support REST API or file import |
Records request | FHIR | Records services like Particle or HealthGorilla support FHIR |
Messaging | REST | Twilio, Sendbird and more have REST API |
Records request | FHIR | Records services like Particle or HealthGorilla support FHIR |
Logistics | REST | 3PL like ShipBob or Fulfilled by Amazon have REST API |
Direct Project | REST | Special medical grade email from companies like Paubox |
We have a lot of experience with medical integrations, and welcome questions at hello@medplum.com or on our Discord.
System Diagram
Below is a system diagram that shows, at a high level all of the systems working in concert.
Reference Material
- Sample bots these are a quickstart for building your integrations
- Bot tutorials
- Authentication, Authorization and Identity
- Compliance Portal
- All Epic FHIR Endpoints