> 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.

# Quick Prompt

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

Generates a MEDCIN "quick prompt" (nomenclature/differential list) for a single finding — the list of related MEDCIN terms (associated symptoms, tests, therapies, and diagnoses) that clinicians pick from to build out a note after entering a diagnosis or symptom. The QuickPrompt API (GET /Quippe/NoteBuilder/QuickPrompt) takes one MEDCIN ID and returns a list of related terms sized and filtered for interactive charting. 

 Common uses include populating the pick-list shown immediately after a user selects a diagnosis or chief complaint, structured symptom review, and driving point-of-care documentation workflows that prompt the clinician for related findings. 

 GET /Quippe/NoteBuilder/QuickPrompt 

This endpoint prompts from a single MEDCIN ID. To prompt from several findings at once (e.g. all the diagnoses already on a chart) in one call, use [/Quippe/NoteBuilder/MultiQuickPrompt](/api-reference/rest/get-quippe-note-builder-multi-quick-prompt) instead, which accepts an array of MEDCIN IDs and otherwise behaves the same way.

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

## 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

- `MedcinId` (integer, required) — The MEDCIN id of the finding (diagnosis, symptom, or other term) to prompt from. The returned list contains the terms that the MEDCIN knowledgebase associates with this finding.
- `Onset` (string, optional) — The onset date/time of the finding, used together with the patient's birth date to compute the finding's age-of-onset for the prompt operation. If omitted and `Quippe.QuickPromptHandler.Duration` is supplied, onset is derived by subtracting the duration from the encounter time instead.
- `Duration` (string, optional) — How long the finding has been present (e.g. "3 days"), expressed as a duration string understood by `Quippe.DateUtil.GetDurationInMinutes()`. Used to compute `Quippe.QuickPromptHandler.Onset` when `Quippe.QuickPromptHandler.Onset` is not explicitly supplied.
- `Prefix` (string, optional) — Reserved for future use; not currently read by the QuickPrompt handler.
- `Result` (string, optional) — Reserved for future use; not currently read by the QuickPrompt handler.
- `ListSize` (enum, optional) — Controls how many related terms are returned in the prompt list. Values: `Small`, `Medium` (default), `Large`. `Small` provides the hallmark findings for a given diagnosis or term, while other values will cast a progressively wider net when looking for related terms.
  - Allowed values: `Small`, `Medium`, `Large`
- `Scale` (integer, optional) — Reserved for future use; not currently read by the QuickPrompt handler.
- `Role` (enum, optional) — The clinician role (e.g. physician, nurse) recording the finding. When set to a value other than `medNoneEntering`, the MEDCIN knowledge base's active doctor ID is switched to this role before the prompt list is built, which can change which terms are returned.
  - Allowed values: `medNoneEntering`, `medDocEntering`, `medNurseEntering`
- `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/QuickPrompt"

querystring = {"MedcinId":"1"}

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

print(response.json())
```

```javascript
const url = 'https://quippe.medicomp.com/api/Quippe/NoteBuilder/QuickPrompt?MedcinId=1';
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/QuickPrompt?MedcinId=1"

	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/QuickPrompt?MedcinId=1")

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/QuickPrompt?MedcinId=1")
  .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/QuickPrompt?MedcinId=1', [
  'headers' => [
  ],
    'auth' => ['<username>', '<password>'],
]);

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

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

var client = new RestClient("https://quippe.medicomp.com/api/Quippe/NoteBuilder/QuickPrompt?MedcinId=1");
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/QuickPrompt?MedcinId=1")! 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()
```