Skip to content
Aviato Consulting

Healthcare & Life Sciences Cloud Solutions

Health data platforms on Google Cloud that keep patient records in the jurisdiction that governs them. FHIR integration, de-identification, genomics and forecasting for providers in Australia and Singapore.

Key Takeaways

  • Sovereign health data by design: Patient workloads are locked by Google Cloud Organisation Policies to nominated regions (australia-southeast1/australia-southeast2 for Australia or asia-southeast1 for Singapore) with Customer-Managed Encryption Keys (CMEK) and VPC Service Controls.
  • De-identification on ingest: Sensitive Data Protection (Cloud DLP) and the Cloud Healthcare API redact national health identifiers, patient names, and Medicare numbers before records land in BigQuery analytics tables.
  • Elastic genomics compute: Bursty sequencing pipelines (Nextflow, Cromwell, DeepVariant, DeepSomatic, AlphaFold) run on ephemeral Google Batch clusters that scale to 1,000+ cores for the duration of a run and shut down to zero afterward.
  • Clinician-in-the-loop AI: Tabular forecasting uses explainable BigQuery ML (ARIMA_PLUS, boosted trees) with cohort bias checks, while generative AI is strictly scoped to back-office document extraction and clinical coding with mandatory human sign-off.

Compliance is the architecture, not a review at the end

Health data is the one category where getting it wrong is unrecoverable. You can rotate a leaked API key. You can’t un-disclose someone’s diagnosis, or their genome. Sequencing data is worse than most people assume: it identifies a patient for life, it can’t be reissued, and it implicates relatives who never consented to anything.

So we design the controls first. Patient workloads are pinned to the regions you nominate, Sydney and Melbourne for Australian providers, Singapore for those operating under MOH oversight, with customer-managed encryption keys so Google holds the ciphertext and you hold the key. Organisation policy constraints stop a well-meaning engineer spinning up a resource in the wrong country at all. VPC Service Controls draw a perimeter that data can’t be copied out of, even by someone with valid credentials. De-identification happens on ingest through the Cloud Healthcare API’s de-id pipelines and Cloud DLP, so the analytics copy never contains a national health identifier in the first place. That ordering matters: masking after landing gives you a clean table and a dirty bucket behind it.

Which obligations apply depends on where you operate. In Australia that’s the Privacy Act and the Australian Privacy Principles, the My Health Records Act where a provider connects to it, and the Notifiable Data Breaches scheme, which is what makes the audit trail load-bearing rather than nice to have. In Singapore it’s the PDPA, plus the Healthcare Services Act licensing conditions and the data handling rules that come with connecting to the National Electronic Health Record. For groups with US or EU arms we add HIPAA and GDPR boundaries, normally as separate projects rather than separate tags, because tags don’t stop a query.

Multi-jurisdiction is where this gets genuinely hard, and it’s worth being blunt about it. A single regional data platform serving both Australian and Singaporean patients usually can’t be done as one dataset with a country column. Cross-border disclosure rules mean the practical answer is separate projects per jurisdiction with a federated query layer above them, which costs more and is slower to build than the architecture people usually arrive asking for. Research collaborations then add ethics-committee conditions on top, and those are often stricter than either country’s legislation.

Genomics: the compute problem is bursty, not big

A genomics pipeline is idle most of the month and then wants a thousand cores for six hours. Buying for the peak wastes most of the year, and queuing on a shared cluster means researchers wait weeks.

We run these on Google Batch with Nextflow or Cromwell, so the cluster exists for the duration of the run and then stops. Variant calling uses DeepVariant, Google’s deep-learning caller, which reads the pileup as an image and is measurably more accurate on indels than the older statistical callers. DeepSomatic covers tumour-normal work. Called variants land in BigQuery rather than a pile of VCFs on a share, which is what makes cohort queries across thousands of samples take seconds instead of a batch job. For structural biology, AlphaFold runs on Vertex AI against the same storage.

None of that is a language model. It’s convolutional and transformer-based inference over sequence and image data, which is where the accuracy in this field actually comes from.

We’ve built this shape of burst compute before, including an on-demand 1,000-core cluster for a global engineering client. The scheduling problem is the same whichever domain the workload comes from.

Predicting population health at scale

This is the part most health organisations underuse, and it doesn’t need generative AI at all. Predicting emergency department demand, hospital readmission risk, chronic disease progression or immunisation coverage gaps is tabular and time-series forecasting. The right tools are boosted trees and sequence models, not chat.

BigQuery ML is usually where we start, because the data is already there and moving it is the expensive part. ARIMA_PLUS handles seasonal demand forecasting with holiday effects, which matters when your peak follows public holidays and school terms rather than a smooth curve. Boosted-tree classifiers handle risk stratification, and they have the advantage of explaining themselves: feature importance is something a clinical governance committee can interrogate. Where a model needs to be custom, Vertex AI Forecast and custom TensorFlow training run against the same de-identified tables.

A caveat worth stating. These models learn from historical care patterns, so they inherit historical access inequities. A readmission model trained on a population that under-presented to hospital will under-predict for that population. We build cohort-level bias checks into the evaluation step, and we’d rather flag a model as unsafe to deploy than ship it with a good aggregate AUC. Sometimes the honest answer is that the data isn’t good enough yet.

Where generative AI does earn its place

Narrow, human-in-the-loop, back-office work. Turning a dictated note into structured fields, suggesting clinical codes for a coder to accept or reject, triaging an intake form so the right person reads it first. Document AI and Vertex AI handle these well, with a person signing off every output. We don’t build anything that puts a model between a clinician and a diagnosis.

What we build

  • FHIR and clinical data interoperability. EHR exports, pathology feeds and DICOM imaging brought into FHIR with the Cloud Healthcare API.
  • De-identification on ingest. Sensitive Data Protection pipelines that remove patient names, Medicare numbers and other identifiers before data reaches analytics.
  • Clinical document processing. Document AI and Vertex AI to extract summaries, suggest clinical codes and triage intake forms, with a person approving each output.
  • Data residency by region. Patient workloads pinned to Sydney and Melbourne or Singapore, with customer-managed encryption keys and organisation policies that block deployment anywhere else.

Step-by-Step Implementation Approach

  1. Step 1: Jurisdictional Boundary & Privacy Design — We define separate Google Cloud projects per jurisdiction (Australian Privacy Act / My Health Records Act, Singapore PDPA / MOH, HIPAA, or GDPR) with CMEK keys, VPC Service Controls, and region-lock policies.
  2. Step 2: Ingest & De-Identification Pipeline Engineering — We connect HL7v2, FHIR R4, and DICOM feeds through the Cloud Healthcare API and Dataflow, stripping PII/PHI on ingest via Sensitive Data Protection before landing analytics datasets in BigQuery.
  3. Step 3: Burst Compute & Analytical Model Deployment — We configure on-demand Google Batch genomics workflows or BigQuery ML / Vertex AI forecasting models with cohort-level bias evaluation gates.
  4. Step 4: Audit Verification & Clinical Governance Handover — We verify immutable Data Access audit logs for Notifiable Data Breaches compliance and hand over full Terraform modules and runbooks to your internal team.
FAQ

Questions we get asked

How do you maintain patient data sovereignty under the Australian Privacy Act and Singapore PDPA?

Google Cloud organisation policies lock storage, BigQuery datasets and Vertex AI processing to the regions you nominate, such as Sydney, Melbourne or Singapore. Customer-managed encryption keys (CMEK) and VPC Service Controls sit on top.

Can you integrate legacy HL7v2 hospital systems with modern FHIR APIs and BigQuery?

Yes. Using the Cloud Healthcare API and Dataflow, we bring HL7v2, FHIR R4 and DICOM feeds into governed BigQuery datasets, with personal and health identifiers removed on the way in by Sensitive Data Protection.

How do you govern AI assistants that work with patient records?

They use retrieval-augmented generation (RAG) grounded only in verified internal clinical documents, cite their sources, require a person to review outputs, and log everything for audit.

Talk to an architect who has done this before.

Bring your current setup and the outcome you need. You will get a view on the approach, the risks and roughly what it costs.

Book a 20-min architecture call

Straight to a senior GCP architect. No SDR, no slide deck.

Not ready to talk? See how we migrated Hapana off AWS →

Or call +61 2 8359 9507 · Hello@aviato.consulting

Call us Book a call

Quick navigation