---
id: "aws-healthimaging"
type: "component"
kind: "object-store"
provider: "aws"
category: "data"
docs: "https://docs.aws.amazon.com/healthimaging/latest/devguide/data-encryption.html"
url: "https://localhost:3000/catalogue/components/aws-healthimaging"
---

# AWS HealthImaging

Managed medical image archive that stores and streams DICOM studies at petabyte scale.

| | |
|---|---|
| Provider | [aws](https://localhost:3000/catalogue?provider=aws) |
| Kind | [Object store](https://localhost:3000/catalogue/kinds/object-store) |
| Category | Data |
| Official docs | [https://docs.aws.amazon.com/healthimaging/latest/devguide/data-encryption.html](https://docs.aws.amazon.com/healthimaging/latest/devguide/data-encryption.html) |

## Properties

| property | type | values | required | kind default | this component |
|---|---|---|---|---|---|
| `checksumOnWrite` (advanced) | boolean | — | no | false | **true** |
| `customerManagedKey` | boolean | — | no | false | inherited |
| `dicomWebApi` | boolean | — | no | true | inherited |
| `durabilityNines` (advanced) | integer | — | no | — | inherited |
| `encryptionAtRest` | boolean | — | no | false | **true** |
| `imageFrameEncoding` | enum | `htj2k` | no | "htj2k" | inherited |
| `intelligentTiering` | boolean | — | no | true | inherited |
| `managed` | boolean | — | no | false | **true** |
| `objectLock` | boolean | — | no | false | inherited |
| `replication` | enum | `none`, `primary-secondary`, `quorum`, `erasure-coded` | no | "none" | inherited |
| `strongReadAfterWrite` (advanced) | boolean | — | no | false | inherited |
| `tier` | enum | `hot`, `warm`, `cold` | no | "hot" | inherited |
| `versioning` | boolean | — | no | false | **false** |
| `zones` | integer | — | no | — | inherited |

Bold values are the ones this component pins.

## Rules that apply · 1

### Object store in fewer than three zones with a durability target `object-store-single-zone-with-durability-target` (error)

- Page: https://localhost:3000/catalogue/rules/object-store-single-zone-with-durability-target.md
- Why: Eleven nines of durability assumes redundancy spread over at least three failure domains. An object store confined to fewer zones, or declaring none, cannot reach the target the design states.
- Applies to: every node of kind object-store
- Message: Object store '{{node.id}}' spans fewer than 3 zones (or declares none) while the design targets more than 10 nines of durability.

It fires when:

- all of these hold:
  - the design requirement `durability.annualNines` is a number greater than 10
  - any of these hold:
    - the node's `zones` has no value
    - the node's `zones` is a number less than 3

## Other products of the same kind · 32

- [Object Storage Service](https://localhost:3000/catalogue/components/alibaba-oss.md) `alibaba-oss` — alibabacloud
- [AWS HealthOmics](https://localhost:3000/catalogue/components/aws-healthomics.md) `aws-healthomics` — aws
- [Amazon S3 Express One Zone](https://localhost:3000/catalogue/components/aws-s3-express-one-zone.md) `aws-s3-express-one-zone` — aws
- [Amazon S3 Glacier](https://localhost:3000/catalogue/components/aws-s3-glacier.md) `aws-s3-glacier` — aws
- [Amazon S3 Tables](https://localhost:3000/catalogue/components/aws-s3-tables.md) `aws-s3-tables` — aws
- [Amazon Security Lake](https://localhost:3000/catalogue/components/aws-security-lake.md) `aws-security-lake` — aws
- [Amazon S3](https://localhost:3000/catalogue/components/s3.md) `s3` — aws
- [Azure Blob Storage](https://localhost:3000/catalogue/components/azure-blob-storage.md) `azure-blob-storage` — azure
- [Azure Data Lake Storage](https://localhost:3000/catalogue/components/azure-data-lake-storage.md) `azure-data-lake-storage` — azure
- [Microsoft Planetary Computer Pro](https://localhost:3000/catalogue/components/azure-planetary-computer.md) `azure-planetary-computer` — azure
- [Cache Reserve](https://localhost:3000/catalogue/components/cloudflare-cache-reserve.md) `cloudflare-cache-reserve` — cloudflare
- [Cloudflare Images](https://localhost:3000/catalogue/components/cloudflare-images.md) `cloudflare-images` — cloudflare
- [Cloudflare R2](https://localhost:3000/catalogue/components/cloudflare-r2.md) `cloudflare-r2` — cloudflare
- [Backblaze B2 Cloud Storage](https://localhost:3000/catalogue/components/backblaze-b2.md) `backblaze-b2` — default
- [Blob store](https://localhost:3000/catalogue/components/blob-store.md) `blob-store` — default
- [Ceph RADOS Gateway](https://localhost:3000/catalogue/components/ceph-rgw.md) `ceph-rgw` — default
- [Cloudinary](https://localhost:3000/catalogue/components/cloudinary.md) `cloudinary` — default
- [Garage](https://localhost:3000/catalogue/components/garage.md) `garage` — default
- [lakeFS](https://localhost:3000/catalogue/components/lakefs.md) `lakefs` — default
- [MinIO](https://localhost:3000/catalogue/components/minio.md) `minio` — default
- [Generic object store](https://localhost:3000/catalogue/components/object-store.md) `object-store` — default
- [Apache Ozone](https://localhost:3000/catalogue/components/ozone.md) `ozone` — default
- [SeaweedFS](https://localhost:3000/catalogue/components/seaweedfs.md) `seaweedfs` — default
- [Storj](https://localhost:3000/catalogue/components/storj.md) `storj` — default
- [OpenStack Swift](https://localhost:3000/catalogue/components/swift.md) `swift` — default
- [Wasabi Hot Cloud Storage](https://localhost:3000/catalogue/components/wasabi.md) `wasabi` — default
- [Spaces Object Storage](https://localhost:3000/catalogue/components/digitalocean-spaces.md) `digitalocean-spaces` — digitalocean
- [Google Cloud Storage](https://localhost:3000/catalogue/components/gcs.md) `gcs` — gcp
- [IBM Cloud Object Storage](https://localhost:3000/catalogue/components/ibm-cloud-object-storage.md) `ibm-cloud-object-storage` — ibm
- [OCI Archive Storage](https://localhost:3000/catalogue/components/oci-archive-storage.md) `oci-archive-storage` — oci
- [OCI Object Storage](https://localhost:3000/catalogue/components/oci-object-storage.md) `oci-object-storage` — oci
- [OUTSCALE Object Storage (OOS)](https://localhost:3000/catalogue/components/outscale-oos.md) `outscale-oos` — outscale

## Use it in a design

```yaml
nodes:
  - { id: "aws-healthimaging", component: "aws-healthimaging" }
```

## Source (`component` YAML, verbatim)

```yaml
# yaml-language-server: $schema=../../schema/component.schema.json
# AWS HealthImaging data store: managed, HIPAA-eligible medical image archive that keeps one authoritative copy of each DICOM study as image sets and serves them over DICOMweb and native APIs.
# "What is AWS HealthImaging?" states the service stores encrypted customer content, uses HTTPS over TLS for all connections by default, verifies pixel data losslessly on every import, and stores image frames as High Throughput JPEG 2000; "Data encryption" states data stores are encrypted with an AWS owned AWS KMS key unless a customer managed key is supplied at creation.
schemaVersion: "1"
type: "component"
id: "aws-healthimaging"
kind: "object-store"
provider: "aws"
docs: "https://docs.aws.amazon.com/healthimaging/latest/devguide/data-encryption.html"
defaults:
  encryptionAtRest: true
  checksumOnWrite: true
  versioning: false
  managed: true
properties:
  imageFrameEncoding:
    type: "enum"
    values: ["htj2k"]
    default: "htj2k"
  dicomWebApi:
    type: "boolean"
    default: true
  customerManagedKey:
    type: "boolean"
    default: false
  intelligentTiering:
    type: "boolean"
    default: true
```

Human page: https://localhost:3000/catalogue/components/aws-healthimaging
