FHIR for FAIR - FHIR Implementation Guide
1.0.0 - STU 1 International flag

This page is part of the FHIR for FAIR - FHIR Implementation Guide (v1.0.0: STU 1) based on FHIR v4.3.0. This is the current published version. For a full list of available versions, see the Directory of published versions

Resource Profile: List [Subject Level Medatata]

Official URL: http://hl7.org/fhir/uv/fhir-for-fair/StructureDefinition/List-uv-f4f Version: 1.0.0
Active as of 2022-09-28 Computable Name: ListF4F

This profile defines how to use the List resource to convey subject level metadata information for a FAIR collection of data by using HL7 FHIR

Usage:

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from List

This structure is derived from List

NameFlagsCard.TypeDescription & Constraintsdoco
.. List 0..*ListA list is a curated collection of resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... copyright 0..1markdownCopyright
URL: http://hl7.org/fhir/uv/fhir-for-fair/StructureDefinition/copyright
... licenceCodeable 0..1CodeableConceptLicence Terms as CodeableConcept
URL: http://hl7.org/fhir/uv/fhir-for-fair/StructureDefinition/licenceCodeable
... subjectOther 0..*Reference(Resource)Other Subjects [Resource]
URL: http://hl7.org/fhir/uv/fhir-for-fair/StructureDefinition/subjectOther
... classifier 0..*CodeableConceptClassifier [Resource]
URL: http://hl7.org/fhir/uv/fhir-for-fair/StructureDefinition/classifier
... Slices for identifier 0..*IdentifierBusiness identifier
Slice: Unordered, Open by value:system
.... identifier:url 0..*IdentifierGUPRI (uri)
..... system 1..1uriThe namespace for the identifier value
Required Pattern: urn:ietf:rfc:3986
..... value 0..1stringuri
... subject 0..1Reference(Patient | Group | Device | Location)Subject of the listed resources
... date 0..1dateTimeWhen the list was prepared.
... source 0..1Reference(Practitioner | PractitionerRole | Patient | Device)Who and/or what defined the list contents (aka Author).
... entry
.... item 1..1Reference(Resource)A reference to the listed resource.

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. List C0..*ListA list is a curated collection of resources
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... copyright 0..1markdownCopyright
URL: http://hl7.org/fhir/uv/fhir-for-fair/StructureDefinition/copyright
... licenceCodeable 0..1CodeableConceptLicence Terms as CodeableConcept
URL: http://hl7.org/fhir/uv/fhir-for-fair/StructureDefinition/licenceCodeable
... licenceAttachment 0..1AttachmentLicence Terms as Attachment
URL: http://hl7.org/fhir/uv/fhir-for-fair/StructureDefinition/licenceAttachment
... subjectOther 0..*Reference(Resource)Other Subjects [Resource]
URL: http://hl7.org/fhir/uv/fhir-for-fair/StructureDefinition/subjectOther
... classifier 0..*CodeableConceptClassifier [Resource]
URL: http://hl7.org/fhir/uv/fhir-for-fair/StructureDefinition/classifier
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... Slices for identifier 0..*IdentifierBusiness identifier
Slice: Unordered, Open by value:system
.... identifier:url 0..*IdentifierGUPRI (uri)
..... id 0..1idUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
..... type Σ0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible)
..... system Σ1..1uriThe namespace for the identifier value
Required Pattern: urn:ietf:rfc:3986
..... value Σ0..1stringuri
Example General: 123456
..... period Σ0..1PeriodTime period when id is/was valid for use
..... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)
... status ?!Σ1..1codecurrent | retired | entered-in-error
Binding: ListStatus (required): The current state of the list.

... mode ?!Σ1..1codeworking | snapshot | changes
Binding: ListMode (required): The processing mode that applies to this list.

... title Σ0..1stringDescriptive name for the list
Example General: Dr. Jane's Patients
... code Σ0..1CodeableConceptWhat the purpose of this list is
Binding: ExampleUseCodesForList (example): What the purpose of a list is.

... subject Σ0..1Reference(Patient | Group | Device | Location)Subject of the listed resources
... encounter 0..1Reference(Encounter)Context in which list created
... date Σ0..1dateTimeWhen the list was prepared.
... source Σ0..1Reference(Practitioner | PractitionerRole | Patient | Device)Who and/or what defined the list contents (aka Author).
... orderedBy 0..1CodeableConceptWhat order the list has
Binding: ListOrderCodes (preferred): What order applies to the items in a list.

... note 0..*AnnotationComments about the list
... entry C0..*BackboneElementEntries in the list
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... flag 0..1CodeableConceptStatus/Workflow information about this item
Binding: PatientMedicineChangeTypes (example): Codes that provide further information about the reason and meaning of the item in the list.

.... deleted ?!C0..1booleanIf this item is actually marked as deleted
.... date 0..1dateTimeWhen item added to list
.... item 1..1Reference(Resource)A reference to the listed resource.
... emptyReason C0..1CodeableConceptWhy list is empty
Binding: ListEmptyReasons (preferred): If a list is empty, why it is empty.


doco Documentation for this format

This structure is derived from List

Differential View

This structure is derived from List

NameFlagsCard.TypeDescription & Constraintsdoco
.. List 0..*ListA list is a curated collection of resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... copyright 0..1markdownCopyright
URL: http://hl7.org/fhir/uv/fhir-for-fair/StructureDefinition/copyright
... licenceCodeable 0..1CodeableConceptLicence Terms as CodeableConcept
URL: http://hl7.org/fhir/uv/fhir-for-fair/StructureDefinition/licenceCodeable
... subjectOther 0..*Reference(Resource)Other Subjects [Resource]
URL: http://hl7.org/fhir/uv/fhir-for-fair/StructureDefinition/subjectOther
... classifier 0..*CodeableConceptClassifier [Resource]
URL: http://hl7.org/fhir/uv/fhir-for-fair/StructureDefinition/classifier
... Slices for identifier 0..*IdentifierBusiness identifier
Slice: Unordered, Open by value:system
.... identifier:url 0..*IdentifierGUPRI (uri)
..... system 1..1uriThe namespace for the identifier value
Required Pattern: urn:ietf:rfc:3986
..... value 0..1stringuri
... subject 0..1Reference(Patient | Group | Device | Location)Subject of the listed resources
... date 0..1dateTimeWhen the list was prepared.
... source 0..1Reference(Practitioner | PractitionerRole | Patient | Device)Who and/or what defined the list contents (aka Author).
... entry
.... item 1..1Reference(Resource)A reference to the listed resource.

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. List C0..*ListA list is a curated collection of resources
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... copyright 0..1markdownCopyright
URL: http://hl7.org/fhir/uv/fhir-for-fair/StructureDefinition/copyright
... licenceCodeable 0..1CodeableConceptLicence Terms as CodeableConcept
URL: http://hl7.org/fhir/uv/fhir-for-fair/StructureDefinition/licenceCodeable
... licenceAttachment 0..1AttachmentLicence Terms as Attachment
URL: http://hl7.org/fhir/uv/fhir-for-fair/StructureDefinition/licenceAttachment
... subjectOther 0..*Reference(Resource)Other Subjects [Resource]
URL: http://hl7.org/fhir/uv/fhir-for-fair/StructureDefinition/subjectOther
... classifier 0..*CodeableConceptClassifier [Resource]
URL: http://hl7.org/fhir/uv/fhir-for-fair/StructureDefinition/classifier
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... Slices for identifier 0..*IdentifierBusiness identifier
Slice: Unordered, Open by value:system
.... identifier:url 0..*IdentifierGUPRI (uri)
..... id 0..1idUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
..... type Σ0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible)
..... system Σ1..1uriThe namespace for the identifier value
Required Pattern: urn:ietf:rfc:3986
..... value Σ0..1stringuri
Example General: 123456
..... period Σ0..1PeriodTime period when id is/was valid for use
..... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)
... status ?!Σ1..1codecurrent | retired | entered-in-error
Binding: ListStatus (required): The current state of the list.

... mode ?!Σ1..1codeworking | snapshot | changes
Binding: ListMode (required): The processing mode that applies to this list.

... title Σ0..1stringDescriptive name for the list
Example General: Dr. Jane's Patients
... code Σ0..1CodeableConceptWhat the purpose of this list is
Binding: ExampleUseCodesForList (example): What the purpose of a list is.

... subject Σ0..1Reference(Patient | Group | Device | Location)Subject of the listed resources
... encounter 0..1Reference(Encounter)Context in which list created
... date Σ0..1dateTimeWhen the list was prepared.
... source Σ0..1Reference(Practitioner | PractitionerRole | Patient | Device)Who and/or what defined the list contents (aka Author).
... orderedBy 0..1CodeableConceptWhat order the list has
Binding: ListOrderCodes (preferred): What order applies to the items in a list.

... note 0..*AnnotationComments about the list
... entry C0..*BackboneElementEntries in the list
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... flag 0..1CodeableConceptStatus/Workflow information about this item
Binding: PatientMedicineChangeTypes (example): Codes that provide further information about the reason and meaning of the item in the list.

.... deleted ?!C0..1booleanIf this item is actually marked as deleted
.... date 0..1dateTimeWhen item added to list
.... item 1..1Reference(Resource)A reference to the listed resource.
... emptyReason C0..1CodeableConceptWhy list is empty
Binding: ListEmptyReasons (preferred): If a list is empty, why it is empty.


doco Documentation for this format

 

Other representations of profile: CSV, Excel, Schematron

Terminology Bindings

PathConformanceValueSet
List.languagepreferredCommonLanguages
Max Binding: AllLanguages
List.identifier:url.userequiredIdentifierUse
List.identifier:url.typeextensibleIdentifier Type Codes
List.statusrequiredListStatus
List.moderequiredListMode
List.codeexampleExampleUseCodesForList
List.orderedBypreferredListOrderCodes
List.entry.flagexamplePatientMedicineChangeTypes
List.emptyReasonpreferredListEmptyReasons

Constraints

IdGradePathDetailsRequirements
dom-2errorListIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorListIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where(((id.exists() and ('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url)))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(uri) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorListIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorListIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6Best PracticeListA resource should have narrative for robust management
: text.`div`.exists()
lst-1errorListA list can only have an emptyReason if it is empty
: emptyReason.empty() or entry.empty()
lst-2errorListThe deleted flag can only be used if the mode of the list is "changes"
: mode = 'changes' or entry.deleted.empty()
lst-3errorListAn entry date can only be used if the mode of the list is "working"
: mode = 'working' or entry.date.empty()
ele-1errorList.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorList.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorList.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorList.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
dom-r4bwarningList.containedContaining new R4B resources within R4 resources may cause interoperability issues if instances are shared with R4 systems
: ($this is Citation or $this is Evidence or $this is EvidenceReport or $this is EvidenceVariable or $this is MedicinalProductDefinition or $this is PackagedProductDefinition or $this is AdministrableProductDefinition or $this is Ingredient or $this is ClinicalUseDefinition or $this is RegulatedAuthorization or $this is SubstanceDefinition or $this is SubscriptionStatus or $this is SubscriptionTopic) implies (%resource is Citation or %resource is Evidence or %resource is EvidenceReport or %resource is EvidenceVariable or %resource is MedicinalProductDefinition or %resource is PackagedProductDefinition or %resource is AdministrableProductDefinition or %resource is Ingredient or %resource is ClinicalUseDefinition or %resource is RegulatedAuthorization or %resource is SubstanceDefinition or %resource is SubscriptionStatus or %resource is SubscriptionTopic)
ele-1errorList.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorList.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorList.extension:copyrightAll FHIR elements must have a @value or children unless an empty Parameters resource
: hasValue() or (children().count() > id.count()) or $this is Parameters
ext-1errorList.extension:copyrightMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorList.extension:licenceCodeableAll FHIR elements must have a @value or children unless an empty Parameters resource
: hasValue() or (children().count() > id.count()) or $this is Parameters
ext-1errorList.extension:licenceCodeableMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorList.extension:licenceAttachmentAll FHIR elements must have a @value or children unless an empty Parameters resource
: hasValue() or (children().count() > id.count()) or $this is Parameters
ext-1errorList.extension:licenceAttachmentMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorList.extension:subjectOtherAll FHIR elements must have a @value or children unless an empty Parameters resource
: hasValue() or (children().count() > id.count()) or $this is Parameters
ext-1errorList.extension:subjectOtherMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorList.extension:classifierAll FHIR elements must have a @value or children unless an empty Parameters resource
: hasValue() or (children().count() > id.count()) or $this is Parameters
ext-1errorList.extension:classifierMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorList.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorList.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorList.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorList.identifier:urlAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorList.identifier:url.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorList.identifier:url.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorList.identifier:url.useAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorList.identifier:url.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorList.identifier:url.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorList.identifier:url.valueAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorList.identifier:url.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorList.identifier:url.assignerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorList.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorList.modeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorList.titleAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorList.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorList.subjectAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorList.encounterAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorList.dateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorList.sourceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorList.orderedByAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorList.noteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorList.entryAll FHIR elements must have a @value or children unless an empty Parameters resource
: hasValue() or (children().count() > id.count()) or $this is Parameters
ele-1errorList.entry.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorList.entry.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorList.entry.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorList.entry.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorList.entry.flagAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorList.entry.deletedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorList.entry.dateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorList.entry.itemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorList.emptyReasonAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())