This page is part of the Quality Improvement Core Framework (v6.0.0-ballot: STU6 (v6.0.0) Ballot 1) based on FHIR R4. The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions
This page is part of the Quality Improvement Core Framework (v6.0.0: STU 6) based on FHIR R4. This is the current published version. For a full list of available versions, see the Directory of published versions.
The CMS Quality Data Model (QDM) has been used to express electronic clinical quality measures (eCQMs) in HQMF since 2012. QDM is a conceptual data model that has evolved based on feedback, testing and use. The current version (Version 5.6 for eCQM implementation 2023, 2024 and 2025) and QDM’s complete history can be found on the eCQI Resource Center. Most of the QDM concepts map directly to US Core R5, FHIR R4 resources or extensions represented in QI-Core.
This version of QI Core updates mappings from QI-Core to QDM based on US Core STU6 (v6.1.0) and FHIR R4 and QDM version 5.6. Reviewers can evaluate the comparisons, represented in the Mappings table for each QI-Core resource. Each mapping table shows the QI-Core concept in the right-hand column and the corresponding QDM datatype(s) and attributes in the left-hand column. Only QI-Core metadata concepts represented in QDM are included in the mapping tables. The effort mapped the intended meaning of each QDM datatype and attribute to a QI-Core resource metadata element. In some cases, multiple QDM datatypes map to a single QI-Core resource as indicated in the QI-Core mapping table. Since QDM is a conceptual data model some of the elements may not have a direct mapping to a QI-Core profile or one of the items in its respective Key Element Table. Content in the QI-Core profile Key Element Table tabs is based on US Core 6.1.0 requirements and basic needs to express concepts driven by existing quality measurement and clinical decision support data retrieval.
In addition to the QI-Core to QDM comparisons presented with each QI-Core resource, this section of the implementation guide presents the mapping directly from QDM concepts. Thus, the IG provides a view of the mappings in both directions (QI-Core to QDM, and QDM to QI-Core). This section is divided into 55 sections, one for each QDM concept, or QDM datatype. Each QDM datatype includes a general description of the concept and a table mapping each of the QDM datatype-related attributes to QI-Core metadata elements. Refer to the eCQI Resource Center for the full QDM 5.6 documentation.
QI-Core builds upon US Core and new US Core STU6 (6.1.0) profiles include a number of changes that impact expression of requests for information. US Core STU6 also incorporates requirements of United States Core Data for Interoperability version 3. These include new observation profiles and addition of a MedicationDispense profile and a Specimen profile.
QI-Core addresses these changes as follows:
1) Observations
QI-Core STU 6 includes 21 profiles based on the FHIR Observation resource, some including specific QI-Core constraints added to US Core profiles, others used as specified by US Core. The following list should help determine which QI-Core observation profile to use with each QDM datatype. The subsequent mapping tables provide more detail about how to address these new profiles when converting measures from QDM to QI-Core.
2) MedicationDispense – QI-Core STU6 Medication Dispense adds constraints to the new US Core STU6 Medication Dispense rather than the base FHIR R4 MedicationDispense.
QDM defines Adverse Event as any untoward medical occurrence associated with the clinical care delivery, whether or not considered drug related. The concepts aligns with the FHIR R4 resource Adverse Event. The FHIR resource provides clearer expressivity as compared with QDM.
The HL7 Patient Care Workgroup documented some use cases and supporting information for using this resource; however, most adverse event information is more identifiable in clinical records as findings, conditions, or observations. Thus, measure developers may find more effective information retrieval by using the condition, simple observation, or specific observation profiles to identify triggers indicating potential adverse events. References for information regarding potential adverse event triggers: CMS Hospital-Acquired Condition Reduction Program. Also useful: Institute for Healthcare Improvement Trigger Tool for Measuring Adverse Drug Events (requires registration)
Much of the detail about adverse events is present in separate risk management systems based on incident reports rather than the electronic health record (EHR) except for some details in unstructured progress notes. For those using this “Adverse Event” QDM datatype, QDM includes an attribute code that represents the specific type of event that occurred, consistent with AdverseEvent.event.
QDM does not include an attribute to address the additional elements available in QI-Core: AdverseEvent.suspectEntity (the suspected cause), or the AdverseEvent.resultingCondition. As an example to differentiate these elements:
QDM version 5.6 (and earlier versions) only address one of these elements, the event. Therefore, QDM AdverseEvent code maps to AdverseEvent.event. Measure developers seeking to retrieve data about the cause of an AdverseEvent may be able to relate the occurrence timing of a potential causative event and the AdverseEvent.event timing. Further detail about the AdverseEvent will require use of FHIR or potentially a subsequent version of QDM after QDM 5.6.
QDM Context | QI-Core STU6 | Comments |
---|---|---|
Adverse Event | AdverseEvent | |
AdverseEvent.actuality | Although not specified in QDM, QI-Core provides the ability to differentiate between potential versus actual events | |
QDM Attributes | ||
code | AdverseEvent.event | Type of the event itself in relation to the subject; reference SNOMED-CT event hierarchy to represent the event in an eCQM. Note: QDM does not include an attribute to address additional elements available in QI-Core: AdverseEvent.suspectEntity (the suspected cause), or the AdverseEvent.resultingCondition. |
type | AdverseEvent.category | |
severity | AdverseEvent.severity | |
relevantdateTime | AdverseEvent.date | |
facilityLocations | AdverseEvent.location | |
authorDatetime | AdverseEvent.recordedDate | |
id | AdverseEvent.id | |
recorder | AdverseEvent.recorder | |
AdverseEvent.suspectEntity.instance | The actual instance of what caused the adverse event. May be a substance, medication, medication administration, medication statement or a device. |
Allergy is used to address immune-mediated reactions to a substance such as type 1 hypersensitivity reactions, other allergy-like reactions, including pseudo-allergy.
Intolerance is a record of a clinical assessment of a propensity, or a potential risk to an individual, to have a non-immune mediated adverse reaction on future exposure to the specified substance, or class of substance.
QDM Context | QI-Core STU6 | Comments |
---|---|---|
Allergy/Intolerance | AllergyIntolerance | |
AllergyIntolerance.clinicalStatus | Identifies if active, inactive, resolved; while not a QDM attribute, this is an important element for retrieving active allergies or intolerances. | |
AllergyIntolerance.type | Defines difference between Allergy and Intolerance; while not a QDM attribute, this is an important element for differentiating between allergies and intolerances. | |
AllergyIntolerance.verificationStatus | Identifies if unconfirmed, confirmed, refuted, entered-in-error; while not a QDM attribute, this is an important element for retrieving confirmed allergies or intolerances. | |
AllergyIntolerance.category | Helpful to identify classes of potential allergens such as food, medication, environment, biologic; while not a QDM attribute, this may be a helpful element for some use cases. | |
QDM Attributes | ||
code | AllergyIntolerance.code | USCoreAllergySubstance; RxNorm for medication ingredients |
id | AllergyIntolerance.id | |
prevalencePeriod | AllergyIntolerance.onset[x] | Prevalence Period start time maps to AllergyIntolerance.onset[x]. Implementers may need to “map” existing allergy onset timings (e.g., day, age, year, etc.) to a corresponding dateTime to allow calculation of measure or CDS expressions. |
authorDatetime | AllergyIntolerance.recordedDate | Indicates when recorded in the record, not necessarily the onset date |
type | AllergyIntolerance.reaction.manifestation | Clinical symptoms/signs associated with the event |
severity | AllergyIntolerance.reaction.severity | Indicates seriousness, e.g., mild, moderate severe |
AllergyIntolerance.criticality | Indicates potential for clinical harm, e.g., low, high, unable-to-assess; not present as an attribute in QDM but may be helpful for some use cases | |
recorder | AllergyIntolerance.recorder | The individual entering the data about the allergy or intolerance. Note this element is included in QDM but it is not included in the Key Element Table for QI-Core AllergyIntolerance as it does not have a clear use case; i.e.,no existing measures or clinical decision support usage requires the recorder or even the asserter of the allergy or intolerance. |
QDM defines Assessment as a resource used to define specific observations that clinicians use to guide treatment of the patient. An assessment can be a single question, or observable entity with an expected response, an organized collection of questions intended to solicit information from patients, providers or other individuals, or a single observable entity that is part of such a collection of questions. In previous versions of QI-Core, QDM Assessment category mapped directly to QICore Observation. US Core STU6 includes a number of specific observation profiles such that there are now six profiles providing greater specificity in defining observations. QI-Core inherits five of the observation profiles directly from US Core as no additional constraints are necessary:
QI-Core adds additional constraints to the US Core Observation Screening Assessment and the US Core Simple Observation profiles. Thus, QI-Core profiles for these observations build on the US Core profiles:
Assessment, Order uses the ServiceRequest resource. The codes for ordering specific observations should reference the code element specified in the respective profiles: QICore Observation Screening Assessment, QICore Simple Observation; US Core Observation Occupation, US Core Observation Pregnancy Intent, US Core Pregnancy Status, US Core Observation Sexual Orientation, or US Core Smoking Status Observation.
QDM Context | QI-Core STU6 | Comments |
---|---|---|
Assessment, Order | ServiceRequest | |
ServiceRequest.status | Constrain to active, completed. While QDM does not have an attribute comparable to status, as a conceptual model, status is implied by the name “Assessment, Order” and “Assessment, Recommended” datatypes. | |
ServiceRequest.intent | Required to differentiate an order from a recommendation. The intent value set allows such differentiation using “order” for orders and “plan” for recommendation. Constrain only to “order” (include children: original-order, reflex-order, filler-order, instance-order) | |
QDM Attributes | ||
Code | ServiceRequest.code | What is requested, extensible binding to US Core Procedure Codes |
id | ServiceRequest.id | |
Reason | ServiceRequest.reasonCode | Explanation/justification for procedure or service with extensible binding to US Core Condition Codes |
Author dateTime | ServiceRequest.authoredOn | When the request transitioned to being actionable. |
Negation Rationale | See Below | |
Requester | ServiceRequest.requester | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. The original purpose for the QDM requester attribute was to designate the individual/organization responsible for reporting the measure results is the same individual/organization) that requested the procedure or service. However, clinical software generally tracks the individual user entering data and linking that individual to a clinical role, a specialty, or an organization is not easily accomplished. |
Use QICoreServiceNotRequested and reference the code element specified in the respective observation profile:
QDM defines Assessment as a resource used to define specific observations that clinicians use to guide treatment of the patient. An assessment can be a single question, or observable entity with an expected response, an organized collection of questions intended to solicit information from patients, providers or other individuals, or a single observable entity that is part of such a collection of questions.
“Assessment, Performed” maps to the one of several QI-Core or US Core profiles as applicable for the information desired:
QDM Context | QI-Core STU6 | Comments |
---|---|---|
Assessment, Performed: General Use Case | Observation | |
Observation.category | Category helps to narrow the request to the class of observation required to meet measure intent. Each QI-Core or US Core profile has a specific binding to concepts appropriate to the respective profile. Note that QDM does not have an attribute comparable to category, the element may be helpful in expressing a quality measure. | |
Observation.status | Constrain status to - final, amended, corrected. While QDM does not have an attribute comparable to status, as a conceptual model, status is implied by the name “Assessment, Performed” datatype. | |
QDM Attributes | ||
code | Observation.code | Note specific bindings based on the QI-Core or US Core profile used. |
id | Observation.id | |
method | Observation.method | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. Therefore, it is not in the profile Key Elements Table; it can be found in the Snapshot Table tab of the respective profiles. |
relatedTo | Observation.basedOn | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. Therefore, it is not in the profile Key Elements Table; it can be found in the Snapshot Table tab of the respective profiles. |
Observation.partOf | A larger event of which this particular Observation is a component or step. For example, an observation as part of a procedure. | |
Observation.derivedFrom | Allows reference to the activity that led to the observation. | |
negationRationale | See Below | |
reason | Observation.basedOn | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. Therefore, it is not in the profile Key Elements Table; it can be found in the Snapshot Table tab of the respective profiles. |
result | Observation.value[x] | |
interpretation | Observation.interpretation | Explanation of significance of the observation result (e.g., critical, high, low) |
relevantDatetime | Observation.effective[x] dateTime | Time observation occurred if a point in time. |
relevantPeriod | Observation.effective[x] Period | Time observation occurred if it occurs over a period of time. |
authorDatetime | Observation.issued | Time observation result made available. |
component | Observation.component | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. Many measures address components of a panel of simple observations as single elements. Note that the QICore Observation Screening Assessment Profile allows reference to components by identifying the parent screening assessment and using the Observation.hasMember element to reference the individual observations within the set. Therefore, component is not in the profile Key Elements Table; it can be found in the Snapshot Table tab of the respective profiles. |
component.code | Observation.component.code | See comment about component. |
component.result | Observation.component.value[x] | See comment about component. |
performer | Observation.performer | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. The original purpose for the QDM performer attribute was to designate the individual/organization responsible for reporting the measure results is the same individual/organization that performed the observation or task. However, clinical software generally tracks the individual user entering data and linking that individual to a clinical role, a specialty, or an organization is not easily accomplished. |
Use QICoreObservationCancelled and reference the code element specified in the respective observation profile:
Assessment, Recommended uses the ServiceRequest resource. The codes for recommending specific observations should reference the code element specified in the respective profile:
QDM Context | QI-Core STU6 | Comments |
---|---|---|
Assessment, Recommended | ServiceRequest | |
ServiceRequest.status | Constrain to active, completed. While QDM does not have an attribute comparable to status, as a conceptual model, status is implied by the name “Assessment, Order” and “Assessment, Recommended” datatypes. | |
ServiceRequest.intent | Required to differentiate a recommendation from an order. The intent value set allows such differentiation using “order” for orders and “plan” for recommendation. Constrain only to “plan” | |
QDM Attributes | ||
code | ServiceRequest.code | What is requested, extensible binding to US Core Procedure Codes |
id | ServiceRequest.id | |
reason | ServiceRequest.reasonCode | Explanation/justification for procedure or service with extensible binding to US Core Condition Codes |
authorDatetime | ServiceRequest.authoredOn | When the request transitioned to being actionable. |
negationRationale | See Below | |
requester | ServiceRequest.requester | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. The original purpose for the QDM requester attribute was to designate the individual/organization responsible for reporting the measure results is the same individual/organization) that requested the procedure or service. However, clinical software generally tracks the individual user entering data and linking that individual to a clinical role, a specialty, or an organization is not easily accomplished. |
Use QICoreServiceNotRequested and reference the code element specified in the respective observation profile:
QDM defines Care Experience as the understanding and involvement derived from the direct participation of an individual in the maintenance or improvement of health. QDM represents two kinds of care experience: Patient Care Experience and Provider Care Experience. While generally interpreted as patient or provider satisfaction, experience may also represent understanding, involvement and other factors about the care received or given. Most often organizations obtain such information using questionnaires. Use cases are welcome to help provide examples for us of this concept. The Care Experience concept best fits with the FHIR Observation resource.
QDM’s “Care Experience” maps to either one of two QI-Core profiles, dependent on the type of information desired:
QDM “Patient Care Experience” maps to QICore Observation Screening Assessment Profile or QICore Simple Observation, as applicable, for the information desired:
QDM Context | QI-Core STU6 | Comments |
---|---|---|
Patient Care Experience | Observation | |
Observation.status | Constrain status to - final, amended, corrected. While QDM does not have an attribute comparable to status, as a conceptual model, status is implied by the name “Assessment, Performed” datatype. | |
QDM Attributes | ||
code | Observation.code | Note specific bindings based on the QI-Core or US Core profile used. |
id | Observation.id | |
Observation.effective[x] dateTime | Time observation occurred if a point in time. Although not present in QDM’s “Patient Care Experience” datatype, this element could be useful in expressing measures. | |
Observation.effective[x] Period | Time observation occurred if it occurs over a period of time. Although not present in QDM’s “Patient Care Experience” datatype, this element could be useful in expressing measures. | |
authorDatetime | Observation.issued | Time observation result made available. |
recorder | Observation.performer | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. The original purpose for the QDM performer attribute was to designate the individual/organization responsible for reporting the measure results is the same individual/organization that performed the observation or task. However, clinical software generally tracks the individual user entering data and linking that individual to a clinical role, a specialty, or an organization is not easily accomplished. QICore Observation Screening Assessment Profile |
QDM “Provider Care Experience” maps to QICore Observation Screening Assessment Profile or QICore Simple Observation, as applicable, for the information desired:
QDM Context | QI-Core STU6 | Comments |
---|---|---|
Provider Care Experience | Observation.code | Note specific bindings based on the QI-Core or US Core profile used |
QDM Attributes | ||
code | Observation.code | Note specific bindings based on the QI-Core or US Core profile used |
id | Observation.id | |
Observation.effective[x] dateTime | Time observation occurred if a point in time. Although not present in QDM’s “Provider Care Experience” datatype, this element could be useful in expressing measures. | |
Observation.effective[x] Period | Time observation occurred if it occurs over a period of time. Although not present in QDM’s “Provider Care Experience” datatype, this element could be useful in expressing measures. | |
authorDatetime | Observation.issued | Time observation result made available. |
recorder | Observation.performer | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. The original purpose for the QDM performer attribute was to designate the individual/organization responsible for reporting the measure results is the same individual/organization that performed the observation or task. However, clinical software generally tracks the individual user entering data and linking that individual to a clinical role, a specialty, or an organization is not easily accomplished. |
QDM defines Care Goal as a defined target or measure to be achieved in the process of patient care, that is, an expected outcome. A typical goal is expressed as a change in status expected at a defined future time. That change can be an observation represented by other QDM categories (diagnostic tests, laboratory tests, symptoms, etc.) scheduled for some time in the future and with a particular value. A goal can be found in the plan of care (care plan), the structure used by many stakeholders to define the management actions for the various conditions, problems, or issues identified for the target of the plan. This structure, through which the goals and care-planning actions and processes can be organized, planned, communicated, and checked for completion, is represented in QDM as a Record Artifact in which Care Goal is found.
QDM Context | QI-Core STU6 | Comments |
---|---|---|
Care Goal | Goal | Describes the intended objective(s) for a patient, group or organization |
Goal.achievementStatus | QDM does not include an attribute to determine the status of a goal. QI-Core inherits US Core and USCDI requirements to include this element that indicates concepts such as proposed, planned, accepted, active, on-hold, completed, cancelled, rejected, entered in error with a required binding to value set GoalLifecyleStatus. | |
QDM Attributes | ||
code | Goal.description | Code or test describing the goal. Description has an extensible binding to US Core Goal Codes. |
id | Goal.id | |
statusDate | ||
targetOutcome | Goal.target.detail[x] | US Core 6.1.0 (USCDI) includes target outcome with a due date, but it does not include information about the target outcome. Thus neither the target outcome nor the target due date is included in the QI-Core Key Element Table. |
relevantPeriod | Goal.start[x] | When the goal pursuit begins. US Core 6.1.0 (USCDI) includes startDate (date) with binding to GoalStartEvent, events that might initiate a goal; examples include admission to hospital, discharge from hospital, completion time of procedure, childbirth. QI-Core includes the start timing (date) and the triggering event with a preferred binding to GoalStartEvent. |
Goal.target.due[x] | QDM does not include a target due date for a goal. US Core 6.1.0 (USCDI) and QI-Core STU 6 include the target due date in their respective profile Key Element Tables. However, likelihood of retrieving a target due date may be limited and those using this element in measure expressions should work with implementers to determine feasibility. | |
statusDate | Goal.statusDate | Date when goal status took effect. Neither US Core nor QI-Core include this element in the Key Elements Table for this profile. |
relatedTo | Goal.addresses | Issues addressed by this goal. Neither US Core nor QI-Core include this element in the Key Elements Table for this profile. |
performer | Goal.expressedBy | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. The original purpose for the QDM performer attribute was to designate the individual/organization responsible for reporting the measure results is the same individual/organization that performed the observation or task. However, clinical software generally tracks the individual user entering data and linking that individual to a clinical role, a specialty, or an organization is not easily accomplished. QI-Core does not include this element in the Key Elements Table for this profile. |
QDM defines Communication as the transmission, receipt, or acknowledgement of information sent from a source to a recipient, such as from one clinician to another regarding findings, assessments, plans of care, consultative advice, instructions, educational resources, etc. The following text from the FHIR Communication and Procedure Resources may help to differentiate when to use Communication.
This resource is a record of a communication. A communication is a conveyance of information from one entity, a sender, to another entity, a receiver. The sender and receivers may be patients, practitioners, related persons, organizations, or devices. Communication use cases include:
A reminder or alert delivered to a responsible provider
A recorded notification from the nurse to the on-call physician (or any other specified person) that a patient’s temperature exceeds a value
A notification to a public health agency of a patient presenting with a communicable disease reportable to the public health agency
Patient educational material sent by a provider to a patient
Unable to deliver lab results to ordering physician
Non-patient specific communication use cases may include:
A nurse call from a hall bathroom
Advisory for battery service from a pump
Boundaries and Relationships (Section 8.20.2) - Communication and Encounter
The Communication is about the transfer of information (which might or might not occur as part of an encounter), while Encounter is about the coming together (in person or virtually) of a Patient with a Practitioner. Communication does not deal with the duration of a call, it represents the fact that information was transferred at a particular point in time.
The phone calls involving the Patient should be handled using Encounter. Phone calls not involving the patient (e.g. between practitioners or practitioner to relative) that are tracked for billing or other purposes can use Communication to represent the information transferred but are not ideal to represent the call itself. A better mechanism for handling such calls will be explored in a future release.
The boundary between determining whether an action is a Procedure (training or counseling) as opposed to a Communication is based on whether there’s a specific intent to change the mind-set of the patient. Mere disclosure of information would be considered a Communication. A process that involves verification of the patient’s comprehension or to change the patient’s mental state would be a Procedure.
QDM Context | QI-Core STU6 | Comments |
---|---|---|
Communication, Performed | Communication | |
Communication.status | QDM is a conceptual data model and it does not include a status attribute since it is incorporated in the name of the QDM datatype. QI-Core requires specific detail about status. Constrain to completed. | |
QDM Attributes | ||
code | Communication.topic | Description of the purpose/content with preferred binding to Communication Topic |
id | Communication.id | |
category | Communication.category | QDM includes the attribute category allowing specification of the class of the communication (e.g., alert, notification, reminder, instruction). However, no current measures require this attribute as a specific category has not been significant to measure intent. Therefore, this element is not present in the QI-Core profile Key Elements Table. |
medium | Communication.medium | How communication occurs (e.g., physical presence, online written, email, handwritten, etc.). This element is not present in the QI-Core profile Key Elements Table. |
sentDatetime | Communication.sent | When sent |
receivedDatetime | Communication.received | When recieved |
authorDatetime | Communication.extension:recorded | Use of this QDM attribute is restricted to the QDM negation rationale use case. It does not apply to a communication with any status other than “not-done”. See Negation Rationale for Communication, Performed. |
relatedTo | Communication.basedOn | An order, proposal or plan fulfilled in whole or in part by this Communication. No current measures require this attribute. Therefore, this element is not present in the QI-Core profile Key Elements Table |
Communication.inResponseTo | Response to a communication | |
sender | Communication.sender | Message sender |
recipient | Communication.recipient | Message recipient |
negationRationale | See Below |
Use QICoreCommunicationNotDone, which contains:
QDM defines Condition/Diagnosis/Problem as a practitioner’s identification of a patient’s disease, illness, injury, or condition. This category contains a single datatype to represent all of these concepts: Diagnosis. A practitioner determines the diagnosis by means of examination, diagnostic test results, patient history, and/or family history. Diagnoses are usually considered unfavorable, but they may also represent neutral or favorable conditions that affect a patient’s plan of care (e.g., pregnancy).
Based on changes in US Core STU5, QI-Core now has two methods for expressing conditions, QICore Condition Problems and Health Concerns Profile, and QICore Condition Encounter Diagnosis Profile. Please reference the respective profile pages for explanation of the rationale for using each of these profiles. Briefly, the Condition Problems and Health Concerns Profile meets the US Core Data for Interoperability (USCDI) version 2 ‘Problems’ and ‘Health Concerns’ and SDOH Problems/Health Concerns requirements. The Condition Encounter Diagnosis Profile further meets the USCDI v2 requirement to define Encounter Diagnosis.
QDM Context | QI-Core STU6 | Comments |
---|---|---|
Condition - Diagnosis - Problem | Condition Problems and Health Concerns | |
ConditionProblemsHealthConcerns.clinicalStatus | QDM is a conceptual data model and it does not include a status attribute since it is incorporated in the name of the QDM datatype. QI-Core requires specific detail about status. Clinical status defines active, recurrence, relapse, inactive, remission, resolved with required binding to ConditionClinicalStatusCodes | |
ConditionProblemsHealthConcerns.verificationStatus | Verification status defines confirmed, unconfirmed, provisional, differential, refuted, entered-in-error with required binding to ConditionVerificationStatus. QDM not contain this attribute but it is valuable to determine metadata about a documented condition. | |
ConditionProblemsHealthConcerns.category | Category defines the class of condition documentation, e.g., problem-list-item, encounter-diagnosis, health-concern. QDM not contain this attribute but it is valuable to determine metadata about a documented condition. | |
QDM Attributes | Identification of the condition with extensible binding to US Core Condition Codes. | |
code | ConditionProblemsHealthConcerns.code | |
id | ConditionProblemsHealthConcerns.id | |
prevalencePeriod | ConditionProblemsHealthConcerns.onset[x] | Estimated or actual date, date-time, or age. Note that some clinical products default condition documentation to date entered with option to change to date of onset. |
ConditionProblemsHealthConcerns.abatement[x] | When in resolution/remission. May be dateTime, Age, Period Range, string. | |
authorDatetime | ConditionProblemsHealthConcerns.recordedDate | Recorded date is date record was first recorded. Asserted date the condition was first asserted. |
severity | ConditionProblemsHealthConcerns.severity | Subjective severity of the condition (e.g., severe, moderate, mild). This element has limited feasibility and it is not in the Key Elements Table for US Core or QI-Core for Condition Diagnosis and Health Concern or Condition Encounter Diagnosis. |
anatomicalLocationSite | ConditionProblemsHealthConcerns.bodySite | Anatomical location, if relevant. This element has limited feasibility and it is not in the Key Elements Table for US Core or QI-Core for Condition Diagnosis and Health Concern or Condition Encounter Diagnosis. Often, condition.code indicates the body site. |
recorder | ConditionProblemsHealthConcerns.recorder | Individual who recorded the record and takes responsibility for its content. This element has limited utility for a measure use case and it is not in the Key Elements Table for US Core or QI-Core for Condition Diagnosis and Health Concern or Condition Encounter Diagnosis. |
ConditionProblemsHealthConcerns.asserter | Individual who is making the condition statement. This element has limited utility for a measure use case and it is not in the Key Elements Table for US Core or QI-Core for Condition Diagnosis and Health Concern or Condition Encounter Diagnosis. |
QDM defines Device as an instrument, apparatus, implement, machine, contrivance, implant, in-vitro reagent, or other similar or related article, including a component part or accessory, intended for use in the diagnosis, cure, mitigation, treatment, or prevention of disease and not dependent on being metabolized to achieve any of its primary intended purposes.
FHIR defines the Device Resource as a type of a manufactured item that is used in the provision of healthcare without being substantially changed through that activity. The device may be a medical or non-medical device.
FHIR and US Core further differentiate devices into two “classes”:
[Definition reference: Imam W. How to use ISO 13485:2016 to manage implantable devices, ISO 13485 Blog. July 4, 2016. Available at: https://advisera.com/13485academy/blog/2017/07/04/how-to-use-iso-134852016-to-manage-implantable-medical-devices/. Accessed 28 January 2020.]
The FHIR Device Resource addresses both implantable and non-implantable devices. US Core only references Implantable Device. QI-Core inherits Implantable Device from US Core and builds directly from FHIR for the QI-Core Device Resource.
QDM originally designed Device, Applied to allow access to documentation of device usage. However, evaluation over time indicates that all documentation about usage of a device occurs as an observation. Thus, information about an implanted pacemaker status check, utilization of a patient-use Continuous Positive Airway Pressure (CPAP) device, results from a glucometer, or use of a wheelchair or cane should use the QDM datatype, Assessment, Performed, or QI-Core Observation. Use of Device, Applied has been synonymous with Procedure, Performed, i.e., placement of or adjustment to a device.
“Device Applied” has been retired in QDM 5.6 in favor of using “Procedure, Performed” or “Assessment, Performed” as appropriate.
QDM Context | QI-Core STU6 | Comments |
---|---|---|
Device Request | ServiceRequest | |
ServiceRequest.status | Constrain to active, completed. While QDM does not have an attribute comparable to status, as a conceptual model, status is implied by the name “Device, Order” and “Device, Recommended” datatypes. | |
Device, Order | ServiceRequest.intent | Required to differentiate an order from a recommendation. The intent value set allows such differentiation using “order” for orders and “plan” for recommendation. Constrain only to “order” (include children: original-order, reflex-order, filler-order, instance-order) |
QDM Attributes | ||
code | ServiceRequest.code | What is requested, extensible binding to US Core Procedure Codes |
id | ServiceRequest.id | |
reason | ServiceRequest.reasonCode | Explanation/justification for procedure or service with extensible binding to US Core Condition Codes |
authorDatetime | ServiceRequest.authoredOn | When the request transitioned to being actionable. |
negationRationale | See Below | |
requester | ServiceRequest.requester | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. The original purpose for the QDM requester attribute was to designate the individual/organization responsible for reporting the measure results is the same individual/organization that requested the procedure or service. However, clinical software generally tracks the individual user entering data and linking that individual to a clinical role, a specialty, or an organization is not easily accomplished. |
Use QICoreServiceNotRequested, which contains:
QDM Context | QI-Core STU6 | Comments |
---|---|---|
Device Request | DeviceRequest | |
DeviceRequest.status | Constrain to active, completed. While QDM does not have an attribute comparable to status, as a conceptual model, status is implied by the name “Device, Order” and “Device, Recommended” datatypes. | |
Device, Order | DeviceRequest.intent | Required to differentiate an order from a recommendation. The intent value set allows such differentiation using “order” for orders and “plan” for recommendation. Constrain only to “order” (include children: original-order, reflex-order, filler-order, instance-order) |
QDM Attributes | ||
code | DeviceRequest.code[x] | Device requested with preferred binding to FHIRDeviceTypes. |
id | DeviceRequest.id | |
reason | DeviceRequest.reasonReference | Linked reason for the request (e.g., condition or observation). This element is not included in the QI-Core profile Key Elements Table since feasibility of retrieval is limited. |
authorDatetime | DeviceRequest.authoredOn | FHIR allows dateTime or Period for deseired time or schedule for use. |
negationRationale | See Below | |
requester | DeviceRequest.requester | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. The original purpose for the QDM requester attribute was to designate the individual/organization responsible for reporting the measure results is the same individual/organization) that requested the procedure or service. However, clinical software generally tracks the individual user entering data and linking that individual to a clinical role, a specialty, or an organization is not easily accomplished. |
Use QICoreDeviceNotRequested, which contains:
QDM Context | QI-Core STU6 | Comments |
---|---|---|
Device Request | ServiceRequest | |
ServiceRequest.status | Constrain to active, completed. While QDM does not have an attribute comparable to status, as a conceptual model, status is implied by the name “Device, Order” and “Device, Recommended” datatypes. | |
Device, Order | ServiceRequest.intent | Required to differentiate a recommendation from an order. The intent value set allows such differentiation using “order” for orders and “plan” for recommendation. Constrain only to “plan” |
QDM Attributes | ||
code | ServiceRequest.code | What is requested, extensible binding to US Core Procedure Codes |
id | ServiceRequest.id | |
reason | ServiceRequest.reasonCode | Explanation/justification for procedure or service with extensible binding to US Core Condition Codes |
authorDateTime | ServiceRequest.authoredOn | When the request transitioned to being actionable |
negationRationale | See Below | |
requester | ServiceRequest.requester | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. The original purpose for the QDM requester attribute was to designate the individual/organization responsible for reporting the measure results is the same individual/organization that requested the procedure or service. However, clinical software generally tracks the individual user entering data and linking that individual to a clinical role, a specialty, or an organization is not easily accomplished. |
Use QICoreServiceNotRequested, which contains:
QDM Context | QI-Core STU6 | Comments |
---|---|---|
Device Request | DeviceRequest | |
DeviceRequest.status | Constrain to active, completed. While QDM does not have an attribute comparable to status, as a conceptual model, status is implied by the name “Device, Order” and “Device, Recommended” datatypes. | |
Device, Order | DeviceRequest.intent | Required to differentiate an order from a recommendation. The intent value set allows such differentiation using “order” for orders and “plan” for recommendation. Constrain only to “plan”. |
QDM Attributes | ||
code | DeviceRequest.code[x] | Device requested with preferred binding to FHIRDeviceTypes. |
id | DeviceRequest.id | |
reason | DeviceRequest.reasonReference | Linked reason for the request (e.g., condition or observation). This element is not included in the QI-Core profile Key Elements Table since feasibility of retrieval is limited. |
authorDatetime | DeviceRequest.authoredOn | FHIR allows dateTime or Period for deseired time or schedule for use. |
negationRationale | See Below | |
requester | DeviceRequest.requester | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. The original purpose for the QDM requester attribute was to designate the individual/organization responsible for reporting the measure results is the same individual/organization) that requested the procedure or service. However, clinical software generally tracks the individual user entering data and linking that individual to a clinical role, a specialty, or an organization is not easily accomplished. |
Use QICoreDeviceNotRequested, which contains:
QDM defines Diagnostic Study as any kind of medical test performed as a specific test or series of steps to aid in diagnosing or detecting disease (e.g., to establish a diagnosis, measure the progress or recovery from disease, confirm that a person is free from disease). The QDM differentiates diagnostic studies from laboratory tests in that diagnostic studies are those that are not performed in organizations that perform testing on samples of human blood, tissue, or other substance from the body. Diagnostic studies may make use of digital images and textual reports. Such studies include but are not limited to imaging studies, cardiology studies (electrocardiogram, treadmill stress testing), pulmonary-function testing, vascular laboratory testing, and others.
QI-Core has added specific constraints on the US Core STU6 profile that address such non-laboratory tests. This US Core v6.1.0 profile addresses (USCDI) requirements for Diagnostic Imaging and Clinical Tests Data Classes including all non-laboratory clinical test results (e.g., radiology and other clinical observations generated from procedures). It includes content represented in the previous US Core v5.0.1 and QI-Core STU5 version profiles Clinical Test Result, and Imaging Result:
“Diagnostic Study, Order” should reference orders for studies that will generate results for activities that meet criteria for Observation Clinical Result.
QDM Context | QI-Core STU6 | Comments |
---|---|---|
Diagnostic Study, Order | ServiceRequest | |
ServiceRequest.status | Constrain to active, completed. While QDM does not have an attribute comparable to status, as a conceptual model, status is implied by the name “Diagnostic Stiudy, Order” and “Diagnostic Study, Recommended” datatypes. | |
ServiceRequest.intent | Required to differentiate an order from a recommendation. The intent value set allows such differentiation using “order” for orders and “plan” for recommendation. Constrain only to “order” (include children: original-order, reflex-order, filler-order, instance-order) | |
QDM Attributes | ||
code | ServiceRequest.code | What is requested, extensible binding to US Core Procedure Codes |
id | ServiceRequest.id | |
reason | ServiceRequest.reasonCode | Explanation/justification for procedure or service with extensible binding to US Core Condition Codes |
authorDatetime | ServiceRequest.authoredOn | When the request transitioned to being actionable. |
negationRationale | See Below | |
requester | ServiceRequest.requester | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. The original purpose for the QDM requester attribute was to designate the individual/organization responsible for reporting the measure results is the same individual/organization) that requested the procedure or service. However, clinical software generally tracks the individual user entering data and linking that individual to a clinical role, a specialty, or an organization is not easily accomplished. |
Use QICoreServiceNotRequested and reference the code element specified in the respective observation profile:
Individual studies may use QI Core DiagnosticReport Profile for Report and Note Exchange to provide information about an individual study (e.g., a cardiac ultrasound, MRI, etc.) although some have considered use of other reporting resources and artifacts. Since new studies regularly become available and the nature of existing studies change over time, a complete list of studies to reference a desired result cannot be assured. Therefore, a quality measure or clinical decision support (CDS) artifacts seeking a specific result value should use QICore Observation Clinical Result to request a retrieve of the result value desired. This practice will enable implementers to determine which is the best source for the desired observation. LOINC observable entities may indicate specific methods for determination of results. Measure and CDS developers can reference direct reference codes or value sets using such LOINC codes to specify the type of testing considered acceptable to provide sufficient fidelity to their requests.
QDM Context | QI-Core STU6 | Comments |
---|---|---|
Diagnostic Study, Performed | Observation Clinical Result Profile | |
ObservationClinicalResult.category | Category helps to narrow the request to the class of observation required to meet measure intent. Each QI-Core or US Core profile has a specific binding to concepts appropriate to the respective profile. ClinicalTestResult has a required binding to US Core Clinical Result Observation Category. Note that QDM does not have an attribute comparable to category, the element may be helpful in expressing a quality measure. | |
QDM Attributes | ||
code | ObservationClinicalResult.code | Note specific binding to LOINCCodes |
id | ObservationClinicalResult.id | |
method | ObservationClinicalResult.method | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. Therefore, it is not in the profile Key Elements Table; it can be found in the Snapshot Table tab of the respective profiles. |
facilityLocation | N/A | Although QDM includes this attribute it has not been used in existing measures with respect to “Diagnostic Study, Performed”. There is also no clear element to which to map in the Observation resource |
negationRationale | See Below | |
reason | N/A | There is no comparable concept element in the Observation resource |
relatedTo | ObservationClinicalResult.basedOn | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. Therefore, it is not in the profile Key Elements Table; it can be found in the Snapshot Table tab of the respective profiles |
result | ObservationClinicalResult.value[x] | Result Value |
interpretation | ObservationClinicalResult.interpretation | Explanation of significance of the observation result (e.g., critical, high, low) |
resultDatetime | ObservationClinicalResult.issued | Time observation result made available. |
relevantDatetime | ObservationClinicalResult.effective[x] dateTime | Time observation occurred if a point in time. |
relevantPeriod | ObservationClinicalResult.effective[x] Period | Time observation occurred if it occurs over a period of time. |
status | ObservationClinicalResult.status | Constrain status to - final, amended, corrected. |
authorDatetime | ObservationClinicalResult.issued | Time observation result made available. |
component | ObservationClinicalResult.component | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. Many measures address components of an observation as single elements. Therefore, component is not in the profile Key Elements Table; it can be found in the Snapshot Table tab of the respective profiles |
component.code | ObservationClinicalResult.component.code | See comment about component. |
component.result | ObservationClinicalResult.component.value[x] | See comment about component. |
performer | ObservationClinicalResult.performer | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. The original purpose for the QDM performer attribute was to designate the individual/organization responsible for reporting the measure results is the same individual/organization) that performed the observation or task. However, clinical software generally tracks the individual user entering data and linking that individual to a clinical role, a specialty, or an organization is not easily accomplished. |
Use QICoreObservationCancelled and reference the code element specified in the respective observation profile:
“Diagnostic Study, Recommended” should reference recommendations for studies that will generate results for activities that meet criteria for Observation Clinical Result.
QDM Context | QI-Core STU6 | Comments |
---|---|---|
Diagnostic Study, Recommended | ServiceRequest | |
ServiceRequest.status | Constrain to active, completed. While QDM does not have an attribute comparable to status, as a conceptual model, status is implied by the name “Diagnostic Study, Order” and “Diagnostic Study, Recommended” datatypes. | |
ServiceRequest.intent | Required to differentiate a recommendation from an order. The intent value set allows such differentiation using “order” for orders and “plan” for recommendation. Constrain only to “plan” | |
QDM Attributes | ||
code | ServiceRequest.code | What is requested, extensible binding to US Core Procedure Codes |
id | ServiceRequest.id | |
reason | ServiceRequest.reasonCode | Explanation/justification for procedure or service with extensible binding to US Core Condition Codes |
authorDatetime | ServiceRequest.authoredOn | When the request transitioned to being actionable. |
negationRationale | See Below | |
requester | ServiceRequest.requester | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. The original purpose for the QDM requester attribute was to designate the individual/organization responsible for reporting the measure results is the same individual/organization) that requested the procedure or service. However, clinical software generally tracks the individual user entering data and linking that individual to a clinical role, a specialty, or an organization is not easily accomplished. |
Use QICoreServiceNotRequested and reference the code element specified in the respective observation profile:
QDM defines Encounter as an identifiable grouping of healthcare-related activities characterized by the entity relationship between the subject of care and a healthcare provider; such a grouping is determined by the healthcare provider. A patient encounter represents interaction between a healthcare provider and a patient with a face-to-face patient visit to a clinician’s office, or any electronically remote interaction with a clinician for any form of diagnostic treatment or therapeutic event.
Implementation considerations must be considered when referencing encounter periods (start to end time). Some clinical sites may leave Encounters “open” until all documentation has been completed which may take 72 hours or more. However, the actual encounter may have lasted for a much shorter time period (e.g., 15 minutes for an ambulatory encounter). This issue is addressed in The Office of the National Coordinator for Health IT (ONC) Issue Tracking System as item QDM-235. Two approaches clinical sites have used to manage this issue include:
Include a patient check-in and check-out time as part of the visit documentation. These times represent when the patient arrives and leaves, respectively, and these times are used for the Encounter relevant period. However, patient arrival at a location does not necessarily mean the start of the encounter (e.g. a patient arrives an hour earlier than he or she is actually seen by a practitioner).
Default an Encounter end as 23:59 on the date of the Encounter date if it is left open to allow completion of documentation and update the end time if the practitioner closing the chart enters a specific time that the encounter ended.
Undoubtedly, other clinical sites have implemented other solutions to documenting end times for ambulatory visits. Quality measure and clinical decision support (CDS) artifact authors should consider such issues when testing the validity and reliability of retrieved responses to data queries.
Encounter.period provides the start and stop times of an encounter. Some measures require specific reference to encounter admissionTime while others require reference to a concept called arrivalTime. The meaning of Encounter.period start cannot reference both timings. Therefore, by convention and based on previous discussions with various HL7 workgroups, Encounter.period startTime represents admissionTime for hospitalizations. Therefore, to reference arrivalTime QDM and QI-Core use Encounter.location to indicate the physical place where the initial encounter services occur, and Encounter.location.period to indicate the arrivalTime and the departureTime. Thus, the measure query can differentiate between admissionTime used to determine length of stay and arrivalTime used to indicate when the patient presented for care at the location which is prior to the formal completion of the admission process
An an example of an encounter can be found here
Previous versions of QI-Core have used the Encounter.diagnosis relement to reference to the list of diagnosis/diagnoses and procedures relevant to the encounter. The Encounter.diagnosis.usevalue helped to differentiates if the diagnosis or procedure role with respect to the encounter, e.g., the admission diagnosis (AD), the discharge diagnosis (DD), the chief complaint (CC), a comorbidity diagnosis (CM), a pre-op diagnosis (pre-op), a post-op diagnosis (post-op) or a billing diagnosis (billing). Further, principal diagnosis was specified by Encounter.diagnosis.use= billing, and Encounter.diagnosis.rank- 1 with similar modeling for principal procedures. Further prior versions of QI-Core identified present on admission (POA) using Encounter.diagnosis.onAdmission.
Feedback from implementers and standards experts indicated that concepts such as principal diagnosis, principal procedure, and present on admission were more appropriately retrieved using the Claim profile Medical record coders review documentation and work with physicians to provide the adjudicated determination of what represents a principal diagnosis, a principal procedure, and the final present on admission flag for each diagnosis. Therefore, the Claim.diagnosis.sequence = 1 plus Claim.diagnosis.diagnosis[x] defines a principal diagnosis. The Claim.diagnosis.onAdmission plus Claim.diagnosis.diagnosis[x] defines which diagnoses are present on admission. The Claim.procedure.sequence = 1 plus Claim.procedure.procedure[x] defines a principal diagnosis.
For this reason, QI-Core STU6 no longer includes Encounter.diagnosis in the Key Element Table of the profile. This QI-Core version aligns with the US Core 6.1.0 using Encounter.reasonCode and Encounter.reasonReference for diagnoses or procedures managed during an encounter. Note the Encounter.reasonCode preferred binding to Encounter Reason Code value set allows use of SNOMED-CT clinical findings, procedures, context-dependent categories, and events; Encounter.reasonReference allows reference to QICore ConditionProblemsHeatlhConcerns, QICore ConditionEncounterDiagnosis, QICore Procedure, QICore SimpleObservation, and QICore ImmunzationRecommendation.
QDM Context | QI-Core STU6 | Comments |
---|---|---|
Encounter, Order | ServiceRequest | |
ServiceRequest.status | Constrain to active, completed. While QDM does not have an attribute comparable to status, as a conceptual model, status is implied by the name “Encounter, Order” and “Encounter, Recommended” datatypes. | |
ServiceRequest.intent | Required to differentiate an order from a recommendation. The intent value set allows such differentiation using “order” for orders and “plan” for recommendation. Constrain only to “order” (include children: original-order, reflex-order, filler-order, instance-order) | |
QDM Attributes | ||
code | ServiceRequest.code | What is requested, extensible binding to US Core Procedure Codes |
id | ServiceRequest.id | |
reason | ServiceRequest.reasonCode | Explanation/justification for procedure or service with extensible binding to US Core Condition Codes |
authorDatetime | ServiceRequest.authoredOn | When the request transitioned to being actionable. |
facilityLocation | ServiceRequest.locationCode | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. The original purpose for the QDM “Encounter, Requested” location attribute was to differentiate where an encounter is expected to take place. Discussions with standards experts and vendor implementers at HL7 meetings indicate the request for an encounter should use the scheduling and/or appointment process (these are two different resources in HL7 FHIR). Only in those resources would the concept of the expected location. While the ServiceRequest resource includes a locationCode element with example binding to the ServiceDeliveryLocationRoleType, the QI-Core ServiceRequest profile does not include the item in the Key Element Tale. |
priority | ServiceRequest.modifierExtension:isElective | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. The original purpose for the QDM “Encounter, Requested” priority attribute was to differentiate elective encounters from non-elective encounters. Discussions with standards experts and vendor implementers at HL7 meetings indicate the request for an encounter should use the scheduling and/or appointment process (these are two different resources in HL7 FHIR). Only in those resources would the concept of priority be identified. Thus, the concept is not a clinical one. A procedure may have a priority but not an encounter. Therefore, the QI-Core ServiceRequest profile does not include the modifierExtension:isElective in the Key Element Tale. |
negationRationale | See Below | |
requester | ServiceRequest.requester | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. The original purpose for the QDM requester attribute was to designate the individual/organization responsible for reporting the measure results is the same individual/organization that requested the procedure or service. However, clinical software generally tracks the individual user entering data and linking that individual to a clinical role, a specialty, or an organization is not easily accomplished. |
Use QICoreServiceNotRequested, which contains:
QDM Context | QI-Core STU6 | Comments |
---|---|---|
Encounter, Performed | Encounter | |
Encounter.status | Constrain to - arrived, triaged, in-progress, on-leave, finished Note: most retrospective eCQMs will constrain Encounter.status to “finished”. Measures designed to monitor active encounters should consider using “in-progress”. While QDM does not have an attribute comparable to status, as a conceptual model, status is implied by the name “Encounter, Performed”. | |
QDM Attribute | ||
code | Encounter.type | Uses extensible binding to value set: USCoreEncounterType |
id | Encounter.id | |
class | Encounter.class | Classification of the encounter (e.g., ambulatory, hospital, virtual) with extensible binding to value set: ActEncounterCode |
relatedTo | Encounter.basedOn | Prior versions of QI-Core included a Must Support for basedOn to reference the ServiceRequest generating the encounter. However, there has been no use of this element. Therefore, it no longer appears in the Encounter profile Key Element Table. |
relevantPeriod | Encounter.period | start and end time of encounter |
diagnoses | ||
diagnosis (code) | Encounter.reasonCode or Encounter.reasonReference |
Encounter.reasonCode has preferred binding to Encounter Reason Code value set. Encounter.reasonReference allows reference to QICore ConditionProblemsHeatlhConcerns, QICore ConditionEncounterDiagnosis, QICore Procedure, QICore SimpleObservation, and QICore ImmunzationRecommendation. |
presentOnAdmissionIndicator (code) | Claim.diagnosis.onAdmission plus Claim.diagnosis.diagnosis[x] defines which diagnoses are present on admission. |
Indicator of whether the Encounter diagnosis was present at the time of admission. Note: this element uses the value set (required) diagnosis-on-admission (the same value set as used with the claim resource) |
rank (Integer) | Different from prior QI-Core versions, QI-Core STU6 defines the following concepts: * principal diagnosis is Claim.diagnosis.sequence = 1 plus Claim.diagnosis.diagnosis[x] * principal procedure is Claim.procedure.sequence = 1 plus Claim.procedure.procedure[x] |
Note change in QI-Core STU6 |
procedures | Encounter.reasonCode or Encounter.reasonReference |
[Encounter.reasonCode has preferred binding to Encounter Reason Code value set. Encounter.reasonReference allows reference to QICore ConditionProblemsHeatlhConcerns, QICore ConditionEncounterDiagnosis, QICore Procedure, QICore SimpleObservation, and QICore ImmunzationRecommendation. |
lengthOfStay | Encounter.length | The QDM concept length of stay is expressed using CQL expressions rather than a specific Encounter profile element. Therefore, this element is no longer included in the Encounter profile Key Element Table. |
authorDatetime | Not Addressed | This QDM attribute is not addressed in the FHIR resource. And encounter occurs or it does not. |
admissionSource | Encounter.hospitalization.admitSource | The QDM concept hospital admission source has not been used in CMS measures to-date. In an effort to streamline QI-Core STU6, this element is no longer included in the Encounter profile Key Element Table. It is available from the Snapshot Table but it is not clear that the information is available in clinical records even though it may be in administrative records. |
dischargeDisposition | Encounter.hospitalization.dischargeDisposition | Category or kind of location to which the patient is discharged. E.g., home, hospice, long-term care, etc. |
facilityLocations | ||
code | Encounter.location.location | The location the encounter takes place. |
locationPeriod | Encounter.location.period | The time during which the patient is present at a specific location. Measures use the location period to identify the arrival and departure times for a location, distinguishing those times from the Encounter.period which provides a hospital admissionTime and dischargeTime. |
participant | Encounter.participant.individual | QDM includes this attribute to designate the individual responsible the patient’s care during this encounter. However, any given encounter may have more than one participant so using this element to specify attribution of care is challenging. Further clinical software generally tracks the individual user entering data and linking that individual to a clinical role, a specialty, or an organization is not easily accomplished. Therefore, QI-Core STU 6 has removed this element from the Key Elements Table. It is not used in measures to-date. |
Encounter.serviceProvider | Encounter.serviceProvider identifies the organization that is primarily responsible for the Encounter’s services. Since US Core Encounter includes serviceProvider as a USCDI element, QI-Core STU 6 includes Encounter.serviceProvider in the Key Elements Table. Unlike details about a participant, the organization responsible for the encounter should be available. |
QDM Context | QI-Core STU6 | Comments |
---|---|---|
Encounter, Recommended | ServiceRequest | |
ServiceRequest.status | Constrain to active, completed. While QDM does not have an attribute comparable to status, as a conceptual model, status is implied by the name “Encounter, Order” and “Encounter, Recommended” datatypes. | |
ServiceRequest.intent | Required to differentiate a recommendation from an order. The intent value set allows such differentiation using “order” for orders and “plan” for recommendation. Constrain only to “plan” | |
QDM Attributes | ||
code | ServiceRequest.code | What is requested, extensible binding to US Core Procedure Codes |
id | ServiceRequest.id | |
reason | ServiceRequest.reasonCode | Explanation/justification for procedure or service with extensible binding to US Core Condition Codes |
authorDatetime | ServiceRequest.authoredOn | When the request transitioned to being actionable. |
facilityLocation | ServiceRequest.locationCode | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. The original purpose for the QDM “Encounter, Requested” location attribute was to differentiate where an encounter is expected to take place. Discussions with standards experts and vendor implementers at HL7 meetings indicate the request for an encounter should use the scheduling and/or appointment process (these are two different resources in HL7 FHIR). Only in those resources would the concept of the expected location. While the ServiceRequest resource includes a locationCode element with example binding to the ServiceDeliveryLocationRoleType, the QI-Core ServiceRequest profile does not include the item in the Key Element Tale. |
priority | ServiceRequest.modifierExtension:isElective | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. The original purpose for the QDM “Encounter, Requested” priority attribute was to differentiate elective encounters from non-elective encounters. Discussions with standards experts and vendor implementers at HL7 meetings indicate the request for an encounter should use the scheduling and/or appointment process (these are two different resources in HL7 FHIR). Only in those resources would the concept of priority be identified. Thus, the concept is not a clinical one. A procedure may have a priority but not an encounter. Therefore, the QI-Core ServiceRequest profile does not include the modifierExtension:isElective in the Key Element Tale. |
negationRationale | See Below | |
requester | ServiceRequest.requester | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. The original purpose for the QDM requester attribute was to designate the individual/organization responsible for reporting the measure results is the same individual/organization that requested the procedure or service. However, clinical software generally tracks the individual user entering data and linking that individual to a clinical role, a specialty, or an organization is not easily accomplished. |
Use QICoreServiceNotRequested, which contains:
QDM defines Family History as a diagnosis or problem experienced by a family member of the patient. Typically, a family history will not contain very much detail, but the simple identification of a diagnosis or problem in the patient’s family history may be relevant to the care of the patient.
QDM Context | QI-Core STU6 | Comments |
---|---|---|
Family History | FamilyMemberHistory | |
FamilyMemberHistory.status | While QDM does not have an attribute comparable to status, as a conceptual model, status is required for us of most QI-Core profiles. Constrain to partial, completed | |
QDM Attributes | ||
code | FamilyMemberHistory.condition.code | Condition suffered by relation. Extensible binding to Condition/Problem/DiagnosisCodes |
id | FamilyMemberHistory.id | |
authorDatetime | FamilyMemberHistory.date | When history was recorded or last updated |
relationship | FamilyMemberHistory.relationship | Relationsip to the subject. Preferred binding to FamilyMember |
recorder | N/A | There is no comparable element in the FHIR FamilyMemberHistory resource and there is no use case evident for such information |
QDM defines Immunization as vaccines administered to patients in healthcare settings but does not include non-vaccine agents. The FHIR Immunization Recommendation resource is specifically designed to provide an immunization forecast from a forecasting engine to a provider, basically to carry clinical decision support recommendations specific to immunizations and, therefore, is not consistent with the intent of the QDM datatype “Immunization, Order” or “Immunization, Administered.” The FHIR Immunization Evaluation references an appraisal of an immunization that was administered to determine if it is valid with respect to the expected immunization schedule. The US Core Immunization profile is most consistent with the QDM datatype Immunization, Administered. The mapping tables provided include mapping from QDM Immunization, Administered and a reference to the FHIR Immunization Evaluation resource. Note, the mapping table includes additional metadata about immunizations that QDM does not address, but that may be relevant to quality measures or clinical decision support (CDS) artifacts.
QDM Context | QI-Core STU6 | Comments |
---|---|---|
Immunization, Administered | Immunization | |
Immunization.status | While QDM does not have an attribute comparable to status, as a conceptual model, status is implied by the name “Immunization, Administered”. Constrain to “completed” | |
QDM Attributes | ||
code | Immunization.vaccineCode | Vaccine product type with extensible binding to CVX Vaccines Administered Value Set. |
id | Immunization.id | |
dosage | Immunization.doseQuantity | Amount of vaccine administered. In most measure use cases, immunization dose is not required. Therefore, this element is not present in the QI-Core profile Key Elements Table. |
negationRationale | See Below | |
route | Immunization.route | How the vaccine entered the body. In most measure use cases, immunization route is not required. Therefore, this element is not present in the QI-Core profile Key Elements Table. |
reason | Immunization.reasonCode | Why the immunization occurred. In most measure use cases, immunization rationale is not required. Therefore, this element is not present in the QI-Core profile Key Elements Table. |
relevantDatetime | Immunization.occurrence[x] | Vaccine administration date. |
authorDatetime | Immunization.recorded | When the immunization was first captured in the subject’s record, This QDM attribute is most useful for the negation rationale use case – i.e., documentation why an immunization did not happen. Since the meaning is the timing of information capture, this element may also not be helpful to determine when vaccines given elsewhere were administered. |
performer | Immunization.performer.actor | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. The original purpose for the QDM performer attribute was to designate the individual/organization responsible for reporting the measure results is the same individual/organization that requested the procedure or service. However, clinical software generally tracks the individual user entering data and linking that individual to a clinical role, a specialty, or an organization is not easily accomplished. |
Use QICoreImmunizationNotDone, which contains:
This QDM context references the QI-Core MedicationRequest profile as there is no other FHIR resource to reference an order for an immunization. The mapping uses the QI-Core MedicationRequest resource with the MedicationRequest.intent = order and MedicationRequest.setting set to the setting most appropriate for the intended meaning of the quality measure or clinical decision support (CDS) expression.
QDM Context | QI-Core STU6 | Comments |
---|---|---|
Immunization, Order | MedicationRequest | |
MedicationRequest.status | While QDM does not have an attribute comparable to status, as a conceptual model, status is implied by the name “Immunization, Order”. Constrain to active, completed. | |
MedicationRequest.intent | Required to differentiate an order from a recommendation. The intent value set allows such differentiation using “order” for orders and “plan” for recommendation. Constrain only to “order” (include children: original-order, reflex-order, filler-order, instance-order) | |
QDM Attributes | ||
code | MedicationRequest.medication[x] | The QDM “Immunization, Order” datatype uses the QI-Core MedicationRequest profile which has an extensible binding to MedicationClinicalDrug (RxNorm). For Immunizations, can use the same Vaccine product type with extensible binding to CVX Vaccines Administered Value Set as with “Immunization, Administered”. |
id | MedicationRequest.id | |
activeDatetime | MedicationRequest.dosageInstruction.timing with Timing.repeat.bounds[x] Period |
QDM defines active dateTime as when the order indicates the first immunization administration should occur. Active dateTime is most often used to specify immunizations for which administration is intended at a specific time in the future. FHIR allows specification of the period during which the immunization should occur (start dateTime to end dateTime) |
authorDatetime | MedicationRequest.authoredOn | |
dosage | MedicationRequest.dosageInstruction.doseAndRate.dose[x] | Amount of medication to be administered. Range, quantity |
route | MedicationRequest.dosageInstruction.route | How drug should enter body. |
reason | MedicationRequest.reasonCode | The reason for ordering or not ordering the medication. This element has not been used by existing quality measures. It is not present in the QI-Core profile Key Elements Table. |
supply | MedicationRequest.dispenseRequest.quantity | Amount to be dispensed in one fill |
negationRationale | See Below | |
requester | MedicationRequest.requester | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. The original purpose for the QDM performer attribute was to designate the individual/organization responsible for reporting the measure results is the same individual/organization that requested the procedure or service. However, clinical software generally tracks the individual user entering data and linking that individual to a clinical role, a specialty, or an organization is not easily accomplished. |
Use QICoreMedicationNotRequested, which contains:
QDM’s approach to defining information about participants In the healthcare process by defining Individual Characteristics. These properties of a patient, clinician, provider, or facility include demographics, behavioral factors, social or cultural factors, available resources, and preferences. Behaviors reference responses or actions that affect (either positively or negatively) health or healthcare. Included in this category are mental health issues, adherence issues unrelated to other factors or resources, coping ability, grief issues, and substance use/abuse. Social/cultural factors are characteristics of an individual related to family/caregiver support, education, and literacy (including health literacy), primary language, cultural beliefs (including health beliefs), persistent life stressors, spiritual and religious beliefs, immigration status, and history of abuse or neglect. Resources are means available to a patient to meet health and healthcare needs, which might include caregiver support, insurance coverage, financial resources, and community resources to which the patient is already connected and from which the patient is receiving benefit. Preferences are choices made by patients and their caregivers relative to options for care or treatment (including scheduling, care experience, and meeting of personal health goals) and the sharing and disclosure of their health information.
FHIR more effectively represents these concepts in the Level 3 Administration Module – base data that is linked into other modules for clinical content, finance/billing, workflow, etc. The Administration Module specifies information about the patient, related person, practitioner and organization that is the basis of healthcare-related interactions such as encounters. QDM version 5.5 adopted a similar approach to such information by adding a new concept called Entities. Entities represent concepts that can be used to specify details about an actor (or performer) participant in any activity represented by a QDM datatype. These entities are analogous to the FHIR resources Patient, RelatedPerson, Practitioner, and Organization, respectively called Patient, CarePartner, Practitioner and Organization in QDM. The mapping tables show these direct relationships to FHIR resources. However, to maintain backward compatibility with prior QDM versions, QDM 5.5 retains the concept of Patient Characteristics for some metadata about a patient; most of these characteristics map directly to metadata elements in the FHIR Patient resource. QDM 5.5 removed the Provider Characteristics QDM datatype in favor of the Practitioner and Organization entities since there had been little, if any, use of these QDM elements.
Accommodating patient-related metadata requires QI-Core extensions for several elements including:
QDM 5.5 also added a new QDM datatype Related Person to allow reference to an individual who has a personal or non-healthcare-specific professional relationship with a patient. Modeled the same as the CarePartner entity, the Related Person is an individual from whose record clinical information should be retrieved to support care provided to the index patient.
Example 1: An infant’s gestational age at the time of birth may be calculated as the difference between the days between the mother’s estimated date of delivery (EDD) and the actual birth date. The mother’s EDD might be entered directly on the infant’s record as an observable entity about a Related Person (the infant’s mother). Alternatively, a cross-context query might request the information from the Related Person’s (mother’s) record.
Example 2: An organ recipient risk factor may include a donor’s positive Hepatitis C antibody result. The result relates to the donor (Related Person) whether that result is present on the recipient’s record or if the a cross-context query to the donor’s record retrieves the information.
QDM Entities & Attributes | QI-Core STU6 | Comment |
---|---|---|
Patient | Patient | |
identifier | Patient.identifier.value | |
id | Patient.id | |
Care Partner | RelatedPerson | Related Person |
identifier | RelatedPerson.identifier | |
id | RelatedPerson.id | |
relationship | RelatedPerson.relationship | |
Practitioner | Practitioner | |
identifier | Practitioner.identifier (or specific practitioner identifier types: Practitioner.identifier:ein) |
|
id | Practitioner.id | |
role | PractitionerRole.code | |
specialty | PractitionerRole.specialty | |
qualification | Practitioner.qualification.code | |
Organization | Organization | |
identifier | Organization.identifier (or specific organizational identifier types: Organization.identifier:ccn, Organization.identifier:ein) |
|
id | Organization.id | |
organizationType | Organization.type | QDM attribute name update in QDM 5.6 |
Location | Location | New in QDM 5.6 |
identifier | Location.identifier.value | New in QDM 5.6 |
id | Location.id | New in QDM 5.6 |
locationType | Location.type | New in QDM 5.6 |
QDM Attribute | QI-Core STU6 | Comments |
---|---|---|
Race | See US CoreRaceExtension for details | |
code | Patient.extension:race | |
id | ||
Ethnicity | ||
code | Patient.extention:ethnicity | See US CoreEthnicityExtension for details |
id | ||
Sex | ||
code | Patient.extension:birthsex | |
Code | Patient.extension:us-core-sex | Required binding to Sex |
code | Patient.gender | Administrative Gender |
id | ||
Birthdate | ||
birthDatetime | Patient.birthdate | Fixed code 21112-8 |
id | ||
Clinical Trial Participant | Clinical Trial Participant should be handled as an Observation (i.e., Assessment, Performed) in QDM rather than a Patient Characteristic | |
Expired | ||
code | Patient.deceased[x] boolean | |
id | ||
cause | Expiration cause requires use of Observation | |
expirationDatetime | Patient.deceased[x] dateTime | |
Payer | Coverage | |
code | Coverage.payor | QI-Core currently maps to policy holder which actually references the person who owns the policy, not the payor. |
relevantPeriod | Coverage.period | |
id | Coverage.id | |
Patient Characteristic (generic) | ||
N/A | Requires definition for modeling a characteristic to QI-Core and FHIR |
QDM Attribute | QI-Core STU6 | Comments |
---|---|---|
Related Person | RelatedPerson | |
identifier | RelatedPerson.identifier | |
id | RelatedPerson.id | |
linkedPatientId | N/A | Not present in QI-Core |
code | RelatedPerson.relationship | The nature of the relationship; preferred binding to PatientRelationshipType |
QDM defines Intervention as a course of action intended to achieve a result in the care of persons with health problems that does not involve direct physical contact with a patient. Examples include patient education and therapeutic communication.
FHIR references both of these concepts using the Procedure resource, specifically noting a process that involves verification of the patient’s comprehension or to change the patient’s mental state would be a Procedure. Therefore, both QDM datatypes, Procedure and Intervention are included in this section of the QDM to QI-Core mapping especially since all of the QDM attributes for each of these QDM datatypes are identical.
QDM Context | QI-Core STU6 | Comments |
---|---|---|
Intervention, Performed | Procedure | |
QDM Attributes | ||
status | Procedure.status | While QDM does not have an attribute comparable to status, as a conceptual model, status is implied by the QDM datatype name “Procedure, Performed”. Constrain to “completed” |
code | Procedure.code | Identification of the procedure. Extensible binding to US Core Procedure Codes |
id | Procedure.id | |
relatedTo | Procedure.basedOn | A reference to a resource that contains details of the request for this procedure. There has not been a use case for this element in existing measures; therefore, it is not included in the QI-Core profile Key Elements Table. |
method | N/A | Procedure.method does not exist in FHIR. Rather than create an extension, QI-Core’s approach is to assume the Procedure.code includes reference to the method. |
rank | Claim.procedure.sequence | Used to identify a principal procedure in the content of an encounter. See discussion in the QDM “Encounter, Performed” section indicating the rationale for using the Claim profile to identify principal or primary procedures and conditions. |
priority | N/A | This QDM attribute is intended to reference elective from non-elective procedures. See discussion regarding “Encounter, Order” priority which was created to differentiate elective encounters from non-elective encounters. Similar to the encounter discussion, a given procedure is not inherently elective or non-elective, the urgency is based on a patient’s status and other factors. Information about urgency, elective, non-elective may be found a scheduling or appointment application which may generate a tag for a procedure in the clinical record. This item is not present in the FHIR Procedure resource. Measure developers should work with clinical sites to determine the most effective method for identifying procedure priority. |
anatomicalLocationSite | Procedure.bodySite | Target body sites with preferred binding to SNOMEDCT Body Structures. Existing measures have not provided a use case for this element. Therefore, the element does not appear in the QI-Core profile Key Elements Table. |
reason | Procedure.reasonCode | Code reason procedure is performed. Preferred binding to Procedure Reason Codes. |
result | Simple Observation or Observation Clinical Result that includes the element SimpleObservation.partOf to reference the procedure to which it applies. | Procedure.report references DiagnosticReport-note, DocumentReference, Composition (histology result, pathology report, surgical report, etc.); the latter two are not QI-Core resources. However, based on feedback suggested that a procedure result might be better identified as Simple Observation or or Observation Clinical Resultthat includes the element SimpleObservation.partOf resources referencing the ObservatonClinicalResult.partOf, or the SimpleObservation.partOf element to reference the procedure to which it applies. |
negationRationale | See Below | |
relevantDatetime | Procedure.performed[x] dateTime | When the procedure was performed (as a single point in time). |
relevantPeriod | Procedure.performed[x] Period | When the procedure was performed (over a period of time). |
incisionDatetime | Procedure.extension:incisionDateTime | The first incision time. Existing measures do not use this element; therefore, it is not included in the QI-Core profile Key Elements Table. |
authorDatetime | Procedure.extension:recorded | When the procedure was first captured in the subject’s record. This element is useful for historical procedures and for the QDM negation rationale concept. |
Procedure.usedReference Procedure.usedCode |
These elements help to add reference to a device, medication, or substance used as part of a procedure the QI-Core element to address the device is used by the procedure. However, feedback has suggested that implementers prefer a direct, precoordinated code for the procedure that also indicates the type of device used rather than having to connect a specific item/device used to perform the procedure. Thus, while modeling allows usedCode or usedReference, feasibility is very limited. For that reason, these elements are not included in the QI-Core profile Key Elements Table. | |
components | N/A | Procedure does not include component. |
component.code | N/A | N/A |
component.result | N/A | N/A |
performer | Procedure.performer.actor | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. The original purpose for the QDM requester attribute was to designate the individual/organization responsible for reporting the measure results is the same individual/organization that requested the procedure or service. However, clinical software generally tracks the individual user entering data and linking that individual to a clinical role, a specialty, or an organization is not easily accomplished |
Use QICoreProcedureNotDone, which contains:
QDM Context | QI-Core STU6 | Comments |
---|---|---|
Intervention, Order | ServiceRequest | |
ServiceRequest.status | Constrain to active, completed. While QDM does not have an attribute comparable to status, as a conceptual model, status is implied by the name “Intervention, Order” and “Intervention, Recommended” datatypes. | |
ServiceRequest.intent | Required to differentiate an order from a recommendation. The intent value set allows such differentiation using “order” for orders and “plan” for recommendation. Constrain only to “order” (include children: original-order, reflex-order, filler-order, instance-order) | |
QDM Attributes | ||
code | ServiceRequest.code | What is requested, extensible binding to US Core Procedure Codes |
id | ServiceRequest.id | |
reason | ServiceRequest.reasonCode | Explanation/justification for procedure or service with extensible binding to US Core Condition Codes |
authorDatetime | ServiceRequest.authoredOn | When the request transitioned to being actionable. |
negationRationale | See Below | |
requester | ServiceRequest.requester | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. The original purpose for the QDM requester attribute was to designate the individual/organization responsible for reporting the measure results is the same individual/organization) that requested the procedure or service. However, clinical software generally tracks the individual user entering data and linking that individual to a clinical role, a specialty, or an organization is not easily accomplished. |
Use QICoreServiceNotRequested and reference the code element specified in the respective observation profile:
QDM Context | QI-Core STU6 | Comments |
---|---|---|
Intervention, Recommended | ServiceRequest | |
ServiceRequest.status | Constrain to active, completed. While QDM does not have an attribute comparable to status, as a conceptual model, status is implied by the name “Intervention, Order” and “Intervention, Recommended” datatypes. | |
ServiceRequest.intent | Required to differentiate a recommendation from an order. The intent value set allows such differentiation using “order” for orders and “plan” for recommendation. Constrain only to “plan” | |
QDM Attributes | ||
code | ServiceRequest.code | What is requested, extensible binding to US Core Procedure Codes |
id | ServiceRequest.id | |
reason | ServiceRequest.reasonCode | Explanation/justification for procedure or service with extensible binding to US Core Condition Codes |
authorDatetime | ServiceRequest.authoredOn | When the request transitioned to being actionable. |
negationRationale | See Below | |
requester | ServiceRequest.requester | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. The original purpose for the QDM requester attribute was to designate the individual/organization responsible for reporting the measure results is the same individual/organization that requested the procedure or service. However, clinical software generally tracks the individual user entering data and linking that individual to a clinical role, a specialty, or an organization is not easily accomplished. |
Use QICoreServiceNotRequested and reference the code element specified in the respective observation profile:
QDM defines Laboratory Test as a medical procedure that involves testing a sample of blood, urine, or other body fluids or specimens. Tests can help determine a diagnosis, plan treatment, check to see if treatment is working, or monitor the disease over time. This QDM data category for Laboratory Test is only used for information about the subject of record.
Rather than directly referencing the US Core Laboratory Result Observation Profile, QI-Core 5.0.0 builds on that profile to add further constraint requirements as QICore Laboratory Result Observation. The reason for this approach is to assure the profile Key Element Table includes elements such as interpretation, specific result datatypes, and additional constraints.
Each laboratory test may be ordered individually or in a panel. Many use panels for convenience for ordering laboratory tests. Since new laboratory panels regularly become available and the myriad of potential laboratory panels available, a complete list cannot be assured. LOINC observable entities may indicate specific methods for determination of results. Measure and CDS developers can reference direct reference codes or value sets using such LOINC codes to specify the type of testing considered acceptable to provide sufficient fidelity to their requests.
“Laboratory Test, Order” should reference orders for studies that will generate results for activities that meet criteria for Observation Lab Result.
QDM Context | QI-Core STU6 | Comments |
---|---|---|
Laboratory Test, Order | ServiceRequest | |
ServiceRequest.status | Constrain to active, completed. While QDM does not have an attribute comparable to status, as a conceptual model, status is implied by the name “Laboratory Test, Order” and “Laboratory Test, Recommended” datatypes. | |
ServiceRequest.intent | Required to differentiate an order from a recommendation. The intent value set allows such differentiation using “order” for orders and “plan” for recommendation. Constrain only to “order” (include children: original-order, reflex-order, filler-order, instance-order) | |
QDM Attributes | ||
code | ServiceRequest.code | What is requested, extensible binding to US Core Procedure Codes |
id | ServiceRequest.id | |
reason | ServiceRequest.reasonCode | Explanation/justification for procedure or service with extensible binding to US Core Condition Codes |
authorDatetime | ServiceRequest.authoredOn | When the request transitioned to being actionable. |
negationRationale | See Below | |
requester | ServiceRequest.requester | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. The original purpose for the QDM requester attribute was to designate the individual/organization responsible for reporting the measure results is the same individual/organization that requested the procedure or service. However, clinical software generally tracks the individual user entering data and linking that individual to a clinical role, a specialty, or an organization is not easily accomplished. |
Use QICoreServiceNotRequested and reference the code element specified in the respective observation profile:
QDM Context | QI-Core STU6 | Comments |
---|---|---|
Laboratory Test, Performed | Laboratory Result Observation | |
Observation.status | Category helps to narrow the request to the class of observation required to meet measure intent. Each QI-Core or US Core profile has a specific binding to concepts appropriate to the respective profile. For Laboratory Result Observations, the element has required binding to US Core Clinical Result Observation Category with Fixed Value: laboratory. Note that QDM does not have an attribute comparable to category, the element may be helpful in expressing a quality measure. | |
QDM Attribute | ||
code | Observation.code | Note specific bindings based on the QI-Core or US Core profile used. |
id | Observation.id | |
method | Observation.method | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. Therefore, it is not in the profile Key Elements Table; it can be found in the Snapshot Table tab of the respective profiles. |
negationRationale | See Below | |
reason | Observation.basedOn | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. Therefore, it is not in the profile Key Elements Table; it can be found in the Snapshot Table tab of the respective profiles. |
result | Observation.value[x] | |
interpretation | Observation.interpretation | Explanation of significance of the observation result (e.g., critical, high, low). |
relatedTo | Observation.partOf | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. Therefore, it is not in the profile Key Elements Table; it can be found in the Snapshot Table tab of the respective profiles. |
resultDatetime | Observation.issued | Time observation result made available. |
relevantDatetime | Observation.effective[x] | Time observation occurred if a point in time. |
relevantPeriod | Observation.effective[x] | Time observation occurred if it occurs over a period of time. |
status | Observation.status | Constrain status to - final, amended, corrected. While QDM does not have an attribute comparable to status, as a conceptual model, status is implied by the name “Assessment, Performed” datatype. |
authorDatetime | Observation.issued | Time observation result made available. |
referenceRangeHigh | Observation.referenceRange.high | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. Therefore, it is not in the profile Key Elements Table; it can be found in the Snapshot Table tab of the respective profiles. |
referenceRangeLow | Observation.referenceRange.low | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. Therefore, it is not in the profile Key Elements Table; it can be found in the Snapshot Table tab of the respective profiles. |
component | Observation.component | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. Many measures address components of a panel of simple observations as single elements. Therefore, component is not in the profile Key Elements Table; it can be found in the Snapshot Table tab of the respective profiles |
component.code | Observation.component.code | See comment about component. |
component.result | Observation.component.value[x] | See comment about component. |
component.referenceRangeHigh | Observation.component.referenceRange | See comment about component. |
component.referenceRangeLow | Observation.component.referenceRange | See comment about component. |
performer | Observation.performer | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. The original purpose for the QDM performer attribute was to designate the individual/organization responsible for reporting the measure results is the same individual/organization that performed the observation or task. However, clinical software generally tracks the individual user entering data and linking that individual to a clinical role, a specialty, or an organization is not easily accomplished. |
Use QICoreObservationCancelled and reference the code element specified in the respective observation profile:
QDM Context | QI-Core STU6 | Comments |
---|---|---|
Laboratory Test, Recommended | ServiceRequest | |
ServiceRequest.status | Constrain to active, completed. While QDM does not have an attribute comparable to status, as a conceptual model, status is implied by the name “Laboratory Test, Order” and “Laboratory Test, Recommended” datatypes. | |
ServiceRequest.intent | Required to differentiate a recommendation from an order. The intent value set allows such differentiation using “order” for orders and “plan” for recommendation. Constrain only to “plan” | |
QDM Attributes | ||
code | ServiceRequest.code | What is requested, extensible binding to US Core Procedure Codes |
id | ServiceRequest.id | |
reason | ServiceRequest.reasonCode | Explanation/justification for procedure or service with extensible binding to US Core Condition Codes |
authorDatetime | ServiceRequest.authoredOn | When the request transitioned to being actionable. |
negationRationale | See Below | |
requester | ServiceRequest.requester | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. The original purpose for the QDM requester attribute was to designate the individual/organization responsible for reporting the measure results is the same individual/organization that requested the procedure or service. However, clinical software generally tracks the individual user entering data and linking that individual to a clinical role, a specialty, or an organization is not easily accomplished. |
Use QICoreServiceNotRequested and reference the code element specified in the respective observation profile:
QDM defines Medication as clinical drugs or chemical substances intended for use in the medical diagnosis, cure, treatment, or prevention of disease. Medications are defined as direct referenced values or value sets containing values derived from code systems such as RxNorm. QDM defines five contexts for Medication, each of which is listed below referencing the US Core or FHIR resource which provides the expected context:
This QDM context correlates with a medication on a patient’s active medication list. In QI-Core STU3, Medication, Active was mapped to MedicationStatement. However, consistent with US Core R4 Update, medication list should use MedicationRequest and not MedicationStatement. The mapping table provides guidance about how to use MedicationRequest.requester to specify medications ordered directly, those reported by a physician and those reported by the patient for a medication list.
The MedicationRequest SHALL include all prescribed and “self-prescribed” medications reported by the Provider, Patient or Related Person.
QDM Context | QI-Core STU6 | Comments |
---|---|---|
Medication, Active | MedicationRequest | |
MedicationRequest.status | While QDM does not have an attribute comparable to status, as a conceptual model, status is implied by the name “Medication, Order”. Constrain to active, completed | |
MedicationRequest.intent | Required to differentiate an order from a recommendation. The intent value set allows such differentiation using “order” for orders and “plan” for recommendation. Constrain only to “order” (include children: original-order, reflex-order, filler-order, instance-order) | |
MedicationRequest.reported[x] | When recording “self-prescribed” medications SHALL use reported[x] to indicate the MedicationRequest record was captured as a secondary “reported” record rather than an original primary source-of-truth record | |
MedicationRequest.category | Type of medication usage using Medication Category Codes | |
QDM Attribute | ||
code | MedicationRequest.medication[x] | Medication to be taken an extensible binding to MedicationClinicalDrug (RxNorm). |
id | MedicationRequest.id | |
dosage | MedicationRequest.dosageInstruction.doseAndRate.dose[x] | Amount of medication per dose |
frequency | MedicationRequest.dosageInstruction.timing | Amount of medication to be administered. Range, quantity |
route | MedicationRequest.dosageInstruction.route | How drug should enter body |
MedicationRequest.reasonCode | The reason for ordering or not ordering the medication. This element has not been used to-date in quality measures; it is not included in the QI-Core profile Key Elements Table | |
relevantDatetime | MedicationRequest.dosageInstruction.timing with Timing.event dateTime |
Timing – when medication should be administered; Timing.event when the event occurs |
relevantPeriod | MedicationRequest.dosageInstruction.timing with Timing.repeat.bounds[x] Period |
Length/Range of lengths, or (Start and/or End) limits |
MedicationRequest.authoredOn | When request was originally authored. Not referenced in QDM | |
recorder | MedicationRequest.requester | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. The original purpose for the QDM performer attribute was to designate the individual/organization responsible for reporting the measure results is the same individual/organization that requested the procedure or service. However, clinical software generally tracks the individual user entering data and linking that individual to a clinical role, a specialty, or an organization is not easily accomplished. |
This QDM context correlates with a record of a patient consuming or otherwise being administered a medication. It references individual medication administration events and, therefore, may not reference frequency of administration. Note that a separate QDM and US Core profile address Immunization, Administered.
QDM Context | QI-Core STU6 | Comments |
---|---|---|
Medication, Administered | MedicationAdministration | |
MedicationAdministration.status | While QDM does not have an attribute comparable to status, as a conceptual model, status is implied by the name “Medication, Administered”. Constrain status to “In-progress” or “completed” Note: Measures that look for evidence of potential adverse events might use MedicationAdministration.status = on-hold, or stopped as possible indicators of such events. | |
MedicationAdministration.category | Type of medication usage using Medication Category Codes. Allows specification of Inpatient, Outpatient, Community | |
QDM Attributes | ||
code | MedicationAdministration.medication[x] | Medication to be taken an extensible binding to MedicationClinicalDrug (RxNorm). |
id | MedicationAdministration.id | |
dosage | MedicationAdministration.dosage.dose | Simple Quantity - Amount of medication for one administration |
route | MedicationAdministration.dosage.route | Path of substance into the body with preferred binding to SNOMEDCT Route Codes. |
frequency | MedicationAdministration.request | Reference to original MedicationRequest with content about prescription. Generally, retrieval of medication administration events applies to the hospital setting with a few exceptions. Linkage to the original authorizing prescription has not been considered relevant for the existing measure use cases requiring only to retrieve information about one or more administration events. |
MedicationAdministration.dosage.rate[x] | The rate, dose quantity per unit of time (e.g., infusion rate). This element has not been the focus of measures to date, therefore, it is not included in the QI-Core profile Key Elements Table. | |
MedicationRequest.dosageInstruction.timing | Timing schedule (e.g., every 8 hours). MedicationAdministration.request provides reference to the applicable MedicationRequest for this information. Generally, retrieval of medication administration events applies to the hospital setting with a few exceptions. Linkage to the original authorizing prescription has not been considered relevant for the existing measure use cases requiring only to retrieve information about one or more administration events. | |
reason | MedicationAdministration.reasonCode | Reason administration performed, e.g., none, given as ordered, emergency. Preferred binding to ReasonMedicationGivenCodes. |
relevant dateTime | MedicationAdministration.effective[x] dateTime | Start and end time of administration – dateTime if given at a single point in time. |
relevant Period | MedicationAdministration.effective[x] Period | Start and end time of administration – period if given at over a time interval (e.g., an infusion). |
author dateTime | MedicationAdministration.extension:recorded | Recorded time is used exclusively for the QDM negation rationale concept. |
Negation Rationale | See Below | |
Performer | MedicationAdministration.performer.actor | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. The original purpose for the QDM performer attribute was to designate the individual/organization responsible for reporting the measure results is the same individual/organization that requested the procedure or service. However, clinical software generally tracks the individual user entering data and linking that individual to a clinical role, a specialty, or an organization is not easily accomplished. |
Use QICoreMedicationAdministrationNotDone, which contains:
This QDM context specifically references the discharge medication list provided to a patient at the time of discharge from an inpatient setting. The list may include reference to new prescriptions sent to a pharmacy for dispensing and self-administration after discharge. It may also include over-the-counter medications and those medications already present in the patient’s home for which new prescriptions are not necessary. The QDM Medication, Discharge concept is mapped to MedicationRequest as a request to the patient to take the medication with MedicationRequest.intent = plan and MedicationRequest.setting = discharge.
MedicationRequest.intent should always be order even if the medication is patient reported and the order is not processed as an e-prescription. The reporter is specified as MedicationRequest.reported[x] which is a reportedBoolean and uses reportedReference (patient, practitioner, practitionerRole, relatedPerson, organization).
This change should also be used to reference the mapping from QDM Medication, Order which can address order or recommended.
QDM Context | QI-Core STU6 | Comments |
---|---|---|
Medication, Discharge | MedicationRequest | |
Medication, Discharge active | MedicationRequest.status | While QDM does not have an attribute comparable to status, as a conceptual model, status is implied by the name “Medication, Order”. Constrain to active, completed |
MedicationRequest.intent | Required to differentiate an order from a recommendation. The intent value set allows such differentiation using “order” for orders and “plan” for recommendation. Constrain only to “order” (include children: original-order, reflex-order, filler-order, instance-order) | |
QDM Attributes | ||
code | MedicationRequest.medication[x] | Medication to be taken an extensible binding to MedicationClinicalDrug (RxNorm) |
id | MedicationRequest.id | |
dosage | MedicationRequest.dosageInstruction.doseAndRate.dose[x] | Amount of medication to be administered. Range, quantity |
supply | MedicationRequest.dispenseRequest.quantity | Amount to be dispensed in one fill |
daysSupplied | MedicationRequest.dispenseRequest.expectedSupplyDuration | Number of days supply per dispense |
frequency | MedicationRequest.dosageInstruction.timing | When medication should be administered. Timing schedule (e.g., every 8 hours) |
refills | MedicationRequest.dispenseRequest.numberOfRepeatsAllowed | Number of refills allowed. Integer |
route | MedicationRequest.dosageInstruction.route | How drug should enter body |
setting | MedicationRequest.category | Type of medication usage using Medication Category Codes For MedicationDischarge, constrain category to “Community”. |
reason | MedicationRequest.reasonCode | The reason for ordering or not ordering the medication. This element has not been used to-date in quality measures; it is not included in the QI-Core profile Key Elements Table. |
relevantDatetime | MedicationRequest.dosageInstruction.timing with Timing.event dateTime |
Timing – when the medication should be administered; Event – when the event occurs. |
relevantPeriod | MedicationRequest.dosageInstruction.timing with Timing.repeat.bounds[x] Period |
Length/Range of lengths or (Start and/or End) limits |
authorDatetime | MedicationRequest.authoredOn | When request was originally authored |
negationRationale | See Below | |
prescriber | MedicationRequest.requester | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. The original purpose for the QDM performer attribute was to designate the individual/organization responsible for reporting the measure results is the same individual/organization that requested the procedure or service. However, clinical software generally tracks the individual user entering data and linking that individual to a clinical role, a specialty, or an organization is not easily accomplished. |
Use QICoreMedicationNotRequested, which contains:
This QDM context maps to the QI-Core MedicationDispense resource, indicating information about medications that have been dispensed.
QDM Context | QI-Core STU6 | Comments |
---|---|---|
Medication, Dispensed | MedicationDispense | |
MedicationDispense.status | While QDM does not have an attribute comparable to status, as a conceptual model, status is implied by the name “Medication, Dispensed”. Constrain MedicationDispense.status to completed | |
QDM Attributes | ||
code | MedicationDispense.medication[x] | What medication was supplied; extensible binding to Medication Clinical Drug |
id | MedicationDispense.id | |
dosage | MedicationDispense.dosageInstruction.doseAndRate.dose[x] | Amount of medication per dose |
supply | MedicationDispense.quantity | Amount dispensed |
daysSupplied | MedicationDispense.daysSupply | Amount of medication expressed as a timing amount. |
frequency | MedicationDispense.dosageInstruction.timing | When medication should be administered |
refills | MedicationDispense.authorizingPrescription | Medication order that authorizes the dispense. Reference authorizing prescription (MedicationRequest) which contains MedicationRequest.dispenseRequest.numberOfRepeatsAllowed (number of refills authorized) |
route | MedicationDispense.dosageInstruction.route | How drug should enter body. Most quality measures indicate the route by choosing RxNorm concepts specific to the routes acceptable to meet measure intent. Therefore, this element has not been used in measures with the “Medication, Dispense” QDM datatype and the element is not present in the MedicationDispense profile Key Elements Table. |
setting | MedicationDispense.category | Type of medication usage, with required binding to value set MedicationRequest Category Codes. Inpatient, Outpatient, Community, Discharge |
reason | MedicationDispense.statusReason[x] | Reason for the current status. |
relatedTo | MedicationDispense.authorizingPrescription | Medication order that authorizes the dispense. Reference authorizing prescription (MedicationRequest). |
relevant dateTime | MedicationDispense.whenHandedOver | When provided to patient or representative. Recommendations from pharmacy experts suggest that all medication dispensing events include a time for MedicationDispense.whenPrepared (i.e., when the dispensed product was packaged and reviewed. The time the medication was handed over to the patient or representative may not be populated.) Note that medications not picked up are restocked such that a MedicationDispense.status = completed will assure the patient or representative received the medication even if whenHandedOver is not available. Therefore, measure developers should consider including the time whenPrepared if whenHandedOver is null and status = completed. |
relevant Period | MedicationRequest.dosageInstruction.timing with Timing.repeat.bounds[x] Period |
The anticipated time from starting to stopping an ordered or dispensed medication can also be computed in an expression and derived from the duration attribute |
author dateTime | MedicationDispense.extension:recorded | Used only for QDM negation rationale concept, to indicate the time for documentation of reason not dispensed |
Negation Rationale | See Below | |
Prescriber | MedicationDispense.authorizingPrescription | Reference authorizing prescription (MedicationRequest) which contains MedicationRequest.requester |
dispenser | MedicationDispense.performer.actor | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. The original purpose for the QDM performer attribute was to designate the individual/organization responsible for reporting the measure results is the same individual/organization that requested the procedure or service. However, clinical software generally tracks the individual user entering data and linking that individual to a clinical role, a specialty, or an organization is not easily accomplished. |
Use QICoreMedicationDispenseDeclined, which contains:
The MedicationDispensed.status is fixed to “declined” which is defined as “The dispense was declined and not performed.” Considering the clinical workflow, only the pharmacist likely performs the “decline” status - based on medication interaction or on failure of insurance authorization (perhaps due to patient declining when the cost/co-pay is identified). But the patient would not enter the status, only the pharmacist would do so. The use case likely still works for the measure developer intent (that a valid reason exists for not dispensing the medication). However, if the measure developer wants to address patient’s decisions to avoid dispensing, the patient will likely not show up at the pharmacy for the medication to be dispensed - hence, there will be no dispensing event. The best way to capture that scenario may be to assure the MedicationRequest includes a Patient reason.
This QDM context references the QI-Core MedicationRequest resource with MedicationRequest.intent = order and MedicationRequest.setting as the most appropriate for the intended meaning of the quality measure or clinical decision support (CDS) expression.
QDM Context | QI-Core STU6 | Comments |
---|---|---|
Medication, Order | MedicationRequest | |
Medication, Order active | MedicationRequest.status | While QDM does not have an attribute comparable to status, as a conceptual model, status is implied by the name “Medication, Order”. Constrain to active, completed |
MedicationRequest.intent | Required to differentiate an order from a recommendation. The intent value set allows such differentiation using “order” for orders and “plan” for recommendation. Constrain only to “order” (include children: original-order, reflex-order, filler-order, instance-order) | |
MedicationRequest.reported[x] | When recording “self-prescribed” medications SHALL use reported[x] to indicate the MedicationRequest record was captured as a secondary “reported” record rather than an original primary source-of-truth record | |
QDM Attributes | ||
code | MedicationRequest.medication[x] | Medication to be taken an extensible binding to MedicationClinicalDrug (RxNorm) |
id | MedicationRequest.id | |
dosage | MedicationRequest.dosageInstruction.doseAndRate.dose[x] | Amount of medication to be administered. Range, quantity |
supply | MedicationRequest.dispenseRequest.quantity | Amount to be dispensed in one fill |
daysSupplied | MedicationRequest.dispenseRequest.expectedSupplyDuration | Number of days supply per dispense |
frequency | MedicationRequest.dosageInstruction.timing | When medication should be administered. Timing schedule (e.g., every 8 hours) |
refills | MedicationRequest.dispenseRequest.numberOfRepeatsAllowed | Number of refills allowed. Integer |
route | MedicationRequest.dosageInstruction.route | How drug should enter body |
setting | MedicationRequest.category | Type of medication usage using Medication Category Codes |
reason | MedicationRequest.reasonCode | The reason for ordering or not ordering the medication. This element has not been used to-date in quality measures; it is not included in the QI-Core profile Key Elements Table. |
relatedTo | MedicationRequest.basedOn | What request fulfills. There has not yet been a use case requiring this element. Therefore, it is not included in the QI Core profile Key Elements Table. |
relevantDatetime | MedicationRequest.dosageInstruction.timing with Timing.event dateTime |
Timing – when the medication should be administered; Event – when the event occurs. |
relevantPeriod | MedicationRequest.dosageInstruction.timing with Timing.repeat.bounds[x] Period |
Length/Range of lengths or (Start and/or End) limits |
authorDatetime | MedicationRequest.authoredOn | When request was originally authored |
negationRationale | See Below | |
prescriber | MedicationRequest.requester | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. The original purpose for the QDM performer attribute was to designate the individual/organization responsible for reporting the measure results is the same individual/organization that requested the procedure or service. However, clinical software generally tracks the individual user entering data and linking that individual to a clinical role, a specialty, or an organization is not easily accomplished. |
Use QICoreMedicationNotRequested, which contains:
QDM defines Participation as a patient’s coverage by a program such as an insurance or medical plan or a payment agreement. Such programs can include patient-centered medical home, disease-specific programs, etc. Definitions modeled similar to the FHIR R4 Coverage resource.
QDM Context | QI-Core STU6 | Comments |
---|---|---|
Participation | Coverage | |
Coverage.status | While QDM does not have an attribute comparable to status, as a conceptual model, status is implied by the name ”Participation”. Constrain to “active” | |
QDM Attributes | ||
code | Coverage.type | Coverage category such as medical or accident. Required binding to https://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591 |
id | Coverage.id | |
participationPeriod | Coverage.period | Coverage start and end dates |
QDM defines Physical Exam as the evaluation of the patient’s body and/or mental status exam to determine its state of health. The techniques of examination can include palpation (feeling with the hands or fingers), percussion (tapping with the fingers), auscultation (listening), visual inspection or observation, inquisition and smell. Measurements may include vital signs (blood pressure, pulse, respiration) as well as other clinical measures (such as expiratory flow rate and size of lesion). Physical exam includes psychiatric examinations.
US Core STU6 added twelve observation profiles that address specific elements of physical examinations. The following table lists each profile and the respective data element codes referenced in each of those profiles.
Profile | Data element codes |
---|---|
US Core Vital Signs Profile | Vital Signs (panel) – Fixed Value: 85353-1 |
US Core Pediatric Head Occipital-frontal Circumference Percentile Profile | Head Occipital-Frontal Circumference Percentile - Fixed Value: 8289-1 |
US Core Blood Pressure Profile | •Blood Pressure Systolic and Diastolic – Fixed Value: 85354-9 •Systolic Blood Pressure – Fixed Value: 8480-6 •Diastolic Blood Pressure – Fixed Value: 8462-4 •valueQuantity - Fixed Value: mm[Hg] |
US Core BMI Profile | •ValueQuantity.system - Fixed Value: http://unitsofmeasure.org •ValueQuantity.code - Coded responses from the common UCUM units for vital signs value set - Fixed Value: kg/m2 |
US Core Body Height Profile | •Body Height – Fixed Value: 8302-2 •ValueQuantity.system - Fixed Value: http://unitsofmeasure.org •ValueQuantity.code - - Coded responses from the common UCUM units for vital signs value set - Binding: BodyLengthUnits (required) |
US Core Body Temperature Profile | •Body Temperature – Fixed Value: 8310-5 •ValueQuantity.system - Fixed Value: http://unitsofmeasure.org •ValueQuantity.code - - Coded responses from the common UCUM units for vital signs value set – Binding: BodyTemperatureUnits (required) |
US Core Body Weight Profile | •Body Weight – Fixed Value: 29463-7 •ValueQuantity.system - Fixed Value: http://unitsofmeasure.org •ValueQuantity.code – Coded responses from the common UCUM units for vital signs value set – Binding: BodyWeightUnits (required) |
US Core Head Circumference Profile | •Head Circumference – Fixed Value: 9843-4 •ValueQuantity.system - Fixed Value: http://unitsofmeasure.org •ValueQuantity.code - Coded responses from the common UCUM units for vital signs value set - Binding: BodyLengthUnits (required) |
US Core Heart Rate Profile | •Vital Signs – Heart Rate – Fixed Value: 8867-4 •ValueQuantity.system - Fixed Value: http://unitsofmeasure.org •ValueQuantity.code - Fixed Value: /min |
US Core Pediatric BMI for Age Observation Profile | •Pediatric BMI for Age – Fixed Value: 59576-9 •ValueQuantity.system - Fixed Value: http://unitsofmeasure.org |
US Core Pediatric Weight for Height Observation Profile | •Pediatric Weight for Height – Fixed Value: 77606-2 •ValueQuantity.system - Fixed Value: http://unitsofmeasure.org •ValueQuantity.code - Coded responses from the common UCUM units for vital signs value set. Fixed Value: % |
US Core Pulse Oximetry Profile | •Pulse Oximetry – Fixed Value: 59408-5 •O2 Saturation - Fixed Value: 2708-6 •Flow rate Fixed Value: 2708-6 •Flow rate Value quantity Fixed Value: L/min •Concentration Fixed Value: 3150-0 •ValueQuantity.system - Fixed Value: http://unitsofmeasure.org •ValueQuantity.code – Fixed Value: % |
US Core Respiratory Rate Profile | •Vital Signs – Respiratory Rate – Fixed Value: 9279-1 •ValueQuantity.system - Fixed Value: http://unitsofmeasure.org •ValueQuantity.code - Coded responses from the common UCUM units for vital signs value set - Fixed Value: /min |
QDM “Physical Exam, Order” should use ServiceRequest with intent = order for the specific examination requested.
QDM Context | QI-Core STU6 | Comments |
---|---|---|
Physical Exam, Order | ServiceRequest | |
ServiceRequest.status | Constrain to active, completed. While QDM does not have an attribute comparable to status, as a conceptual model, status is implied by the name “Physical Exam, Order” and “Physical Exam, Recommended” datatypes. | |
ServiceRequest.intent | Required to differentiate an order from a recommendation. The intent value set allows such differentiation using “order” for orders and “plan” for recommendation. Constrain only to “order” (include children: original-order, reflex-order, filler-order, instance-order) | |
QDM Attributes | ||
code | ServiceRequest.code | What is requested, extensible binding to US Core Procedure Codes |
id | ServiceRequest.id | |
reason | ServiceRequest.reasonCode | Explanation/justification for procedure or service with extensible binding to US Core Condition Codes |
authorDatetime | ServiceRequest.authoredOn | When the request transitioned to being actionable. |
anatomicalLocationSite | N/A | No comparable element in the ServiceRequest resource. This element has not be used in measures to-date as the requested procedure / action code can reference the respective anatomical site. |
negationRationale | See Below | |
requester | ServiceRequest.requester | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. The original purpose for the QDM requester attribute was to designate the individual/organization responsible for reporting the measure results is the same individual/organization that requested the procedure or service. However, clinical software generally tracks the individual user entering data and linking that individual to a clinical role, a specialty, or an organization is not easily accomplished. |
Use QICoreServiceNotRequested and reference the code element specified in the respective observation profile:
QDM “Physical Exam, Performed” should reference the specific US Core vital signs profiles directly as appropriate. Some results may also be identified using the QICore Observation Clinical Result profile. The QI-Core Simple Observation profile may be appropriate for other physical examination observations not covered by the Observation Clinical Result profile.
QDM Context | QI-Core STU6 | Comments |
---|---|---|
Physical Exam, Performed - General | QI-Core Simple Observation QI Core Observation Clinical Result |
|
Observation.status | Constrain status to - final, amended, corrected. While QDM does not have an attribute comparable to status, as a conceptual model, status is implied by the name “Physical Exam, Performed” datatype. | |
Observation.category | Category helps to narrow the request to the class of observation required to meet measure intent. Each QI-Core or US Core profile has a specific binding to concepts appropriate to the respective profile. Note that QDM does not have an attribute comparable to category, the element may be helpful in expressing a quality measure. | |
QDM Attributes | ||
code | Observation.code | Note specific bindings based on the QI-Core or US Core profile used. |
id | Observation.id | |
anatomicalLocationSite | Observation.bodySite | |
relatedTo | Observation.basedOn | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. Therefore, it is not in the profile Key Elements Table; it can be found in the Snapshot Table tab of the respective profiles. |
negationRationale | See Below | |
reason | Observation.basedOn | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. Therefore, it is not in the profile Key Elements Table; it can be found in the Snapshot Table tab of the respective profiles. |
result | Observation.value[x] | |
Observation.interpretation | Explanation of significance of the observation result (e.g., critical, high, low) | |
relevantDatetime | Observation.effective[x] dateTime | Time observation occurred if a point in time. |
relevantPeriod | Observation.effective[x] Period | Time observation occurred if it occurs over a period of time. |
authorDatetime | Observation.issued | Time observation result made available |
component | Observation.component | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. Many measures address components of a panel of simple observations as single elements. Therefore, component is not in the profile Key Elements Table; it can be found in the Snapshot Table tab of the respective profiles. |
component.code | Observation.component.code | See comment about component |
component.result | Observation.component.value[x] | See comment about component |
performer | Observation.performer | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. The original purpose for the QDM performer attribute was to designate the individual/organization responsible for reporting the measure results is the same individual/organization that performed the observation or task. However, clinical software generally tracks the individual user entering data and linking that individual to a clinical role, a specialty, or an organization is not easily accomplished. |
Use QICoreObservationCancelled and reference the code element specified in the respective observation profile:
QDM “Physical Exam, Recommended” should use ServiceRequest with intent = plan for the specific examination recommended.
QDM Context | QI-Core STU6 | Comments |
---|---|---|
Physical Exam, Recommended | ServiceRequest | |
ServiceRequest.status | Constrain to active, completed. While QDM does not have an attribute comparable to status, as a conceptual model, status is implied by the name “Physical Exam” and “Physical Exam, Recommended” datatypes. | |
ServiceRequest.intent | Required to differentiate a recommendation from an order. The intent value set allows such differentiation using “order” for orders and “plan” for recommendation. Constrain only to “plan” | |
QDM Attributes | ||
code | ServiceRequest.code | What is requested, extensible binding to US Core Procedure Codes |
id | ServiceRequest.id | |
reason | ServiceRequest.reasonCode | Explanation/justification for procedure or service with extensible binding to US Core Condition Codes |
authorDatetime | ServiceRequest.authoredOn | When the request transitioned to being actionable. |
anatomicalLocationSite | N/A | No comparable element in the ServiceRequest resource. This element has not be used in measures to-date as the requested procedure / action code can reference the respective anatomical site. |
negationRationale | See Below | |
requester | ServiceRequest.requester | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. The original purpose for the QDM requester attribute was to designate the individual/organization responsible for reporting the measure results is the same individual/organization that requested the procedure or service. However, clinical software generally tracks the individual user entering data and linking that individual to a clinical role, a specialty, or an organization is not easily accomplished. |
Use QICoreServiceNotRequested and reference the code element specified in the respective observation profile:
QDM defines Procedure as an act whose immediate and primary outcome (post-condition) is the alteration of the physical condition of the subject. A procedure may be a surgery or other type of physical manipulation of a person’s body in whole or in part for purposes of making observations and diagnoses or providing treatment.
FHIR references both of these concepts using the Procedure resource, specifically noting a process that involves verification of the patient’s comprehension or to change the patient’s mental state would be a Procedure.
Some use cases have considered differentiating a FHIR Procedure Resource from a FHIR core Task Resource. For example, should a request to perform medication reconciliation be classified as a Task or a Procedure? The FHIR Procedure Resource Boundaries and Relationships (Section 9.3.2) provides some distinction between a Task and a Procedure:
A Task is a workflow step such as cancelling an order, fulfilling an order, signing an order, merging a set of records, admitting a patient. Procedures are actions that are intended to result in a physical or mental change to or for the subject (e.g. surgery, physiotherapy, training, counseling). A Task resource often exists in parallel with clinical resources. For example, a Task might request fulfillment of a ServiceRequest ordering a Procedure.
Based on the guidance provided above, the workflow step to reconcile medication lists may be considered a Task to perform the Procedure that includes reviewing the medication list with the patient to assure it is correct and to education the patient about proper medication usage.
The sponsoring work group is specifically seeking feedback on the following suggestions for use of Task rather than Procedure for workflow steps that require attestation such as medication list review or reconciliation: Example: A workflow step to review or to reconcile medication lists may be considered a Task to perform the Procedure that includes reviewing the medication list with the patient to assure it is correct and to educate the patient about proper medication usage. Thus, a Task can reference the Task.focus as a procedure.
QDM 5.6 does not address Task; therefore, there is no direct mapping from QDM Intervention or Procedure to the FHIR Task resource. The mapping presented is from QDM to QI-Core referencing the FHIR Procedure resource.
Consistent with the method for specifying QDM’s concept negation rationale, a TaskRejected is represented with the following content:
Procedure: priority has the following definition:
Priority indicates the urgency of the procedure or the encounter referenced. In [electronic clinical quality measures] (eCQMs) the priority attribute will help specify elective from urgent encounters (e.g., hospital admissions) or procedures. Priority is a codeable concept (i.e., may use a direct reference code or a value set). For example, priority is used to express an elective procedure or encounter from an emergency procedure or encounter.
As noted in the QDM to QI-Core Mapping for Encounter-Related Diagnoses and Procedures, a specific measure may have interest in evaluating care provided for elective procedures (e.g., hip surgery due to osteoarthritis) while excluding emergency, non-planned procedures (e.g., hip surgery due to acute fracture). The procedure code does not necessarily allow differentiation of the two concepts. A ServiceRequest.priority does have the ability to differentiate the urgency with which the request (or order) should be fulfilled. However, there is no current usage in existing measures and the ServiceRequest.priority element is not included in the ServiceRequest Key Element Table. There is no element within the FHIR Procedure resource to address the issue. Based on lack of a current use case QI-Core has not added an extension to address Procedure.priority and, as a result, there is no direct mapping from the QDM Procedure priority attribute to QI-Core.
QDM Context | QI-Core STU6 | Comments |
---|---|---|
Procedure, Performed | Procedure | |
QDM Attributes | ||
status | Procedure.status | While QDM does not have an attribute comparable to status, as a conceptual model, status is implied by the QDM datatype name “Procedure, Performed”. Constrain to “completed” |
code | Procedure.code | Identification of the procedure. Extensible binding to US Core Procedure Codes |
id | Procedure.id | |
relatedTo | Procedure.basedOn | A reference to a resource that contains details of the request for this procedure. There has not been a use case for this element in existing measures; thereore, it is not included in the QI-Core profile Key Elements Table. |
method | N/A | Procedure.method does not exist in FHIR. Rather than create an extension, QI-Core’s approach is to assume the Procedure.code includes reference to the method, therefore, this element does not existing in the QI-Core profile |
rank | Claim.procedure.sequence | Used to identify a principal procedure in the context of an encounter. See discussion in the QDM “Encounter, Performed” section indicating the rationale for using the Claim profile to identify principal or primary procedures and conditions. |
priority | N/A | This QDM attribute is intended to reference elective from non-elective procedures. See discussion regarding “Encounter, Order” priority which was created to differentiate elective encounters from non-elective encounters. Similar to the encounter discussion, a given procedure is not inherently elective or non-elective, the urgency is based on a patient’s status and other factors. Information about urgency, elective, non-elective may be found a scheduling or appointment application which may generate a tag for a procedure in the clinical record. This item is not present in the FHIR Procedure resource. Measure developers should work with clinical sites to determine the most effective method for identifying procedure priority. |
anatomicalLocationSite | Procedure.bodySite | Target body sites with preferred binding to SNOMEDCT Body Structures. Existing measures have not provided a use case for this element. Therefore, the element does not appear in the QI-Core profile Key Elements Table. |
reason | Procedure.reasonCode | Code reason procedure is performed. Preferred binding to Procedure Reason Codes |
result | Simple Observation or Observation Clinical Result that includes the element SimpleObservation.partOf to reference the procedure to which it applies. | Procedure.report references DiagnosticReport-note, DocumentReference, Composition (histology result, pathology report, surgical report, etc.); the latter two are not QI-Core resources. However, based on feedback suggested that a procedure result might be better identified as Simple Observation or Observation Clinical Result resources referencing the SimpleObservation.partOf or ObservationClinicalResult.partOf element to reference the procedure to which it applies. |
Negation Rationale | See Below | |
Relevant dateTime | Procedure.performed[x] dateTime | When the procedure was performed (as a single point in time). |
Relevant Period | Procedure.performed[x] Period | When the procedure was performed (over a period of time). |
Incision dateTime | Procedure.extension:incisionDateTime | The first incision time. Existing measures do not use this element; therefore, it is not included in the QI-Core profile Key Elements Table. |
Author dateTime | Procedure.extension:recorded | When the procedure was first captured in the subject’s record. This element is useful for historical procedures and for the QDM negation rationale concept. |
Procedure.usedReference Procedure.usedCode |
These elements help to add reference to a device, medication, or substance used as part of a procedure the QI-Core element to address the device is used by the procedure. However, feedback has suggested that implementers prefer a direct, precoordinated code for the procedure that also indicates the type of device used rather than having to connect a specific item/device used to perform the procedure. Thus, while modeling allows usedCode or usedReference, feasibility is very limited. For that reason, these elements are not included in the QI-Core profile Key Elements Table. | |
Components | N/A | Procedure does not include component. |
Component code | N/A | N/A |
Component result | N/A | N/A |
Performer | Procedure.performer.actor | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. The original purpose for the QDM requester attribute was to designate the individual/organization responsible for reporting the measure results is the same individual/organization) that requested the procedure or service. However, clinical software generally tracks the individual user entering data and linking that individual to a clinical role, a specialty, or an organization is not easily accomplished. |
Use QICoreProcedureNotDone, which contains:
QDM Context | QI-Core STU6 | Comments |
---|---|---|
Procedure, Order | ServiceRequest | |
ServiceRequest.status | Constrain to active, completed. While QDM does not have an attribute comparable to status, as a conceptual model, status is implied by the name “Procedure, Order” and “Procedure, Recommended” datatypes. | |
ServiceRequest.intent | Required to differentiate an order from a recommendation. The intent value set allows such differentiation using “order” for orders and “plan” for recommendation. Constrain only to “order” (include children: original-order, reflex-order, filler-order, instance-order) | |
QDM Attributes | ||
code | ServiceRequest.code | What is requested, extensible binding to US Core Procedure Codes |
id | ServiceRequest.id | |
reason | ServiceRequest.reasonCode | Explanation/justification for procedure or service with extensible binding to US Core Condition Codes |
authorDatetime | ServiceRequest.authoredOn | When the request transitioned to being actionable. |
negationRationale | See Below | |
requester | ServiceRequest.requester | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. The original purpose for the QDM requester attribute was to designate the individual/organization responsible for reporting the measure results is the same individual/organization that requested the procedure or service. However, clinical software generally tracks the individual user entering data and linking that individual to a clinical role, a specialty, or an organization is not easily accomplished. |
Use QICoreServiceNotRequested and reference the code element specified in the respective observation profile:
QDM Context | QI-Core STU6 | Comments |
---|---|---|
Procedure, Recommended | ServiceRequest | |
ServiceRequest.status | Constrain to active, completed. While QDM does not have an attribute comparable to status, as a conceptual model, status is implied by the name “Procedure, Order” and “Procedure, Recommended” datatypes. | |
ServiceRequest.intent | Required to differentiate a recommendation from an order. The intent value set allows such differentiation using “order” for orders and “plan” for recommendation. Constrain only to “plan | |
QDM Attributes | ||
code | ServiceRequest.code | What is requested, extensible binding to US Core Procedure Codes |
id | ServiceRequest.id | |
reason | ServiceRequest.reasonCode | Explanation/justification for procedure or service with extensible binding to US Core Condition Codes |
authorDateTime | ServiceRequest.authoredOn | When the request transitioned to being actionable. |
negationRationale | See Below | |
requester | ServiceRequest.requester | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. The original purpose for the QDM requester attribute was to designate the individual/organization responsible for reporting the measure results is the same individual/organization that requested the procedure or service. However, clinical software generally tracks the individual user entering data and linking that individual to a clinical role, a specialty, or an organization is not easily accomplished. |
Use QICoreServiceNotRequested and reference the code element specified in the respective observation profile:
QDM defines Substance as a homogeneous material with definite composition that includes allergens, biological materials, chemicals, foods, drugs and materials. QDM distinguishes between medications from non-medication substances by separately listing medication datatypes. Substance may or may not have a code or be classified by a code system such RxNorm. Examples of a substance may include environmental agents (e.g., pollen, dust) and food (e.g., vitamins). Where a substance can be addressed using medication terminology (e.g. egg albumin) used the Medication mappings listed in this QDM-to-QI-Core section.
FHIR defines substance as a homogeneous material with a definite composition. Medications are classified as substances. However, to reference other substances, especially using the SubstanceDefinition resource is challenging since the resource is still undergoing development.
Ideally, use of a substance-related resource should be driven by use cases and examples. Two such use cases currently exist in the quality measure community::
To provide some context and guidance, this QDM-to-QI-Core mapping includes reference to the QDM datatypes Substance, Order and Substance, Recommended using the NutritionOrder resource. As noted in the second example provided, the resource is relatively new and it allows expressions to address only the type of diet ordered, not the foods or substances administered to a patient.
The CQI Workgroup suggests use of the Procedure resource for QDM’s Substance, Administered for nutritional and other non-medication substances. Indicate the procedure (e.g., oral feeding) and the Procedure.UsedCode to indicate the direct reference code or value set indicating the expected nutritional element expected. There is no current known eCQM use case or common practice for documenting NutritionOrder “negation rationale”. Further, the only expressed use cases for substance other than those that are modeled similar to medications are nutritional substance administered (human breast milk) and biologically-derived product administration (blood) - both of these use cases can use the Procedure resources as noted. Further work in base FHIR will advise how to reference specific administration details in QI-Core.
NOTE – There is no specific QDM datatype to address two QI-Core STU 6 profiles, Nutrition Order and Nutrition Intake. Since neither of these profiles has been used to express an electronic clinical quality measure, determination of key elements is challenging. The following tables may help measure developers determine what to use for potential use cases:
Nutrition Order | QI-Core STU6 | Comments |
---|---|---|
Substance, Order/Recommended - For Diet Orders | NutritionOrder | Limited to orders for diets or diets with supplements |
Substance Order/Recommended Activity | NutritionOrder.status | Determination of which order status is appropriate to retrieve, specifically constrain to active, completed. Profile has required binding to RequestStatus. |
Substance, Order | NutritionOrder.intent | Enables differentiation of order versus plan. Required binding to RequestIntent. Constrain to “order” and child concepts |
Substance, Recommended | NutritionOrder.intent | Enables differentiation of order versus plan. Required binding to RequestIntent. Constrain to “plan” |
QDM Attributes | ||
ORAL DIET | NutritionOrder.oralDiet | Oral Diet Components |
code (to represent a diet order) | NutritionOrder.oralDiet.type | Type of oral diet or diet restrictions that describe what can be consumed orally |
ENTERAL FORMULA | NutrientOrder.enteralFormula | Enteral Formula Components |
code (to represent a enteral formula) | NutrientOrder.eternalFormula.baseFormulaType | Type of enteral or infant formula |
negationRationale | N/A | |
authorDatetime | NutritionOrder.dateTime | Date and time nutrition order was requested |
relevantPeriod | NutritionOrder.enteralFormula.administration.schedule | Likely not relevant for measure use cases. Not present in QI-Core Key Elements Table. |
Nutrition Intake | QI-Core STU6 | Comments |
---|---|---|
Nutrition Intake | Nutrition Intake | |
Status | NutritionIntake.modifierExtension:status | value set binding to EventStatus required |
Associated Encounter | NutritionIntake.encounter.value[x] | encounter associated with nutritionIntake |
Time of nutrition intake | NutritionIntake.occurence | Encounter associated with Nutrition Intake |
Consumed Items | NutritionIntake.code | Example binding to ValueSet-qicore-example-foods – Consider concepts used in FHIR R5 NutritionIntake.consumedItem.nutritionProduct which has example binding to Food Type Codes |
QDM defines Symptom as an indication that a person has a condition or disease. Some examples include headache, fever, fatigue, nausea, vomiting, and pain. Symptoms are subjective manifestations of the disease perceived by the patient. As an example to differentiate symptom from finding, the patient’s subjective symptom of fever is distinguished from the temperature (a finding). For a finding, there is either a source of a temperature-measuring device together with a recorder of the device (electronically) or an individual (healthcare provider, patient, etc.).
Note: Definitions regarding symptom on the FHIR condition resource Boundaries and Relationships (Section 9.2.2: http://hl7.org/fhir/condition.html):
[The Condition] resource is not typically used to record information about subjective and objective information that might lead to the recording of a Condition resource. Such signs and symptoms are typically captured using the Observation resource; although in some cases a persistent symptom, e.g. fever, headache may be captured as a condition before a definitive diagnosis can be discerned by a clinician. By contrast, headache may be captured as an Observation when it contributes to the establishment of a meningitis Condition.
Use the Observation resource when a symptom is resolved without long term management, tracking, or when a symptom contributes to the establishment of a condition.
Use Condition when a symptom requires long term management, tracking, or is used as a proxy for a diagnosis or problem that is not yet determined.
Based on the FHIR referenced provided above, the QDM datatype Symptom maps to the FHIR Observation resource.
QDM Context | QI-Core STU6 | Comments |
---|---|---|
Symptom | Simple Observation | |
Observation.status | Constrain status to - preliminary, final, amended, corrected. While QDM does not have an attribute comparable to status, as a conceptual model, status is implied by the name “Assessment, Performed” datatype. | |
Observation.category | Category helps to narrow the request to the class of observation required to meet measure intent. Each QI-Core or US Core profile has a specific binding to concepts appropriate to the respective profile. Note that QDM does not have an attribute comparable to category, the element may be helpful in expressing a quality measure. | |
QDM Attributes | ||
code | Observation.value[x] | Note specific bindings based on the QI-Core or US Core profile used. |
id | Observation.id | |
severity | Observation.interpretation | Explanation of significance of the observation result (e.g., critical, high, low). |
prevalencePeriod | Observation.effective[x] | Time observation occurred if a point in time, or a period. Most likely Symptom will be recorded as a point in time. |
recorder | Observation.performer | Although QDM includes this attribute it has not been used in existing measures and a clear use case has not been established. The original purpose for the QDM performer attribute was to designate the individual/organization responsible for reporting the measure results is the same individual/organization that performed the observation or task. However, clinical software generally tracks the individual user entering data and linking that individual to a clinical role, a specialty, or an organization is not easily accomplished. |
</div>