Carequality FAQ

Table of Contents

Redox and Carequality

The questions below are meant to help you as you complete set up for the starter package or our other Carequality offerings. To learn more about connecting to Carequality with Redox, check out our Onboarding Guide or sign up for a Redox account and visit the digital record retrieval tab in the Dashboard.

Why should I use Redox to connect to Carequality?

We are a certified Carequality implementer. Implementers are approved by Carequality to help their partner organizations connect to the Carequality Interoperability Framework. Basically, we can serve as your on-ramp to the Framework. With us as your implementer, you can start exchanging data across the Framework in a matter of days rather than months.

As your implementer, we complete the following steps for you:

  • Sign the Carequality Connected Agreement and be accepted by Carequality,
  • Develop legacy exchange technologies to facilitate exchange,
  • Test successfully with the Carequality community, and
  • Ensure that you comply with the rules set forth by Carequality for use of the Framework.

If you want to test this arrangement out, try our starter package to get a jumpstart.

Why should I use Redox as a Carequality responder?

Being a Carequality participant can entail high incoming query volumes. These volumes are influenced by factors such as the geographic location or total number of your facilities. Many Carequality participants use automated workflow triggers to send outbound queries using algorithms with radius-based searching around the patient’s address. Rural areas may receive 10K–25K of these queries daily, whereas geographic areas with high population density—such as the San Francisco Bay Area or New York metropolitan area—may see daily query volumes of up to 200K per location.

As your responder, we can shield you from this traffic to simplify your flow so that you only need to send new or updated information to us, and we’ll take care of the rest with the data you already have.

If you prefer to respond to incoming traffic yourself, you will not qualify for Starter Package pricing. Contact our team to discuss options and pricing.

How do I qualify for the starter package?

Our starter package is a low-cost way for you to start your Redox journey by integrating with the Carequality Interoperability Framework. To see if you qualify for the starter package, check if your organization can answer the following questions like this:

Are you a covered entity or do you provide patient care? What purpose of use applies to your software and your users?

Carequality participants are required to respond to queries with a Treatment purpose of use. If your purpose of use is not Treatment, you may not get many responses to your queries since participants aren’t required to respond. If this is the case, the starter package may not be the best option for your organization.

How many unique patient databases do you maintain? Does every patient you work with have a unique identifier or do different locations maintain their own databases that may overlap?

Each unique patient database requires a separate OID in the Framework, and we only support one database with the starter package. We can support multiple databases with unique OIDs with one of our other pricing options though.

Do you facilitate multiple locations that may need to be listed with different addresses?

Each physical location with a unique address requires its own listing in the Carequality directory. We only support one listing with the starter package, so your organization doesn’t qualify if you need multiple listings with unique addresses.

How much onboarding help will you need?

The starter package is a self-service offering, so it does not include onboarding help. If you know you would like more support than this, the starter package may not be the best option for your organization.

Do you plan for us to respond to queries from Carequality participants on your behalf, or do you prefer to respond on your own?

We must be your responder for you to qualify for the starter package.

If you don’t qualify for the starter package, there’s no need to worry—we can still help you connect to the Framework. Contact our team to discuss options and pricing.

Can I reuse my Redox connection for other types of integration?

One easy-to-use Redox connection enables not only Carequality but can be used for connecting to other health information exchanges, individual health systems, and other integration partners you may have. You can use the same API queries with workflows to search for patients and clinical documents, allowing you to leverage a direct connection to a healthcare organization’s EHR or send data nationwide over the DirectTrust network. If you have questions about connecting to these types of organizations or using any of our other supported APIs, contact our team here.

Explore our network and the Carequality participants here.

What are the API limits?

When you use digital records retrieval, you will have a limit on the number of API calls you can initiate per day and per site to the Carequality Interoperability Framework. An API call is defined as sending a request via Redox that results in a completed call to the Framework—this includes searches for patients that do not return matches). For digital records retrieval, your API limit is 25K API calls.

These queries are included in your total allowable amount per day:

  • PatientSearch.Query
  • ClinicalSummary.PatientQuery
  • ClicnicalSummary.DocumentQuery
  • ClinicalSummary.DocumentGet
  • Organization.New
  • Organization.Update
  • Organization.Query

To locate a patient and retrieve their documents, you need two API calls at a minimum (PatientSearch.Query and ClinicalSummary.PatientQuery). This means that you can locate up to 12.5K patients per day at most with digital records retrieval—so long as you don’t use any other queries. Given this, you can calculate whether that limit is sufficient depending on whether a patient may exist at multiple healthcare organizations within your geography.

Some API calls are excluded from your API call limit:

  • PatientSearch.LocationQuery
  • ClinicalSummary.VisitPush
  • ClinicalSummary.PatientPush
  • PatientAdmin.NewPatient
  • PatientAdmin.PatientUpdate
  • PatientAdmin.PatientMerge

The PatientSearch.LocationQuery is excluded from API limits since you may need to poll the endpoint a few times while waiting for it to reach a success state. Requests to create or update patient data also don’t count toward your total API calls, since Carequality requires that you provide data about your patients to other participants in order to participate.

Is there a way to see which organizations participate in Carequality?

The Carequality Interoperability Framework comprises over 600K physicians, 50K clinics, and over 4,200 hospitals. You can search the directory of participants through our network explorer or use the search of active participants provided by Carequality to see if your partners participate in the Framework.

What about Commonwell and the eHealth Exchange?

Commonwell and eHealth Exchange are two of the nation’s largest centralized health information exchanges. Both are certified Carequality implementers with thousands of live sites, meaning that many of their sites can be queried through the Framework.

Can I push data or receive notifications when new data is available?

Pulling data is powerful for various use cases (e.g., emergency care), but it doesn’t solve all problems. Pushing data can be useful for provider-to-provider messaging, event notification, diagnostic test ordering, and referrals. While Carequality and Commonwell don’t currently support push notifications, we have other options to help you accomplish your goals. We can help you push data through the DirectTrust network and other technical means. Contact our team to learn more.

Do I have to respond to other Carequality participants? Can I just pull data?

Carequality has two main requirements for participation:

  • Mutual exchange: Carequality participants must respond to all incoming queries with a purpose of use of Treatment.
  • Open exchange:Carequality participants must respond in a non-discriminatory fashion with no terms, fees, or conditions.

These two foundational principles are what make Carequality so successful. They ensure that a patient’s entire clinical history is available nationwide to retrieve.

An organization is exempt from mutual exchange if they meet the following exceptions:

  • Government agencies
  • On-paper organizations
  • Emergency medical services
  • Specialty pharmacies

If your organization does not meet these exceptions, you are required to respond to incoming queries with your unique clinical data. We can make it simple for you to respond to all of these requests.

Identity and organization structure

What are OIDs? Why are they important?

An OID is a globally unique ISO (International Organization for Standardization) identifier. They are important in the context of Carequality in that they uniquely identify participating organizations. To create your organization and facilities, you will use an OID as the primary identifier. You can read more about OIDs here.

As a registration authority, we have a base OID, so you will have an OID branch assigned for your use. This will typically be a branch off the base OID 2.16.840.1.113883.3.6147.458.  

We provide three OID types for you when you connect to Carequality, which you can see below. If you believe you need additional OIDs, contact our team to discuss options and pricing.

OID typeDefinitionOID structure
OrganizationThis identifier corresponds to your organization on the Framework. For digital record retrieval, this OID type is used only for one organization and facility.2.16.840.1.113883.3.6147.458.xxxxx.x.x.1.1
PatientThis identifier corresponds one-to-one with your MPI(s). We create the first one for you, but if you have multiple MPIs, you should create as many patient OIDs to equal the number of MPIs.2.16.840.1.113883.3.6147.458.xxxxx.x.x.2.1
DocumentEvery document requires a globally unique ID to be exchanged on the Framework. This can be either a version 4 UUID or the Redox-generated OID followed by your ID (e.g. …3.1^12345). Similarly to patients, you must have a document OID for every document you exchange.2.16.840.1.113883.3.6147.458.xxxxx.x.x.3.1

Which OID should I use when creating my organization?

Your organization will likely be part of the Redox gateway OID (2.16.840.1.113883.3.6147.458.2). If you have a valid exception to mutual exchange, or you are responding to Carequality on your own, you will use a different OID (2.16.840.1.113883.3.6147.458.3).

Starter Package pricing requires that you use an OID that we provide. If you would rather use an existing OID, you can contact our team to discuss your needs and get more information about pricing.

Why would I need to register multiple organizations?

You may need to register multiple organizations if you meet one of the following criteria:

  • You have multiple brick-and-mortar locations where you provide service to patients.
  • You work with multiple Master Patient Indexes (for example, you provide services on behalf of a provider who has their own MPI).
  • You want to list your organization in multiple locations to make your patients more discoverable to other Carequality participants.

If you need to register multiple organizations in the directory, you won’t qualify for our Starter Package pricing. You can contact our team to discuss your needs and get more information about pricing.

Finding patients

What are the best practices for finding patients? What demographic information should I include?

To locate an exact match, you must include all of these fields:

  • first name
  • last name
  • date of birth
  • sex/gender

And at least one of the additional data points below:

  • address
  • Social Security number
  • phone number(s)
  • email

As a best practice, we recommend that you include as much information as possible. Most responding systems use advanced matching algorithms that have higher success rates when more information is included.

Why am I not getting any results from my patient search?

If you receive a successful response to your PatientSearch without any results, it typically means that there were no matching patients found. You may want to search with a smaller set of demographics or verify that the patient’s information is correct.

Can I search for a patient with an identifier?

You can search for a patient with an identifier if you have the specific patient ID and the matching OID that the organization uses to represent a patient OID type. For example, if using an MRN, you must have the OID that the organization uses to represent MRN. However, these OIDs are not typically known. Organizations often have a specific identifier for Carequality responses, so we recommend starting with a demographics search, even if you do already have an identifier.

It’s taking a while to get the results from my patient search; how do I check if the query is still running?

When you use the PatientSearch.LocationQuery, our Record Locator Service runs the search for you. However, it may take awhile to return all the results because Record Locator Service has to query each connection individually. You can always check the status of your search by looking for the value of the Meta.Extensions.task-status.string field, which contains a status of either Active or Success.

StatusDefinitionResults
ActiveThe process is continuing to asynchronously collect locations.The Patients field will be an array and any partial results will be returned as they become available. 
SuccessThe process has completed and all possible locations were found.Any available results have been returned. If the Patients array is empty, it means no patients were found.

The response will wait up to 10 seconds to reach a Success state. If unable to reach Success in that time, the response will have an Active status. You can retry the exact query repeatedly until it reaches a Success state. You should also provide the value returned in Meta.Extensions.task-id.string on subsequent queries to find the same asynchronous task.

Note: If you run a new search with the same patient demographics within a 24-hour period, you will see the same results. Record Locator Service will not trigger a new search to your connections unless you have new or modified patient demographics.

Clinical documents

What information is returned?

The Framework supports the exchange of C-CDA documents, which is an industry-standard for exchanging patient and visit information. The two primary types of supported documents are patient summaries and visit summaries. Patient summaries represent a current—or nearly current—snapshot of the patient’s chart while visit summaries contain a patient’s chart for a specific visit and should be treated as accurate as of the visit date.

See below for a general list of rules for the returned data (published by HL7).

  1. Each participant must populate these required sections with discrete data (Note: Participants may populate these with null if there is no relevant data or a participant doesn’t have the ability to include data):
    • allergies
    • intolerances
    • medications
    • problems
    • results
    • vital signs
  2. Each participant must include these required sections with either narrative or discrete data:
    • social history
  3. Each participant should include any of these optional sections with discrete data:
    • procedures
    • immunizations
    • advance directives
    • encounters
  4. Each participant should include any of these optional sections with either narrative or discrete data (Note: We don’t include all of these in the translated JSON, but they are included in the raw XML):
    • family history
    • functional status
    • medical equipment
    • payers
    • plan of treatment
    • social history
    • mental status
    • nutrition
  5. Participants may add any other valid CDA sections (or custom sections) at their discretion (Note: We don’t include all of these in the translated JSON, but they are included in the raw XML).

I’m getting a lot of documents back on the response. What can I do?

ClinicalSummary.DocumentQuery has a number of useful parameters you can use to limit the number of documents returned or to find the documents that are relevant for you. However, not all parameters are supported by all vendors. When supported, you can use the Visit.StartDate parameter to help you pull documents after a given date of service.

Why does DocumentGet return the raw XML document?

Some customers have pre-built capabilities to render XML C-CDA documents. Additionally, there are many available open source CDA renderers (such as this one or this one) that can be useful in viewing the document. We offer the option to return the XML document for this reason.

Responding to Carequality

Can I respond to Carequality myself rather than using Redox as my responder?

Yes, it is possible to respond to queries from Carequality participants yourself, but you will not qualify for Starter Package pricing. Contact our team to discuss options.

What information does Redox store?

All individual queries to and from the Framework are stored according to our standard data retention policy here.

In order to respond on your behalf to incoming queries, we store all of the data you push to our database for the life of your contract. This way, we have complete information with which to respond to incoming queries.

When do I have to push information to Redox for responses?

We require that you push data (via ClinicalSummary.VisitPush) to our database for every instance in which you treat a patient—but don’t worry, you don’t have to push data immediately after every treatment. For example, you are welcome to push a daily batch to us instead.

We also require any and all patient demographic updates so that we can keep your patient demographics current. This enables us to provide accurate responses to other Carequality participants when they send a request to find out whether a patient has been seen at your location.

Do I need to send historical data when using the responder?

Carequality requires that you respond to queries for patients that are known to you, but they don’t specify a definite period for providing historical information. We recommend that you begin pushing data once you register your organization in production and build your historical data from that point forward.

If you’d like to send historical data, you may not qualify for our Starter Package pricing. Contact our team to discuss your needs.

Troubleshooting common errors

Got trouble? Here’s a list of resolutions and insights for common errors.

I’m getting an error about subscriptions, what do I do?

If you receive the error below, it means that the correct ID is missing in the Meta.Destinations array:

No subscriptions. Meta.Destinations needs to contain a destination from existing subscription.

In other words, we don’t recognize a valid connection, so you need to populate the ID in Meta.Destinations to indicate where you intend to send your query. The table below lists the correct destination IDs based on the query purpose for both staging and production environments:

Query purposeStaging IDProduction ID
Query for an organizationa07afe3b-d247-4415-827f-6837707e1b8b5d0fd248-6c52-4ad9-b907-ae10bf2dcc39
Create/update/delete an organizationa07afe3b-d247-4415-827f-6837707e1b8b5d0fd248-6c52-4ad9-b907-ae10bf2dcc39
Search for a patient within the entire Frameworkadf917b5-1496-4241-87e2-ed20434b1fdb97f2dc1d-c71b-43a7-a436-9b789d44c804
Search for a patient within a specific organization1ca254a8-8d42-4593-abb4-b21399d9de576391b961-55ae-430b-a789-cf575f03fca0
Search for a clinical summary/documentec745338-8849-43ad-a7ce-4bc5bf1d8b89628cbf79-1156-4923-b9d0-285906160ed6
Save patient details and documents to your repositoryThis is specific to your org – you can find the correct ID in the digital record retrieval wizardThis is specific to your org – you can find the correct ID in the digital record retrieval wizard

Why am I getting an error when sending PatientAdmin or ClinicalSummary to my repository destination?

We work to ensure first-in, first-out (FIFO) order so that data arrives in its intended order. Receiving the error below indicates that there was an error processing an incoming message.

Cannot process messages for Data Chateau environment 'environment', the environment is in a 'error' state.

At this point, we pause future messages from filing to ensure that data is not missed or corrupted. Please contact support to reset the environment.

What does “unable to get local issuer certificate” in a sandbox environment mean?

We follow Carequality’s Technical Trust Policy in order to connect to the Framework. This includes provisions like which certificates to exchange to participate in the Framework.

The “unable to get local issuer certificate” error means that the certificate issuers in the sandbox (i.e., staging) environment changed, and one or more of the Carequality participants has not updated to this new certificate chain.

To avoid this error, we recommend using the Redox test patients and Postman examples to test with since they should always work. We’ll keep them current and working correctly on our end so that you can just focus on testing.