Getting patient data with
Patient/$everything
The Patient/$everything operation is used to query a FHIR
Patient resource, along with any other resources related to that
Patient. The operation can be used to provide a patient with access to their
entire record or for a provider to perform a bulk data download related to a patient. HealthLake
supports Patient/$everything for a specific patient id.
Patient/$everything is a FHIR REST API operation that can be invoked as
shown in the examples below.
Note
Resources in response are sorted by resource type and resource id.
Response is always populated with Bundle.total.
Patient/$everything
parameters
HealthLake supports the following query parameters
| Parameter | Details |
|---|---|
|
start |
Get all |
|
end |
Get all |
|
since |
Get all |
|
_type |
Get |
|
_count |
Get |
Example - Get all patient data after a specified start date
Patient/$everything can use the start filter to query only
data after a specific date.
GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient/id/$everything?start=2024-03-15T00:00:00.000Z
Example - Get all Patient data before a specified end date
Patient $everything can use the end filter to only query data before a
specific date.
GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient/id/$everything?end=2024-03-15T00:00:00.000Z
Example - Get all Patient data updated after a specified date
Patient/$everything can use the since filter to query only
data updated after a specific date.
GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient/id/$everything?since=2024-03-15T00:00:00.000Z
Example - Get Patient data for specific resource types
Patient $everything can use the _type filter to specify specific resource
types to be included in the response. Multiple resource types can be specified in a comma
separated list.
GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient/id/$everything?_type=Observation,Condition
Example - Get Patient data and specify page size
Patient $everything can use the _count to set the page size.
GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient/id/$everything?_count=15
Patient/$everything start and end
attributes
HealthLake supports the following resource attributes for the Patient/
$everything
start and end query parameters.
| Resource | Resource Element |
|---|---|
| Account | Account.servicePeriod.start |
| AdverseEvent | AdverseEvent.date |
| AllergyIntolerance | AllergyIntolerance.recordedDate |
| Appointment | Appointment.start |
| AppointmentResponse | AppointmentResponse.start |
| AuditEvent | AuditEvent.period.start |
| Basic | Basic.created |
| BodyStructure | NO_DATE |
| CarePlan | CarePlan.period.start |
| CareTeam | CareTeam.period.start |
| ChargeItem | ChargeItem.occurrenceDateTime, ChargeItem.occurrencePeriod.start, ChargeItem.occurrenceTiming.event |
| Claim | Claim.billablePeriod.start |
| ClaimResponse | ClaimResponse.created |
| ClinicalImpression | ClinicalImpression.date |
| Communication | Communication.sent |
| CommunicationRequest | CommunicationRequest.occurrenceDateTime, CommunicationRequest.occurrencePeriod.start |
| Composition | Composition.date |
| Condition | Condition.recordedDate |
| Consent | Consent.dateTime |
| Coverage | Coverage.period.start |
| CoverageEligibilityRequest | CoverageEligibilityRequest.created |
| CoverageEligibilityResponse | CoverageEligibilityResponse.created |
| DetectedIssue | DetectedIssue.identified |
| DeviceRequest | DeviceRequest.authoredOn |
| DeviceUseStatement | DeviceUseStatement.recordedOn |
| DiagnosticReport | DiagnosticReport.effective |
| DocumentManifest | DocumentManifest.created |
| DocumentReference | DocumentReference.context.period.start |
| Encounter | Encounter.period.start |
| EnrollmentRequest | EnrollmentRequest.created |
| EpisodeOfCare | EpisodeOfCare.period.start |
| ExplanationOfBenefit | ExplanationOfBenefit.billablePeriod.start |
| FamilyMemberHistory | NO_DATE |
| Flag | Flag.period.start |
| Goal | Goal.statusDate |
| Group | NO_DATE |
| ImagingStudy | ImagingStudy.started |
| Immunization | Immunization.recorded |
| ImmunizationEvaluation | ImmunizationEvaluation.date |
| ImmunizationRecommendation | ImmunizationRecommendation.date |
| Invoice | Invoice.date |
| List | List.date |
| MeasureReport | MeasureReport.period.start |
| Media | Media.issued |
| MedicationAdministration | MedicationAdministration.effective |
| MedicationDispense | MedicationDispense.whenPrepared |
| MedicationRequest | MedicationRequest.authoredOn |
| MedicationStatement | MedicationStatement.dateAsserted |
| MolecularSequence | NO_DATE |
| NutritionOrder | NutritionOrder.dateTime |
| Observation | Observation.effective |
| Patient | NO_DATE |
| Person | NO_DATE |
| Procedure | Procedure.performed |
| Provenance | Provenance.occurredPeriod.start, Provenance.occurredDateTime |
| QuestionnaireResponse | QuestionnaireResponse.authored |
| RelatedPerson | NO_DATE |
| RequestGroup | RequestGroup.authoredOn |
| ResearchSubject | ResearchSubject.period |
| RiskAssessment | RiskAssessment.occurrenceDateTime, RiskAssessment.occurrencePeriod.start |
| Schedule | Schedule.planningHorizon |
| ServiceRequest | ServiceRequest.authoredOn |
| Specimen | Specimen.receivedTime |
| SupplyDelivery | SupplyDelivery.occurrenceDateTime, SupplyDelivery.occurrencePeriod.start, SupplyDelivery.occurrenceTiming.event |
| SupplyRequest | SupplyRequest.authoredOn |
| VisionPrescription | VisionPrescription.dateWritten |