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
Official URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/ncpi-drs-attachment | Version: 0.1.0 | |||
Draft as of 2025-03-24 | Computable Name: DRSAttachment |
A FHIR Attachment with a DRS url.
Usage:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
Name | Flags | Card. | Type | Description & Constraints![]() |
---|---|---|---|---|
![]() ![]() |
C | 0..* | Attachment | Content in a format defined elsewhere att-1: If the Attachment has data, it SHALL have a contentType ele-1: All FHIR elements must have a @value or children unless an empty Parameters resource 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 | Grade | Path(s) | Details | Requirements |
att-1 | error | Attachment | If the Attachment has data, it SHALL have a contentType : data.empty() or contentType.exists() | |
ele-1 | error | **ALL** elements | All 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-uri | error | Attachment | 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. : $this.url.matches('^drs://.*') |
This structure is derived from Attachment
Name | Flags | Card. | Type | Description & Constraints![]() |
---|---|---|---|---|
![]() ![]() |
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. |
![]() |
Id | Grade | Path(s) | Details | Requirements |
must-be-drs-uri | error | Attachment | 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. : $this.url.matches('^drs://.*') |
Name | Flags | Card. | Type | Description & Constraints![]() | ||||
---|---|---|---|---|---|---|---|---|
![]() ![]() |
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. | ||||
![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
Σ | 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 | ||||
![]() ![]() ![]() |
Σ | 0..1 | code | Human language of the content (BCP-47) Binding: CommonLanguages (preferred): IETF language tag
Example General: en-AU | ||||
![]() ![]() ![]() |
0..1 | base64Binary | Data inline, base64ed | |||||
![]() ![]() ![]() |
Σ | 0..1 | url | Uri where the data can be found Example General: http://www.acme.com/logo-small.png | ||||
![]() ![]() ![]() |
Σ | 0..1 | unsignedInt | Number of bytes of content (if url provided) | ||||
![]() ![]() ![]() |
Σ | 0..1 | base64Binary | Hash of the data (sha-1, base64ed) | ||||
![]() ![]() ![]() |
Σ | 0..1 | string | Label to display in place of the data Example General: Official Corporate Logo | ||||
![]() ![]() ![]() |
Σ | 0..1 | dateTime | Date attachment was first created | ||||
![]() |
Path | Conformance | ValueSet | URI | |||
Attachment.contentType | required | Mime Types (a valid code from urn:ietf:bcp:13 )http://hl7.org/fhir/ValueSet/mimetypes|4.3.0 from the FHIR Standard | ||||
Attachment.language | preferred | CommonLanguageshttp://hl7.org/fhir/ValueSet/languages from the FHIR Standard
|
Id | Grade | Path(s) | Details | Requirements |
att-1 | error | Attachment | If the Attachment has data, it SHALL have a contentType : data.empty() or contentType.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children unless an empty Parameters resource : hasValue() or (children().count() > id.count()) or $this is Parameters | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
must-be-drs-uri | error | Attachment | 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. : $this.url.matches('^drs://.*') |
This structure is derived from Attachment
Key Elements View
Name | Flags | Card. | Type | Description & Constraints![]() |
---|---|---|---|---|
![]() ![]() |
C | 0..* | Attachment | Content in a format defined elsewhere att-1: If the Attachment has data, it SHALL have a contentType ele-1: All FHIR elements must have a @value or children unless an empty Parameters resource 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 | Grade | Path(s) | Details | Requirements |
att-1 | error | Attachment | If the Attachment has data, it SHALL have a contentType : data.empty() or contentType.exists() | |
ele-1 | error | **ALL** elements | All 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-uri | error | Attachment | 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. : $this.url.matches('^drs://.*') |
Differential View
This structure is derived from Attachment
Name | Flags | Card. | Type | Description & Constraints![]() |
---|---|---|---|---|
![]() ![]() |
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. |
![]() |
Id | Grade | Path(s) | Details | Requirements |
must-be-drs-uri | error | Attachment | 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. : $this.url.matches('^drs://.*') |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints![]() | ||||
---|---|---|---|---|---|---|---|---|
![]() ![]() |
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. | ||||
![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
Σ | 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 | ||||
![]() ![]() ![]() |
Σ | 0..1 | code | Human language of the content (BCP-47) Binding: CommonLanguages (preferred): IETF language tag
Example General: en-AU | ||||
![]() ![]() ![]() |
0..1 | base64Binary | Data inline, base64ed | |||||
![]() ![]() ![]() |
Σ | 0..1 | url | Uri where the data can be found Example General: http://www.acme.com/logo-small.png | ||||
![]() ![]() ![]() |
Σ | 0..1 | unsignedInt | Number of bytes of content (if url provided) | ||||
![]() ![]() ![]() |
Σ | 0..1 | base64Binary | Hash of the data (sha-1, base64ed) | ||||
![]() ![]() ![]() |
Σ | 0..1 | string | Label to display in place of the data Example General: Official Corporate Logo | ||||
![]() ![]() ![]() |
Σ | 0..1 | dateTime | Date attachment was first created | ||||
![]() |
Path | Conformance | ValueSet | URI | |||
Attachment.contentType | required | Mime Types (a valid code from urn:ietf:bcp:13 )http://hl7.org/fhir/ValueSet/mimetypes|4.3.0 from the FHIR Standard | ||||
Attachment.language | preferred | CommonLanguageshttp://hl7.org/fhir/ValueSet/languages from the FHIR Standard
|
Id | Grade | Path(s) | Details | Requirements |
att-1 | error | Attachment | If the Attachment has data, it SHALL have a contentType : data.empty() or contentType.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children unless an empty Parameters resource : hasValue() or (children().count() > id.count()) or $this is Parameters | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
must-be-drs-uri | error | Attachment | 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. : $this.url.matches('^drs://.*') |
This structure is derived from Attachment
Other representations of profile: CSV, Excel, Schematron
IG © 2023+ NCPI FHIR Working Group. Package ncpi-fhir-implementation-guide-v2#0.1.0 based on FHIR 4.3.0. Generated 2025-03-24
Links: Table of Contents |
QA Report