From 9c981637c5dd5e5b12ceb52e01b5c7f7f585734d Mon Sep 17 00:00:00 2001 From: Luke Garceau Date: Fri, 26 Aug 2022 11:03:40 -0400 Subject: [PATCH 01/11] DPC-2761 Feature: Add USA Banner (#72) * USA Banner Tested locally with docker command from readme, works well! * Maybe it is a namespace issue? * Moved the Banner Up --- _includes/_nav.html | 2 +- _includes/_usa-banner.html | 163 ++++++++++ _layouts/default.html | 5 +- _sass/components/_0_components_dir.scss | 3 +- _sass/components/_usa-banner.scss | 409 ++++++++++++++++++++++++ 5 files changed, 576 insertions(+), 6 deletions(-) create mode 100644 _includes/_usa-banner.html create mode 100644 _sass/components/_usa-banner.scss diff --git a/_includes/_nav.html b/_includes/_nav.html index fd32f700..eee2455e 100644 --- a/_includes/_nav.html +++ b/_includes/_nav.html @@ -37,4 +37,4 @@ - \ No newline at end of file + diff --git a/_includes/_usa-banner.html b/_includes/_usa-banner.html new file mode 100644 index 00000000..6d3dbec3 --- /dev/null +++ b/_includes/_usa-banner.html @@ -0,0 +1,163 @@ +
+
+ + U.S. Flag + + + + + + + + +

+ An official website of the United States government + +

+
+ +
+ + +
+ {% include _nav.html %} +
diff --git a/_layouts/default.html b/_layouts/default.html index 85a60723..8c8a8601 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -2,10 +2,7 @@ {% include _head.html %} -
- {% include _nav.html %} -
- + {% include _usa-banner.html %} {{ content }} {% include _footer.html %} diff --git a/_sass/components/_0_components_dir.scss b/_sass/components/_0_components_dir.scss index 0ba63c27..e5ef7ac1 100644 --- a/_sass/components/_0_components_dir.scss +++ b/_sass/components/_0_components_dir.scss @@ -13,4 +13,5 @@ @import "./navbar"; @import "./process-list"; @import "./sidenav"; -@import "./site-blocks"; \ No newline at end of file +@import "./site-blocks"; +@import "./usa-banner"; \ No newline at end of file diff --git a/_sass/components/_usa-banner.scss b/_sass/components/_usa-banner.scss new file mode 100644 index 00000000..dd36b9a4 --- /dev/null +++ b/_sass/components/_usa-banner.scss @@ -0,0 +1,409 @@ +$animation-ease-in-out-expo: cubic-bezier(1, 0, 0, 1) !default; +$animation-speed-base: 1 !default; +$animation-speed-1: 0.25s !default; +$animation-speed-2: 0.3s !default; +$animation-speed-3: 0.5s !default; +$animation-speed-4: 0.8s !default; +$color-white: #ffffff !default; +$color-black: #000000 !default; +$color-transparent: #ffffff00 !default; +$color-transparent-black-alpha50: #00000080 !default; +$color-transparent-black-alpha25: #00000040 !default; +$color-transparent-white-alpha50: #ffffff80 !default; +$color-transparent-white-alpha25: #ffffff40 !default; +$color-background: #ffffff !default; +$color-background-dialog: #ffffff !default; +$color-background-dialog-mask: #00000080 !default; +$color-background-inverse: #00395e !default; +$color-base: #262626 !default; +$color-base-inverse: #ffffff !default; +$color-border: #d9d9d9 !default; +$color-border-dark: #0f1e38 !default; +$color-border-inverse: #ffffff !default; +$color-coolblue: #045d83 !default; +$color-coolblue-light: #046791 !default; +$color-coolblue-lighter: #82b3c8 !default; +$color-coolblue-lightest: #e6f0f4 !default; +$color-error: #e31c3d !default; +$color-error-dark: #cc1937 !default; +$color-error-darker: #9f142b !default; +$color-error-darkest: #720e1f !default; +$color-error-light: #f18e9e !default; +$color-error-lighter: #f7bbc5 !default; +$color-error-lightest: #fce8ec !default; +$color-focus: #3e94cf !default; +$color-focus-border-inverse: #7c6210 !default; +$color-focus-dark: #bd13b8 !default; +$color-focus-inverse: #02bfe7 !default; +$color-focus-light: #ffffff !default; +$color-focus-shadow: #262626 !default; +$color-focus-shadow-inverse: #262626 !default; +$color-focus-shadow-link: #262626 !default; +$color-focus-shadow-link-inverse: #7c6210 !default; +$color-gold: #f8c41f !default; +$color-gold-dark: #dfb01c !default; +$color-gold-darker: #ae8916 !default; +$color-gold-darkest: #7c6210 !default; +$color-gold-light: #f9ca35 !default; +$color-gold-lighter: #fce28f !default; +$color-gold-lightest: #fef9e9 !default; +$color-gray: #5a5a5a !default; +$color-gray-cool-light: #e6f1f8 !default; +$color-gray-dark: #404040 !default; +$color-gray-light: #a6a6a6 !default; +$color-gray-lighter: #d9d9d9 !default; +$color-gray-lightest: #f2f2f2 !default; +$color-gray-medium: #737373 !default; +$color-gray-warm-dark: #404040 !default; +$color-gray-warm-light: #f2f2f2 !default; +$color-green: #12890e !default; +$color-green-dark: #107b0d !default; +$color-green-darker: #0d600a !default; +$color-green-darkest: #094507 !default; +$color-green-light: #2a9526 !default; +$color-green-lighter: #89c487 !default; +$color-green-lightest: #e7f3e7 !default; +$color-muted: #5a5a5a !default; +$color-muted-inverse: #e9ecf1 !default; +$color-primary: #0071bc !default; +$color-primary-darker: #004f84 !default; +$color-primary-darkest: #00395e !default; +$color-primary-alt: #02bfe7 !default; +$color-primary-alt-dark: #02acd0 !default; +$color-primary-alt-darkest: #016074 !default; +$color-primary-alt-light: #4ed2ee !default; +$color-primary-alt-lightest: #e6f9fd !default; +$color-secondary: #02bfe7 !default; +$color-secondary-dark: #02acd0 !default; +$color-secondary-darker: #0186a2 !default; +$color-secondary-darkest: #016074 !default; +$color-secondary-light: #4ed2ee !default; +$color-secondary-lighter: #b3ecf8 !default; +$color-secondary-lightest: #e6f9fd !default; +$color-red: #e31c3d !default; +$color-red-dark: #cc1937 !default; +$color-red-darker: #9f142b !default; +$color-red-darkest: #720e1f !default; +$color-red-light: #f18e9e !default; +$color-red-lighter: #f7bbc5 !default; +$color-red-lightest: #fce8ec !default; +$color-success: #12890e !default; +$color-success-dark: #107b0d !default; +$color-success-darker: #0d600a !default; +$color-success-darkest: #094507 !default; +$color-success-light: #2a9526 !default; +$color-success-lighter: #89c487 !default; +$color-success-lightest: #e7f3e7 !default; +$color-warn: #f8c41f !default; +$color-warn-dark: #dfb01c !default; +$color-warn-darker: #ae8916 !default; +$color-warn-darkest: #7c6210 !default; +$color-warn-light: #f9ca35 !default; +$color-warn-lighter: #fce28f !default; +$color-warn-lightest: #fef9e9 !default; +$color-visited: #4c2c92 !default; +$font-sans: 'Open Sans', Helvetica, sans-serif !default; +$font-serif: Bitter, Georgia, serif !default; +$font-family-open-sans: 'Open Sans', Helvetica, sans-serif !default; +$font-family-rubik: 'Rubik', sans-serif !default; +$font-family-montserrat: 'Montserrat', sans-serif !default; +$font-family-bitter: Bitter, Georgia, serif !default; +$font-size-base: 16px !default; +$font-size-sm: 14px !default; +$font-size-md: 16px !default; +$font-size-lg: 18px !default; +$font-size-xl: 21px !default; +$font-size-2xl: 24px !default; +$font-size-3xl: 36px !default; +$font-size-4xl: 48px !default; +$font-size-5xl: 60px !default; +$font-line-height-reset: 1 !default; +$font-line-height-base: 1.5 !default; +$font-line-height-heading: 1.3 !default; +$font-line-height-lead: 1.7 !default; +$font-weight-normal: 400 !default; +$font-weight-bold: 700 !default; +$font-weight-semibold: 600 !default; +$article-max-width: 600px !default; +$grid-columns: 12 !default; +$grid-gutter-width: 32px !default; +$grid-form-gutter-width: 16px !default; +$lead-max-width: 77rem !default; +$nav-width: 951px !default; +$site-margins: 3rem !default; +$site-margins-mobile: 1.5rem !default; +$site-max-width: 1040px !default; +$text-max-width: 53rem !default; +$measure-narrow: 45ex !default; +$measure-base: 65ex !default; +$measure-wide: 80ex !default; +$media-width-xs: 0px !default; +$media-width-sm: 544px !default; +$media-width-md: 768px !default; +$media-width-lg: 1024px !default; +$media-width-xl: 1280px !default; +$radius-circle: 100% !default; +$radius-default: 3px !default; +$radius-large: 8px !default; +$radius-medium: 4px !default; +$radius-pill: 9999px !default; +$radius-small: 2px !default; +$shadow-focus: inset 0 0 0 1px #262626 !default; +$shadow-focus-inverse: inset 0 0 0 1px #262626 !default; +$shadow-focus-link: 0 3px #262626 !default; +$shadow-focus-link-inverse: 0 3px #7c6210 !default; +$shadow-base-offset-x: 2px !default; +$shadow-base-offset-y: 2px !default; +$shadow-base-blur-radius: 4px !default; +$shadow-base-color: #00000040 !default; +$shadow-base: 2px 2px 4px !default; +$spacer-1: 8px !default; +$spacer-2: 16px !default; +$spacer-3: 24px !default; +$spacer-4: 32px !default; +$spacer-5: 40px !default; +$spacer-6: 48px !default; +$spacer-7: 56px !default; +$spacer-none: 0px !default; +$spacer-half: 4px !default; +$usa-banner-mobile-close-size: 48px; +$usa-caret-icon-size: 10px; +$usa-banner-font-family: $font-sans; +$usa-banner__background-color: #f2f2f2 !default; +$usa-banner__color: #000000 !default; +$usa-banner-close__background-color: #a6a6a6 !default; +$usa-banner-action__color: #004f84 !default; +$usa-banner-lock-icon__color: #2a9526 !default; + +.ds-c-icon-color--primary { + color: #0071bc; +} + +@mixin focus-styles { + box-shadow: 0 0 0 3px $color-focus-light, 0 0 4px 6px $color-focus-dark; + // Add support for Windows High Contrast Mode (WHCM) + // The transparent color only shows when WHCM is triggered + outline: 3px solid transparent; + outline-offset: 3px; +} + +@mixin focus-styles-position { + position: relative; + z-index: 100; +} + +.ds-c-icon--arrow-up { + transform: rotate(-90deg); +} + +.ds-c-icon--arrow-down { + transform: rotate(90deg); +} + +@mixin focus-styles-link { + background-color: $color-focus-light; + box-shadow: none; + color: initial; + outline: 3px solid $color-focus-dark; + outline-offset: 1px; + text-decoration: underline; +} + +.ds-c-usa-banner { + background-color: $usa-banner__background-color; + color: $usa-banner__color; + font-family: $usa-banner-font-family; + font-size: $font-size-base; + padding: 0; +} + +.ds-c-usa-banner__header { + align-items: flex-start; + display: flex; + flex-direction: row; + font-size: 12px; + font-weight: $font-weight-normal; + line-height: 1.2; + min-height: $spacer-4; + padding: $spacer-1 $spacer-2 $spacer-1 $spacer-2; + position: relative; + + @media (min-width: $width-sm) { + min-height: 0; + padding-bottom: 4px; + padding-top: 4px; + } +} + +.ds-c-usa-banner__header--mobile { + padding: 0; + + .ds-c-usa-banner__button { + display: flex; + font-family: $usa-banner-font-family; + padding: $spacer-1 $spacer-2 $spacer-1 $spacer-2; + width: 100%; + } + + &.ds-c-usa-banner__header--expanded { + .ds-c-usa-banner__button { + padding-bottom: 0; + } + } + + .ds-c-usa-banner__cta-wrapper { + display: block; + } +} + +.ds-c-usa-banner__collapse-banner-container { + align-items: center; + background-color: $usa-banner-close__background-color; + display: flex; + height: $usa-banner-mobile-close-size; + justify-content: center; + margin-left: auto; + margin-right: -$spacer-2; + margin-top: -$spacer-1; + width: $usa-banner-mobile-close-size; + + .ds-c-icon { + height: $font-size-lg; + width: $font-size-lg; + } +} + +.ds-c-usa-banner__header-flag { + height: 11px; + margin-right: $spacer-1; + width: $spacer-2; +} + +.ds-c-usa-banner__header-text { + display: inline; + margin: 0; + span { + margin-right: $spacer-1; + } +} + +.ds-c-usa-banner__header-action { + color: $usa-banner-action__color; + display: block; + margin-bottom: 0; + margin-top: 2px; + text-decoration: underline; +} + +.ds-c-usa-banner__button { + background-color: transparent; + border: 0; + bottom: 0; + box-shadow: none; + font-size: inherit; + line-height: inherit; + margin: 0; + padding: 0; + text-align: left; + + &:focus { + @include focus-styles; + } +} + +.ds-c-usa-banner__button-text { + @extend .ds-c-link; +} + +.ds-c-usa-banner__content { + margin-left: auto; + margin-right: auto; + overflow: hidden; + padding: 4px $spacer-2 $spacer-2 $spacer-1; + + @media (min-width: $width-sm) { + padding-bottom: $spacer-3; + padding-top: $spacer-3; + } +} + +.ds-c-usa-banner__guidance-container { + display: flex; + flex-direction: column; + + @media (min-width: $width-sm) { + flex-flow: row nowrap; + } +} + +.ds-c-usa-banner__guidance { + align-items: flex-start; + display: flex; + max-width: 64ex; + padding: $spacer-2 12px 0 12px; + + @media (min-width: $width-sm) { + padding: 0 $spacer-1; + width: 50%; + } +} + +.ds-c-usa-banner__icon { + flex-shrink: 0; + height: $spacer-5; + margin-right: $spacer-1; + width: $spacer-5; + + &.ds-c-icon--lock-circle { + color: $usa-banner-lock-icon__color; + + @media (-ms-high-contrast: active), (forced-colors: active) { + color: WindowText; + } + } +} + +.ds-c-usa-banner__lock-image { + height: 1.5ex; + vertical-align: inherit; + width: calc(1.5ex * 52 / 64); + + path { + fill: currentColor; + } + + @media (-ms-high-contrast: active), (forced-colors: active) { + path { + fill: WindowText; + } + } +} + +.ds-c-usa-banner__media-img { + float: left; + margin-right: $spacer-1; +} + +.ds-c-usa-banner__media-body { + margin: 0; +} + +.ds-c-usa-banner__header--expanded { + @media (min-width: $width-sm) { + background-color: transparent; + padding-right: 0; + .ds-c-usa-banner__button-text::after { + transform: rotate(180deg); + } + } + + .ds-c-usa-banner__header-action { + display: none; + } +} + +.ds-c-usa-banner__action-icon { + color: $usa-banner__color; + height: $usa-caret-icon-size; + width: $usa-caret-icon-size; +} \ No newline at end of file From cd0a8d01e96295ada62cda715d5ee9211e1a5d4f Mon Sep 17 00:00:00 2001 From: famegashie <99678679+famegashie@users.noreply.github.com> Date: Wed, 31 Aug 2022 11:57:21 -0400 Subject: [PATCH 02/11] git tag was removed from release.sh (#73) --- ops/release.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/ops/release.sh b/ops/release.sh index 67054516..5aa58de1 100644 --- a/ops/release.sh +++ b/ops/release.sh @@ -105,8 +105,6 @@ echo "" >> $TMPFILE echo "$commits" >> $TMPFILE echo "" >> $TMPFILE -git tag -a -m"$PROJECT_NAME release $NEWTAG" -s "$NEWTAG" - RELEASE_PATH="/repos$GITHUB_REPO_PATH/releases" python github_release.py --release $NEWTAG --release-file $TMPFILE --repo $RELEASE_PATH From 9ce0ac99c2c01c6b5e314e92773392eb863d1098 Mon Sep 17 00:00:00 2001 From: Luke Garceau Date: Wed, 31 Aug 2022 16:28:39 -0400 Subject: [PATCH 03/11] Update postman.zip link (#66) * Update postman.zip * Fixes to url --- assets/downloads/postman.zip | Bin 174321 -> 173938 bytes ..._DPC_API_Developer.postman_collection.json | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/assets/downloads/postman.zip b/assets/downloads/postman.zip index b8be2124101c8dcf3ce8768a1afd56ad5c5eaaa0..c0297040fdb32a8b7ec2d9391999cefcf8d21e12 100644 GIT binary patch delta 97716 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 z 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%0D6!)|b-(7v(vKd2NnV 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 G_P+qsL>FiP delta 98362 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 Kst5-B@V@}|hb|TX diff --git a/postman/CMS_DPC_API_Developer.postman_collection.json b/postman/CMS_DPC_API_Developer.postman_collection.json index 14e5aa29..79b20d5c 100644 --- a/postman/CMS_DPC_API_Developer.postman_collection.json +++ b/postman/CMS_DPC_API_Developer.postman_collection.json @@ -2,7 +2,7 @@ "info": { "_postman_id": "3aefd688-7b7d-405e-9c87-586b897bd58b", "name": "Centers for Medicare & Medicaid Services (CMS) - Data at the Point of Care (DPC) API - App Developer", - "description": "This collection contains example requests for the public endpoints for the Data at the Point of Care (DPC) API. In order to use it, you must first create public and private keys and update the following values in your local Postman sandbox environment:\n\n1) `client_token`: This is sometimes also referred to as a `macaroon` and can be created on the DPC portal. Be sure to save a copy of your token in a safe place.\n\n2) `PRIVATE_KEY`: Follow the steps found here to create public and private keys: https://dpc.cms.gov/docs#upload-your-first-public-key and paste the contents of your private key in the `PRIVATE_KEY` field of your local Postman sandbox environment. Do not share your private key otherwise.\n\n3) `key-id`: This is the system id of your public key, which is returned to you when the public key is uploaded to the DPC portal. You need this to generate a JWT, which you will exchange for an access token.\n\nWith these 3 values in place, the JWT and a fresh access token are automatically generated for you before each request in this Postman collection to prevent you from having to manually refresh the access token every 5 minutes while using the collection. Note that, due to the way Postman works, you may occasionally experience a race condition that results in your access token not being refreshed before the main Postman request. In this case, you would receive a 401 with a message about invalid credentials. If this happens, just try the request again, and you should have a fresh token the second time.\n\nUnder `Security/Authentication`, in the `Public Keys`, you will find a request to add a public key to DPC without using the portal. This request requires auth and is not required in order to use the other requests in this collection. If you would like to create a new public key, first generate the keys locally, then follow the directions in the `Add/Register Public Key on DPC Sandbox` description. You do not need to update the `PUBLIC_KEY`, `public-key-label`, and `public-key-signature` values in the environment otherwise.\n", + "description": "This collection contains example requests for the public endpoints for the Data at the Point of Care (DPC) API. In order to use it, you must first create public and private keys and update the following values in your local Postman sandbox environment:\n\n1) `client_token`: This is sometimes also referred to as a `macaroon` and can be created on the DPC portal. Be sure to save a copy of your token in a safe place.\n\n2) `PRIVATE_KEY`: Follow the steps found here to create public and private keys: https://dpc.cms.gov/docsV1#upload-your-first-public-key and paste the contents of your private key in the `PRIVATE_KEY` field of your local Postman sandbox environment. Do not share your private key otherwise.\n\n3) `key-id`: This is the system id of your public key, which is returned to you when the public key is uploaded to the DPC portal. You need this to generate a JWT, which you will exchange for an access token.\n\nWith these 3 values in place, the JWT and a fresh access token are automatically generated for you before each request in this Postman collection to prevent you from having to manually refresh the access token every 5 minutes while using the collection. Note that, due to the way Postman works, you may occasionally experience a race condition that results in your access token not being refreshed before the main Postman request. In this case, you would receive a 401 with a message about invalid credentials. If this happens, just try the request again, and you should have a fresh token the second time.\n\nUnder `Security/Authentication`, in the `Public Keys`, you will find a request to add a public key to DPC without using the portal. This request requires auth and is not required in order to use the other requests in this collection. If you would like to create a new public key, first generate the keys locally, then follow the directions in the `Add/Register Public Key on DPC Sandbox` description. You do not need to update the `PUBLIC_KEY`, `public-key-label`, and `public-key-signature` values in the environment otherwise.\n", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" }, "item": [ @@ -138,7 +138,7 @@ } ] }, - "description": "This endpoint registers the provided public key with the organization.\n\nThe provided key MUST be PEM encoded. (See https://dpc.cms.gov/docs#upload-your-first-public-key) RSA keys of 4096-bits or greater are supported, as well as ECC keys using one of the following curves:- secp256r1- secp384r1\n\nPREREQUISITES:\n- `PUBLIC_KEY`: Before using this endpoint, you must paste your PEM encoded public key as the value for this environment variable.\n- `public_key_signature`: Before using this endpoint, you must paste your public key signature as the value for this environment variable.\n- `public-key-label`: Feel free to modify this label, which is `Test Public Key` by default." + "description": "This endpoint registers the provided public key with the organization.\n\nThe provided key MUST be PEM encoded. (See https://dpc.cms.gov/docsV1#upload-your-first-public-key) RSA keys of 4096-bits or greater are supported, as well as ECC keys using one of the following curves:- secp256r1- secp384r1\n\nPREREQUISITES:\n- `PUBLIC_KEY`: Before using this endpoint, you must paste your PEM encoded public key as the value for this environment variable.\n- `public_key_signature`: Before using this endpoint, you must paste your public key signature as the value for this environment variable.\n- `public-key-label`: Feel free to modify this label, which is `Test Public Key` by default." }, "response": [] }, From ff0bb44191f4d379d437f2f9c34b24897ac230e1 Mon Sep 17 00:00:00 2001 From: Luke Garceau Date: Wed, 12 Oct 2022 11:54:21 -0400 Subject: [PATCH 04/11] LG Static Site Update (#74) * Update docsV1.md * Updating the static site with the curl command * Update docsV1.md * Update docsV1.md * Added a signifier and pointer to the issue that would prompt using the curl command * Update docsV1.md * Update docsV1.md * Update docsV1.md * Update docsV1.md --- common/docsV1.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/common/docsV1.md b/common/docsV1.md index 2c8e555d..9b534627 100644 --- a/common/docsV1.md +++ b/common/docsV1.md @@ -249,6 +249,23 @@ Public keys verify that client token requests are coming from an authorized appl **1. Download the snippet.txt file located in the DPC Portal to create a signature.** +- If you are unable to download the snippet.txt file with a GUI, you can download the file using the command invocation below: + + ~~~ + curl -JLO https://raw.githubusercontent.com/CMSgov/dpc-app/master/dpc-web/public/snippet.txt + ~~~ + +**1a. Verify the type of file.** + +- If you are using a Mac or Linux shell, you can check the file type with this command. This command will not work in a basic Windows environment. + + ~~~ + file snippet.txt + ~~~ + +

Response must yield snippet.txt: ASCII text, with no line terminators.

+ + **2. Create your public key snippet.** - Use the command invocation: @@ -279,6 +296,8 @@ Public keys verify that client token requests are coming from an authorized appl **6. Click Add Key** to upload your public key. +-

If you see the error message stating, "Unable to verify your public key" after uploading your public key, please re-download the snippet.txt file using the command stated in Step 1, and re-generate your public key and signature pair.

+ ### List all public keys If you have created multiple public keys, you may want to list them to reference ID’s, check expiration dates, or delete specific public keys from your account in the DPC Portal. From cdf04a134c60a1680217700347ed8c96b467b67a Mon Sep 17 00:00:00 2001 From: Jeff <89746523+mftcodes@users.noreply.github.com> Date: Wed, 26 Oct 2022 17:14:35 -0400 Subject: [PATCH 05/11] DPC-2809 Update FAQ with HITRUST information (#75) * DPC-2809 Update FAQ with HITRUST information * DPC-2809 Fix typo * DPC-2809 More typo fixes * DPC-2809 One more wording/grammar change * DPC-2809 Update language. --- common/faq.html | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/common/faq.html b/common/faq.html index 7c860815..58d9aa51 100644 --- a/common/faq.html +++ b/common/faq.html @@ -257,4 +257,18 @@

Good news: our sandbox environment matches the production environment, and we'll roll out new functionality in sandbox before sending it into production. Even if you are not able to participate in the production pilot at this juncture, please continue to test in the sandbox environment with synthetic data. Your feedback through the Google Group is invaluable to our researchers and engineers as we all work together to shape the future of DPC.
+ +

+ +

+
+ Yes, you can inherit AWS’ HITRUST certification if your DPC solution meets the following requirements: +
    +
  1. The DPC solution is contained entirely within AWS Services that have received a HITRUST certification. See AWS' list of HITRUST-certified services under HITRUST CSF.
  2. +
  3. The DPC solution applies the controls listed on the HITRUST website. You should download the AWS Custom HITRUST Shared Responsibility Matrix to determine which HITRUST controls AWS customers can inherit as part of the Shared Responsibility Model.
  4. +
  5. You submit a valid and accepted External Inheritance request through the HITRUST website. Follow the instructions in the User Guide to do so.
  6. +
+
From 19f155942601d0fb1bb213941430cda195aa2ea9 Mon Sep 17 00:00:00 2001 From: Luke Garceau Date: Thu, 3 Nov 2022 09:39:29 -0400 Subject: [PATCH 06/11] Added Links to the Footer (#77) * Added Links to the footer * undid local changes * Update _footer.html * Update _footer.html * Update _footer.html * Update _footer.html --- _includes/_footer.html | 6 +- package-lock.json | 284 ++++++++++++++++++++++++++++++++++++++++- 2 files changed, 287 insertions(+), 3 deletions(-) diff --git a/_includes/_footer.html b/_includes/_footer.html index e8aeeb27..a2590a07 100644 --- a/_includes/_footer.html +++ b/_includes/_footer.html @@ -29,19 +29,23 @@

CMS & HHS Websites

  • Medicaid.gov
  • Healthcare.gov
  • HHS.gov
  • +
  • developer.cms.gov
  • - \ No newline at end of file + diff --git a/package-lock.json b/package-lock.json index 1ce936a7..7b6c5b3e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,8 +1,254 @@ { "name": "dpc-static-site", "version": "1.0.0", - "lockfileVersion": 1, + "lockfileVersion": 2, "requires": true, + "packages": { + "": { + "name": "dpc-static-site", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "@cmsgov/design-system-core": "^3.7.0", + "@cmsgov/design-system-layout": "^3.7.0", + "normalize.css": "^8.0.1", + "svg4everybody": "^2.1.9" + }, + "devDependencies": {} + }, + "node_modules/@babel/runtime": { + "version": "7.9.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.2.tgz", + "integrity": "sha512-NE2DtOdufG7R5vnfQUTehdTfNycfUANEtCa9PssN9O/xmTzP4E08UI797ixaei6hBEVL9BI/PsdJS5x7mWoB9Q==", + "dependencies": { + "regenerator-runtime": "^0.13.4" + } + }, + "node_modules/@cmsgov/design-system-core": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@cmsgov/design-system-core/-/design-system-core-3.7.0.tgz", + "integrity": "sha512-0zenYytLfS0SKndAAiBY1h/nyx8XIShXqnhC1JEJCAIyDRfTF/M5FFOFdY5tY1jO09LukqWic/c0G7Tmib7LfQ==", + "deprecated": "This package has been deprecated in favor of @cmsgov/design-system. See the CMSDS docs (https://design.cms.gov/startup/migrating-v2) for more information.", + "dependencies": { + "@cmsgov/design-system-support": "^3.7.0", + "classnames": "^2.2.5", + "core-js": "^2.5.3", + "downshift": "^3.2.10", + "ev-emitter": "^1.1.1", + "lodash.uniqueid": "^4.0.1", + "react-aria-modal": "^2.11.1" + }, + "peerDependencies": { + "prop-types": "^15.0.0 || ^16.0.0", + "react": "^15.0.0 || ^16.0.0", + "react-dom": "^15.0.0 || ^16.0.0" + } + }, + "node_modules/@cmsgov/design-system-layout": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@cmsgov/design-system-layout/-/design-system-layout-3.7.0.tgz", + "integrity": "sha512-VYC7arPRvagEEUrNOJ/0nySpspglW/xEj6D9cyUCU+CPcxp2hSznRXfKG1qrhY6g0zOU8Y+fdLED560sb3mjLA==", + "deprecated": "This package has been deprecated in favor of @cmsgov/design-system. See the CMSDS docs (https://design.cms.gov/startup/migrating-v2) for more information.", + "dependencies": { + "@cmsgov/design-system-support": "^3.7.0" + } + }, + "node_modules/@cmsgov/design-system-support": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@cmsgov/design-system-support/-/design-system-support-3.7.0.tgz", + "integrity": "sha512-Xymyo7EtHl8PsyQLVxPysh45RgnCLFIzACmU6am0laR8R+SPBHZtlDNqGJ4FziBOwoMW9m5J1jtAlN8RGkZS8Q==", + "deprecated": "This package has been deprecated in favor of @cmsgov/design-system. See the CMSDS docs (https://design.cms.gov/startup/migrating-v2) for more information." + }, + "node_modules/classnames": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz", + "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==" + }, + "node_modules/compute-scroll-into-view": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-1.0.13.tgz", + "integrity": "sha512-o+w9w7A98aAFi/GjK8cxSV+CdASuPa2rR5UWs3+yHkJzWqaKoBEufFNWYaXInCSmUfDCVhesG+v9MTWqOjsxFg==" + }, + "node_modules/core-js": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", + "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==", + "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", + "hasInstallScript": true + }, + "node_modules/downshift": { + "version": "3.4.8", + "resolved": "https://registry.npmjs.org/downshift/-/downshift-3.4.8.tgz", + "integrity": "sha512-dZL3iNL/LbpHNzUQAaVq/eTD1ocnGKKjbAl/848Q0KEp6t81LJbS37w3f93oD6gqqAnjdgM7Use36qZSipHXBw==", + "dependencies": { + "@babel/runtime": "^7.4.5", + "compute-scroll-into-view": "^1.0.9", + "prop-types": "^15.7.2", + "react-is": "^16.9.0" + }, + "peerDependencies": { + "react": ">=0.14.9" + } + }, + "node_modules/ev-emitter": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ev-emitter/-/ev-emitter-1.1.1.tgz", + "integrity": "sha512-ipiDYhdQSCZ4hSbX4rMW+XzNKMD1prg/sTvoVmSLkuQ1MVlwjJQQA+sW8tMYR3BLUr9KjodFV4pvzunvRhd33Q==" + }, + "node_modules/focus-trap": { + "version": "2.4.6", + "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-2.4.6.tgz", + "integrity": "sha512-vWZTPtBU6pBoyWZDRZJHkXsyP2ZCZBHE3DRVXnSVdQKH/mcDtu9S5Kz8CUDyIqpfZfLEyI9rjKJLnc4Y40BRBg==", + "dependencies": { + "tabbable": "^1.0.3" + } + }, + "node_modules/focus-trap-react": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/focus-trap-react/-/focus-trap-react-3.1.4.tgz", + "integrity": "sha512-uqMKMg9Xlny0LKHW0HqA7ncLafW57SxgeedjE7/Xt+NB7sdOBUG4eD/9sMsq1O0+7zD3palpniTs2n0PDLc3uA==", + "dependencies": { + "focus-trap": "^2.0.1" + }, + "peerDependencies": { + "react": "0.14.x || ^15.0.0 || ^16.0.0", + "react-dom": "0.14.x || ^15.0.0 || ^16.0.0" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/lodash.uniqueid": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.uniqueid/-/lodash.uniqueid-4.0.1.tgz", + "integrity": "sha1-MmjyanyI5PSxdY1nknGBTjH6WyY=" + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/no-scroll": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/no-scroll/-/no-scroll-2.1.1.tgz", + "integrity": "sha512-YTzGAJOo/B6hkodeT5SKKHpOhAzjMfkUCCXjLJwjWk2F4/InIg+HbdH9kmT7bKpleDuqLZDTRy2OdNtAj0IVyQ==" + }, + "node_modules/normalize.css": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/normalize.css/-/normalize.css-8.0.1.tgz", + "integrity": "sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg==" + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/prop-types": { + "version": "15.7.2", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", + "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.8.1" + } + }, + "node_modules/react": { + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", + "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-aria-modal": { + "version": "2.12.3", + "resolved": "https://registry.npmjs.org/react-aria-modal/-/react-aria-modal-2.12.3.tgz", + "integrity": "sha512-XIsB9mFRJe5c4MJ/CIZPRci6ZTEEWzUSRslM63rxwCFAV0HbC8KkaSlA2CtvwYmMwVd+lAsGDN7yUtOQXOGkQQ==", + "dependencies": { + "focus-trap-react": "^3.0.4", + "no-scroll": "^2.0.0", + "react-displace": "^2.3.0" + }, + "peerDependencies": { + "react": "0.14.x || ^15.0.0 || ^16.0.0" + } + }, + "node_modules/react-displace": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/react-displace/-/react-displace-2.3.0.tgz", + "integrity": "sha512-T8g/lyn3IX8kxLO4k4vJ/oIO9G72pRTc9GYslqKsfPcN4gY5+FYR5OHxeTH1skPjVylJrveGE3OC2qCt3BuHeA==", + "peerDependencies": { + "react": "0.14.x || ^15.0.0 || ^16.0.0", + "react-dom": "0.14.x || ^15.0.0 || ^16.0.0" + } + }, + "node_modules/react-dom": { + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz", + "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.19.1" + }, + "peerDependencies": { + "react": "^16.14.0" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/regenerator-runtime": { + "version": "0.13.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", + "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==" + }, + "node_modules/scheduler": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", + "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "node_modules/svg4everybody": { + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/svg4everybody/-/svg4everybody-2.1.9.tgz", + "integrity": "sha1-W9n23vwTOFmgRGRtR0P6vCjbfi0=", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/tabbable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-1.1.3.tgz", + "integrity": "sha512-nOWwx35/JuDI4ONuF0ZTo6lYvI0fY0tZCH1ErzY2EXfu4az50ZyiUX8X073FLiZtmWUVlkRnuXsehjJgCw9tYg==" + } + }, "dependencies": { "@babel/runtime": { "version": "7.9.2", @@ -129,6 +375,17 @@ "react-is": "^16.8.1" } }, + "react": { + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", + "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", + "peer": true, + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2" + } + }, "react-aria-modal": { "version": "2.12.3", "resolved": "https://registry.npmjs.org/react-aria-modal/-/react-aria-modal-2.12.3.tgz", @@ -142,7 +399,20 @@ "react-displace": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/react-displace/-/react-displace-2.3.0.tgz", - "integrity": "sha512-T8g/lyn3IX8kxLO4k4vJ/oIO9G72pRTc9GYslqKsfPcN4gY5+FYR5OHxeTH1skPjVylJrveGE3OC2qCt3BuHeA==" + "integrity": "sha512-T8g/lyn3IX8kxLO4k4vJ/oIO9G72pRTc9GYslqKsfPcN4gY5+FYR5OHxeTH1skPjVylJrveGE3OC2qCt3BuHeA==", + "requires": {} + }, + "react-dom": { + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz", + "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==", + "peer": true, + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.19.1" + } }, "react-is": { "version": "16.13.1", @@ -154,6 +424,16 @@ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==" }, + "scheduler": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", + "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==", + "peer": true, + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, "svg4everybody": { "version": "2.1.9", "resolved": "https://registry.npmjs.org/svg4everybody/-/svg4everybody-2.1.9.tgz", From c1cf67954a01ec06922d7a70e8247cff8bc94c86 Mon Sep 17 00:00:00 2001 From: Jeff <89746523+mftcodes@users.noreply.github.com> Date: Thu, 17 Nov 2022 08:14:42 -0500 Subject: [PATCH 07/11] Jstewart/dpc 2945 update static site (#78) * DPC-2945 Through about half the changes. * DPC-2945 Done to Postman Collection * DPC-2945 DocsV1 area complete * DPC-2945 Pilot page complete * DPC-2946, consistency and keeping an image size reasonable * DPC-2945 update link text * DPC-2945 Link fix * DPC-2945 link vulnerability mitigation * DPC-2945 More link hardening * DPC-2945 Header incrementing causing build error --- common/docsV1.md | 435 ++++++++++++++++++++++------------------------ common/pilot.html | 88 +++++----- 2 files changed, 248 insertions(+), 275 deletions(-) diff --git a/common/docsV1.md b/common/docsV1.md index 9b534627..be38d422 100644 --- a/common/docsV1.md +++ b/common/docsV1.md @@ -7,43 +7,37 @@ id: docsV1 side_nav_items: guide1_nav --- -Welcome to the Data at the Point of Care pilot API program! This documentation covers using the sandbox API with synthetic data. Once you’ve tested your implementation in sandbox, you can [email DPC](mailto:DPCINFO@cms.hhs.gov) to be added to the queue for production access. +Welcome to the Data at the Point of Care (DPC) pilot API program! This documentation covers using the API in the sandbox environment with synthetic data. Once you’ve tested your implementation in sandbox, you can [email DPC](mailto:DPCINFO@cms.hhs.gov) to be added to the queue for production access. # Authorization ------------------ -Welcome to the Data at the Point of Care pilot API program! - ## Step One: Request Access -Any Fee-for-Service provider or Health IT vendor may [request access](https://sandbox.dpc.cms.gov/users/sign_up) to the sandbox environment and obtain synthetic data by signing-up for an account in the DPC Portal. You will receive a confirmation email from CMS upon account creation. +Any Fee-for-Service provider organization or Health IT implementer may request access to the sandbox environment and obtain synthetic data by signing-up for an account through the Sandbox Sign Up / Login page. You will receive a confirmation email from CMS upon account creation. -Once your account has been assigned to an organization, you will be notified with a second email, which will include next steps and an invite to join our [Google Group](https://groups.google.com/g/dpc-api) community. At this time, you may log in to the DPC Portal at [https://dpc.cms.gov](https://dpc.cms.gov) to create your first client token and start your journey with the Data at the Point of Care pilot API! +Once your account has been assigned to an organization, you will be notified with a second email, which will include next steps and an invite to join our Google Group community. At this time, you may log in to the DPC Portal at https://dpc.cms.gov to create your first client token and start your journey with the DPC pilot API! ## Step Two: Client Tokens -Create your first client token
    +Create client token
    Create multiple client tokens
    List all client tokens
    Delete client tokens -Client tokens help monitor who is accessing the API through your account. A client token is required to create an access token, which is needed with every request made to the API. This ensures every interaction with the API can be traced back to the person who created the client token. - -### Prerequisites: -- A registered account in the DPC Portal -- CMS email stating you have been assigned to an organization +Client tokens help monitor who is accessing the API through your account. A *client* token is required to create an *access* token, which is needed with every request made to the API. This ensures every interaction with the API can be traced back to the person who created the client token. -### Create your first client token +### Create client token

    - You MUST create different client tokens for every vendor that works with the API. A single client token should not be shared with multiple vendors. + You MUST create different client tokens for every provider organization that works with the API.

    -Your first client token must be created through the DPC Portal. After successfully accessing the API, you may choose to add client tokens through the API or continue using the DPC Portal. +Your first client token must be created through the DPC Portal. -1. **Log in to your account in the [DPC Portal](https://sandbox.dpc.cms.gov/users/sign_in)** and select + New Token +1. **Log in to your account in the DPC Portal** and select + New Token 2. **Add a Label:** Title your token with a recognizable name that includes the environment for which you are requesting access 3. Click "Create Token" to generate your client token @@ -57,11 +51,13 @@ Your first client token must be created through the DPC Portal. After successful +After successfully accessing the API, you may choose to add client tokens through the API or continue using the DPC Portal. + ### Create multiple client tokens You may create as many tokens as you like via your account in the DPC Portal using the instructions above. You can also create multiple client tokens at once by making a POST request to the /Token endpoint. -This endpoint accepts two (optional) query parameters: +The /Token endpoint accepts two (optional) query parameters: @@ -115,14 +111,6 @@ The response from the API will include the client_token in the token field. } ~~~ -
    -
    -

    - This is the only time that this client token will be visible to you. Ensure that the value is recorded in a safe and durable location. -

    -
    -
    - ### List all client tokens If you have created multiple client tokens, you may want to list them to reference ID’s, expiration dates, or delete specific client tokens from your account in the DPC Portal. @@ -173,7 +161,7 @@ GET /api/v1/Token ~~~ ### Delete client tokens -You may want to delete a client token from your organization if a vendor or group no longer exists or needs access to the API. This can be done by clicking the “x” on the right side of each client token listed in the DPC Portal or by sending a DELETE request to the /Token endpoint using the unique ID of the client_token. +You may want to delete a client token from the sandbox environment if a Health IT implementer no longer exists or needs access to the API. This can be done by clicking the “x” on the right side of each client token listed in the DPC Portal or by sending a DELETE request to the /Token endpoint using the unique ID of the client_token. Client_token IDs can be found either at creation or as the result of [listing client_tokens](#list-all-client-tokens). @@ -202,14 +190,7 @@ Client_token IDs can be found either at creation or as the result of [listing cl Public keys verify that client token requests are coming from an authorized application. This is by verifying that the private key used to sign your JSON Web Token (JWT) also matches a public key previously uploaded to DPC. Please complete the upload of your public key + signature through the DPC Portal. -**ALL files in this section must be stored in ONE folder.** - -(private.pem, public.pem, snippet.txt, snippet.txt.sig, signature.sig files) - -### Prerequisites: -- A registered account in the DPC Portal -- CMS email stating you have been assigned to an organization - +**ALL files** (private.pem, public.pem, snippet.txt, snippet.txt.sig, signature.sig files) **in this section must be stored in ONE folder.** ### Upload your first public key @@ -241,7 +222,7 @@ Public keys verify that client token requests are coming from an authorized appl ![Public Key Example - Shows public key with the BEGIN PUBLIC KEY and END PUBLIC KEY tags.](/assets/images/guide_public_key_ex.svg) -**4a. 3a:** Title your public key with a descriptive name that can be easily recognized for future purposes. +**4. Title** your public key with a descriptive name that can be easily recognized for future purposes. **5. Proceed** to creating your public key signature. @@ -286,7 +267,7 @@ Public keys verify that client token requests are coming from an authorized appl **4. Generate a _verified_ public key signature.** -- Use the commmand invocation: +- Use the command invocation: ~~~ openssl base64 -in snippet.txt.sig -out signature.sig @@ -296,7 +277,7 @@ Public keys verify that client token requests are coming from an authorized appl **6. Click Add Key** to upload your public key. --

    If you see the error message stating, "Unable to verify your public key" after uploading your public key, please re-download the snippet.txt file using the command stated in Step 1, and re-generate your public key and signature pair.

    +-

    If you see the error message stating, "Unable to verify your public key" after uploading your public key, re-download the snippet.txt file using the command stated in Step 1, and re-generate your public key and signature pair.

    ### List all public keys @@ -365,7 +346,7 @@ Specific public keys can be listed by making a GET request to the /Key endpoint ~~~ ### Delete public keys -You may need to delete a public key from your organization if a user no longer needs access or otherwise needs to be removed from the system. +You may need to delete a public key from the DPC Portal if you no longer need access. Public keys can be removed by sending a DELETE request to the /Key endpoint using the unique ID of the public key, which is returned either at creation, or as the result of listing the public keys. @@ -391,41 +372,60 @@ The response from the API will include the client_token in the token field. ## Step Four: JSON Web Tokens -Validate a JSON Web Token for DPC +Validate a JSON web token for DPC -A JSON Web Token (JWT) authenticates your organization with DPC. If you have not generated your client token and public/private key pair through the DPC Portal, please obtain the following prerequisites before proceeding. +A JSON Web Token (JWT) authenticates your organization with DPC. -### Prerequisites: -- Internet access -- A registered client token -- Your private key -- Your public key ID - -Once completed, please download the DPC JWT Tool (the button below) to generate your JWT for DPC. +Complete the following steps to generate your JWT via the JWT Tool. -The following instructions are to be completed via the JWT Tool downloaded onto your personal computer. You must have internet access in order for this tool to use its cryptography library. Your information is not sent over the network, in order to ensure your private key and JWT remain confidential. +
    +
    +

    + You need internet access to use this tool’s cryptography. However, your information is not sent over the network to ensure your private key and JWT remain confidential. +

    +
    +
    -1. Please input your Private Key. -2. Please input your Client Token. -3. Please input your Public Key ID +1. Input your Private Key. +2. Input your Client Token. +3. Input your Public Key ID * This ID can be found under the "Public Keys” section in your DPC Portal. ![Public Key Id - The public key id is found underneath the key's label.](/assets/images/guide_public_key_id.svg) 4. Click "Generate JWT" 5. Copy "Your JWT" to begin validation for DPC -### Validate a JSON Web Token for DPC +Complete the following steps to generate your own JWT. +1. Generate your JWT payload. +~~~ +{ + “iss”: {client_token}, + “sub”: {client_token}, + “aud”: "https://sandbox.dpc.cms.gov/api/v1/Token/auth", + “exp”: {current datetime + 5 minutes}, + “jti”: {JWT_unique_id} +} +~~~ +2. Generate your JWT header. +~~~ +{ + "alg": "RS384", + “kid”: “{public_key_id}” +} +~~~ + +### Validate a JSON web token for DPC The DPC API supports a /Token/validate endpoint, which allows you to submit your signed JWT for DPC validation. If the fields do not contain the required requests, the response will return an error message with details as to which claims or values on the JWT are missing or incorrect.

    - This method DOES NOT validate the JWT signature, public key or client tokens, it merely verifies the necessary elements are present in the JWT entity. + This method DOES NOT validate the JWT signature, public key, or client tokens. It merely verifies that the necessary elements are present in the JWT entity

    @@ -454,12 +454,9 @@ The response from the API will return with a HTTP 200 if the JWT is valid, other Obtaining an access token is the final step in connecting to the DPC API. **The access token must be set in the Authorization header in EVERY API request and has a maximum expiration time of 5 MINUTES.** -Example Header: +Example header:
    Authorization: Bearer {access_token}
    -### Prerequisites: -- A valid JSON Web Token (JWT) - ### Obtain an access_token In order to receive an access token, the valid JWT must be submitted to the /Token/auth endpoint via a POST request. The POST request body is encoded as application/x-www-form-urlencoded. @@ -500,12 +497,6 @@ In order to receive an access token, the valid JWT must be submitted to the /Tok
    -The endpoint response will be a JSON object, which contains: - -1. Your access_token -2. The lifetime of your token (in seconds) -3. Authorized system scopes - #### Request: ~~~ @@ -535,19 +526,19 @@ The endpoint response is a JSON object which contains the access token, the life

    - Your access token and JWT will expire every five minutes. + Your JWT must contain an expiration of five minutes.

    -You can create multiple access tokens with the same valid JWT. However, once your access token expires, you will likely need to generate a new JWT using the JWT Tool to refresh your access token. +You can create multiple access tokens with the same valid JWT. However, once your access token expires, you will likely need to generate a new JWT using the JWT Tool or create your own JWT to refresh your access token. ### Obtain a bearer_token -To obtain your bearer_token, set your access_token returned in the previous step as your bearer_token. You will need to set the "{access_token value}" from the previous response as a header in most of your API calls preceded by the word Bearer and a space. +To obtain your bearer_token, set your access_token returned in the previous section as your bearer_token. You will need to set the "{access_token value}" from the previous response as a header in most of your API calls preceded by the word Bearer and a space. As access tokens expire, you will need to generate new tokens. You will not need to create new JWT’s to create a new access token, unless you are making a call with a different client token or public key. -### Sample Javascript Code to create a JWT and obtain an Access Token +### Sample JavaScript code to create a JWT and obtain an access token
    const jsrsasign = require('jsrsasign')
     const fetch = require('node-fetch')
    @@ -606,31 +597,31 @@ fetch('https://sandbox.dpc.cms.gov/api/v1/Token/auth', {
     
     # Attestation & Attribution
     ------------------
    -Before accessing Patient data, DPC must establish that you have a valid Patient-Practitioner relationship with CMS Medicare and Medicaid Beneficiaries.  This process is referred to as Attestation/Attribution in the DPC API.
    +Before accessing patient data, DPC must establish that you have a valid patient-practitioner relationship with CMS Medicare and Medicaid Beneficiaries. This process is referred to as Attestation/Attribution in the DPC API.
     
    -You will need to register Practitioners in your Organization, register Patients in your care, and attribute Patients to the Practitioners treating them. You must also keep these attributions up-to-date by submitting an attestation that  testifies these relationships are valid with each submission.
    +You will need to register practitioners in your organization, register patients in your care, and attribute patients to the practitioners treating them. You must also keep these attributions up-to-date by submitting an attestation that testifies these relationships are valid with each submission.
     
     

    - The DPC sandbox environment does not contain any preloaded test data. + The DPC Sandbox Environment does not contain any preloaded test data.

    -## Load Sample Data -The DPC team has created a collection of sample Practitioner, Patient, and Group resources which can be used to get started in the sandbox environment. These Resources can be found in our public [GitHub repository](https://github.com/CMSgov/dpc-app/tree/master/src/main/resources) as JSON files. More details included in this [README](https://github.com/CMSgov/dpc-app/blob/master/src/main/resources/README.md) file. +## Load sample data +The DPC Team has created a collection of sample Practitioner, Patient, and Group Resources which can be used to get started in the sandbox environment. These Resources can be found in our public GitHub repository as JSON files. More details included in this README file. **Uploading Practitioners:** We have included 4 Practitioner Resources that represent fictitious Practitioners that you can add to your Organization. -**Uploading Patients:** The Beneficiary FHIR Data Server (BFD) maintains a list of 101 Patients, along with their MBIs, that can be used for matching existing synthetic data in the sandbox environment. More details and the corresponding data files can be found on the Blue Button 2.0 API’s documentation under [Sample Beneficiaries](https://bluebutton.cms.gov/developers/#sample-beneficiaries). +**Uploading Patients:** The Beneficiary FHIR Data Server (BFD) maintains a list of 101 patients, along with their MBIs, that can be used for matching existing synthetic data in the sandbox environment. More details and the corresponding data files can be found on the Blue Button 2.0 API’s documentation under Sample Beneficiaries. -_Users can provide their own sample FHIR resources that fulfill the required FHIR profiles to DPC, but will need to ensure that all Patient resources have a Medicare Beneficiary Identifier (MBI) that matches a record in the Beneficiary FHIR Data Server (BFD)._ +_Users can provide their own sample FHIR resources that fulfill the required FHIR profiles to DPC, but will need to ensure that all Patient Resources have a Medicare Beneficiary Identifier (MBI) that matches a record in BFD._ ### Find Organization ID -You will need your organization ID to create an Attribution Group for Attestation. The Organization endpoint supports a GET /Organization operation, which allows the user to retrieve their Organization ID. +You will need your Organization ID to create an Attribution Group for Attestation. The Organization endpoint supports a GET /Organization operation, which allows the user to retrieve their Organization ID. -To find your Organization ID, sign-in to your account in the DPC Portal and locate your Organization ID underneath the organization name. You can also make a request to `/Organization` via the API and retrieve your Organization ID from the response. +To find your Organization ID, sign-in to your account in the DPC Portal and locate your Organization ID underneath the Organization name. You can also make a request to `/Organization` via the sandbox API and retrieve your Organization ID from the response. ![Dashboard Org Id](/assets/images/guide_org_id.png) @@ -645,7 +636,7 @@ Accept: application/fhir+json Prefer: respond-async
    -#### cURL Command +#### cURL command
    curl -v https://sandbox.dpc.cms.gov/api/v1/Organization
          -H 'Authorization: Bearer {access_token}'
          -H 'Accept: application/fhir+json' \
    @@ -694,7 +685,7 @@ Prefer: respond-async
     }
     
    -It is still possible to retrieve your organization using `/Organization/{id}`, in which case you will receive a single Resource instead of a Bundle. +It is still possible to retrieve your organization using `/Organization/{id}`, in which case you will receive a single resource instead of a bundle. #### Request: @@ -707,7 +698,7 @@ Accept: application/fhir+json Prefer: respond-async -#### cURL Command +#### cURL command
    curl -v https://sandbox.dpc.cms.gov/api/v1/Organization/{id}
          -H 'Authorization: Bearer {access_token}' \
          -H 'Accept: application/fhir+json' \
    @@ -754,28 +745,21 @@ Prefer: respond-async
     ## Practitioners
     
     
    -Add a Practitioner
    -Add Multiple Practitioners
    -List all Practitioners
    -List a specific Practitioner +Add a practitioner
    +Add multiple practitioners
    +List all practitioners
    +List a specific practitioner -Every organization is required to keep a list of [Practitioner](https://dpc.cms.gov/ig/StructureDefinition-dpc-profile-practitioner.html) Resources who are authorized to have access to DPC data. The DPC Team has included four Practitioner Resources that represent fictitious Practitioners that can be added to your Organization. +Every organization is required to keep a list of Practitioner Resources who are authorized to have access to DPC data. The DPC Team has included four Practitioner Resources that represent fictitious Practitioners that can be added to your Organization. -### Prerequisites: -- A registered account in the DPC Portal -- Access to the API: active Bearer {access_token} -- Practitioner information: - - First and Last Name - - Type 1 National Provider Identifier (NPI) +### Add a practitioner +To register a practitioner at your organization, you must send a FHIR-formatted Practitioner Resource as the BODY of your request. Do not use encoding (raw) when uploading via a POST request to the /Practitioner endpoint. -### Add a Practitioner -To register a Practitioner at your Organization, you must send a FHIR-formatted [Practitioner](https://dpc.cms.gov/ig/StructureDefinition-dpc-profile-practitioner.html) Resource as the BODY of your request. Please use no encoding (raw) when uploading via a POST request to the /Practitioner endpoint. +The Practitioner Resource may include additional attributes detailed in the FHIR Implementation Guide within DPC Practitioner Profile, but at a minimum must include the practitioner’s: -The Practitioner Resource may include additional attributes detailed in the FHIR Implementation Guide within [DPC Practitioner Profile](https://dpc.cms.gov/ig/StructureDefinition-dpc-profile-practitioner.html), but at a minimum must include the Practitioner’s: - - - First and Last Name + - First and last name - Type 1 National Provider Identifier (NPI) - + - Note: If an existing practitioner is found with the same NPI, the `/practitioner` endpoint will return that same practitioner and not return a new one. #### Request: ~~~ @@ -792,12 +776,12 @@ POST /api/v1/Practitioner -d @practitioner.json
    ### Add Multiple Practitioners -The Practitioner endpoint supports a $submit operation, which allows you to upload a Bundle of resources for registration in a single batch operation. +The Practitioner endpoint supports a $submit operation, which allows you to upload a bundle of resources for registration in a single batch operation. -Each individual Practitioner Resource in your Bundle must satisfy the requirements on how to add a [Practitioner Resource](#add-a-practitioner), otherwise a 422-Unprocessable Entity error will be returned. +Each individual Practitioner Resource in your bundle must satisfy the requirements on how to add a [Practitioner Resource](#add-a-practitioner), otherwise a 422-Unprocessable Entity error will be returned. #### Request: @@ -816,8 +800,8 @@ POST /api/v1/Practitioner/$submit -d @practitioner_bundle.json -### List all Practitioners -The Practitioner endpoint supports a GET /Practitioner operation, which allows you to retrieve a [Bundle](https://www.hl7.org/fhir/STU3/bundle.html) of Practitioner resources. You will need to retrieve a Practitioner’s NPI when you get to the Attribution section. +### List all practitioners +The Practitioner endpoint supports a GET /Practitioner operation, which allows you to retrieve a bundle of Practitioner Resources. You will need to retrieve a Practitioner’s NPI when you get to the Attribution section. #### Request: @@ -833,8 +817,8 @@ GET /api/v1/Practitioner -H 'Content-Type: application/fhir+json' \ -X GET -### List a specific Practitioner -The Practitioner endpoint also supports a GET /Practitioner operation where you can supply an NPI number and receive the Practitioner resource. You will use this to identify a Practitioners’ system ID based off of an NPI when adding a Patient and/or creating a Group. +### List a specific practitioner +The Practitioner endpoint also supports a GET /Practitioner operation where you can supply an NPI number and receive the Practitioner Resource. You will use this to identify a Practitioners’ DPC ID based off of an NPI when adding a practitioner and/or creating a group. #### Request: @@ -888,34 +872,26 @@ The Practitioner endpoint also supports a GET /Practitioner operation where you ## Patients -Add a Patient
    -Add Multiple Patients
    -List all Patients
    -List a specific Patient +Add a patient
    +Add multiple patients
    +List all patients
    +List a specific patient Every organization is required to maintain a list of patients which represent the patient population currently being treated at your facilities. -Since there is not any preloaded data in DPC’s sandbox, The Beneficiary FHIR Data Server (BFD) maintains a list of 101 Patients, along with their MBIs, that can be used for matching existing synthetic data in the sandbox environment. More details and the corresponding data files can be found on the Blue Button 2.0 API’s documentation under [Sample Beneficiaries](https://bluebutton.cms.gov/developers/#sample-beneficiaries). +Since there is not any preloaded data in DPC’s sandbox, the Beneficiary FHIR Data Server (BFD) maintains a list of 101 Patients, along with their MBIs, that can be used for matching existing synthetic data in the sandbox environment. More details and the corresponding data files can be found on the Blue Button 2.0 API’s documentation under Sample Beneficiaries. -### Prerequisites: -- A registered account in the DPC Portal -- Access to the API: active Bearer {access_token} -- Patient information: - - First and last name - - Birth date in YY-MM-DD format - - Medicare Beneficiary Identifier (MBI) - - Managing Organization ID - - System ID +### Add a patient +To register a patient at your organization, you must create a Patient Resource as a JSON file in FHIR format. The JSON file must be in the BODY of your request with no encoding (raw) when uploading via a POST request to the /Patient endpoint. -### Add a Patient -To register a Patient at your Organization, you must create a [Patient](https://dpc.cms.gov/ig/StructureDefinition-dpc-profile-patient.html) Resource as a JSON file in FHIR format. The JSON file must be in the BODY of your request with no encoding (raw) when uploading via a POST request to the /Patient endpoint. - -To create the Patient Resource, the JSON file may include additional attributes detailed in the FHIR Implementation Guide within the [DPC Practitioner Profile](https://dpc.cms.gov/ig/StructureDefinition-dpc-profile-patient.html), but at a minimum must include the Patient’s: +To create the Patient Resource, the JSON file may include additional attributes detailed in the FHIR Implementation Guide within the DPC Practitioner Profile, but at a minimum must include the Patient’s: - First and last name - Birth date in YYYY-MM-DD +- Gender - Medicare Beneficiary Identifier (MBI) - - identifier: + - Note: If an existing patient is found with the same MBI, the /patient endpoint will return that same patient and not return a new one. + - For example: ~~~ { @@ -923,22 +899,19 @@ To create the Patient Resource, the JSON file may include additional attributes value: 'Value of the MBI number' } ~~~ - -- Managing Organization ID: - + OR ~~~ - "managingOrganization": { - "reference": "Organization/{ID}" + { + "system": "http://hl7.org/fhir/sid/us-mbi", +    "value": "Value of the MBI number" } ~~~ -- System ID: - - This can be found by listing all patients or finding a specific patient by their MBI. +- Managing Organization ID: ~~~ - "resource": { - "resourceType": "Patient", - "id": "728b270d-d7de-4143-82fe-d3ccd92cebe4" + "managingOrganization": { + "reference": "Organization/{ID}" } ~~~ @@ -1011,13 +984,13 @@ POST /api/v1/Patient } ~~~ -### Add Multiple Patients -The Patient endpoint supports a $submit operation, which allows you to upload a Bundle of resources for registration in a single batch operation. - -Each Patient Resource in your Bundle may include additional attributes detailed in the FHIR Implementation Guide within the [DPC Patient Profile](https://dpc.cms.gov/ig/StructureDefinition-dpc-profile-patient.html), but at a minimum must satisfy the requirements on how to add a [Patient Resource](#add-a-patient), otherwise a 422 - Unprocessable Entity error will be returned. +### Add multiple patients +The Patient endpoint supports a $submit operation, which allows you to upload a bundle of resources for registration in a single batch operation. + +Each Patient Resource in your bundle may include additional attributes detailed in the FHIR Implementation Guide within the DPC Patient Profile, but at a minimum must satisfy the requirements on how to add a [Patient Resource](#add-a-patient), otherwise a 422 - Unprocessable Entity error will be returned. #### Request: @@ -1035,8 +1008,8 @@ POST /api/v1/Patient/$submit -X POST \ -d @patient_bundle.json -### List all Patients -The Patient endpoint supports a GET /Patient operation, which allows you to retrieve a Bundle of Patient Resources. You will need to retrieve the system ID of patients when you get to the Attribution section. +### List all patients +The Patient endpoint supports a GET /Patient operation, which allows you to retrieve a bundle of Patient Resources. You will need to retrieve the DPC ID of patients when you get to the Attribution section. #### Request: @@ -1052,8 +1025,8 @@ GET /api/v1/Patient -H 'Content-Type: application/fhir+json' \ -X GET -### List a specific Patient -The Patient endpoint also supports a GET /Patient operation where you can supply the Patient MBI and receive the Patient Resource. You may use this to identify a Patient’s system ID based off of an MBI. +### List a specific patient +The Patient endpoint also supports a GET /Patient operation where you can supply the Patient MBI and receive the Patient Resource. You may use this to identify a Patient’s DPC ID based off of an MBI. #### Request:
    GET /api/v1/Patient?identifier={{Patient MBI}}
    @@ -1110,28 +1083,23 @@ The Patient endpoint also supports a GET /Patient operation where you can supply ## Attestation -Create an Attestation - -CMS requires Practitioners to attest that they have a treatment related purpose for adding a patient to their Group each time they make a Group addition. This is accomplished by submitting an attestation with every request. Attestations are posted as a [Provenance](https://www.hl7.org/fhir/provenance.html) Resource via the X-Provenance header, as outlined in the [FHIR specification](https://www.hl7.org/fhir/implementationguide.html). +Create an attestation -**Prerequisites:** -- Access to the API: active Bearer {access_token} -- At least one registered Practitioner -- At least one registered Patient +CMS requires practitioners to attest that they have a treatment related purpose for adding a patient to their group each time they make a group addition. This is accomplished by submitting an attestation with every request. Attestations are posted as a Provenance Resource via the X-Provenance header, as outlined in the FHIR specification. -### Create an Attestation -Details on Provenance resources are given in the [FHIR implementation guide](https://www.hl7.org/fhir/implementationguide.html), but at a minimum, each attestation must include: +### Create an attestation +Details on Provenance Resources are given in the FHIR implementation guide, but at a minimum, each attestation must include: - **Timestamp:** Time when attestation was made. - **Reason:** Reason for the attestation (currently only: http://hl7.org/fhir/v3/ActReason#TREAT is supported). - **Organization ID:** The agent making the attestation referenced by their Organization Resource ID. - - _Your Organization ID can be found by referencing the {id} variable in the resource object of your Practitioner._ + - _Your Organization ID can be found by referencing the {id} variable in the resource object of your practitioner._ - **Practitioner ID:** The practitioner attached to the attestation referenced by their Practitioner ID. - - _Your Practitioner ID can be found by referencing the {id} variable in the resource object of your Practitioner._ + - _Your Practitioner ID can be found by referencing the {id} variable in the resource object of your practitioner._ The attestation is then included in the X-Provenance header as part of any operations which add patients to the Group resource. -### Example Attestation for X-Provenance header +### Example attestation for X-Provenance header ~~~ { @@ -1173,48 +1141,45 @@ The attestation is then included in the X-Provenance header as part of any opera ## Groups (Attribution) -Create a Group
    -Update a Group
    -Add Patients to Group
    -Overwrite a Group Membership
    -Locate your Group.id +Create a group
    +Update a group
    +Add patients to group
    +delete a group
    +Removing patients from a group
    +Overwrite a group membership
    +Locate your group.id -Once the Practitioner, Patient, and Provenance (Attestation) resources have been created, the final step is to link a list of registered Patients to a registered Practitioner in what is called an Attribution Roster. This is done by creating a Group resource. +Once the Practitioner, Patient, and Provenance (Attestation) Resources have been created, the final step is to link a list of registered patients to a registered practitioner in what is called an Attribution Roster. This is done by creating a Group Resource. -**Prerequisites:** -- A registered account in the DPC Portal -- At least one Patient in your Organization -- At least one Practitioner in your Organization +### Create a group +To link a list of registered patients to a registered practitioner, you must create a Group Resource by creating a JSON file with a list of patients and a single practitioner to be attributed to. Upload this JSON file via a POST request to the /Group endpoint. -### Create a Group -To link a list of registered Patients to a registered Practitioner, you must create a Group Resource by creating a JSON file with a list of patients and a single Practitioner to be attributed to. Upload this JSON file via a POST request to the /Group endpoint. - -Additional details on Provenance Resource can be found in DPC’s implementation guide but, at a minimum, each Attribution Group resource must include: +Additional details on Provenance Resource can be found in DPC’s Implementation Guide but, at a minimum, each Attribution Group Resource must include: - **The Practitioner’s NPI** which patients are being attributed to. -- **The system ID of the Patient(s)** that are members of the Group. This value is the alphanumeric system ID of the Patient Resource in DPC. It is a UUID. +- **The DPC ID of the patient(s)** that are members of the group. This value is the alphanumeric DPC ID of the Patient Resource in DPC. It is a UUID.

    - Parameter and Bundle Resources are NOT to be used when adding, updating, or overwriting Groups. + Parameter and Bundle Resources are NOT to be used when adding, updating, or overwriting groups.

    -The Group response returned by DPC includes additional “period” and “inactive” elements for each Patient. These indicate the time period for which the Patient has an active relationship with the Practitioner, or, if the relationship has expired, the time period for which the Patient was active. +The group response returned by DPC includes additional “period” and “inactive” elements for each patient. These indicate the time period for which the patient has an active relationship with the practitioner, or, if the relationship has expired, the time period for which the patient was active.

    - Attribution Groups must be updated every 90 days! + Attribution groups must be updated every 90 days!

    -Practitioners at your organization must update their Provenance (Attestation) and Group Resources by re-attributing the Patient to the Practitioner’s Group every 90 days. +Practitioners at your organization must update their Provenance (Attestation) and Group Resources by re-attributing the patient to the practitioner’s group every 90 days. -When an attribution relationship between a Patient and Practitioner has expired, either due to exceeding the 90 day threshold or being manually removed, the patient’s “inactive” flag will be set to “true.” Patients who are attributed to a Practitioner, but have their inactive flag set to true, will NOT be included in Bulk Data exports. +When an attribution relationship between a patient and practitioner has expired, either due to exceeding the 90-day threshold or being manually removed, the patient’s “inactive” flag will be set to “true”. Patients who are attributed to a practitioner, but have their inactive flag set to true, will NOT be included in bulk data exports. #### Request: @@ -1273,13 +1238,13 @@ POST /api/v1/Group } ~~~ -### Update a Group +### Update a group -Patient/Practitioner relationships automatically expire after 90 days and must be re-attested by the Practitioner. This is accomplished by re-attributing the Patient to the Practitioner’s Group. +Patient/practitioner relationships automatically expire after 90 days and must be re-attested by the practitioner. This is accomplished by re-attributing the patient to the practitioner’s group. -### Identifying Expired Patients +### Identifying expired patients -After 90 days, patient attributions expire and must be renewed. You can identify these patients through a GET request to the /Group endpoint. This will return a JSON file with all the patients attributed to the Group. Evaluate this JSON for patients with attribution dates greater than 90 days. +After 90 days, patient attributions expire and must be renewed. You can identify these patients through a GET request to the /Group endpoint. This will return a JSON file with all the patients attributed to the group. Evaluate this JSON for patients with attribution dates greater than 90 days. #### Request @@ -1327,9 +1292,9 @@ After 90 days, patient attributions expire and must be renewed. You can identify } ~~~ -### Add Patients to Group +### Add patients to group -Additions are handled through a custom $add operation on the /Group endpoint. This takes the members listed into a given resource and adds them to the existing Group. +Additions are handled through a custom $add operation on the /Group endpoint. This takes the members listed into a given resource and adds them to the existing group. #### Request:
    POST /api/v1/Group/{Group.id}/$add
    @@ -1369,7 +1334,25 @@ Additions are handled through a custom $add operation on the /Group endpoint. Th ] ~~~ -### Removing Patients from a Group +### Delete a group +You may want to delete a group if you no longer require data for the patients within the group. This can be done by sending a DELETE request to the /Group endpoint using the unique ID of the group. + +Group IDs can be found either at creation or as the result of [locating your Group ID](#locate-your-groupid). + +#### Request: +
    api/v1/Group?characteristic-value=attributed-to${Group.id}
    + +#### cURL command: +
    curl -v https://sandbox.dpc.cms.gov/api/v1/Group?characteristic-value=attributed-to${Group ID} \
    +     -H 'Authorization: Bearer {access_token}' \
    +     -H 'Accept: application/json' \
    +     -H 'Content-Type: application/json' \
    +     -X DELETE
    + +### Reponse: +
    200 - Group was removed
    + +### Removing patients from a group Removals are handled through a custom remove operation on the /Group endpoint. This takes the members listed into a given resource and removes them from the existing Group.
    @@ -1426,8 +1409,8 @@ Removals are handled through a custom remove operation on the /Group endpoint. T } ~~~ -### Overwrite a Group Membership -Users can also submit a Group resource which completely overwrites the existing Group. This results in the current group membership being completely overwritten with the members listed in the given resource. +### Overwrite a group membership +Users can also submit a Group Resource which completely overwrites the existing group. This results in the current group membership being completely overwritten with the members listed in the given resource.
    @@ -1491,15 +1474,15 @@ Users can also submit a Group resource which completely overwrites the existing ### Locate your Group.id You may only pull data for one practitioner’s roster at a time. -You can do this by sending a GET request to the Group endpoint to retrieve the [Attribution Group](https://hl7.org/fhir/STU3/group.html) of the Practitioner. Use the Practitioners’ [National Provider Identity (NPI)](https://www.cms.gov/Regulations-and-Guidance/Administrative-Simplification/NationalProvIdentStand/) number as a parameter in this request. +You can do this by sending a GET request to the Group endpoint to retrieve the Attribution Group of the practitioner. Use the practitioners’ National Provider Identity (NPI) number as a parameter in this request.
    -

    DPC supports the standard FHIR search protocol. Searching for Patients associated with a given Practitioner makes use of composite search parameters.

    +

    DPC supports the standard FHIR search protocol. Searching for patients associated with a given practitioner makes use of composite search parameters.

    -The response will return a [Bundle](https://www.hl7.org/fhir/STU3/bundle.html) resource which contains the attribution groups for the given Practitioner. **You can use the Group.id value of the returned resources to initiate an export job.** Your Group ID can be found by referencing the {id} variable in the resource object of your Group. +The response will return a Bundle Resource which contains the Attribution Groups for the given practitioner. **You can use the Group.id value of the returned resources to initiate an export job.** Your Group ID can be found by referencing the {id} variable in the resource object of your group. **Example:** @@ -1572,15 +1555,10 @@ The response will return a [Bundle](https://www.hl7.org/fhir/STU3/bundle.html) r # Export Data ------------ -The primary interaction with the DPC pilot API is via the FHIR /Group/$export operation.This allows an organization to export Patient. Coverage, and Explanation of Benefit data in an asynchronous and bulk manner. Details on the FHIR bulk data operations can be found in the [FHIR Bulk Data Specification](https://build.fhir.org/ig/HL7/bulk-data/OperationDefinition-group-export.html). - -**Prerequisites:** -- Completion of the Authorization section -- Access to the API: active Bearer {access_token} -- Completion of the Attestation & Attribution section +The primary interaction with the DPC pilot API is via the FHIR /Group/$export operation.This allows an organization to export Patient. Coverage, and Explanation of Benefit data in an asynchronous and bulk manner. Details on the FHIR bulk data operations can be found in the FHIR Bulk Data Specification. ## Initiate an export job -In order to start a Patient data export job, you will need to locate your Group.id. Locate your Group.id by referencing the {id} variable in the resource object of your Group. +In order to start a patient data export job, you will need to locate your Group.id. Locate your Group.id by referencing the {id} variable in the resource object of your group. **Example:** @@ -1593,7 +1571,7 @@ In order to start a Patient data export job, you will need to locate your Group. Next, make a GET request to the /Group/$export endpoint with three required headers: an access token, an Accept header, and a Prefer header. -The dollar sign (‘$’) before the word “export” in the URL indicates that the endpoint is an action rather than a resource. The format is defined by the [FHIR Bulk Data Specification](https://build.fhir.org/ig/HL7/bulk-data/OperationDefinition-group-export.html). +The dollar sign (‘$’) before the word “export” in the URL indicates that the endpoint is an action rather than a resource. The format is defined by the FHIR Bulk Data Specification. ### Request: @@ -1612,15 +1590,15 @@ If the request was successful, a 202 Accepted response code will be returned wit **Example:**
    Content-Location: https://sandbox.dpc.cms.gov/api/v1/Jobs/{unique ID of export job}
    -## Specify which Resources to Download -The _type query parameter allows you to specify which FHIR resources you wish to export. If you do not specify a _type parameter in your request, all three resources will be exported. Currently, DPC makes Explanation of Benefit, Patient, and Coverage resources available, which can be specified individually or as a group using a comma delimited list and the syntax `?_type=ExplanationOfBenefit,Patient,Coverage`. +## Specify which resources to download +The _type query parameter allows you to specify which FHIR resources you wish to export. If you do not specify a _type parameter in your request, all three resources will be exported. Currently, DPC makes Explanation of Benefit, Patient, and Coverage Resources available, which can be specified individually or as a group using a comma delimited list and the syntax `?_type=ExplanationOfBenefit,Patient,Coverage`. -The following request will export the Patient and Coverage esources, but NOT the Explanation of Benefit Resource. +The following request will export the Patient and Coverage Resources, but NOT the Explanation of Benefit Resource. ### Request:
    GET /api/v1/Group/{attribution group ID}/$export?_type=Patient,Coverage
    -The following request, by contrast, will export the Explanation of Benefit resource, but NOT the Patient or Coverage resources. +The following request, by contrast, will export the Explanation of Benefit Resource, but NOT the Patient or Coverage Resources. ### Request:
    GET /api/v1/Group/{attribution group ID}/$export?_type=ExplanationOfBenefit
    @@ -1655,9 +1633,9 @@ Each request will follow the same four-step process as an unfiltered request: 3. Check the job status 4. Download the data -The only difference appears in the request of Step 2: Start a job to acquire data. We show examples of this step below. +The only difference appears in the request of step 2: "start a job to acquire data". We show examples of this step below. -**Dates and times submitted in _since must be listed in the FHIR [Instant](https://www.hl7.org/fhir/datatypes.html#instant) format** (YYYY-MM-DDThh:mm:sss[-/+]zz:zz). +**Dates and times submitted in _since must be listed in the FHIR Instant format** (YYYY-MM-DDThh:mm:sss[-/+]zz:zz). * Sample Date: February 20, 2020 12:00 PM EST * Instant Format: YYYY-MM-DDThh:mm:sss[-/+]zz:zz @@ -1674,45 +1652,45 @@ The only difference appears in the request of Step 2: Start a job to acquire dat
    -![alt](/assets/images/since-example.png) +alt An access token as well as Accept and Prefer headers are required for the Group/{id}all/$export. -The Prefer header is NOT required for /Patient/{id}/$everything, but it DOES require an X-Provenance header whereas the /Group/{id}/$export endpoint does not. The format is defined by the FHIR Bulk Data Export spec. Consult the [FHIR Datatypes](https://www.hl7.org/fhir/datatypes.html#instant) page for more information. +The Prefer header is NOT required for /Patient/{id}/$everything, but it DOES require an X-Provenance header whereas the /Group/{id}/$export endpoint does not. The format is defined by the FHIR Bulk Data Export spec. Consult the FHIR Datatypes page for more information.

    Be wary of requesting data from before 02-12-2020

    - Due to limitations in the Beneficiary FHIR Data (BFD) Server, data from before 02-12-2020 is marked with the arbitrary lastUpdated date of 01-01-2020. If you input dates between 01-01-2020 and 02-11-2020 in the _since parameter, you will receive all historical data for your beneficiaries. Data loads from 02-12-2020 onwards have been marked with accurate dates. + Due to limitations in the Beneficiary FHIR Data (BFD) Server, data from before 02-12-2020 is marked with the arbitrary lastUpdated date of 01-01-2020. If you input dates between 01-01-2020 and 02-11-2020 in the _since parameter, you will receive all historical data for your beneficiaries. Data loads from 02-12-2020 onwards have been marked with accurate dates.

    ## Requesting data using _since with the /Group endpoint -### Request to Start a job using the _since parameter within the /Group endpoint +### Request to start a job using the _since parameter within the /Group endpoint
    GET /api/v1/Group/{id}/$export?_type=Patient&_since=2020-02-13T08:00:00.000-05:00
     
    -#### Request Headers: +#### Request headers:
    Authorization: Bearer {access_token}
     Accept: application/fhir+json
     Prefer: respond-async
     
    -#### cURL Command using the _since parameter within the /Group endpoint: +#### cURL command using the _since parameter within the /Group endpoint:
    curl -X GET 'https://sandbox.dpc.cms.gov/api/v1/Group/{id}/$export?_since=2021-05-13T08:00:00.000-05:00' \
     	-H "Accept: application/fhir+json" \
     	-H "Prefer: respond-async" \
     	-H "Authorization: Bearer {access token}
     
    -#### Response Example: Successful Request +#### Response example: successful request
    202 Accepted
    -This operation will start a job for filtered data for existing beneficiaries since 8PM EST on May 13th, 2021 and will include all 7 years of historical data for all patients in the Group who have a `lastUpdated` date that falls after the `_since` date. In the example, we request the Patient resource type. The steps and format would work similarly for other resource types. +This operation will start a job for filtered data for existing beneficiaries since 8PM EST on May 13th, 2021 and will include all seven years of historical data for all patients in the Group who have a `lastUpdated` date that falls after the `_since` date. In the example, we request the Patient Resource Type. The steps and format would work similarly for other resource types.
    If the request was successful, a 202 Accepted response code will be returned and the response will include a Content-Location header. @@ -1720,28 +1698,28 @@ If the request was successful, a 202 Accepted response code will be returned and ## Requesting data using _since with the /Patient endpoint -### Request data synchronously for an individual Patient using the _since parameter within the /Patient/{id}/$everything endpoint +### Request data synchronously for an individual patient using the _since parameter within the /Patient/{id}/$everything endpoint
    GET /api/v1/Patient/{id}/$everything?_since=2020-02-13T08:00:00.000-05:00
     
    -#### Request Headers: +#### Request headers:
    Authorization: Bearer {access_token}
     Accept: application/fhir+json
     X-Provenance: {provenance header}
     
    -#### cURL Command using the _since parameter within the /Patient endpoint: +#### cURL command using the _since parameter within the /Patient endpoint:
    curl -X GET 'https://sandbox.dpc.cms.gov/api/v1/Patient/{id}/$everything?_since=2021-05-13T08:00:00.000-05:00' \
     	-H "Accept: application/fhir+json" \
     	-H "X-Provenance: {provenance header}" \
     	-H "Authorization: Bearer {access token}"
     
    -#### Response Example: Successful Request +#### Response example: successful request
    200 Success
    -This operation will return all data for the specified Patient since the selected date: May 13, 2021. Notice that we are seeking data from the /Patient/{id}/$everything endpoint. This is a synchronous request for an individual Patient referenced by the internal ID (UUID) and would behave differently if it was made from the /Group endpoint as data is returned immediately. +This operation will return all data for the specified patient since the selected date: May 13, 2021. Notice that we are seeking data from the /Patient/{id}/$everything endpoint. This is a synchronous request for an individual patient referenced by the internal ID (UUID) and would behave differently if it was made from the /Group endpoint as data is returned immediately.
    If the request was successful, a 200 Success response code will be returned and the response will not include a Content-Location header. Instead, it contains the data in the body of the response. @@ -1797,12 +1775,12 @@ Claims data can be found at the URLs within the output field. The output includes file integrity information in an extension array. It contains https://dpc.cms.gov/checksum (a checksum in the format algorithm:checksum) and https://dpc.cms.gov/file_length (the file length in bytes). -The number 42 in the example data file URLs is the same job ID from the Content-Location header URL when you initiate an export job. If some of the data cannot be exported due to errors, details of the errors can be found at the URLs in the error field. The errors are provided in [NDJSON](http://ndjson.org/) files as FHIR [OperationOutcome](http://hl7.org/fhir/STU3/operationoutcome.html) resources. +The number 42 in the example data file URLs is the same job ID from the Content-Location header URL when you initiate an export job. If some of the data cannot be exported due to errors, details of the errors can be found at the URLs in the error field. The errors are provided in NDJSON files as FHIR OperationOutcome resources. ## Retrieve the NDJSON output file(s) -To obtain the exported explanation of benefit data, a GET request is made to the output URLs in the job status response when the job reaches the Completed state. The data will be presented as an [NDJSON](http://ndjson.org/) file of ExplanationOfBenefit resources. +To obtain the exported explanation of benefit data, a GET request is made to the output URLs in the job status response when the job reaches the Completed state. The data will be presented as an NDJSON file of ExplanationOfBenefit Resources.
    @@ -2083,32 +2061,25 @@ To obtain the exported explanation of benefit data, a GET request is made to the # Postman Collection -This collection contains example requests to public endpoints for the DPC API. To use this collection, you must have the Postman App downloaded onto your computer. Next, please obtain the prerequisites listed below and refer to the DPC User Guide for additional instructions. You will need these to successfully update the required values in your local Postman sandbox environment to make requests. - -**Prerequisites:** -- Download the [Postman App](https://www.postman.com/downloads/) -- A registered client token -- Your private key -- Your public key ID - -1. Please download the DPC Postman collection. This will include the collection of requests, the sandbox environment, and global variables to be imported into your Postman App. +This collection contains example requests to public endpoints for the DPC API. To use this collection, you must have the Postman App downloaded onto your computer. This will include the collection of requests, the sandbox environment, and global variables to be imported into your Postman App. -2. Select the environment (top right): Data at the Point of Care Sandbox -3. Please fill in the following values: - - client_token: Your [client token](#step-two-client-tokens) is generated through the DPC portal. Be sure to save a copy of your token in a safe place. +1. Select the environment (top right): Data at the Point of Care Sandbox +2. Please fill in the following values: + - client_token: Your [client token](#step-two-client-tokens) is generated through the DPC Portal. Be sure to save a copy of your token in a safe place. - PRIVATE_KEY: Paste the contents of your private key in the `PRIVATE_KEY` field of your local Postman sandbox environment. Do not share your private key otherwise. If you do not already have your public and private keys, please generate your [public/private](#step-three-public-keys) key pair through the DPC portal. - - key-id: This is the system id of your public key, which is returned to you when the public key is uploaded to the DPC portal. You need this to generate a JWT, which will be exchanged for an access token. + - key-id: This is the DPC ID of your public key, which is returned to you when the public key is uploaded to the DPC Portal. You need this to generate a JWT, which will be exchanged for an access token. +3. With these three values in place, the JWT and a fresh access token are automatically generated for you before each request in this Postman collection to prevent you from having to manually refresh the access token every five minutes while using the collection. You may occasionally receive a 401 error message regarding invalid credentials. If this happens, please try your request a second time. With these 3 values in place, the JWT and a fresh access token are automatically generated for you before each request in this Postman collection to prevent you from having to manually refresh the access token every 5 minutes while using the collection. You may occasionally receive a 401 error message regarding invalid credentials. If this happens, please try your request a second time. Additional instructions and details can be found within the description of each request in the Postman collection. These can be viewed by clicking the drop-down arrow next to each request title. ## Patient/$everything -Patient/{id}/$everything is an endpoint that allows users to retrieve all resources about a Patient using their DPC internal ID (UUID), represented as {id} in the request. Included in the resources will be the Patient, Coverage, and ExplanationOfBenefit resources for one patient’s historical data from the last seven years, combined into a Bundle. It is a synchronous download, so it differs from the Group $export operation in that it does not create a job that needs to be monitored or data files to download. The response body will contain the Bundle. +Patient/{id}/$everything is an endpoint that allows users to retrieve all resources about a patient using their DPC internal ID (UUID), represented as {id} in the request. Included in the resources will be the Patient, Coverage, and ExplanationOfBenefit Resources for one patient’s historical data from the last seven years, combined into a bundle. It is a synchronous download, so it differs from the Group $export operation in that it does not create a job that needs to be monitored or data files to download. The response body will contain the bundle. If you only have the Medicare Beneficiary Identifier (MBI) of the patient, you can retrieve the DPC internal ID by first making a GET request for that specific patient as the UUID is returned in that response. See [List a Specific Patient](#list-a-specific-patient) for details. @@ -2118,15 +2089,15 @@ This request requires an X-Provenance header for attestation ([see example](#exa Learn more about the HL7 FHIR Specification for: -[Operation Patient Everything (Release v4)](http://hl7.org/fhir/R4/operation-patient-everything.html) +Operation Patient Everything (Release v4) -[Operation Patient Everything (Release v3)](http://hl7.org/fhir/STU3/operation-patient-everything.html) +Operation Operation Patient Everything (Release v3) **Request**
    GET /api/v1/Patient/{id}/$everything
    -**cURL Command** +**cURL command**
    curl -v https://sandbox.dpc.cms.gov/api/v1/Patient/{id}/$everything
          -H 'Authorization: Bearer {access_token}' \
    diff --git a/common/pilot.html b/common/pilot.html
    index 57bafbdd..327e26b9 100644
    --- a/common/pilot.html
    +++ b/common/pilot.html
    @@ -12,11 +12,11 @@
     

    About the DPC Pilot

    - The Centers for Medicare and Medicaid Services (CMS) Data at the Point of Care (DPC) API is currently in a pilot phase in which a limited number of users can access Medicare Fee-For-Service claims data through the API once their solution has been approved for production. This pilot program promotes the industry-standard HL7 Fast Healthcare Interoperability Resources (FHIR), specifically the Bulk FHIR specification. + The Centers for Medicare & Medicaid Services (CMS) Data at the Point of Care (DPC) API is currently in a pilot phase in which a limited number of customers can access Medicare Fee-For-Service claims data through the API once their solution has been approved for production. This pilot program promotes the industry-standard HL7 Fast Healthcare Interoperability Resources (FHIR), specifically the Bulk FHIR specification.
    - Since the pilot is a learning experience for both CMS and users, participants in the pilot program may encounter breaking changes to code, iterations to regulations, and will be asked to participate in research sessions with CMS as the program continues to grow and evolve. + Since the pilot is a learning experience for both CMS and customers, participants in the pilot program may encounter breaking changes to code, iterations to regulations, and will be asked to participate in research sessions with CMS as the program continues to grow and evolve.
    @@ -29,47 +29,41 @@

    About the DPC Pilot

    If interested in implementing DPC on behalf of healthcare organizations, please begin by following the steps below.
    -

    1. Test the API

    - -
    - Health IT implementers are asked to test and develop a solution in the sandbox environment using synthetic data before applying for production credentials. -
    - - +

    Test the API

    1. - Review and agree to the Terms of Service. + Request access to the DPC Sandbox Environment through Sandbox Sign Up / Login
    2. - Upload synthetic data from DPC’s public GitHub repository. More details included in this README file. + Upload synthetic data from DPC’s public GitHub repository. More details included in this README file.
    3. - Reference the following guides to get started: -
        -
      1. - DPC Documentation -
      2. -
      3. - HL7 FHIR Standards -
      4. -
      5. - BB2.0 Implementation Guide -
      6. -
      + Develop and test a solution in the sandbox environment using synthetic data. +
    4. +
    5. +
    +Reference the following guides to get started: +
      +
    1. + DPC Documentation +
    2. +
    3. + HL7 FHIR Standards +
    4. +
    5. + BB2.0 Implementation Guide
    -

    2. Apply for Production Credentials

    +

    Apply for Production Credentials

    -After testing and developing a DPC solution in the sandbox environment: +After developing and testing a DPC solution in the sandbox environment, complete the following steps: -

    a. Join the Production Pilot Queue

    +

    1. Request to Join the Production Pilot Queue

    -When you're ready to request production access, please email the DPC team. You will receive a follow-up email from the DPC team when it is your turn to onboard. Depending on the backlog of organizations, this may mean that your organization will sit in the queue for a few weeks before it is your turn to onboard. +When you're ready to request production access, please email the DPC team. You will receive a follow-up email from the DPC team when it is your turn to onboard.
    @@ -80,9 +74,9 @@

    a. Join the Production Pilot Queue

    -

    b. Schedule a Demonstration with the DPC team

    +

    2. Schedule a Demonstration with the DPC team

    -In the email following up on your application to the pilot program, you will receive a link to schedule a demonstration of your DPC solution with the DPC team. +After you request production access, you will receive an email about scheduling a demonstration of your DPC solution with the DPC Team.

    @@ -94,7 +88,15 @@

    Please be prepared to answer the following questions:
    • - Walk us through the end-to-end workflow. How will practitioners see the data in your system? + Walk us through the end-to-end workflow. +
        +
      • + How do you attribute patients to practitioners? +
      • +
      • + How will practitioners see the data in your system? +
      • +
    • How frequently will your organization make requests to the API? How quickly will you need the data returned? @@ -103,19 +105,19 @@

      What is your retry logic for requests that fail?

    • - What will you do if you do not receive data back for some of the requested patients? + What will you do if you do not receive data back for some of the requested patients? For example, data for patients outside of the 18-month lookback period for a given provider will not be returned during early phases of the pilot.
    • - How will the data be used? For example, are you using the data for aggregate population reporting, or for insights into the needs of an individual patient? or both? + How will the data be used? For example, are you using the data for aggregate population reporting, or for insights into the needs of an individual patient? Or both?
    • Where does the application live?
    • - Would there be a separate instance if you bring on another practice during pilot or MVP? + Would there be a separate instance if you bring on another practice during the pilot?
    • - During onboarding in the early phases of the pilot program, we'll be providing keys directly to the practitioner organization to grant access to production via secure email - we will not be using the same web portal as our sandbox environment. Please consider how to best communicate with the practitioner to securely transfer secrets if necessary. + During onboarding, we'll be providing keys directly to the practitioner organization to grant access to production via secure email - we will not be using the same web portal as our sandbox environment. Please consider how to best communicate with the practitioner to securely transfer secrets if necessary.
    • Are you ready for breaking changes during the pilot program? @@ -133,10 +135,10 @@

    -

    c. Provide Security Certification

    +

    3. Provide Security Certification

    - Health IT implementers preparing to onboard the production environment must provide one of the accepted security certifications below: + Prior to onboarding to the production environment, you must provide one of the accepted security certifications below:
    @@ -226,7 +228,7 @@

    -

    3. Onboard with DPC

    +

    Onboard with DPC

    The onboarding session will test your DPC solution with production Medicare Fee-For-Service claims data. @@ -235,13 +237,13 @@

    3. Onboard with DPC

    1. - Approximately 2-3 weeks after your successful DPC solution demonstration in the sandbox environment, you will receive an email with information and a link to schedule an onboarding session. In the same email, you will also receive further instructions on production requirements prior to the onboarding date. + After your successful DPC solution demonstration in the sandbox environment with the DPC Team, you will receive an email with information about the onboarding session. In the same email, you will also receive further instructions on production requirements prior to the onboarding date.
    2. After completing production requirements, you will receive production credentials for the healthcare organization for which you are implementing the DPC solution.
    3. - During the live onboarding session, you will receive real-time support from DPC engineers as you demonstrate the following: + During the live onboarding session with the DPC Team, you will receive real-time support from DPC engineers as you demonstrate the following:
      1. Submit a request for data @@ -254,7 +256,7 @@

        3. Onboard with DPC

    -

    Share Your Feedback

    +

    Share Your Feedback

      @@ -262,7 +264,7 @@

      Share Your Feedback

      The DPC team is always seeking feedback! Pilot partners will be requested to participate in research sessions where Health IT implementers and healthcare organizations will be asked, together or separately, to share their experiences, challenges, and recommendations regarding the design of the DPC API and its features.
    1. - Join the DPC Google Group community to ask questions, share your thoughts, and hear about updates and upcoming events related to DPC. + Join the DPC Google Group community to ask questions, share your thoughts, and hear about updates and upcoming events related to DPC.
    From d80b47d8fcb2d620d294b002c2671e476db66002 Mon Sep 17 00:00:00 2001 From: Jeff <89746523+mftcodes@users.noreply.github.com> Date: Mon, 21 Nov 2022 16:04:15 -0500 Subject: [PATCH 08/11] DPC-2945 Updates to documentation and about pages (continuation) (#80) * DPC-2945 removed orphan
  • * DPC-2945 Multiple grammar and styling fixes * DPC-2945 Use margin, not break. * DPC-2945 Screen Reader text * wording * DPC-2945 Letters not numbers. * DPC-2945 Couple small things fin --- common/docsV1.md | 71 +++++++++++++++++++++++------------------------ common/pilot.html | 24 ++++++++-------- 2 files changed, 48 insertions(+), 47 deletions(-) diff --git a/common/docsV1.md b/common/docsV1.md index be38d422..1d69393a 100644 --- a/common/docsV1.md +++ b/common/docsV1.md @@ -37,9 +37,9 @@ Client tokens help monitor who is accessing the API through your account. A *cli Your first client token must be created through the DPC Portal. -1. **Log in to your account in the DPC Portal** and select + New Token -2. **Add a Label:** Title your token with a recognizable name that includes the environment for which you are requesting access -3. Click "Create Token" to generate your client token +1. **Log in to your account in the DPC Portal** and select + New Token. +2. **Add a Label:** Title your token with a recognizable name that includes the environment for which you are requesting access. +3. Click "Create Token" to generate your client token. ![Client Token](/assets/images/guide_client_token.svg) @@ -112,7 +112,7 @@ The response from the API will include the client_token in the token field. ~~~ ### List all client tokens -If you have created multiple client tokens, you may want to list them to reference ID’s, expiration dates, or delete specific client tokens from your account in the DPC Portal. +If you have created multiple client tokens, you may want to list them to reference IDs, expiration dates, or delete specific client tokens from your account in the DPC Portal. All client tokens registered by your organization for a given environment can be listed by making a GET request to the /Token endpoint. This will return a list of token IDs with details on when they were created, when they expire, and the label associated with that token. @@ -190,11 +190,11 @@ Client_token IDs can be found either at creation or as the result of [listing cl Public keys verify that client token requests are coming from an authorized application. This is by verifying that the private key used to sign your JSON Web Token (JWT) also matches a public key previously uploaded to DPC. Please complete the upload of your public key + signature through the DPC Portal. -**ALL files** (private.pem, public.pem, snippet.txt, snippet.txt.sig, signature.sig files) **in this section must be stored in ONE folder.** +**ALL files** (e.g., private.pem, public.pem, snippet.txt, snippet.txt.sig, signature.sig files) **in this section must be stored in ONE folder.** ### Upload your first public key -**1. Generate a private key** +**1. Generate a private key.** - Use the command invocation: @@ -210,7 +210,7 @@ Public keys verify that client token requests are coming from an authorized appl
  • -**2. Generate a public key** +**2. Generate a public key.** - Use the command invocation: @@ -275,13 +275,13 @@ Public keys verify that client token requests are coming from an authorized appl **5. Paste the contents** of your verified public key signature (signature.txt file) into the ‘Public Key Signature’ field in your DPC Account. -**6. Click Add Key** to upload your public key. +**6. Click "Add Key"** to upload your public key. -

    If you see the error message stating, "Unable to verify your public key" after uploading your public key, re-download the snippet.txt file using the command stated in Step 1, and re-generate your public key and signature pair.

    ### List all public keys -If you have created multiple public keys, you may want to list them to reference ID’s, check expiration dates, or delete specific public keys from your account in the DPC Portal. +If you have created multiple public keys, you may want to list them to reference IDs, check expiration dates, or delete specific public keys from your account in the DPC Portal. All public keys registered by your organization for an environment can be listed by making a GET request to the /Key endpoint. This will return a list of public key IDs with details on when they were created, when they expire, and the label associated with that key. @@ -318,7 +318,7 @@ The response from the API will include the client_token in the token field. ~~~ ### List a specific public key -If you have created multiple public keys, you may want to confirm the expiration date or content of a single public key from your account in the DPC portal. +If you have created multiple public keys, you may want to confirm the expiration date or content of a single public key from your account in the DPC Portal. Specific public keys can be listed by making a GET request to the /Key endpoint using the unique id of the public key. @@ -378,7 +378,7 @@ A JSON Web Token (JWT) authenticates your organization with DPC. Complete the following steps to generate your JWT via the JWT Tool. -
    +
    JWT Tool Download @@ -394,11 +394,11 @@ Complete the following steps to generate your JWT via the JWT Tool. 1. Input your Private Key. 2. Input your Client Token. -3. Input your Public Key ID +3. Input your Public Key ID. * This ID can be found under the "Public Keys” section in your DPC Portal. ![Public Key Id - The public key id is found underneath the key's label.](/assets/images/guide_public_key_id.svg) -4. Click "Generate JWT" -5. Copy "Your JWT" to begin validation for DPC +4. Click "Generate JWT". +5. Copy "Your JWT" to begin validation for DPC. Complete the following steps to generate your own JWT. 1. Generate your JWT payload. @@ -418,6 +418,7 @@ Complete the following steps to generate your own JWT. “kid”: “{public_key_id}” } ~~~ +3. Sign your JWT with your header and private key. ### Validate a JSON web token for DPC The DPC API supports a /Token/validate endpoint, which allows you to submit your signed JWT for DPC validation. If the fields do not contain the required requests, the response will return an error message with details as to which claims or values on the JWT are missing or incorrect. @@ -425,7 +426,7 @@ The DPC API supports a /Token/validate endpoint, which allows you to submit your

    - This method DOES NOT validate the JWT signature, public key, or client tokens. It merely verifies that the necessary elements are present in the JWT entity + This method DOES NOT validate the JWT signature, public key, or client tokens. It merely verifies that the necessary elements are present in the JWT entity.

    @@ -445,7 +446,7 @@ POST /api/v1/Token/validate -d "{Signed JWT}"
    #### Response: -The response from the API will return with a HTTP 200 if the JWT is valid, otherwise an error message will be returned. +The response from the API will return with a HTTP 200 if the JWT is valid; otherwise, an error message will be returned. ## Step Five: Access/Bearer Token @@ -534,7 +535,7 @@ The endpoint response is a JSON object which contains the access token, the life You can create multiple access tokens with the same valid JWT. However, once your access token expires, you will likely need to generate a new JWT using the JWT Tool or create your own JWT to refresh your access token. ### Obtain a bearer_token -To obtain your bearer_token, set your access_token returned in the previous section as your bearer_token. You will need to set the "{access_token value}" from the previous response as a header in most of your API calls preceded by the word Bearer and a space. +To obtain your bearer_token, set your access_token returned in the previous section as your bearer_token. You will need to set the "{access_token value}" from the previous response as a header in most of your API calls preceded by the word *Bearer* and a space. As access tokens expire, you will need to generate new tokens. You will not need to create new JWT’s to create a new access token, unless you are making a call with a different client token or public key. @@ -610,9 +611,9 @@ You will need to register practitioners in your organization, register patien
    ## Load sample data -The DPC Team has created a collection of sample Practitioner, Patient, and Group Resources which can be used to get started in the sandbox environment. These Resources can be found in our public GitHub repository as JSON files. More details included in this README file. +The DPC Team has created a collection of sample Practitioner, Patient, and Group Resources which can be used to get started in the sandbox environment. These resources can be found in our public GitHub repository as JSON files. More details included in this README file. -**Uploading Practitioners:** We have included 4 Practitioner Resources that represent fictitious Practitioners that you can add to your Organization. +**Uploading Practitioners:** We have included four Practitioner Resources that represent fictitious Practitioners that you can add to your Organization. **Uploading Patients:** The Beneficiary FHIR Data Server (BFD) maintains a list of 101 patients, along with their MBIs, that can be used for matching existing synthetic data in the sandbox environment. More details and the corresponding data files can be found on the Blue Button 2.0 API’s documentation under Sample Beneficiaries. @@ -750,7 +751,7 @@ Prefer: respond-async List all practitioners
    List a specific practitioner -Every organization is required to keep a list of Practitioner Resources who are authorized to have access to DPC data. The DPC Team has included four Practitioner Resources that represent fictitious Practitioners that can be added to your Organization. +Every organization is required to keep a list of Practitioner Resources who are authorized to have access to DPC data. The DPC Team has included four Practitioner Resources that represent fictitious practitioners that can be added to your organization. ### Add a practitioner To register a practitioner at your organization, you must send a FHIR-formatted Practitioner Resource as the BODY of your request. Do not use encoding (raw) when uploading via a POST request to the /Practitioner endpoint. @@ -778,7 +779,7 @@ POST /api/v1/Practitioner ### Add Multiple Practitioners The Practitioner endpoint supports a $submit operation, which allows you to upload a bundle of resources for registration in a single batch operation. -Each individual Practitioner Resource in your bundle must satisfy the requirements on how to add a [Practitioner Resource](#add-a-practitioner), otherwise a 422-Unprocessable Entity error will be returned. +Each individual Practitioner Resource in your bundle must satisfy the requirements on how to add a [Practitioner Resource](#add-a-practitioner); otherwise, a 422-Unprocessable Entity error will be returned.
    Sample practitoner_bundle.json @@ -884,7 +885,7 @@ Since there is not any preloaded data in DPC’s sandbox, the Beneficiary FHIR D ### Add a patient To register a patient at your organization, you must create a Patient Resource as a JSON file in FHIR format. The JSON file must be in the BODY of your request with no encoding (raw) when uploading via a POST request to the /Patient endpoint. -To create the Patient Resource, the JSON file may include additional attributes detailed in the FHIR Implementation Guide within the DPC Practitioner Profile, but at a minimum must include the Patient’s: +To create the Patient Resource, the JSON file may include additional attributes detailed in the FHIR Implementation Guide within the DPC Practitioner Profile, but at a minimum must include the patient’s: - First and last name - Birth date in YYYY-MM-DD @@ -987,7 +988,7 @@ POST /api/v1/Patient ### Add multiple patients The Patient endpoint supports a $submit operation, which allows you to upload a bundle of resources for registration in a single batch operation. -Each Patient Resource in your bundle may include additional attributes detailed in the FHIR Implementation Guide within the DPC Patient Profile, but at a minimum must satisfy the requirements on how to add a [Patient Resource](#add-a-patient), otherwise a 422 - Unprocessable Entity error will be returned. +Each Patient Resource in your bundle may include additional attributes detailed in the FHIR Implementation Guide within the DPC Patient Profile, but at a minimum must satisfy the requirements on how to add a [Patient Resource](#add-a-patient); otherwise, a 422 - Unprocessable Entity error will be returned.
    Sample patient_bundle.json @@ -1097,7 +1098,7 @@ Details on Provenance Resources are given in the 200 - Group was removed ### Removing patients from a group -Removals are handled through a custom remove operation on the /Group endpoint. This takes the members listed into a given resource and removes them from the existing Group. +Removals are handled through a custom remove operation on the /Group endpoint. This takes the members listed into a given resource and removes them from the existing group.
    @@ -1555,7 +1556,7 @@ The response will return a FHIR Bulk Data Specification. +The primary interaction with the DPC pilot API is via the FHIR /Group/$export operation. This allows an organization to export Patient, Coverage, and Explanation of Benefit data in an asynchronous and bulk manner. Details on the FHIR bulk data operations can be found in the FHIR Bulk Data Specification. ## Initiate an export job In order to start a patient data export job, you will need to locate your Group.id. Locate your Group.id by referencing the {id} variable in the resource object of your group. @@ -1585,7 +1586,7 @@ The dollar sign (‘$’) before the word “export” in the URL indicates that -H 'Prefer: respond-async' ### Response: -If the request was successful, a 202 Accepted response code will be returned with a Content-Location header. The value of this header indicates the location to monitor your job status and outcomes. The value of the header also contains the Export Job ID of the Job. There is no BODY to the Response, only headers. +If the request was successful, a 202 Accepted response code will be returned with a Content-Location header. The value of this header indicates the location to monitor your job status and outcomes. The value of the header also contains the Export Job ID of the Job. There is no BODY to the response, only headers. **Example:**
    Content-Location: https://sandbox.dpc.cms.gov/api/v1/Jobs/{unique ID of export job}
    @@ -1621,17 +1622,17 @@ You can filter data using the _since parameter with either the /Patient or /Grou **You can make two types of filtered requests for data:** -1. Request the most recent data for all beneficiaries: [Use _since within the /Group endpoint](#requesting-data-using-_since-with-the-group-endpoint) -2. Request data synchronously for an individual patient: [Use _since within the /Patient endpoint](#requesting-data-using-_since-with-the-patient-endpoint) +1. Request the most recent data for all beneficiaries: [Use _since within the /Group endpoint](#requesting-data-using-_since-with-the-group-endpoint). +2. Request data synchronously for an individual patient: [Use _since within the /Patient endpoint](#requesting-data-using-_since-with-the-patient-endpoint). ### Steps Each request will follow the same four-step process as an unfiltered request: -1. Obtain an access token -2. Start a job to acquire data (you will input the _since parameter here) -3. Check the job status -4. Download the data +1. Obtain an access token. +2. Start a job to acquire data (you will input the _since parameter here). +3. Check the job status. +4. Download the data. The only difference appears in the request of step 2: "start a job to acquire data". We show examples of this step below. @@ -2070,12 +2071,10 @@ This collection contains example requests to public endpoints for the DPC API. T 1. Select the environment (top right): Data at the Point of Care Sandbox 2. Please fill in the following values: - client_token: Your [client token](#step-two-client-tokens) is generated through the DPC Portal. Be sure to save a copy of your token in a safe place. - - PRIVATE_KEY: Paste the contents of your private key in the `PRIVATE_KEY` field of your local Postman sandbox environment. Do not share your private key otherwise. If you do not already have your public and private keys, please generate your [public/private](#step-three-public-keys) key pair through the DPC portal. + - PRIVATE_KEY: Paste the contents of your private key in the `PRIVATE_KEY` field of your local Postman sandbox environment. Do not share your private key otherwise. If you do not already have your public and private keys, please generate your [public/private](#step-three-public-keys) key pair through the DPC Portal. - key-id: This is the DPC ID of your public key, which is returned to you when the public key is uploaded to the DPC Portal. You need this to generate a JWT, which will be exchanged for an access token. 3. With these three values in place, the JWT and a fresh access token are automatically generated for you before each request in this Postman collection to prevent you from having to manually refresh the access token every five minutes while using the collection. You may occasionally receive a 401 error message regarding invalid credentials. If this happens, please try your request a second time. -With these 3 values in place, the JWT and a fresh access token are automatically generated for you before each request in this Postman collection to prevent you from having to manually refresh the access token every 5 minutes while using the collection. You may occasionally receive a 401 error message regarding invalid credentials. If this happens, please try your request a second time. - Additional instructions and details can be found within the description of each request in the Postman collection. These can be viewed by clicking the drop-down arrow next to each request title. ## Patient/$everything diff --git a/common/pilot.html b/common/pilot.html index 327e26b9..b5d60590 100644 --- a/common/pilot.html +++ b/common/pilot.html @@ -33,7 +33,7 @@

    Test the API

    1. - Request access to the DPC Sandbox Environment through Sandbox Sign Up / Login + Request access to the DPC Sandbox Environment through Sandbox Sign Up / Login.
    2. Upload synthetic data from DPC’s public GitHub repository. More details included in this README file. @@ -41,7 +41,6 @@

      Test the API

    3. Develop and test a solution in the sandbox environment using synthetic data.
    4. -
    Reference the following guides to get started:
      @@ -59,22 +58,25 @@

      Test the API

      Apply for Production Credentials

      -After developing and testing a DPC solution in the sandbox environment, complete the following steps: +After developing and testing a DPC solution in the sandbox environment, complete the steps below.

      1. Request to Join the Production Pilot Queue

      -When you're ready to request production access, please email the DPC team. You will receive a follow-up email from the DPC team when it is your turn to onboard. +When you're ready to request production access, please email the DPC Team. You will receive a follow-up email from the DPC Team when it is your turn to onboard. -
      +
      + + Warning: +

      - Please do not plan to fill out the application unless your organization has tested your solution in sandbox and is able to share security documentation with CMS. + Please do not fill out the application unless your organization has tested your solution in sandbox and is able to share security documentation with CMS.

      -

      2. Schedule a Demonstration with the DPC team

      +

      2. Schedule a Demonstration with the DPC Team

      After you request production access, you will receive an email about scheduling a demonstration of your DPC solution with the DPC Team. @@ -244,12 +246,12 @@

      Onboard with DPC

    1. During the live onboarding session with the DPC Team, you will receive real-time support from DPC engineers as you demonstrate the following: -
        +
        1. - Submit a request for data + Submit a request for data.
        2. - Receive requested data from DPC + Receive requested data from DPC.
        @@ -261,7 +263,7 @@

        Share Your Feedback

        1. - The DPC team is always seeking feedback! Pilot partners will be requested to participate in research sessions where Health IT implementers and healthcare organizations will be asked, together or separately, to share their experiences, challenges, and recommendations regarding the design of the DPC API and its features. + The DPC Team is always seeking feedback! Pilot partners will be requested to participate in research sessions where Health IT implementers and healthcare organizations will be asked, together or separately, to share their experiences, challenges, and recommendations regarding the design of the DPC API and its features.
        2. Join the DPC Google Group community to ask questions, share your thoughts, and hear about updates and upcoming events related to DPC. From 868fbe46fb90081f393fb0e393397282f4526964 Mon Sep 17 00:00:00 2001 From: Jeff <89746523+mftcodes@users.noreply.github.com> Date: Tue, 22 Nov 2022 17:02:00 -0500 Subject: [PATCH 09/11] Fixing missed casing change. (#81) --- common/docsV1.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/docsV1.md b/common/docsV1.md index 1d69393a..a4d1093f 100644 --- a/common/docsV1.md +++ b/common/docsV1.md @@ -613,7 +613,7 @@ You will need to register practitioners in your organization, register patien ## Load sample data The DPC Team has created a collection of sample Practitioner, Patient, and Group Resources which can be used to get started in the sandbox environment. These resources can be found in our public GitHub repository as JSON files. More details included in this README file. -**Uploading Practitioners:** We have included four Practitioner Resources that represent fictitious Practitioners that you can add to your Organization. +**Uploading Practitioners:** We have included four Practitioner Resources that represent fictitious practitioners that you can add to your organization. **Uploading Patients:** The Beneficiary FHIR Data Server (BFD) maintains a list of 101 patients, along with their MBIs, that can be used for matching existing synthetic data in the sandbox environment. More details and the corresponding data files can be found on the Blue Button 2.0 API’s documentation under Sample Beneficiaries. From ad193ff6db192c803d9465114b3c9a4038099ce2 Mon Sep 17 00:00:00 2001 From: Tianna Woodson Date: Wed, 30 Nov 2022 09:20:01 -0500 Subject: [PATCH 10/11] Fix page permalinks (#82) --- common/data.md | 2 +- common/docsV1.md | 2 +- common/docsV2.md | 2 +- common/faq.html | 2 +- common/pilot.html | 2 +- common/tos.md | 2 +- common/update-page.md | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/common/data.md b/common/data.md index e194e7aa..fc31fa78 100644 --- a/common/data.md +++ b/common/data.md @@ -2,7 +2,7 @@ layout: page-sidenav title: DPC Data banner_title: Understanding DPC Data -permalink: /data +permalink: /data.html id: data button: Data Dictionary coming_soon: true diff --git a/common/docsV1.md b/common/docsV1.md index a4d1093f..8bb7f1a5 100644 --- a/common/docsV1.md +++ b/common/docsV1.md @@ -2,7 +2,7 @@ layout: page-sidenav title: DPC Documentation banner_title: Documentation -permalink: /docsV1 +permalink: /docsV1.html id: docsV1 side_nav_items: guide1_nav --- diff --git a/common/docsV2.md b/common/docsV2.md index ccd95fd0..e0aa3431 100644 --- a/common/docsV2.md +++ b/common/docsV2.md @@ -2,7 +2,7 @@ layout: page-sidenav title: DPC Documentation banner_title: Documentation -permalink: /docsV2 +permalink: /docsV2.html id: docsV2 button: Sign Up for Sandbox button_url: https://sandbox.dpc.cms.gov/users/sign_in diff --git a/common/faq.html b/common/faq.html index 58d9aa51..571d185b 100644 --- a/common/faq.html +++ b/common/faq.html @@ -3,7 +3,7 @@ title: Frequently asked questions banner_title: Frequently asked questions description: Frequently asked questions about the Data at the Point of Care pilot -permalink: /faq +permalink: /faq.html id: faq button: DPC Google Group button_url: "https://groups.google.com/d/forum/dpc-api" diff --git a/common/pilot.html b/common/pilot.html index b5d60590..ab5d3363 100644 --- a/common/pilot.html +++ b/common/pilot.html @@ -2,7 +2,7 @@ layout: page-sidenav title: About the Pilot banner_title: About the Pilot -permalink: /pilot +permalink: /pilot.html id: pilot button: Email DPC to Request Production Access button_url: mailto:DPCINFO@cms.hhs.gov diff --git a/common/tos.md b/common/tos.md index 737c2451..28af9dcf 100644 --- a/common/tos.md +++ b/common/tos.md @@ -1,7 +1,7 @@ --- layout: page-tos title: Terms of service -permalink: /terms-of-service +permalink: /terms-of-service.html id: tos --- *Last updated: 8/19/21* diff --git a/common/update-page.md b/common/update-page.md index 0e9df4c2..57d92686 100644 --- a/common/update-page.md +++ b/common/update-page.md @@ -2,7 +2,7 @@ layout: page-info title: Updates banner_title: Updates -permalink: /updates +permalink: /updates.html id: updates button: DPC Google Group button_url: "https://groups.google.com/d/forum/dpc-api" From 27896f87fdea334e96971014d1a233edb01b5ecf Mon Sep 17 00:00:00 2001 From: Alberto Colon Viera Date: Tue, 7 Feb 2023 11:10:11 -0500 Subject: [PATCH 11/11] fix: Gemfile & Gemfile.lock to reduce vulnerabilities (#71) The following vulnerabilities are fixed with an upgrade: - https://snyk.io/vuln/SNYK-RUBY-TZINFO-2958048 Co-authored-by: snyk-bot Co-authored-by: Luke Garceau --- Gemfile | 2 +- Gemfile.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Gemfile b/Gemfile index acde2397..c6383d6c 100644 --- a/Gemfile +++ b/Gemfile @@ -21,7 +21,7 @@ end # Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem # and associated library. install_if -> { RUBY_PLATFORM =~ %r!mingw|mswin|java! } do - gem "tzinfo", "~> 1.2" + gem "tzinfo", "~> 1.2", ">= 1.2.10" gem "tzinfo-data" end diff --git a/Gemfile.lock b/Gemfile.lock index e6a340a1..b76222e8 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -65,9 +65,9 @@ GEM terminal-table (1.8.0) unicode-display_width (~> 1.1, >= 1.1.1) thread_safe (0.3.6) - tzinfo (1.2.9) + tzinfo (1.2.10) thread_safe (~> 0.1) - tzinfo-data (1.2021.1) + tzinfo-data (1.2022.1) tzinfo (>= 1.0.0) unicode-display_width (1.7.0) wdm (0.1.1) @@ -82,9 +82,9 @@ DEPENDENCIES json minima (~> 2.5) rexml (>= 3.2.5) - tzinfo (~> 1.2) + tzinfo (~> 1.2, >= 1.2.10) tzinfo-data wdm (~> 0.1.1) BUNDLED WITH - 2.2.15 + 2.1.4