CH EPR mHealth (R4)
0.1.1 - Draft Standard for Trial Use

This page is part of the CH EPR mHealth (R4) (v0.1.1: DSTU 1) based on FHIR R4. . For a full list of available versions, see the Directory of published versions

StructureDefinition: IHE_MHD_Comprehensive_List

IHE MHD Profile on List with Comprehensive Metadata (Folder).

The official URL for this profile is:

http://ihe.net/fhir/ihe.mhd.fhir/StructureDefinition/IHE.MHD.Comprehensive.List

Formal Views of Profile Content

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

This structure is derived from IHE_MHD_Minimal_List

Summary

Mandatory: 2 elements

This structure is derived from IHE_MHD_Minimal_List

NameFlagsCard.TypeDescription & Constraintsdoco
.. List 0..*IHE_MHD_Minimal_ListA list is a curated collection of resources
... code 1..1CodeableConceptWhat the purpose of this list is
... subject 1..1Reference(Patient) {rb}If all resources have the same subject

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. List I0..*IHE_MHD_Minimal_ListA list is a curated collection of resources
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension I0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... identifier I1..*IdentifierBusiness identifier
... status ?!ΣI1..1codecurrent | retired | entered-in-error
Binding: ListStatus (required)
... mode ?!ΣI1..1codeworking | snapshot | changes
Binding: ListMode (required)
Fixed Value: working
... title ΣI1..1stringDescriptive name for the list
Example General: Dr. Jane's Patients
... code ΣI1..1CodeableConceptWhat the purpose of this list is
Binding: ExampleUseCodesForList (example)
... subject ΣI1..1Reference(Patient) {rb}If all resources have the same subject
... date ΣI0..1dateTimeWhen the list was prepared
... note I0..1AnnotationComments about the list
... entry I0..*BackboneElementEntries in the list
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... item I1..1Reference(Provide Minimal DocumentReference) {rb}Actual entry

doco Documentation for this format

This structure is derived from IHE_MHD_Minimal_List

Summary

Mandatory: 2 elements

Differential View

This structure is derived from IHE_MHD_Minimal_List

NameFlagsCard.TypeDescription & Constraintsdoco
.. List 0..*IHE_MHD_Minimal_ListA list is a curated collection of resources
... code 1..1CodeableConceptWhat the purpose of this list is
... subject 1..1Reference(Patient) {rb}If all resources have the same subject

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. List I0..*IHE_MHD_Minimal_ListA list is a curated collection of resources
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension I0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... identifier I1..*IdentifierBusiness identifier
... status ?!ΣI1..1codecurrent | retired | entered-in-error
Binding: ListStatus (required)
... mode ?!ΣI1..1codeworking | snapshot | changes
Binding: ListMode (required)
Fixed Value: working
... title ΣI1..1stringDescriptive name for the list
Example General: Dr. Jane's Patients
... code ΣI1..1CodeableConceptWhat the purpose of this list is
Binding: ExampleUseCodesForList (example)
... subject ΣI1..1Reference(Patient) {rb}If all resources have the same subject
... date ΣI0..1dateTimeWhen the list was prepared
... note I0..1AnnotationComments about the list
... entry I0..*BackboneElementEntries in the list
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... item I1..1Reference(Provide Minimal DocumentReference) {rb}Actual entry

doco Documentation for this format

 

Other representations of profile: Schematron

Terminology Bindings

Terminology Bindings

PathConformanceValueSet / Code
List.languagepreferredCommonLanguages
Max Binding: AllLanguages
List.statusrequiredListStatus
List.moderequiredFixed Value: working
List.codeexampleExampleUseCodesForList

Constraints

Constraints

IdPathDetailsRequirements
dom-2ListIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3ListIf 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 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(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4ListIf 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-5ListIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6ListA resource should have narrative for robust management
: text.`div`.exists()
lst-1ListA list can only have an emptyReason if it is empty
: emptyReason.empty() or entry.empty()
lst-2ListThe deleted flag can only be used if the mode of the list is "changes"
: mode = 'changes' or entry.deleted.empty()
lst-3ListAn entry date can only be used if the mode of the list is "working"
: mode = 'working' or entry.date.empty()
ele-1List.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1List.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1List.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1List.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1List.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1List.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1List.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1List.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1List.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1List.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1List.modeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1List.titleAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1List.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1List.subjectAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1List.dateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1List.noteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1List.entryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1List.entry.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1List.entry.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1List.entry.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1List.entry.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1List.entry.itemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())