Current Build
FHIR Infrastructure Work GroupMaturity Level: 1 Trial Use Compartments: Device, Patient, Practitioner

Detailed Descriptions for the elements in the List resource.

List
Definition

A set of information summarized from a list of other resources.

Control1..1
Alternate NamesCollection; WorkingList; Organizer
InvariantsDefined on this element
lst-1: A list can only have an emptyReason if it is empty (expression : emptyReason.empty() or entry.empty(), xpath: not(exists(f:emptyReason) and exists(f:entry)))
lst-2: The deleted flag can only be used if the mode of the list is "changes" (expression : mode = 'changes' or entry.deleted.empty(), xpath: (f:mode/@value = 'changes') or not(exists(f:entry/f:deleted)))
List.identifier
Definition

Identifier for the List assigned for business purposes outside the context of FHIR.

NoteThis is a business identifer, not a resource identifier (see discussion)
Control0..*
TypeIdentifier
List.status
Definition

Indicates the current state of this list.

Control1..1
Terminology BindingListStatus (Required)
Typecode
Is Modifiertrue (Reason: This element is labelled as a modifier because it is a status element that contains status entered-in-error which means that the resource should not be treated as valid)
Summarytrue
Comments

This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.

List.mode
Definition

How this list was prepared - whether it is a working list that is suitable for being maintained on an ongoing basis, or if it represents a snapshot of a list of items from another source, or whether it is a prepared list where items may be marked as added, modified or deleted.

Control1..1
Terminology BindingListMode (Required)
Typecode
Is Modifiertrue (Reason: Not known why this is labelled a modifier)
Requirements

Lists are used in various ways, and it must be known in what way it is safe to use them.

Summarytrue
Comments

This element is labeled as a modifier because a change list must not be mis-understood as a complete list.

List.title
Definition

A label for the list assigned by the author.

Control0..1
Typestring
Requirements

Allows customization beyond just the code identifying the kind of list.

Summarytrue
List.code
Definition

This code defines the purpose of the list - why it was created.

Control0..1
Terminology BindingExample Use Codes for List (Example)
TypeCodeableConcept
Requirements

Lists often contain subsets of resources rather than an exhaustive list. The code identifies what type of subset is included.

Summarytrue
Comments

If there is no code, the purpose of the list is implied where it is used, such as in a document section using Document.section.code.

List.subject
Definition

The common subject (or patient) of the resources that are in the list, if there is one.

Control0..1
TypeReference(Patient | Group | Device | Location)
Requirements

The primary purpose of listing the subject explicitly is to help with finding the right list.

Summarytrue
Comments

Some purely arbitrary lists do not have a common subject, so this is optional.

List.encounter
Definition

The encounter that is the context in which this list was created.

Control0..1
TypeReference(Encounter)
List.date
Definition

The date that the list was prepared.

Control0..1
TypedateTime
Requirements

Identifies how current the list is which affects relevance.

Summarytrue
Comments

The actual important date is the date of currency of the resources that were summarized, but it is usually assumed that these are current when the preparation occurs.

List.source
Definition

The entity responsible for deciding what the contents of the list were. Where the list was created by a human, this is the same as the author of the list.

Control0..1
TypeReference(Practitioner | PractitionerRole | Patient | Device)
Requirements

Allows follow-up as well as context.

Alternate NamesAuthor
Summarytrue
Comments

The primary source is the entity that made the decisions what items are in the list. This may be software or user.

List.orderedBy
Definition

What order applies to the items in the list.

Control0..1
Terminology BindingList Order Codes (Preferred)
TypeCodeableConcept
Requirements

Important for presentation and rendering. Lists may be sorted to place more important information first or to group related entries.

Comments

Applications SHOULD render ordered lists in the order provided, but MAY allow users to re-order based on their own preferences as well. If there is no order specified, the order is unknown, though there may still be some order.

List.note
Definition

Comments that apply to the overall list.

Control0..*
TypeAnnotation
List.entry
Definition

Entries in this list.

Control0..*
Comments

If there are no entries in the list, an emptyReason SHOULD be provided.

InvariantsAffect this element
lst-1: A list can only have an emptyReason if it is empty (expression : emptyReason.empty() or entry.empty(), xpath: not(exists(f:emptyReason) and exists(f:entry)))
List.entry.flag
Definition

The flag allows the system constructing the list to indicate the role and significance of the item in the list.

Control0..1
Terminology BindingPatient Medicine Change Types (Example)
TypeCodeableConcept
Requirements

This field is present to support various clinical uses of lists, such as a discharge summary medication list, where flags specify whether the medication was added, modified, or deleted from the list.

Comments

The flag can only be understood in the context of the List.code. If the flag means that the entry has actually been deleted from the list, the deleted element SHALL be true. Deleted can only be used if the List.mode is "changes".

List.entry.deleted
Definition

True if this item is marked as deleted in the list.

Control0..1
Typeboolean
Is Modifiertrue (Reason: Not known why this is labelled a modifier)
Default Valuefalse
Requirements

The flag element may contain codes that an application processing the list does not understand. However there can be no ambiguity if a list item is actually marked as "deleted".

Comments

If the flag means that the entry has actually been deleted from the list, the deleted element SHALL be true. Both flag and deleted can only be used if the List.mode is "changes". A deleted entry should be displayed in narrative as deleted.

This element is labeled as a modifier because it indicates that an item is (to be) no longer in the list.

InvariantsAffect this element
lst-2: The deleted flag can only be used if the mode of the list is "changes" (expression : mode = 'changes' or entry.deleted.empty(), xpath: (f:mode/@value = 'changes') or not(exists(f:entry/f:deleted)))
List.entry.date
Definition

When this item was added to the list.

Control0..1
TypedateTime
Requirements

The date may be significant for understanding the meaning of items in a working list.

Comments

This is only useful and meaningful when the mode is "working".

List.entry.item
Definition

A reference to the actual resource from which data was derived.

Control1..1
TypeReference(Any)
List.emptyReason
Definition

If the list is empty, why the list is empty.

Control0..1
Terminology BindingList Empty Reasons (Preferred)
TypeCodeableConcept
Requirements

Allows capturing things like "none exist" or "not asked" which can be important for most lists.

Comments

The various reasons for an empty list make a significant interpretation to its interpretation. Note that this code is for use when the entire list has been suppressed, and not for when individual items are omitted - implementers may consider using a text note or a flag on an entry in these cases.

InvariantsAffect this element
lst-1: A list can only have an emptyReason if it is empty (expression : emptyReason.empty() or entry.empty(), xpath: not(exists(f:emptyReason) and exists(f:entry)))