Library — détail : conteneur CQL & FHIRPath
Porteur de logique exécutable (CQL, FHIRPath, ELM) référencée par Measure, PlanDefinition, ActivityDefinition. Brique de base des mesures de qualité HEDIS / QPP et de la décision clinique évidence-based.
Rôle dans le clinical reasoning
Library est l'asset central du pattern Clinical Quality Language (CQL). Une Library porte le code CQL exécutable que les autres ressources referencent :
- Measure ->
library-> Library (population, numerator, denominator). - PlanDefinition ->
library-> Library (rules CDS). - ActivityDefinition ->
library-> Library (computation d'attributs).
Champs clés
| Champ | Cardinalité | Rôle |
|---|---|---|
url | 0..1 | URL canonique référencée par les Measure / PlanDefinition. |
version | 0..1 | Version sémantique. |
status | 1..1 | draft | active | retired | unknown. |
type | 1..1 | logic-library | model-definition | asset-collection | module-definition. |
content | 0..* | Attachments. Texte CQL, ELM XML/JSON. |
dataRequirement | 0..* | Données FHIR consommées (utile pour pré-fetch). |
parameter | 0..* | Paramètres d'exécution. |
CQL embarqué
Le bloc content embarque le CQL en base64 (contentType: text/cql)
ou pointe vers un attachment externe (url). Le serveur compile en ELM
(Expression Logical Model) avant exécution.
Exemple : Library de mesure HbA1c
{
"resourceType": "Library",
"id": "lib-hba1c-measure",
"url": "http://example.org/fhir/Library/HbA1cMeasure",
"version": "1.0.0",
"name": "HbA1cMeasure",
"title": "HbA1c Quality Measure CQL Library",
"status": "active",
"experimental": false,
"type": {
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/library-type",
"code": "logic-library"
}]
},
"subjectCodeableConcept": {
"coding": [{
"system": "http://hl7.org/fhir/resource-types",
"code": "Patient"
}]
},
"content": [{
"contentType": "text/cql",
"data": "bGlicmFyeSBIYkExY01lYXN1cmUgdmVyc2lvbiAnMS4wLjAnCnVzaW5nIEZISVIgdmVyc2lvbiAnNS4wLjAnCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnNS4wLjAnCgpwYXJhbWV0ZXIgIk1lYXN1cmVtZW50IFBlcmlvZCIgSW50ZXJ2YWw8RGF0ZVRpbWU+Cgpjb250ZXh0IFBhdGllbnQK"
}]
} Pièges courants
- Pas de version — sans
version, la traçabilité d'audit est cassée. - CQL non compilable — un attachment CQL erroné fait échouer les Measure consommatrices. Test unitaire en pré-publication.
- dataRequirement absent — sans, le serveur ne peut pas pré-fetcher les données.