DSTU2 STU 3 Candidate
This page is part of the FHIR Specification (v1.0.2: DSTU 2). The current version which supercedes this version is

This page is part of the FHIR Specification (v1.4.0: STU 3 Ballot 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 . For a full list of available versions, see the Directory of published versions . Page versions: . Page versions: R5 R4B R4 R3 R2

6.1 Resource List - Content Resource List - Content

A set of information summarized from a list of other resources.
FHIR Infrastructure FHIR Infrastructure Work Group Work Group Maturity Level : 1 Maturity Level : 1 Compartments : : Device , , Patient , , Practitioner

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

6.1.1 Scope and Usage Scope and Usage The List resource is a flat, possibly ordered, collection of records. List resources are used in many places, including allergies, medications, alerts, family history, medical history, etc. List resources can be used to support patient-specific clinical lists as well as lists that manage workflows such as tracking patients, managing teaching cases, etc. Resources supported by the List resource can be homogenous – consisting of only one type of resource (e.g., allergy list); as well as heterogeneous – containing a variety of resources (e.g., a problem list including

The List resource is a flat, possibly ordered, collection of records. List resources are used in many places, including allergies, medications, alerts, family history, medical history, etc. List resources can be used to support patient-specific clinical lists as well as lists that manage workflows such as tracking patients, managing teaching cases, etc. Resources supported by the List resource can be homogenous – consisting of only one type of resource (e.g., allergy list); as well as heterogeneous – containing a variety of resources (e.g., a problem list including Conditions , , AllergyIntolerances , recent , recent Procedures , etc.). Lists will typically include references to the resources that make up the list, however in some cases the details of the content of the list might be expressed in narrative only; e.g., a text record of a family history. The List resource is only needed if there is a need to filter the set of resources by a mechanism that cannot be accomplished via a simple query; i.e. there is no need to have a list for all AllergyIntolerances that exist on a server for a given patient. However, List is an appropriate mechanism to provide a filtered list of the subset of , etc.).

Lists will typically include references to the resources that make up the list, however in some cases the details of the content of the list might be expressed in narrative only; e.g., a text record of a family history. The List resource is only needed if there is a need to filter the set of resources by a mechanism that cannot be accomplished via a simple query; i.e. there is no need to have a list for all AllergyIntolerances that are deemed to be "current". Lists are allowed to contain other lists, so that there is a nested collection of lists. Querying a List of resources such as AllergyIntolerance, Condition or Medication-related resources is different than querying the resource-specific end point. For example, a List of AllergyIntolerance would represent a curated point-in-time snapshot of the patient's allergies and intolerances. On the other hand, querying the AllergyIntolerance endpoint would typically produce a larger set of records as it would both be non-currated (potentially containing duplicate or out-of-date records) as well as current - generated based on information as of "now" rather than the last time a human manually revised the List resource instance. Which mechanism is most appropriate for data retrieval will vary by use-case. In some cases, systems may not have an appropriate currated List to query. Note that the presence of an item in a List resource SHALL NOT change the meaning of any information that would be understood by looking at the item outside the context of the List, because items may be accessed directly outside the list by RESTful means, or after a document is processed. For example, a List with a code that means "refuted conditions" can not have items that are Condition resources that do not have a that exist on a server for a given patient. However, List is an appropriate mechanism to provide a filtered list of the subset of AllergyIntolerances that are deemed to be "current". Lists are allowed to contain other lists, so that there is a nested collection of lists.

Querying a List of resources such as AllergyIntolerance, Condition or Medication-related resources is different than querying the resource-specific end point. For example, a List of AllergyIntolerance would represent a curated point-in-time snapshot of the patient's allergies and intolerances. On the other hand, querying the AllergyIntolerance endpoint would typically produce a larger set of records as it would both be non-currated (potentially containing duplicate or out-of-date records) as well as current - generated based on information as of "now" rather than the last time a human manually revised the List resource instance. Which mechanism is most appropriate for data retrieval will vary by use-case. In some cases, systems may not have an appropriate currated List to query.

Note that the presence of an item in a List resource SHALL NOT change the meaning of any information that would be understood by looking at the item outside the context of the List, because items may be accessed directly outside the list by RESTful means, or after a document is processed. For example, a List with a code that means "refuted conditions" can not have items that are Condition resources that do not have a Condition.clinicalStatus of of refuted . .

6.1.2 Boundaries and Relationships Boundaries and Relationships There are five mechanisms in FHIR for communicating collections of resources: This List resource - enumerates a flat collection of resources and provides features for managing the collection. While a particular List instance may represent a "snapshot", from a business process perspective the notion of "List" is dynamic – items are added and removed over time. The list resource references other resources. Lists may be curated and have specific business meaning. The

There are five mechanisms in FHIR for communicating collections of resources:

This resource is referenced by measurereport

6.1.3 Resource Content Resource Content

Structure

1..1 ?! Σ
Name Flags Card. Type Description & Constraints Description & Constraints doco
. . List I DomainResource Information summarized from a list of other resources Information summarized from a list of other resources
The deleted flag can only be used if the mode of the list is "changes" The deleted flag can only be used if the mode of the list is "changes"
A list can only have an emptyReason if it is empty A list can only have an emptyReason if it is empty
. . . identifier 0..* Identifier Business identifier Business identifier
. . title . status ?! Σ 0..1 1..1 string code Descriptive name for the list current | retired | entered-in-error
ListStatus ( Required )
. . code . mode ?! Σ 0..1 1..1 CodeableConcept code What the purpose of this list is working | snapshot | changes
Example Use Codes for List ( Example ListMode ( Required )
. . subject . title Σ 0..1 Reference ( Patient | Group | Device | Location string ) If all resources have the same subject Descriptive name for the list
. . source . code Σ 0..1 Reference ( Practitioner | Patient | Device CodeableConcept ) Who and/or what defined the list contents (aka Author) What the purpose of this list is
Example Use Codes for List ( Example )
. . encounter . subject Σ 0..1 Reference ( Encounter Patient | Group | Device | Location ) Context in which list created If all resources have the same subject
. . status . encounter ?! Σ code 0..1 current | retired | entered-in-error ListStatus Reference ( Required Encounter ) Context in which list created
. . . date Σ 0..1 dateTime When the list was prepared When the list was prepared
. . orderedBy . source 0..1 Σ CodeableConcept 0..1 What order the list has List Order Codes Reference ( Preferred Practitioner | Patient | Device ) Who and/or what defined the list contents (aka Author)
. . mode . orderedBy 1..1 0..1 code CodeableConcept working | snapshot | changes What order the list has
ListMode ( Required List Order Codes ( Preferred )
. . . note 0..1 0..* string Annotation Comments about the list Comments about the list
. . . entry I 0..* BackboneElement Entries in the list Entries in the list
. . . . flag 0..1 CodeableConcept Status/Workflow information about this item Status/Workflow information about this item
Patient Medicine Change Types ( Patient Medicine Change Types ( Example )
. . . . deleted ?! ?! I 0..1 boolean If this item is actually marked as deleted If this item is actually marked as deleted
. . . . date 0..1 dateTime When item added to list When item added to list
. . . . item 1..1 Reference ( Any ) Actual entry Actual entry
. . . emptyReason I 0..1 CodeableConcept Why list is empty Why list is empty
List Empty Reasons ( List Empty Reasons ( Preferred )

Documentation for this format doco Documentation for this format

UML Diagram UML Diagram

List ( ( DomainResource ) Identifier for the List assigned for business purposes outside the context of FHIR Identifier for the List assigned for business purposes outside the context of FHIR identifier : : Identifier [0..*] [0..*] Indicates the current state of this list (this element modifies the meaning of other elements) status : code [1..1] « The current state of the list (Strength=Required) ListStatus ! » 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 (this element modifies the meaning of other elements) mode : code [1..1] « The processing mode that applies to this list (Strength=Required) ListMode ! » A label for the list assigned by the author A label for the list assigned by the author title : : string [0..1] [0..1] This code defines the purpose of the list - why it was created This code defines the purpose of the list - why it was created code : : CodeableConcept [0..1] « [0..1] « What the purpose of a list is (Strength=Example) What the purpose of a list is (Strength=Example) Example Use Codes for List Example Use Codes for List ?? » ?? » The common subject (or patient) of the resources that are in the list, if there is one The common subject (or patient) of the resources that are in the list, if there is one subject : : Reference [0..1] « [0..1] « Patient | Group | Device | Location » 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 source : Reference [0..1] « Practitioner | Patient | Device » » The encounter that is the context in which this list was created The encounter that is the context in which this list was created encounter : : Reference [0..1] « [0..1] « Encounter » Indicates the current state of this list (this element modifies the meaning of other elements) status : code [1..1] « The current state of the list (Strength=Required) ListStatus ! » » The date that the list was prepared The date that the list was prepared date : : dateTime [0..1] [0..1] What order applies to the items in the list 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 orderedBy : CodeableConcept source : Reference [0..1] « Practitioner [0..1] « What order applies to the items in a list (Strength=Preferred) List Order | Patient ? » | Device » 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 (this element modifies the meaning of other elements) What order applies to the items in the list mode : code [1..1] « orderedBy : CodeableConcept [0..1] « The processing mode that applies to this list (Strength=Required) What order applies to the items in a list (Strength=Preferred) ListMode ! » List Order ? » Comments that apply to the overall list Comments that apply to the overall list note : string [0..1] : Annotation [0..*] If the list is empty, why the list is empty If the list is empty, why the list is empty emptyReason : : CodeableConcept [0..1] « [0..1] « If a list is empty, why it is empty (Strength=Preferred) If a list is empty, why it is empty (Strength=Preferred) List Empty Reasons List Empty Reasons ? » ? » Entry The flag allows the system constructing the list to indicate the role and significance of the item in the list The flag allows the system constructing the list to indicate the role and significance of the item in the list flag : : CodeableConcept [0..1] « [0..1] « Codes that provide further information about the reason and meaning of the item in the list (Strength=Example) Codes that provide further information about the reason and meaning of the item in the list (Strength=Example) Patient Medicine Change Types Patient Medicine Change Types ?? » ?? » True if this item is marked as deleted in the list (this element modifies the meaning of other elements) True if this item is marked as deleted in the list (this element modifies the meaning of other elements) deleted : : boolean [0..1] [0..1] When this item was added to the list When this item was added to the list date : : dateTime [0..1] [0..1] A reference to the actual resource from which data was derived A reference to the actual resource from which data was derived item : : Reference [1..1] « [1..1] « Any » » Entries in this list Entries in this list entry [0..*]

XML Template XML Template

<List xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..* Identifier Business identifier --></identifier>
 <status value="[code]"/><!-- 1..1 current | retired | entered-in-error -->
 <mode value="[code]"/><!-- 1..1 working | snapshot | changes -->

 <title value="[string]"/><!-- 0..1 Descriptive name for the list -->
 <code><!-- 0..1 CodeableConcept What the purpose of this list is --></code>
 <subject><!-- 0..1 Reference(Patient|Group|Device|Location) If all resources have the same subject --></subject>
 <</source>

 <encounter><!-- 0..1 Reference(Encounter) Context in which list created --></encounter>
 <

 <date value="[dateTime]"/><!-- 0..1 When the list was prepared -->
 <source><!-- 0..1 Reference(Practitioner|Patient|Device) Who and/or what defined the list contents (aka Author) --></source>

 <orderedBy><!-- 0..1 CodeableConcept What order the list has --></orderedBy>
 <
 <

 <note><!-- 0..* Annotation Comments about the list --></note>

 <entry>  <!-- ?? 0..* Entries in the list -->
  <flag><!-- 0..1 CodeableConcept Status/Workflow information about this item --></flag>
  <deleted value="[boolean]"/><!-- ?? 0..1 If this item is actually marked as deleted -->
  <date value="[dateTime]"/><!-- 0..1 When item added to list -->
  <item><!-- 1..1 Reference(Any) Actual entry --></item>
 </entry>
 <emptyReason><!-- ?? 0..1 CodeableConcept Why list is empty --></emptyReason>
</List>

Structure

1..1 ?! Σ
Name Flags Card. Type Description & Constraints Description & Constraints doco
. . List I DomainResource Information summarized from a list of other resources Information summarized from a list of other resources
The deleted flag can only be used if the mode of the list is "changes" The deleted flag can only be used if the mode of the list is "changes"
A list can only have an emptyReason if it is empty A list can only have an emptyReason if it is empty
. . . identifier 0..* Identifier Business identifier Business identifier
. . title . status ?! Σ 0..1 1..1 string code Descriptive name for the list current | retired | entered-in-error
ListStatus ( Required )
. . code . mode ?! Σ 0..1 1..1 CodeableConcept code What the purpose of this list is working | snapshot | changes
Example Use Codes for List ( Example ListMode ( Required )
. . subject . title Σ 0..1 Reference ( Patient | Group | Device | Location string ) If all resources have the same subject Descriptive name for the list
. . source . code Σ 0..1 Reference ( Practitioner | Patient | Device CodeableConcept ) Who and/or what defined the list contents (aka Author) What the purpose of this list is
Example Use Codes for List ( Example )
. . encounter . subject Σ 0..1 Reference ( Encounter Patient | Group | Device | Location ) Context in which list created If all resources have the same subject
. . status . encounter ?! Σ code 0..1 current | retired | entered-in-error ListStatus Reference ( Required Encounter ) Context in which list created
. . . date Σ 0..1 dateTime When the list was prepared When the list was prepared
. . orderedBy . source 0..1 Σ CodeableConcept 0..1 What order the list has List Order Codes Reference ( Preferred Practitioner | Patient | Device ) Who and/or what defined the list contents (aka Author)
. . mode . orderedBy 1..1 0..1 code CodeableConcept working | snapshot | changes What order the list has
ListMode ( Required List Order Codes ( Preferred )
. . . note 0..1 0..* string Annotation Comments about the list Comments about the list
. . . entry I 0..* BackboneElement Entries in the list Entries in the list
. . . . flag 0..1 CodeableConcept Status/Workflow information about this item Status/Workflow information about this item
Patient Medicine Change Types ( Patient Medicine Change Types ( Example )
. . . . deleted ?! ?! I 0..1 boolean If this item is actually marked as deleted If this item is actually marked as deleted
. . . . date 0..1 dateTime When item added to list When item added to list
. . . . item 1..1 Reference ( Any ) Actual entry Actual entry
. . . emptyReason I 0..1 CodeableConcept Why list is empty Why list is empty
List Empty Reasons ( List Empty Reasons ( Preferred )

Documentation for this format doco Documentation for this format

UML Diagram UML Diagram

List ( ( DomainResource ) Identifier for the List assigned for business purposes outside the context of FHIR Identifier for the List assigned for business purposes outside the context of FHIR identifier : : Identifier [0..*] [0..*] Indicates the current state of this list (this element modifies the meaning of other elements) status : code [1..1] « The current state of the list (Strength=Required) ListStatus ! » 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 (this element modifies the meaning of other elements) mode : code [1..1] « The processing mode that applies to this list (Strength=Required) ListMode ! » A label for the list assigned by the author A label for the list assigned by the author title : : string [0..1] [0..1] This code defines the purpose of the list - why it was created This code defines the purpose of the list - why it was created code : : CodeableConcept [0..1] « [0..1] « What the purpose of a list is (Strength=Example) What the purpose of a list is (Strength=Example) Example Use Codes for List Example Use Codes for List ?? » ?? » The common subject (or patient) of the resources that are in the list, if there is one The common subject (or patient) of the resources that are in the list, if there is one subject : : Reference [0..1] « [0..1] « Patient | Group | Device | Location » 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 source : Reference [0..1] « Practitioner | Patient | Device » » The encounter that is the context in which this list was created The encounter that is the context in which this list was created encounter : : Reference [0..1] « [0..1] « Encounter » Indicates the current state of this list (this element modifies the meaning of other elements) status : code [1..1] « The current state of the list (Strength=Required) ListStatus ! » » The date that the list was prepared The date that the list was prepared date : : dateTime [0..1] [0..1] What order applies to the items in the list 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 orderedBy : CodeableConcept source : Reference [0..1] « Practitioner [0..1] « What order applies to the items in a list (Strength=Preferred) List Order | Patient ? » | Device » 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 (this element modifies the meaning of other elements) What order applies to the items in the list mode : code [1..1] « orderedBy : CodeableConcept [0..1] « The processing mode that applies to this list (Strength=Required) What order applies to the items in a list (Strength=Preferred) ListMode ! » List Order ? » Comments that apply to the overall list Comments that apply to the overall list note : string [0..1] : Annotation [0..*] If the list is empty, why the list is empty If the list is empty, why the list is empty emptyReason : : CodeableConcept [0..1] « [0..1] « If a list is empty, why it is empty (Strength=Preferred) If a list is empty, why it is empty (Strength=Preferred) List Empty Reasons List Empty Reasons ? » ? » Entry The flag allows the system constructing the list to indicate the role and significance of the item in the list The flag allows the system constructing the list to indicate the role and significance of the item in the list flag : : CodeableConcept [0..1] « [0..1] « Codes that provide further information about the reason and meaning of the item in the list (Strength=Example) Codes that provide further information about the reason and meaning of the item in the list (Strength=Example) Patient Medicine Change Types Patient Medicine Change Types ?? » ?? » True if this item is marked as deleted in the list (this element modifies the meaning of other elements) True if this item is marked as deleted in the list (this element modifies the meaning of other elements) deleted : : boolean [0..1] [0..1] When this item was added to the list When this item was added to the list date : : dateTime [0..1] [0..1] A reference to the actual resource from which data was derived A reference to the actual resource from which data was derived item : : Reference [1..1] « [1..1] « Any » » Entries in this list Entries in this list entry [0..*]

XML Template XML Template

<List xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..* Identifier Business identifier --></identifier>
 <status value="[code]"/><!-- 1..1 current | retired | entered-in-error -->
 <mode value="[code]"/><!-- 1..1 working | snapshot | changes -->

 <title value="[string]"/><!-- 0..1 Descriptive name for the list -->
 <code><!-- 0..1 CodeableConcept What the purpose of this list is --></code>
 <subject><!-- 0..1 Reference(Patient|Group|Device|Location) If all resources have the same subject --></subject>
 <</source>

 <encounter><!-- 0..1 Reference(Encounter) Context in which list created --></encounter>
 <

 <date value="[dateTime]"/><!-- 0..1 When the list was prepared -->
 <source><!-- 0..1 Reference(Practitioner|Patient|Device) Who and/or what defined the list contents (aka Author) --></source>

 <orderedBy><!-- 0..1 CodeableConcept What order the list has --></orderedBy>
 <
 <

 <note><!-- 0..* Annotation Comments about the list --></note>

 <entry>  <!-- ?? 0..* Entries in the list -->
  <flag><!-- 0..1 CodeableConcept Status/Workflow information about this item --></flag>
  <deleted value="[boolean]"/><!-- ?? 0..1 If this item is actually marked as deleted -->
  <date value="[dateTime]"/><!-- 0..1 When item added to list -->
  <item><!-- 1..1 Reference(Any) Actual entry --></item>
 </entry>
 <emptyReason><!-- ?? 0..1 CodeableConcept Why list is empty --></emptyReason>
</List>

  Alternate definitions:

Alternate definitions: Schema / Schematron , Resource Profile ( , Resource Profile ( XML , , JSON ), ), Questionnaire

6.1.3.1 Terminology Bindings Terminology Bindings

List.code List.status List.orderedBy List.mode
Path Definition Type Reference
List.status What the purpose of a list is The current state of the list Example Required Example Use Codes for List ListStatus
List.mode The current state of the list The processing mode that applies to this list Required ListStatus ListMode
List.code What order applies to the items in a list What the purpose of a list is Preferred Example List Order Codes Example Use Codes for List
List.orderedBy The processing mode that applies to this list What order applies to the items in a list Required Preferred ListMode List Order Codes
List.entry.flag List.entry.flag Codes that provide further information about the reason and meaning of the item in the list Codes that provide further information about the reason and meaning of the item in the list Example Patient Medicine Change Types Patient Medicine Change Types
List.emptyReason List.emptyReason If a list is empty, why it is empty If a list is empty, why it is empty Preferred List Empty Reasons List Empty Reasons

6.1.3.2 Constraints Constraints

  • lst-1 : A list can only have an emptyReason if it is empty (xpath: not(exists(f:emptyReason) and exists(f:entry)) : A list can only have an emptyReason if it is empty ( expression : emptyReason.empty() or entry.empty() )
  • lst-2 : The deleted flag can only be used if the mode of the list is "changes" (xpath: (f:mode/@value = 'changes') or not(exists(f:entry/f:deleted)) : The deleted flag can only be used if the mode of the list is "changes" ( expression : mode = 'changes' or entry.deleted.empty() )

6.1.4 List Order List Order All lists are considered ordered - the order in which items literally appear in the list may be an important part of the meaning of the list. Reordering the items in a list may change the meaning of the list. While a list always contains an ordered set of items, the significance of the order may be unknown, or it may be insignificant. As an example, consider a list of patients for a practitioner to visit. The list may be in order, where the patients are to be visited in the stated order, or just an unsorted list of patients to be visited in any order. The list resource has a property

All lists are considered ordered - the order in which items literally appear in the list may be an important part of the meaning of the list. Reordering the items in a list may change the meaning of the list.

While a list always contains an ordered set of items, the significance of the order may be unknown, or it may be insignificant. As an example, consider a list of patients for a practitioner to visit. The list may be in order, where the patients are to be visited in the stated order, or just an unsorted list of patients to be visited in any order.

The list resource has a property orderedBy that, if present, specifies the meaning of the item order. Note, though, that the meaning of the order may be known implicitly rather than specified in the that, if present, specifies the meaning of the item order. Note, though, that the meaning of the order may be known implicitly rather than specified in the orderedBy element. Applications SHOULD NOT reorder the elements in a list unless they understand the impact of this on the meaning of the list. element.

Applications SHOULD NOT reorder the elements in a list unless they understand the impact of this on the meaning of the list.

6.1.5 List Mode & Item Deleted List Mode & Item Deleted There are several different kinds of uses for a List resource:

There are several different kinds of uses for a List resource:

6.1.5.1 The processing mode that applies to this list The processing mode that applies to this list

The most common mode is "snapshot" - a list that is accurate within the context it is used in but not current or maintained after that; e.g., medications on discharge in a discharge summary. Note that these lists usually have a status of 'current' - they were current when they were prepared. Some kinds of lists may be explicitly retired (particularly if mode = working), but most will not be maintained after creation. A change list may include deleted items. Some examples of change lists are a reconciled list of allergies, a discharge medication list and a list with new, updated and deleted items in it - though these may not be lists that include changes (this is an implementation decision). In order to ensure that the list is safe to process, any item where the flag implies that the item has actually been deleted SHALL have the deleted element set to true. Note that there is no implication about the status of a resource that has been deleted. The only statement that is made is that the resource has been dropped from the list. However applications should ensure that the implication of adding or deleting items from the list is consistent with the logical status of the resource and its contents. A proper use of List.mode = "changes" with a deleted resource is in a medications list for a discharge summary. See Example "med-list". An improper use would be if the list was a working list of patient medications in a clinical tracking system, and list item flags were used to implement version tracking history within the resource.
working This list is the master list, maintained in an ongoing fashion with regular updates as the real world list it is tracking changes This list is the master list, maintained in an ongoing fashion with regular updates as the real world list it is tracking changes
snapshot This list was prepared as a snapshot. It should not be assumed to be current This list was prepared as a snapshot. It should not be assumed to be current
changes A list that indicates where changes have been made or recommended A list that indicates where changes have been made or recommended

The most common mode is "snapshot" - a list that is accurate within the context it is used in but not current or maintained after that; e.g., medications on discharge in a discharge summary. Note that these lists usually have a status of 'current' - they were current when they were prepared. Some kinds of lists may be explicitly retired (particularly if mode = working), but most will not be maintained after creation.

A change list may include deleted items. Some examples of change lists are a reconciled list of allergies, a discharge medication list and a list with new, updated and deleted items in it - though these may not be lists that include changes (this is an implementation decision). In order to ensure that the list is safe to process, any item where the flag implies that the item has actually been deleted SHALL have the deleted element set to true.

Note that there is no implication about the status of a resource that has been deleted. The only statement that is made is that the resource has been dropped from the list. However applications should ensure that the implication of adding or deleting items from the list is consistent with the logical status of the resource and its contents.

A proper use of List.mode = "changes" with a deleted resource is in a medications list for a discharge summary. See Example "med-list". An improper use would be if the list was a working list of patient medications in a clinical tracking system, and list item flags were used to implement version tracking history within the resource.

6.1.6 Narrative Content Narrative Content The narrative portion of the List resource should contain a summary of the items in the list, their key information, along with a human-readable summary of their flags (if present). The narrative may be generated from the data content and/or narrative of the resources referred to in the list, or it may be a narrative written by a human, which is partially or completely matched by structured data in the linked resources. The human written narrative may be the only content if the list has no entries (which would equate to a narrative only section in a document). An HTML table is the recommended approach, though this is not required. Each List.item should appear in the narrative for the resource; i.e. it SHALL NOT be necessary to retrieve the list items in order to have a human-readable rendering of the content. In addition, if the List.text.status is "generated", then the narrative should not suggest the list contains items for which there are no corresponding List.item elements. If the list has flags, the representation should make clear use of visual hints (borders, lines, bullet marks, etc.) to ensure that human readers do not get confused about which flags belong with which item on space-poor displays (e.g. to prevent wrapping from separating the flags from the items). Note that when a List resource is used in a

The narrative portion of the List resource should contain a summary of the items in the list, their key information, along with a human-readable summary of their flags (if present). The narrative may be generated from the data content and/or narrative of the resources referred to in the list, or it may be a narrative written by a human, which is partially or completely matched by structured data in the linked resources. The human written narrative may be the only content if the list has no entries (which would equate to a narrative only section in a document).

An HTML table is the recommended approach, though this is not required. Each List.item should appear in the narrative for the resource; i.e. it SHALL NOT be necessary to retrieve the list items in order to have a human-readable rendering of the content. In addition, if the List.text.status is "generated", then the narrative should not suggest the list contains items for which there are no corresponding List.item elements. If the list has flags, the representation should make clear use of visual hints (borders, lines, bullet marks, etc.) to ensure that human readers do not get confused about which flags belong with which item on space-poor displays (e.g. to prevent wrapping from separating the flags from the items).

Note that when a List resource is used in a Document , the narrative of the list is part of the attested content of the document. In a dynamic environment, the narrative content of the list will be limited to the version of the linked resources at the time the list was last updated. It may be even earlier if the narrative isn't updated to reflect the most recent version of all referenced resources at each update. Best practice for 'working' lists is to update the narrative to reflect the most recent content of all list elements each time the list is revised. Lists should therefore not be relied on as a real-time view of the referenced content. There are a few possible approaches to work around this issue: Provide minimal information about the listed resources, possibly limited to only a link. (Not recommended as this severely limits the usefulness of the narrative and is particularly problematic for things like documents where the only attested content might be the List narrative) Include only "generated" narrative, so the retriever can easily generate their own "current" view of the list by retrieving the referenced resources, ignoring the fixed narrative. The server hosting the list can subscribe to all referenced resources and auto-update the narrative each time one of the referenced resources changes (or at least on a semi-frequent basis) , the narrative of the list is part of the attested content of the document.

In a dynamic environment, the narrative content of the list will be limited to the version of the linked resources at the time the list was last updated. It may be even earlier if the narrative isn't updated to reflect the most recent version of all referenced resources at each update. Best practice for 'working' lists is to update the narrative to reflect the most recent content of all list elements each time the list is revised. Lists should therefore not be relied on as a real-time view of the referenced content. There are a few possible approaches to work around this issue:

  • Provide minimal information about the listed resources, possibly limited to only a link. (Not recommended as this severely limits the usefulness of the narrative and is particularly problematic for things like documents where the only attested content might be the List narrative)
  • Include only "generated" narrative, so the retriever can easily generate their own "current" view of the list by retrieving the referenced resources, ignoring the fixed narrative.
  • The server hosting the list can subscribe to all referenced resources and auto-update the narrative each time one of the referenced resources changes (or at least on a semi-frequent basis)

6.1.7 Empty Reason Empty Reason If the list is empty, there could be several different reasons why this is so. For example: There are no appropriate entries for the list (i.e. the patient has no known medications/allergies/history) The sender (human or system) deemed that these were not related to this context of patient care (usually for privacy related reasons) The source system doesn't support these type of entries The information to populate the list wasn't gathered - i.e. "Not asked" Given these possibilities, and the common and significant first case, source systems SHOULD provide an empty reason if the list is empty. Because of the importance of this case, the special value "nil-known" should be used when there are no (significant) entries in this context of care. Note that this concept is sometimes described differently, such as "patient denies taking medications", or "patient was unable to identify any relevant medical history". When receiving a list, systems should not assume that the list is complete (some entries may have been withheld for a variety of reasons), unless there are specific trading partner arrangements in place or, if the list is empty, that there are actually nil known, unless the "nil-known" code is present. If the list is empty, the narrative should contain text equivalent to the empty reason.

If the list is empty, there could be several different reasons why this is so. For example:

  • There are no appropriate entries for the list (i.e. the patient has no known medications/allergies/history)
  • The sender (human or system) deemed that these were not related to this context of patient care (usually for privacy related reasons)
  • The source system doesn't support these type of entries
  • The information to populate the list wasn't gathered - i.e. "Not asked"

Given these possibilities, and the common and significant first case, source systems SHOULD provide an empty reason if the list is empty. Because of the importance of this case, the special value "nil-known" should be used when there are no (significant) entries in this context of care. Note that this concept is sometimes described differently, such as "patient denies taking medications", or "patient was unable to identify any relevant medical history".

When receiving a list, systems should not assume that the list is complete (some entries may have been withheld for a variety of reasons), unless there are specific trading partner arrangements in place or, if the list is empty, that there are actually nil known, unless the "nil-known" code is present.

If the list is empty, the narrative should contain text equivalent to the empty reason.

6.1.8 Search Parameters Search Parameters Search parameters for this resource. The common parameters also apply. See

Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services. for more information about searching in REST, messaging, and services.

© HL7.org 2011+. FHIR DSTU2 (v1.0.2-7202) generated on Sat, Oct 24, 2015 07:43+1100. Links: Search
Name Type Description Paths
code token What the purpose of this list is What the purpose of this list is List.code
date date When the list was prepared When the list was prepared List.date
empty-reason token Why list is empty Why list is empty List.emptyReason
encounter reference Context in which list created Context in which list created List.encounter
( Encounter )
identifier token Business identifier List.identifier
item reference Actual entry Actual entry List.entry.item
(Any)
notes string Comments about the list Comments about the list List.note
patient reference If all resources have the same subject If all resources have the same subject List.subject
( Patient )
source reference Who and/or what defined the list contents (aka Author) Who and/or what defined the list contents (aka Author) List.source
( Device , , Patient , , Practitioner )
status token current | retired | entered-in-error current | retired | entered-in-error List.status
subject reference If all resources have the same subject If all resources have the same subject List.subject
( Device , , Location , , Patient , , Group )
title string Descriptive name for the list Descriptive name for the list List.title