EHR System Integrations
CareLaunch stores its own clinical record in FHIR R4. Two integrations sit on top of that:
- A read-only FHIR API your technical team can use to search CareLaunch data.
- A custom Epic connection that CareLaunch sets up with your Epic team.
Who can use each integration
These are not turned on or off as a bundle by plan. Epic is a custom engagement. The other rows are what the product shows today. For plan details, see Subscription Plans.
| Integration | Solo | Practice | Enterprise |
|---|---|---|---|
| Stripe payments | Yes | Yes | Yes |
| Read-only FHIR API | — | Platform Admins | Platform Admins |
| Calling with Twilio | Yes | Yes | Yes |
| Epic | Custom engagement with CareLaunch | Custom engagement with CareLaunch | Custom engagement with CareLaunch |
| FTP file import | — | — | Platform Admins, when CareLaunch has set it up |
| Mappers | — | — | Yes |
| Amwell and single sign-on cards | — | — | Yes |
API Clients is not shown for a solo practice. An organization admin connects Twilio from Integrations on every plan. See Payment Integration, Calling, and FTP.
The external FHIR API does not accept writes on any plan.
Read-only FHIR API
The external API searches your CareLaunch FHIR data and returns the result. A request for one resource by id is the same search with that id. Creating or updating resources through this API is not available. SMART on FHIR launch is not available.
Send a bearer token:
Authorization: Bearer <access_token>
Responses are JSON. For paging, errors, and code examples, see the FHIR API reference.
Resource types you can search
Use these names in the URL:
- Patient
- Observation
- Task
- Questionnaire
- Immunization
- Goal
- Communication
- Flag
- Medication
- Procedure
- Encounter
- Condition
Any other type returns 400 Bad Request. That includes Practitioner and Appointment.
These resource types are planned but not available yet. Requests for them return 400 Bad Request today: ServiceRequest, QuestionnaireResponse, DiagnosticReport, DocumentReference, AllergyIntolerance, CarePlan, CareTeam, MedicationRequest, MedicationStatement, MedicationAdministration, MedicationDispense, SupplyRequest, and SupplyDelivery. See the FHIR API reference.
Search results are paged. If you omit _count, the API returns 20 entries. _count above 100 is lowered to 100. To get the next page, request the URL in the Bundle's next link.
Create an API client
Platform Admins manage clients on the API Clients page. The page is hidden for solo practices.
- Open API Clients.
- Click Configure API to see the API Url set up for your organization. Calls must use that host.
- To add a client, email support@carelaunch.health with the organizations and resource types the client should read. A client needs at least one organization and at least one resource.
Open a client in the list to see its Client Id. On the client page you can rename it, change its Organizations and Resources, turn it on or off, and click Save. The page also has Request Preview, Usage Metrics, and Developer Resources tabs.
CareLaunch does not show the client secret on any page. Email support@carelaunch.health to get the client credentials for a client.
Request an access token with the client id and client secret from the token endpoint CareLaunch gives you, then send it as a bearer token. The client must stay turned on.
Example: search for a patient
Replace the host with the API Url from Configure API.
curl -X GET "https://api.example.com/Patient?family=Smith" \
-H "Authorization: Bearer <access_token>"
A search for one patient uses the same host and a patient id:
curl -X GET "https://api.example.com/Patient/12345" \
-H "Authorization: Bearer <access_token>"
Epic
Epic is a custom integration. CareLaunch provisions it for your organization with your Epic team. There is no Epic card for you to fill in under Settings, and there is no sync-frequency or data-scope setting in CareLaunch.
CareLaunch connects with backend-services OAuth: a signed JWT against your Epic Interconnect. Some health systems use a variant of that same connection. CareLaunch sets that up as well.
Patients
Staff can match a CareLaunch patient to an existing Epic patient. If Epic has no match, CareLaunch creates the patient in Epic and stores the Epic id back on the CareLaunch patient. Every attempt is logged.
Sync is available when the Epic connection includes patient registration:
- On the patient list, select one or more patients and click Sync.
- On a patient page, open Actions and choose Sync on the Epic row.
Scheduling
CareLaunch can look up open Epic schedule days and slots for a provider, department, and visit type. Those Epic identifiers are stored with the provider as part of the setup CareLaunch does with your Epic team.
Reading from Epic
Platform Admins can search and read Epic Patient, Encounter, ServiceRequest, and DocumentReference records, and look up practitioners.
On a connected Epic card, open the ⋮ menu and choose Run tests to exercise those reads. View logs on the same menu shows the log of each attempt, including patient sync.
FTP import
Batch file import is a separate setup. Files are CSV, and CareLaunch routes them with rules your admin defines. There is no outgoing export folder and no FHIR bundle drop. See FTP Administration.
Security
Connections to CareLaunch are encrypted with TLS 1.2 or later. FTP uploads use SFTP.
Getting help
For an Epic connection, an API client, or a file import that the pages above do not cover, email support@carelaunch.health.