NCPI FHIR Implementation Guide
0.2.0 - ci-build

NCPI FHIR Implementation Guide - Local Development build (v0.2.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Data Type Profile: DRS Attachment

Official URL: https://nih-ncpi.github.io/ncpi-fhir-ig/StructureDefinition/ncpi-drs-attachment Version: 0.2.0
Draft as of 2024-03-04 Computable Name: DRSAttachment

A FHIR Attachment with a DRS url.

Usage:

Formal Views of Profile Content

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

This structure is derived from Attachment

NameFlagsCard.TypeDescription & Constraintsdoco
.. Attachment C0..*AttachmentContent in a format defined elsewhere
must-be-drs-uri: attachment.url must start with ^drs://. A drs:// hostname-based URI, as defined in the DRS documentation, that tells clients how to access this object. The intent of this field is to make DRS objects self-contained, and therefore easier for clients to store and pass around. For example, if you arrive at this DRS JSON by resolving a compact identifier-based DRS URI, the `self_uri` presents you with a hostname and properly encoded DRS ID for use in subsequent `access` endpoint calls.

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
must-be-drs-urierrorAttachmentattachment.url must start with ^drs://. A drs:// hostname-based URI, as defined in the DRS documentation, that tells clients how to access this object. The intent of this field is to make DRS objects self-contained, and therefore easier for clients to store and pass around. For example, if you arrive at this DRS JSON by resolving a compact identifier-based DRS URI, the `self_uri` presents you with a hostname and properly encoded DRS ID for use in subsequent `access` endpoint calls.
: $this.url.matches('^drs://.*')
NameFlagsCard.TypeDescription & Constraintsdoco
.. Attachment C0..*AttachmentContent in a format defined elsewhere
att-1: If the Attachment has data, it SHALL have a contentType
must-be-drs-uri: attachment.url must start with ^drs://. A drs:// hostname-based URI, as defined in the DRS documentation, that tells clients how to access this object. The intent of this field is to make DRS objects self-contained, and therefore easier for clients to store and pass around. For example, if you arrive at this DRS JSON by resolving a compact identifier-based DRS URI, the `self_uri` presents you with a hostname and properly encoded DRS ID for use in subsequent `access` endpoint calls.

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
att-1errorAttachmentIf the Attachment has data, it SHALL have a contentType
: data.empty() or contentType.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children unless an empty Parameters resource
: hasValue() or (children().count() > id.count()) or $this is Parameters
must-be-drs-urierrorAttachmentattachment.url must start with ^drs://. A drs:// hostname-based URI, as defined in the DRS documentation, that tells clients how to access this object. The intent of this field is to make DRS objects self-contained, and therefore easier for clients to store and pass around. For example, if you arrive at this DRS JSON by resolving a compact identifier-based DRS URI, the `self_uri` presents you with a hostname and properly encoded DRS ID for use in subsequent `access` endpoint calls.
: $this.url.matches('^drs://.*')
NameFlagsCard.TypeDescription & Constraintsdoco
.. Attachment C0..*AttachmentContent in a format defined elsewhere
att-1: If the Attachment has data, it SHALL have a contentType
must-be-drs-uri: attachment.url must start with ^drs://. A drs:// hostname-based URI, as defined in the DRS documentation, that tells clients how to access this object. The intent of this field is to make DRS objects self-contained, and therefore easier for clients to store and pass around. For example, if you arrive at this DRS JSON by resolving a compact identifier-based DRS URI, the `self_uri` presents you with a hostname and properly encoded DRS ID for use in subsequent `access` endpoint calls.
... id 0..1idUnique id for inter-element referencing
... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
... contentType Σ0..1codeMime type of the content, with charset etc.
Binding: Mime Types (required): BCP 13 (RFCs 2045, 2046, 2047, 4288, 4289 and 2049)


Example General: text/plain; charset=UTF-8, image/png
... data 0..1base64BinaryData inline, base64ed
... url Σ0..1urlUri where the data can be found
Example General: http://www.acme.com/logo-small.png
... size Σ0..1unsignedIntNumber of bytes of content (if url provided)
... hash Σ0..1base64BinaryHash of the data (sha-1, base64ed)
... title Σ0..1stringLabel to display in place of the data
Example General: Official Corporate Logo
... creation Σ0..1dateTimeDate attachment was first created

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Attachment.contentTyperequiredMime Types (a valid code from urn:ietf:bcp:13)
http://hl7.org/fhir/ValueSet/mimetypes|4.3.0
from the FHIR Standard
Attachment.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
att-1errorAttachmentIf the Attachment has data, it SHALL have a contentType
: data.empty() or contentType.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children unless an empty Parameters resource
: hasValue() or (children().count() > id.count()) or $this is Parameters
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
must-be-drs-urierrorAttachmentattachment.url must start with ^drs://. A drs:// hostname-based URI, as defined in the DRS documentation, that tells clients how to access this object. The intent of this field is to make DRS objects self-contained, and therefore easier for clients to store and pass around. For example, if you arrive at this DRS JSON by resolving a compact identifier-based DRS URI, the `self_uri` presents you with a hostname and properly encoded DRS ID for use in subsequent `access` endpoint calls.
: $this.url.matches('^drs://.*')

This structure is derived from Attachment

Summary

Differential View

This structure is derived from Attachment

NameFlagsCard.TypeDescription & Constraintsdoco
.. Attachment C0..*AttachmentContent in a format defined elsewhere
must-be-drs-uri: attachment.url must start with ^drs://. A drs:// hostname-based URI, as defined in the DRS documentation, that tells clients how to access this object. The intent of this field is to make DRS objects self-contained, and therefore easier for clients to store and pass around. For example, if you arrive at this DRS JSON by resolving a compact identifier-based DRS URI, the `self_uri` presents you with a hostname and properly encoded DRS ID for use in subsequent `access` endpoint calls.

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
must-be-drs-urierrorAttachmentattachment.url must start with ^drs://. A drs:// hostname-based URI, as defined in the DRS documentation, that tells clients how to access this object. The intent of this field is to make DRS objects self-contained, and therefore easier for clients to store and pass around. For example, if you arrive at this DRS JSON by resolving a compact identifier-based DRS URI, the `self_uri` presents you with a hostname and properly encoded DRS ID for use in subsequent `access` endpoint calls.
: $this.url.matches('^drs://.*')

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Attachment C0..*AttachmentContent in a format defined elsewhere
att-1: If the Attachment has data, it SHALL have a contentType
must-be-drs-uri: attachment.url must start with ^drs://. A drs:// hostname-based URI, as defined in the DRS documentation, that tells clients how to access this object. The intent of this field is to make DRS objects self-contained, and therefore easier for clients to store and pass around. For example, if you arrive at this DRS JSON by resolving a compact identifier-based DRS URI, the `self_uri` presents you with a hostname and properly encoded DRS ID for use in subsequent `access` endpoint calls.

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
att-1errorAttachmentIf the Attachment has data, it SHALL have a contentType
: data.empty() or contentType.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children unless an empty Parameters resource
: hasValue() or (children().count() > id.count()) or $this is Parameters
must-be-drs-urierrorAttachmentattachment.url must start with ^drs://. A drs:// hostname-based URI, as defined in the DRS documentation, that tells clients how to access this object. The intent of this field is to make DRS objects self-contained, and therefore easier for clients to store and pass around. For example, if you arrive at this DRS JSON by resolving a compact identifier-based DRS URI, the `self_uri` presents you with a hostname and properly encoded DRS ID for use in subsequent `access` endpoint calls.
: $this.url.matches('^drs://.*')

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Attachment C0..*AttachmentContent in a format defined elsewhere
att-1: If the Attachment has data, it SHALL have a contentType
must-be-drs-uri: attachment.url must start with ^drs://. A drs:// hostname-based URI, as defined in the DRS documentation, that tells clients how to access this object. The intent of this field is to make DRS objects self-contained, and therefore easier for clients to store and pass around. For example, if you arrive at this DRS JSON by resolving a compact identifier-based DRS URI, the `self_uri` presents you with a hostname and properly encoded DRS ID for use in subsequent `access` endpoint calls.
... id 0..1idUnique id for inter-element referencing
... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
... contentType Σ0..1codeMime type of the content, with charset etc.
Binding: Mime Types (required): BCP 13 (RFCs 2045, 2046, 2047, 4288, 4289 and 2049)


Example General: text/plain; charset=UTF-8, image/png
... data 0..1base64BinaryData inline, base64ed
... url Σ0..1urlUri where the data can be found
Example General: http://www.acme.com/logo-small.png
... size Σ0..1unsignedIntNumber of bytes of content (if url provided)
... hash Σ0..1base64BinaryHash of the data (sha-1, base64ed)
... title Σ0..1stringLabel to display in place of the data
Example General: Official Corporate Logo
... creation Σ0..1dateTimeDate attachment was first created

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Attachment.contentTyperequiredMime Types (a valid code from urn:ietf:bcp:13)
http://hl7.org/fhir/ValueSet/mimetypes|4.3.0
from the FHIR Standard
Attachment.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
att-1errorAttachmentIf the Attachment has data, it SHALL have a contentType
: data.empty() or contentType.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children unless an empty Parameters resource
: hasValue() or (children().count() > id.count()) or $this is Parameters
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
must-be-drs-urierrorAttachmentattachment.url must start with ^drs://. A drs:// hostname-based URI, as defined in the DRS documentation, that tells clients how to access this object. The intent of this field is to make DRS objects self-contained, and therefore easier for clients to store and pass around. For example, if you arrive at this DRS JSON by resolving a compact identifier-based DRS URI, the `self_uri` presents you with a hostname and properly encoded DRS ID for use in subsequent `access` endpoint calls.
: $this.url.matches('^drs://.*')

This structure is derived from Attachment

Summary

 

Other representations of profile: CSV, Excel, Schematron