Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
3 changes: 3 additions & 0 deletions frontend/src/i18n/en/developers.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@
"feedback": "Providing feedback",
"about": "About the data",
"accessing": "Accessing the data",
"overview": "Overview",
"authentication": "Authentication",
"endpoints": "Available endpoints",
"sandbox": "Developer sandbox",
"opensource": "Open source project"
}
Expand Down
18 changes: 9 additions & 9 deletions frontend/src/pages/Developers/Developers.content.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
## Participating in the beta
# Participating in the beta

This limited beta release provides a select group of early adopters the opportunity to explore our approach to achieving an interoperable National Provider Directory (NPD), provide feedback, and help shape the future of the initiative.

Expand All @@ -10,7 +10,7 @@ Please note the following:
* Frequent updates and API changes are possible
* Feedback is encouraged

### Providing feedback
## Providing feedback
Feedback in all areas is welcome during the beta, including the following:

* The latest dataset
Expand All @@ -21,21 +21,21 @@ Feedback and questions may be submitted via [email](mailto:[email protected]). Ear

Developers may also participate in our [open source project](#open-source-project).

## About the data
# About the data

For the first time, CMS is aligning its internal provider data resources to establish a new dataset available through the National Provider Directory API.

The initial dataset combines data from NPPES, PECOS, CEHRT, and other CMS data sources.

The NPD will use an iterative approach to expand data sources over time. This will include additional internal provider, payer, claims, and network data, as well as incorporating external data from the industry.

## Accessing the data
# Accessing the data

### Overview
## Overview

Developers can query and retrieve National Provider Directory data via a REST API. The API structure conforms to the HL7 Fast Healthcare Interoperability Resources (FHIR) standard and it returns JSON responses following the FHIR specification.

### Authentication
## Authentication

While it is not a long term goal for this API to require authentication for all requests, we currently require user accounts and [HTTP Basic Access Authentication](https://en.wikipedia.org/wiki/Basic_access_authentication) for all API requests.

Expand All @@ -55,7 +55,7 @@ curl -H "Authorization: Basic bnBkLnVzZXJAY21zLmhocy5nb3Y6dG9vbWFueXNlY3JldHM1ND

If you’re using the [developer sandbox](#developer-sandbox) to make requests while signed-in, your authentication will automatically pass through via a secure session cookie.

### Available endpoints
## Available endpoints

The initial beta release of the National Provider Directory API makes the following endpoints available. For a detailed description of the endpoints, query string parameters, and response bodies, please refer to the National Provider Directory [API documentation](/fhir/docs/redoc).

Expand All @@ -71,12 +71,12 @@ The initial beta release of the National Provider Directory API makes the follow
| /fhir/Practitioner/<id> | lists individuals that provide healthcare services (I.e. individuals having a type 1 National Provider Identifier), as well as details about those practitioners; supplying an id allows developers to retrieve a single practitioner record |
| /fhir/PractitionerRole/<id> | lists relationships between individuals that provide healthcare services, the organizations within which they provide healthcare services, the locations at which they practice, and the interoperability endpoints that pertain to those relationships; supplying an id allows developers to retrieve a single practitioner role record |

## Developer sandbox
# Developer sandbox

To explore the data in an interactive developer sandbox integrated with detailed documentation, please visit the National Provider Directory [Swagger documentation](/fhir/docs/).


## Open source project
# Open source project

The National Provider Directory team is taking an open source approach to the product development of this tool, operating as a [Tier 3 CMS Open Source Repository](https://github.com/DSACMS/repo-scaffolder/blob/main/tier3/README.md). We believe government software should be made in the open and be built and licensed such that anyone can download the code, run it themselves without paying money to third parties or using proprietary software, and use it as they will.

Expand Down
18 changes: 9 additions & 9 deletions frontend/src/pages/Developers/Developers.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -18,31 +18,31 @@ describe("Developers", () => {
render(<Developers />)

expect(
screen.getByText("Participating in the beta", { selector: "h2" }),
screen.getByText("Participating in the beta", { selector: "h1" }),
).toBeInTheDocument()
expect(
screen.getByText("Providing feedback", { selector: "h3" }),
screen.getByText("Providing feedback", { selector: "h2" }),
).toBeInTheDocument()
expect(
screen.getByText("About the data", { selector: "h2" }),
screen.getByText("About the data", { selector: "h1" }),
).toBeInTheDocument()
expect(
screen.getByText("Accessing the data", { selector: "h2" }),
screen.getByText("Accessing the data", { selector: "h1" }),
).toBeInTheDocument()
expect(
screen.getByText("Overview", { selector: "h3" }),
screen.getByText("Overview", { selector: "h2" }),
).toBeInTheDocument()
expect(
screen.getByText("Authentication", { selector: "h3" }),
screen.getByText("Authentication", { selector: "h2" }),
).toBeInTheDocument()
expect(
screen.getByText("Available endpoints", { selector: "h3" }),
screen.getByText("Available endpoints", { selector: "h2" }),
).toBeInTheDocument()
expect(
screen.getByText("Developer sandbox", { selector: "h2" }),
screen.getByText("Developer sandbox", { selector: "h1" }),
).toBeInTheDocument()
expect(
screen.getByText("Open source project", { selector: "h2" }),
screen.getByText("Open source project", { selector: "h1" }),
).toBeInTheDocument()
})

Expand Down
19 changes: 17 additions & 2 deletions frontend/src/pages/Developers/SidebarMenu.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -66,9 +66,24 @@ export const SidebarMenu = () => {
url: slugId(t("developers.nav.about")),
},
{
id: "accessing-link",
label: t("developers.nav.accessing"),
url: slugId(t("developers.nav.accessing")),
items: [
{
id: "overview-link",
label: t("developers.nav.overview"),
url: slugId(t("developers.nav.overview")),
},
{
id: "authentication-link",
label: t("developers.nav.authentication"),
url: slugId(t("developers.nav.authentication")),
},
{
id: "endpoints-link",
label: t("developers.nav.endpoints"),
url: slugId(t("developers.nav.endpoints")),
},
],
},
{
id: "sandbox-link",
Expand Down