QI-Core Implementation Guide
8.0.0-ballot - STU 8 - ballot United States of America flag

QI-Core Implementation Guide, published by HL7 International / Clinical Quality Information. This guide is not an authorized publication; it is the continuous build for version 8.0.0-ballot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/fhir-qi-core/ and changes regularly. See the Directory of published versions

QI Key Elements

The QI key elements tag is applied to data elements that are currently used in quality measures. This list is intended to offer implementors a baseline reference point for data elements commonly used in measures.

The key QI elements were originally derived from an analysis of the 2023 QDM measures. They have since been updated based on a review of the draft FHIR measures for Measurement Period 2026, which use QI-Core STU 6. Implementors and other users should verify that the list includes all necessary data elements for the specific measures they are working with.

This table provides a quick reference across all QI-Core profiles.

Profile Primary Code Path QI Elements
QICore AdverseEvent event category
severity
resultingCondition
event
encounter
date
seriousness
recordedDate
subject
actuality
QICore AllergyIntolerance code patient
code
verificationStatus
onset[x]
clinicalStatus
criticality
recordedDate
type
category
lastOccurrence
reaction
QICore BodyStructure location active
patient
locationQualifier
location
QICore CarePlan category subject
status
category(AssessPlan)
intent
category
QICore CareTeam participant.role participant
subject
QICore Claim type provider
patient
type
billablePeriod
Claim
use
diagnosis
procedure
created
prescription
status
QICore ClaimResponse type request
requestor
patient
created
status
use
item
type
insurer
QICore Communication Not Done topic extension(event-recorded)
topic.extension(codeOptions)
statusReason
sender
sent
topic
subject
received
status
recipient
QICore Communication topic topic.extension(codeOptions)
sender
sent
topic
subject
received
status
recipient
QICore CommunicationDone topic topic.extension(codeOptions)
status
sender
sent
topic
subject
received
recipient
QICore CommunicationRequest category status
encounter
category
sender
subject
doNotPerform
recipient
QICore Condition Encounter Diagnosis code category
category(us-core)
code
subject
clinicalStatus
extension(assertedDate)
encounter
recordedDate
abatement[x]
severity
onset[x]
verificationStatus
QICore Condition Problems Health Concerns code category
code
category(us-core)
subject
clinicalStatus
extension(assertedDate)
recordedDate
abatement[x]
severity
onset[x]
verificationStatus
QICore Coverage type payor
class.value
identifier.type
class.value
beneficiary
status
relationship
subscriberId
policyHolder
period
type
QICore Device Prohibited code status
modifierExtension(doNotPerform)
authoredOn
intent
code[x]
code[x].extension(codeOptions)
reasonCode
subject
modifierExtension.value[x]
identifier
QICore Device type patient
QICore DeviceRequest code status
modifierExtension(doNotPerform)
authoredOn
intent
code[x]
code[x].extension(codeOptions)
subject
identifier
QICore DeviceRequested code status
modifierExtension(doNotPerform)
authoredOn
intent
code[x]
code[x].extension(codeOptions)
subject
modifierExtension.value[x]
identifier
QICore DeviceUseStatement device.type subject
bodySite
status
recordedOn
device
timing[x]
QICore DiagnosticReport Profile for Laboratory Results Reporting code subject
status
code
category
category(LaboratorySlice)
effective[x]
result
basedOn
performer
QICore DiagnosticReport Profile for Report and Note Exchange code subject
status
category
code
effective[x]
result
imagingStudy
issued
media
encounter
performer
QICore Encounter type status
subject
class
type
serviceProvider
participant
hospitalization
reasonCode
period
reasonReference
location
QICore FamilyMemberHistory FamilyMemberHistory.condition.code relationship
deceased[x]
age[x]
patient
date
QICore Flag code status
code
subject
period
category
QICore Goal category lifecycleStatus
subject
description
start[x]
target
QICore ImagingStudy procedureCode procedureReference
subject
basedOn
started
encounter
QICore Immunization Done vaccineCode occurrence[x]
status
patient
vaccineCode
statusReason
recorded
vaccineCode.extension(codeOptions)
QICore Immunization Not Done vaccineCode statusReason
occurrence[x]
patient
status
vaccineCode
recorded
vaccineCode.extension(codeOptions)
QICore Immunization vaccineCode status
occurrence[x]
patient
vaccineCode
statusReason
recorded
vaccineCode.extension(codeOptions)
QICore ImmunizationEvaluation targetDisease targetDisease
date
immunizationEvent
doseStatusReason
identifier
status
patient
doseStatus
QICore ImmunizationRecommendation recommendation.vaccineCode patient
recommendation
QICore Laboratory Result Observation code subject
code
category
status
category(us-core)
encounter
value[x]
issued
referenceRange
effective[x]
interpretation
QICore Location type name
status
telecom
managingOrganization
type
QICore Medication Prohibited medication subject
authoredOn
status
intent
medication[x]
doNotPerform
requester
extension(medicationAdherence)
reasonCode
encounter
dispenseRequest
reasonReference
dosageInstruction
reported[x]
QICore Medication code code
QICore MedicationAdministration Done medication medication[x]
dosage
medication[x].extension(codeOptions)
status
subject
request
effective[x]
context
QICore MedicationAdministration Not Done medication medication[x]
dosage
statusReason
medication[x].extension(codeOptions)
subject
request
effective[x]
status
context
QICore MedicationAdministration medication status
medication[x]
dosage
medication[x].extension(codeOptions)
subject
request
effective[x]
context
QICore MedicationDispense Declined medication medication[x]
subject
status
extension(recorded)
authorizingPrescription
dosageInstruction
medication[x].extension(codeOptions)
statusReason[x]
daysSupply
whenPrepared
quantity
whenHandedOver
type
QICore MedicationDispense Done medication medication[x]
status
subject
authorizingPrescription
extension(recorded)
dosageInstruction
medication[x].extension(codeOptions)
daysSupply
whenPrepared
quantity
whenHandedOver
type
QICore MedicationDispense medication medication[x]
subject
status
authorizingPrescription
extension(recorded)
dosageInstruction
medication[x].extension(codeOptions)
daysSupply
whenPrepared
quantity
whenHandedOver
type
QICore MedicationRequest medication subject
intent
status
medication[x]
reasonCode
authoredOn
requester
extension(medicationAdherence)
encounter
dispenseRequest
reasonReference
dosageInstruction
doNotPerform
reported[x]
QICore MedicationRequested medication subject
status
intent
medication[x]
doNotPerform
reasonCode
category
authoredOn
requester
extension(medicationAdherence)
encounter
dispenseRequest
reasonReference
dosageInstruction
reported[x]
QICore MedicationStatement medication subject
status
dateAsserted
derivedFrom
medication[x]
effective[x]
informationSource
QICore NonPatient Observation code performer
derivedFrom
category
code
subject
value[x]
status
effective[x]
interpretation
QICore NutritionOrder type patient
QICore Observation Clinical Result code code
subject
category
status
value[x]
dataAbsentReason
category(us-core)
effective[x]
QICore Observation Screening Assessment code category(survey)
subject
status
category
code
performer
category(screening-assessment)
hasMember
derivedFrom
dataAbsentReason
value[x]
effective[x]
interpretation
QICore Organization type active
name
identifier.use
identifier.value
identifier(ein)
identifier(ccn)
type
QICore Patient   name
identifier
gender
QICore Practitioner   name
identifier
QICore PractitionerRole code identifier.use
period
identifier.value
practitioner
identifier
telecom
identifier.system
organization
location
code
active
specialty
endpoint
QICore Procedure Done code subject
code
status
performed[x]
reasonCode
reasonReference
basedOn
code.extension(codeOptions)
extension(recorded)
QICore Procedure Not Done code subject
code
status
performed[x]
reasonCode
reasonReference
basedOn
code.extension(codeOptions)
statusReason
extension(recorded)
QICore Procedure code subject
code
status
performed[x]
reasonCode
reasonReference
basedOn
code.extension(codeOptions)
extension(recorded)
QICore QuestionnaireResponse questionnaire questionnaire
status
subject
authored
item
author
QICore RelatedPerson relationship active
patient
name
telecom
relationship
QICore Service Prohibited code intent
code
subject
authoredOn
status
code.extension(codeOptions)
reasonCode
occurrence[x]
doNotPerform
reasonReference
QICore ServiceRequest code status
intent
code
subject
code.extension(codeOptions)
reasonCode
occurrence[x]
authoredOn
doNotPerform
reasonReference
QICore ServiceRequested code intent
code
subject
status
code.extension(codeOptions)
reasonCode
occurrence[x]
authoredOn
doNotPerform
reasonReference
QICore Simple Observation code subject
category
code
status
performer
derivedFrom
value[x]
effective[x]
interpretation
QICore Substance code code
QICore Task Done code basedOn
executionPeriod
focus
intent
code
status
encounter
for
priority
QICore Task Rejected code focus
statusReason
for
executionPeriod
QICore Task code basedOn
executionPeriod
focus
intent
status
code
encounter
for
priority