GetMU2Counters
Used to retrieve MU2 counters.
Call example:
string result = SageBridgeAPI.executeAPICall(
"cf389659-588c-4fd9-ab9e-7c37b438905c", // security token
"GetMU2Counters",
"bos5", // practice Path or Tax ID
"JSON", // output format (XML or JSON)
"--request parameters XML or JSON---" // request parameters
);
Request
data has following elements:
| providerId | (string) | Unique provider id. |
| reportingStart | (string) | Reporting Period Start Date . |
| reportingEnd | (string) | Reporting Period End Date. |
| activityStart | (string) | Activity Period Start Date. |
| activityEnd | (string) | Activity Period End Date. |
Notes:
- All parameters are optional. If a parameter is not provided, then the filter for that parameter is not used.
- If reporting dates are not provided, the current quarter dates will be used.
- If activity dates are not provided, the current year dates will be used.
- reportingStart, reportingEnd have time portion. If reportingEnd parameter specified as date only, for example "1/31/2017" then such date will not be included. Specify it as "1/31/2017 23:59:59" to include
- providerId request parameter can be CSV list of providers. In this case the API will work in "group counter" mode. In this mode it will return the same data as in regular mode but with some extra rows.
- The Group mode is not a set of counters for each individual providers in a group. It is a set of cumulative counters for all providers in the group.
- In group mode the records with ActionType=1 and EntityType=1 (Chart Reveived) will be provided only for a providers enlisted in providerId list. In addition, the record with providerId="GROUP" will be added to the output to indicate a cumulative counter of unique patients for all providers in a group (see data example below).
- In group mode output will have extra records for each numerator (include VDT) to represent a counter of unuqie patients for all providers together. Such recrods have providerId="ALL" (see data example below).
JSON Example: (single provider)
{
"providerId": "134",
"reportingStart": "4/1/2017 12:00:00 AM",
"reportingEnd": "4/25/2017 12:00:00 AM",
"activityStart": "1/1/2017 12:00:00 AM",
"activityEnd": "4/25/2017 12:00:00 AM"
}
JSON Example: (group of providers)
{
"providerId": "2,134",
"reportingStart": "4/1/2017 12:00:00 AM",
"reportingEnd": "4/25/2017 12:00:00 AM",
"activityStart": "1/1/2017 12:00:00 AM",
"activityEnd": "4/25/2017 12:00:00 AM"
}
Response
Represents a list of counters grouped by provider, entity and action types.
| providerId | (string) | Unique provider id. In group mode: "GROUP" - denominator for all providers from a group all together. "ALL" - numerator for all providers (not only from a group) for a specific counter |
| entityTypeId | (int) | See Entity Types below. |
| actionTypeId | (int) | See Action Types below. |
| uniquePatients | (int) | Number of unique patienets. |
Notes:
- actionTypeId "-2" value represents counters for Chart VDT (View\Download\Transmit) all together.
- All uniquePatients values are numbers of unique patients.
JSON Example: ("note" element is not a part of data, it's just a clarification for these examples)
[
{
"note": "Action type -2 (VDT) - numerator for chart VDT counter",
"providerId": "134",
"entityTypeId": 1,
"actionTypeId": -2,
"uniquePatients": 12
},
{
"note": "Chart Sent - this is a denominator for MU2 counters",
"providerId": "134",
"entityTypeId": 1,
"actionTypeId": 1,
"uniquePatients": 17
},
{
"note": "Chart Download counter",
"providerId": "134",
"entityTypeId": 1,
"actionTypeId": 6,
"uniquePatients": 7
},
{
"note": "Chart View counter",
"providerId": "134",
"entityTypeId": 1,
"actionTypeId": 7,
"uniquePatients": 12
},
{
"note": "Chart Transmit counter",
"providerId": "134",
"entityTypeId": 1,
"actionTypeId": 9,
"uniquePatients": 6
},
{
"providerId": "134",
"entityTypeId": 2,
"actionTypeId": 1,
"uniquePatients": 15
},
{
"providerId": "134",
"entityTypeId": 2,
"actionTypeId": 7,
"uniquePatients": 9
},
{
"providerId": "134",
"entityTypeId": 3,
"actionTypeId": 2,
"uniquePatients": 4
},
{
"note": "Secure Messages from doctor to patient counter",
"providerId": "134",
"entityTypeId": 4,
"actionTypeId": 1,
"uniquePatients": 3
},
{
"note": "Secure Messages from patient to doctor counter",
"providerId": "134",
"entityTypeId": 4,
"actionTypeId": 17,
"uniquePatients": 10
},
{
"note": "Education documents counter",
"providerId": "134",
"entityTypeId": 9,
"actionTypeId": 2,
"uniquePatients": 4
},
{
"note": "Chart Sent (GROUP MODE) - this is a denominator for MU2 counters when group of providers requested",
"providerId": "GROUP",
"entityTypeId": 1,
"actionTypeId": 1,
"uniquePatients": 6
},
{
"note": "VDT (GROUP MODE) - this is a denominator for MU2 counters when group of providers requested",
"providerId": "ALL",
"entityTypeId": 1,
"actionTypeId": -2,
"uniquePatients": 6
},
{
"providerId": "ALL",
"entityTypeId": 1,
"actionTypeId": 6,
"uniquePatients": 1
},
{
"providerId": "ALL",
"entityTypeId": 1,
"actionTypeId": 7,
"uniquePatients": 6
},
{
"providerId": "ALL",
"entityTypeId": 2,
"actionTypeId": 1,
"uniquePatients": 2
},
{
"providerId": "ALL",
"entityTypeId": 2,
"actionTypeId": 7,
"uniquePatients": 2
},
{
"providerId": "ALL",
"entityTypeId": 3,
"actionTypeId": 2,
"uniquePatients": 5
}
]
Calculation method:
For VDT, Secure Messages we use the following calculation method:
Output from Sophrona as multi-step Query:
-
Step1: We run a query to identify all the patients where we received a
chart for the requested provider with an encounter date between the Reporting
Period start/end dates (for business reporting purposes, the likely start/end
dates requested will be for the current quarter the user is running the report
for).
-
Step2: For the above returned patients, we run a query to identify
unique patients who also had at least one VDT/Secure Message/etc count between the Activity Period start/end dates
(typically the full calendar year for the reporting period dates) regardless of provider who sent it.
In example data above:
uniquePatients = 17 - denominator for all MU2 Counters (actionTypeId=1 and entityTypeId=1).
uniquePatients = 12 - VDT numerator (entityTypeId=1 actionTypeId=-2)
uniquePatients = 3 - Secure messages to patient numerator (entityTypeId=4 actionTypeId=1)
uniquePatients = 7 - Chart Download numerator, if needed.
etc.
For most cases VDT counter will have the same value as just single "View" counter, b/c patient always does "View" before chart download and/or chart transmit
Entity Types:
- All = 0
- PatientChart = 1 (MU2 actions 7,6,9,17,18,19)
- ClinicalSummary = 2 (MU2 actions 7,6,9,17)
- EducationDelivery = 3 (MU2 action 2)
- SecureMessage = 4 (MU2 actions 1,17)
- Patient = 5 (MU2 actions 11,20)
- AuthorizedUser = 6
- Recall = 7
- SummaryOfCare = 8 (MU2 action 2)
- SmokingCessation = 9 (MU2 action 2)
- PreventativeCare = 10 (MU2 action 2)
- BreviumRecall = 11
- Enrollment = 12
Action Types:
- All = 0
- Received = 1
- NotificationQueued = 2
- NotificationSent = 3
- NotificationDelivered = 4
- NotificationResponded = 5
- Downloaded = 6
- Viewed = 7
- ChartTransmitRequested = 8
- ChartTransmitted = 9
- LoggedIn = 10
- Patient Registration completed = 11
- InvitationRequested = 12
- InvitationSent = 13
- InvitationRejected = 14
- Authorized = 15
- Suspended = 16
- Sent = 17
- Application Access - All = 18
- Application Access - Category = 19
- Patient Generated Health Data (PGHD) = 20
- VDT = -2 (Special case - aggregate counter for View, Download and Transmit actions all together)
Notes:
All examples of source code and compiled version of SageBridge API client can be found here.
Known Issues:
None
See Also:
API Functions,
APIResponse structure