Difference between revisions of "API Method MuMeasuresGet"
(→Response JSON) |
(→Response JSON) |
||
Line 107: | Line 107: | ||
</div> | </div> | ||
+ | {| class="wikitable" style="width:900px; vertical-align:top; align:left" | ||
+ | ! Field List || Description | ||
+ | |- | ||
+ | |<code>numerator</code>||number of patients that have sent a message to any provider in the practice | ||
+ | |- | ||
+ | |<code>denominator</code>||-1 since there is no way for this system know the total number of patients | ||
+ | |- | ||
+ | |<code>thresholdMet</code>||n/a | ||
+ | |- | ||
+ | |<code>excluded</code>||n/a | ||
+ | |- | ||
+ | |<code>includedPatientIds</code>||list of patientIds that were counted when totaling the numerator | ||
+ | |- | ||
+ | |<code>includedPatientDates</code>||n/a | ||
+ | |} | ||
=== Core 7.2 === | === Core 7.2 === |
Revision as of 14:45, 27 May 2014
Contents |
Description
The following code samples describe the processes involved in obtaining Mu Measures
Prerequisites
1 This API call requires Vendor-level credentials. The credentials should be populated into the applicationId
and applicationPassword
fields of the auth
block:
{ ... "auth": { "applicationId": "vendorId", "applicationPassword": "vendorPassword", "accountId": "", "userId": "" } }
2 This API call requires a Practice/Account-level identifier. The identifier should be populated into the accountId
field of the auth
block:
{
...
"auth": {
"applicationId": "vendorId",
"applicationPassword": "vendorPassword",
"accountId": "practiceId",
"userId": ""
}
}
3 This API call requires a User-level identifier. The identifier should be populated into the userId
field of the auth
block:
{
...
"auth": {
"applicationId": "vendorId",
"applicationPassword": "vendorPassword",
"accountId": "practiceId",
"userId": "userId"
}
}
Code Samples
Language | Source Code Examples |
---|---|
C# | public void TalkToUpdox() { string json = new JavaScriptSerializer().Serialize(new { measureIds = [ "core:17" ], beginning = 1449073961000, ending = 1455073961000, auth = new { applicationId = "vendorId", applicationPassword = "vendorPassword", accountId : "accountId", userId: "userId" } }); string url = "https://updoxqa.com/io/MuMeasuresGet"; SendReceiveJSON(json, url); } private void SendReceiveJSON(string json, string url) { var httpWebRequest = WebRequest.Create(url); httpWebRequest.ContentType = "application/json"; httpWebRequest.Method = "POST"; using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream())) { streamWriter.Write(json); streamWriter.Flush(); streamWriter.Close(); var httpResponse = (HttpWebResponse) httpWebRequest.GetResponse(); using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) { var result = streamReader.ReadToEnd(); } } } |
Java |
public void TalkToUpdox() throws Exception { String uri = "https://updoxqa.com/io/MuMeasuresGet"; ObjectMapper mapper = new ObjectMapper(); Map<String,Object> messageData = BuildMessage(); String jsonData = mapper.writeValueAsString(messageData); HttpResponse httpResponse = SendReceiveJSON(jsonData, uri); HttpEntity responseEntity = httpResponse.getEntity(); String response = EntityUtils.toString(responseEntity); JsonNode actualObj = mapper.readTree(response); System.out.println(actualObj.get("responseCode")); System.out.println(actualObj.get("responseMessage")); } private Map<String,Object> BuildMessage() throws Exception { Map<String,Object> messageData = new HashMap(); List<String> measures = new ArrayList(); measures.add("core:17"); messageData.put("measureIds", measures); final long beginning = 1449073961000; final long ending = 1455073961000; messageData.put("beginning", beginning); messageData.put("ending", ending); Map<String,Object> authData = new HashMap(); authData.put("applicationId", "vendorId"); authData.put("applicationPassword", "vendorPassword"); authData.put("accountId", "accountId"); authData.put("userId", "userId"); messageData.put("auth", authData); return messageData; } private HttpResponse SendReceiveJSON(String jsonData, String uri) throws Exception { HttpClient httpClient = new DefaultHttpClient(); HttpResponse response = null; StringEntity params = new StringEntity(jsonData); try { HttpPost request = new HttpPost(uri); request.addHeader("content-type", "application/json"); request.setEntity(params); response = httpClient.execute(request); } catch (Exception ex) { // handle exception here } finally { httpClient.getConnectionManager().shutdown(); } return response; } |
Messages
Core 17
Description
Gets unique list of patients within a set time-frame who have sent a message to any provider in the practice. Since all messages that originate on the practice portal are directed to the practice group inbox, any provider in the practice can see (and, thus, claim) the message in their numerator.
Destination Address
Request JSON
{ "measureIds": [ "core:17" ], "beginning": 1449073961000, "ending": 1490073961000, "auth": { "applicationId": "vendorId", "applicationPassword": "vendorPassword", "accountId": "accountId", "userId": "userId" } }
HTTP Response Status
200 OK
Response JSON
{
"successful": true, "responseMessage": "OK", "responseCode": 2000, "measures": { "core:17": { "numerator": 5, "denominator": -1, "thresholdMet": false, "excluded": false, "includedPatientIds": [ "103005", "103018", "103024", "120005", "120019" ], "includedPatientDates": null // Only included if date range >= 2016 } } }
Field List | Description |
---|---|
numerator |
number of patients that have sent a message to any provider in the practice |
denominator |
-1 since there is no way for this system know the total number of patients |
thresholdMet |
n/a |
excluded |
n/a |
includedPatientIds |
list of patientIds that were counted when totaling the numerator |
includedPatientDates |
n/a |
Core 7.1
Description
Gets continuity of care records for a practice within a set timeframe and record patient's ID and date sent for each
Destination Address
Request JSON
{ "measureIds": [ "core:7.1" ], "auth": { "applicationId": "vendorId", "applicationPassword": "vendorPassword", "accountId": "accountId", "userId": "userId" } }
HTTP Response Status
200 OK
Response JSON
{ "successful": true, "responseMessage": "OK", "responseCode": 2000, "measures": { "core:7.1": { "numerator": 5, "denominator": -1, "thresholdMet": false, "excluded": false, "includedPatientIds": null, "includedPatientDates": [ { "patientId": "153", "date": 1391615821000 }, { "patientId": "153", "date": 1391615821000 }, { "patientId": "153", "date": 1394464574000 }, { "patientId": "154", "date": 1392025290000 }, { "patientId": "155", "date": 1392033412000 } ] } } }
Field List | Description |
---|---|
numerator |
number of patients that have sent a message to any provider in the practice |
denominator |
-1 since there is no way for this system know the total number of patients |
thresholdMet |
n/a |
excluded |
n/a |
includedPatientIds |
list of patientIds that were counted when totaling the numerator |
includedPatientDates |
n/a |
Core 7.2
Description
Gets a unique list of patients within a set time-frame who have viewed, downloaded, or transmitted a CCD* document, and stores that count as numerator.
Destination Address
Request JSON
{ "measureIds": [ "core:7.2" ], "auth": { "applicationId": "vendorId", "applicationPassword": "vendorPassword", "accountId": "accountId", "userId": "userId" } }
HTTP Response Status
200 OK
Response JSON
{ "successful": true, "responseMessage": "OK", "responseCode": 2000, "measures": { "core:7.2": { "numerator": 5, "denominator": -1, "thresholdMet": false, "excluded": false, "includedPatientIds": [ "103005", "103018", "103024", "120005", "120019" ], "includedPatientDates": null } } }