0.2 - ci-build

SHINNYIG - Local Development build (v0.2). See the Directory of published versions

Resource Profile: SHINNYBundleProfile

Official URL: http://shinny.org/StructureDefinition/SHINNYBundleProfile Version: 0.2
Draft as of 2023-07-28 Computable Name: SHINNYBundleProfile

Contains a collection of resources. This is an extension of the base FHIR Bundle with some additional restrictions.

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

NameFlagsCard.TypeDescription & Constraintsdoco
.. Bundle 0..*BundleContains a collection of resources
... meta S1..1SHINNYMetaMetadata about a resource
... type 1..1codeOnly type 'transaction' is supported
Binding: SHINNYBundleTypeVS (required)
... timestamp S1..1instantWhen the bundle was assembled
... link 0..0
... entry
.... search 0..0
.... request
..... method 1..1codePOST | DELETE
Binding: SHINNYHTTPVerbsVS (required)
..... ifNoneMatch 0..0
..... ifMatch 0..0
..... ifNoneExist 0..0
.... response
..... location 0..0
..... etag 0..0
..... lastModified 0..0
... signature 0..0

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
Bundle.typerequiredSHINNYBundleTypeVS
Bundle.entry.request.methodrequiredSHINNYHTTPVerbsVS
NameFlagsCard.TypeDescription & Constraintsdoco
.. Bundle C0..*BundleContains a collection of resources
... meta S1..1SHINNYMetaMetadata about a resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... type Σ1..1codeOnly type 'transaction' is supported
Binding: SHINNYBundleTypeVS (required)

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Bundle.typerequiredSHINNYBundleTypeVS

Constraints

IdGradePath(s)DetailsRequirements
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-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Bundle C0..*BundleContains a collection of resources
... id Σ0..1idLogical id of this artifact
... meta S1..1SHINNYMetaMetadata about a resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... identifier Σ0..1IdentifierPersistent identifier for the bundle
... type Σ1..1codeOnly type 'transaction' is supported
Binding: SHINNYBundleTypeVS (required)
... timestamp SΣ1..1instantWhen the bundle was assembled
... entry ΣC0..*BackboneElementEntry in the bundle - will have a resource or information
This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type
.... 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
.... link Σ0..*See link (Bundle)Links related to this entry
.... fullUrl Σ0..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
.... resource Σ0..1ResourceA resource in the bundle
.... request ΣC0..1BackboneElementAdditional execution information (transaction/batch/history)
..... 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
..... method Σ1..1codePOST | DELETE
Binding: SHINNYHTTPVerbsVS (required)
..... url Σ1..1uriURL for HTTP equivalent of this entry
..... ifModifiedSince Σ0..1instantFor managing cache currency
.... response ΣC0..1BackboneElementResults of execution (transaction/batch/history)
..... 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
..... status Σ1..1stringStatus response code (text optional)
..... outcome Σ0..1ResourceOperationOutcome with hints and warnings (for batch/transaction)

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Bundle.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Bundle.typerequiredSHINNYBundleTypeVS
Bundle.entry.search.moderequiredSearchEntryMode
Bundle.entry.request.methodrequiredSHINNYHTTPVerbsVS

Constraints

IdGradePath(s)DetailsRequirements
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-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from Bundle

Summary

Mandatory: 2 elements
Must-Support: 2 elements
Prohibited: 10 elements

Structures

This structure refers to these other structures:

Differential View

This structure is derived from Bundle

NameFlagsCard.TypeDescription & Constraintsdoco
.. Bundle 0..*BundleContains a collection of resources
... meta S1..1SHINNYMetaMetadata about a resource
... type 1..1codeOnly type 'transaction' is supported
Binding: SHINNYBundleTypeVS (required)
... timestamp S1..1instantWhen the bundle was assembled
... link 0..0
... entry
.... search 0..0
.... request
..... method 1..1codePOST | DELETE
Binding: SHINNYHTTPVerbsVS (required)
..... ifNoneMatch 0..0
..... ifMatch 0..0
..... ifNoneExist 0..0
.... response
..... location 0..0
..... etag 0..0
..... lastModified 0..0
... signature 0..0

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
Bundle.typerequiredSHINNYBundleTypeVS
Bundle.entry.request.methodrequiredSHINNYHTTPVerbsVS

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Bundle C0..*BundleContains a collection of resources
... meta S1..1SHINNYMetaMetadata about a resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... type Σ1..1codeOnly type 'transaction' is supported
Binding: SHINNYBundleTypeVS (required)

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Bundle.typerequiredSHINNYBundleTypeVS

Constraints

IdGradePath(s)DetailsRequirements
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-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Bundle C0..*BundleContains a collection of resources
... id Σ0..1idLogical id of this artifact
... meta S1..1SHINNYMetaMetadata about a resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... identifier Σ0..1IdentifierPersistent identifier for the bundle
... type Σ1..1codeOnly type 'transaction' is supported
Binding: SHINNYBundleTypeVS (required)
... timestamp SΣ1..1instantWhen the bundle was assembled
... entry ΣC0..*BackboneElementEntry in the bundle - will have a resource or information
This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type
.... 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
.... link Σ0..*See link (Bundle)Links related to this entry
.... fullUrl Σ0..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
.... resource Σ0..1ResourceA resource in the bundle
.... request ΣC0..1BackboneElementAdditional execution information (transaction/batch/history)
..... 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
..... method Σ1..1codePOST | DELETE
Binding: SHINNYHTTPVerbsVS (required)
..... url Σ1..1uriURL for HTTP equivalent of this entry
..... ifModifiedSince Σ0..1instantFor managing cache currency
.... response ΣC0..1BackboneElementResults of execution (transaction/batch/history)
..... 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
..... status Σ1..1stringStatus response code (text optional)
..... outcome Σ0..1ResourceOperationOutcome with hints and warnings (for batch/transaction)

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Bundle.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Bundle.typerequiredSHINNYBundleTypeVS
Bundle.entry.search.moderequiredSearchEntryMode
Bundle.entry.request.methodrequiredSHINNYHTTPVerbsVS

Constraints

IdGradePath(s)DetailsRequirements
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-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from Bundle

Summary

Mandatory: 2 elements
Must-Support: 2 elements
Prohibited: 10 elements

Structures

This structure refers to these other structures:

 

Other representations of profile: CSV, Excel, Schematron