This page is part of the FHIR Specification (v3.0.2: STU 3). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3 R2
FHIR Infrastructure Work Group | Maturity 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. |
Control | 1..1 |
Alternate Names | Collection; WorkingList; Organizer |
Invariants | Defined 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. |
Note | This is a business identifer, not a resource identifier (see discussion) |
Control | 0..* |
Type | Identifier |
List.status | |
Definition | Indicates the current state of this list. |
Control | 1..1 |
Terminology Binding | ListStatus (Required) |
Type | code |
Is Modifier | true |
Summary | true |
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. |
Control | 1..1 |
Terminology Binding | ListMode (Required) |
Type | code |
Is Modifier | true |
Requirements | Lists are used in various ways, and it must be known in what way it is safe to use them. |
Summary | true |
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. |
Control | 0..1 |
Type | string |
Requirements | Allows customization beyond just the code identifying the kind of list. |
Summary | true |
List.code | |
Definition | This code defines the purpose of the list - why it was created. |
Control | 0..1 |
Terminology Binding | Example Use Codes for List (Example) |
Type | CodeableConcept |
Requirements | Lists often contain subsets of resources rather than an exhaustive list. The code identifies what type of subset is included. |
Summary | true |
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. |
Control | 0..1 |
Type | Reference(Patient | Group | Device | Location) |
Requirements | The primary purpose of listing the subject explicitly is to help with finding the right list. |
Summary | true |
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. |
Control | 0..1 |
Type | Reference(Encounter) |
List.date | |
Definition | The date that the list was prepared. |
Control | 0..1 |
Type | dateTime |
Requirements | Identifies how current the list is which affects relevance. |
Summary | true |
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. |
Control | 0..1 |
Type | Reference(Practitioner | Patient | Device) |
Requirements | Allows follow-up as well as context. |
Alternate Names | Author |
Summary | true |
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. |
Control | 0..1 |
Terminology Binding | List Order Codes (Preferred) |
Type | CodeableConcept |
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. |
Control | 0..* |
Type | Annotation |
List.entry | |
Definition | Entries in this list. |
Control | 0..* |
Comments | If there are no entries in the list, an emptyReason SHOULD be provided. |
Invariants | Affect 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. |
Control | 0..1 |
Terminology Binding | Patient Medicine Change Types (Example) |
Type | CodeableConcept |
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. |
Control | 0..1 |
Type | boolean |
Is Modifier | true |
Default Value | false |
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. |
Invariants | Affect 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. |
Control | 0..1 |
Type | dateTime |
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. |
Control | 1..1 |
Type | Reference(Any) |
List.emptyReason | |
Definition | If the list is empty, why the list is empty. |
Control | 0..1 |
Terminology Binding | List Empty Reasons (Preferred) |
Type | CodeableConcept |
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. |
Invariants | Affect 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))) |