NAV Navbar
JSON CSS JSX HTML

Access Token API

Create new Access Token

This API call returns a new access token.

Endpoint

POST https://api1.consumerism.pressganey.com/api/service/v1/token/create

Request Parameters

Parameter Default Description Required/Optional
appId String Application ID of the Application that was created to access the API Required
appSecret String Application Secret. Keep this info secret because it acts as the password Required

Response

The call returns a JSON object which contains an access token and its expiry time. This access token is required to retrieve data using the REST API.

{
  "accessToken": "Wz78OmgKtowHppizWjxO7mqms7+8q1QfjaQfb9WUBooVI6IZmp5V/w==",
  "status": {
    "message": "Success",
    "code": 200,
  },
  "expiresIn": "2014-08-22 09:11:20"
}

Response Parameters

Property Type Description
status JSON Object Indicates the status of the response
code Number Status code for the response. Possible codes are: 200 – Success 400 – Bad Request 500 – Internal Server Error
message String Detailed message from the server about the status
accessToken String Access token for authentication. This access token is valid until the expiry time indicated in the response
expiresIn String Date time when the access token will expire

Star Ratings API (Comments)

Introduction

The Press Ganey Consumer Solutions API is a set of HTTP based REST services. There is also a JavaScript wrapper that abstracts the low level API calls. The Press Ganey Consumer Solutions API can be used by third party websites to embed data from the Binary Star Ratings platform within a target web page. Testimonials are patient feedback collected through surveys and pass through a series of checks before they are made available through the API. The main checks include:

o Section 1: Allows for publishing testimonials by NPI

o Section 2: Allows for publishing testimonials by Location

o Section 3: Allows a rollup score to be published for any physician or location. Note: It is recommended to use a 365 day or lesser date range for roll up scores.

Other optional parameters are included in the various API calls and are detailed below.

API Reference

Before using the API, an Application must be provisioned by Press Ganey Consumer Solutions. Two pieces of information are required to create the application – an easily identifiable name and the domain of the website that hosts the pages invoking the API. The domain name is needed without the http(s) protocol schemes and the slashes - if the URL is http://www.w3schools.com/, the domain name is www.w3schools.com. Press Ganey Consumer Solutions will provision the Application and make it available in the API settings page on the Binary Star Ratings platform. The Application ID and Application Secret create a unique combination that will be used for authorization in all the API calls.

Use the Application ID and Application Secret to receive an Access Token to start making server to server API calls. The access token is valid for a limited period of time. The server-to-server API calls are:

Comments for a Single Physician

Endpoint

GET https://api1.consumerism.pressganey.com/api/bsr/comments

Header Parameters

Property Type Description Required/Optional
Content-Type application/json Content in JSON format Required
Access-Token String Access token received from the platform Required

GET Request Parameters

Property Type Description Required/Optional
personId String Unique identifier of a Physician. Can be NPI or a proprietary identifier guaranteed to be unique across all providers Required
page Integer The page to return containing the requested number of testimonials per page Default value is 1
perPage Integer The number of reviews per page Optional, default is up to 20
minThreshold String Minimum threshold for the comments Values between 0 and 5 Note: Minimum threshold is compared to the overall rating value associated with the comments Optional, by default threshold is not considered
days Integer Maximum age of the reviews in days. For example, days=7 means reviews from the past 1 week Optional, default is 365 days
minSurveyCount Integer Returns responses only when there are at least as many survey responses as specified in minSurveyCount Optional, default is 0
minRatingCount Integer Returns responses only when there are at least as many ratings as specified in minRatingCount. Optional, default is 0
minWordCount Integer Returns only those reviews, which have minimum number of words in it. Default is 0, meaning, no restriction on word count.
showRatings Boolean If you don’t need rating, send this parameter as false Default is true
showComments Boolean If you don’t need comments, send this parameter as false Default is true
{
   "status":{
      "message":"success",
      "code":200
   },
   "data":{
      "entities":[
         {
            "id":"1324567890",
            "name":"John Doe, MD",
            "totalCommentCount":3,
            "totalRatingCount":6,
            "totalSurveyCount":6,
            "overallRating":{
               "name":"Overall Satisfaction",
               "value":3.6,
               "questionRatings":[
                  {
                     "name":"CP instructions for follow-up care",
                     "value":3.5,
                     "responseCount":6
                  },
                  {
                     "name":"CP spoke using clear language",
                     "value":3.3,
                     "responseCount":6
                  },
                  {
                     "name":"Time CP spent with patient",
                     "value":3.5,
                     "responseCount":6
                  },
                  {
                     "name":"Patients' confidence in CP",
                     "value":4.6,
                     "responseCount":6
                  }
               ]
            },
            "comments":[
               {
                  "id":6931217,
                  "source":"Demo survey-PG",
                  "mentionTime":"2017-01-09T07:12:55Z",
                  "wordCount":2,
                  "comment":"Good caring",
                  "overAllRating":{
                     "name":"Overall Satisfaction",
                     "value":4.75
},

"response": {
              "responseText": "Sample Annotation Text",
              "client": "BF Healthcare",
              "respondedBy": "Test User",
              "respondedTime": "2017-04-18T14:08:00Z"
            }

                  "ratings":[
                     {
                        "name":"Access",
                        "value":4.38
                     },
                     {
                        "name":"Personal Issues",
                        "value":4.58
                     },
                     {
                        "name":"Nurse/Assistant",
                        "value":4.38
                     },
                     {
                        "name":"Overall Assessment",
                        "value":5
                     },
                     {
                        "name":"Moving through visit",
                        "value":4.58
                     }
                  ]
               }
            ],
            "totalPages":1,
            "ratings":[
               {
                  "name":"Access",
                  "value":2.8,
                  "questionRatings":[
                     {
                        "name":"Ease of getting clinic on phone",
                        "value":2.9,
                        "responseCount":6
                     }
                  ]
               },
               {
                  "name":"Personal Issues",
                  "value":4,
                  "questionRatings":[
                     {
                        "name":"Convenience of our office hours",
                        "value":4.6,
                        "responseCount":6
                     }
                  ]
               },
               {
                  "name":"Nurse/Assistant",
                  "value":4.2,
                  "questionRatings":[
                     {
                        "name":"Friendliness/courtesy of nurse/asst",
                        "value":3.8,
                        "responseCount":6
                     }
                  ]
               },
               {
                  "name":"Overall Assessment",
                  "value":4.4,
                  "questionRatings":[
                     {
                        "name":"Staff worked together",
                        "value":4.7,
                        "responseCount":4
                     }
                  ]
               },
               {
                  "name":"Moving through visit",
                  "value":4.1,
                  "questionRatings":[
                     {
                        "name":"Courtesy of registration staff",
                        "value":4.5,
                        "responseCount":5
                     }
                  ]
               }
            ]
         }
      ],
      "filter":{
         "minThreshold":0,
         "minRatingCount":0,
         "minSurveyCount":0,
         "minWordCount":0,
         "days":20,
         "page":1,
         "perPage":20,
         "showComments":true,
         "showRatings":true,
         "configVersion":"v2",
         "period":{
            "to":"2017-01-10T07:52:08Z",
            "from":"2016-12-21T00:00:00Z"
         }
      }
   }
}

JSON Response Parameters

Property Type Description
filter Object The filters applied on the testimonials
entities Array The physician entities for which data is being returned
entities.id String Unique identifier of the entity
entities.Name String The name of the entity
entities.totalRatingCount Integer Total number of survey responses available for primary rating.
entities.totalCommentCount Integer Number of actual comments available for the entity
entities.totalSurveyCount Integer Total number of surveys available for the entity
overallRating.name String Overall Rating name
overallRating.value Decimal Overall rating of the Provider
overallRating.questionRatings Array Individual question level rating which contributed for the overall rating
overallRating.questionRatings.name String Question name contributed for overall rating
overallRating.questionRatings.value Decimal Star rating of the question
overallRating.questionRatings.responseCount Integer No. of responses received for this questiong
ratings Array The ratings for this entity
ratings.name String The name of the rating
ratings.value Decimal The score
ratings.questionRatings Array List of questions used for calculating this rating
ratings.questionRatings.name String Question text
ratings.questionRatings.value Decimal Question rating
ratings.questionRatings.responseCount Integer Total number of responses for this question
comments Array The comments for this entity
comments.id Integer Unique identifier of the Comment
comments.comment String The comment content
comments.overallRating Object Overall rating of the comment
comments.overallRating.name String Overall rating name
comments.overallRating.value Decimal Overall rating of the comment
comments.ratings Array Individual ratings
comments.ratings.name String The name of the rating
comments.ratings.value Decimal Individual question rating
comments.mentionTime Datetime (ISO-8601) The date & time at which this review was mentioned

Comments for Multiple Physicians

Returns a set of testimonials and ratings based on the parameters passed in, for the given physicians.

Endpoint

POST https://api1.consumerism.pressganey.com/api/bsr/comments

Header Parameters

Property Type Description Required/Optional
Content-Type application/json Content in JSON format Required
Access-Token String Access token received from the platform Required

POST Request Parameters

Property Type Description Required/Optional
personId String A Unique identifier of a Physician. Can be NPI You can pass multiple person Ids as: &personId=123&personId=234 Required
page Integer The page to return containing the requested number of testimonials per page Default value is 1
perPage Integer The number of reviews per page Optional, default is up to 20
minThreshold String Minimum threshold for the comments Values between 0 and 5 Note: Minimum threshold is compared to the overall rating value associated with the comments Optional, by default threshold is not considered
days Integer Maximum age of the reviews in days. For example, days=7 means reviews from the past 1 week Optional, default is 365 days
minSurveyCount Integer Returns responses only when there are at least as many ratings as specified in minRatingCount. Optional, default is 0
minRatingCount Integer Returns responses only when there are at least as many ratings as specified in minRatingCount. Optional, default is 0
minWordCount Integer Returns only those reviews, which have minimum number of words in it. Default is 0, meaning, no restriction on word count
showRatings Boolean If you don’t need rating, send this parameter as false Default is true
showComments Default If you don’t need comments, send this parameter as false Default is true

JSON Response

A JSON object containing the latest comments for the requested physicians. Each JSON object within entities JSONArray represents a single physician.

{{
   "status":{
      "message":"success",
      "code":200
   },
   "data":{
      "entities":[
         {
            "id":"147852369",
            "name":"John Smith, MD",
            "totalCommentCount":3,
            "totalRatingCount":6,
            "totalSurveyCount":6,
            "overallRating":{
               "name":"Overall Satisfaction",
               "value":3.6,
               "questionRatings":[
                  {
                     "name":"CP instructions for follow-up care",
                     "value":3.5,
                     "responseCount":6
                  },
                  {
                     "name":"CP spoke using clear language",
                     "value":3.3,
                     "responseCount":6
                  },
                  {
                     "name":"Time CP spent with patient",
                     "value":3.5,
                     "responseCount":6
                  }
               ]
            },
            "comments":[
               {
                  "id":6931217,
                  "source":"Demo survey-PG",
                  "mentionTime":"2017-01-09T07:12:55Z",
                  "wordCount":2,
                  "comment":"Good caring",
                  "overAllRating":{
                     "name":"Overall Satisfaction",
                     "value":4.75
                  },

"response": {
              "responseText": "Sample Annotation Text",
              "client": "BF Healthcare",
              "respondedBy": "Test User",
              "respondedTime": "2017-04-18T14:08:00Z"
            }
                  "ratings":[
                     {
                        "name":"Access",
                        "value":4.38
                     },
                     {
                        "name":"Personal Issues",
                        "value":4.58
},]
               }
            ],
            "totalPages":1,
            "ratings":[
               {
                  "name":"Access",
                  "value":2.8,
                  "questionRatings":[
                     {
                        "name":"Ease of getting clinic on phone",
                        "value":2.9,
                        "responseCount":6
                     }
                  ]
               },
               {
                  "name":"Personal Issues",
                  "value":4,
                  "questionRatings":[
                     {
                        "name":"Convenience of our office hours",
                        "value":4.6,
                        "responseCount":6
                     }
                  ]
               },
               {
                  "name":"Nurse/Assistant",
                  "value":4.2,
                  "questionRatings":[
                     {
                        "name":"Friendliness/courtesy of nurse/asst",
                        "value":3.8,
                        "responseCount":6
                     }
                  ]
               },
               {
                  "name":"Overall Assessment",
                  "value":4.4,
                  "questionRatings":[
                     {
                        "name":"Staff worked together",
                        "value":4.7,
                        "responseCount":4
                     }
                  ]
               },
               {
                  "name":"Moving through visit",
                  "value":4.1,
                  "questionRatings":[
                     {
                        "name":"Courtesy of registration staff",
                        "value":4.5,
                        "responseCount":5
                     }
                  ]
               }
            ]
         },
         {
            "id":"1234657890",
            "name":"John Doe, MD",
            "totalCommentCount":3,
            "totalRatingCount":6,
            "totalSurveyCount":6,
            "overallRating":{
               "name":"Overall Satisfaction",
               "value":3.6,
               "questionRatings":[
                  {
                     "name":"CP instructions for follow-up care",
                     "value":3.5,
                     "responseCount":6
                  },
                  {
                     "name":"CP spoke using clear language",
                     "value":3.3,
                     "responseCount":6
                  },
                  {
                     "name":"Time CP spent with patient",
                     "value":3.5,
                     "responseCount":6
                  }
               ]
            },
            "comments":[
               {
                  "id":6931217,
                  "source":"Demo survey-PG",
                  "mentionTime":"2017-01-09T07:12:55Z",
                  "wordCount":2,
                  "comment":"Good caring",
                  "overAllRating":{
                     "name":"Overall Satisfaction",
                     "value":4.75
                  },
                  "ratings":[
                     {
                        "name":"Access",
                        "value":4.38
                     },
                     {
                        "name":"Personal Issues",
                        "value":4.58
                     }
                  ]
               }
            ],
            "totalPages":1,
            "ratings":[
               {
                  "name":"Access",
                  "value":2.8,
                  "questionRatings":[
                     {
                        "name":"Ease of getting clinic on phone",
                        "value":2.9,
                        "responseCount":6
                     }
                  ]
               },
               {
                  "name":"Personal Issues",
                  "value":4,
                  "questionRatings":[
                     {
                        "name":"Convenience of our office hours",
                        "value":4.6,
                        "responseCount":6
                     }
                  ]
               },
               {
                  "name":"Nurse/Assistant",
                  "value":4.2,
                  "questionRatings":[
                     {
                        "name":"Friendliness/courtesy of nurse/asst",
                        "value":3.8,
                        "responseCount":6
                     }
                  ]
               },
               {
                  "name":"Overall Assessment",
                  "value":4.4,
                  "questionRatings":[
                     {
                        "name":"Staff worked together",
                        "value":4.7,
                        "responseCount":4
                     }
                  ]
               },
               {
                  "name":"Moving through visit",
                  "value":4.1,
                  "questionRatings":[
                     {
                        "name":"Courtesy of registration staff",
                        "value":4.5,
                        "responseCount":5
                     }
                  ]
               }
            ]
         }
      ],
      "filter":{
         "minThreshold":0,
         "minRatingCount":0,
         "minSurveyCount":0,
         "minWordCount":0,
         "days":20,
         "page":1,
         "perPage":20,
         "showComments":true,
         "showRatings":true,
         "configVersion":"v2",
         "period":{
            "to":"2017-01-10T07:52:08Z",
            "from":"2016-12-21T00:00:00Z"
         }
      }
   }
 }

JSON Response Parameters

Property Type Description
filter Object The filters applied on the testimonials
entities Array The physician entities for which data is being returned
entities.id String Unique identifier of the entity
entities.Name String The name of the entity
entities.totalRatingCount Integer Total number of survey responses available for primary rating.
entities.totalCommentCount Integer Number of actual comments available for the entity
entities.totalSurveyCount Integer Total number of surveys available for the entity
overallRating.name String Overall Rating name
overallRating.value Decimal Overall rating of the Provider
overallRating.questionRatings Array Individual question level rating which contributed for the overall rating
overallRating.questionRatings.name String Question name contributed for overall rating
overallRating.questionRatings.value Decimal Star rating of the question
overallRating.questionRatings.responseCount Integer No. of responses received for this questiong
ratings Array The ratings for this entity
ratings.name String The name of the rating
ratings.value Decimal The score
ratings.questionRatings Array List of questions used for calculating this rating
ratings.questionRatings.name String Question text
ratings.questionRatings.value Decimal Question rating
ratings.questionRatings.responseCount Integer Total number of responses for this question
comments Array The comments for this entity
comments.id Integer Unique identifier of the Comment
comments.comment String The comment content
comments.overallRating Object Overall rating of the comment
comments.overallRating.name String Overall rating name
comments.overallRating.value Decimal Overall rating of the comment
comments.ratings Array Individual ratings
comments.ratings.name String The name of the rating
comments.ratings.value Decimal Individual question rating
comments.mentionTime Datetime (ISO-8601) The date & time at which this review was mentioned

Comments for a Single Location

Endpoint

GET https://api1.consumerism.pressganey.com/api/bsr/comments

Header Parameters

Property Type Description Required/Optional
Content-Type application/json Content in JSON format Required
Access-Token String Access token received from the platform Required

GET Request Parameters

Property Type Description Required/Optional
locationId String Unique identifier of a Location. You can get this unique codes from the Mapping file. Required
page Integer The page to return containing the requested number of testimonials per page. Default value is 1
perPage Integer The number of reviews per page. Optional, default is up to 20
minThreshold String Minimum threshold for the comments. Values between 0 to 5. Note: Minimum threshold is compared to the overall rating value associated with the comments. Optional, by default threshold is not considered.
days Integer Maximum age of the reviews in days. For example, days=7 means reviews from the past 1 week Optional, default is 365 days
minSurveyCount Integer Returns responses only when there are at least as many survey responses as specified in minSurveyCount Optional, default is 0
minRatingCount Integer Returns responses only when there are at least as many ratings as specified in minRatingCount. Optional, default is 0
minWordCount Integer Returns only those reviews, which have minimum number of words in it. Default is 0, meaning, no restriction on word count.
showRatings Boolean If you don’t need rating, send this parameter as false Default is true
showComments Boolean If you don’t need comments, send this parameter as false Default is true

JSON Response

A JSON object containing the latest comments

{
   "status":{
      "message":"success",
      "code":200
   },
   "data":{
      "entities":[
         {
            "id":"2_17816_1",
            "name":"Demo Location 1",
            "totalCommentCount":3,
            "totalRatingCount":6,
            "totalSurveyCount":6,
            "overallRating":{
               "name":"Overall Satisfaction",
               "value":3.6,
               "questionRatings":[
                  {
                     "name":"CP instructions for follow-up care",
                     "value":3.5,
                     "responseCount":6
                  },
                  {
                     "name":"CP spoke using clear language",
                     "value":3.3,
                     "responseCount":6
                  },
                  {
                     "name":"Time CP spent with patient",
                     "value":3.5,
                     "responseCount":6
                  },
                  {
                     "name":"Patients' confidence in CP",
                     "value":4.6,
                     "responseCount":6
                  }
               ]
            },
            "comments":[
               {
                  "id":6931217,
                  "source":"Demo survey-PG",
                  "mentionTime":"2017-01-09T07:12:55Z",
                  "wordCount":2,
                  "comment":"Good caring",
                  "overAllRating":{
                     "name":"Overall Satisfaction",
                     "value":4.75
                  },
"response": {
              "responseText": "Sample Annotation Text",
              "client": "BF Healthcare",
              "respondedBy": "Test User",
              "respondedTime": "2017-04-18T14:08:00Z"
            }
                  "ratings":[
                     {
                        "name":"Access",
                        "value":4.38
                     },
                     {
                        "name":"Personal Issues",
                        "value":4.58
                     },
                     {
                        "name":"Nurse/Assistant",
                        "value":4.38
                     },
                     {
                        "name":"Overall Assessment",
                        "value":5
                     },
                     {
                        "name":"Moving through visit",
                        "value":4.58
                     }
                  ]
               }
            ],
            "totalPages":1,
            "ratings":[
               {
                  "name":"Access",
                  "value":2.8,
                  "questionRatings":[
                     {
                        "name":"Ease of getting clinic on phone",
                        "value":2.9,
                        "responseCount":6
                     }
                  ]
               },
               {
                  "name":"Personal Issues",
                  "value":4,
                  "questionRatings":[
                     {
                        "name":"Convenience of our office hours",
                        "value":4.6,
                        "responseCount":6
                     }
                  ]
               },
               {
                  "name":"Nurse/Assistant",
                  "value":4.2,
                  "questionRatings":[
                     {
                        "name":"Friendliness/courtesy of nurse/asst",
                        "value":3.8,
                        "responseCount":6
                     }
                  ]
               },
               {
                  "name":"Overall Assessment",
                  "value":4.4,
                  "questionRatings":[
                     {
                        "name":"Staff worked together",
                        "value":4.7,
                        "responseCount":4
                     }
                  ]
               },
               {
                  "name":"Moving through visit",
                  "value":4.1,
                  "questionRatings":[
                     {
                        "name":"Courtesy of registration staff",
                        "value":4.5,
                        "responseCount":5
                     }
                  ]
               }
            ]
         }
      ],
      "filter":{
         "minThreshold":0,
         "minRatingCount":0,
         "minSurveyCount":0,
         "minWordCount":0,
         "days":20,
         "page":1,
         "perPage":20,
         "showComments":true,
         "showRatings":true,
         "configVersion":"v2",
         "period":{
            "to":"2017-01-10T07:52:08Z",
            "from":"2016-12-21T00:00:00Z"
         }
      }
   }
}

JSON Response Parameters

Property Type Description
filter Object The filters applied on the testimonials
entities Array The physician entities for which data is being returned
entities.id String Unique identifier of the entity
entities.Name String The name of the entity
entities.totalRatingCount Integer Total number of survey responses available for primary rating.
entities.totalCommentCount Integer Number of actual comments available for the entity
entities.totalSurveyCount Integer Total number of surveys available for the entity
overallRating.name String Overall Rating name
overallRating.value Decimal Overall rating of the Provider
overallRating.questionRatings Array Individual question level rating which contributed for the overall rating
overallRating.questionRatings.name String Question name contributed for overall rating
overallRating.questionRatings.value Decimal Star rating of the question
overallRating.questionRatings.responseCount Integer No. of responses received for this questiong
ratings Array The ratings for this entity
ratings.name String The name of the rating
ratings.value Decimal The score
ratings.questionRatings Array List of questions used for calculating this rating
ratings.questionRatings.name String Question text
ratings.questionRatings.value Decimal Question rating
ratings.questionRatings.responseCount Integer Total number of responses for this question
comments Array The comments for this entity
comments.id Integer Unique identifier of the Comment
comments.comment String The comment content
comments.overallRating Object Overall rating of the comment
comments.overallRating.name String Overall rating name
comments.overallRating.value Decimal Overall rating of the comment
comments.ratings Array Individual ratings
comments.ratings.name String The name of the rating
comments.ratings.value Decimal Individual question rating
comments.mentionTime Datetime (ISO-8601) The date & time at which this review was mentioned

Comments for Multiple Locations

Endpoint

POST https://api1.consumerism.pressganey.com/api/bsr/comments

Header Parameters

Property Type Description Required/Optional
Content-Type application/json Content in JSON format Required
Access-Token String Access token received from the platform Required

POST Request Parameters

Property Type Description Required/Optional
locationId String Unique identifier of a Location. You can get this unique codes from the Mapping file. You can pass multiple location ID as &locationID=123&locationId=234 Required
page Integer The page to return containing the requested number of testimonials per page. Default value is 1
perPage Integer The number of reviews per page. Optional, default is up to 20
minThreshold String Minimum threshold for the comments. Values between 0 to 5. Note: Minimum threshold is compared to the overall rating value associated with the comments. Optional, by default threshold is not considered.
days Integer Maximum age of the reviews in days. For example, days=7 means reviews from the past 1 week Optional, default is 365 days
minSurveyCount Integer Returns responses only when there are at least as many survey responses as specified in minSurveyCount Optional, default is 0
minRatingCount Integer Returns responses only when there are at least as many ratings as specified in minRatingCount. Optional, default is 0
minWordCount Integer Returns only those reviews, which have minimum number of words in it. Default is 0, meaning, no restriction on word count.
showRatings Boolean If you don’t need rating, send this parameter as false Default is true
showComments Boolean If you don’t need comments, send this parameter as false Default is true

JSON Response

A JSON object containing the latest comments for the requested locations. Each JSON object within entities JSONArray represents a single location.

{
   "status":{
      "message":"success",
      "code":200
   },
   "data":{
      "entities":[
         {
            "id":"2_123_1",
            "name":"Demo Location 1",
            "totalCommentCount":3,
            "totalRatingCount":6,
            "totalSurveyCount":6,
            "overallRating":{
               "name":"Overall Satisfaction",
               "value":3.6,
               "questionRatings":[
                  {
                     "name":"CP instructions for follow-up care",
                     "value":3.5,
                     "responseCount":6
                  },
                  {
                     "name":"CP spoke using clear language",
                     "value":3.3,
                     "responseCount":6
                  },
                  {
                     "name":"Time CP spent with patient",
                     "value":3.5,
                     "responseCount":6
                  }
               ]
            },
            "comments":[
               {
                  "id":6931217,
                  "source":"Demo survey-PG",
                  "mentionTime":"2017-01-09T07:12:55Z",
                  "wordCount":2,
                  "comment":"Good caring",
                  "overAllRating":{
                     "name":"Overall Satisfaction",
                     "value":4.75
                  },
"response": {
              "responseText": "Sample Annotation Text",
              "client": "BF Healthcare",
              "respondedBy": "Test User",
              "respondedTime": "2017-04-18T14:08:00Z"
            }
                  "ratings":[
                     {
                        "name":"Access",
                        "value":4.38
                     },
                     {
                        "name":"Personal Issues",
                        "value":4.58
                     }
                  ]
               }
            ],
            "totalPages":1,
            "ratings":[
               {
                  "name":"Access",
                  "value":2.8,
                  "questionRatings":[
                     {
                        "name":"Ease of getting clinic on phone",
                        "value":2.9,
                        "responseCount":6
                     }
                  ]
               },
               {
                  "name":"Personal Issues",
                  "value":4,
                  "questionRatings":[
                     {
                        "name":"Convenience of our office hours",
                        "value":4.6,
                        "responseCount":6
                     }
                  ]
               },
               {
                  "name":"Nurse/Assistant",
                  "value":4.2,
                  "questionRatings":[
                     {
                        "name":"Friendliness/courtesy of nurse/asst",
                        "value":3.8,
                        "responseCount":6
                     }
                  ]
               },
               {
                  "name":"Overall Assessment",
                  "value":4.4,
                  "questionRatings":[
                     {
                        "name":"Staff worked together",
                        "value":4.7,
                        "responseCount":4
                     }
                  ]
               },
               {
                  "name":"Moving through visit",
                  "value":4.1,
                  "questionRatings":[
                     {
                        "name":"Courtesy of registration staff",
                        "value":4.5,
                        "responseCount":5
                     }
                  ]
               }
            ]
         },
         {
            "id":"_2_1212_12",
            "name":"Demo Location 2",
            "totalCommentCount":3,
            "totalRatingCount":6,
            "totalSurveyCount":6,
            "overallRating":{
               "name":"Overall Satisfaction",
               "value":3.6,
               "questionRatings":[
                  {
                     "name":"CP instructions for follow-up care",
                     "value":3.5,
                     "responseCount":6
                  },
                  {
                     "name":"CP spoke using clear language",
                     "value":3.3,
                     "responseCount":6
                  },
                  {
                     "name":"Time CP spent with patient",
                     "value":3.5,
                     "responseCount":6
                  }
               ]
            },
            "comments":[
               {
                  "id":6931217,
                  "source":"Demo survey-PG",
                  "mentionTime":"2017-01-09T07:12:55Z",
                  "wordCount":2,
                  "comment":"Good caring",
                  "overAllRating":{
                     "name":"Overall Satisfaction",
                     "value":4.75
                  },
                  "ratings":[
                     {
                        "name":"Access",
                        "value":4.38
                     },
                     {
                        "name":"Personal Issues",
                        "value":4.58
                     }
                  ]
               }
            ],
            "totalPages":1,
            "ratings":[
               {
                  "name":"Access",
                  "value":2.8,
                  "questionRatings":[
                     {
                        "name":"Ease of getting clinic on phone",
                        "value":2.9,
                        "responseCount":6
                     }
                  ]
               },
               {
                  "name":"Personal Issues",
                  "value":4,
                  "questionRatings":[
                     {
                        "name":"Convenience of our office hours",
                        "value":4.6,
                        "responseCount":6
                     }
                  ]
               },
               {
                  "name":"Nurse/Assistant",
                  "value":4.2,
                  "questionRatings":[
                     {
                        "name":"Friendliness/courtesy of nurse/asst",
                        "value":3.8,
                        "responseCount":6
                     }
                  ]
               },
               {
                  "name":"Overall Assessment",
                  "value":4.4,
                  "questionRatings":[
                     {
                        "name":"Staff worked together",
                        "value":4.7,
                        "responseCount":4
                     }
                  ]
               },
               {
                  "name":"Moving through visit",
                  "value":4.1,
                  "questionRatings":[
                     {
                        "name":"Courtesy of registration staff",
                        "value":4.5,
                        "responseCount":5
                     }
                  ]
               }
            ]
         }
      ],
      "filter":{
         "minThreshold":0,
         "minRatingCount":0,
         "minSurveyCount":0,
         "minWordCount":0,
         "days":20,
         "page":1,
         "perPage":20,
         "showComments":true,
         "showRatings":true,
         "configVersion":"v2",
         "period":{
            "to":"2017-01-10T07:52:08Z",
            "from":"2016-12-21T00:00:00Z"
         }
      }
   }
}
}

JSON Response Parameters

Property Type Description
filter Object The filters applied on the testimonials
entities Array The physician entities for which data is being returned
entities.id String Unique identifier of the entity
entities.Name String The name of the entity
entities.totalRatingCount Integer Total number of survey responses available for primary rating.
entities.totalCommentCount Integer Number of actual comments available for the entity
entities.totalSurveyCount Integer Total number of surveys available for the entity
overallRating.name String Overall Rating name
overallRating.value Decimal Overall rating of the Provider
overallRating.questionRatings Array Individual question level rating which contributed for the overall rating
overallRating.questionRatings.name String Question name contributed for overall rating
overallRating.questionRatings.value Decimal Star rating of the question
overallRating.questionRatings.responseCount Integer No. of responses received for this questiong
ratings Array The ratings for this entity
ratings.name String The name of the rating
ratings.value Decimal The score
ratings.questionRatings Array List of questions used for calculating this rating
ratings.questionRatings.name String Question text
ratings.questionRatings.value Decimal Question rating
ratings.questionRatings.responseCount Integer Total number of responses for this question
comments Array The comments for this entity
comments.id Integer Unique identifier of the Comment
comments.comment String The comment content
comments.overallRating Object Overall rating of the comment
comments.overallRating.name String Overall rating name
comments.overallRating.value Decimal Overall rating of the comment
comments.ratings Array Individual ratings
comments.ratings.name String The name of the rating
comments.ratings.value Decimal Individual question rating
comments.mentionTime Datetime (ISO-8601) The date & time at which this review was mentioned

Comments for Roll Up Scores for a Physician or Location

Endpoint

GET https://api1.consumerism.pressganey.com/api/bsr/comments

Header Parameters

Property Type Description Required/Optional
Content-Type application/json Content in JSON format Required
Access-Token String Access token received from the platform Required

GET Request Parameters

Property Type Description Required/Optional
entityId String Unique identifier of a Physician/Location. You can get the ID from the mapping file or from Transparency application Required
page Integer The page to return containing the requested number of testimonials per page. Default value is 1
perPage Integer The number of reviews per page. Optional, default is up to 20
days Integer Maximum age of the reviews in days. For example, days=7 means reviews from the past 1 week Optional, default is 365 days
minSurveyCount Integer Returns responses only when there are at least as many survey responses as specified in minSurveyCount Optional, default is 0
minRatingCount Integer Returns responses only when there are at least as many ratings as specified in minRatingCount. Optional, default is 0
minWordCount Integer Returns only those reviews, which have minimum number of words in it. Default is 0, meaning, no restriction on word count.
showRatings Boolean If you don’t need rating, send this parameter as false Default is true
showComments Boolean If you don’t need comments, send this parameter as false Default is true

JSON Response

A JSON object containing the latest comments.

{
   "status":{
      "message":"success",
      "code":200
   },
   "data":{
      "entities":[
         {
            "id":"2_17816_1",
            "name":"Demo Location 1",
            "totalCommentCount":3,
            "totalRatingCount":6,
            "totalSurveyCount":6,
            "overallRating":{
               "name":"Overall Satisfaction",
               "value":3.6,
               "questionRatings":[
                  {
                     "name":"CP instructions for follow-up care",
                     "value":3.5,
                     "responseCount":6
                  },
                  {
                     "name":"CP spoke using clear language",
                     "value":3.3,
                     "responseCount":6
                  },
                  {
                     "name":"Time CP spent with patient",
                     "value":3.5,
                     "responseCount":6
                  },
                  {
                     "name":"Patients' confidence in CP",
                     "value":4.6,
                     "responseCount":6
                  }
               ]
            },
            "comments":[
               {
                  "id":6931217,
                  "source":"Demo survey-PG",
                  "mentionTime":"2017-01-09T07:12:55Z",
                  "wordCount":2,
                  "comment":"Good caring",
                  "overAllRating":{
                     "name":"Overall Satisfaction",
                     "value":4.75
},
"response": {
              "responseText": "Sample Annotation Text",
              "client": "BF Healthcare",
              "respondedBy": "Test User",
              "respondedTime": "2017-04-18T14:08:00Z"
            }
                  "ratings":[
                     {
                        "name":"Access",
                        "value":4.38
                     },
                     {
                        "name":"Personal Issues",
                        "value":4.58
                     },
                     {
                        "name":"Nurse/Assistant",
                        "value":4.38
                     },
                     {
                        "name":"Overall Assessment",
                        "value":5
                     },
                     {
                        "name":"Moving through visit",
                        "value":4.58
                     }
                  ]
               }
            ],
            "totalPages":1,
            "ratings":[
               {
                  "name":"Access",
                  "value":2.8,
                  "questionRatings":[
                     {
                        "name":"Ease of getting clinic on phone",
                        "value":2.9,
                        "responseCount":6
                     }
                  ]
               },
               {
                  "name":"Personal Issues",
                  "value":4,
                  "questionRatings":[
                     {
                        "name":"Convenience of our office hours",
                        "value":4.6,
                        "responseCount":6
                     }
                  ]
               },
               {
                  "name":"Nurse/Assistant",
                  "value":4.2,
                  "questionRatings":[
                     {
                        "name":"Friendliness/courtesy of nurse/asst",
                        "value":3.8,
                        "responseCount":6
                     }
                  ]
               },
               {
                  "name":"Overall Assessment",
                  "value":4.4,
                  "questionRatings":[
                     {
                        "name":"Staff worked together",
                        "value":4.7,
                        "responseCount":4
                     }
                  ]
               },
               {
                  "name":"Moving through visit",
                  "value":4.1,
                  "questionRatings":[
                     {
                        "name":"Courtesy of registration staff",
                        "value":4.5,
                        "responseCount":5
                     }
                  ]
               }
            ]
         }
      ],
      "filter":{
         "minThreshold":0,
         "minRatingCount":0,
         "minSurveyCount":0,
         "minWordCount":0,
         "days":20,
         "page":1,
         "perPage":20,
         "showComments":true,
         "showRatings":true,
         "configVersion":"v2",
         "period":{
            "to":"2017-01-10T07:52:08Z",
            "from":"2016-12-21T00:00:00Z"
         }
      }
   }
}

JSON Response Parameters

Property Type Description
filter Object The filters applied on the testimonials
entities Array The physician entities for which data is being returned
entities.id String Unique identifier of the entity
entities.Name String The name of the entity
entities.totalRatingCount Integer Total number of survey responses available for primary rating.
entities.totalCommentCount Integer Number of actual comments available for the entity
entities.totalSurveyCount Integer Total number of surveys available for the entity
overallRating.name String Overall Rating name
overallRating.value Decimal Overall rating of the Provider
overallRating.questionRatings Array Individual question level rating which contributed for the overall rating
overallRating.questionRatings.name String Question name contributed for overall rating
overallRating.questionRatings.value Decimal Star rating of the question
overallRating.questionRatings.responseCount Integer No. of responses received for this questiong
ratings Array The ratings for this entity
ratings.name String The name of the rating
ratings.value Decimal The score
ratings.questionRatings Array List of questions used for calculating this rating
ratings.questionRatings.name String Question text
ratings.questionRatings.value Decimal Question rating
ratings.questionRatings.responseCount Integer Total number of responses for this question
comments Array The comments for this entity
comments.id Integer Unique identifier of the Comment
comments.comment String The comment content
comments.overallRating Object Overall rating of the comment
comments.overallRating.name String Overall rating name
comments.overallRating.value Decimal Overall rating of the comment
comments.ratings Array Individual ratings
comments.ratings.name String The name of the rating
comments.ratings.value Decimal Individual question rating
comments.mentionTime Datetime (ISO-8601) The date & time at which this review was mentioned

Comments for Roll Up Scores for Multiple Physicians or Locations

If multiple physician and/or locations are sent in an API call, the output will be one rollup score per physician/location.

Endpoint

POST https://api1.consumerism.pressganey.com/api/bsr/comments

Header Parameters

Property Type Description Required/Optional
Content-Type application/json Content in JSON format Required
Access-Token String Access token received from the platform Required

POST Request Parameters

Property Type Description Required/Optional
entityId String Unique identifier of a Location. You can get this unique codes from the Mapping file. You can pass multiple location ID as &locationID=123&locationId=234 Required
page Integer The page to return containing the requested number of testimonials per page Default value is 1
perPage Integer The number of reviews per page Optional, default is up to 20
days Integer Maximum age of the reviews in days. For example, days=7 means reviews from the past 1 week Optional, default is 365 days
minSurveyCount Integer Returns responses only when there are at least as many ratings as specified in minRatingCount. Optional, default is 0
minRatingCount Integer Returns responses only when there are at least as many ratings as specified in minRatingCount. Optional, default is 30
minWordCount Integer Returns only those reviews, which have minimum number of words in it. Default is 0, meaning, no restriction on word count
showRatings Boolean If you don’t need rating, send this parameter as false Default is true
showComments Default If you don’t need comments, send this parameter as false Default is true

JSON Response

A JSON object containing the latest comments for the requested locations. Each JSON object within entities JSONArray represents a single location.

{
    "status": {
        "message": "success",
        "code": 200
    },
    "data": {
        "client": "Test Client",
        "entities": [
            {
                "id": "123456",
                "name": "Surgical Services",
                "totalCommentCount": 11,
                "totalRatingCount": 14,
                "totalSurveyCount": 48,
                "overallRating": {
                    "name": "Overall Satisfaction",
                    "value": 3.5,
                    "questionRatings": [
                        {
                            "name": "Please rate your overall satisfaction:",
                            "value": 3.5,
                            "responseCount": 33
                        }
                    ]
                },
                "comments": [
                    {
                        "id": 23654444,
                        "source": "Test Survey",
                        "mentionTime": "2017-05-28T07:05:03Z",
                        "wordCount": 3,
                        "comment": "Test Survey feedback",
                        "ratings": [],
                        "response": {
                            "responseText": "thank you for your feedback",
                            "respondedBy": "bf Administrator",
                            "respondedTime": "2017-05-28T07:06:19Z"
                        }
                    },
                    {
                        "id": 23653088,
                        "source": "Patient Experience Survey",
                        "mentionTime": "2017-05-28T05:44:23Z",
                        "wordCount": 2,
                        "comment": "only comment",
                        "ratings": []
                    },
                    {
                        "id": 23653055,
                        "source": "Patient Experience Survey",
                        "mentionTime": "2017-06-28T04:44:28Z",
                        "wordCount": 5,
                        "comment": "Great comment with annotation",
                        "ratings": [
                            {
                                "name": "Ease of Scheduling",
                                "value": 3.75
                            }
                        ],
                        "response": {
                            "responseText": "Final annotation edited by Avatar",
                            "respondedBy": "bf Administrator",
                            "respondedTime": "2017-05-28T05:30:37Z"
                        },
                        "overallRating": {
                            "name": "Overall Satisfaction",
                            "value": 2.5
                        }
                    },
                    {
                        "id": 23653033,
                        "source": "Patient Experience Survey",
                        "mentionTime": "2017-06-27T16:59:39Z",
                        "wordCount": 4,
                        "comment": "Excellent Comment by dolphin",
                        "ratings": [
                            {
                                "name": "Ease of Scheduling",
                                "value": 3.75
                            }
                        ],
                        "overallRating": {
                            "name": "Overall Satisfaction",
                            "value": 3.75
                        }
                    },
                    {
                        "id": 23652626,
                        "source": "Patient Experience Survey",
                        "mentionTime": "2017-05-19T10:11:55Z",
                        "wordCount": 2,
                        "comment": "Excellent service!",
                        "ratings": [
                            {
                                "name": "Ease of Scheduling",
                                "value": 2.5
                            }
                        ],
                        "response": {
                            "responseText": "Thanks for your feedback",
                            "respondedBy": "Chase Ausley",
                            "respondedTime": "2017-06-28T14:39:32Z"
                        },
                        "overallRating": {
                            "name": "Overall Satisfaction",
                            "value": 2.5
                        }
                    },
                    {
                        "id": 23652572,
                        "source": "Patient Experience Survey",
                        "mentionTime": "2017-06-19T09:56:00Z",
                        "wordCount": 3,
                        "comment": "good Secure survey",
                        "ratings": [
                            {
                                "name": "Ease of Scheduling",
                                "value": 3.13
                            }
                        ],
                        "response": {
                            "responseText": "test 123 edited",
                            "respondedBy": "bf Administrator",
                            "respondedTime": "2017-06-22T09:28:42Z"
                        },
                        "overallRating": {
                            "name": "Overall Satisfaction",
                            "value": 1.25
                        }
                    },
                    {
                        "id": 23652477,
                        "source": "Patient Experience Survey",
                        "mentionTime": "2017-06-16T11:51:10Z",
                        "wordCount": 5,
                        "comment": "Excellent comment by tpk tester",
                        "ratings": [
                            {
                                "name": "Ease of Scheduling",
                                "value": 3.13
                            }
                        ],
                        "overallRating": {
                            "name": "Overall Satisfaction",
                            "value": 5
                        }
                    },
                    {
                        "id": 23652460,
                        "source": "Patient Experience Survey",
                        "mentionTime": "2017-06-16T11:40:03Z",
                        "wordCount": 4,
                        "comment": "excellent with overall rating",
                        "ratings": [
                            {
                                "name": "Ease of Scheduling",
                                "value": 2.5
                            }
                        ],
                        "overallRating": {
                            "name": "Overall Satisfaction",
                            "value": 2.5
                        }
                    },
                    {
                        "id": 23652445,
                        "source": "Patient Experience Survey",
                        "mentionTime": "2017-06-16T10:39:08Z",
                        "wordCount": 5,
                        "comment": "services are really good",
                        "ratings": [
                            {
                                "name": "Ease of Scheduling",
                                "value": 1.25
                            }
                        ]
                    },
                    {
                        "id": 23652398,
                        "source": "Patient Experience Survey",
                        "mentionTime": "2017-05-16T05:10:34Z",
                        "wordCount": 6,
                        "comment": "very good care provider - dolphin",
                        "ratings": [
                            {
                                "name": "Ease of Scheduling",
                                "value": 3.8
                            }
                        ],
                        "response": {
                            "responseText": "test response",
                            "respondedBy": "bf Administrator",
                            "respondedTime": "2017-06-16T07:00:55Z"
                        }
                    },
                    {
                        "id": 23653147,
                        "source": "Patient Experience Survey",
                        "mentionTime": "2017-05-20T07:20:48Z",
                        "wordCount": 2,
                        "comment": "good one",
                        "ratings": []
                    }
                ],
                "totalPages": 1,
                "ratings": [
                    {
                        "name": "Ease of Scheduling",
                        "value": 4.1,
                        "questionRatings": [
                            {
                                "name": "Please rate the ease of scheduling the appointment:",
                                "value": 4.1,
                                "responseCount": 44
                            },
                            {
                                "name": "Please rate the courtesy and helpfulness of the office staff:",
                                "value": 4.2,
                                "responseCount": 40
                            }
                        ]
                    }
                ]
            }
        ],
        "filter": {
            "minThreshold": 0,
            "minRatingCount": 0,
            "minSurveyCount": 0,
            "minWordCount": 0,
            "days": 365,
            "page": 1,
            "perPage": 20,
            "showComments": true,
            "showRatings": true,
            "configVersion": "v2",
            "period": {
                "to": "2017-06-28T14:41:56Z",
                "from": "2016-05-28T00:00:00Z"
            }
        }
    }
}

JSON Response Parameters

Property Type Description
filter Object The filters applied on the testimonials
entities Array The physician entities for which data is being returned
entities.id String Unique identifier of the entity
entities.Name String The name of the entity
entities.totalRatingCount Integer Total number of survey responses available for primary rating.
entities.totalCommentCount Integer Number of actual comments available for the entity
entities.totalSurveyCount Integer Total number of surveys available for the entity
overallRating.name String Overall Rating name
overallRating.value Decimal Overall rating of the Provider
overallRating.questionRatings Array Individual question level rating which contributed for the overall rating
overallRating.questionRatings.name String Question name contributed for overall rating
overallRating.questionRatings.value Decimal Star rating of the question
overallRating.questionRatings.responseCount Integer No. of responses received for this questiong
ratings Array The ratings for this entity
ratings.name String The name of the rating
ratings.value Decimal The score
ratings.questionRatings Array List of questions used for calculating this rating
ratings.questionRatings.name String Question text
ratings.questionRatings.value Decimal Question rating
ratings.questionRatings.responseCount Integer Total number of responses for this question
comments Array The comments for this entity
comments.id Integer Unique identifier of the Comment
comments.comment String The comment content
comments.overallRating Object Overall rating of the comment
comments.overallRating.name String Overall rating name
comments.overallRating.value Decimal Overall rating of the comment
comments.ratings Array Individual ratings
comments.ratings.name String The name of the rating
comments.ratings.value Decimal Individual question rating
comments.mentionTime Datetime (ISO-8601) The date & time at which this review was mentioned

Star Ratings API (Reviews)

Introduction

The review API is an enhancement to the existing comment API, this API will consider all the rating only documents also, means it will provide ratings for the reviews in which the comments are not approved and published.

Use the Application ID and Application Secret to receive an Access Token to start making server to server API calls. The access token is valid for a limited period of time.

Reviews

Returns a set reviews based on the parameters passed in, for the given physician(s) or location(s).

Reviews for a Single Physician

Endpoint

POST https://api1.consumerism.pressganey.com/api/external/bsr/v2/reviews

Header Parameters

Property Type Description Required/Optional
Content-Type application/json Content in JSON format Required
Access-Token String Access token received from the platform Required

POST Request Parameters

Property Type Description Required/Optional
personId String Unique identifier of a Physician. Can be NPI or a proprietary identifier guaranteed to be unique across all providers Required
perPage Integer The number of reviews per page Optional, default is up to 20
minThreshold String Minimum threshold for the comments Values between 0 and 5 Note: Minimum threshold is compared to the overall rating value associated with the comments Optional, by default threshold is not considered
days Integer Maximum age of the reviews in days. For example, days=7 means reviews from the past 1 week Optional, default is 365 days
minSurveyCount Integer Returns responses only when there are at least as many survey responses as specified in minSurveyCount Optional, default is 0
minRatingCount Integer Returns responses only when there are at least as many ratings as specified in minRatingCount. Optional, default is 0
minWordCount Integer Returns only those reviews, which have minimum number of words in it. Default is 0, meaning, no restriction on word count
showRatings Boolean If you don’t need rating, send this parameter as false Default is true
showReviews Boolean If you don’t need comments, send this parameter as false Default is true
scrollKey String The encrypted key to scroll to the next page, call the API with scroll key to get next page Default is empty

JSON Response

A JSON object containing the latest comments.

{
    "status": {
        "message": "SUCCESS",
        "code": 200
    },
    "data": {
        "client": "Demo",
        "entities": [
            {
                "id": "Demo Provider",
                "name": "Demo Provider Name",
                "totalCommentCount": 5,
                "totalRatingCount": 11,
                "totalSurveyCount": 11,
                "overallRating": {
                    "name": "Overall Satisfaction",
                    "value": 4.7,
                    "categoryResponseCount": 4,
                    "questionRatings": [
                        {
                            "name": "The doctor's interest in, and attention to, my problem?",
                            "value": 4.4,
                            "responseCount": 4
                        },
                        {
                            "name": "The thoroughness of the doctor's examination?",
                            "value": 4.6,
                            "responseCount": 3
                        },
                        {
                            "name": "Overall satisfaction with my doctor this visit?",
                            "value": 5.0,
                            "responseCount": 3
                        },
                        {
                            "name": "The doctor's explanation of my problems(s) and the need for additional tests and treatment?",
                            "value": 5.0,
                            "responseCount": 3
                        }
                    ]
                },
                "reviews": [
                    {
                        "documentId": 3840508,
                        "surveyKey": "42c59691-adfd-44f2-aeff-e91fcb3d040c",
                        "source": "Demo Source",
                        "mentionTime": "2020-11-29T06:13:01Z",
                        "comment": {
                            "commentId": 12552895,
                            "wordCount": 4,
                            "comment": "Great doctor and staff"
                        },
                        "ratings": [
                            {
                                "name": "Scheduling",
                                "value": 3.75
                            }
                        ],
                        "overallRating": {
                            "name": "Overall Satisfaction",
                            "value": 3.75
                        }
                    },
                    {
                        "documentId": 3840516,
                        "surveyKey": "04b47591-db9a-4349-8070-3aa2d0e01a7e",
                        "source": "Demo Source",
                        "mentionTime": "2020-11-18T12:20:08Z",
                        "comment": {
                            "commentId": 12552985,
                            "wordCount": 1,
                            "comment": "excellent"
                        },
                        "ratings": [
                            {
                                "name": "Scheduling",
                                "value": 3.75
                            },
                            {
                                "name": "staff",
                                "value": 3.75
                            },
                            {
                                "name": "Clean",
                                "value": 5.0
                            }
                        ],
                        "overallRating": {
                            "name": "Overall Satisfaction",
                            "value": 4.38
                        }
                    },
                    {
                        "documentId": 3840514,
                        "surveyKey": "3d4c3921-4bb6-4fca-829d-7f9b77082f0d",
                        "source": "Demo Source",
                        "mentionTime": "2020-11-10T12:20:08Z",
                        "comment": {
                            "commentId": 12552921,
                            "wordCount": 1,
                            "comment": "great"
                        },
                        "ratings": [
                            {
                                "name": "Scheduling",
                                "value": 5.0
                            },
                            {
                                "name": "staff",
                                "value": 5.0
                            },
                            {
                                "name": "Clean",
                                "value": 5.0
                            }
                        ],
                        "overallRating": {
                            "name": "Overall Satisfaction",
                            "value": 5.0
                        }
                    },
                    {
                        "documentId": 3807834,
                        "surveyKey": "7c1eceed-398a-4d9f-8455-0e3da1cba124",
                        "source": "Demo Source",
                        "mentionTime": "2020-09-24T13:11:12Z",
                        "comment": {
                            "commentId": 12552785,
                            "wordCount": 7,
                            "comment": "Test web survey on 24th Sep 2020"
                        },
                        "ratings": [
                            {
                                "name": "Scheduling",
                                "value": 5.0
                            },
                            {
                                "name": "staff",
                                "value": 5.0
                            },
                            {
                                "name": "Clean",
                                "value": 5.0
                            }
                        ],
                        "overallRating": {
                            "name": "Overall Satisfaction",
                            "value": 5.0
                        }
                    },
                    {
                        "documentId": 3807834,
                        "surveyKey": "7c1eceed-398a-4d9f-8455-0e3da1cba124",
                        "source": "Demo Source",
                        "mentionTime": "2020-09-24T13:11:12Z",
                        "comment": {
                            "commentId": 12552786,
                            "wordCount": 7,
                            "comment": "Test Web Survey on 24th 09 2020"
                        },
                        "ratings": [
                            {
                                "name": "Scheduling",
                                "value": 5.0
                            },
                            {
                                "name": "staff",
                                "value": 5.0
                            },
                            {
                                "name": "Clean",
                                "value": 5.0
                            }
                        ],
                        "overallRating": {
                            "name": "Overall Satisfaction",
                            "value": 5.0
                        }
                    }
                ],
                "ratings": [
                    {
                        "name": "Scheduling",
                        "value": 4.4,
                        "categoryResponseCount": 4,
                        "questionRatings": [
                            {
                                "name": "The doctor's interest in, and attention to, my problem?",
                                "value": 4.4,
                                "responseCount": 4
                            }
                        ]
                    },
                    {
                        "name": "staff",
                        "value": 4.6,
                        "categoryResponseCount": 3,
                        "questionRatings": [
                            {
                                "name": "The thoroughness of the doctor's examination?",
                                "value": 4.6,
                                "responseCount": 3
                            }
                        ]
                    },
                    {
                        "name": "Clean",
                        "value": 5.0,
                        "categoryResponseCount": 3,
                        "questionRatings": [
                            {
                                "name": "The doctor's explanation of my problems(s) and the need for additional tests and treatment?",
                                "value": 5.0,
                                "responseCount": 3
                            }
                        ]
                    }
                ]
            }
        ],
        "filter": {
            "clientId": "Demo",
            "entityId": 580714,
            "scrollKey": "6bd9041e37b675273ff3da2de6cb2c10c4e7703a30f084b78d07d9bc0b6720a0",
            "person": true,
            "reqFromDate": null,
            "reqToDate": null,
            "days": 365,
            "minThreshold": 0.0,
            "minRatingCount": 0,
            "minSurveyCount": 0,
            "minWordCount": 0,
            "showComments": true,
            "showRatings": true,
            "showToneCategory": false,
            "showVarName": false,
            "pgVendor": false,
            "page": 0,
            "perPage": 20,
            "startPageIndex": -1,
            "configVersion": "v2",
            "sourceProductId": 1
        }
    }
}

JSON Response Tags

Property Type Description
filter Object The filters applied on the testimonials
entities Array The physician entities for which data is being returned
entities.id String Unique identifier of the entity
entities.Name String The name of the entity
entities.totalRatingCount Integer Total number of survey responses available for primary rating.
entities.totalCommentCount Integer Number of actual comments available for the entity
entities.totalSurveyCount Integer Total number of surveys available for the entity
overallRating.name String Overall Rating name
overallRating.value Decimal Overall rating of the Provider
overallRating.questionRatings Array Individual question level rating which contributed for the overall rating
overallRating.questionRatings.name String Question name contributed for overall rating
overallRating.questionRatings.value Decimal Star rating of the question
overallRating.questionRatings.responseCount Integer No. of responses received for this questiong
ratings Array The ratings for this entity
ratings.name String The name of the rating
ratings.value Decimal The score
ratings.questionRatings Array List of questions used for calculating this rating
ratings.questionRatings.name String Question text
ratings.questionRatings.value Decimal Question rating
ratings.questionRatings.responseCount Integer Total number of responses for this question
reviews Array The reviews for this entity
reviews.documentId Integer Unique identifier of the review
reviews.surveyKey String The sessionkey for the review
reviews.source String The source for the review
reviews.mentionTime Datetime (ISO-8601) The date & time at which this review was mentioned
reviews.overallRating Object Overall rating of the comment
reviews.overallRating.name String Overall rating name
reviews.overallRating.value Decimal Overall rating of the comment
reviews.ratings Array Individual ratings
reviews.ratings.name String The name of the rating
reviews.ratings.value Decimal Individual question rating
reviews.comment Object Comment of the review
reviews.comment.commentId Integer Unique identified for the comment
reviews.comment.wordCount Integer Number of words in the comment
reviews.comment.comment String The comment content

Reviews for a Single Location

POST https://api1.consumerism.pressganey.com/api/external/bsr/v2/reviews

Header Parameters

Property Type Description Required/Optional
Content-Type application/json Content in JSON format Required
Access-Token String Access token received from the platform Required

POST Request Parameters

Property Type Description Required/Optional
locationId String Unique identifier of a Location. You can get this identifier in mapping file Required
perPage Integer The number of reviews per page Optional, default is up to 20
minThreshold String Minimum threshold for the comments Values between 0 and 5 Note: Minimum threshold is compared to the overall rating value associated with the comments Optional, by default threshold is not considered
days Integer Maximum age of the reviews in days. For example, days=7 means reviews from the past 1 week Optional, default is 365 days
minSurveyCount Integer Returns responses only when there are at least as many survey responses as specified in minSurveyCount Optional, default is 0
minRatingCount Integer Returns responses only when there are at least as many ratings as specified in minRatingCount. Optional, default is 0
minWordCount Integer Returns only those reviews, which have minimum number of words in it. Default is 0, meaning, no restriction on word count
showRatings Boolean If you don’t need rating, send this parameter as false Default is true
showReviews Boolean If you don’t need comments, send this parameter as false Default is true
scrollKey String The encrypted key to scroll to the next page, call the API with scroll key to get next page Default is empty

JSON Response

A JSON object containing the latest comments.

{
    "status": {
        "message": "SUCCESS",
        "code": 200
    },
    "data": {
        "client": "Demo",
        "entities": [
            {
                "id": "Demo Location",
                "name": "Demo Location Name",
                "totalCommentCount": 5,
                "totalRatingCount": 11,
                "totalSurveyCount": 11,
                "overallRating": {
                    "name": "Overall Satisfaction",
                    "value": 4.7,
                    "categoryResponseCount": 4,
                    "questionRatings": [
                        {
                            "name": "The doctor's interest in, and attention to, my problem?",
                            "value": 4.4,
                            "responseCount": 4
                        },
                        {
                            "name": "The thoroughness of the doctor's examination?",
                            "value": 4.6,
                            "responseCount": 3
                        },
                        {
                            "name": "Overall satisfaction with my doctor this visit?",
                            "value": 5.0,
                            "responseCount": 3
                        },
                        {
                            "name": "The doctor's explanation of my problems(s) and the need for additional tests and treatment?",
                            "value": 5.0,
                            "responseCount": 3
                        }
                    ]
                },
                "reviews": [
                    {
                        "documentId": 3840508,
                        "surveyKey": "42c59691-adfd-44f2-aeff-e91fcb3d040c",
                        "source": "Demo Source",
                        "mentionTime": "2020-11-29T06:13:01Z",
                        "comment": {
                            "commentId": 12552895,
                            "wordCount": 4,
                            "comment": "Great doctor and staff"
                        },
                        "ratings": [
                            {
                                "name": "Scheduling",
                                "value": 3.75
                            }
                        ],
                        "overallRating": {
                            "name": "Overall Satisfaction",
                            "value": 3.75
                        }
                    },
                    {
                        "documentId": 3840516,
                        "surveyKey": "04b47591-db9a-4349-8070-3aa2d0e01a7e",
                        "source": "Demo Source",
                        "mentionTime": "2020-11-18T12:20:08Z",
                        "comment": {
                            "commentId": 12552985,
                            "wordCount": 1,
                            "comment": "excellent"
                        },
                        "ratings": [
                            {
                                "name": "Scheduling",
                                "value": 3.75
                            },
                            {
                                "name": "staff",
                                "value": 3.75
                            },
                            {
                                "name": "Clean",
                                "value": 5.0
                            }
                        ],
                        "overallRating": {
                            "name": "Overall Satisfaction",
                            "value": 4.38
                        }
                    },
                    {
                        "documentId": 3840514,
                        "surveyKey": "3d4c3921-4bb6-4fca-829d-7f9b77082f0d",
                        "source": "Demo Source",
                        "mentionTime": "2020-11-10T12:20:08Z",
                        "comment": {
                            "commentId": 12552921,
                            "wordCount": 1,
                            "comment": "great"
                        },
                        "ratings": [
                            {
                                "name": "Scheduling",
                                "value": 5.0
                            },
                            {
                                "name": "staff",
                                "value": 5.0
                            },
                            {
                                "name": "Clean",
                                "value": 5.0
                            }
                        ],
                        "overallRating": {
                            "name": "Overall Satisfaction",
                            "value": 5.0
                        }
                    },
                    {
                        "documentId": 3807834,
                        "surveyKey": "7c1eceed-398a-4d9f-8455-0e3da1cba124",
                        "source": "Demo Source",
                        "mentionTime": "2020-09-24T13:11:12Z",
                        "comment": {
                            "commentId": 12552785,
                            "wordCount": 7,
                            "comment": "Test web survey on 24th Sep 2020"
                        },
                        "ratings": [
                            {
                                "name": "Scheduling",
                                "value": 5.0
                            },
                            {
                                "name": "staff",
                                "value": 5.0
                            },
                            {
                                "name": "Clean",
                                "value": 5.0
                            }
                        ],
                        "overallRating": {
                            "name": "Overall Satisfaction",
                            "value": 5.0
                        }
                    },
                    {
                        "documentId": 3807834,
                        "surveyKey": "7c1eceed-398a-4d9f-8455-0e3da1cba124",
                        "source": "Demo Source",
                        "mentionTime": "2020-09-24T13:11:12Z",
                        "comment": {
                            "commentId": 12552786,
                            "wordCount": 7,
                            "comment": "Test Web Survey on 24th 09 2020"
                        },
                        "ratings": [
                            {
                                "name": "Scheduling",
                                "value": 5.0
                            },
                            {
                                "name": "staff",
                                "value": 5.0
                            },
                            {
                                "name": "Clean",
                                "value": 5.0
                            }
                        ],
                        "overallRating": {
                            "name": "Overall Satisfaction",
                            "value": 5.0
                        }
                    }
                ],
                "ratings": [
                    {
                        "name": "Scheduling",
                        "value": 4.4,
                        "categoryResponseCount": 4,
                        "questionRatings": [
                            {
                                "name": "The doctor's interest in, and attention to, my problem?",
                                "value": 4.4,
                                "responseCount": 4
                            }
                        ]
                    },
                    {
                        "name": "staff",
                        "value": 4.6,
                        "categoryResponseCount": 3,
                        "questionRatings": [
                            {
                                "name": "The thoroughness of the doctor's examination?",
                                "value": 4.6,
                                "responseCount": 3
                            }
                        ]
                    },
                    {
                        "name": "Clean",
                        "value": 5.0,
                        "categoryResponseCount": 3,
                        "questionRatings": [
                            {
                                "name": "The doctor's explanation of my problems(s) and the need for additional tests and treatment?",
                                "value": 5.0,
                                "responseCount": 3
                            }
                        ]
                    }
                ]
            }
        ],
        "filter": {
            "clientId": "Demo",
            "entityId": 580714,
            "scrollKey": "6bd9041e37b675273ff3da2de6cb2c10c4e7703a30f084b78d07d9bc0b6720a0",
            "person": true,
            "reqFromDate": null,
            "reqToDate": null,
            "days": 365,
            "minThreshold": 0.0,
            "minRatingCount": 0,
            "minSurveyCount": 0,
            "minWordCount": 0,
            "showComments": true,
            "showRatings": true,
            "showToneCategory": false,
            "showVarName": false,
            "pgVendor": false,
            "page": 0,
            "perPage": 20,
            "startPageIndex": -1,
            "configVersion": "v2",
            "sourceProductId": 1
        }
    }
}

JSON Response Tags

Property Type Description
filter Object The filters applied on the testimonials
entities Array The physician entities for which data is being returned
entities.id String Unique identifier of the entity
entities.Name String The name of the entity
entities.totalRatingCount Integer Total number of survey responses available for primary rating.
entities.totalCommentCount Integer Number of actual comments available for the entity
entities.totalSurveyCount Integer Total number of surveys available for the entity
overallRating.name String Overall Rating name
overallRating.value Decimal Overall rating of the Provider
overallRating.questionRatings Array Individual question level rating which contributed for the overall rating
overallRating.questionRatings.name String Question name contributed for overall rating
overallRating.questionRatings.value Decimal Star rating of the question
overallRating.questionRatings.responseCount Integer No. of responses received for this questiong
ratings Array The ratings for this entity
ratings.name String The name of the rating
ratings.value Decimal The score
ratings.questionRatings Array List of questions used for calculating this rating
ratings.questionRatings.name String Question text
ratings.questionRatings.value Decimal Question rating
ratings.questionRatings.responseCount Integer Total number of responses for this question
reviews Array The reviews for this entity
reviews.documentId Integer Unique identifier of the review
reviews.surveyKey String The sessionkey for the review
reviews.source String The source for the review
reviews.mentionTime Datetime (ISO-8601) The date & time at which this review was mentioned
reviews.overallRating Object Overall rating of the comment
reviews.overallRating.name String Overall rating name
reviews.overallRating.value Decimal Overall rating of the comment
reviews.ratings Array Individual ratings
reviews.ratings.name String The name of the rating
reviews.ratings.value Decimal Individual question rating
reviews.comment Object Comment of the review
reviews.comment.commentId Integer Unique identified for the comment
reviews.comment.wordCount Integer Number of words in the comment
reviews.comment.comment String The comment content

Reviews for Roll Up Scores for a Physician or Location

Endpoint

POST https://api1.consumerism.pressganey.com/api/external/bsr/v2/reviews

Header Parameters

Property Type Description Required/Optional
Content-Type application/json Content in JSON format Required
Access-Token String Access token received from the platform Required

POST Request Parameters

Property Type Description Required/Optional
entityId String Unique identifier for Physician / Location. You can get this identifier in mapping file or Transparency application Required
perPage Integer The number of reviews per page Optional, default is up to 20
minThreshold String Minimum threshold for the comments Values between 0 and 5 Note: Minimum threshold is compared to the overall rating value associated with the comments Optional, by default threshold is not considered
days Integer Maximum age of the reviews in days. For example, days=7 means reviews from the past 1 week Optional, default is 365 days
minSurveyCount Integer Returns responses only when there are at least as many survey responses as specified in minSurveyCount Optional, default is 0
minRatingCount Integer Returns responses only when there are at least as many ratings as specified in minRatingCount. Optional, default is 0
minWordCount Integer Returns only those reviews, which have minimum number of words in it. Default is 0, meaning, no restriction on word count
showRatings Boolean If you don’t need rating, send this parameter as false Default is true
showReviews Boolean If you don’t need comments, send this parameter as false Default is true
scrollKey String The encrypted key to scroll to the next page, call the API with scroll key to get next page Default is empty

JSON Response

A JSON object containing the latest comments.

{
    "status": {
        "message": "SUCCESS",
        "code": 200
    },
    "data": {
        "client": "Demo",
        "entities": [
            {
                "id": "Demo Location",
                "name": "Demo Location Name",
                "totalCommentCount": 5,
                "totalRatingCount": 11,
                "totalSurveyCount": 11,
                "overallRating": {
                    "name": "Overall Satisfaction",
                    "value": 4.7,
                    "categoryResponseCount": 4,
                    "questionRatings": [
                        {
                            "name": "The doctor's interest in, and attention to, my problem?",
                            "value": 4.4,
                            "responseCount": 4
                        },
                        {
                            "name": "The thoroughness of the doctor's examination?",
                            "value": 4.6,
                            "responseCount": 3
                        },
                        {
                            "name": "Overall satisfaction with my doctor this visit?",
                            "value": 5.0,
                            "responseCount": 3
                        },
                        {
                            "name": "The doctor's explanation of my problems(s) and the need for additional tests and treatment?",
                            "value": 5.0,
                            "responseCount": 3
                        }
                    ]
                },
                "reviews": [
                    {
                        "documentId": 3840508,
                        "surveyKey": "42c59691-adfd-44f2-aeff-e91fcb3d040c",
                        "source": "Demo Source",
                        "mentionTime": "2020-11-29T06:13:01Z",
                        "comment": {
                            "commentId": 12552895,
                            "wordCount": 4,
                            "comment": "Great doctor and staff"
                        },
                        "ratings": [
                            {
                                "name": "Scheduling",
                                "value": 3.75
                            }
                        ],
                        "overallRating": {
                            "name": "Overall Satisfaction",
                            "value": 3.75
                        }
                    },
                    {
                        "documentId": 3840516,
                        "surveyKey": "04b47591-db9a-4349-8070-3aa2d0e01a7e",
                        "source": "Demo Source",
                        "mentionTime": "2020-11-18T12:20:08Z",
                        "comment": {
                            "commentId": 12552985,
                            "wordCount": 1,
                            "comment": "excellent"
                        },
                        "ratings": [
                            {
                                "name": "Scheduling",
                                "value": 3.75
                            },
                            {
                                "name": "staff",
                                "value": 3.75
                            },
                            {
                                "name": "Clean",
                                "value": 5.0
                            }
                        ],
                        "overallRating": {
                            "name": "Overall Satisfaction",
                            "value": 4.38
                        }
                    },
                    {
                        "documentId": 3840514,
                        "surveyKey": "3d4c3921-4bb6-4fca-829d-7f9b77082f0d",
                        "source": "Demo Source",
                        "mentionTime": "2020-11-10T12:20:08Z",
                        "comment": {
                            "commentId": 12552921,
                            "wordCount": 1,
                            "comment": "great"
                        },
                        "ratings": [
                            {
                                "name": "Scheduling",
                                "value": 5.0
                            },
                            {
                                "name": "staff",
                                "value": 5.0
                            },
                            {
                                "name": "Clean",
                                "value": 5.0
                            }
                        ],
                        "overallRating": {
                            "name": "Overall Satisfaction",
                            "value": 5.0
                        }
                    },
                    {
                        "documentId": 3807834,
                        "surveyKey": "7c1eceed-398a-4d9f-8455-0e3da1cba124",
                        "source": "Demo Source",
                        "mentionTime": "2020-09-24T13:11:12Z",
                        "comment": {
                            "commentId": 12552785,
                            "wordCount": 7,
                            "comment": "Test web survey on 24th Sep 2020"
                        },
                        "ratings": [
                            {
                                "name": "Scheduling",
                                "value": 5.0
                            },
                            {
                                "name": "staff",
                                "value": 5.0
                            },
                            {
                                "name": "Clean",
                                "value": 5.0
                            }
                        ],
                        "overallRating": {
                            "name": "Overall Satisfaction",
                            "value": 5.0
                        }
                    },
                    {
                        "documentId": 3807834,
                        "surveyKey": "7c1eceed-398a-4d9f-8455-0e3da1cba124",
                        "source": "Demo Source",
                        "mentionTime": "2020-09-24T13:11:12Z",
                        "comment": {
                            "commentId": 12552786,
                            "wordCount": 7,
                            "comment": "Test Web Survey on 24th 09 2020"
                        },
                        "ratings": [
                            {
                                "name": "Scheduling",
                                "value": 5.0
                            },
                            {
                                "name": "staff",
                                "value": 5.0
                            },
                            {
                                "name": "Clean",
                                "value": 5.0
                            }
                        ],
                        "overallRating": {
                            "name": "Overall Satisfaction",
                            "value": 5.0
                        }
                    }
                ],
                "ratings": [
                    {
                        "name": "Scheduling",
                        "value": 4.4,
                        "categoryResponseCount": 4,
                        "questionRatings": [
                            {
                                "name": "The doctor's interest in, and attention to, my problem?",
                                "value": 4.4,
                                "responseCount": 4
                            }
                        ]
                    },
                    {
                        "name": "staff",
                        "value": 4.6,
                        "categoryResponseCount": 3,
                        "questionRatings": [
                            {
                                "name": "The thoroughness of the doctor's examination?",
                                "value": 4.6,
                                "responseCount": 3
                            }
                        ]
                    },
                    {
                        "name": "Clean",
                        "value": 5.0,
                        "categoryResponseCount": 3,
                        "questionRatings": [
                            {
                                "name": "The doctor's explanation of my problems(s) and the need for additional tests and treatment?",
                                "value": 5.0,
                                "responseCount": 3
                            }
                        ]
                    }
                ]
            }
        ],
        "filter": {
            "clientId": "Demo",
            "entityId": 580714,
            "scrollKey": "6bd9041e37b675273ff3da2de6cb2c10c4e7703a30f084b78d07d9bc0b6720a0",
            "person": true,
            "reqFromDate": null,
            "reqToDate": null,
            "days": 365,
            "minThreshold": 0.0,
            "minRatingCount": 0,
            "minSurveyCount": 0,
            "minWordCount": 0,
            "showComments": true,
            "showRatings": true,
            "showToneCategory": false,
            "showVarName": false,
            "pgVendor": false,
            "page": 0,
            "perPage": 20,
            "startPageIndex": -1,
            "configVersion": "v2",
            "sourceProductId": 1
        }
    }
}

JSON Response Tags

Property Type Description
filter Object The filters applied on the testimonials
entities Array The physician entities for which data is being returned
entities.id String Unique identifier of the entity
entities.Name String The name of the entity
entities.totalRatingCount Integer Total number of survey responses available for primary rating.
entities.totalCommentCount Integer Number of actual comments available for the entity
entities.totalSurveyCount Integer Total number of surveys available for the entity
overallRating.name String Overall Rating name
overallRating.value Decimal Overall rating of the Provider
overallRating.questionRatings Array Individual question level rating which contributed for the overall rating
overallRating.questionRatings.name String Question name contributed for overall rating
overallRating.questionRatings.value Decimal Star rating of the question
overallRating.questionRatings.responseCount Integer No. of responses received for this questiong
ratings Array The ratings for this entity
ratings.name String The name of the rating
ratings.value Decimal The score
ratings.questionRatings Array List of questions used for calculating this rating
ratings.questionRatings.name String Question text
ratings.questionRatings.value Decimal Question rating
ratings.questionRatings.responseCount Integer Total number of responses for this question
reviews Array The reviews for this entity
reviews.documentId Integer Unique identifier of the review
reviews.surveyKey String The sessionkey for the review
reviews.source String The source for the review
reviews.mentionTime Datetime (ISO-8601) The date & time at which this review was mentioned
reviews.overallRating Object Overall rating of the comment
reviews.overallRating.name String Overall rating name
reviews.overallRating.value Decimal Overall rating of the comment
reviews.ratings Array Individual ratings
reviews.ratings.name String The name of the rating
reviews.ratings.value Decimal Individual question rating
reviews.comment Object Comment of the review
reviews.comment.commentId Integer Unique identified for the comment
reviews.comment.wordCount Integer Number of words in the comment
reviews.comment.comment String The comment content

Reviews for Roll Up Scores for a Physician or Location

Endpoint

POST https://api1.consumerism.pressganey.com/api/external/bsr/v2/reviews

Header Parameters

Property Type Description Required/Optional
Content-Type application/json Content in JSON format Required
Access-Token String Access token received from the platform Required

POST Request Parameters

Property Type Description Required/Optional
entityId String Unique identifier for Physician / Location. You can get this identifier in mapping file or Transparency application Required
perPage Integer The number of reviews per page Optional, default is up to 20
minThreshold String Minimum threshold for the comments Values between 0 and 5 Note: Minimum threshold is compared to the overall rating value associated with the comments Optional, by default threshold is not considered
days Integer Maximum age of the reviews in days. For example, days=7 means reviews from the past 1 week Optional, default is 365 days
minSurveyCount Integer Returns responses only when there are at least as many survey responses as specified in minSurveyCount Optional, default is 0
minRatingCount Integer Returns responses only when there are at least as many ratings as specified in minRatingCount. Optional, default is 0
minWordCount Integer Returns only those reviews, which have minimum number of words in it. Default is 0, meaning, no restriction on word count
showRatings Boolean If you don’t need rating, send this parameter as false Default is true
showReviews Boolean If you don’t need comments, send this parameter as false Default is true
scrollKey String The encrypted key to scroll to the next page, call the API with scroll key to get next page Default is empty

JSON Response

A JSON object containing the latest comments.

{
    "status": {
        "message": "SUCCESS",
        "code": 200
    },
    "data": {
        "client": "Demo",
        "entities": [
            {
                "id": "Demo Location",
                "name": "Demo Location Name",
                "totalCommentCount": 5,
                "totalRatingCount": 11,
                "totalSurveyCount": 11,
                "overallRating": {
                    "name": "Overall Satisfaction",
                    "value": 4.7,
                    "categoryResponseCount": 4,
                    "questionRatings": [
                        {
                            "name": "The doctor's interest in, and attention to, my problem?",
                            "value": 4.4,
                            "responseCount": 4
                        },
                        {
                            "name": "The thoroughness of the doctor's examination?",
                            "value": 4.6,
                            "responseCount": 3
                        },
                        {
                            "name": "Overall satisfaction with my doctor this visit?",
                            "value": 5.0,
                            "responseCount": 3
                        },
                        {
                            "name": "The doctor's explanation of my problems(s) and the need for additional tests and treatment?",
                            "value": 5.0,
                            "responseCount": 3
                        }
                    ]
                },
                "reviews": [
                    {
                        "documentId": 3840508,
                        "surveyKey": "42c59691-adfd-44f2-aeff-e91fcb3d040c",
                        "source": "Demo Source",
                        "mentionTime": "2020-11-29T06:13:01Z",
                        "comment": {
                            "commentId": 12552895,
                            "wordCount": 4,
                            "comment": "Great doctor and staff"
                        },
                        "ratings": [
                            {
                                "name": "Scheduling",
                                "value": 3.75
                            }
                        ],
                        "overallRating": {
                            "name": "Overall Satisfaction",
                            "value": 3.75
                        }
                    },
                    {
                        "documentId": 3840516,
                        "surveyKey": "04b47591-db9a-4349-8070-3aa2d0e01a7e",
                        "source": "Demo Source",
                        "mentionTime": "2020-11-18T12:20:08Z",
                        "comment": {
                            "commentId": 12552985,
                            "wordCount": 1,
                            "comment": "excellent"
                        },
                        "ratings": [
                            {
                                "name": "Scheduling",
                                "value": 3.75
                            },
                            {
                                "name": "staff",
                                "value": 3.75
                            },
                            {
                                "name": "Clean",
                                "value": 5.0
                            }
                        ],
                        "overallRating": {
                            "name": "Overall Satisfaction",
                            "value": 4.38
                        }
                    },
                    {
                        "documentId": 3840514,
                        "surveyKey": "3d4c3921-4bb6-4fca-829d-7f9b77082f0d",
                        "source": "Demo Source",
                        "mentionTime": "2020-11-10T12:20:08Z",
                        "comment": {
                            "commentId": 12552921,
                            "wordCount": 1,
                            "comment": "great"
                        },
                        "ratings": [
                            {
                                "name": "Scheduling",
                                "value": 5.0
                            },
                            {
                                "name": "staff",
                                "value": 5.0
                            },
                            {
                                "name": "Clean",
                                "value": 5.0
                            }
                        ],
                        "overallRating": {
                            "name": "Overall Satisfaction",
                            "value": 5.0
                        }
                    },
                    {
                        "documentId": 3807834,
                        "surveyKey": "7c1eceed-398a-4d9f-8455-0e3da1cba124",
                        "source": "Demo Source",
                        "mentionTime": "2020-09-24T13:11:12Z",
                        "comment": {
                            "commentId": 12552785,
                            "wordCount": 7,
                            "comment": "Test web survey on 24th Sep 2020"
                        },
                        "ratings": [
                            {
                                "name": "Scheduling",
                                "value": 5.0
                            },
                            {
                                "name": "staff",
                                "value": 5.0
                            },
                            {
                                "name": "Clean",
                                "value": 5.0
                            }
                        ],
                        "overallRating": {
                            "name": "Overall Satisfaction",
                            "value": 5.0
                        }
                    },
                    {
                        "documentId": 3807834,
                        "surveyKey": "7c1eceed-398a-4d9f-8455-0e3da1cba124",
                        "source": "Demo Source",
                        "mentionTime": "2020-09-24T13:11:12Z",
                        "comment": {
                            "commentId": 12552786,
                            "wordCount": 7,
                            "comment": "Test Web Survey on 24th 09 2020"
                        },
                        "ratings": [
                            {
                                "name": "Scheduling",
                                "value": 5.0
                            },
                            {
                                "name": "staff",
                                "value": 5.0
                            },
                            {
                                "name": "Clean",
                                "value": 5.0
                            }
                        ],
                        "overallRating": {
                            "name": "Overall Satisfaction",
                            "value": 5.0
                        }
                    }
                ],
                "ratings": [
                    {
                        "name": "Scheduling",
                        "value": 4.4,
                        "categoryResponseCount": 4,
                        "questionRatings": [
                            {
                                "name": "The doctor's interest in, and attention to, my problem?",
                                "value": 4.4,
                                "responseCount": 4
                            }
                        ]
                    },
                    {
                        "name": "staff",
                        "value": 4.6,
                        "categoryResponseCount": 3,
                        "questionRatings": [
                            {
                                "name": "The thoroughness of the doctor's examination?",
                                "value": 4.6,
                                "responseCount": 3
                            }
                        ]
                    },
                    {
                        "name": "Clean",
                        "value": 5.0,
                        "categoryResponseCount": 3,
                        "questionRatings": [
                            {
                                "name": "The doctor's explanation of my problems(s) and the need for additional tests and treatment?",
                                "value": 5.0,
                                "responseCount": 3
                            }
                        ]
                    }
                ]
            }
        ],
        "filter": {
            "clientId": "Demo",
            "entityId": 580714,
            "scrollKey": "6bd9041e37b675273ff3da2de6cb2c10c4e7703a30f084b78d07d9bc0b6720a0",
            "person": true,
            "reqFromDate": null,
            "reqToDate": null,
            "days": 365,
            "minThreshold": 0.0,
            "minRatingCount": 0,
            "minSurveyCount": 0,
            "minWordCount": 0,
            "showComments": true,
            "showRatings": true,
            "showToneCategory": false,
            "showVarName": false,
            "pgVendor": false,
            "page": 0,
            "perPage": 20,
            "startPageIndex": -1,
            "configVersion": "v2",
            "sourceProductId": 1
        }
    }
}

JSON Response Tags

Property Type Description
filter Object The filters applied on the testimonials
entities Array The physician entities for which data is being returned
entities.id String Unique identifier of the entity
entities.Name String The name of the entity
entities.totalRatingCount Integer Total number of survey responses available for primary rating.
entities.totalCommentCount Integer Number of actual comments available for the entity
entities.totalSurveyCount Integer Total number of surveys available for the entity
overallRating.name String Overall Rating name
overallRating.value Decimal Overall rating of the Provider
overallRating.questionRatings Array Individual question level rating which contributed for the overall rating
overallRating.questionRatings.name String Question name contributed for overall rating
overallRating.questionRatings.value Decimal Star rating of the question
overallRating.questionRatings.responseCount Integer No. of responses received for this questiong
ratings Array The ratings for this entity
ratings.name String The name of the rating
ratings.value Decimal The score
ratings.questionRatings Array List of questions used for calculating this rating
ratings.questionRatings.name String Question text
ratings.questionRatings.value Decimal Question rating
ratings.questionRatings.responseCount Integer Total number of responses for this question
reviews Array The reviews for this entity
reviews.documentId Integer Unique identifier of the review
reviews.surveyKey String The sessionkey for the review
reviews.source String The source for the review
reviews.mentionTime Datetime (ISO-8601) The date & time at which this review was mentioned
reviews.overallRating Object Overall rating of the comment
reviews.overallRating.name String Overall rating name
reviews.overallRating.value Decimal Overall rating of the comment
reviews.ratings Array Individual ratings
reviews.ratings.name String The name of the rating
reviews.ratings.value Decimal Individual question rating
reviews.comment Object Comment of the review
reviews.comment.commentId Integer Unique identified for the comment
reviews.comment.wordCount Integer Number of words in the comment
reviews.comment.comment String The comment content

Error Response

Code Error Message Description
401 - Unauthorized Access Token is either Invalid or Expired! If the provided Access-Token is not a valid or expired
400 - Bad Request Invalid client from token If the client from provided Access-Token is not a valid one
400 - Bad Request location/provider/entity expected If not provided the personId,locationId or entityId.
400 - Bad Request fromDate and toDate are not parsable If the provided fromDate and toDate is not in yyyy-MM-dd’T'HH:mm:ss'Z’ format
400 - Bad Request fromDate is not parsable If the provided fromDate not in yyyy-MM-dd’T'HH:mm:ss'Z’ format
400 - Bad Request toDate is not parsable If the provided toDate not in yyyy-MM-dd’T'HH:mm:ss'Z’ format

JS widgets

Introduction

We are supporting JS widgets of two different types named Inbound widget and outbound widget. Inbound widget is mainly to define the Survey clients wants to display in their websites. Once the person clicks on Save Draft/Save button from the screen, we need to create survey and its questions/update questions. Outbound widget is generally used to display the reviews that belongs to particular provider/locations. These widgets are created when you have an Inbound widget tied upto the same application. Here, you will have the option to select any questions we have created in the Inbound survey configuration.

JS code Snippet

Inbound

Make sure to add the below html code snippet in to your webpage.

<link href="https://cdn.binaryfountain.com/js-widgets/js-widgets.css" rel="stylesheet"/>
<script type="module" src="https://cdn.binaryfountain.com/js-widgets/js-widgets.esm.js"></script>
<script nomodule src="https://cdn.binaryfountain.com/js-widgets/js-widgets.js"></script>
<script>
(function (e, a, p, l, t) {
var container = document.querySelector(e);
if (!container) throw 'The element could not be found.';
var widgets = document.createElement('bf-widgets');
widgets.setAttribute('app-id', a);
widgets.setAttribute('person-id', p);
widgets.setAttribute('location-id', l);
widgets.setAttribute('type', t);
container.appendChild(widgets);
})('.container','000000000011111',PERSON_CODE,LOCATION_CODE,'inbound');
</script>

Make sure to add the below html code, it uses as the container

<div class="container"></div>

Inbound (Generic)

Inbound (Individual)

Outbound

Make sure to add the below html code snippet in to your webpage.

<link href="https://cdn.binaryfountain.com/js-widgets/js-widgets.css" rel="stylesheet"/>
<script type="module" src="https://cdn.binaryfountain.com/js-widgets/js-widgets.esm.js"></script>
<script nomodule src="https://cdn.binaryfountain.com/js-widgets/js-widgets.js"></script>
<script>
(function (e, a, p, l, t) {
var container = document.querySelector(e);
if (!container) throw 'The element could not be found.';
var widgets = document.createElement('bf-widgets');
widgets.setAttribute('app-id', a);
widgets.setAttribute('person-id', p);
widgets.setAttribute('location-id', l);
widgets.setAttribute('type', t);
container.appendChild(widgets);
})('.container','000000000011111',PERSON_CODE,LOCATION_CODE,'outbound');
</script>

Make sure to add the below html code, it uses as the container

<div class="container"></div>

Outbound (Generic)

Outbound (Individual)

Both

Make sure to add the below html code snippet in to your webpage.

<link href="https://cdn.binaryfountain.com/js-widgets/js-widgets.css" rel="stylesheet"/>
<script type="module" src="https://cdn.binaryfountain.com/js-widgets/js-widgets.esm.js"></script>
<script nomodule src="https://cdn.binaryfountain.com/js-widgets/js-widgets.js"></script>
<script>
(function (e, a, p, l, t) {
var container = document.querySelector(e);
if (!container) throw 'The element could not be found.';
var widgets = document.createElement('bf-widgets');
widgets.setAttribute('app-id', a);
widgets.setAttribute('person-id', p);
widgets.setAttribute('location-id', l);
widgets.setAttribute('type', t);
container.appendChild(widgets);
})('.container','000000000011111',PERSON_CODE,LOCATION_CODE,'both');
</script>

Make sure to add the below html code, it uses as the container

<div class="container"></div>

Both (Generic)

Both (Individual)

Events

We can use the following code to catch the events in success/failure cases. bfReviewSubmitSuccess used in the case of survey submission passed and bfReviewSubmitFailure used when survey submission is failed.

<script>
    document.addEventListener('DOMContentLoaded', function (event) {
        var widgets = document.querySelector('bf-widgets');
        widgets.addEventListener('bfReviewSubmitSuccess', function (event) {
            //
        });
        widgets.addEventListener('bfReviewSubmitFailure', function (event) {
            //
        });
    });
</script>

React

Installation

  1. Create a .npmrc file where your package.json lives (normally at the root of the repository)
  2. Add the following line to the .npmrc file
  3. Install the package

For more info, please refer the following URL,

https://docs.github.com/en/free-pro-team@latest/packages/publishing-and-managing-packages/installing-a-package

Usage

Import and use the base BfWidgets component

import React from 'react';
import { BfWidgets } from '@binaryfountain/js-widgets-react'; // Widgets base component

function MyComponent(props) {
  return (
    <div class="container">
      <BfWidgets
        type="both"
        appId="APP_ID"
        personId="PERSON_ID"
        locationId="LOCATION_ID"
      />
    </div>
  );
}

Props

Property Type Default Required
type “both” or “inbound” or “outbound” “both” true
appId String true
locationId string or null null false *
personId string or null null false *

*At least one needs to be provided

Make sure to add the stylesheet as well

// ...
import { BfWidgets } from '@binaryfountain/js-widgets-react';
import '@binaryfountain/js-widgets/dist/js-widgets/js-widgets.css'; // Widgets styles
// ...

Or in your index.html

<head>
  <!-- ... -->
  <link
    rel="stylesheet"
    href="https://cdn.binaryfountain.com/js-widgets/js-widgets.css"
  />
  <!-- ... -->
</head>

Angular

Installation

  1. Create a .npmrc file where your package.json lives (normally at the root of the repository)
  2. Add the following line to the .npmrc file
  3. Install the package

Usage

Import the library module

// app.module.ts
import { ComponentLibraryModule } from '@binaryfountain/js-widgets-angular';

@NgModule({
  // ...
  imports: [ComponentLibraryModule],
  // ...
})
export class AppModule {}

use the base of bf-widgets component

<!-- app.component.html -->
<div class="container">
  <bf-widgets
    type="both"
    app-id="APP_ID"
    location-id="LOCATION_ID"
    person-id="PERSON_ID"
  ></bf-widgets>
</div>

Props

Property Type Default Required
type “both” or “inbound” or “outbound” “both” true
appId String true
location-id string or null null false *
person-id string or null null false *

*At least one needs to be provided

Make sure to add the stylesheet as well, for example in angular.json

{
  "styles": [
    "src/styles.css",
    "node_modules/@binaryfountain/js-widgets/dist/js-widgets/js-widgets.css"
  ]
}

Or in your index.html

<head>
  <!-- ... -->
  <link
    rel="stylesheet"
    href="https://cdn.binaryfountain.com/js-widgets/js-widgets.css"
  />
  <!-- ... -->
</head>

Vue

Installation

  1. Create a .npmrc file where your package.json lives (normally at the root of the repository)
  2. Add the following line to the .npmrc file
  3. Install the package

Usage

Add the following code to your entry file (commonly src/main.js)

// main.js
import Vue from 'vue';
import App from './App.vue';
// ...
import {
  applyPolyfills,
  defineCustomElements,
} from '@binaryfountain/js-widgets/loader';
// ...

// Tell Vue to ignore all components defined in the @binaryfountain/js-widgets
// package. They're all prefixed with bf-*
Vue.config.ignoredElements = [/bf-\w*/];

// Bind the custom elements to the window object
applyPolyfills().then(() => {
  defineCustomElements();
});

// ...
new Vue({
  render: (h) => h(App),
}).$mount('#app');

use the base of bf-widgets component

<!-- App.vue -->
<template>
  <div class="container">
    <bf-widgets
      type="both"
      app-id="APP_ID"
      location-id="LOCATION_ID"
      person-id="PERSON_ID"
    ></bf-widgets>
  </div>
</template>

Props

Property Type Default Required
type “both” or “inbound” or “outbound” “both” true
appId String true
location-id string or null null false *
person-id string or null null false *

*At least one needs to be provided

Make sure to add the stylesheet as well, for example in main.js

import Vue from 'vue';
import App from './App.vue';
import {
  applyPolyfills,
  defineCustomElements,
} from '@binaryfountain/js-widgets/loader';
import '@binaryfountain/js-widgets/dist/js-widgets/js-widgets.css';
// ...

Or in your index.html

<head>
  <!-- ... -->
  <link
    rel="stylesheet"
    href="https://cdn.binaryfountain.com/js-widgets/js-widgets.css"
  />
  <!-- ... -->
</head>

FAQ

1) Can we have a single widget for Both Collection Review and Display Reviews?

A) Yes, we can use the “both” option as a param for INDIVIDUAL LEVEL and GENERIC LEVEL widgets in a single web page.

2) Can we have a Collection Review and Display Reviews in two seperate web pages?

A) Yes, we can host it in different web pages by creating the Display Review and Collection Reviews specific to that website URL, so that we are checking whether the HOST url is whitelisted or not

3) Can we customize the look and feel of widgets?

A) Yes, we can set the Color and Font styles as well.

CSS Overrides

Since we are using Shadow DOM, CSS overrides are very restricted and can only be customized for the fields we support.

We have to use CSS Shadow ::part for customizing here Format Click here

Fields we support overriding

Dynamic Parts

These parts are dynamically created using the question ids. This will give you great control over each questions if needed.

bf-widgets::part(bf-review-form-number) {
  display: none !important;
  height: 150px;
}
bf-widgets::part(bf-review-form-label) {
  color: red !important;
}
bf-widgets::part(bf-field-text-input) {
  color: red;
}
bf-widgets::part(bf-modal-close) {
  background-color: red;
}
bf-widgets::part(field-1000037078-label) {
  display: none;
}
bf-widgets::part(field-1000037078-input) {
  border-color: red;
}
bf-widgets::part(form-field-1000037085)
{
  border-bottom: 1px solid #bab7b7;
  padding-bottom: 15px;
  margin-bottom: 15px;
}