NCPI FHIR Implementation Guide v2
0.1.0 - ci-build

NCPI FHIR Implementation Guide v2 - Local Development build (v0.1.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-2/StructureDefinition/ncpi-drs-attachment Version: 0.1.0
Draft as of 2024-11-25 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 C 0..* Attachment Content 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 C 0..* Attachment Content 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 C 0..* Attachment Content 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..1 id Unique id for inter-element referencing
... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
... contentType Σ 0..1 code Mime 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..1 base64Binary Data inline, base64ed
... url Σ 0..1 url Uri where the data can be found
Example General: http://www.acme.com/logo-small.png
... size Σ 0..1 unsignedInt Number of bytes of content (if url provided)
... hash Σ 0..1 base64Binary Hash of the data (sha-1, base64ed)
... title Σ 0..1 string Label to display in place of the data
Example General: Official Corporate Logo
... creation Σ 0..1 dateTime Date 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 C 0..* Attachment Content 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 C 0..* Attachment Content 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 C 0..* Attachment Content 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..1 id Unique id for inter-element referencing
... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
... contentType Σ 0..1 code Mime 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..1 base64Binary Data inline, base64ed
... url Σ 0..1 url Uri where the data can be found
Example General: http://www.acme.com/logo-small.png
... size Σ 0..1 unsignedInt Number of bytes of content (if url provided)
... hash Σ 0..1 base64Binary Hash of the data (sha-1, base64ed)
... title Σ 0..1 string Label to display in place of the data
Example General: Official Corporate Logo
... creation Σ 0..1 dateTime Date 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