CH EPR mHealth (R4)
1.1.0 - DSTU 2 Informative Ballot Switzerland flag

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

Resource Profile: CH MHD SubmissionSet Comprehensive Bundle

Official URL: http://fhir.ch/ig/ch-epr-mhealth/StructureDefinition/ch-mhd-submissionset-comprehensive-bundle Version: 1.1.0
Draft as of 2020-10-14 Computable Name: CHMhdSubmissionSetComprehensiveBundle

Copyright/Legal: CC-BY-SA-4.0

CH MHD SubmissionSet Comprehensive Bundle response [ITI-66]

Usage:

  • This Resource Profile is not used by any profiles in this Implementation Guide

Formal Views of Profile Content

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

This structure is derived from Bundle

Summary

Mandatory: 1 element (2 nested mandatory elements)
Must-Support: 6 elements
Fixed Value: 1 element

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element Bundle.entry is sliced based on the value of profile:resource

 

Other representations of profile: CSV, Excel, Schematron

Terminology Bindings

PathConformanceValueSet / Code
Bundle.languagepreferredCommonLanguages
Max Binding: AllLanguages
Bundle.typerequiredFixed Value: searchset
Bundle.entry.search.moderequiredSearchEntryMode
Bundle.entry.request.methodrequiredHTTPVerb
Bundle.entry:SubmissionSetComprehensive.search.moderequiredSearchEntryMode
Bundle.entry:SubmissionSetComprehensive.request.methodrequiredHTTPVerb

Constraints

IdGradePathDetailsRequirements
bdl-1errorBundletotal only when a search or history
: total.empty() or (type = 'searchset') or (type = 'history')
bdl-2errorBundleentry.search only when a search
: entry.search.empty() or (type = 'searchset')
bdl-3errorBundleentry.request mandatory for batch/transaction/history, otherwise prohibited
: entry.all(request.exists() = (%resource.type = 'batch' or %resource.type = 'transaction' or %resource.type = 'history'))
bdl-4errorBundleentry.response mandatory for batch-response/transaction-response/history, otherwise prohibited
: entry.all(response.exists() = (%resource.type = 'batch-response' or %resource.type = 'transaction-response' or %resource.type = 'history'))
bdl-7errorBundleFullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId (except in history bundles)
: (type = 'history') or entry.where(fullUrl.exists()).select(fullUrl&resource.meta.versionId).isDistinct()
bdl-9errorBundleA document must have an identifier with a system and a value
: type = 'document' implies (identifier.system.exists() and identifier.value.exists())
bdl-10errorBundleA document must have a date
: type = 'document' implies (timestamp.hasValue())
bdl-11errorBundleA document must have a Composition as the first resource
: type = 'document' implies entry.first().resource.is(Composition)
bdl-12errorBundleA message must have a MessageHeader as the first resource
: type = 'message' implies entry.first().resource.is(MessageHeader)
ele-1errorBundle.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorBundle.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorBundle.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorBundle.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorBundle.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorBundle.timestampAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorBundle.totalAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorBundle.linkAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorBundle.link.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorBundle.link.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorBundle.link.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorBundle.link.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorBundle.link.relationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorBundle.link.urlAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
bdl-5errorBundle.entrymust be a resource unless there's a request or response
: resource.exists() or request.exists() or response.exists()
bdl-8errorBundle.entryfullUrl cannot be a version specific reference
: fullUrl.contains('/_history/').not()
ele-1errorBundle.entryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorBundle.entry.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorBundle.entry.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorBundle.entry.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorBundle.entry.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorBundle.entry.linkAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorBundle.entry.fullUrlAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ch-mhd-bdl-1errorBundle.entry.fullUrlThe fullUrl must be an absolute URL server address or an URI for UUID/OID
: startsWith('http') or startsWith('urn:uuid:') = true
ele-1errorBundle.entry.searchAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorBundle.entry.search.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorBundle.entry.search.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorBundle.entry.search.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorBundle.entry.search.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorBundle.entry.search.modeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorBundle.entry.search.scoreAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorBundle.entry.requestAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorBundle.entry.request.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorBundle.entry.request.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorBundle.entry.request.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorBundle.entry.request.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorBundle.entry.request.methodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorBundle.entry.request.urlAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorBundle.entry.request.ifNoneMatchAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorBundle.entry.request.ifModifiedSinceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorBundle.entry.request.ifMatchAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorBundle.entry.request.ifNoneExistAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorBundle.entry.responseAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorBundle.entry.response.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorBundle.entry.response.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorBundle.entry.response.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorBundle.entry.response.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorBundle.entry.response.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorBundle.entry.response.locationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorBundle.entry.response.etagAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorBundle.entry.response.lastModifiedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
bdl-5errorBundle.entry:SubmissionSetComprehensivemust be a resource unless there's a request or response
: resource.exists() or request.exists() or response.exists()
bdl-8errorBundle.entry:SubmissionSetComprehensivefullUrl cannot be a version specific reference
: fullUrl.contains('/_history/').not()
ele-1errorBundle.entry:SubmissionSetComprehensiveAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorBundle.entry:SubmissionSetComprehensive.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorBundle.entry:SubmissionSetComprehensive.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorBundle.entry:SubmissionSetComprehensive.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorBundle.entry:SubmissionSetComprehensive.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorBundle.entry:SubmissionSetComprehensive.linkAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorBundle.entry:SubmissionSetComprehensive.fullUrlAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
dom-2errorBundle.entry:SubmissionSetComprehensive.resourceIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorBundle.entry:SubmissionSetComprehensive.resourceIf 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-4errorBundle.entry:SubmissionSetComprehensive.resourceIf 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-5errorBundle.entry:SubmissionSetComprehensive.resourceIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6Best PracticeBundle.entry:SubmissionSetComprehensive.resourceA resource should have narrative for robust management
: text.`div`.exists()
lst-1errorBundle.entry:SubmissionSetComprehensive.resourceA list can only have an emptyReason if it is empty
: emptyReason.empty() or entry.empty()
lst-2errorBundle.entry:SubmissionSetComprehensive.resourceThe deleted flag can only be used if the mode of the list is "changes"
: mode = 'changes' or entry.deleted.empty()
lst-3errorBundle.entry:SubmissionSetComprehensive.resourceAn entry date can only be used if the mode of the list is "working"
: mode = 'working' or entry.date.empty()
ele-1errorBundle.entry:SubmissionSetComprehensive.searchAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorBundle.entry:SubmissionSetComprehensive.search.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorBundle.entry:SubmissionSetComprehensive.search.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorBundle.entry:SubmissionSetComprehensive.search.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorBundle.entry:SubmissionSetComprehensive.search.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorBundle.entry:SubmissionSetComprehensive.search.modeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorBundle.entry:SubmissionSetComprehensive.search.scoreAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorBundle.entry:SubmissionSetComprehensive.requestAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorBundle.entry:SubmissionSetComprehensive.request.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorBundle.entry:SubmissionSetComprehensive.request.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorBundle.entry:SubmissionSetComprehensive.request.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorBundle.entry:SubmissionSetComprehensive.request.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorBundle.entry:SubmissionSetComprehensive.request.methodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorBundle.entry:SubmissionSetComprehensive.request.urlAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorBundle.entry:SubmissionSetComprehensive.request.ifNoneMatchAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorBundle.entry:SubmissionSetComprehensive.request.ifModifiedSinceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorBundle.entry:SubmissionSetComprehensive.request.ifMatchAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorBundle.entry:SubmissionSetComprehensive.request.ifNoneExistAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorBundle.entry:SubmissionSetComprehensive.responseAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorBundle.entry:SubmissionSetComprehensive.response.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorBundle.entry:SubmissionSetComprehensive.response.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorBundle.entry:SubmissionSetComprehensive.response.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorBundle.entry:SubmissionSetComprehensive.response.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorBundle.entry:SubmissionSetComprehensive.response.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorBundle.entry:SubmissionSetComprehensive.response.locationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorBundle.entry:SubmissionSetComprehensive.response.etagAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorBundle.entry:SubmissionSetComprehensive.response.lastModifiedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorBundle.signatureAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())