Start Consolidated Data Query
/medical/v1/patient/{id}/consolidated/query
curl --request POST \
--url https://api.sandbox.metriport.com/medical/v1/patient/{id}/consolidated/query \
--header 'x-api-key: <x-api-key>'
When executed, this endpoint triggers an asynchronous query to retrieve a Patient’s consolidated data from the FHIR repository.
Once the data is consolidated and ready for consumption, a Webhook request is sent to your configured URL containing the Patient’s data in FHIR-compliant format, based on the filters used to trigger the query.
You can check the status of the data query by calling get consolidated data query.
Path Params
The ID of the Patient.
Query Params
You can optionally filter resources by date, using the dateFrom
and dateTo
query params. Note
that not all resources will support this filter - see the FHIR R4
docs for a list of
supported resources.
A comma separated, case sensitive list of resources to be returned. If none are provided all resources will be included.
The start date (inclusive) for which to filter returned resources - formatted YYYY-MM-DD
as per
ISO 8601. If not provided, no start date filter will be applied.
The end date (inclusive) for which to filter returned resources - formatted YYYY-MM-DD
as per
ISO 8601. If not provided, no end date filter will be applied.
You can scroll to the bottom of the page to view all available resources.
Response
Returns a JSON containing a status
property indicating the query status. Possible values for consolidated
data query status are processing
, completed
, or failed
.
import { MetriportMedicalApi } from "@metriport/api-sdk";
const metriport = new MetriportMedicalApi(apiToken);
const consolidatedData = await metriport.startConsolidatedQuery(
patientId,
["AllergyIntolerance", "Appointment"] as const,
"2023-03-01",
"2023-04-01"
);
{
"status": "processing"
}
Available FHIR resources
This is the list of all available FHIR resources you can query for:
- Account
- AdverseEvent
- AllergyIntolerance
- Appointment
- AppointmentResponse
- AuditEvent
- Basic
- BodyStructure
- CarePlan
- CareTeam
- ChargeItem
- Claim
- ClaimResponse
- ClinicalImpression
- Communication
- CommunicationRequest
- Composition
- Condition
- Consent
- Contract
- Coverage
- CoverageEligibilityRequest
- CoverageEligibilityResponse
- DetectedIssue
- Device
- DeviceRequest
- DeviceUseStatement
- DiagnosticReport
- DocumentManifest
- DocumentReference
- Encounter
- EnrollmentRequest
- EpisodeOfCare
- ExplanationOfBenefit
- FamilyMemberHistory
- Flag
- Goal
- GuidanceResponse
- ImagingStudy
- Immunization
- ImmunizationEvaluation
- ImmunizationRecommendation
- Invoice
- List
- MeasureReport
- Media
- MedicationAdministration
- MedicationDispense
- MedicationRequest
- MedicationStatement
- MolecularSequence
- NutritionOrder
- Observation
- Person
- Procedure
- Provenance
- QuestionnaireResponse
- RelatedPerson
- RequestGroup
- ResearchSubject
- RiskAssessment
- ServiceRequest
- Specimen
- Task
curl --request POST \
--url https://api.sandbox.metriport.com/medical/v1/patient/{id}/consolidated/query \
--header 'x-api-key: <x-api-key>'
import { MetriportMedicalApi } from "@metriport/api-sdk";
const metriport = new MetriportMedicalApi(apiToken);
const consolidatedData = await metriport.startConsolidatedQuery(
patientId,
["AllergyIntolerance", "Appointment"] as const,
"2023-03-01",
"2023-04-01"
);