HL7 Implementation Guide: Patient Information Quality Improvement (PIQI) Framework, Edition 2, published by HL7 Cross-Group Projects Work Group. This guide is not an authorized publication; it is the continuous build for version 2.0.0-ballot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/piqi/ and changes regularly. See the Directory of published versions
| Page standards status: Informative |
This is a new page developed for the 2.0-ballot of the PIQI Implementation Guide as a standard for trial use (STU). As a new section, this content may change and considered a working draft until community review and feedback have been integrated.
This page provides implementation guidance for authors of PIQI Models, Evaluation Rubrics, and Simple Assessment Modules (SAMs), as well as for implementers deploying PIQI-based evaluation services. The guidance is organized into four areas: model design, Evaluation Rubric design, implementation architectures, and advanced SAM patterns.
The PIQI Simple Attribute type represents all scalar values — including dates, identifiers, and numeric strings — as plain strings. Because PIQI does not enforce strong typing in the model, implementers are responsible for establishing and documenting data format conventions for their deployment. Three areas require particular attention:
Date and datetime values are exchanged as Simple Attributes. The Attr_IsValidDate SAM validates these values by attempting to parse them as a DateTime; the set of accepted formats depends on the SAM's configuration and the underlying implementation. Rubric authors should define the expected date format(s) for each date attribute in the model and configure validation SAMs accordingly. Standardizing on ISO 8601 representations (e.g., YYYYMMDD or YYYY-MM-DDThh:mm:ss) is recommended to ensure consistent behavior across PIQI evaluation engines.
The PIQI Healthcare Data Quality Taxonomy (HDQT) distinguishes between two related but distinct availability conditions:
Availability.Unpopulated dimension.Availability.Missing dimension.Implementations must define how null, empty string, and absent fields are represented in the PIQI payload before authoring rubrics that assess availability. An attribute transmitted as an empty string is treated as Unpopulated; an element that is entirely absent from the payload is treated as Missing. Conflating these two conditions leads to incorrect HDQT dimension assignment and inaccurate scoring.
A persistent challenge in healthcare interoperability is that the same code system may be referenced by different identifiers across source systems. For example, LOINC may appear as LNC, LOINC, 2.16.840.1.113883.6.40, or http://loinc.org depending on the sending system and standard version. The PIQI framework addresses this through Code System Identifiers — a set of known aliases defined for each code system in the PIQI implementation.
Rubric authors should review the Code System Identifiers configured in their PIQI instance and ensure that all representation variants expected from source systems are included. SAMs that assess coded concepts (e.g., Concept_IsValid, Concept_IsActive) rely on these aliases to normalize coding representations before evaluation. Missing aliases will cause valid codings to fail code system validation checks.
FHIR defines many data elements as choice types (e.g., onset[x] may be represented as onsetDateTime, onsetAge, onsetRange, or onsetPeriod). When mapping FHIR resources to a PIQI Model, implementers must design the model to accommodate all choice representations present in the source data.
The recommended approach is:
onsetDateTime as a Simple Attribute, onsetAgeValue and onsetAgeUnit as Simple Attributes).Failure to account for all choice representations in both the model and the rubric is a common source of false positives in PIQI evaluations.
FHIR Observations illustrate a recurring interoperability challenge: a single resource type can represent structurally different categories of data — laboratory results, vital signs, clinical assessments, survey responses, and others. PIQI quality assessment depends on applying the right evaluations to the right kind of data, which requires a strategy for distinguishing data categories at the model level.
Two patterns are recommended:
Type-based separation is the preferred approach when data categories have distinct attribute structures and quality criteria. Map each logical category of data to a separate PIQI Data Class. The PIQI Clinical Data Model already implements this pattern: LabResult, VitalSign, and HealthAssessment are distinct Data Classes, each with attributes tailored to its content. Rubrics that target a specific Data Class can then apply type-appropriate SAMs without conditional logic.
Conditional evaluation is appropriate when full separation is not practical. In this pattern, a single Data Class holds all variants of the polymorphic data, and conditional SAMs within the Evaluation Rubric gate type-specific evaluations. A conditional SAM inspects a type-identifying attribute (such as a LOINC observation category code) and, if the condition passes, allows the associated evaluation SAM to run. If the data is of a different type, the evaluation is skipped without affecting the rubric score. This keeps the rubric applicable to a heterogeneous collection while ensuring that evaluations are applied only to the appropriate data.
Each Evaluation Criterion in an Evaluation Rubric independently assesses a single model entity — an attribute, element, Data Class, or Patient Container. Clinical data quality, however, often requires evaluating relationships across multiple Data Classes simultaneously. The PIQI framework supports this through Patient-level SAMs: SAMs with an input type of Patient, which receive the complete patient payload and can traverse any Data Class within it.
Cross-data-class evaluations should be modeled as Patient-level criteria in the Evaluation Rubric, with the Criterion Entity set to Patient. The underlying Patient-level SAM implements the multi-class logic.
Example 1: Medication and Patient Education Coherence
An Evaluation Rubric may include a criterion that assesses whether appropriate patient education was provided for a specific medication. A Patient-level SAM implementing this criterion would:
Medication Data Class for the target medication code.pass if the education record is found, fail if the medication is present but the education record is absent, or skip if the medication is not present (precondition not met).The skip result in step 3 can also be implemented using a conditional SAM: configure a medication presence check as the conditional SAM, so that the education verification SAM is only evaluated when the condition passes.
Example 2: Multi-Attribute Plausibility within a Lab Result
Plausibility checks that span multiple attributes of a single element — for example, verifying that a LabResult's LOINC code, specimen type, and reference range are mutually consistent — are implemented as element-level SAMs (input type Element). The SAM receives a single LabResult element and evaluates the relationships among its attributes. This is a cross-attribute evaluation scoped within a Data Class, distinct from cross-Data-Class evaluation, but follows the same principle of using the broadest-scope input type needed to access all relevant data.
These element-level plausibility SAMs are assigned to the Plausibility category in the HDQT and are a primary mechanism for detecting contextually implausible combinations that would not be caught by single-attribute validation.
PIQI evaluation services can be deployed in two primary patterns depending on latency requirements, data volume, and downstream processing needs.
Bulk profiling is the most common pattern for population-level data quality assessment. In this architecture, PIQI evaluates large collections of patient records asynchronously, producing aggregate statistics used for data governance, trend analysis, and root cause investigation.
Key design considerations for bulk profiling:
Real-time data gating uses PIQI to evaluate individual patient records as they are ingested, conditioning downstream processing on the result of the quality evaluation.
Key design considerations for real-time gating:
Clinical Quality Language (CQL) is a standards-based expression language defined by HL7 for clinical logic. The PIQI team assessed CQL as an execution pattern for SAMs requiring complex clinical logic, validating the approach against open-source CQL engines.
A CQL SAM is a SAM with an execution type of PCQL (PIQI-based CQL) and a specified input type (model, data class collection or data class element) that executes PIQI-based CQL logic and returns a pass, fail or skip result consistent with the standard SAM interface.. The SAM parameters are a CQL library reference (using the Content_Asset_Mnemonic parameter type) and an optional measure period (datetime interval). It executes the referenced CQL logic against the input type (patient payload, data class collection or data class element)
This pattern is particularly well-suited for: