> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.medicomp.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.medicomp.com/_mcp/server.

# Resolve Terms

GET https://quippe.medicomp.com/api/Quippe/NoteBuilder/ResolveTerms

Resolves a batch of MEDCIN findings (by MEDCIN ID) into a fully built note list in a single call, the way each finding would appear as a line item in a clinical note. The ResolveTerms API (GET /Quippe/NoteBuilder/ResolveTerms) wraps the given MEDCIN IDs in a `List` array and runs them through the same NoteBuilder pipeline used to build a full note, returning each as a resolved term with display text, node key, term type, and phrasing. 

 Common uses include previewing a group of findings before adding them to a note (for example the results of a search or text recognition), and building a prompt or checklist of terms tagged for a specific workflow. 

 GET /Quippe/NoteBuilder/ResolveTerms 

Use this endpoint to resolve many findings at once. To resolve a single finding, use [/Quippe/NoteBuilder/Resolve](/api-reference/rest/get-quippe-note-builder-resolve). To resolve an entire chart document instead of a flat list of MEDCIN IDs, use [/Quippe/NoteBuilder/ResolveDocument](/api-reference/rest/post-quippe-note-builder-resolve-document).

Reference: https://docs.medicomp.com/api-reference/rest/get-quippe-note-builder-resolve-terms

## Authentication

- `Authorization` header (basic auth, required) — Login and password used to access quippe.medicomp.com. On-premise Quippe deployments can be configured to use whatever authentication and authorization your application is configured for, so basic authentication is used here to access the Quippe sandbox and is not a product requirement.
- `Authorization` header (bearer token, required) — JSON web token generated by a request to the [/Quippe/Security/Token](/api-reference/rest/get-quippe-security-token) web service endpoint in Quippe.

## Request

### Query parameters

- `MedcinIds` (string, required) — The MEDCIN findings to resolve, identified by their numeric MEDCIN IDs. Each ID becomes one `Item` in the resolved `List`, in the order given.
- `Prefix` (string, optional) — Optional MEDCIN prefix qualifier applied to every ID in `MedcinIds` — the prefix positions the findings in context, such as a family-history or "history of" framing. This single prefix applies uniformly to the whole list; it cannot be set per finding.
- `ListId` (string, optional) — Optional identifier written to the resolved `List`'s `id` property, letting a caller correlate this resolved list with the list it was requested for.
- `ListDescription` (string, optional) — Optional display text written to the resolved `List`'s `Text` property (for example a heading such as "Search Results" or "Favorites").
- `ListType` (string, optional) — The kind of list being resolved, written to the resolved `List`'s `ListType` property (for example `Prompt`, the default, for a clinical prompt list). Consumers use this to decide how to render or group the resolved list.
- `Tags` (string, optional) — Comma separated list of term tags that should be applied to search results
- `TermProperties` (string, optional) — Comma-separated list of additional term properties to be included with each term in the result list.
- `PatientId` (string, optional) — The patient's identifier in the EHR.
- `EncounterTime` (string, optional) — The date of the encounter that this operation is for.
- `GroupingFlags` (enum, optional) — Options to control default group assignments for findings.
  - Allowed values: `None`, `NoTestResults`, `TestsToResults`, `SymptomsToHPI`
- `ResolvePhrases` (boolean, optional) — Flag indicating whether the text phrases used to render a given finding for the user should be returned.
- `BuilderVersion` (integer, optional) — Controls how the note builder is instantiated to resolve terms. 1 will always use a `Quippe.NoteBuilder` object, while other values will instatiate a `Quippe.INoteBuilderService` instance from the list of registered data services, allowing for customization of the term resolution process.
- `DataFormat` (enum, optional) — Specifies how objects are encoded in the output
  - Allowed values: `Default`, `XML`, `JSON`, `JSF`
- `RequestId` (string, optional) — Optional value that can be used by clients to track multiple requests.
- `Culture` (string, optional) — Culture to use when handling the request. If not specified the default value configured on the server will be used.

## Response

### 200

Successful response

- `list` (object or object, optional)
  - object
    - `item` (list of object, optional)
      - `phrasing` (object, optional)
        - `ctnk` (string, optional)
        - `ip` (string, optional)
        - `in` (string, optional)
        - `startContext` (string, optional)
        - `dp` (string, optional)
        - `dn` (string, optional)
        - `cp` (string, optional)
        - `cn` (string, optional)
      - `entryId` (integer, optional)
      - `type` (string, optional)
      - `medcinId` (integer, optional)
      - `nodeKey` (string, optional)
      - `termType` (integer, optional)
      - `subs` (string, optional)
      - `text` (string, optional)
      - `specialty` (string, optional)
      - `sectionId` (string, optional)
      - `groupId` (string, optional)
      - `result` (string, optional)
      - `value` (string, optional)
      - `unit` (string, optional)
      - `flag` (integer, optional)
      - `prefix` (string, optional)
      - `rxCode` (string, optional)
      - `hasHistory` (boolean, optional)
      - `status` (string, optional)
      - `rangeNormalHigh` (double, optional)
      - `rangeNormalLow` (double, optional)
      - `tags` (string, optional)
      - `qflags` (integer, optional)
  - object
    - `term` (list of object, optional)
      - `phrasing` (object, optional)
        - `ctnk` (string, optional)
        - `ip` (string, optional)
        - `in` (string, optional)
        - `startContext` (string, optional)
        - `dp` (string, optional)
        - `dn` (string, optional)
        - `cp` (string, optional)
        - `cn` (string, optional)
      - `entryId` (integer, optional)
      - `type` (string, optional)
      - `medcinId` (integer, optional)
      - `nodeKey` (string, optional)
      - `termType` (integer, optional)
      - `subs` (string, optional)
      - `text` (string, optional)
      - `specialty` (string, optional)
      - `sectionId` (string, optional)
      - `groupId` (string, optional)
      - `result` (string, optional)
      - `value` (string, optional)
      - `unit` (string, optional)
      - `flag` (integer, optional)
      - `prefix` (string, optional)
      - `rxCode` (string, optional)
      - `hasHistory` (boolean, optional)
      - `status` (string, optional)
      - `rangeNormalHigh` (double, optional)
      - `rangeNormalLow` (double, optional)
      - `tags` (string, optional)
      - `qflags` (integer, optional)

## Examples

**Response**

```json
{
  "list": {
    "item": [
      {
        "phrasing": {
          "ctnk": "string",
          "ip": "string",
          "in": "string",
          "startContext": "string",
          "dp": "string",
          "dn": "string",
          "cp": "string",
          "cn": "string"
        },
        "entryId": 1,
        "type": "string",
        "medcinId": 1,
        "nodeKey": "string",
        "termType": 1,
        "subs": "string",
        "text": "string",
        "specialty": "string",
        "sectionId": "string",
        "groupId": "string",
        "result": "string",
        "value": "string",
        "unit": "string",
        "flag": 1,
        "prefix": "string",
        "rxCode": "string",
        "hasHistory": true,
        "status": "string",
        "rangeNormalHigh": 1.1,
        "rangeNormalLow": 1.1,
        "tags": "string",
        "qflags": 1
      }
    ]
  }
}
```

**SDK Code**

```python
import requests

url = "https://quippe.medicomp.com/api/Quippe/NoteBuilder/ResolveTerms"

querystring = {"MedcinIds":"MedcinIds"}

response = requests.get(url, params=querystring, auth=("<username>", "<password>"))

print(response.json())
```

```javascript
const url = 'https://quippe.medicomp.com/api/Quippe/NoteBuilder/ResolveTerms?MedcinIds=MedcinIds';
const credentials = btoa("<username>:<password>");

const options = {method: 'GET', headers: {Authorization: `Basic ${credentials}`}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://quippe.medicomp.com/api/Quippe/NoteBuilder/ResolveTerms?MedcinIds=MedcinIds"

	req, _ := http.NewRequest("GET", url, nil)

	req.SetBasicAuth("<username>", "<password>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://quippe.medicomp.com/api/Quippe/NoteBuilder/ResolveTerms?MedcinIds=MedcinIds")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request.basic_auth("<username>", "<password>")

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://quippe.medicomp.com/api/Quippe/NoteBuilder/ResolveTerms?MedcinIds=MedcinIds")
  .basicAuth("<username>", "<password>")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://quippe.medicomp.com/api/Quippe/NoteBuilder/ResolveTerms?MedcinIds=MedcinIds', [
  'headers' => [
  ],
    'auth' => ['<username>', '<password>'],
]);

echo $response->getBody();
```

```csharp
using RestSharp;
using RestSharp.Authenticators;

var client = new RestClient("https://quippe.medicomp.com/api/Quippe/NoteBuilder/ResolveTerms?MedcinIds=MedcinIds");
client.Authenticator = new HttpBasicAuthenticator("<username>", "<password>");
var request = new RestRequest(Method.GET);

IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let credentials = Data("<username>:<password>".utf8).base64EncodedString()

let headers = ["Authorization": "Basic \(credentials)"]

let request = NSMutableURLRequest(url: NSURL(string: "https://quippe.medicomp.com/api/Quippe/NoteBuilder/ResolveTerms?MedcinIds=MedcinIds")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```