List — detail: curated lists and IPS
Editorial container for lists: problem list, allergy list, medication list, current care list, provider list. Core of the IPS (International Patient Summary) model.
Role of curated lists
A List is a view composed and maintained manually over a set of resources. Where a FHIR search returns everything that matches, a List reflects a clinical decision about what is relevant. The clinician chooses what to include/exclude: not all diagnoses are active problems.
mode: working, snapshot, changes
| Code | Semantics |
|---|---|
working | Evolving working list (active problem list). |
snapshot | Point-in-time snapshot (IPS Bundle). |
changes | Delta only: entries added/removed since previous version. |
Key fields
status—current | retired | entered-in-error.title— human-displayed title.code— LOINC code (e.g. 11450-4 problem list, 48765-2 allergy list).orderedBy— ordering criterion (user, system, event-date, priority).entry— a list item. Backbone withitem(Reference),deleted(in changes mode),flag,date.emptyReason— if the list is intentionally empty (nullFlavor).
Example: IPS Problem List
{
"resourceType": "List",
"id": "problem-list-marie-dupont",
"status": "current",
"mode": "working",
"title": "Active problem list",
"code": {
"coding": [{
"system": "http://loinc.org",
"code": "11450-4",
"display": "Problem list - Reported"
}]
},
"subject": { "reference": "Patient/marie-dupont" },
"date": "2026-05-18T09:00:00+02:00",
"source": { "reference": "Practitioner/dr-leclerc" },
"orderedBy": {
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/list-order",
"code": "priority"
}]
},
"entry": [{
"item": { "reference": "Condition/diabetes-type-2" }
}, {
"item": { "reference": "Condition/hypertension" }
}, {
"flag": {
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/list-item-flag",
"code": "01"
}]
},
"deleted": false,
"date": "2026-05-18T09:00:00+02:00",
"item": { "reference": "Condition/migraine-occasional" }
}]
} Common pitfalls
- Inconsistent mode — a
mode=snapshotwithentry.deletedis invalid;deletedonly makes sense inchanges. - Missing
orderedBy— the order inentry[]may then be silently reorganised by clients. - List used in place of a search — if the list is derivable from a FHIR search, prefer the search.
- Empty list with no emptyReason — an empty
entry[]withoutemptyReasonis ambiguous (forgotten vs intentional).