Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
07552b8
Restore branch files removed by merge with main
jburgh Apr 17, 2026
2211662
Restore stashed pages and uncomment cross links
jburgh Apr 17, 2026
2334347
Remove support and maintenance pages for clean Before You Deploy branch
jburgh Apr 21, 2026
4abd4d4
Merge latest main into before-you-deploy
jburgh Apr 21, 2026
cd38824
Merge branch 'main' into js/before-you-deploy
jburgh Apr 27, 2026
ada547d
Merge branch 'main' into js/before-you-deploy
jburgh Apr 29, 2026
ecc9d03
Merge latest main to BYD branch. Resolve lint errors.
jburgh May 4, 2026
cddc646
First round of edits from CDC final review
jburgh May 6, 2026
71974ca
Remove 2 trailing spaces found in lint.
jburgh May 6, 2026
699ad96
Make bullets start with capital letter on BYD page. Move NBSC login i…
jburgh May 6, 2026
78dfbed
Merge branch 'main' into js/before-you-deploy
jburgh May 6, 2026
c537553
Merge branch 'main' into js/before-you-deploy
jburgh May 7, 2026
ba7466e
Continuing edits from CDC final review
jburgh May 7, 2026
cecdbd6
Remove trailing space for lint
jburgh May 7, 2026
8785ca0
Merge branch 'main' into js/before-you-deploy
jburgh May 8, 2026
79596c1
Merge branch 'main' into js/before-you-deploy
jburgh May 13, 2026
56b80a8
Delete Decision tree and Deployent scenarios. Rename Choose config to…
jburgh May 14, 2026
4b2f05e
Move vendor-managed deployment to be direct child of BYD
jburgh May 14, 2026
18e9f84
Reorder BYD pages and align file names with page names
jburgh May 15, 2026
12014c9
Merge branch 'main' into js/before-you-deploy
jburgh May 18, 2026
90b117d
Merge latest Traefik updates from main
jburgh Jun 4, 2026
97ad84e
Clean up and revise planning guide based on CDC feedback
jburgh Jun 5, 2026
76844ed
Final CDC feedback updates; reframing for choice removal
jburgh Jun 5, 2026
21a0f6d
Update language to apply to 7.12 and 7.13 to reduce upkeep
jburgh Jun 8, 2026
dbdb0ab
Update page name for Planning guide in content. Remove links to scena…
jburgh Jun 8, 2026
45192ec
Rename readiness page to 'Assess your technical readiness'. Address f…
jburgh Jun 9, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .markdownlint-cli2.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,11 @@ config:
# The first line of body content is typically the TOC block or a paragraph.
MD041: false

# MD051 — Link fragments should be valid
# Disabled: Kramdown IAL syntax ({: #anchor-id }) sets custom HTML anchor IDs
# that markdownlint cannot resolve. These are valid Jekyll/Kramdown anchors.
MD051: false

# Glob patterns for files and directories to exclude from linting.
# markdownlint-cli2 uses the same glob syntax as .gitignore.
ignores:
Expand Down
36 changes: 36 additions & 0 deletions docs/before-you-deploy.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
title: Before you deploy
layout: page
nav_order: 3
has_children: true
description: Evaluation and planning content to help you assess NBS 7 readiness and choose a deployment configuration.
---

# Before deploying NBS 7

This section is for STLT IT administrators and technical decision-makers who are evaluating and preparing for migration to NBS 7. It brings together the readiness, compatibility, configuration, and planning information you need before deployment begins. Use it to understand what NBS 7 includes, what decisions your jurisdiction needs to make, and what conditions should be in place before you move into deployment work. It is intended to support an informed decision about how to proceed with NBS 7 deployment planning.

## Purpose

Use this section to:

- Assess whether NBS 7 deployment planning is the right next step for your jurisdiction
- Identify the right starting point for your jurisdiction
- Understand the major components, prerequisites, and operational considerations that affect deployment
- Support go or no-go decisions before you commit time and resources to deployment

> Some factors that affect NBS 7 migration extend beyond infrastructure and configuration. For a summary of organizational, financial, and operational considerations, see [Operational considerations](before-you-deploy/operational-considerations.html).
{: .note }

## How this content fits into the NBS 7 process

Three main resources support the NBS 6 to NBS 7 transition. Each serves a different purpose:

| Resource | Purpose | When to use |
|:---|:---|:---|
| **Before you deploy NBS 7** (you are here) | This resource helps IT administrators and leadership evaluate NBS 7, understand hosting requirements, and choose a component configuration | Use first |
| **[NBS 7 Migration Info Sheet](https://nbscentral.cdc.gov/documents/731)** (requires login; see [Additional resources](../index.html#additional-resources)) | Hosted on NBS Central, this resource guides your jurisdiction through the migration process, including timelines, roles, a compatibility checklist, and cutover planning | Use after confirming NBS 7 is the right fit |
| **[NBS 7 Deployment Guide](deploy-nbs7.html)** | Provides step-by-step deployment instructions for your chosen configuration | Use when ready to deploy |

{: .note }
NBS 7 is under active development. Component availability and configuration options will change as development continues. Make sure you check this resource for the latest guidance before you begin to plan.
110 changes: 110 additions & 0 deletions docs/before-you-deploy/assess-your-readiness.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
---
title: Readiness assessment
layout: page
parent: Before you deploy
nav_order: 1
description: Covers the technical prerequisites an STLT should meet before beginning NBS 7 migration, including cloud, staffing, and network requirements.
---

# Assess your technical readiness for NBS 7

This page covers the technical conditions your jurisdiction should review before committing to an NBS 7 migration, including cloud infrastructure, staffing, network readiness, and NBS 6 compatibility.

## On this page
{: .no_toc .text-delta }

1. TOC
{:toc}

If you work through this page and find that your jurisdiction does not meet one or more prerequisites, you might still be able to move forward. You can address some gaps with planning and lead time, but other gaps might indicate that NBS 7 is not the right fit for your jurisdiction right now.

For more information on migration planning, staffing, and budget, see [Operational considerations](../before-you-deploy/operational-considerations.html) in this guide, and the [NBS 7 Migration Info Sheet](https://nbscentral.cdc.gov/documents/731) and [NBS 7 Resource Estimator](https://nbscentral.cdc.gov/documents/872) on NBS Central (NBS Central login required; see [Additional resources](../../index.html#additional-resources)).
{: .note }

## Not sure where to start?

If you are new to NBS 7 deployment, the [Deployment planning guide](../before-you-deploy/planning.html) provides example stages in a typical rollout and where this readiness assessment fits.

## IT security approval

Has your jurisdiction obtained IT security approval for cloud hosting and the software technologies that NBS 7 requires, including Kubernetes, Terraform, and Docker?

- **Yes, or approval is not required**: Continue with the rest of this section.
- **No, or unknown**: Approval timelines vary and can significantly affect your migration schedule. We recommend working with your IT office while you continue to plan.

See also: [Operational considerations](../before-you-deploy/operational-considerations.html) and [Set up cloud infrastructure](../deploy-nbs7/set-up-cloud-infrastructure.html).

## Cloud infrastructure

NBS 7 requires a cloud-based environment for deployment; CDC does not support on-premises installations. To deploy with CDC support, you need an active account with one of the following supported cloud providers:

### Amazon Web Services (AWS)

- **Strategic fit:** Preferred by jurisdictions with established AWS environments or those with existing AWS contract vehicles or organizational policies that standardize on AWS.
- **Technical readiness:** Aligns with teams experienced in managing container-native architectures via Amazon Elastic Kubernetes Service (Amazon EKS) and mature Terraform workflows.

### Microsoft Azure

- **Strategic fit:** Preferred by jurisdictions with significant Microsoft ecosystem investments, such as those using Microsoft Entra ID (formerly Azure Active Directory) or existing Enterprise Agreements.
- **Technical readiness:** Provides a streamlined experience for organizations running Windows-based workloads or requiring integration with Microsoft 365 and Power Platform tools.

See also: [Deploy cloud infrastructure on AWS](../deploy-nbs7/deploy-on-aws.html), [Deploy cloud infrastructure on Azure](../deploy-nbs7/deploy-on-azure.html), and the [NBS 6 and NBS 7 compatibility matrix](../compatibility.html).

## Staff Kubernetes expertise

NBS 7 uses Kubernetes, a container orchestration platform. To deploy and maintain NBS 7, you need staff who can:

- Deploy and manage Kubernetes clusters
- Read and modify Terraform configuration files
- Manage cloud networking, storage, and access control
- Monitor system health and respond to alerts

If your IT team does not have these skills, you have two options:

- **Build capacity**: Train existing staff or hire staff with these skills before you begin deployment.
- **Work with a vendor**: Contract with a vendor to deploy or manage your NBS 7 infrastructure. See [Vendor-managed deployment](../before-you-deploy/vendor-managed-deployment.html) for guidance on what to look for in a vendor.

See also: [Operational considerations](../before-you-deploy/operational-considerations.html) and [Deployment phases](../before-you-deploy/deployment-phases.html).

## Network readiness

Before deployment, your network must meet the following requirements:

- **Encryption**: Encryption is required for all virtual network traffic between NBS 6 and NBS 7 components.
- **Outbound access**: Your cloud environment needs outbound internet access to reach CDC systems.
- **TLS/SSL certificate management**: You need a process to provision and renew TLS/SSL certificates for encrypted traffic.

Your specific network configuration will depend on your cloud provider and the existing infrastructure for your jurisdiction.

See also: [Architecture and microservices](../deploy-nbs7/architecture-and-microservices.html), [Cluster infrastructure](../deploy-nbs7/cluster-infrastructure.html), and [Set up cloud infrastructure](../deploy-nbs7/set-up-cloud-infrastructure.html).

## NBS 6 status

Migration from NBS 6 to NBS 7 concludes with a cutover from your existing NBS 6 instance to the new NBS 7 deployment. This means that:

- Your jurisdiction will run both systems in parallel during the transition.
- Your NBS 6 instance must remain operational and accessible during migration.
- Some jurisdictions provision a separate NBS 6 environment for migration activities and then cut over, rather than deploying NBS 7 changes directly against their primary NBS 6 production server.
- You need to know your current NBS 6 hosting setup before you begin. Specifically, whether it is hosted on-premises or in the cloud, and if in the cloud, which provider.
- **You must be running a compatible NBS 6.x version** before you can install any version of NBS 7. For more information, see the [NBS 6 and NBS 7 compatibility matrix](../compatibility.html).

See also: [Deployment planning guide](../before-you-deploy/planning.html) and [Operational considerations](../before-you-deploy/operational-considerations.html).

## Data migration

NBS 7 uses your existing NBS 6 database and does not require a schema migration. Unless you choose to move your database from on premises to the cloud, no data migration should be needed.

If your current NBS 6 database is hosted on-premises and you plan to move it to the cloud as part of your migration, you will need to copy the data from your existing environment and restore it to the new environment using a standard database backup and restore process. If you are not moving your NBS 6 database, no data migration action is required.

See also: [Prerequisites for NBS 7 deployment](../deploy-nbs7/prerequisites.html#nbs-6-readiness) and [Deployment planning guide](../before-you-deploy/planning.html).

## CDC coordination

Reach out to your CDC NBS point of contact before you begin deployment. CDC provides deployment support at no cost and can help you:

- Validate your technical readiness
- Connect you with other jurisdictions that have already migrated

See also: [Deployment phases](../before-you-deploy/deployment-phases.html) and [Operational considerations](../before-you-deploy/operational-considerations.html).

**Contact:** [nbs@cdc.gov](mailto:nbs@cdc.gov)
42 changes: 42 additions & 0 deletions docs/before-you-deploy/component-reference.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
title: Component reference
layout: page
parent: Before you deploy
nav_order: 6
has_children: true
description: Describes each NBS 7 component — what it does, when it is needed, and how it relates to other components — organized by NBS 7 core components and available add-ons.
---

# NBS 7 component reference

The pages in this section describe each component in NBS 7. Use it to understand what each component does, why it is included in your deployment, and how it relates to other components.

NBS 7 is deployed in phases. Components in this reference are organized by deployment phase:

- [NBS 7 core deployment](../before-you-deploy/component-reference/nbs-core-components.html)
- [Real-Time Reporting (RTR) deployment](../before-you-deploy/component-reference/rtr.html)
- [Data Ingestion (DI) API deployment](../before-you-deploy/component-reference/di-api.html)

For deployment configuration details including configuration parameters, Helm chart values, and step-by-step setup instructions, see the [Deploy NBS 7](../deploy-nbs7.html) section of this guide.

---

## Quick reference

The following table shows which components are included in NBS 7. RTR and DI API are deployed separately from the core NBS 7 components.

| Component | NBS 7 | RTR | DI API |
|:---|:---:|:---:|:---:|
| [Legacy NBS 6](../before-you-deploy/component-reference/nbs-core-components.html#legacy-nbs-6) | ✓ | | |
| [NBS Modernization API](../before-you-deploy/component-reference/nbs-core-components.html#nbs-modernization-api) | ✓ | | |
| [NBS Web UI](../before-you-deploy/component-reference/nbs-core-components.html#nbs-web-ui) | ✓ | | |
| [NBS Gateway](../before-you-deploy/component-reference/nbs-core-components.html#nbs-gateway) | ✓ | | |
| [Elasticsearch](../before-you-deploy/component-reference/nbs-core-components.html#elasticsearch) | ✓ | | |
| [NiFi](../before-you-deploy/component-reference/nbs-core-components.html#nifi) | ✓ | | |
| [Keycloak](../before-you-deploy/component-reference/nbs-core-components.html#keycloak) | ✓ | | |
| [Database (NBS\_ODSE, NBS\_SRTE)](../before-you-deploy/component-reference/nbs-core-components.html#database-nbs_odse-nbs_srte) | ✓ | | |
| [Infrastructure and networking layer](../before-you-deploy/component-reference/nbs-core-components.html#infrastructure-and-networking-layer-components) | ✓ | | |
| [Debezium](../before-you-deploy/component-reference/rtr.html#debezium) | | ✓ | |
| [Kafka and Kafka Connect](../before-you-deploy/component-reference/rtr.html#kafka-and-kafka-connect) | | ✓ | ✓ |
| [RTR domain services](../before-you-deploy/component-reference/rtr.html#rtr-domain-services) | | ✓ | |
| [DI API](../before-you-deploy/component-reference/di-api.html#di-api) | | | ✓ |
33 changes: 33 additions & 0 deletions docs/before-you-deploy/component-reference/di-api.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
title: "Data Ingestion (DI) API"
layout: page
parent: Component reference
grand_parent: Before you deploy
nav_order: 3
description: Details the Data Ingestion (DI) API component, which provides a REST API layer for routing incoming data into NBS through middleware.
---

# Component reference: Data Ingestion (DI) API

The DI API is a REST API layer built into NBS 7 that accepts incoming public health data and routes it into NBS. Middleware such as Rhapsody or an equivalent integration engine preprocesses and formats the data, then sends it to the DI API instead of writing directly to the NBS database.

For information on the relationship between the DI API and your existing middleware, see [Operational considerations](../../before-you-deploy/operational-considerations.html).
{: .note }

<!--
## On this page
{: .no_toc .text-delta }

1. TOC
{:toc}
-->

## DI API

A REST API layer that accepts incoming public health data in multiple formats and routes it into NBS.

| Attribute | Description |
|:---|:---|
| What it does in NBS 7 | Accepts Electronic Case Reports (eCR), HL7 v2.x electronic lab reports (ELRs), and Public Health Document Container (PHDC) files through a standard API interface. Middleware preprocesses, enriches, and formats the data, then sends it to the DI API for ingestion into NBS. This supports near-real-time ingestion and gives jurisdictions an option when they do not want middleware or other third-party tools writing directly to the NBS database. |
| When you need it | Use DI API for an API-based ingestion path instead of direct database access. This is especially useful for jurisdictions with security constraints that prevent middleware from connecting directly to the NBS database. |
| Dependencies | Requires middleware such as Rhapsody or an equivalent integration engine. External senders such as laboratories, EHR systems, and health information exchanges continue to send data through middleware, which then sends the processed payload to the DI API. |
Loading