We typically recommend that you use Redox as your responder to the Carequality Interoperability Framework. We do have a legacy option, however, that allows you to be your own responder.
To use this legacy option, you first have to talk to a Redoxer or your account executive to make sure that you're eligible per Carequality's requirements.
This guide is for legacy users that respond to incoming Carequality requests on their own. Learn more about digital record retrieval if you're establishing a new connection with Carequality.
When using Redox as your responder, you would use the PatientPush or VisitPush event types of the ClinicalSummary data model to prepare Redox to respond to requests from Carequality participants.
As your own responder, you rely on these event types of ClinicalSummary instead:
The most common and valuable document type for Carequality participants is the Continuity of Care Document (CCD), which has a LOINC code of 34133-9. We recommend making CCDs available to respond to document requests.
You can respond with an alternative document type, but talk to a Redoxer about alternatives you're thinking about first.
Learn about synchronous requests for background context to complete this step.
Patient.Identifiers
array;
(b) all of the Visit
fields; and
(c) the Document.Types
array.
The patient identifier and identifier type should persist to your system as you push patient demographics.
The rest of the fields are optional for you to implement as you choose for your system.Documents[].ID
string.
The requester uses the network document ID for the DocumentGet query so be sure to persist and cache document IDs in your system.
If you choose to dynamically generate documents, be sure to persist and cache the document ID for a reasonable amount of time (e.g., 24 hours) so that you don't have to rebuild the document if the requestor asks for the document multiple times within a short amount of time.
The network document ID must be globally unique, so please use a UUID or your [documentOID].[documentID]
(e.g., 2.16.840.1.113883.3.6147.458...^1234
). Meta.DataModel
and Meta.EventType
;
(b) Document.ID
;
(c) FileType
; and
(d) Data
.
The rest of the fields are optional for you to implement as you choose for your system.Meta
fields and include the body fields from either VisitPush or PatientPush event types instead.
{"Meta": {"DataModel": "Clinical Summary","EventType": "DocumentGetResponse"},"Header": {"DirectAddressFrom": null,"DirectAddressTo": null,"Document": {"Author": {"ID": "4356789876","IDType": "2.16.840.1.113883.4.6","FirstName": "Pat","LastName": "Granite","Credentials": ["MD"],"Address": {"StreetAddress": "123 Main St.","City": "Madison","State": "WI","ZIP": "53703","County": "Dane","Country": "USA"},"EmailAddresses": [],"PhoneNumber": {"Office": "+16085551234"},"Type": null,"Location": {"Type": null,"Facility": null,"Department": null,"Room": null}},"ID": "75cb4ad4-e5f9-4cd3-8750-eb5050521e0d","Locale": "US","Title": "Community Health and Hospitals: Annual Physical","DateTime": "2012-09-12T00:00:00.000Z","Type": "Progress Note","TypeCode": { ...},"Visit": {"StartDateTime": "2022-05-20T18:11:48.972Z","EndDateTime": "2022-05-20T18:11:48.972Z","Reason": "Annual Physical","VisitNumber": "30311442","Type": {"Code": "99202","CodeSystem": "2.16.840.1.113883.6.12","CodeSystemName": "CPT","Name": "Office visit","AltCodes": []},"Location": {"Type": "Outpatient Clinic","Facility": "RHS Vista Oaks Clinic","Department": "Vista Oaks Clinic","Room": null}}},"Patient": {"Identifiers": [{"ID": "1234","IDType": "2.16.840.1.113883.4.6","Type": null}],"Demographics": {"FirstName": "Myra","MiddleName": null,"LastName": "Jones","DOB": "1947-05-01","SSN": "123-101-1234","Sex": "Female","Address": {"StreetAddress": "1357 Amber Drive","City": "Beaverton","State": "OR","County": null,"Country": "US","ZIP": "97006"},"PhoneNumber": {"Home": "+18162766909","Mobile": null},"EmailAddresses": [{"Address": "12313124@fake.com"}],"Language": null,"Race": "White","Ethnicity": "Not Hispanic or Latino","Religion": "Christian (non-Catholic, non-specific)","MaritalStatus": "Married"}}},"AllergyText": ...,"Allergies": [{ ...}]}
Check out our reference docs for more details about the required and optional fields for these event types:
You must decide how you want to manage and provide documents when Carequality participants request them. You can generate documents in your database either:
Whenever you generate documents (whether dynamically or immediately), a local document ID is created within your system. The local ID is assigned by your system and it may or may not be unique.
We also create a network document ID for the same document. The network ID is a unique identifier assigned by Redox to identify the document within the Framework.
2.16.840.1.113883.3.6147.458.2
.2.16.840.1.113883.3.6147.458.2
. If your system experiences errors while you're processing incoming requests, you can respond with any of these errors in the body.XDSErrors.code
field:
XDSRepositoryOutOfResources
XDSRepositoryBusy
XDSRepositoryError
XDSUnknownPatientId
In the body.XDSErrors.message
field, you can include any additional information you want to relay back to the sender about the error.
{"body": {"XDSErrors": [{"code": "XDSUnknownPatientId","message": "Patient Not Found."}]}}