LOINC – IVD Test Code (LIVD) Mapping
1.0.0-ballot - ballot International flag

This page is part of the Loinc/IVD Mapping FHIR IG (v1.0.0-ballot: STU1 Ballot 1) based on FHIR (HL7® FHIR® Standard) R4. . For a full list of available versions, see the Directory of published versions

Resource Profile: LIVD Bundle

Official URL: http://hl7.org/fhir/uv/livd/StructureDefinition/bundle-uv-livd Version: 1.0.0-ballot
Draft as of 2018-08-14 Computable Name: LIVDBundle

LIVD constraints on the Bundle resource

Description

The LIVD Bundle is a profile on the Bundle resource to include all the necessary resources to express the LIVD catalog.

Usage:

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..*BundleLIVDBundle
... identifier S1..1IdentifierPersistent identifier for the bundle
... type S1..1codeThe bundle type
Binding: Allowed types of bundles for the LIVD catalog (required): Allowed types of bundles for the LIVD catalog

... timestamp 0..0
... link 0..0
... entry S5..*BackboneElementEntry in the bundle - will have a resource or information
.... link 0..0
.... fullUrl S0..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
.... resource S1..1ResourceA resource in the bundle
.... search 0..0
.... request S0..1BackboneElementTransaction Related Information
..... method S1..1codeGET | POST | PUT | DELETE
..... url S1..1uriURL for HTTP equivalent of this entry
..... ifNoneMatch 0..1stringFor managing cache currency
..... ifModifiedSince 0..1instantFor managing cache currency
..... ifMatch 0..1stringFor managing update contention
..... ifNoneExist 0..1stringFor conditional creates
.... response 0..0
... signature 0..0

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
Bundle.typerequiredLivdBundleTypeVS
NameFlagsCard.TypeDescription & Constraintsdoco
.. Bundle C0..*BundleLIVDBundle
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... identifier SΣ1..1IdentifierPersistent identifier for the bundle
... type SΣ1..1codeThe bundle type
Binding: Allowed types of bundles for the LIVD catalog (required): Allowed types of bundles for the LIVD catalog

.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... fullUrl SΣ0..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
.... resource SΣ1..1ResourceA resource in the bundle
.... request SΣC0..1BackboneElementTransaction Related Information
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... method SΣ1..1codeGET | POST | PUT | DELETE
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.

..... url SΣ1..1uriURL for HTTP equivalent of this entry
..... ifNoneMatch Σ0..1stringFor managing cache currency
..... ifModifiedSince Σ0..1instantFor managing cache currency
..... ifMatch Σ0..1stringFor managing update contention
..... ifNoneExist Σ0..1stringFor conditional creates

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Bundle.typerequiredLivdBundleTypeVS
Bundle.entry.search.moderequiredSearchEntryMode
Bundle.entry.request.methodrequiredHTTPVerb

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-5errorBundle.entrymust be a resource unless there's a request or response
: resource.exists() or request.exists() or response.exists()
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-8errorBundle.entryfullUrl cannot be a version specific reference
: fullUrl.contains('/_history/').not()
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..*BundleLIVDBundle
... 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
... identifier SΣ1..1IdentifierPersistent identifier for the bundle
... type SΣ1..1codeThe bundle type
Binding: Allowed types of bundles for the LIVD catalog (required): Allowed types of bundles for the LIVD catalog

... entry SΣC5..*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
.... fullUrl SΣ0..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
.... resource SΣ1..1ResourceA resource in the bundle
.... request SΣC0..1BackboneElementTransaction Related Information
..... 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 SΣ1..1codeGET | POST | PUT | DELETE
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.

..... url SΣ1..1uriURL for HTTP equivalent of this entry
..... ifNoneMatch Σ0..1stringFor managing cache currency
..... ifModifiedSince Σ0..1instantFor managing cache currency
..... ifMatch Σ0..1stringFor managing update contention
..... ifNoneExist Σ0..1stringFor conditional creates

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Bundle.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Bundle.typerequiredLivdBundleTypeVS
Bundle.entry.search.moderequiredSearchEntryMode
Bundle.entry.request.methodrequiredHTTPVerb

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-5errorBundle.entrymust be a resource unless there's a request or response
: resource.exists() or request.exists() or response.exists()
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-8errorBundle.entryfullUrl cannot be a version specific reference
: fullUrl.contains('/_history/').not()
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()

This structure is derived from Bundle

Summary

Mandatory: 2 elements
Must-Support: 8 elements
Prohibited: 7 elements

Differential View

This structure is derived from Bundle

NameFlagsCard.TypeDescription & Constraintsdoco
.. Bundle 0..*BundleLIVDBundle
... identifier S1..1IdentifierPersistent identifier for the bundle
... type S1..1codeThe bundle type
Binding: Allowed types of bundles for the LIVD catalog (required): Allowed types of bundles for the LIVD catalog

... timestamp 0..0
... link 0..0
... entry S5..*BackboneElementEntry in the bundle - will have a resource or information
.... link 0..0
.... fullUrl S0..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
.... resource S1..1ResourceA resource in the bundle
.... search 0..0
.... request S0..1BackboneElementTransaction Related Information
..... method S1..1codeGET | POST | PUT | DELETE
..... url S1..1uriURL for HTTP equivalent of this entry
..... ifNoneMatch 0..1stringFor managing cache currency
..... ifModifiedSince 0..1instantFor managing cache currency
..... ifMatch 0..1stringFor managing update contention
..... ifNoneExist 0..1stringFor conditional creates
.... response 0..0
... signature 0..0

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
Bundle.typerequiredLivdBundleTypeVS

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Bundle C0..*BundleLIVDBundle
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... identifier SΣ1..1IdentifierPersistent identifier for the bundle
... type SΣ1..1codeThe bundle type
Binding: Allowed types of bundles for the LIVD catalog (required): Allowed types of bundles for the LIVD catalog

.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... fullUrl SΣ0..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
.... resource SΣ1..1ResourceA resource in the bundle
.... request SΣC0..1BackboneElementTransaction Related Information
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... method SΣ1..1codeGET | POST | PUT | DELETE
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.

..... url SΣ1..1uriURL for HTTP equivalent of this entry
..... ifNoneMatch Σ0..1stringFor managing cache currency
..... ifModifiedSince Σ0..1instantFor managing cache currency
..... ifMatch Σ0..1stringFor managing update contention
..... ifNoneExist Σ0..1stringFor conditional creates

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Bundle.typerequiredLivdBundleTypeVS
Bundle.entry.search.moderequiredSearchEntryMode
Bundle.entry.request.methodrequiredHTTPVerb

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-5errorBundle.entrymust be a resource unless there's a request or response
: resource.exists() or request.exists() or response.exists()
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-8errorBundle.entryfullUrl cannot be a version specific reference
: fullUrl.contains('/_history/').not()
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..*BundleLIVDBundle
... 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
... identifier SΣ1..1IdentifierPersistent identifier for the bundle
... type SΣ1..1codeThe bundle type
Binding: Allowed types of bundles for the LIVD catalog (required): Allowed types of bundles for the LIVD catalog

... entry SΣC5..*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
.... fullUrl SΣ0..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
.... resource SΣ1..1ResourceA resource in the bundle
.... request SΣC0..1BackboneElementTransaction Related Information
..... 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 SΣ1..1codeGET | POST | PUT | DELETE
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.

..... url SΣ1..1uriURL for HTTP equivalent of this entry
..... ifNoneMatch Σ0..1stringFor managing cache currency
..... ifModifiedSince Σ0..1instantFor managing cache currency
..... ifMatch Σ0..1stringFor managing update contention
..... ifNoneExist Σ0..1stringFor conditional creates

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Bundle.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Bundle.typerequiredLivdBundleTypeVS
Bundle.entry.search.moderequiredSearchEntryMode
Bundle.entry.request.methodrequiredHTTPVerb

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-5errorBundle.entrymust be a resource unless there's a request or response
: resource.exists() or request.exists() or response.exists()
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-8errorBundle.entryfullUrl cannot be a version specific reference
: fullUrl.contains('/_history/').not()
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()

This structure is derived from Bundle

Summary

Mandatory: 2 elements
Must-Support: 8 elements
Prohibited: 7 elements

 

Other representations of profile: CSV, Excel, Schematron