Pricing

This document explains Cloud Healthcare API pricing details. You can also use the Google Cloud Platform Pricing Calculator to estimate the cost of using the Cloud Healthcare API.

If you pay in a currency other than USD, the prices listed in your currency on Cloud Platform SKUs apply.

Pricing overview

Cloud Healthcare API pricing is based on a combination of:

Pricing tables

The pricing tables below show what charges apply when using the Cloud Healthcare API.

For example scenarios that show usage and charges, see Pricing examples.

Store runtime

Store runtime refers to the number of data stores (FHIR stores, DICOM stores, and HL7v2 stores) in your GCP project and the length of time they exist.

Hourly store rates are the same across all modalities (FHIR, DICOM, and HL7v2). Store runtime is aggregated across all data stores in a given region per billing period. Store runtime prices are per data store per hour.

North America Europe
Region type 0-750 hours 750-2,500 hours 2,500+ hours
Single region
Multi-region

Data storage

Data storage charges are categorized as either Structured Storage or Blob Storage.

Iowa (us-central1) Montréal (northamerica-northeast1) London (europe-west2) Netherlands (europe-west4) US, multi-region
Storage class 0-1 GB (per GB per month) 1-1,024 GB (1 TB) (per GB per month) 1 TB+ (per GB per month)
Structured Storage
Blob Storage

By default, all storage charges are in the Structured Storage category. Storage volume is based on bytes of data ingested plus indexing overhead (as measured by indexed bytes) and backup bytes. Prices are based on periodic measurements aggregated across all data stores during a billing period.

Stored raw DICOM data in all regions uses Blob Storage. Blob Storage prices are based on the amount of non-structured or "blob" bytes that are ingested and stored. Searchable metadata from ingested DICOM images (such as DICOM tags) are persisted and charged as part of Structured Storage.

Request volume

A request is an HTTPS or gRPC operation invoked through any of the following:

  • The healthcare.googleapis.com endpoint
  • The gcloud tool
  • Google Cloud Platform Console

Requests can be of the following types:

  • Standard Requests: Default for all requests.
  • Complex Requests: Captures API requests that are computationally intense compared with Standard Requests.
  • Multi-operation Requests: Captures multi-operation requests.

The following prices are per 100,000 requests per month:

Category 0-25,000 requests 25,000-1 billion requests 1 billion+ requests
Standard Requests $0.00 $0.39 $0.29
Complex Requests $0.00 $0.69 $0.59
Multi-operation Requests $0.00 $0.39 $0.29

Unless specified in the following table, all operations are Standard Requests.

Complex Request operations Multi-operation Request operations Free operations
dicomStores.searchForStudies
dicomStores.searchForSeries
dicomStores.searchForInstances
fhir.search
fhir.conditionalUpdate
fhir.conditionalPatch
fhir.Observation-lastn
hl7V2Stores.messages.list
dicomStores.studies.storeInstances
dicomStores.studies.series.instances.retrieveInstance
dicomStores.studies.retrieveStudy
dicomStores.studies.series.retrieveSeries
fhir.Patient-everything
fhir.executeBundle
fhirStores.import
fhirStores.delete
fhir.delete
fhir.Resource-purge
fhir.conditionalDelete
dicomStores.delete
dicomStores.studies.delete
dicomStores.studies.series.delete
dicomStores.studies.series.instances.delete
hl7V2Stores.delete
hl7V2Stores.messages.delete
datasets.delete

For example:

  • A single FHIR transaction with 100 operations across 75 resources consists of 100 Complex Requests.
  • The DICOM operations listed under the "Multi-operation Request operations" column in the above table can transfer multiple DICOM instances in a single request (for example, a single dicomStores.storeInstances request can be used to upload multiple instances). For these requests a Multi-operation Request is charged for each DICOM instance transferred.

Notification volume

Notifications are streaming events that originate from data stores and are sent to GCP or external endpoints. Notifications contain either resource names, resource metadata, or entire resources and are generated according to a user-provided configuration. By default, all notifications are of type "Standard Notifications."

The following prices are per 1 million notifications per month:

Category 0-100,000 notifications 100,000+ notifications
Standard Notifications $0.00 $0.29

For example, Cloud Pub/Sub notifications sent to a Cloud Pub/Sub topic attached to a data store are Standard Notifications.

ETL operations

There are two categories of extract, transform, and load (ETL) operations in the Cloud Healthcare API: export batch and transcode DICOM.

The total data volume is aggregated across all services during each billing period. The following prices are per GB per month.

Category 0-1 GB 1-1,024 GB (1 TB) 1 TB+
Export batch $0.19 $0.14 $0.09
Transcode DICOM $0.00 $0.004 $0.003

These operations are billed based on the total volume of data processed. Export operations include all destinations, such as Cloud Storage and BigQuery. DICOM transcoding is only charged when a DICOM instance is requested in a different transfer-syntax than the one it was uploaded with. This can happen for WADO-RS and bulk export requests. For more information, see the WADO-RS section in the DICOM conformance statement.

When exporting to Cloud Storage:

  • DICOM data volume is based on the size of the stored files.
  • FHIR data volume is based on bytes transferred in the protocol buffer format.

When exporting to BigQuery:

  • DICOM data volume is based on stored DICOM metadata.
  • FHIR data volume is based on the entire resource.

For both DICOM and FHIR, the measurement used is based on the number of protocol buffer bytes transferred.

When transcoding, the data volume is based on the data's input size rather than the output or maximum intermediate size.

The following table lists the operations for each type of ETL category:

Export batch Transcode DICOM
fhirStores.export
dicomStores.export
dicomStores.export
dicomStores.studies.retrieveStudy
dicomStores.series.retrieveSeries
dicomStores.studies.series.instances.retrieveInstance
dicomStores.studies.series.instances.retrieveRendered
dicomStores.studies.series.instances.frames.retrieveFrames
dicomStores.studies.series.instances.frames.retrieveRendered

De-identification operations

De-identification operations are billed based on the volume of data processed in three sub-operations:

  • Inspection: Occurs on free text or images to discover instances of sensitive data.
  • Transformation: Encompasses redaction, replacement, hashing, or changes made to sensitive data as part of the de-identification process.
  • Processing: Covers the base cost of the operation.

The amount of data in each sub-operation depends on how the main operation is configured.

Billing charges are resolved monthly according to how many units were processed and what tier they fall in. There are three types of units, and each unit type is calculated differently:

  • Inspection units: Based on the number of bytes inspected multiplied by the number of infoTypes used for inspection. For example, inspecting 1 GB of data with 1 infoType is equivalent to 1 giga-unit (GU) of inspection. There is a minimum charge of 10 kilo-units per de-identification operation.
  • Transformation units: Based on the number of bytes transformed, where 1 GB of data is equivalent to 1 GU of transformation.
  • Processing units: Based on the total number of bytes in the de-identification operation.

Each type of unit is priced in its own category as detailed in the tables above:

  • Inspection and transformation costs are given by ranges of giga-units (GU) and tera-units (TU). Within each range, the price listed is per GU.

    For example, for a given billing cycle:

    • Up to 1 GU of inspection is free.
    • Inspection units are billed at $0.20 for the number of units between 1 TU and 10 TU.
  • Processing costs are given by ranges of gigabytes (GB) and terabytes (TB). Within each range, the price listed is per GB.

    For example, for a given billing cycle:

    • Up to 1 GB of Structured Storage, Batch processing is free.
    • Structured Storage, Batch Processing units are billed at $0.50 for the number of units between 1 TB and 10 TB.
Sub-operation 0-1 GU 1 GU-1 TU 1 TU-10 TU 10+ TU
Inspection $0.00 $0.30 $0.20 $0.10
Transformation $0.00 $3.00 $2.00 $1.00
Sub-operation Category 0-1 GB 1 GB-1 TB 1 TB-10 TB 10+ TB
Processing Structured Storage, Batch $0.00 $0.60 $0.50 $0.40
Processing Blob Storage, Batch $0.00 $0.08 $0.06 $0.05

The charges for the sub-operations depend on whether you are working with FHIR or DICOM data:

FHIR:

  • Inspection and transformation charges apply for the portion of the resource that is inspected for sensitive data and subsequently transformed.
  • Processing charges apply to the entire resource at the Structured Storage, Batch rate.

DICOM:

  • Inspection charges apply to the portion of the resource (including pixel data) that is inspected for sensitive data. During inspection, DICOM images might be transcoded to a different file format, such as JPEG. This means that the number of bytes you are charged for image inspection might be smaller than the original image size.
  • Transformation charges apply to the portion of the resource (excluding pixel data) that is transformed after inspection. If image redaction is performed, then charges only apply for inspection, not transformation. For information on how this works in practice, see the DICOM de-identification example.
  • Processing charges apply to the entire resource and are calculated based on the size of the original DICOM instance. Processing charges for DICOM metadata use the Structured Storage, Batch category. Processing charges for pixel data use the Blob Storage, Batch category.

Network

Ingress

Ingress is always free.

Inter-region data transfer

There is no charge for data egress when the transfer request originates from the Cloud Healthcare API and goes to any service on GCP that is in the same region.

The following prices apply to data transfers between regions or from a multi-region group to a single region on the same continent and vice versa. Prices are per GB per month.

Source and destination of traffic 0 GB+
North America to North America $0.01
Europe to Europe $0.02
Asia Pacific to Asia Pacific $0.05
Intercontinental (excluding Oceania) $0.08
Intercontinental to/from Oceania $0.15

General network usage

General network usage applies to data that exits Google. The Cloud Healthcare API uses Premium Internet Egress, with prices shown below. Egress prices are consistent with GCP Network Pricing - Premium Tier.

Prices are per GB per month.

Source and destination of traffic 0-10 TB 10 TB-150 TB 150 TB+
North America to North America $0.105 $0.080 $0.060
Europe to Europe $0.105 $0.080 $0.060
Asia Pacific to Asia Pacific $0.120 $0.085 $0.080
South America to South America $0.120 $0.085 $0.080
Oceania to Oceania $0.120 $0.085 $0.080
Intercontinental (excluding Oceania and China) $0.120 $0.085 $0.080
Intercontinental to/from Oceania $0.190 $0.160 $0.150
Any traffic to China $0.190 $0.160 $0.150

Pricing examples

FHIR pricing example

Suppose that a FHIR-based application hosted on GCP in europe-west2 produces 25,000,000 requests in a month with an average of 4 kB per resource. Five million of the requests are FHIR searches and so are billed as Complex Requests. Over a one month period, the FHIR store persists an average of 1 TB of data, including backup and indexing overhead.

The following table shows the usage pattern in the given month:

Pricing category Type of usage Amount
Store runtime One FHIR store 720 hours
Request volume Standard Requests
Complex Requests
20,000,000
5,000,000
Data storage Structured Storage in europe-west2 1 TB

Your bill for the month is calculated as follows:

Pricing category Calculation Price
Store runtime 1 FHIR store for 720 hours (30 days * 24 hours) total:
(0-750 hours tier) 720 hours * $0.00

$0.00
Request volume 25,000,000 requests total:
(0-25,000 requests tier) 25,000 Standard Requests * $0.00
(25,000-1 billion requests tier) 19,975,000 Standard Requests * $0.39
(0-25,000 requests tier) 25,000 Complex Requests * $0.00
(25,000-1 billion requests tier) 4,975,000 Complex Requests * $0.69

$0.00
$77.90
$0.00
$34.33
Data storage 1 TB total:
(0-1 GB tier) 1 GB * $0.00
(1 GB-1 TB tier) 1,023 GB * $0.39

$0.00
$398.97
Total $511.20

DICOM pricing example

Suppose that, in one month, a small imaging center generates the following in a DICOM store located in us-central1:

  • 1,000 X-ray studies (~10 MB each)
  • 300 CT studies (~300 MB each)
  • 200 MRI studies (~300 MB each)

The imaging center maintains images for one year, which leads to an average monthly storage of 160 GB and an additional 6.4 GB of parsed meta tag storage, including overhead. To estimate the number of requests made, assume that each X-ray study consists of a single image and each CT study and MRI study consists of 300 images.

Additionally, assume the following:

  • For each study, two metadata search requests (DICOMweb QIDO-RS) are made for a total of 2*(1,000 + 300 + 200) = 3,000 Complex Requests.
  • Each image is retrieved twice, for a total of 2*(1,000 + 300 * 300 + 200 * 300) = 302,000 Complex Requests.
  • The images must be transcoded every time they are requested, for a total of 2*160 GB = 320 GB transcoded.

The following table shows the usage pattern in the given month:

Pricing category Type of usage Amount
Store runtime One DICOM store 720 hours
Request volume Complex Requests
Multi-operation Requests
3,000
302,000
Data storage Structured Storage in us-central1
Blob Storage in us-central1
6.4 GB
160 GB
ETL operations Transcode DICOM 320 GB

Your bill for the month is calculated as follows:

Pricing category Calculation Price
Store runtime 1 DICOM store for 720 hours (30 days * 24 hours) total:
(0-750 hours tier) 720 hours * $0.00

$0.00
Request volume 305,000 requests total:
(0-25,000 requests tier) 3,000 Complex Requests * $0.00
(0-25,000 requests tier) 25,000 Complex Requests * $0.00
(25,000-1 billion requests tier) 277,000 Complex Requests * $0.39

$0.00
$0.00
$1.08
Data storage 166.4 GB total:
(0-1 GB tier) 0.5 GB Structured Storage * $0.00
(1 GB-1 TB tier) 5.9 GB Structured Storage * $0.24
(0-1 GB tier) 1 GB Blob Storage * $0.00
(1 GB-1 TB tier) 159 GB Blob Storage * $0.025

$0.00
$1.42
$0.00
$3.98
ETL operations 320 GB total:
(0-1 GB tier) 1 GB * $0.00
(1 GB-1 TB tier) 319 GB * $0.004

$0.00
$1.28
Total $7.76

HL7v2 pricing example

Suppose that an HL7v2 store in us-central1 is connected to a care facility that creates 10,000,000 messages per month using an on-premise MLLP adapter. As a result, 10,000,000 ingest requests will be sent to the Cloud Healthcare API. In response, 10,000,000 acknowledgment messages are generated (but are not persisted in the HL7v2 store).

Over a one month period, the HL7v2 store persists an average of 80 GB of data, including backup and indexing overhead.

The following table shows the usage pattern in the given month:

Pricing category Type of usage Amount
Store runtime One HL7v2 store 720 hours
Request volume Standard Requests 20,000,000
Data storage Structured Storage in us-central1 80 GB

Your bill for the month is calculated as follows:

Pricing category Calculation Price
Store runtime 1 store for 720 hours (30 days * 24 hours) total:
(0-750 hours tier) 720 hours * $0.00

$0.00
Request volume 20,000,000 requests total:
(0-25,000 requests tier) 25,000 Standard Requests * $0.00
(25,000-1 billion requests tier) 19,975,000 Standard Requests * $0.39

$0.00
$77.90
Data storage 80 GB total:
(0-1 GB tier) 1 GB * $0.00
(1 GB-1 TB tier) 79 GB * $0.24

$0.00
$18.96
Total $96.86

FHIR de-identification example

Suppose that you de-identify 10 GB of FHIR data. During de-identification, 10% (1 GB) of the data will be inspected, of which 10% (0.1 GB) will be transformed. A default of 15 infoTypes is used.

Your bill for the de-identification is calculated as follows:

Sub-operation Calculation Price
Inspection 10 GB * 0.1 inspected * 15 infoTypes * $0.30/GU $4.50
Transformation 10 GB * 0.1 inspected * 0.1 transformed * $3.00/GU $0.30
Processing 10 GB * $0.60/GB $6.00
Total $10.80

DICOM de-identification example

Suppose that you de-identify 10 GB of DICOM data. 90% (9 GB) of the data consists of DICOM images. All of the images are inspected, and 10% (0.9 GB) are transformed. A default of 16 infoTypes is used.

Your bill for the de-identification is calculated as follows:

Sub-operation Calculation Price
Inspection 10 GB * 0.9 images * 16 infoTypes * $0.30/GU $43.20
Transformation Bundled with inspection $0.00
Processing DICOM metadata: 10 GB * 0.1 text * $0.60/GB
Pixel data: 10 GB * 0.9 images * $0.08/GB
$0.60
$0.72
Total $44.52

What's next

Var denne siden nyttig? Si fra hva du synes:

Send tilbakemelding om ...

Cloud Healthcare API