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

# Chart Map

POST https://quippe.medicomp.com/api/Quippe/Coding/ChartMap
Content-Type: application/x-www-form-urlencoded

Maps every MEDCIN finding in a patient chart to other medical vocabularies in a single request — the batch, whole-encounter counterpart to the single-code TranslateItem endpoint. Given a chart containing an encounter and its findings, the ChartMap API (POST /Quippe/Coding/ChartMap) translates each finding to the requested target vocabularies (ICD-10, ICD-9-CM, SNOMED CT, CPT, LOINC, and others) and returns the matching codes with their relationship to the source finding. 

 Common uses include coding an entire encounter for billing or reporting, batch terminology mapping of structured notes, and generating a problem/claim code set from documented findings. 

 POST /Quippe/Coding/ChartMap 

 Use this endpoint to map many findings in a patient chart at once. To map a single code instead, use [/Quippe/Coding/TranslateItem](/api-reference/rest/get-quippe-coding-translate-item). The chart this consumes is typically produced upstream from an existing, structured Patient chart or from free text by [/Quippe/TextRecognition/Recognize](/api-reference/rest/post-quippe-text-recognition-recognize).

Reference: https://docs.medicomp.com/api-reference/rest/post-quippe-coding-chart-map

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

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

### Body (application/x-www-form-urlencoded)

- `Chart` (string, required) — The patient chart to map, as XML or JSON (use InputFormat to declare which, or leave blank to auto-detect). Sent as a form field in the request body. The chart contains an Encounter (with an EncounterTime attribute) whose Records hold the findings to map. Each Record supports the attributes id, MedcinId, Prefix, Result, Modifier, Status, Value, Unit, Onset, Duration, Episode, and Note; MedcinId identifies the finding to translate and the others carry its qualifiers. If the chart includes a Patient id, patient age and sex are resolved and used as translation context.
- `Vocabs` (string, optional) — Comma-separated list of target vocabulary codes to map each finding into (for example icd10, snomed, cpt). When omitted, a default set of vocabularies is used. The full list of supported vocabulary codes can be retrieved from the [/Quippe/Coding/Vocabs](/api-reference/rest/get-quippe-coding-vocabs) endpoint.
- `IncludeHints` (boolean, optional) — Indicates whether textual coding hints for the target codes should be included with the code mapping results, if available.
- `IncludeSpecifierLists` (boolean, optional) — Indicates whether code specifier lists associated with the target codes should be included with the code mapping results, if available.
- `AutoGenerateMaps` (boolean, optional) — Indicates whether maps from qualified MEDCIN concepts should be automatically generated where applicable if no maps are available.
- `MapExpressionOption` (enum, optional) — Indicates how optional SNOMED-CT map expressions are created. Possible values are FullDescription (map expression include thes full description with sematic tag), NoDescription (map expresion should not include the description), or NoSemanticTag (map expression should include the description, but no sematic tag) Only affects SNOMED-CT targets.
  - Allowed values: `FullDescription`, `NoDescription`, `NoSemanticTag`
- `InputFormat` (string, optional) — The MIME type of the Chart input, for example "application/vnd.medicomp.quippe.note+xml" for Quippe note XML. Leave blank (default) to deduce the format from the content.

## Response

### 200

Successful response

- `codeMap` (list of object, optional)
  - `map` (list of object, optional)
    - `entries` (list of object, required)
      - `code` (string, required)
      - `relationship` (string, required)
      - `properties` (list of object or object, optional)
        - Quippe.FindingMap.Property.JSON
          - `name` (string, optional)
          - `value` (string, optional)
          - `category` (string, optional)
          - `sequence` (integer, optional)
      - `hints` (list of object or object, optional)
        - Quippe.FindingMap.Hint.JSON
          - `type` (string, optional)
          - `text` (string, optional)
      - `specifiers` (list of object or object, optional)
        - Quippe.FindingMap.Specifier.JSON
          - `list` (list of object, optional)
            - `code` (string, optional)
            - `description` (string, optional)
            - `typeId` (integer, optional)
            - `hint` (string, optional)
          - `id` (integer, optional)
          - `setId` (string, optional)
          - `name` (string, optional)
          - `tag` (string, optional)
          - `digit` (integer, optional)
          - `description` (string, optional)
          - `group` (string, optional)
          - `sequence` (integer, optional)
          - `optional` (boolean, optional)
          - `multiselect` (boolean, optional)
      - `qualifier` (list of object, optional)
        - `properties` (list of object or object, optional)
          - Quippe.FindingMap.Property.JSON
            - `name` (string, optional)
            - `value` (string, optional)
            - `category` (string, optional)
            - `sequence` (integer, optional)
        - `specifiers` (list of object or object, optional)
          - Quippe.FindingMap.Specifier.JSON
            - `list` (list of object, optional)
            - `id` (integer, optional)
            - `setId` (string, optional)
            - `name` (string, optional)
            - `tag` (string, optional)
            - `digit` (integer, optional)
            - `description` (string, optional)
            - `group` (string, optional)
            - `sequence` (integer, optional)
            - `optional` (boolean, optional)
            - `multiselect` (boolean, optional)
        - `code` (string, optional)
        - `relationship` (string, optional)
        - `description` (string, optional)
        - `termType` (string, optional)
        - `unreportable` (boolean, optional)
        - `isCategory` (boolean, optional)
        - `prefix` (string, optional)
        - `modifier` (string, optional)
        - `status` (string, optional)
        - `result` (string, optional)
        - `mapQualifier` (string, optional)
      - `description` (string, optional)
      - `mapQualifier` (string, optional)
      - `autoSelect` (string, optional)
      - `isCategory` (string, optional)
      - `groupId` (string, optional)
      - `groupNumber` (integer, optional)
      - `unreportable` (string, optional)
      - `termType` (string, optional)
      - `prefix` (string, optional)
      - `modifier` (string, optional)
      - `status` (string, optional)
      - `result` (string, optional)
      - `expression` (string, optional)
      - `inferred` (boolean, optional)
      - `codePoint` (string, optional)
    - `vocab` (string, required)
    - `isQualified` (boolean, optional)
  - `id` (string, optional)

## Examples

**Request**

```json
{
  "Chart": "string"
}
```

**Response**

```json
{
  "codeMap": [
    {
      "map": [
        {
          "entries": [
            {
              "code": "780.6",
              "relationship": "RelatedTo",
              "properties": {
                "name": "fsn",
                "value": "Fever:Find:Pt:^Patient:Ord:MDS",
                "category": "synonym",
                "sequence": 0
              },
              "hints": {
                "type": "",
                "text": ""
              },
              "specifiers": [
                {
                  "list": [
                    {
                      "code": "",
                      "description": "",
                      "typeId": 0,
                      "hint": ""
                    }
                  ],
                  "id": 0,
                  "setId": "",
                  "name": "",
                  "tag": "",
                  "digit": 0,
                  "description": "",
                  "group": "",
                  "sequence": 0,
                  "optional": "",
                  "multiselect": ""
                }
              ],
              "qualifier": [
                {
                  "properties": {
                    "name": "fsn",
                    "value": "Fever:Find:Pt:^Patient:Ord:MDS",
                    "category": "synonym",
                    "sequence": 0
                  },
                  "specifiers": [
                    {
                      "list": [
                        {
                          "code": "",
                          "description": "",
                          "typeId": 0,
                          "hint": ""
                        }
                      ],
                      "id": 0,
                      "setId": "",
                      "name": "",
                      "tag": "",
                      "digit": 0,
                      "description": "",
                      "group": "",
                      "sequence": 0,
                      "optional": "",
                      "multiselect": ""
                    }
                  ],
                  "code": "",
                  "relationship": "",
                  "description": "",
                  "termType": "",
                  "unreportable": "",
                  "isCategory": "",
                  "prefix": "",
                  "modifier": "",
                  "status": "",
                  "result": "",
                  "mapQualifier": ""
                }
              ],
              "description": "Fever, unspecified",
              "mapQualifier": "primary",
              "autoSelect": "true",
              "isCategory": "true",
              "groupId": "155215",
              "groupNumber": 1,
              "unreportable": "true",
              "termType": "",
              "prefix": "",
              "modifier": "",
              "status": "",
              "result": "",
              "expression": "",
              "inferred": "",
              "codePoint": "05000000000081401A000A00ACC8880C"
            }
          ],
          "vocab": "icd",
          "isQualified": ""
        }
      ],
      "id": ""
    }
  ]
}
```

**SDK Code**

```python
import requests

url = "https://quippe.medicomp.com/api/Quippe/Coding/ChartMap"

payload = ""
headers = {
    "Content-Type": "application/x-www-form-urlencoded"
}

response = requests.post(url, data=payload, headers=headers, auth=("<username>", "<password>"))

print(response.json())
```

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

const options = {
  method: 'POST',
  headers: {
    Authorization: `Basic ${credentials}`,
    'Content-Type': 'application/x-www-form-urlencoded'
  },
  body: new URLSearchParams('')
};

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/Coding/ChartMap"

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

	req.SetBasicAuth("<username>", "<password>")
	req.Header.Add("Content-Type", "application/x-www-form-urlencoded")

	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/Coding/ChartMap")

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

request = Net::HTTP::Post.new(url)
request.basic_auth("<username>", "<password>")
request["Content-Type"] = 'application/x-www-form-urlencoded'

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.post("https://quippe.medicomp.com/api/Quippe/Coding/ChartMap")
  .basicAuth("<username>", "<password>")
  .header("Content-Type", "application/x-www-form-urlencoded")
  .asString();
```

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

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://quippe.medicomp.com/api/Quippe/Coding/ChartMap', [
  'form_params' => null,
  'headers' => [
    'Content-Type' => 'application/x-www-form-urlencoded',
  ],
    'auth' => ['<username>', '<password>'],
]);

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

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

var client = new RestClient("https://quippe.medicomp.com/api/Quippe/Coding/ChartMap");
client.Authenticator = new HttpBasicAuthenticator("<username>", "<password>");
var request = new RestRequest(Method.POST);

request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

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

let headers = [
  "Authorization": "Basic \(credentials)",
  "Content-Type": "application/x-www-form-urlencoded"
]

let request = NSMutableURLRequest(url: NSURL(string: "https://quippe.medicomp.com/api/Quippe/Coding/ChartMap")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
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()
```