Skip to main content
Glama

Medical Terminologies MCP Server

npm version npm downloads node MCP Registry LobeHub Glama MCP server Available on CodeGuilds GitHub stars GitHub Sponsors tool calls MCP License: MIT

A Model Context Protocol (MCP) server providing unified access to major global medical terminologies:

  • ICD-11 - International Classification of Diseases (WHO)

  • LOINC - Logical Observation Identifiers Names and Codes

  • RxNorm - Normalized names for clinical drugs (NIH)

  • MeSH - Medical Subject Headings (NLM)

  • ATC - Anatomical Therapeutic Chemical classification (WHO Collaborating Centre, served via NLM RxClass)

  • CID-10 - Brazilian Portuguese translation of ICD-10 (DataSUS V2008, bundled)

🇧🇷 Leia em Português

See it in action

Ask your assistant:

  • "What's the ICD-11 code for type 2 diabetes?" → icd11_search

  • "Map ICD-10 code E11 to ICD-11." → map_icd10_to_icd11

  • "What does LOINC 2339-0 measure?" → loinc_details

  • "Qual o código CID-10 para infarto agudo do miocárdio?" → cid10_search

The answers come from authoritative sources (WHO, NLM, NIH, DataSUS) — real codes and mappings, not guesses from training data.

Related MCP server: medical-mcp

Features

  • 33 tools: 31 terminology tools plus search/fetch for ChatGPT Deep Research

  • 3 MCP Prompts that orchestrate tool calls into named workflows (find-medical-code, drug-info, cid10-portuguese-lookup) — clients render these as one-click user actions

  • 4 MCP Resources for in-process reference content (info://server, info://cid10/chapters, info://licenses, info://stats) — sub-millisecond reads (except info://stats which round-trips to the StatsCounter Durable Object on the hosted endpoint)

  • Multi-terminology support in a single server

  • Cross-terminology mapping and search

  • Provenance on every response (since v1.8.0): each successful tool result carries a machine-readable provenance block — source, canonical URL, data vintage, real extraction instant (cache hits keep the original fetch instant), ready-to-use citation, and license — in structuredContent.provenance + attribution, mirrored in _meta under com.sidneybissoli.medical/*, with a compact text footer for text-only clients. Multi-source responses (find_equivalent, validate_codes) carry one block per source; server-computed ranking fields are flagged as derived

  • Built-in caching for improved performance

  • Rate limiting to respect API limits

  • Detailed responses with rich formatting

  • Two transports: stdio (default; for Claude Desktop, IDE clients) and Streamable HTTP (the hosted Cloudflare Worker at https://medical.sidneybissoli.com/mcp, or your own instance of worker/)

📖 Article (in Portuguese): CID-10, CID-11 e o que muda para quem trabalha com dados do SUS — the V2008 structure in numbers, what the WHO transition tables are and are not, and the licences that differ between sources. Also published on the site, in Portuguese and English: sidneybissoli.com.

Who is this for?

This server is not a clinical-care decision tool — practicing clinicians have specialized assistants (UpToDate AI, OpenEvidence, EHR-integrated tools) for that. The actual audience is researchers, public-health analysts, clinical informatics developers, and educators who need programmatic access to authoritative terminology data.

If you're a...

Start with

Why

Biomedical researcher / bibliographer

mesh_search, mesh_descriptor, mesh_tree

MeSH is PubMed's indexing vocabulary; tree numbers let you traverse the controlled hierarchy programmatically

Public-health analyst (Brazil / SUS)

cid10_search, cid10_chapters, atc_classify

CID-10 V2008 is the Brazilian operational standard; ATC pairs cleanly with DataSUS prescription data

Public-health analyst (international)

icd11_search, icd11_lookup, icd11_chapters

WHO ICD-11 is the current international revision; chapters and hierarchy support pipeline classification

Clinical-informatics developer

loinc_search, loinc_details, find_equivalent

LOINC for lab/observation interoperability; cross-terminology search to scaffold new mappings

Educator / curriculum author

mesh_descriptor, icd11_lookup, rxnorm_search

Authoritative definitions, tree numbers, and drug term-types you can drop into self-checked exercises

What this server is not intended for — and what leaves your machine

  • It is not intended for clinical decision support. It retrieves what the official sources publish. It does not diagnose, recommend treatment or dose.

  • It is not designed to run offline. ICD-11, LOINC, RxNorm, MeSH and ATC are answered live by the public WHO and NLM APIs. Every query string you send is forwarded to those services. De-identify term lists before running them: no patient names, free-text notes or record identifiers. Two datasets are bundled and answered in-process, with no network call: CID-10 (DataSUS V2008) and the WHO ICD-10 → ICD-11 transition tables (map_icd10_to_icd11).

  • Credentials are not required on the hosted endpoint. https://medical.sidneybissoli.com/mcp has WHO credentials configured. WHO_CLIENT_ID/WHO_CLIENT_SECRET are needed only when you run the server yourself, and only for the 5 ICD-11 tools.

  • SNOMED CT is not served. It was retired in 2.0.0: no public Snowstorm host remains, SNOMED content needs a per-country license, and the off-by-default tools confused every catalog that listed this server. See SNOMED CT (retired in 2.0.0).

  • It is not OMOP-shaped. Results carry the source's own codes, not OMOP concept_ids, and there is no concept_ancestor traversal. If your output has to join against an OMOP CDM, use an OMOP vocabulary service; use this server for general terminology work.

  • Search is lexical, not semantic. find_equivalent and the *_search tools match words, not meanings (no embeddings).

  • Large batches are paced by the upstream rate limits (see API Rate Limits). Thousands of distinct terms take minutes to tens of minutes.

Reproducibility: which version answered

A crosswalk or a coded dataset is only meaningful against a stated vocabulary version. Two things record it:

  • terminology_versions lists the release each terminology is queried against. Call it at the start of a batch run and keep the output with your results. The ICD-11 release is pinned (default 2026-01, override with WHO_ICD11_RELEASE_ID), so a self-hosted run is repeatable until you change it.

  • The provenance block on every response (structuredContent.provenance) carries retrieved_at (the real extraction instant; a cache hit keeps the original fetch time), the source URL, the citation and the license. Its data_vintage field carries the version when the source exposes one:

    Source

    data_vintage in each response

    ICD-11

    the pinned WHO release (e.g. 2026-01)

    ICD-10 → ICD-11 tables

    the bundled WHO release (e.g. 2025-01)

    CID-10

    V2008

    LOINC, RxNorm, MeSH, ATC

    null, because these APIs do not state a release per response. Record terminology_versions + retrieved_at instead

Minimal batch log: one terminology_versions call at the start, plus the provenance of each result (source, data_vintage, retrieved_at).

Try the hosted instance (no install)

A public Cloudflare Workers deployment runs at:

https://medical.sidneybissoli.com/mcp

Connect via the MCP Inspector or any Streamable HTTP MCP client:

npx @modelcontextprotocol/inspector --transport streamable-http \
  --server-url https://medical.sidneybissoli.com/mcp

Or install via Smithery, which proxies the same endpoint through their gateway:

npx -y smithery mcp add sidneybissoli/medical-terminologies-mcp

The hosted instance has WHO credentials configured, so all 33 tools work without any setup on your side. For your own deployment (e.g. corporate network, different region, custom WHO credentials), see the Installation and Hosted on Cloudflare Workers sections below.

Installation

npm install -g medical-terminologies-mcp

Local Installation

npm install medical-terminologies-mcp

Configuration

Claude Desktop

Add to your Claude Desktop configuration file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "medical-terminologies": {
      "command": "npx",
      "args": ["-y", "medical-terminologies-mcp"],
      "env": {
        "WHO_CLIENT_ID": "your-who-client-id",
        "WHO_CLIENT_SECRET": "your-who-client-secret"
      }
    }
  }
}

Environment Variables

Variable

Required

Description

WHO_CLIENT_ID

Yes¹

WHO ICD API Client ID

WHO_CLIENT_SECRET

Yes¹

WHO ICD API Client Secret

WHO_ICD11_RELEASE_ID

No

ICD-11 release to query (e.g. 2025-01, 2026-01). Default 2026-01.

LOG_LEVEL

No

pino log level (debug, info, warn, error, fatal). Default info.

¹ Required for ICD-11 tools. Get credentials at: https://icd.who.int/icdapi.

LOINC, RxNorm, MeSH, ATC and CID-10 need no configuration.

HTTP transport (hosted)

The server runs over stdio by default — that's what Claude Desktop and IDE clients expect. The Streamable HTTP transport is served by the Cloudflare Worker in worker/ (an instance of the maintainer's Fase 0 hosting template). The --http flag of the Node entry was removed in v1.6.0 — if you need a local HTTP endpoint, run the Worker locally:

npm ci && cd worker && npm ci
npm run dev     # wrangler dev on http://localhost:8787
# Inspector via HTTP
npx @modelcontextprotocol/inspector --transport streamable-http --server-url http://localhost:8787/mcp

Hosted endpoints (production and local alike):

  • POST /mcp — JSON-RPC over Streamable HTTP (the MCP protocol). Stateless mode: each request is independent.

  • GET /health — liveness probe returning { status, name, version, tool_count, uptime_s }.

  • GET /status — version + deploy metadata. GET /metrics — aggregated per-tool usage.

  • GET /stats and GET /stats/badge — public tool-call counter (since 2026-05-13) and its shields.io badge.

  • GET /.well-known/mcp/server-card.json — static server card for registry scanners.

  • CORS is permissive (*) so browser clients (e.g. the MCP Inspector web UI) can connect directly.

ChatGPT (Deep Research)

ChatGPT deep research (and company knowledge, and research workflows over the Responses API) only uses an MCP server that exposes exactly search and fetch — this server does, on top of the terminology tools. Point the connector at the hosted endpoint, no key required:

https://medical.sidneybissoli.com/mcp

search ranks the query across the bundled CID-10 (categories, subcategories, chapters), the terminology version records and a live fan-out to ICD-11, LOINC, RxNorm and MeSH (the same fan-out find_equivalent does; a source that fails is skipped) and returns { id, title, url }; fetch renders the document through the terminology's own lookup tool (cid10_lookup, icd11_lookup, loinc_details, rxnorm_concept, mesh_descriptor, terminology_versions) as readable Markdown with the canonical public page (WHO ICD browsers, loinc.org, RxNav, MeSH Browser), which is what ChatGPT cites. Both carry the same provenance block as every other tool — search one block per source that answered, like find_equivalent. In ChatGPT's developer mode (Settings → Security and login → Developer mode) any tool is callable — the terminology tools remain the ones to use for data.

Hosted on Cloudflare Workers (primary)

The production deployment is the Cloudflare Worker in worker/, config in worker/wrangler.jsonc, CI deploy in .github/workflows/deploy-worker.yml (auto-runs on every push to main).

To deploy your own instance:

npm ci && npm run build:worker-lib
cd worker && npm ci
npx wrangler login         # one-time, browser flow
npx wrangler deploy        # publishes to <name>.<account>.workers.dev
# Set ICD-11 secrets so those 5 tools work:
npx wrangler secret put WHO_CLIENT_ID
npx wrangler secret put WHO_CLIENT_SECRET

Note: worker/wrangler.jsonc pins the maintainer's account_id and custom domain route — remove/replace both for your own deployment.

Why Workers: zero cold start at the edge, $5/mo flat for 10M requests (free tier covers up to 100k req/day), and no VMs to size or restart. The template ships per-IP rate limiting and a usage-stats Durable Object; the upstream-facing cache/rate-limiter are per-isolate (PROGRESS.md Phase 11.9 Stage 2 tracks the KV/DO upgrade).

Listing on Smithery

After your Worker is live, register the URL on Smithery:

  1. Visit https://smithery.ai → Publish → MCP (or https://smithery.ai/new).

  2. Pick the URL submission path (Smithery deprecated container hosting in 2024 — URL is the supported flow now).

  3. Paste https://<your-worker>.workers.dev/mcp. Smithery's gateway scans for compliance and proxies traffic.

Available Tools (33)

Official Portuguese (pt-BR) content

The server never machine-translates terminology content — but several sources publish official translations, and the tools expose them:

  • CID-10 is natively Portuguese: cid10_search / cid10_lookup / cid10_chapter(s) serve the DataSUS V2008 dataset (the CID-10 the Brazilian SUS uses operationally).

  • ICD-11 in official Portuguese: pass language: "pt" to icd11_search / icd11_lookup to search and read WHO's official pt-BR linearization labels.

  • MeSH: pass language: "pt" to mesh_search / mesh_descriptor to request NLM's official translations where they exist.

If a source has no official translation for an entry, you get the source language back — never a machine translation.

ICD-11 Tools (5)

Tool

Description

Example

icd11_search

Search ICD-11 by term

query: "diabetes mellitus"

icd11_lookup

Get entity details by code/URI

code: "5A11"

icd11_hierarchy

Navigate parent/child relationships

code: "5A11"

icd11_chapters

List all ICD-11 chapters

-

icd11_postcoordination

Get postcoordination axes

code: "5A11"

LOINC Tools (4)

Tool

Description

Example

loinc_search

Search lab tests and observations

query: "glucose"

loinc_details

Get full LOINC code details

loinc_num: "2339-0"

loinc_answers

Answer list of a questionnaire item: LA code, text, order and score (PHQ-9 items: 0-3); empty for codes without a list, "not found" for unknown codes

loinc_num: "44250-9"

loinc_panels

Panel/form structure: member items in form order

loinc_num: "44249-1"

RxNorm Tools (5)

Tool

Description

Example

rxnorm_search

Search drugs by name

query: "metformin"

rxnorm_concept

Get drug concept details

rxcui: "6809"

rxnorm_ingredients

Get active ingredients

rxcui: "6809"

rxnorm_classes

Get therapeutic classes

rxcui: "6809"

rxnorm_ndc

Map between RxCUI and NDC

rxcui: "6809"

MeSH Tools (4)

Tool

Description

Example

mesh_search

Search MeSH descriptors

query: "hypertension"

mesh_descriptor

Get descriptor details

mesh_id: "D006973"

mesh_tree

Get tree hierarchy location

mesh_id: "D006973"

mesh_qualifiers

Get allowed qualifiers

mesh_id: "D006973"

Crosswalk Tools (4)

Tool

Description

Example

map_icd10_to_icd11

Authoritative ICD-10 → ICD-11 mapping via bundled WHO transition tables; returns primary code + chapter + URIs and any WHO-documented alternatives

icd10_code: "E11"

validate_codes

Batch-validate up to 50 codes across ICD-11, LOINC, RxNorm, MeSH, ATC, CID-10; returns per-code valid/invalid + display name

codes: [{terminology:"icd11",code:"5A11"}, …]

find_equivalent

Ranked unified search across terminologies: server-computed match_score/rank per candidate plus cross-terminology groups of lexically identical titles

term: "diabetes"

harmonize_terms

Batch-map up to 50 free-text terms to standard codes: diagnosis → ICD-11, drug → RxNorm (+ ATC classes), lab → LOINC. Per term: ranked candidates with match_score and match_type (exact / strong / needs_review), one provenance block per source. The term-first companion of validate_codes

terms: [{term:"type 2 diabetes",domain:"diagnosis"}, {term:"metformin",domain:"drug"}]

ATC Tools (3)

WHO Anatomical Therapeutic Chemical classification, served through NLM RxClass (free, no auth). The WHOCC base itself requires a paid subscription, but RxClass envelopes the same code/name pairs.

Tool

Description

Example

atc_classify

Drug name → ATC code(s)

drug_name: "metformin"

atc_lookup

ATC code (level 1-4) → name + level type

atc_code: "A10BA"

atc_members

ATC class → member drugs

atc_code: "A10BA"

CID-10 Tools (4)

Brazilian Portuguese translation of ICD-10 (DataSUS V2008). Bundled as a static dataset — no HTTP calls. The Brazilian SUS uses CID-10 V2008 operationally; for the international ICD-11 (current WHO revision), use the ICD-11 tools above.

Tool

Description

Example

cid10_search

Portuguese text search (diacritic-insensitive, AND between words; everyday words resolved to CID-10 wording, and the response says so)

query: "câncer de mama"

cid10_lookup

Code → official Portuguese name

code: "I21" or "A00.1"

cid10_chapters

List the 22 CID-10 chapters

-

cid10_chapter

Chapter detail with constituent groups

num: 9

Ask in your words, not the CID-10's. The CID-10 is worded in clinical Portuguese, and cid10_search matched your words against the code title as one verbatim phrase — so the everyday word returned nothing at all. Measured over the 14,496 categories and subcategories of the bundled V2008 dataset (2026-09-16), fixed since 1.12.0: every word must match (AND), and the everyday word is expanded to the CID-10's own (src/clients/cid10-vocabulary.ts, measured pairs only) — the response says so in vocabulary_notes, and zero results come with a way out.

you ask

hits before

the CID-10 writes

hits

câncer, câncer de mama

0

neoplasia maligna (da mama)

497, 12

ataque cardíaco

0

infarto

42

AVC

0

acidente vascular cerebral

11

pressão alta

0

hipertensão

44

dor de cabeça

0

cefaleia

10

suicídio

0

lesão autoprovocada

167

atropelamento

0

pedestre traumatizado

97

aids

0

doença pelo HIV

45

pedra nos rins, convulsão, tabagismo, maconha, crack, obeso, cachorro

0

calculose, convulsões, fumo, canabinóides, cocaína, obesidade, provocado por cão

19, 41, 17, 12, 13, 6, 11

What the V2008 dataset does not carry stays out and still returns zero — covid (U07.1 is from 2020), zika — because an alias for a code that does not exist promises what the source does not have. The same table feeds the Deep Research search index.

Versioning Tools (2)

Surface what version of each terminology this server queries against today — useful when running batch validation against a pinned release or when investigating an unexpected lookup miss after an upstream update.

Tool

Description

Example

terminology_versions

List all 8 supported terminologies with current version, release date, publisher, source URL, and update cadence

-

terminology_diff

Report what diff data is available between two versions of a terminology (real cross-revision stats for ICD-10 → ICD-11; guidance otherwise)

terminology: "icd10-icd11"

ChatGPT Deep Research (2)

The OpenAI Deep Research contract — the only two tools without a terminology prefix (names fixed by OpenAI). See ChatGPT (Deep Research) above.

Tool

Description

Example

search

Searches the catalog (CID-10, ICD-11, LOINC, RxNorm, MeSH, terminology versions) and returns { id, title, url } ranked by relevance

query: "myocardial infarction"

fetch

Returns the full document of an id from search ({ id, title, text, url, metadata }), rendered by the terminology's lookup tool

id: "cid10:I21.0"

Example Outputs

The samples below are the actual formatted output the tools produce — the text body of the CallToolResult. Tools also return a structuredContent object matching each tool's outputSchema for programmatic consumers.

## LOINC Search Results for "glucose"

Found 1024 total results (showing 3):

1. **74790-7** - Glucose challenge (hydrogen breath test) panel - Exhaled gas
   Component: Glucose challenge panel | Method: -

2. **104708-3** - Deprecated Estimated average glucose [Moles/volume] in Blood
   Component: Estimated average glucose | Property: SCnc

3. **97510-2** - Glucose measurements in range out of Total glucose measurements during reporting period
   Component: Glucose measurements in range/Total glucose measurements | Property: NFr | Method: Calculated

total_count (1024) reflects every match in the NLM Clinical Tables index, not just the page returned. Bump max_results (max 50) to see canonical codes like 2339-0 (Glucose [Mass/volume] in Blood); the API's relevance ranking puts panels and derived measurements above plain blood-glucose at small page sizes.

rxnorm_ingredients — rxcui: "6809" (metformin)

# Ingredients for RxCUI 6809

Found 18 ingredient(s):

| RxCUI | Name | Type |
|-------|------|------|
| 6809 | metformin | Single Ingredient |
| 1007411 | chlorpropamide / metformin | Multiple Ingredient |
| 1043562 | metformin / saxagliptin | Multiple Ingredient |
| 1243019 | linagliptin / metformin | Multiple Ingredient |
| 1486436 | dapagliflozin / metformin | Multiple Ingredient |
| 1545149 | canagliflozin / metformin | Multiple Ingredient |
| 1664314 | empagliflozin / metformin | Multiple Ingredient |
| 729717  | metformin / sitagliptin | Multiple Ingredient |
| ...     | (10 more combinations)   | Multiple Ingredient |

For an RxCUI that is itself an ingredient (TTY=IN), the tool returns that ingredient plus every multi-ingredient (TTY=MIN) concept that includes it. Use this to enumerate combination products built around a substance.

mesh_descriptor — mesh_id: "D006973" (Hypertension)

# Hypertension
MeSH ID: D006973

## Scope Note

Persistently high systemic arterial BLOOD PRESSURE. Based on multiple readings (BLOOD PRESSURE DETERMINATION), hypertension is currently defined as when SYSTOLIC PRESSURE is consistently greater than 140 mm Hg or when DIASTOLIC PRESSURE is consistently 90 mm Hg or more.

## Tree Numbers

- C14.907.489

## Concepts

- Hypertension *(preferred)*

## Allowed Qualifiers

35 qualifier(s) allowed. Use mesh_qualifiers for details.

The scope note comes from the descriptor's preferred concept, not its annotation field (which is an indexer-facing note). Tree numbers are the navigable path into MeSH's controlled hierarchy — C14.907.489 places Hypertension under Cardiovascular Diseases → Vascular Diseases.

Common Workflows

  • ICD-11 lookup: icd11_search with a clinical term → pick the result → icd11_lookup with the code for full details, or icd11_hierarchy to walk parents/children.

  • Drug pipeline: rxnorm_search for a brand or generic name → rxnorm_concept for the canonical record → rxnorm_ingredients and rxnorm_classes for downstream analysis.

  • Harmonize a column of free-text terms: terminology_versions once at the start → harmonize_terms in batches of up to 50 (each term with its domain) → accept exact, spot-check strong, send needs_review to a person → keep each row's provenance with the crosswalk. Write lab terms with specimen and property ("glucose serum"): a bare "glucose" matches over a thousand LOINC codes.

  • Cross-terminology scaffolding: find_equivalent with a clinical term searches ICD-11, LOINC, RxNorm and MeSH in one call. Use it to bootstrap mappings; the pairwise map_* tools refine them.

  • ICD-10 → ICD-11 (authoritative): map_icd10_to_icd11 reads the bundled WHO transition tables. It returns the primary ICD-11 code plus any WHO-documented alternatives, and null (never a guess) when the ICD-10 category is not in the table.

SNOMED CT (retired in 2.0.0)

Until 1.18.x this server shipped five SNOMED CT tools (snomed_search, snomed_concept, snomed_hierarchy, snomed_descriptions, snomed_ecl) plus map_snomed_to_icd10, all off by default behind ENABLE_SNOMED_TOOLS, and map_loinc_to_snomed (guidance only). Version 2.0.0 removed all seven, the Snowstorm client and the flag, and snomed is no longer an accepted value of find_equivalent, validate_codes, terminology_versions or terminology_diff (a request naming it gets a validation error listing the accepted values).

Why: the public IHTSDO Snowstorm host behind the tools has returned HTTP 410 since 2026-05; SNOMED CT content needs a license that depends on the user's country; usage was zero; and the half-present terminology misled every third-party catalog that described this server.

If you need SNOMED CT: pacharanero/sct serves it locally from your own licensed release, and FHIR terminology servers (e.g. tx.fhir.org, a public HL7 test server; CSIRO Ontoserver) expose $lookup/$expand — under your own SNOMED license.

Terminology Licenses

The MIT license covers the server code and server-maintained metadata only — not the terminology content served through it, and not the two bundled datasets (cid10.json, icd10-to-icd11.json), which remain under their own terms. The consolidated notice ships with the package as NOTICE.md; every tool response carries a per-source provenance block with the applicable license.

ICD-11 (WHO)

ICD-11 content is provided under the Creative Commons Attribution-NoDerivatives 3.0 IGO license (CC BY-ND 3.0 IGO), per the ICD-11 Terms of Use and License Agreement.

  • Required citation: "International Classification of Diseases, Eleventh Revision (ICD-11), World Health Organization (WHO) 2019 https://icd.who.int/browse11. Licensed under the Creative Commons Attribution-NoDerivatives 3.0 IGO licence (CC BY-ND 3.0 IGO)."

  • This server always serves ICD-11 codes and titles together with their URIs, verbatim; non-English labels are WHO's own official translations (never machine-translated)

  • WHO may terminate the license at any time by notice (§4.7)

  • API access requires registration at https://icd.who.int/icdapi

WHO ICD-10 → ICD-11 transition tables (bundled)

Format conversion (TSV → JSON, content unaltered) of the tables WHO publishes within the ICD-11 release. © World Health Organization, under the ICD-11 Terms of Use — not under this project's MIT license. WHO's guidance: the tables show correspondence between revisions and "are not intended for directly converting data from one revision to the other."

CID-10 V2008 (DataSUS / CBCD, bundled)

© World Health Organization; Brazilian Portuguese translation © CBCD / Faculdade de Saúde Pública da USP; electronic files published by DataSUS (Ministério da Saúde do Brasil). DataSUS/CBCD permission: developers may use the files with due credit and at no charge — this server serves them free with credit in every response. Not under this project's MIT license.

LOINC

This material contains content from LOINC (http://loinc.org). LOINC is copyright © Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee and is available at no cost under the license at http://loinc.org/license. LOINC® is a registered United States trademark of Regenstrief Institute, Inc.

  • Served via the free NLM Clinical Tables API; every code comes with its official display name

  • Terms with third-party copyright are served with their notice passed through verbatim

RxNorm

RxNorm is produced by the U.S. National Library of Medicine; the RxNav APIs serve non-proprietary, public-domain RxNorm content free of charge.

This product uses publicly available data from the U.S. National Library of Medicine (NLM), National Institutes of Health, Department of Health and Human Services; NLM is not responsible for the product and does not endorse or recommend this or any other product.

ATC (via NLM RxClass)

ATC classification © WHO Collaborating Centre for Drug Statistics Methodology (https://atcddd.fhi.no/), retrieved via NLM RxClass and served verbatim. This server never redistributes the WHOCC ATC/DDD index.

MeSH

MeSH is a U.S. government work served free of charge under the NLM Terms and Conditions. The NLM statement above (RxNorm) applies to this channel as well.

Surface fingerprint, checkable from the registry

Every release publishes, in its MCP Registry entry, the sha256 of the surface this version serves (initialize, tools, resources, prompts) and which methods answer without a credential. A surface change without a version bump fails the build; the fingerprint in the registry lets a client check the same thing on its own side. Canonical form and procedure: SPEC.md of @sbissoli/mcp-surface. To check it yourself (Node 18+, no dependencies):

curl -sO https://raw.githubusercontent.com/SidneyBissoli/mcp-br-commons/main/packages/mcp-surface/exemplos/verify.mjs
node verify.mjs io.github.SidneyBissoli/medical-terminologies-mcp

API Rate Limits

This server implements rate limiting to respect API providers:

API

Rate Limit

WHO ICD-11

5 requests/second

NLM (LOINC, MeSH)

10 requests/second

RxNorm

20 requests/second

Development

Building from source

git clone https://github.com/SidneyBissoli/medical-terminologies-mcp.git
cd medical-terminologies-mcp
npm install
npm run build

Running locally

npm start

Testing with MCP Inspector

npx @modelcontextprotocol/inspector node dist/index.js

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository

  2. Create your feature branch (git checkout -b feature/AmazingFeature)

  3. Commit your changes (git commit -m 'Add some AmazingFeature')

  4. Push to the branch (git push origin feature/AmazingFeature)

  5. Open a Pull Request

Author

Sidney da Silva Pereira Bissoli

License

This project is licensed under the MIT License - see the LICENSE file for details.

Note: While this software is MIT licensed, the medical terminologies accessed through it have their own licenses (see Terminology Licenses above).

Acknowledgments

Support

If you encounter any issues or have questions:

  • Open an issue on GitHub

  • Check existing issues for solutions


Made with love for the medical informatics community

Available Tools

33 tools
atc_classifyATC Classification for a DrugA
Read-onlyIdempotent
Inspect

Look up the WHO ATC (Anatomical Therapeutic Chemical) classification(s) for a drug by name.

Use this tool to:

  • Find the ATC code for a medication (e.g., "metformin" → A10BA02)

  • Identify the therapeutic and pharmacological class hierarchy

  • Cross-reference drugs with their international ATC codes

Returns one entry per ATC code the drug belongs to. A single-ingredient drug typically maps to one substance-level code; combination products map to multiple. ATC codes are international (WHO Collaborating Centre); this tool retrieves them via NLM RxClass.

Input is a drug NAME (brand or generic, English/US naming as in RxNorm). A name RxNorm does not recognize, or a drug without an ATC mapping, returns an empty matches list with an explanatory note — not an error; try the generic name, or resolve the name first with rxnorm_search.

Which ATC tool: start here when you have a drug name; use atc_lookup when you already have a class code (level 1-4, e.g. "A10BA") and want its name; use atc_members to list the drugs inside a class.

NameRequiredDescriptionDefault
drug_nameYesDrug name to classify (brand or generic, e.g., "metformin")

Output Schema

NameRequiredDescription
matchesYesATC classes NLM RxClass assigns to the drug, one entry per RxNorm concept and ATC class pair; empty when the drug is unknown or has no ATC mapping.
drug_nameYesThe drug name as submitted.
provenanceYesProvenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license
attributionYesCanonical source URLs of this response (attribution list)

TDQS

A5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly, idempotent, openWorld, non-destructive), and the description goes well beyond them: cardinality of results (one entry per ATC code, single-ingredient vs combination), the fact that an unresolved name or unmapped drug returns an empty `matches` list rather than an error, and the retrieval source (NLM RxClass, WHO codes). That empty-vs-error distinction is exactly the behavioral detail an agent cannot get from structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded purpose sentence, then scannable bullets for use cases, then return semantics, then input caveats, then sibling routing. Length is justified by the routing decision it resolves; no sentence merely restates the title or the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Single-parameter, read-only lookup with an output schema present — the description need not explain return structure, yet it still characterizes result cardinality and the empty-result case. Nothing an agent needs to invoke it correctly or interpret a null result is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3; the description earns more by adding naming semantics the schema lacks: brand or generic, English/US naming as in RxNorm, and what happens on a miss. It also warns against resolving outcomes as errors, which shapes how the parameter value should be constructed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb and resource ("Look up WHO ATC classification(s) for a drug by name") with a concrete worked example ("metformin" → A10BA02). The closing "Which ATC tool" paragraph explicitly separates it from atc_lookup and atc_members, so an agent can disambiguate without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

States exactly when to start here ("when you have a drug name") and names the two alternatives with the precise condition that selects each (class code level 1-4 → atc_lookup; list drugs in a class → atc_members). It even prescribes a fallback path ("resolve the name first with rxnorm_search") for the empty-result case.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

atc_lookupATC Code DetailsA
Read-onlyIdempotent
Inspect

Look up an ATC code at level 1-4 to get its name and hierarchy level.

Use this tool to:

  • Resolve an ATC code (e.g., "A10BA") to its class name ("Biguanides")

  • Confirm a code exists in the current ATC index

  • Identify the level (anatomical / therapeutic / pharmacological / chemical)

Accepts codes 1-5 characters long: "A" (anatomical), "A10" (therapeutic), "A10B" (pharmacological), "A10BA" (chemical). Substance-level codes (7 chars, e.g., "A10BA02") are not exposed by this endpoint — use atc_classify with the drug name to retrieve the substance code.

NameRequiredDescriptionDefault
atc_codeYesATC code at level 1-4 (1-5 chars). Substance-level codes (7 chars, e.g., A10BA02) are not exposed by this endpoint — use atc_classify with the drug name instead.

Output Schema

NameRequiredDescription
foundYesWhether RxClass knows the code at level 1-4; false for unknown and for 7-character substance codes.
detailsYesThe ATC class (code, name, level type); null when found=false.
atc_codeYesThe ATC code as submitted.
provenanceYesProvenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license
attributionYesCanonical source URLs of this response (attribution list)

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive/openWorld, so safety is covered; the description adds real behavioral context by disclosing the endpoint's ceiling (only levels 1-4 exposed) and that lookups double as existence checks. It does not discuss error behavior for codes valid in format but absent from the index, which is the only notable gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Opens with a one-line purpose statement, then scannable bullets, then the key constraint — well front-loaded. The substance-level caveat appears both as a general statement and inside the code-length enumeration, a minor redundancy for a single-parameter tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

One parameter, 100% schema coverage, a rich output schema, and full annotations mean the description needn't explain return values. It covers purpose, valid input space, exclusion of substance codes, and the sibling alternative — everything needed to invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% so baseline is 3, but the description goes beyond the schema by mapping each code length to its level name (A = anatomical, A10 = therapeutic, A10B = pharmacological, A10BA = chemical), which helps an agent construct valid input. The 7-char restriction is restated from the schema rather than added.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (look up) plus resource and scope (ATC code at level 1-4), and says what is returned (name and hierarchy level). The closing sentence explicitly names atc_classify as the sibling handling a different case, so the boundary is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Three bullets give concrete when-to-use cases (resolve a code, confirm existence, identify level), and the final sentence states an explicit exclusion plus the alternative to use instead (atc_classify for 7-char substance codes). No inference required.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

atc_membersATC Class MembersA
Read-onlyIdempotent
Inspect

List the drugs (substances) that belong to an ATC class.

Use this tool to:

  • Enumerate all members of a therapeutic class (e.g., "A10BA" → metformin, phenformin)

  • Build a list of drugs sharing a pharmacological mechanism

  • Explore an ATC subtree at any level

Each member includes its substance-level (7-char) ATC code via source_atc_code, useful for disambiguation when the queried class is at level 1-4. RxNorm's catalog is US-centric; the ATC class names and codes themselves are international.

NameRequiredDescriptionDefault
atc_codeYesATC code at any level. Higher levels (1-4) return all member substances; level 5 returns the single substance.

Output Schema

NameRequiredDescription
membersYesRxNorm drug concepts in the ATC class (all member substances for levels 1-4); empty when the code is unknown or has no RxNorm-mapped members.
atc_codeYesThe ATC code as submitted.
provenanceYesProvenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license
attributionYesCanonical source URLs of this response (attribution list)

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive, so the safety bar is low; the description adds real context beyond them — that each member carries a substance-level 7-char source_atc_code for disambiguation, and that RxNorm's catalog is US-centric while ATC names/codes are international. It stops short of discussing rate limits or result-size behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core statement is front-loaded in the first line, with bullets doing scannable work afterwards; the closing caveat about US-centricity is the only part an agent might skip. Efficient, with minor redundancy against the schema wording.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists, so return values need no explanation, yet the description still names a key returned field (source_atc_code) and its disambiguation use. Combined with the level/subtree guidance and the catalog-bias note, an agent has what it needs; only explicit sibling routing is absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the schema's own property description already explains that levels 1-4 return all member substances and level 5 returns the single substance. The description's 'at any level' and subtree bullets restate that rather than adding format or validation guidance, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource ('List the drugs (substances) that belong to an ATC class') and immediately grounds it with a concrete example ('A10BA' → metformin, phenformin). An agent can distinguish this from atc_classify/atc_lookup without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Three explicit 'Use this tool to' bullets give concrete scenarios (enumerate class members, build mechanism-shared drug lists, explore a subtree). It lacks an explicit 'when not to use' or a named alternative among the ATC siblings, which keeps it short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cid10_chapterCapítulo da CID-10A
Read-onlyIdempotent
Inspect

Get one CID-10 chapter and its constituent groups (e.g., "Chapter IX → I00-I02 Febre reumática aguda, I05-I09 Doenças reumáticas crônicas do coração, ...").

Use this tool to:

  • Drill from a chapter into its groups (code ranges with Portuguese titles)

  • Build hierarchical browsers

  • Find which group contains a code range

Provide the chapter number num as an integer 1-22 (chapter I = 1, IX = 9). Numbers outside 1-22 are rejected with a validation error. Returns the chapter (title and code range) plus ALL its groups in one response — no pagination; the 22 chapters hold 275 groups in total. Answered locally from the bundled CID-10 V2008; no network call.

Which CID-10 tool: use cid10_chapters first if you do not know the chapter number (it lists all 22 with code ranges); use cid10_lookup for one specific code and cid10_search to find codes by Portuguese text. For the international ICD-11, use icd11_chapters.

NameRequiredDescriptionDefault
numYesChapter number (1-22). CID-10 V2008 has 22 chapters.

Output Schema

NameRequiredDescription
numYesThe chapter number as submitted.
foundYesWhether the chapter exists in CID-10 V2008.
groupsYesGroups (code-range blocks) of the chapter, each with its range and Portuguese title; empty when found=false.
chapterYesThe chapter (number, code range, Portuguese title); null when found=false.
provenanceYesProvenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license
attributionYesCanonical source URLs of this response (attribution list)

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnly/idempotent annotations, it discloses the out-of-range rejection behavior, that all groups come back in one response with no pagination (275 groups across 22 chapters, so response size is bounded), and that results come from the bundled CID-10 V2008 with no network call. The 'no network call' statement sits in mild tension with openWorldHint=true, but that hint describes the domain of entities rather than transport, so it reads as added context rather than a contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with a one-line purpose plus example, then a compact bulleted use list, a parameter note, and a sibling-routing line. Every sentence carries distinct information (validation behavior, response size, data source, alternatives) with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, yet the description still gives enough about the return payload (chapter title + code range + ALL groups, unpaginated) for an agent to plan around volume and shape. Combined with the validation rule and offline-data note, nothing needed to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline would be 3; the description earns more by supplying the roman-numeral-to-integer mapping ('chapter I = 1, IX = 9') that the schema does not express, plus the explicit rejection of values outside 1-22. The remaining repetition of the 1-22 integer type is redundant with the schema, capping it below 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Get one CID-10 chapter and its constituent groups') and immediately illustrates the return shape with a concrete example (Chapter IX → I00-I02, I05-I09). It also distinguishes itself from the sibling navigation tools cid10_chapters, cid10_lookup and cid10_search, so an agent can select it without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly enumerates the three intended uses (drill into groups, build hierarchical browsers, resolve a code range to a group) and gives an ordered fallback: 'use cid10_chapters first if you do not know the chapter number'. It also names cid10_lookup for single codes, cid10_search for text search, and icd11_chapters for the international edition.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cid10_chaptersCapítulos da CID-10A
Read-onlyIdempotent
Inspect

List the 22 chapters of CID-10 with their code ranges and Portuguese titles.

Use this tool to:

  • See the top-level structure of CID-10 (chapters I-XXII, e.g., "I. Algumas doenças infecciosas e parasitárias", "IX. Doenças do aparelho circulatório")

  • Map a code to its chapter by code range (e.g., I00-I99 → chapter IX)

  • Build a navigable table of contents for downstream tooling

Returns 22 entries — CID-10 V2008 has not been updated since 2008.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
chaptersYesThe 22 chapters of CID-10 V2008, each with its number, code range and Portuguese title.
provenanceYesProvenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license
attributionYesCanonical source URLs of this response (attribution list)

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish read-only, idempotent, non-destructive behavior, and the description adds useful context: exactly 22 entries and the CID-10 V2008 version limitation. It does not need to explain safety further, though it could mention output shape or ordering more explicitly.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core action, followed by three scannable use cases and a short return note. Each sentence adds practical value without unnecessary detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a no-parameter list tool with an output schema and rich annotations, the description supplies enough context: scope, examples, intended uses, entry count, and version limitation. An agent has what it needs to select and invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so there are no parameter semantics to explain. Baseline 4 is appropriate because the schema is empty and no parameter-level description is required.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: "List the 22 chapters of CID-10" with code ranges and Portuguese titles. It clearly describes the top-level chapter listing, which is distinguishable from singular chapter lookup and code-search siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit use cases: viewing top-level structure, mapping a code to a chapter by range, and building a table of contents. It does not explicitly name alternatives such as cid10_chapter or cid10_lookup, so it falls short of full when-not/alternative guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cid10_lookupConsultar Código CID-10A
Read-onlyIdempotent
Inspect

Look up a specific CID-10 code and return its Portuguese name.

Use this tool to:

  • Resolve a code to its Brazilian description ("I21" → "Infarto agudo do miocárdio")

  • Confirm a 3-char category or 4-char subcategory exists in CID-10

  • Retrieve gender / cause-of-death restriction flags when applicable

Accepts both dotted ("A00.1") and undotted ("A001") forms; returns the canonical display.

NameRequiredDescriptionDefault
codeYesCID-10 code (e.g., "A00", "A00.1", "A001", "I21"). Dotted and undotted forms both accepted.

Output Schema

NameRequiredDescription
hitYesThe CID-10 entry (Portuguese title, chapter, group, restrictions); null when found=false.
codeYesThe CID-10 code as submitted.
foundYesWhether the code exists in CID-10 V2008.
provenanceYesProvenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license
attributionYesCanonical source URLs of this response (attribution list)

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With readOnly/idempotent/non-destructive declared by annotations, the description adds real behavioral context: it normalizes input formats and returns a canonical display form, and it discloses that gender/cause-of-death restriction flags may come back. It does not mention behavior when a code does not exist (error vs. empty result), which matters for exact-match lookups.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded one-sentence purpose followed by three scannable intent bullets; nothing is padded. Minor waste in the closing sentence, which restates the dotted/undotted acceptance already given in the schema and duplicates the first bullet's resolution concept.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter, idempotent read with an output schema, the description covers intent, input forms, and the kinds of values returned. The remaining gap is failure behavior on unknown or invalid codes, which an agent would want before relying on this for validation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the schema description already states that dotted and undotted forms are accepted, so the description's duplicate claim adds little. The only extra signal is that normalization produces a canonical display, which is a return-shape note rather than parameter meaning, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('look up a specific CID-10 code') plus the concrete return artifact ('its Portuguese name'), and the example 'I21' → 'Infarto agudo do miocárdio' makes the operation unmistakable. Against siblings like cid10_search or cid10_chapter, 'a specific code' clearly implies exact-code resolution rather than text search or hierarchy browsing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Use this tool to:' enumerates three concrete intents (resolve to description, confirm existence, retrieve restriction flags), which gives the agent clear selection criteria. It lacks an explicit exclusion pointing at cid10_search for when the agent has a name rather than a code, so it stops short of full alternative routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

fetchDeep Research DocumentA
Read-onlyIdempotent
Inspect

Returns the full document for an id obtained from search, as { id, title, text, url, metadata }: text is the readable content (Markdown) and url the canonical public page to cite.

Companion of search in the OpenAI Deep Research contract, over the medical terminologies (CID-10 categories and chapters, ICD-11, LOINC, RxNorm, MeSH, terminology version records) catalog. Only ids returned by search are valid; an unknown id returns an error. The terminology tools (icd11_*, cid10_*, loinc_*, rxnorm_*, mesh_*, atc_*, map_*, find_equivalent, validate_codes) remain the tools for data queries.

Behavior: read-only and idempotent — a live GET against the public source when the document needs it.

NameRequiredDescriptionDefault
idYesIdentifier of a document returned by `search`

Output Schema

NameRequiredDescription
idYesUnique identifier of the document on this server; what `fetch` takes
urlYesCanonical public URL of the document — ChatGPT's citation depends on it
textYesFull readable content of the document (Markdown)
titleYesHuman-readable title of the document
metadataNoAdditional key/value pairs about the document (kind, source, period…)
provenanceYesProvenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license
attributionYesCanonical source URLs of this response (attribution list)

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive and open-world. The description adds real context beyond them: only ids from `search` are valid, an unknown id returns an error, and a live GET hits the public source. The error behavior is the most valuable disclosure. Minor gap: no mention of rate limits or failure modes on the live fetch.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Return shape and the search dependency come first, which is the right front-loading. Three compact paragraphs with no filler. The listing of individual terminology tool prefixes is slightly noisy but functional.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, yet the description still clarifies the two fields an agent must reason about (Markdown `text`, canonical `url`), covers the id contract, error behavior and the read-only live-fetch model. Nothing needed to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

One parameter documented at 100% schema coverage, so the baseline is satisfied. The description goes further by constraining provenance of the id ('only ids returned by `search`'), which the schema's terse 'Identifier of a document returned by `search`' only partially captures.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb (Returns) and resource (the full document for an id), with the exact return shape ({id, title, text, url, metadata}) spelled out. It names its only companion, `search`, and states the id must come from it, so the agent can distinguish it from every sibling at a glance.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit when-to-use ('id obtained from `search`') and when-not: it tells the agent that unknown ids error out and that data queries belong to the terminology tools (`icd11_*`, `loinc_*`, etc.). This routing guidance is exactly what separates it from the ~30 siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_equivalentFind Equivalents Across TerminologiesA
Read-onlyIdempotent
Inspect

Ranked unified search for equivalent terms across multiple medical terminologies.

Use this tool to:

  • Find the same concept in different coding systems

  • Compare how terminologies represent a concept

  • Support terminology mapping and data integration

Searches across: ICD-11, LOINC, RxNorm, and MeSH. Set target_terminologies to limit which are searched, or set source_terminology to exclude one (e.g. when you already have a code from that terminology and want equivalents elsewhere). The two combine: source is subtracted from targets. limit caps candidates per terminology (default 5, max 10).

Every candidate carries match_score (lexical similarity to the search term, 0-1) and rank (global position across all searched terminologies) — both computed by this server, since upstreams don't expose comparable relevance scores. Candidates from different terminologies whose titles are lexically identical are clustered in groups — a strong same-concept signal (absence of a group is NOT evidence of non-equivalence).

Searches upstreams in English. For official pt-BR content, use the dedicated tools: icd11_search/mesh_search accept language: "pt", and cid10_search is natively Portuguese.

NameRequiredDescriptionDefault
termYesMedical term to search (e.g., "diabetes", "aspirin")
limitNoMaximum candidates returned PER terminology (1-10, default 5). This is a cap, not a page: the live fan-out has no stable cursor across five upstreams, so raise the limit instead of paging.
source_terminologyNoIf set, this terminology is excluded from the search. Use this when the term came from this terminology and you want equivalents in the others. Combines with target_terminologies by subtraction (source is removed from the target list).
target_terminologiesNoLimit the search to these terminologies. If omitted, all five are searched.

Output Schema

NameRequiredDescription
termYesThe medical term as submitted.
groupsYesCandidates from different terminologies whose normalized titles are identical, grouped as likely the same concept; best match_score first. Empty when nothing groups (not evidence of non-equivalence).
rankingYesSelf-description of the ranking: match_score, rank and groups are computed by this server, not upstream relevance.
resultsYesPer-terminology results, keyed by terminology. A key is absent when that terminology was not searched; found=false with empty items and error null means searched, no hits.
provenanceYesOne provenance block per upstream source that contributed to this response (licenses are never merged; each block carries the origin diagnostics of ITS source)
attributionYesCanonical source URLs of this response (attribution list)
source_terminologyYesTerminology excluded from the search; null when none was given.
searched_terminologiesYesTerminologies actually searched: the targets minus source_terminology. Empty when nothing was left to search.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnly/idempotent/openWorld annotations by disclosing derived fields the server computes itself ('match_score', 'rank') because upstreams lack comparable relevance scores, and by explaining the 'groups' clustering signal plus the caveat that absence of a group is not evidence of non-equivalence. It also discloses the English-only upstream behavior, which materially affects result interpretation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose first, then three short usage bullets, then the mechanics (systems, source/target interaction, limit, scoring, grouping), then the language caveat — a deliberately ordered funnel. Every sentence adds either routing information or result-interpretation guidance; nothing is filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a four-param, five-upstream fan-out tool with an output schema present, the description covers exactly what the schema cannot: cross-terminology semantics, score provenance, grouping interpretation, and language limitations. No gap remains that would cause an agent to mis-call or mis-read the output.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the parameters are already well documented in-schema, but the description adds the non-obvious interaction rule that source is subtracted from targets, and reinforces that limit is a per-terminology cap rather than a page. Much of the remaining parameter text restates what the schema already says, so it sits just above the baseline rather than transforming understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource — 'ranked unified search for equivalent terms across multiple medical terminologies' — and immediately enumerates the covered systems (ICD-11, LOINC, RxNorm, MeSH). An agent can distinguish this cross-terminology mapper from single-vocabulary siblings like icd11_search or rxnorm_search without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit 'use this tool to' cases (find the same concept in other systems, compare representations, support mapping/integration) and explains the source_terminology exclusion pattern with a concrete scenario. It also routes away to alternatives by name when official pt-BR content is needed (icd11_search, mesh_search, cid10_search).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

harmonize_termsHarmonize Free-Text Terms to Standard CodesA
Read-onlyIdempotent
Inspect

Map a LIST of free-text clinical terms to standard codes in one call, with ranked candidates and a confidence label for each — the building block of a reviewable crosswalk.

Use this tool to:

  • Harmonize a column of diagnoses, drugs or lab names from a dataset to ICD-11 / RxNorm (+ ATC) / LOINC

  • Triage which terms map cleanly (exact / strong) and which need a person (needs_review)

  • Build a crosswalk you can audit: every row keeps its candidates, scores and sources

Give each term its domain: diagnosis → ICD-11; drug → RxNorm concepts (ingredients first) plus the ATC classes of the term; lab → LOINC. Up to 50 terms per call — a longer list is refused with a validation error: split it into batches of 50. Repeated term+domain pairs are looked up once. max_candidates keeps 1-5 per term (default 3).

Every candidate carries match_score (lexical, 0-1, the find_equivalent formula) and match_type: exact = same words after normalization; strong = every term word is in the title (or the matched synonym) and score ≥ 0.85; needs_review = anything else. A one-word term is exact or needs_review, never strong ("Tylenol" vs "Tylenol PM" is a different product). Synonyms, abbreviations ("MI", "HbA1c") and misspellings land in needs_review or no_candidates — the label errs toward asking a person. Candidates sharing no word with the term are dropped, as are LOINC codes named "Deprecated". For diagnoses, a candidate is also scored against the synonyms WHO matched (e.g. "hypertension NOS" for Essential hypertension), reported in matched_label; postcoordinated clusters (codes with "/" or "&") are left out — build those with icd11_postcoordination. Lab names are ambiguous without specimen and property: "glucose" matches over a thousand LOINC codes, so write "glucose serum" or expect needs_review. One failed lookup does not fail the batch: that row comes back with status "error".

Terms are searched in English and sent to the WHO and NLM APIs — de-identify the list first. For Brazilian Portuguese diagnoses use cid10_search; to check codes you already have, use validate_codes; for one term across every terminology, use find_equivalent. Record the vocabulary versions with the provenance blocks (one per source) and terminology_versions.

NameRequiredDescriptionDefault
termsYesTerms to harmonize, each with its domain. Up to 50 per call; repeated term+domain pairs are looked up once.
max_candidatesNoCandidates kept per term, best first (1-5, default 3).

Output Schema

NameRequiredDescription
totalYesTerms submitted.
countsYesSubmitted terms tallied by outcome (best-candidate match_type, no candidates, or error); the five counts add up to total.
rankingYesSelf-description of the ranking: match_score and match_type are computed by this server, not upstream relevance.
resultsYesOne entry per submitted term, in request order.
provenanceYesOne provenance block per upstream source that contributed to this response (licenses are never merged; each block carries the origin diagnostics of ITS source)
attributionYesCanonical source URLs of this response (attribution list)
unique_lookupsYesDistinct term+domain pairs actually looked up.

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare safety/idempotency; the description goes far past them with the 50-term hard limit and its validation error, per-row error isolation ('one failed lookup does not fail the batch'), dedup of repeated term+domain pairs, dropped-candidate rules (no shared word, 'Deprecated' LOINC, postcoordinated clusters), English-only searching, and a de-identification warning because terms go to WHO/NLM APIs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action, then a scannable bullet block, then limits, label semantics, and alternatives in that order — the structure is easy to navigate. Some content duplicates the schema (domain routing) and the match_type rules run long, but every sentence carries operational information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a batched, open-world, partially-failing lookup tool this covers everything an agent needs: batching limits, per-row error handling, label semantics for triage, data-sensitivity caveat, and a pointer to terminology_versions plus per-source provenance for reproducibility. Output schema exists, so return-shape detail is correctly omitted.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3; the description still adds value by re-framing domain as a vocabulary route (RxNorm ingredients first, plus ATC classes of the term) and by spelling out that max_candidates keeps 1-5 per term with default 3, and that repeats are looked up once. It doesn't add syntax beyond the schema, so not a 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Map a LIST of free-text clinical terms to standard codes') and names the output shape (ranked candidates with confidence labels). It also explicitly differentiates itself from siblings: find_equivalent for single terms across terminologies, cid10_search for pt-BR diagnoses, validate_codes for checking existing codes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

A dedicated 'Use this tool to' block enumerates the three concrete scenarios (dataset columns, triage by label, auditable crosswalk), and the closing paragraph names each alternative with the condition that selects it. Nothing is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

icd11_chaptersList ICD-11 ChaptersA
Read-onlyIdempotent
Inspect

List all ICD-11 chapters (top-level categories) of the pinned WHO release.

Use this tool to:

  • Get an overview of ICD-11 structure

  • Find which chapter covers a body system or condition type

  • Get chapter URIs to drill down with icd11_hierarchy (direction 'children')

Returns 28 entries in one response, no pagination — chapters 01-26 plus the supplementary sections V (functioning) and X (extension codes) — each with number, code, title and URI. Each chapter is fetched separately from WHO; if one fetch fails, that entry keeps its URI and carries an error instead of a title, and the rest still come back. Set language for WHO's official translations (e.g. language: "pt"); the result is cached, so repeated calls are cheap.

When NOT to use: to find a specific disease, use icd11_search; for the Brazilian CID-10 (ICD-10) chapters, use cid10_chapters.

NameRequiredDescriptionDefault
languageNoLanguage code (default: en). Returns the source's OFFICIAL translation when it exists (e.g. 'pt' for official Portuguese); content is never machine-translated.en

Output Schema

NameRequiredDescription
chaptersYesTop-level ICD-11 MMS chapters in WHO order; a chapter the WHO failed to return keeps its number and URI, with error set and the other fields null.
provenanceYesProvenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license
attributionYesCanonical source URLs of this response (attribution list)

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnly/idempotent annotations: it discloses the exact result size (28 entries, no pagination), the composition of the list (01-26 plus V and X), and the partial-failure contract where an individual chapter keeps its URI and carries an `error` instead of a title. It also notes WHO-side per-chapter fetching and result caching, which materially affects retry and cost decisions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose, then scenarios, then return/failure behavior, then exclusions — a logical order. The field enumeration ('number, code, title and URI') is redundant given the output schema, but the rest of the prose earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter, read-only listing tool with an output schema and full annotations, everything an agent needs is present: scope, result size, failure semantics, caching, language behavior, and sibling routing. No gap remains that would cause a misinvocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with an enum, so the baseline is 3; the description still adds practical value by showing a concrete invocation (`language: "pt"`) and tying the parameter to a caching consequence. It slightly repeats the schema's 'official translation' wording rather than extending it, keeping it out of 5 territory.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb and resource ('List all ICD-11 chapters (top-level categories) of the pinned WHO release'), plus a parenthetical that defines what a chapter is. It is unambiguous against icd11_search and cid10_chapters, which are named explicitly later.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides three explicit 'use this tool to' scenarios (structure overview, body-system routing, obtaining URIs to drill down) and a 'When NOT to use' block that names the correct alternatives (icd11_search for diseases, cid10_chapters for CID-10). Nothing is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

icd11_hierarchyBrowse ICD-11 HierarchyA
Read-onlyIdempotent
Inspect

Navigate the ICD-11 hierarchy to find parent or child entities.

Use this tool to:

  • Find broader categories (parents) of a condition

  • Find specific subtypes (children) of a condition

  • Understand the classification structure

Name the entity by code (a leaf code like "5A11", or a block range like "5A10-5A2Y" — blocks come back from 'parents' with an empty code and a code_range) or by uri (the URI any previous answer returned). Direction 'parents' returns ancestor categories, 'children' returns subcategories. ICD-10 codes (like "E11") are not ICD-11 codes: convert them first with map_icd10_to_icd11.

NameRequiredDescriptionDefault
uriNoEntity URI as returned by icd11_lookup, icd11_search or a previous icd11_hierarchy call
codeNoICD-11 code (e.g., "BA00", "5A11") or block range (e.g., "5A10-5A2Y")
languageNoLanguage code (default: en). Returns the source's OFFICIAL translation when it exists (e.g. 'pt' for official Portuguese); content is never machine-translated.en
directionYesDirection: "parents" for ancestors, "children" for subtypes

Output Schema

NameRequiredDescription
codeYesThe code, block range or URI the walk started from, as submitted.
entitiesYesDirect parents or children of the entity; empty when it has none. Entries the WHO failed to return are left out.
directionYesDirection walked: parents (ancestors) or children (subtypes).
provenanceYesProvenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license
attributionYesCanonical source URLs of this response (attribution list)

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the safety profile is covered. The description adds non-obvious behavioral context, especially that blocks may come back from 'parents' with an empty code and a code_range. It does not discuss authentication, rate limits, or failure behavior, but those are less critical for a read-only hierarchy browse.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with a clear purpose and bulleted use cases, then gives the key invocation details. It is somewhat longer than necessary and repeats the parents/children distinction in both the bullets and the direction sentence, but the redundancy is mild and the content remains useful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema and annotations, the description covers what an agent needs to invoke the tool correctly: when to use hierarchy navigation, how to specify the entity by code or URI, what direction means, and the special block-range caveat. Return-value details are appropriately left to the output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds meaningful semantics beyond the schema by clarifying that 'code' can be a leaf code or block range, that block ranges are returned by 'parents' with an empty code and code_range, and that 'uri' is any URI from a previous answer.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: navigate the ICD-11 hierarchy to find parent or child entities. It immediately distinguishes the tool's two core operations (parents vs. children) and frames the classification structure use case, so an agent can tell this apart from lookup/search siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides explicit use cases for finding broader categories, subtypes, and understanding classification structure. It also gives an important alternative: ICD-10 codes must be converted first with map_icd10_to_icd11. However, it does not explicitly state when to prefer icd11_lookup or icd11_search over hierarchy navigation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

icd11_lookupICD-11 Entity DetailsA
Read-onlyIdempotent
Inspect

Get detailed information about ONE ICD-11 entity you already have a code or URI for.

Use this tool to:

  • Get the full definition of a disease

  • Retrieve coding notes, inclusions and exclusions

  • Get the official title and index terms (synonyms)

Provide code (e.g., "BA00") or uri (any URI a previous answer returned) — at least one is required; calling with neither returns a validation error naming both. Set language for WHO's official translations (e.g. language: "pt" for official Portuguese).

Returns a single entity (no pagination). A code WHO does not know comes back as a "not found" error, never an empty record.

When NOT to use: to find a code from a disease name, use icd11_search first; to walk parents/children, use icd11_hierarchy; for an ICD-10 code (like "E11"), convert it with map_icd10_to_icd11 — ICD-10 codes are not ICD-11 codes.

NameRequiredDescriptionDefault
uriNoFull ICD-11 foundation URI
codeNoICD-11 code (e.g., "BA00", "1A00")
languageNoLanguage code (default: en). Returns the source's OFFICIAL translation when it exists (e.g. 'pt' for official Portuguese); content is never machine-translated.en

Output Schema

NameRequiredDescription
uriYesWHO ICD-11 entity URI.
codeYesICD-11 MMS code (e.g. "BA00"); null for blocks and chapters, which have a code_range instead.
titleYesOfficial title in the requested language ("Unknown" when the WHO returns none).
block_idYesWHO block identifier for blocks; null otherwise.
class_kindYesWHO class kind (e.g. "chapter", "block", "category"); null when the WHO does not state it.
code_rangeYesCode range of a block or chapter (e.g. "BA00-BA0Z"); null for coded categories.
definitionYesOfficial short definition; null when the WHO publishes none.
exclusionsYesExclusion entries (conditions coded elsewhere), each with its URI and label.
inclusionsYesInclusion entries (synonyms and terms included under this entity), each with its URI and label.
provenanceYesProvenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license
attributionYesCanonical source URLs of this response (attribution list)
browser_urlYesLink to the entity in the WHO ICD-11 browser; null when the WHO returns none.
coding_noteYesOfficial coding note; null when the WHO publishes none.
index_termsYesIndex terms that lead to this entity, each with its URI and label.
long_definitionYesOfficial detailed description; null when the WHO publishes none.
diagnostic_criteriaYesOfficial diagnostic criteria text; null when the WHO publishes none.

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover safety (readOnly, idempotent, not destructive), but the description adds real behavioral context: at-least-one-of code/uri requirement with a validation error naming both, single-entity return with no pagination, unknown code returns a "not found" error rather than an empty record, and no machine translation. These are error/edge behaviors the annotations do not express.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action and precondition, then structured bullets for capabilities, then a params paragraph, then exclusions. No redundant restatement of the name or title; every sentence adds usable information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists so return shape need not be described, and the description still covers error semantics, single-record behavior, and language handling. Nothing an agent needs to call this correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds value the schema cannot: it states that at least one of `code` or `uri` is required even though the schema lists zero required parameters, and it clarifies that `language` selects WHO's official translation rather than translating content.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("Get detailed information about ONE ICD-11 entity") and immediately scopes it to entities the caller already has a code or URI for. This cleanly separates it from icd11_search, icd11_hierarchy and map_icd10_to_icd11, which are all named.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly lists the use cases (full definition, coding notes, inclusions/exclusions, title and synonyms) and then an explicit "When NOT to use" block routing to icd11_search, icd11_hierarchy and map_icd10_to_icd11, including the caveat that ICD-10 codes like "E11" are not valid here.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

icd11_postcoordinationICD-11 Postcoordination OptionsA
Read-onlyIdempotent
Inspect

List the postcoordination axes WHO allows for one ICD-11 stem code (MMS linearization, pinned release).

Postcoordination means attaching extra detail to a stem code — severity, laterality, anatomy, causing agent, etc. — to build a composite (cluster) code.

Use this tool to:

  • See which axes a stem code accepts before building a composite code

  • Check which axes are REQUIRED vs optional

  • See whether an axis takes one or several values, and how many values it offers

Provide an ICD-11 code (e.g., "BA00"). Returns one entry per axis with axis_name, required, allow_multiple and value_count — the count of allowed values, not the values themselves. A code with no postcoordination, or one WHO does not know, returns an empty axes list (not an error), so check the code with icd11_lookup if the list is unexpectedly empty.

When NOT to use: this does not build or validate a composite code, and it does not list the allowed values; to get a code from a disease name, use icd11_search.

NameRequiredDescriptionDefault
codeYesICD-11 code to get postcoordination info for

Output Schema

NameRequiredDescription
axesYesPostcoordination axes the WHO allows for this code; empty when it has none or the WHO has no postcoordination info for it.
codeYesThe ICD-11 code as submitted.
provenanceYesProvenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license
attributionYesCanonical source URLs of this response (attribution list)

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnly/idempotent/openWorld annotations, the description discloses non-obvious behavior: it covers only MMS linearization at the pinned release, unknown or non-postcoordinated codes return an empty axes list rather than an error, and value_count is a count rather than the values. These are exactly the surprises that would otherwise cause an agent to mis-handle a response.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the definition, then usage bullets, then return behavior, then exclusions. The middle paragraph explaining postcoordination is functional domain context rather than padding, and each subsequent sentence introduces a distinct fact.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, yet the description still summarizes the returned fields and their meaning, plus the empty-list edge case. For a single-parameter read tool with full annotations, there is no gap an agent would need to guess at before calling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single parameter is documented there, so the baseline is 3. The description adds a concrete code format example ('BA00') and ties the parameter to a validation path (check the code with icd11_lookup if the result is unexpectedly empty), which is modest but real added meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence names a specific verb+resource ('List the postcoordination axes') scoped to one ICD-11 stem code, and the following paragraph defines what postcoordination actually is. An agent can distinguish this from icd11_lookup, icd11_hierarchy and icd11_search without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Three explicit 'Use this tool to' bullets give positive triggers (check axes before building a composite, check required vs optional, check cardinality). The 'When NOT to use' block names concrete alternatives — icd11_lookup for code verification, icd11_search for name-to-code — leaving nothing to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

loinc_answersLOINC Answer ListsA
Read-onlyIdempotent
Inspect

Get the list of valid answers for a LOINC questionnaire item.

Use this tool to:

  • Find valid response options for survey questions

  • Get answer codes (LA…) for data entry validation

  • Get the item scores of scored instruments (e.g. PHQ-9: "Not at all" = 0 … "Nearly every day" = 3)

Returns each answer with its LOINC answer code (LA…), text, display order and score (null when the list has none). A valid LOINC code without a defined answer list (e.g. a numeric lab such as 2339-0) returns an empty list; a code LOINC does not know returns a "not found" error.

Only applicable to LOINC codes that represent questions with defined answer sets. For the questions of a whole questionnaire, use loinc_panels; to find a code by name, use loinc_search.

NameRequiredDescriptionDefault
loinc_numYesLOINC number (e.g., "2339-0")

Output Schema

NameRequiredDescription
answersYesAnswer list of the question in display order; empty when the code exists but has no answer list.
loinc_numYesThe LOINC number as submitted.
provenanceYesProvenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license
attributionYesCanonical source URLs of this response (attribution list)

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations by describing the return fields, including LA answer codes, text, display order, and score. It also discloses edge-case behavior: a valid LOINC code without an answer list returns an empty list, while an unknown code returns a not-found error.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the core purpose, then uses a tight bullet list for use cases and a compact paragraph for return/error behavior. No sentence feels redundant or misplaced.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Complete for a one-parameter read-only lookup tool: purpose, applicability, alternatives, return shape, and error cases are all covered. The output schema exists, and the description still adds useful behavioral context without over-explaining.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter is fully documented in the schema with a pattern and example, so the baseline is 3. The description reinforces that the input is a LOINC code and gives contextual examples, but does not add syntax or format details beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: getting valid LOINC answers for a questionnaire item. It clearly distinguishes itself from loinc_panels and loinc_search by naming what each sibling is for.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit use cases and applicability constraints, including that it only applies to LOINC codes representing questions with defined answer sets. It names alternatives for whole questionnaires (loinc_panels) and code lookup by name (loinc_search).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

loinc_detailsLOINC Code DetailsA
Read-onlyIdempotent
Inspect

Get detailed information about a specific LOINC code.

Use this tool to:

  • Get the full name and description of a LOINC code

  • Find the component, property, timing, and system

  • Check the scale type and method

Provide a LOINC number in format "XXXXX-X" (e.g., "2339-0" for Glucose).

NameRequiredDescriptionDefault
loinc_numYesLOINC number (e.g., "2339-0")

Output Schema

NameRequiredDescription
classYesLOINC class the term is grouped under (e.g. "CHEM").
statusYesLOINC term status (e.g. "ACTIVE", "DEPRECATED"); empty when the source omits it.
systemYesLOINC axis 4, System: the specimen or thing observed (e.g. "Bld", "Ser/Plas").
propertyYesLOINC axis 2, Property: the kind of quantity (e.g. "MCnc" = mass concentration).
componentYesLOINC axis 1, Component: what is measured or observed (e.g. "Glucose").
loinc_numYesLOINC number (e.g. "2339-0").
provenanceYesProvenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license
scale_typeYesLOINC axis 5, Scale: Qn (quantitative), Ord, Nom, Nar, etc.
short_nameYesLOINC short name; empty when the source has none.
attributionYesCanonical source URLs of this response (attribution list)
method_typeYesLOINC axis 6, Method; empty when the term specifies none.
time_aspectYesLOINC axis 3, Time: point in time or interval of the observation (e.g. "Pt", "24H").
long_common_nameYesLOINC Long Common Name, the full human-readable name of the term.
external_copyright_noticeYesThird-party copyright notice the term carries, served verbatim (LOINC License §10); null when it carries none.

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, open-world, and non-destructive, so the safety profile is fully covered. The description adds the shape of the returned record (component, property, timing, system, scale, method), but since an output schema exists this largely restates structured data; nothing is said about behavior for unknown or malformed codes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Short, front-loaded, and scannable with a bulleted capability list followed by the input format note. The only slack is the format sentence, which repeats the schema's example.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With rich annotations, a fully documented single parameter, and an output schema, the definition covers what an agent needs to call it correctly. Missing only the relationship to loinc_search and any error behavior for invalid codes.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the schema already provides the pattern and the '2339-0' example. The description's format note ('XXXXX-X', Glucose example) duplicates that, so it adds no semantics beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Get detailed information about a specific LOINC code'), which is unambiguous. However, it never distinguishes itself from siblings like loinc_search, loinc_answers, or loinc_panels, so the agent must infer that this is the lookup-by-identifier path.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The bulleted 'Use this tool to' list implies usage when you already hold a LOINC number, but it names no alternatives and gives no exclusion criteria. The sibling loinc_search is the obvious companion (find a code, then detail it) and is never mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

loinc_panelsLOINC Panel StructureA
Read-onlyIdempotent
Inspect

Get the structure of a LOINC panel or form.

Use this tool to:

  • See all tests included in a panel (e.g., CBC, metabolic panel)

  • Get the structure of assessment forms

  • Find related observations grouped together

Returns the list of LOINC codes that make up the panel.

NameRequiredDescriptionDefault
loinc_numYesLOINC number (e.g., "2339-0")

Output Schema

NameRequiredDescription
panelYesPanel/form definition with its member items; null when no panel structure is found for the code (not a panel, or no definition available).
loinc_numYesThe LOINC number as submitted.
provenanceYesProvenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license
attributionYesCanonical source URLs of this response (attribution list)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive and openWorld, so the safety profile is fully covered without prose. The description adds only that the result is a list of LOINC codes making up the panel — which the output schema already conveys — and says nothing about panel-vs-form differences, missing/empty panels, or hierarchy depth. Adequate but thin beyond structured data.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose sentence is front-loaded, the bullets are short and scannable, and there is no filler. The final 'Returns the list of LOINC codes...' sentence partially duplicates the output schema, which is the only waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With one required parameter, full schema coverage, four annotations, and an output schema, the description covers everything needed to invoke correctly: what it does, when to reach for it, and what shape the answer takes. Nothing essential is missing for a tool of this complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a documented pattern and example ('2339-0'), so the schema fully carries the parameter burden. The description adds only the implication that loinc_num must identify a panel or form rather than an arbitrary LOINC code, which is a small semantic gain. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Get the structure of a LOINC panel or form') and the bullet list clarifies the resource types (panels, assessment forms, grouped observations). It does not explicitly name how it differs from close siblings like loinc_details or loinc_answers, so an agent must infer the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'Use this tool to:' list gives three concrete triggering scenarios (CBC/metabolic panel contents, assessment form structure, related grouped observations), which is clear context for selection. However, it names no exclusions or alternatives — e.g. it never says to use loinc_answers for answer lists or loinc_details for a single test — leaving the agent to disambiguate against 30+ siblings on its own.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

map_icd10_to_icd11Map ICD-10 to ICD-11A
Read-onlyIdempotent
Inspect

Authoritative ICD-10 → ICD-11 mapping using WHO transition tables (release 2025-01, bundled with the server).

Returns the primary 1:1 ICD-11 category for the ICD-10 code plus any alternative ICD-11 candidates that WHO documents (some ICD-10 concepts split into multiple ICD-11 entities). For each mapping, includes the ICD-11 code, title, chapter, and the Foundation URI / Linearization URI for navigating to the full entity definition.

Use this for clinical coding, billing migration, retrospective analysis, and any workflow that needs authoritative mapping rather than text-search candidates. Coverage: 11,243 ICD-10 categories (excludes chapters and blocks like "A00-A09" which aren't used in clinical coding).

Provide a code like "E11" (Type 2 diabetes), "I21" (Acute MI), or "A07.8" (4 alternatives in WHO's table). Both dotted ("A07.8") and undotted ("A078") forms are accepted.

Returns "no mapping" when the code isn't in the WHO category-level table — that's the honest answer rather than a fuzzy search fallback.

NameRequiredDescriptionDefault
icd10_codeYesICD-10 code to query in the ICD-11 search index (e.g., E11, I21.0, J18.9)

Output Schema

NameRequiredDescription
foundYesWhether the code is in the WHO ICD-10 → ICD-11 transition table.
icd10YesSource ICD-10 entry from the WHO table. Null when found=false.
queryYesThe ICD-10 code as submitted (raw, before normalization).
sourceYesThe bundled WHO ICD-10 → ICD-11 transition table release this answer comes from.
primaryYesPrimary 1:1 ICD-11 mapping. Null when found=false.
provenanceYesProvenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license
attributionYesCanonical source URLs of this response (attribution list)
alternativesYesAdditional ICD-11 candidates WHO documents for this ICD-10 code. Empty when the primary is the only documented mapping (or when found=false). 1,461 of the 11,243 indexed codes have non-empty alternatives.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover safety (readOnly, idempotent, non-destructive), so the bar is lower, yet the description still adds substantial context: data provenance and release version, 11,243-category coverage envelope, split-mapping behavior, and the explicit "no mapping" outcome instead of a fuzzy fallback. That last point is particularly valuable for an agent deciding how to interpret an empty result.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core mapping statement and organized into provenance, return contents, usage, and input format. Slightly long for a single-parameter tool, and the return-value paragraph overlaps with the output schema, but no sentence is filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given an output schema exists, the description needn't explain returns, yet it adds the one thing the schema can't convey: what a negative result means ("honest answer rather than a fuzzy search fallback") and what the mapping's domain boundaries are. Nothing an agent needs to call and interpret this tool is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, but the description adds real meaning the schema lacks: both dotted ("A07.8") and undotted ("A078") forms are accepted, and it gives worked examples including one with known multiple alternatives. This directly changes how an agent formats input.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (ICD-10 → ICD-11 mapping) and names the authoritative source (WHO transition tables). It explicitly contrasts itself with text-search siblings ("rather than text-search candidates"), so an agent can distinguish it from icd11_search or find_equivalent without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Names concrete use cases (clinical coding, billing migration, retrospective analysis) and explicitly routes agents away from fuzzy/text-search alternatives. The coverage note (excludes chapter/block codes like "A00-A09") is an implicit when-not-to-use rule that prevents a common mis-call.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mesh_descriptorMeSH Descriptor DetailsA
Read-onlyIdempotent
Inspect

Get detailed information about a MeSH descriptor by ID.

Use this tool to:

  • Get the full definition (scope note) of a MeSH term

  • View tree numbers showing hierarchy location

  • See related concepts and synonyms

Provide a MeSH Descriptor ID like "D015242" (Ofloxacin). Set language to request NLM's official translations where they exist (e.g. language: "pt").

NameRequiredDescriptionDefault
mesh_idYesMeSH Descriptor ID (e.g., D015242, D003920)
languageNoLanguage code (default: en). Returns the source's OFFICIAL translation when it exists (e.g. 'pt' for official Portuguese); content is never machine-translated.en

Output Schema

NameRequiredDescription
idYesMeSH descriptor ID (e.g. "D003920").
uriYesNLM MeSH RDF URI of the descriptor.
labelYesDescriptor heading, in the requested language when NLM publishes that translation.
conceptsYesThe preferred concept with its entry terms (synonyms); non-preferred concepts are not retrieved. Empty when the descriptor names no preferred concept.
provenanceYesProvenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license
qualifiersYesAllowable qualifiers (subheadings) for the descriptor.
scope_noteYesScope note (definition) of the descriptor's preferred concept; empty when it has none.
attributionYesCanonical source URLs of this response (attribution list)
tree_numbersYesTree numbers placing the descriptor in the MeSH hierarchy (e.g. "C18.452.394.750").

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is fully covered. The description adds that translations are NLM-official and never machine-translated, but that same fact is already stated verbatim in the schema's language property description, so net new behavioral disclosure is thin.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The lead sentence is front-loaded and the bullet list is tight, with no filler or repetition across sentences. The example parentheticals are slightly redundant with the schema but do not bloat the text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A two-parameter read-only lookup with full schema coverage and an output schema needs little more; the description covers input format, the nature of the returned content, and language behavior. Nothing an agent needs in order to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the regex pattern plus enum already constrain both parameters, so baseline 3 applies. The description's ID example ('D015242' Ofloxacin) and language example duplicate material already present in the schema rather than adding new semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Get detailed information about a MeSH descriptor by ID') and enumerates what is returned (scope note, tree numbers, related concepts, synonyms). However, it never names the sibling lookup tools (mesh_search, mesh_tree, mesh_qualifiers) to draw a boundary, so differentiation is left implicit through the 'by ID' framing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'Use this tool to:' bullets give clear positive contexts (full definition, hierarchy location, synonyms) and the ID example shows the expected input form. It stops short of stating when NOT to use it or naming the alternative (e.g. use mesh_search when you only have a term string).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mesh_qualifiersMeSH Allowable QualifiersA
Read-onlyIdempotent
Inspect

Get allowed qualifiers (subheadings) for a MeSH descriptor.

Use this tool to:

  • Find which qualifiers can be combined with a descriptor

  • Build precise MeSH search queries

  • Understand aspects that can be specified

Qualifiers refine descriptors (e.g., "Diabetes Mellitus/drug therapy").

NameRequiredDescriptionDefault
mesh_idYesMeSH Descriptor ID (e.g., D015242, D003920)

Output Schema

NameRequiredDescription
mesh_idYesThe MeSH descriptor ID as submitted.
provenanceYesProvenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license
qualifiersYesAllowable qualifiers (subheadings) for the descriptor, each with its ID, URI and label.
attributionYesCanonical source URLs of this response (attribution list)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, openWorld, and non-destructive behavior, so the bar is lower. The description adds domain meaning (qualifiers are subheadings that refine descriptors) and an example, but it does not disclose any further behavioral traits such as error conditions or constraints beyond what the schema and annotations already convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded: the core action appears in the first sentence, followed by a compact usage bullet list and a one-line clarifying example. Every sentence contributes without waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple one-parameter lookup, rich schema, and presence of an output schema, the description covers what the tool does and when to use it. The only notable omission is sibling differentiation, which would help an agent choose between this and mesh_descriptor or mesh_search.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% — the mesh_id parameter has a pattern and examples in the schema. The description adds no parameter-specific information beyond what the schema provides, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Get allowed qualifiers (subheadings) for a MeSH descriptor.' The purpose is unmistakable, but the description never names or distinguishes it from related siblings like mesh_descriptor or mesh_tree.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

A 'Use this tool to' bullet list gives clear usage contexts (finding combinable qualifiers, building queries, understanding specified aspects). It lacks explicit when-not-to-use guidance or alternative-tool routing, but the positive guidance is strong.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mesh_treeMeSH Tree LocationsA
Read-onlyIdempotent
Inspect

Get the tree hierarchy location(s) for a MeSH descriptor.

Use this tool to:

  • See where a term fits in the MeSH hierarchy

  • Understand broader/narrower relationships

  • Find related terms in the same branch

MeSH tree numbers show the hierarchical path (e.g., C14.280.647 for Myocardial Infarction).

NameRequiredDescriptionDefault
mesh_idYesMeSH Descriptor ID (e.g., D015242, D003920)

Output Schema

NameRequiredDescription
mesh_idYesThe MeSH descriptor ID as submitted.
provenanceYesProvenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license
attributionYesCanonical source URLs of this response (attribution list)
tree_numbersYesTree numbers placing the descriptor in the MeSH hierarchy; a descriptor can sit in several branches.

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The description adds real value beyond them by explaining what tree numbers represent and giving a concrete example format (C14.280.647), which tells the agent how to interpret the result.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action, then a scannable bullet list of use cases and a clarifying example. Slightly more verbose than strictly necessary since the bullets partly restate the hierarchy idea, but every line is relevant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter read-only lookup with an output schema, the description covers purpose, use cases, and output interpretation. Nothing about return shape needs explaining because the output schema handles it; only sibling disambiguation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single mesh_id parameter is fully documented with pattern and examples in the schema. The description only restates that the input is a MeSH descriptor, adding no format or constraint detail beyond the structured field, so the baseline applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence states a specific verb and resource ('Get the tree hierarchy location(s) for a MeSH descriptor'), which is unambiguous. It does not explicitly distinguish itself from the close sibling mesh_descriptor, so the agent must infer the boundary rather than being told.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The bullet list gives clear positive triggers (see hierarchy placement, understand broader/narrower relationships, find related terms in a branch). It stops short of stating when not to use it or naming mesh_descriptor/mesh_search as alternatives for those cases, which is why this is not a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rxnorm_classesRxNorm Drug ClassesB
Read-onlyIdempotent
Inspect

Get therapeutic and pharmacologic classes for a drug.

Use this tool to:

  • Find the drug class (e.g., "Beta-blockers", "NSAIDs")

  • Identify therapeutic categories

  • Look up mechanism of action classifications

Returns class IDs, names, and classification sources.

NameRequiredDescriptionDefault
rxcuiYesRxCUI of the drug

Output Schema

NameRequiredDescription
rxcuiYesThe RxCUI as submitted.
classesYesDrug classes NLM RxClass links to the RxCUI (one entry per class and relationship); empty when none.
provenanceYesProvenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license
attributionYesCanonical source URLs of this response (attribution list)

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds only that it returns class IDs, names and classification sources – information that duplicates the output schema. Nothing is said about data source (RxClass), coverage, or latency, so it adds modest value beyond structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with a one-line purpose, then a short bulleted usage list and a return summary. Structurally clean and short, though the bullets largely echo the opening sentence rather than adding new information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only lookup tool with one parameter, full schema coverage and an output schema, the description is adequate but leaves gaps that matter in this family of tools: no differentiation from the ATC classification siblings and no note on what RxCUI granularity is expected.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is a single parameter, rxcui, and schema description coverage is 100%, so the schema already documents it. The description's 'for a drug' adds no format or constraint detail (e.g., whether an ingredient or clinical-drug RxCUI is acceptable). Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Get therapeutic and pharmacologic classes for a drug.' An agent can tell it returns RxNorm/RxClass classification data. It does not explicitly distinguish itself from the similarly-purposed sibling atc_classify, so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'Use this tool to' bullets give implied usage contexts (find drug class, therapeutic categories, mechanism of action), but they restate the purpose rather than discriminate. There is no guidance on when to prefer this over atc_classify or atc_lookup, which are plausible alternatives for the same classification question.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rxnorm_conceptRxNorm Concept DetailsA
Read-onlyIdempotent
Inspect

Get detailed information about a specific RxNorm concept by RxCUI.

Use this tool to:

  • Get the full name and synonyms for a drug

  • Check the concept status (active, remapped, etc.)

  • View related concepts (ingredients, brands, forms)

Provide an RxCUI (RxNorm Concept Unique Identifier) like "161" — as a string of digits or as an integer.

NameRequiredDescriptionDefault
rxcuiYesRxNorm Concept Unique Identifier (string of digits or integer, e.g. "161" or 161)
include_relatedNoInclude related concepts (ingredients, brands, dose forms). Default false; true/false, also accepted as the strings "true"/"false"

Output Schema

NameRequiredDescription
ttyYesRxNorm term type (e.g. "IN" ingredient, "SCD" clinical drug, "SBD" branded drug); null when found=false.
nameYesRxNorm normalized name of the concept; null when found=false.
foundYesfalse when RxNorm has no concept with this RxCUI (the lookup answered; the fields below are null)
rxcuiYesThe RxCUI looked up.
statusYesRxNorm history status (e.g. "Active", "Remapped", "Obsolete"); "Active" when RxNav does not report one; null when found=false.
synonymYesRxNorm synonym (may be empty); null when found=false.
umlscuiYesUMLS Concept Unique Identifier linked to the concept (empty when none); null when found=false.
languageYesLanguage of the concept name as RxNav reports it (e.g. "ENG"); null when found=false.
suppressYesRxNorm suppress flag ("N" = not suppressed, the default when RxNav omits it); null when found=false.
provenanceYesProvenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license
attributionYesCanonical source URLs of this response (attribution list)
remapped_toYesRxCUIs a remapped concept was replaced by; empty otherwise.
related_groupsYesRelated concepts (ingredients, brands, dose forms) grouped by term type; null unless include_related=true.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive, and open-world, so the safety profile is handled. The description adds what the payload contains (full name, synonyms, concept status values like active/remapped, related concept types), which is useful beyond structured fields, though it says nothing about behavior for an unknown or invalid RxCUI.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded one-sentence purpose followed by scannable bullets adds structure. The final sentence re-encodes the RxCUI format already given in the schema, which is mild duplication but not enough to hurt usability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and fully covered annotations, the description needn't explain return shapes, and it correctly focuses on input and scope. The only gap is unstated error behavior for invalid RxCUIs, minor for a simple read-only lookup.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so both parameters are already documented; the description mostly restates the rxcui format ("161", digits or integer) that the schema pattern/anyOf already conveys. It does link 'related concepts (ingredients, brands, forms)' to include_related, a small value-add, but doesn't note the default-false behavior beyond what the schema says.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (get details), resource (RxNorm concept), and identifier (RxCUI), plus an enumerated list of what the details include (name/synonyms, status, related concepts). This clearly separates it from rxnorm_search (querying) and rxnorm_ingredients/rxnorm_classes (targeted sub-views).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'Use this tool to:' bullets give clear conditions for invoking it, and the closing line makes the input requirement explicit. It never states when not to use it or names alternatives such as rxnorm_search for callers who don't yet have an RxCUI, so no exclusions are covered.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rxnorm_ingredientsRxNorm Drug IngredientsA
Read-onlyIdempotent
Inspect

Get active ingredients for a drug by RxCUI.

Use this tool to:

  • Find the active ingredients in a medication

  • Check for single vs. multiple ingredient products

  • Identify the generic components of brand drugs

Returns ingredient RxCUIs and names.

NameRequiredDescriptionDefault
rxcuiYesRxCUI of the drug

Output Schema

NameRequiredDescription
rxcuiYesThe RxCUI as submitted.
provenanceYesProvenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license
attributionYesCanonical source URLs of this response (attribution list)
ingredientsYesIngredient concepts (term types IN and MIN) RxNav relates to the RxCUI; empty when none.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, covering the main behavioral profile. The description adds that it returns ingredient RxCUIs and names, but does not describe error behavior for unknown RxCUIs or other edge cases.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded and well structured, with the core action in the first sentence and use cases in bullets. The bullets partially restate the first sentence, but the overall text is efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a simple one-parameter tool with an output schema and rich annotations, so the description covers the essential purpose and usage. A minor gap remains around unknown-RxCUI behavior, but nothing critical for correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the single rxcui parameter is already documented in the schema. The description only says 'by RxCUI' and does not add format, validation, or lookup semantics beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: get active ingredients for a drug by RxCUI. It is clear what the tool does, but it does not explicitly distinguish itself from nearby RxNorm siblings such as rxnorm_concept or rxnorm_classes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'Use this tool to' bullets give clear usage contexts, including finding active ingredients and distinguishing single- vs. multiple-ingredient products. However, it does not state when not to use it or name alternative tools for related lookups.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rxnorm_ndcRxNorm / NDC MappingA
Read-onlyIdempotent
Inspect

Map between RxNorm concepts and National Drug Codes (NDC).

Use this tool to:

  • Get all NDC codes for a drug (by RxCUI)

  • Find the RxCUI for an NDC code

  • Cross-reference between coding systems

Provide either an RxCUI to get NDCs, or an NDC to get the RxCUI.

NameRequiredDescriptionDefault
ndcNoNDC code to look up RxCUI (alternative to rxcui)
rxcuiNoRxCUI to get NDC codes for

Output Schema

NameRequiredDescription
ndcYesrxcui_for_ndc: the NDC as submitted; null in ndcs_for_rxcui mode.
ndcsYesndcs_for_rxcui: NDC codes RxNorm lists for the RxCUI (empty when none); always empty in rxcui_for_ndc mode.
rxcuiYesndcs_for_rxcui: the RxCUI as submitted. rxcui_for_ndc: the RxCUI the NDC belongs to, or null when RxNorm has none for it.
provenanceYesProvenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license
query_modeYesWhich lookup ran: ndcs_for_rxcui (rxcui given, list its NDCs) or rxcui_for_ndc (ndc given, find its RxCUI).
attributionYesCanonical source URLs of this response (attribution list)

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds that the tool is bidirectional and takes exactly one identifier, but says nothing about cardinality of results (one NDC vs many), unmatched-code behavior, or partial-match handling — the openWorldHint suggests external lookups, yet no failure mode is described.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded one-line purpose followed by scannable bullets and a closing input rule; nothing is buried. The 'Cross-reference between coding systems' bullet is somewhat redundant with the opening sentence, a minor bit of waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and rich annotations, the description need not explain return values, and it correctly covers the input contract. What a caller would still want — what happens when neither parameter is supplied (both are optional) or when a code has no mapping — is left implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and each property already documents its direction ('NDC code to look up RxCUI', 'RxCUI to get NDC codes for'). The description restates the either/or contract, which is useful for signaling mutual exclusivity but adds little beyond the schema wording — baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence names a specific operation and both resource types (RxNorm concepts and NDC codes), and the bullets spell out the two directions of the mapping. It is clearly distinguishable from rxnorm_search or rxnorm_concept by virtue of being a cross-terminology mapping, though it never names a sibling explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'Use this tool to' bullets give concrete tasks and the closing line states the input contract ('Provide either an RxCUI ... or an NDC ...'). It lacks any when-not guidance or named alternative (e.g., use rxnorm_search to find an RxCUI first), which keeps it below a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

terminology_diffTerminology Version DiffA
Read-onlyIdempotent
Inspect

Report what diff data is available between two versions of a terminology.

For most terminologies this is guidance only — the server doesn't ship historical snapshots, so the tool points at the publisher's official changelog and explains the cadence. bundled_versions lists the version(s) this server actually has on hand.

For ICD-10 vs ICD-11 specifically, the tool surfaces a real cross-revision summary from the bundled WHO transition tables (the ICD-10 → ICD-11 case is a structural diff between two WHO revisions). Use terminology: "icd10" with no to_version to get the cross-revision summary: total mapped ICD-10 categories, how many are 1:1 vs split into multiple ICD-11 codes, and the average number of alternatives when split.

Inputs:

  • terminology (required): which terminology to report on.

  • from_version (optional): the version you have data from. If omitted, the tool reports against the currently-bundled version.

  • to_version (optional): the version you want to compare to. If omitted, the tool reports against the publisher's latest known release.

This tool is intentionally a metadata + guidance layer, not a diff engine — for terminologies that change frequently (LOINC, RxNorm, MeSH), the publisher's official changelog is the authoritative source.

NameRequiredDescriptionDefault
to_versionNoVersion you want to compare to. Optional.
terminologyYesWhich terminology to report on.
from_versionNoVersion you have data from. Optional; behavior depends on terminology.

Output Schema

NameRequiredDescription
messageYesExplanation of the answer: what was computed, or why no diff is available and where to look instead.
provenanceYesProvenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license
to_versionYesThe to_version requested; null when not given.
attributionYesCanonical source URLs of this response (attribution list)
terminologyYesThe terminology reported on, as submitted.
from_versionYesThe from_version requested (for icd10, the bundled ICD-10 release when not given); null when not given.
changelog_urlYesPublisher's official changelog for the terminology; null when none is known.
diff_availableYesTrue when this server has the data to compute a real diff for the requested terminology. False = guidance-only response.
bundled_versionsYesVersions of this terminology bundled in the server; empty when the server queries the live upstream.
cross_revision_summaryYesPopulated only for terminology="icd10" today — the bundled WHO ICD-10 → ICD-11 transition tables let us surface a real structural diff between the two WHO revisions.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnly/idempotent annotations by disclosing the crucial behavioral caveat that the server ships no historical snapshots, that bundled_versions reveals what is actually on hand, and what the ICD-10 path returns (total mapped categories, 1:1 vs split counts, average alternatives). This prevents an agent from expecting a real diff.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the key caveat and organized with an Inputs list plus a closing summary. Slightly verbose — the final paragraph largely restates the opening "guidance only" framing — but the redundancy is mild and each block carries useful routing information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 3-parameter, read-only metadata tool with annotations and an output schema, the description covers scope, defaults, expected return shape for the non-trivial case, and explicit fallback guidance. Nothing an agent needs to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, but the description adds default semantics the schema only hints at: omitting from_version reports against the bundled version, omitting to_version reports against the publisher's latest known release, and terminology: "icd10" with no to_version triggers the cross-revision path.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clear specific verb + resource: reports what diff data is available between two versions of a terminology. It explicitly disclaims being a diff engine and frames itself as a metadata/guidance layer, which separates it functionally from map_icd10_to_icd11 and terminology_versions, though it never names those siblings directly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states exactly when this tool is useful (ICD-10 vs ICD-11 cross-revision summary) and when it is not (LOINC, RxNorm, MeSH — go to the publisher's official changelog instead). It also gives the concrete invocation recipe: terminology "icd10" with no to_version.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

terminology_versionsTerminology VersionsA
Read-onlyIdempotent
Inspect

List the current version, release date, publisher, source URL, and update cadence of every terminology this server queries against.

Useful for pipeline maintainers who need to:

  • Confirm which release of ICD-11 / LOINC / RxNorm / MeSH / ATC the server is querying before a batch run.

  • Verify the bundled CID-10 (frozen at V2008) and ICD-10 → ICD-11 transition tables (currently 2025-01) match expectations.

  • Cite the data version in research artifacts.

Pass terminology to filter to a single entry; otherwise the full set of 7 is returned. The ICD-10 → ICD-11 version reads live from the bundled dataset; everything else is metadata maintained alongside the project release.

NameRequiredDescriptionDefault
terminologyNoFilter to a single terminology. Omit to return all 7.

Output Schema

NameRequiredDescription
totalYesNumber of terminologies listed.
generatedYesDate this snapshot was generated.
provenanceYesProvenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license
attributionYesCanonical source URLs of this response (attribution list)
terminologiesYesRelease this server queries for each terminology (all 7, or the one requested): publisher, current version, release date, update cadence, source and changelog links, and whether the data is bundled in the server.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With readOnly/idempotent annotations already covering the safety profile, the description adds genuinely new behavioral facts: the default result set is 7 entries, and the ICD-10 → ICD-11 version is read live from the bundled dataset while the rest is release-maintained metadata. That provenance distinction is real value; it just doesn't discuss ordering or freshness caveats for the metadata entries.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core statement, then a scannable bullet list, then the filtering and data-provenance notes. Slightly long for a one-parameter read tool, and a stray 'CID-10' spelling versus the 'cid10' enum value could momentarily confuse the mapping, but nothing is padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no prose explanation; the description still covers what is returned, the default cardinality, filtering behavior, and where each entry's data comes from. For a simple read-only metadata tool, an agent has everything needed to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 100% and the enum is self-documenting, yet the description still adds meaning beyond the schema by stating the exact set size returned when the filter is omitted ('otherwise the full set of 7 is returned'). This makes the omit-vs-filter tradeoff concrete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('List') and resource (terminology versions), and enumerates the returned fields (version, release date, publisher, source URL, update cadence). It is unmistakably distinct from siblings like terminology_diff or validate_codes, which operate on codes rather than server metadata.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Three concrete use cases are given (pre-batch-run version check, verifying bundled ICD-10/transition tables, citation in research artifacts), which establishes clear context for invocation. It stops short of explicitly naming alternatives or when-not-to-use cases, so it is a strong 4 rather than a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

validate_codesValidate Medical CodesA
Read-onlyIdempotent
Inspect

Validate a mixed batch of medical codes against their source terminologies. Useful for retrospective analysis of legacy databases — flag codes that no longer exist, surface ICD-10 → ICD-11 replacements, and grade activity status where the terminology exposes it.

For each input { code, terminology }, returns:

  • valid: whether the code exists in the source terminology.

  • active: whether the code is currently active. Null when the source doesn't expose an explicit active/inactive distinction at category level (CID-10, ATC, ICD-11, RxNorm, MeSH all return null today; LOINC returns a real boolean).

  • title: the official label/name when available.

  • replaced_by: a successor code, populated today only for ICD-10 codes that have a primary ICD-11 mapping in the bundled WHO transition tables.

  • source: human-readable provenance of the validation (terminology + release/version).

  • error: non-null only when validation couldn't be performed (network error, upstream outage, etc.). valid: false + error: null means "code not found"; valid: false + error: set means "couldn't validate".

Terminology is required per code — auto-detection isn't supported because category codes like "A00" exist in both ICD-10 and CID-10. Accepted values: icd11, icd10, loinc, rxnorm, mesh, atc, cid10.

Hard cap of 50 codes per call; codes are validated in parallel through their respective clients, so total wall time scales with the slowest upstream + its rate limit (worst case ~10 s for a full batch hitting ICD-11).

NameRequiredDescriptionDefault
codesYesList of code+terminology pairs to validate. Hard cap of 50 per call to keep total latency under ~10 s given upstream rate limits.

Output Schema

NameRequiredDescription
totalYesNumber of codes submitted.
resultsYesOne entry per submitted code, in request order.
provenanceYesOne provenance block per upstream source that contributed to this response (licenses are never merged; each block carries the origin diagnostics of ITS source)
attributionYesCanonical source URLs of this response (attribution list)
error_countYesHow many couldn't be validated due to upstream/network errors.
valid_countYesHow many were confirmed valid.
invalid_countYesHow many were not found.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile, yet the description adds substantial beyond structured fields: 50-code cap with latency rationale, parallel execution, rate-limit dependency, and precise null/error semantics distinguishing 'not found' from 'couldn't validate'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose then a clean bullet enumeration of return fields, with the terminology-requirement and cap explained last. Dense but each section is justified; the return-field bullets edge toward restating the output schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A complex batch tool with an output schema, yet the description still clarifies the non-obvious null semantics of active/replaced_by and the valid+error truth table that the schema alone wouldn't convey. Nothing an agent needs to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% so the baseline is 3; the description adds the rationale for why terminology is mandatory per code (A00 ambiguity) and enumerates the accepted values, plus the cap's performance justification. Minor redundancy with the schema, hence 4 not 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (validate) and resource (mixed batch of medical codes against source terminologies). The 'mixed batch' framing plus per-code terminology requirement distinguishes it from the single-code lookup siblings like icd10_lookup and rxnorm_concept.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Frames the use case clearly ('retrospective analysis of legacy databases') with the three outcomes it produces. It doesn't explicitly route away from sibling lookup tools for single-code cases, but the batch/fleet context is clear enough to imply the distinction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 31 tool updatesv2.4.0
    • Changedatc_classify2 fields changed
      • addedOutput schema / properties / drug_name / description
        Added value: +"The drug name as submitted."
      • addedOutput schema / properties / matches / description
        Added value: +"ATC classes NLM RxClass assigns to the drug, one entry per RxNorm concept and ATC class pair; empty when the drug is unknown or has no ATC mapping."
    • Changedatc_lookup3 fields changed
      • addedOutput schema / properties / atc_code / description
        Added value: +"The ATC code as submitted."
      • addedOutput schema / properties / details / description
        Added value: +"The ATC class (code, name, level type); null when found=false."
      • addedOutput schema / properties / found / description
        Added value: +"Whether RxClass knows the code at level 1-4; false for unknown and for 7-character substance codes."
    • Changedatc_members2 fields changed
      • addedOutput schema / properties / atc_code / description
        Added value: +"The ATC code as submitted."
      • addedOutput schema / properties / members / description
        Added value: +"RxNorm drug concepts in the ATC class (all member substances for levels 1-4); empty when the code is unknown or has no RxNorm-mapped members."
    • Changedcid10_chapter4 fields changed
      • addedOutput schema / properties / chapter / description
        Added value: +"The chapter (number, code range, Portuguese title); null when found=false."
      • addedOutput schema / properties / found / description
        Added value: +"Whether the chapter exists in CID-10 V2008."
      • addedOutput schema / properties / groups / description
        Added value: +"Groups (code-range blocks) of the chapter, each with its range and Portuguese title; empty when found=false."
      • addedOutput schema / properties / num / description
        Added value: +"The chapter number as submitted."
    • Changedcid10_chapters1 field changed
      • addedOutput schema / properties / chapters / description
        Added value: +"The 22 chapters of CID-10 V2008, each with its number, code range and Portuguese title."
    • Changedcid10_lookup3 fields changed
      • addedOutput schema / properties / code / description
        Added value: +"The CID-10 code as submitted."
      • addedOutput schema / properties / found / description
        Added value: +"Whether the code exists in CID-10 V2008."
      • addedOutput schema / properties / hit / description
        Added value: +"The CID-10 entry (Portuguese title, chapter, group, restrictions); null when found=false."
    • Changedcid10_search6 fields changed
      • addedOutput schema / properties / hits / description
        Added value: +"Matching CID-10 V2008 codes with their Portuguese titles, chapter and group."
      • addedOutput schema / properties / level / description
        Added value: +"Code level searched: 3-char categories, 4-char subcategories, or all."
      • addedOutput schema / properties / query / description
        Added value: +"The search terms as submitted."
      • addedOutput schema / properties / shown_count / description
        Added value: +"Number of codes returned in hits (at most max_results)."
      • addedOutput schema / properties / total_count / description
        Added value: +"Number of CID-10 codes matching the query, before the max_results cap."
      • addedOutput schema / properties / vocabulary_notes / description
        Added value: +"Present only when a query word was translated to the CID-10's own wording (e.g. \"câncer\" → \"neoplasia maligna\"); says which."
    • Changedfind_equivalent24 fields changed
      • addedOutput schema / properties / groups / description
        Added value: +"Candidates from different terminologies whose normalized titles are identical, grouped as likely the same concept; best match_score first. Empty when nothing groups (not evidence of non-equivalence)."
      • addedOutput schema / properties / ranking / description
        Added value: +"Self-description of the ranking: match_score, rank and groups are computed by this server, not upstream relevance."
      • addedOutput schema / properties / ranking / properties / method / description
        Added value: +"Ranking method: lexical similarity computed by this server."
      • addedOutput schema / properties / ranking / properties / note / description
        Added value: +"How match_score and rank are computed."
      • addedOutput schema / properties / results / description
        Added value: +"Per-terminology results, keyed by terminology. A key is absent when that terminology was not searched; found=false with empty items and error null means searched, no hits."
      • addedOutput schema / properties / results / properties / icd11 / description
        Added value: +"ICD-11 (WHO) candidates; present only when ICD-11 was searched."
      • addedOutput schema / properties / results / properties / icd11 / properties / error / description
        Added value: +"Failure message when the search in this terminology failed (timeout, server error); null when it answered."
      • addedOutput schema / properties / results / properties / icd11 / properties / found / description
        Added value: +"True when this terminology returned at least one candidate."
      • addedOutput schema / properties / results / properties / icd11 / properties / items / description
        Added value: +"Candidates from this terminology, best first (by global rank), at most limit."
      • addedOutput schema / properties / results / properties / loinc / description
        Added value: +"LOINC candidates; present only when LOINC was searched."
      • addedOutput schema / properties / results / properties / loinc / properties / error / description
        Added value: +"Failure message when the search in this terminology failed (timeout, server error); null when it answered."
      • addedOutput schema / properties / results / properties / loinc / properties / found / description
        Added value: +"True when this terminology returned at least one candidate."
      • addedOutput schema / properties / results / properties / loinc / properties / items / description
        Added value: +"Candidates from this terminology, best first (by global rank), at most limit."
      • addedOutput schema / properties / results / properties / mesh / description
        Added value: +"MeSH candidates; present only when MeSH was searched."
      • addedOutput schema / properties / results / properties / mesh / properties / error / description
        Added value: +"Failure message when the search in this terminology failed (timeout, server error); null when it answered."
      • addedOutput schema / properties / results / properties / mesh / properties / found / description
        Added value: +"True when this terminology returned at least one candidate."
      • addedOutput schema / properties / results / properties / mesh / properties / items / description
        Added value: +"Candidates from this terminology, best first (by global rank), at most limit."
      • addedOutput schema / properties / results / properties / rxnorm / description
        Added value: +"RxNorm candidates; present only when RxNorm was searched."
      • addedOutput schema / properties / results / properties / rxnorm / properties / error / description
        Added value: +"Failure message when the search in this terminology failed (timeout, server error); null when it answered."
      • addedOutput schema / properties / results / properties / rxnorm / properties / found / description
        Added value: +"True when this terminology returned at least one candidate."
      • addedOutput schema / properties / results / properties / rxnorm / properties / items / description
        Added value: +"Candidates from this terminology, best first (by global rank), at most limit."
      • addedOutput schema / properties / searched_terminologies / description
        Added value: +"Terminologies actually searched: the targets minus source_terminology. Empty when nothing was left to search."
      • addedOutput schema / properties / source_terminology / description
        Added value: +"Terminology excluded from the search; null when none was given."
      • addedOutput schema / properties / term / description
        Added value: +"The medical term as submitted."
    • Changedharmonize_terms9 fields changed
      • addedOutput schema / properties / counts / description
        Added value: +"Submitted terms tallied by outcome (best-candidate match_type, no candidates, or error); the five counts add up to total."
      • addedOutput schema / properties / counts / properties / error / description
        Added value: +"Terms whose lookup failed."
      • addedOutput schema / properties / counts / properties / exact / description
        Added value: +"Terms whose best candidate is an exact match."
      • addedOutput schema / properties / counts / properties / needs_review / description
        Added value: +"Terms whose best candidate needs review."
      • addedOutput schema / properties / counts / properties / no_candidates / description
        Added value: +"Terms the source answered with no candidates."
      • addedOutput schema / properties / counts / properties / strong / description
        Added value: +"Terms whose best candidate is a strong match."
      • addedOutput schema / properties / ranking / description
        Added value: +"Self-description of the ranking: match_score and match_type are computed by this server, not upstream relevance."
      • addedOutput schema / properties / ranking / properties / method / description
        Added value: +"Ranking method: lexical similarity computed by this server."
      • addedOutput schema / properties / ranking / properties / note / description
        Added value: +"How match_score and match_type are computed."
    • Changedicd11_chapters1 field changed
      • addedOutput schema / properties / chapters / description
        Added value: +"Top-level ICD-11 MMS chapters in WHO order; a chapter the WHO failed to return keeps its number and URI, with error set and the other fields null."
    • Changedicd11_hierarchy3 fields changed
      • addedOutput schema / properties / code / description
        Added value: +"The code, block range or URI the walk started from, as submitted."
      • addedOutput schema / properties / direction / description
        Added value: +"Direction walked: parents (ancestors) or children (subtypes)."
      • addedOutput schema / properties / entities / description
        Added value: +"Direct parents or children of the entity; empty when it has none. Entries the WHO failed to return are left out."
    • Changedicd11_lookup14 fields changed
      • addedOutput schema / properties / block_id / description
        Added value: +"WHO block identifier for blocks; null otherwise."
      • addedOutput schema / properties / browser_url / description
        Added value: +"Link to the entity in the WHO ICD-11 browser; null when the WHO returns none."
      • addedOutput schema / properties / class_kind / description
        Added value: +"WHO class kind (e.g. \"chapter\", \"block\", \"category\"); null when the WHO does not state it."
      • addedOutput schema / properties / code / description
        Added value: +"ICD-11 MMS code (e.g. \"BA00\"); null for blocks and chapters, which have a code_range instead."
      • addedOutput schema / properties / code_range / description
        Added value: +"Code range of a block or chapter (e.g. \"BA00-BA0Z\"); null for coded categories."
      • addedOutput schema / properties / coding_note / description
        Added value: +"Official coding note; null when the WHO publishes none."
      • addedOutput schema / properties / definition / description
        Added value: +"Official short definition; null when the WHO publishes none."
      • addedOutput schema / properties / diagnostic_criteria / description
        Added value: +"Official diagnostic criteria text; null when the WHO publishes none."
      • addedOutput schema / properties / exclusions / description
        Added value: +"Exclusion entries (conditions coded elsewhere), each with its URI and label."
      • addedOutput schema / properties / inclusions / description
        Added value: +"Inclusion entries (synonyms and terms included under this entity), each with its URI and label."
      • addedOutput schema / properties / index_terms / description
        Added value: +"Index terms that lead to this entity, each with its URI and label."
      • addedOutput schema / properties / long_definition / description
        Added value: +"Official detailed description; null when the WHO publishes none."
      • addedOutput schema / properties / title / description
        Added value: +"Official title in the requested language (\"Unknown\" when the WHO returns none)."
      • addedOutput schema / properties / uri / description
        Added value: +"WHO ICD-11 entity URI."
    • Changedicd11_postcoordination2 fields changed
      • addedOutput schema / properties / axes / description
        Added value: +"Postcoordination axes the WHO allows for this code; empty when it has none or the WHO has no postcoordination info for it."
      • addedOutput schema / properties / code / description
        Added value: +"The ICD-11 code as submitted."
    • Changedicd11_search3 fields changed
      • addedOutput schema / properties / entities / description
        Added value: +"Matching ICD-11 MMS entities in WHO relevance order, at most max_results."
      • addedOutput schema / properties / query / description
        Added value: +"The search text as submitted."
      • addedOutput schema / properties / total_count / description
        Added value: +"Number of entities the WHO search returned, before the max_results cap."
    • Changedloinc_answers2 fields changed
      • addedOutput schema / properties / answers / description
        Added value: +"Answer list of the question in display order; empty when the code exists but has no answer list."
      • addedOutput schema / properties / loinc_num / description
        Added value: +"The LOINC number as submitted."
    • Changedloinc_details12 fields changed
      • addedOutput schema / properties / class / description
        Added value: +"LOINC class the term is grouped under (e.g. \"CHEM\")."
      • addedOutput schema / properties / component / description
        Added value: +"LOINC axis 1, Component: what is measured or observed (e.g. \"Glucose\")."
      • addedOutput schema / properties / external_copyright_notice / description
        Added value: +"Third-party copyright notice the term carries, served verbatim (LOINC License §10); null when it carries none."
      • addedOutput schema / properties / loinc_num / description
        Added value: +"LOINC number (e.g. \"2339-0\")."
      • addedOutput schema / properties / long_common_name / description
        Added value: +"LOINC Long Common Name, the full human-readable name of the term."
      • addedOutput schema / properties / method_type / description
        Added value: +"LOINC axis 6, Method; empty when the term specifies none."
      • addedOutput schema / properties / property / description
        Added value: +"LOINC axis 2, Property: the kind of quantity (e.g. \"MCnc\" = mass concentration)."
      • addedOutput schema / properties / scale_type / description
        Added value: +"LOINC axis 5, Scale: Qn (quantitative), Ord, Nom, Nar, etc."
      • addedOutput schema / properties / short_name / description
        Added value: +"LOINC short name; empty when the source has none."
      • addedOutput schema / properties / status / description
        Added value: +"LOINC term status (e.g. \"ACTIVE\", \"DEPRECATED\"); empty when the source omits it."
      • addedOutput schema / properties / system / description
        Added value: +"LOINC axis 4, System: the specimen or thing observed (e.g. \"Bld\", \"Ser/Plas\")."
      • addedOutput schema / properties / time_aspect / description
        Added value: +"LOINC axis 3, Time: point in time or interval of the observation (e.g. \"Pt\", \"24H\")."
    • Changedloinc_panels2 fields changed
      • addedOutput schema / properties / loinc_num / description
        Added value: +"The LOINC number as submitted."
      • addedOutput schema / properties / panel / description
        Added value: +"Panel/form definition with its member items; null when no panel structure is found for the code (not a panel, or no definition available)."
    • Changedloinc_search16 fields changed
      • addedOutput schema / properties / items / description
        Added value: +"Matching LOINC terms in source relevance order."
      • addedOutput schema / properties / items / items / properties / class / description
        Added value: +"LOINC class the term is grouped under (e.g. \"CHEM\")."
      • addedOutput schema / properties / items / items / properties / component / description
        Added value: +"LOINC axis 1, Component: what is measured or observed (e.g. \"Glucose\")."
      • addedOutput schema / properties / items / items / properties / external_copyright_notice / description
        Added value: +"Third-party copyright notice the term carries, served verbatim (LOINC License §10); null when it carries none."
      • addedOutput schema / properties / items / items / properties / loinc_num / description
        Added value: +"LOINC number (e.g. \"2339-0\")."
      • addedOutput schema / properties / items / items / properties / long_common_name / description
        Added value: +"LOINC Long Common Name, the full human-readable name of the term."
      • addedOutput schema / properties / items / items / properties / method_type / description
        Added value: +"LOINC axis 6, Method; empty when the term specifies none."
      • addedOutput schema / properties / items / items / properties / property / description
        Added value: +"LOINC axis 2, Property: the kind of quantity (e.g. \"MCnc\" = mass concentration)."
      • addedOutput schema / properties / items / items / properties / scale_type / description
        Added value: +"LOINC axis 5, Scale: Qn (quantitative), Ord, Nom, Nar, etc."
      • addedOutput schema / properties / items / items / properties / short_name / description
        Added value: +"LOINC short name; empty when the source has none."
      • addedOutput schema / properties / items / items / properties / status / description
        Added value: +"LOINC term status (e.g. \"ACTIVE\", \"DEPRECATED\"); empty when the source omits it."
      • addedOutput schema / properties / items / items / properties / system / description
        Added value: +"LOINC axis 4, System: the specimen or thing observed (e.g. \"Bld\", \"Ser/Plas\")."
      • addedOutput schema / properties / items / items / properties / time_aspect / description
        Added value: +"LOINC axis 3, Time: point in time or interval of the observation (e.g. \"Pt\", \"24H\")."
      • addedOutput schema / properties / query / description
        Added value: +"The search term as submitted."
      • addedOutput schema / properties / shown_count / description
        Added value: +"Number of terms returned in items (at most max_results)."
      • addedOutput schema / properties / total_count / description
        Added value: +"Total number of LOINC terms matching the query at the source, which may exceed the items returned."
    • Changedmap_icd10_to_icd111 field changed
      • addedOutput schema / properties / source / description
        Added value: +"The bundled WHO ICD-10 → ICD-11 transition table release this answer comes from."
    • Changedmesh_descriptor7 fields changed
      • addedOutput schema / properties / concepts / description
        Added value: +"The preferred concept with its entry terms (synonyms); non-preferred concepts are not retrieved. Empty when the descriptor names no preferred concept."
      • addedOutput schema / properties / id / description
        Added value: +"MeSH descriptor ID (e.g. \"D003920\")."
      • addedOutput schema / properties / label / description
        Added value: +"Descriptor heading, in the requested language when NLM publishes that translation."
      • addedOutput schema / properties / qualifiers / description
        Added value: +"Allowable qualifiers (subheadings) for the descriptor."
      • addedOutput schema / properties / scope_note / description
        Added value: +"Scope note (definition) of the descriptor's preferred concept; empty when it has none."
      • addedOutput schema / properties / tree_numbers / description
        Added value: +"Tree numbers placing the descriptor in the MeSH hierarchy (e.g. \"C18.452.394.750\")."
      • addedOutput schema / properties / uri / description
        Added value: +"NLM MeSH RDF URI of the descriptor."
    • Changedmesh_qualifiers2 fields changed
      • addedOutput schema / properties / mesh_id / description
        Added value: +"The MeSH descriptor ID as submitted."
      • addedOutput schema / properties / qualifiers / description
        Added value: +"Allowable qualifiers (subheadings) for the descriptor, each with its ID, URI and label."
    • Changedmesh_search4 fields changed
      • addedOutput schema / properties / descriptors / description
        Added value: +"Matching MeSH descriptors, each with its ID (e.g. \"D003920\"), URI and label."
      • addedOutput schema / properties / match / description
        Added value: +"Match type applied to descriptor labels."
      • addedOutput schema / properties / query / description
        Added value: +"The search term as submitted."
      • addedOutput schema / properties / total_count / description
        Added value: +"Number of descriptors returned (the NLM lookup is capped at max_results, so this is not a total count of all matches)."
    • Changedmesh_tree2 fields changed
      • addedOutput schema / properties / mesh_id / description
        Added value: +"The MeSH descriptor ID as submitted."
      • addedOutput schema / properties / tree_numbers / description
        Added value: +"Tree numbers placing the descriptor in the MeSH hierarchy; a descriptor can sit in several branches."
    • Changedrxnorm_classes2 fields changed
      • addedOutput schema / properties / classes / description
        Added value: +"Drug classes NLM RxClass links to the RxCUI (one entry per class and relationship); empty when none."
      • addedOutput schema / properties / rxcui / description
        Added value: +"The RxCUI as submitted."
    • Changedrxnorm_concept10 fields changed
      • addedOutput schema / properties / language / description
        Added value: +"Language of the concept name as RxNav reports it (e.g. \"ENG\"); null when found=false."
      • addedOutput schema / properties / name / description
        Added value: +"RxNorm normalized name of the concept; null when found=false."
      • addedOutput schema / properties / related_groups / description
        Added value: +"Related concepts (ingredients, brands, dose forms) grouped by term type; null unless include_related=true."
      • addedOutput schema / properties / remapped_to / description
        Added value: +"RxCUIs a remapped concept was replaced by; empty otherwise."
      • addedOutput schema / properties / rxcui / description
        Added value: +"The RxCUI looked up."
      • addedOutput schema / properties / status / description
        Added value: +"RxNorm history status (e.g. \"Active\", \"Remapped\", \"Obsolete\"); \"Active\" when RxNav does not report one; null when found=false."
      • addedOutput schema / properties / suppress / description
        Added value: +"RxNorm suppress flag (\"N\" = not suppressed, the default when RxNav omits it); null when found=false."
      • addedOutput schema / properties / synonym / description
        Added value: +"RxNorm synonym (may be empty); null when found=false."
      • addedOutput schema / properties / tty / description
        Added value: +"RxNorm term type (e.g. \"IN\" ingredient, \"SCD\" clinical drug, \"SBD\" branded drug); null when found=false."
      • addedOutput schema / properties / umlscui / description
        Added value: +"UMLS Concept Unique Identifier linked to the concept (empty when none); null when found=false."
    • Changedrxnorm_ingredients2 fields changed
      • addedOutput schema / properties / ingredients / description
        Added value: +"Ingredient concepts (term types IN and MIN) RxNav relates to the RxCUI; empty when none."
      • addedOutput schema / properties / rxcui / description
        Added value: +"The RxCUI as submitted."
    • Changedrxnorm_ndc4 fields changed
      • addedOutput schema / properties / ndc / description
        Added value: +"rxcui_for_ndc: the NDC as submitted; null in ndcs_for_rxcui mode."
      • addedOutput schema / properties / ndcs / description
        Added value: +"ndcs_for_rxcui: NDC codes RxNorm lists for the RxCUI (empty when none); always empty in rxcui_for_ndc mode."
      • addedOutput schema / properties / query_mode / description
        Added value: +"Which lookup ran: ndcs_for_rxcui (rxcui given, list its NDCs) or rxcui_for_ndc (ndc given, find its RxCUI)."
      • addedOutput schema / properties / rxcui / description
        Added value: +"ndcs_for_rxcui: the RxCUI as submitted. rxcui_for_ndc: the RxCUI the NDC belongs to, or null when RxNorm has none for it."
    • Changedrxnorm_search3 fields changed
      • addedOutput schema / properties / drugs / description
        Added value: +"Matching RxNorm concepts, at most max_results. tty \"APPROX\" marks results of the approximate-match fallback, used when the name matched nothing exactly."
      • addedOutput schema / properties / query / description
        Added value: +"The drug name as submitted."
      • addedOutput schema / properties / total_count / description
        Added value: +"Number of concepts RxNav returned for the name, before the max_results cap."
    • Changedterminology_diff6 fields changed
      • addedOutput schema / properties / bundled_versions / description
        Added value: +"Versions of this terminology bundled in the server; empty when the server queries the live upstream."
      • addedOutput schema / properties / changelog_url / description
        Added value: +"Publisher's official changelog for the terminology; null when none is known."
      • addedOutput schema / properties / from_version / description
        Added value: +"The from_version requested (for icd10, the bundled ICD-10 release when not given); null when not given."
      • addedOutput schema / properties / message / description
        Added value: +"Explanation of the answer: what was computed, or why no diff is available and where to look instead."
      • addedOutput schema / properties / terminology / description
        Added value: +"The terminology reported on, as submitted."
      • addedOutput schema / properties / to_version / description
        Added value: +"The to_version requested; null when not given."
    • Changedterminology_versions2 fields changed
      • addedOutput schema / properties / terminologies / description
        Added value: +"Release this server queries for each terminology (all 7, or the one requested): publisher, current version, release date, update cadence, source and changelog links, and whether the data is bundled in the server."
      • addedOutput schema / properties / total / description
        Added value: +"Number of terminologies listed."
    • Changedvalidate_codes1 field changed
      • addedOutput schema / properties / results / description
        Added value: +"One entry per submitted code, in request order."
  2. 33 tool updatesv2.3.0
    • Changedatc_classify7 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"New value: +"Provenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / derivation_note
        Added value: +{
        +  "description": "What this server computed; present together with derived",
        +  "type": "string"
        +}
      • addedOutput schema / properties / provenance / properties / derived
        Added value: +{
        +  "description": "Present (true) only when this server computed the value (e.g. a ranking or summary statistics) instead of passing on what the source returned",
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / provenance / properties / field_sources / description
        Previous value: -"Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"New value: +"Present only when the response joins parts from different origins or extraction instants: for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"
      • addedOutput schema / properties / provenance / properties / notices
        Added value: +{
        +  "description": "Caveats the source publishes about the data, verbatim (license statements are not repeated here; see the info://licenses resource). Absent when there is none",
        +  "items": {
        +    "type": "string"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedOutput schema / properties / provenance / properties / retrieval / description
        Previous value: -"Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"New value: +"Origin diagnostics of THIS source in this call: requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
      • addedOutput schema / properties / provenance / properties / revision
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Whether the data can still change at the source: current = the version in force, the source may revise it; provisional = preliminary; final = will not change. Absent when unknown",
        +  "properties": {
        +    "note": {
        +      "description": "O específico da fonte: o que revisa, quando, por quê",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "status": {
        +      "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte",
        +      "enum": [
        +        "current",
        +        "provisional",
        +        "final"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "note"
        +  ],
        +  "type": "object"
        +}
    • Changedatc_lookup7 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"New value: +"Provenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / derivation_note
        Added value: +{
        +  "description": "What this server computed; present together with derived",
        +  "type": "string"
        +}
      • addedOutput schema / properties / provenance / properties / derived
        Added value: +{
        +  "description": "Present (true) only when this server computed the value (e.g. a ranking or summary statistics) instead of passing on what the source returned",
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / provenance / properties / field_sources / description
        Previous value: -"Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"New value: +"Present only when the response joins parts from different origins or extraction instants: for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"
      • addedOutput schema / properties / provenance / properties / notices
        Added value: +{
        +  "description": "Caveats the source publishes about the data, verbatim (license statements are not repeated here; see the info://licenses resource). Absent when there is none",
        +  "items": {
        +    "type": "string"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedOutput schema / properties / provenance / properties / retrieval / description
        Previous value: -"Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"New value: +"Origin diagnostics of THIS source in this call: requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
      • addedOutput schema / properties / provenance / properties / revision
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Whether the data can still change at the source: current = the version in force, the source may revise it; provisional = preliminary; final = will not change. Absent when unknown",
        +  "properties": {
        +    "note": {
        +      "description": "O específico da fonte: o que revisa, quando, por quê",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "status": {
        +      "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte",
        +      "enum": [
        +        "current",
        +        "provisional",
        +        "final"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "note"
        +  ],
        +  "type": "object"
        +}
    • Changedatc_members7 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"New value: +"Provenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / derivation_note
        Added value: +{
        +  "description": "What this server computed; present together with derived",
        +  "type": "string"
        +}
      • addedOutput schema / properties / provenance / properties / derived
        Added value: +{
        +  "description": "Present (true) only when this server computed the value (e.g. a ranking or summary statistics) instead of passing on what the source returned",
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / provenance / properties / field_sources / description
        Previous value: -"Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"New value: +"Present only when the response joins parts from different origins or extraction instants: for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"
      • addedOutput schema / properties / provenance / properties / notices
        Added value: +{
        +  "description": "Caveats the source publishes about the data, verbatim (license statements are not repeated here; see the info://licenses resource). Absent when there is none",
        +  "items": {
        +    "type": "string"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedOutput schema / properties / provenance / properties / retrieval / description
        Previous value: -"Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"New value: +"Origin diagnostics of THIS source in this call: requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
      • addedOutput schema / properties / provenance / properties / revision
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Whether the data can still change at the source: current = the version in force, the source may revise it; provisional = preliminary; final = will not change. Absent when unknown",
        +  "properties": {
        +    "note": {
        +      "description": "O específico da fonte: o que revisa, quando, por quê",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "status": {
        +      "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte",
        +      "enum": [
        +        "current",
        +        "provisional",
        +        "final"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "note"
        +  ],
        +  "type": "object"
        +}
    • Changedcid10_chapter7 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"New value: +"Provenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / derivation_note
        Added value: +{
        +  "description": "What this server computed; present together with derived",
        +  "type": "string"
        +}
      • addedOutput schema / properties / provenance / properties / derived
        Added value: +{
        +  "description": "Present (true) only when this server computed the value (e.g. a ranking or summary statistics) instead of passing on what the source returned",
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / provenance / properties / field_sources / description
        Previous value: -"Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"New value: +"Present only when the response joins parts from different origins or extraction instants: for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"
      • addedOutput schema / properties / provenance / properties / notices
        Added value: +{
        +  "description": "Caveats the source publishes about the data, verbatim (license statements are not repeated here; see the info://licenses resource). Absent when there is none",
        +  "items": {
        +    "type": "string"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedOutput schema / properties / provenance / properties / retrieval / description
        Previous value: -"Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"New value: +"Origin diagnostics of THIS source in this call: requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
      • addedOutput schema / properties / provenance / properties / revision
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Whether the data can still change at the source: current = the version in force, the source may revise it; provisional = preliminary; final = will not change. Absent when unknown",
        +  "properties": {
        +    "note": {
        +      "description": "O específico da fonte: o que revisa, quando, por quê",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "status": {
        +      "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte",
        +      "enum": [
        +        "current",
        +        "provisional",
        +        "final"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "note"
        +  ],
        +  "type": "object"
        +}
    • Changedcid10_chapters7 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"New value: +"Provenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / derivation_note
        Added value: +{
        +  "description": "What this server computed; present together with derived",
        +  "type": "string"
        +}
      • addedOutput schema / properties / provenance / properties / derived
        Added value: +{
        +  "description": "Present (true) only when this server computed the value (e.g. a ranking or summary statistics) instead of passing on what the source returned",
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / provenance / properties / field_sources / description
        Previous value: -"Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"New value: +"Present only when the response joins parts from different origins or extraction instants: for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"
      • addedOutput schema / properties / provenance / properties / notices
        Added value: +{
        +  "description": "Caveats the source publishes about the data, verbatim (license statements are not repeated here; see the info://licenses resource). Absent when there is none",
        +  "items": {
        +    "type": "string"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedOutput schema / properties / provenance / properties / retrieval / description
        Previous value: -"Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"New value: +"Origin diagnostics of THIS source in this call: requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
      • addedOutput schema / properties / provenance / properties / revision
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Whether the data can still change at the source: current = the version in force, the source may revise it; provisional = preliminary; final = will not change. Absent when unknown",
        +  "properties": {
        +    "note": {
        +      "description": "O específico da fonte: o que revisa, quando, por quê",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "status": {
        +      "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte",
        +      "enum": [
        +        "current",
        +        "provisional",
        +        "final"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "note"
        +  ],
        +  "type": "object"
        +}
    • Changedcid10_lookup7 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"New value: +"Provenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / derivation_note
        Added value: +{
        +  "description": "What this server computed; present together with derived",
        +  "type": "string"
        +}
      • addedOutput schema / properties / provenance / properties / derived
        Added value: +{
        +  "description": "Present (true) only when this server computed the value (e.g. a ranking or summary statistics) instead of passing on what the source returned",
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / provenance / properties / field_sources / description
        Previous value: -"Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"New value: +"Present only when the response joins parts from different origins or extraction instants: for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"
      • addedOutput schema / properties / provenance / properties / notices
        Added value: +{
        +  "description": "Caveats the source publishes about the data, verbatim (license statements are not repeated here; see the info://licenses resource). Absent when there is none",
        +  "items": {
        +    "type": "string"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedOutput schema / properties / provenance / properties / retrieval / description
        Previous value: -"Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"New value: +"Origin diagnostics of THIS source in this call: requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
      • addedOutput schema / properties / provenance / properties / revision
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Whether the data can still change at the source: current = the version in force, the source may revise it; provisional = preliminary; final = will not change. Absent when unknown",
        +  "properties": {
        +    "note": {
        +      "description": "O específico da fonte: o que revisa, quando, por quê",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "status": {
        +      "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte",
        +      "enum": [
        +        "current",
        +        "provisional",
        +        "final"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "note"
        +  ],
        +  "type": "object"
        +}
    • Changedcid10_search7 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"New value: +"Provenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / derivation_note
        Added value: +{
        +  "description": "What this server computed; present together with derived",
        +  "type": "string"
        +}
      • addedOutput schema / properties / provenance / properties / derived
        Added value: +{
        +  "description": "Present (true) only when this server computed the value (e.g. a ranking or summary statistics) instead of passing on what the source returned",
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / provenance / properties / field_sources / description
        Previous value: -"Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"New value: +"Present only when the response joins parts from different origins or extraction instants: for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"
      • addedOutput schema / properties / provenance / properties / notices
        Added value: +{
        +  "description": "Caveats the source publishes about the data, verbatim (license statements are not repeated here; see the info://licenses resource). Absent when there is none",
        +  "items": {
        +    "type": "string"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedOutput schema / properties / provenance / properties / retrieval / description
        Previous value: -"Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"New value: +"Origin diagnostics of THIS source in this call: requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
      • addedOutput schema / properties / provenance / properties / revision
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Whether the data can still change at the source: current = the version in force, the source may revise it; provisional = preliminary; final = will not change. Absent when unknown",
        +  "properties": {
        +    "note": {
        +      "description": "O específico da fonte: o que revisa, quando, por quê",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "status": {
        +      "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte",
        +      "enum": [
        +        "current",
        +        "provisional",
        +        "final"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "note"
        +  ],
        +  "type": "object"
        +}
    • Changedfetch7 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"New value: +"Provenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / derivation_note
        Added value: +{
        +  "description": "What this server computed; present together with derived",
        +  "type": "string"
        +}
      • addedOutput schema / properties / provenance / properties / derived
        Added value: +{
        +  "description": "Present (true) only when this server computed the value (e.g. a ranking or summary statistics) instead of passing on what the source returned",
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / provenance / properties / field_sources / description
        Previous value: -"Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"New value: +"Present only when the response joins parts from different origins or extraction instants: for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"
      • addedOutput schema / properties / provenance / properties / notices
        Added value: +{
        +  "description": "Caveats the source publishes about the data, verbatim (license statements are not repeated here; see the info://licenses resource). Absent when there is none",
        +  "items": {
        +    "type": "string"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedOutput schema / properties / provenance / properties / retrieval / description
        Previous value: -"Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"New value: +"Origin diagnostics of THIS source in this call: requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
      • addedOutput schema / properties / provenance / properties / revision
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Whether the data can still change at the source: current = the version in force, the source may revise it; provisional = preliminary; final = will not change. Absent when unknown",
        +  "properties": {
        +    "note": {
        +      "description": "O específico da fonte: o que revisa, quando, por quê",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "status": {
        +      "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte",
        +      "enum": [
        +        "current",
        +        "provisional",
        +        "final"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "note"
        +  ],
        +  "type": "object"
        +}
    • Changedfind_equivalent8 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"One provenance block per upstream source that contributed to this response (contract v1.1; licenses are never merged; each block carries the origin diagnostics of ITS source)"New value: +"One provenance block per upstream source that contributed to this response (licenses are never merged; each block carries the origin diagnostics of ITS source)"
      • changedOutput schema / properties / provenance / items / description
        Previous value: -"Bloco de proveniência (contrato v1.2): fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando a resposta junta partes de origens ou momentos distintos, de onde veio cada parte"New value: +"Bloco de proveniência: fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando há o que dizer, de onde veio cada parte, avisos da fonte, o que o servidor calculou e se o dado ainda pode mudar"
      • addedOutput schema / properties / provenance / items / properties / derivation_note
        Added value: +{
        +  "description": "What this server computed; present together with derived",
        +  "type": "string"
        +}
      • addedOutput schema / properties / provenance / items / properties / derived
        Added value: +{
        +  "description": "Present (true) only when this server computed the value (e.g. a ranking or summary statistics) instead of passing on what the source returned",
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / provenance / items / properties / field_sources / description
        Previous value: -"Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"New value: +"Present only when the response joins parts from different origins or extraction instants: for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"
      • addedOutput schema / properties / provenance / items / properties / notices
        Added value: +{
        +  "description": "Caveats the source publishes about the data, verbatim (license statements are not repeated here; see the info://licenses resource). Absent when there is none",
        +  "items": {
        +    "type": "string"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedOutput schema / properties / provenance / items / properties / retrieval / description
        Previous value: -"Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"New value: +"Origin diagnostics of THIS source in this call: requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
      • addedOutput schema / properties / provenance / items / properties / revision
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Whether the data can still change at the source: current = the version in force, the source may revise it; provisional = preliminary; final = will not change. Absent when unknown",
        +  "properties": {
        +    "note": {
        +      "description": "O específico da fonte: o que revisa, quando, por quê",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "status": {
        +      "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte",
        +      "enum": [
        +        "current",
        +        "provisional",
        +        "final"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "note"
        +  ],
        +  "type": "object"
        +}
    • Changedharmonize_terms8 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"One provenance block per upstream source that contributed to this response (contract v1.1; licenses are never merged; each block carries the origin diagnostics of ITS source)"New value: +"One provenance block per upstream source that contributed to this response (licenses are never merged; each block carries the origin diagnostics of ITS source)"
      • changedOutput schema / properties / provenance / items / description
        Previous value: -"Bloco de proveniência (contrato v1.2): fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando a resposta junta partes de origens ou momentos distintos, de onde veio cada parte"New value: +"Bloco de proveniência: fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando há o que dizer, de onde veio cada parte, avisos da fonte, o que o servidor calculou e se o dado ainda pode mudar"
      • addedOutput schema / properties / provenance / items / properties / derivation_note
        Added value: +{
        +  "description": "What this server computed; present together with derived",
        +  "type": "string"
        +}
      • addedOutput schema / properties / provenance / items / properties / derived
        Added value: +{
        +  "description": "Present (true) only when this server computed the value (e.g. a ranking or summary statistics) instead of passing on what the source returned",
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / provenance / items / properties / field_sources / description
        Previous value: -"Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"New value: +"Present only when the response joins parts from different origins or extraction instants: for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"
      • addedOutput schema / properties / provenance / items / properties / notices
        Added value: +{
        +  "description": "Caveats the source publishes about the data, verbatim (license statements are not repeated here; see the info://licenses resource). Absent when there is none",
        +  "items": {
        +    "type": "string"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedOutput schema / properties / provenance / items / properties / retrieval / description
        Previous value: -"Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"New value: +"Origin diagnostics of THIS source in this call: requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
      • addedOutput schema / properties / provenance / items / properties / revision
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Whether the data can still change at the source: current = the version in force, the source may revise it; provisional = preliminary; final = will not change. Absent when unknown",
        +  "properties": {
        +    "note": {
        +      "description": "O específico da fonte: o que revisa, quando, por quê",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "status": {
        +      "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte",
        +      "enum": [
        +        "current",
        +        "provisional",
        +        "final"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "note"
        +  ],
        +  "type": "object"
        +}
    • Changedicd11_chapters7 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"New value: +"Provenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / derivation_note
        Added value: +{
        +  "description": "What this server computed; present together with derived",
        +  "type": "string"
        +}
      • addedOutput schema / properties / provenance / properties / derived
        Added value: +{
        +  "description": "Present (true) only when this server computed the value (e.g. a ranking or summary statistics) instead of passing on what the source returned",
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / provenance / properties / field_sources / description
        Previous value: -"Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"New value: +"Present only when the response joins parts from different origins or extraction instants: for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"
      • addedOutput schema / properties / provenance / properties / notices
        Added value: +{
        +  "description": "Caveats the source publishes about the data, verbatim (license statements are not repeated here; see the info://licenses resource). Absent when there is none",
        +  "items": {
        +    "type": "string"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedOutput schema / properties / provenance / properties / retrieval / description
        Previous value: -"Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"New value: +"Origin diagnostics of THIS source in this call: requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
      • addedOutput schema / properties / provenance / properties / revision
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Whether the data can still change at the source: current = the version in force, the source may revise it; provisional = preliminary; final = will not change. Absent when unknown",
        +  "properties": {
        +    "note": {
        +      "description": "O específico da fonte: o que revisa, quando, por quê",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "status": {
        +      "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte",
        +      "enum": [
        +        "current",
        +        "provisional",
        +        "final"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "note"
        +  ],
        +  "type": "object"
        +}
    • Changedicd11_hierarchy7 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"New value: +"Provenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / derivation_note
        Added value: +{
        +  "description": "What this server computed; present together with derived",
        +  "type": "string"
        +}
      • addedOutput schema / properties / provenance / properties / derived
        Added value: +{
        +  "description": "Present (true) only when this server computed the value (e.g. a ranking or summary statistics) instead of passing on what the source returned",
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / provenance / properties / field_sources / description
        Previous value: -"Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"New value: +"Present only when the response joins parts from different origins or extraction instants: for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"
      • addedOutput schema / properties / provenance / properties / notices
        Added value: +{
        +  "description": "Caveats the source publishes about the data, verbatim (license statements are not repeated here; see the info://licenses resource). Absent when there is none",
        +  "items": {
        +    "type": "string"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedOutput schema / properties / provenance / properties / retrieval / description
        Previous value: -"Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"New value: +"Origin diagnostics of THIS source in this call: requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
      • addedOutput schema / properties / provenance / properties / revision
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Whether the data can still change at the source: current = the version in force, the source may revise it; provisional = preliminary; final = will not change. Absent when unknown",
        +  "properties": {
        +    "note": {
        +      "description": "O específico da fonte: o que revisa, quando, por quê",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "status": {
        +      "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte",
        +      "enum": [
        +        "current",
        +        "provisional",
        +        "final"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "note"
        +  ],
        +  "type": "object"
        +}
    • Changedicd11_lookup7 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"New value: +"Provenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / derivation_note
        Added value: +{
        +  "description": "What this server computed; present together with derived",
        +  "type": "string"
        +}
      • addedOutput schema / properties / provenance / properties / derived
        Added value: +{
        +  "description": "Present (true) only when this server computed the value (e.g. a ranking or summary statistics) instead of passing on what the source returned",
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / provenance / properties / field_sources / description
        Previous value: -"Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"New value: +"Present only when the response joins parts from different origins or extraction instants: for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"
      • addedOutput schema / properties / provenance / properties / notices
        Added value: +{
        +  "description": "Caveats the source publishes about the data, verbatim (license statements are not repeated here; see the info://licenses resource). Absent when there is none",
        +  "items": {
        +    "type": "string"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedOutput schema / properties / provenance / properties / retrieval / description
        Previous value: -"Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"New value: +"Origin diagnostics of THIS source in this call: requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
      • addedOutput schema / properties / provenance / properties / revision
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Whether the data can still change at the source: current = the version in force, the source may revise it; provisional = preliminary; final = will not change. Absent when unknown",
        +  "properties": {
        +    "note": {
        +      "description": "O específico da fonte: o que revisa, quando, por quê",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "status": {
        +      "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte",
        +      "enum": [
        +        "current",
        +        "provisional",
        +        "final"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "note"
        +  ],
        +  "type": "object"
        +}
    • Changedicd11_postcoordination7 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"New value: +"Provenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / derivation_note
        Added value: +{
        +  "description": "What this server computed; present together with derived",
        +  "type": "string"
        +}
      • addedOutput schema / properties / provenance / properties / derived
        Added value: +{
        +  "description": "Present (true) only when this server computed the value (e.g. a ranking or summary statistics) instead of passing on what the source returned",
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / provenance / properties / field_sources / description
        Previous value: -"Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"New value: +"Present only when the response joins parts from different origins or extraction instants: for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"
      • addedOutput schema / properties / provenance / properties / notices
        Added value: +{
        +  "description": "Caveats the source publishes about the data, verbatim (license statements are not repeated here; see the info://licenses resource). Absent when there is none",
        +  "items": {
        +    "type": "string"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedOutput schema / properties / provenance / properties / retrieval / description
        Previous value: -"Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"New value: +"Origin diagnostics of THIS source in this call: requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
      • addedOutput schema / properties / provenance / properties / revision
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Whether the data can still change at the source: current = the version in force, the source may revise it; provisional = preliminary; final = will not change. Absent when unknown",
        +  "properties": {
        +    "note": {
        +      "description": "O específico da fonte: o que revisa, quando, por quê",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "status": {
        +      "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte",
        +      "enum": [
        +        "current",
        +        "provisional",
        +        "final"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "note"
        +  ],
        +  "type": "object"
        +}
    • Changedicd11_search7 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"New value: +"Provenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / derivation_note
        Added value: +{
        +  "description": "What this server computed; present together with derived",
        +  "type": "string"
        +}
      • addedOutput schema / properties / provenance / properties / derived
        Added value: +{
        +  "description": "Present (true) only when this server computed the value (e.g. a ranking or summary statistics) instead of passing on what the source returned",
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / provenance / properties / field_sources / description
        Previous value: -"Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"New value: +"Present only when the response joins parts from different origins or extraction instants: for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"
      • addedOutput schema / properties / provenance / properties / notices
        Added value: +{
        +  "description": "Caveats the source publishes about the data, verbatim (license statements are not repeated here; see the info://licenses resource). Absent when there is none",
        +  "items": {
        +    "type": "string"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedOutput schema / properties / provenance / properties / retrieval / description
        Previous value: -"Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"New value: +"Origin diagnostics of THIS source in this call: requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
      • addedOutput schema / properties / provenance / properties / revision
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Whether the data can still change at the source: current = the version in force, the source may revise it; provisional = preliminary; final = will not change. Absent when unknown",
        +  "properties": {
        +    "note": {
        +      "description": "O específico da fonte: o que revisa, quando, por quê",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "status": {
        +      "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte",
        +      "enum": [
        +        "current",
        +        "provisional",
        +        "final"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "note"
        +  ],
        +  "type": "object"
        +}
    • Changedloinc_answers7 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"New value: +"Provenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / derivation_note
        Added value: +{
        +  "description": "What this server computed; present together with derived",
        +  "type": "string"
        +}
      • addedOutput schema / properties / provenance / properties / derived
        Added value: +{
        +  "description": "Present (true) only when this server computed the value (e.g. a ranking or summary statistics) instead of passing on what the source returned",
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / provenance / properties / field_sources / description
        Previous value: -"Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"New value: +"Present only when the response joins parts from different origins or extraction instants: for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"
      • addedOutput schema / properties / provenance / properties / notices
        Added value: +{
        +  "description": "Caveats the source publishes about the data, verbatim (license statements are not repeated here; see the info://licenses resource). Absent when there is none",
        +  "items": {
        +    "type": "string"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedOutput schema / properties / provenance / properties / retrieval / description
        Previous value: -"Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"New value: +"Origin diagnostics of THIS source in this call: requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
      • addedOutput schema / properties / provenance / properties / revision
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Whether the data can still change at the source: current = the version in force, the source may revise it; provisional = preliminary; final = will not change. Absent when unknown",
        +  "properties": {
        +    "note": {
        +      "description": "O específico da fonte: o que revisa, quando, por quê",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "status": {
        +      "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte",
        +      "enum": [
        +        "current",
        +        "provisional",
        +        "final"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "note"
        +  ],
        +  "type": "object"
        +}
    • Changedloinc_details7 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"New value: +"Provenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / derivation_note
        Added value: +{
        +  "description": "What this server computed; present together with derived",
        +  "type": "string"
        +}
      • addedOutput schema / properties / provenance / properties / derived
        Added value: +{
        +  "description": "Present (true) only when this server computed the value (e.g. a ranking or summary statistics) instead of passing on what the source returned",
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / provenance / properties / field_sources / description
        Previous value: -"Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"New value: +"Present only when the response joins parts from different origins or extraction instants: for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"
      • addedOutput schema / properties / provenance / properties / notices
        Added value: +{
        +  "description": "Caveats the source publishes about the data, verbatim (license statements are not repeated here; see the info://licenses resource). Absent when there is none",
        +  "items": {
        +    "type": "string"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedOutput schema / properties / provenance / properties / retrieval / description
        Previous value: -"Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"New value: +"Origin diagnostics of THIS source in this call: requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
      • addedOutput schema / properties / provenance / properties / revision
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Whether the data can still change at the source: current = the version in force, the source may revise it; provisional = preliminary; final = will not change. Absent when unknown",
        +  "properties": {
        +    "note": {
        +      "description": "O específico da fonte: o que revisa, quando, por quê",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "status": {
        +      "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte",
        +      "enum": [
        +        "current",
        +        "provisional",
        +        "final"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "note"
        +  ],
        +  "type": "object"
        +}
    • Changedloinc_panels7 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"New value: +"Provenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / derivation_note
        Added value: +{
        +  "description": "What this server computed; present together with derived",
        +  "type": "string"
        +}
      • addedOutput schema / properties / provenance / properties / derived
        Added value: +{
        +  "description": "Present (true) only when this server computed the value (e.g. a ranking or summary statistics) instead of passing on what the source returned",
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / provenance / properties / field_sources / description
        Previous value: -"Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"New value: +"Present only when the response joins parts from different origins or extraction instants: for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"
      • addedOutput schema / properties / provenance / properties / notices
        Added value: +{
        +  "description": "Caveats the source publishes about the data, verbatim (license statements are not repeated here; see the info://licenses resource). Absent when there is none",
        +  "items": {
        +    "type": "string"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedOutput schema / properties / provenance / properties / retrieval / description
        Previous value: -"Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"New value: +"Origin diagnostics of THIS source in this call: requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
      • addedOutput schema / properties / provenance / properties / revision
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Whether the data can still change at the source: current = the version in force, the source may revise it; provisional = preliminary; final = will not change. Absent when unknown",
        +  "properties": {
        +    "note": {
        +      "description": "O específico da fonte: o que revisa, quando, por quê",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "status": {
        +      "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte",
        +      "enum": [
        +        "current",
        +        "provisional",
        +        "final"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "note"
        +  ],
        +  "type": "object"
        +}
    • Changedloinc_search7 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"New value: +"Provenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / derivation_note
        Added value: +{
        +  "description": "What this server computed; present together with derived",
        +  "type": "string"
        +}
      • addedOutput schema / properties / provenance / properties / derived
        Added value: +{
        +  "description": "Present (true) only when this server computed the value (e.g. a ranking or summary statistics) instead of passing on what the source returned",
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / provenance / properties / field_sources / description
        Previous value: -"Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"New value: +"Present only when the response joins parts from different origins or extraction instants: for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"
      • addedOutput schema / properties / provenance / properties / notices
        Added value: +{
        +  "description": "Caveats the source publishes about the data, verbatim (license statements are not repeated here; see the info://licenses resource). Absent when there is none",
        +  "items": {
        +    "type": "string"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedOutput schema / properties / provenance / properties / retrieval / description
        Previous value: -"Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"New value: +"Origin diagnostics of THIS source in this call: requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
      • addedOutput schema / properties / provenance / properties / revision
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Whether the data can still change at the source: current = the version in force, the source may revise it; provisional = preliminary; final = will not change. Absent when unknown",
        +  "properties": {
        +    "note": {
        +      "description": "O específico da fonte: o que revisa, quando, por quê",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "status": {
        +      "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte",
        +      "enum": [
        +        "current",
        +        "provisional",
        +        "final"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "note"
        +  ],
        +  "type": "object"
        +}
    • Changedmap_icd10_to_icd117 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"New value: +"Provenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / derivation_note
        Added value: +{
        +  "description": "What this server computed; present together with derived",
        +  "type": "string"
        +}
      • addedOutput schema / properties / provenance / properties / derived
        Added value: +{
        +  "description": "Present (true) only when this server computed the value (e.g. a ranking or summary statistics) instead of passing on what the source returned",
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / provenance / properties / field_sources / description
        Previous value: -"Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"New value: +"Present only when the response joins parts from different origins or extraction instants: for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"
      • addedOutput schema / properties / provenance / properties / notices
        Added value: +{
        +  "description": "Caveats the source publishes about the data, verbatim (license statements are not repeated here; see the info://licenses resource). Absent when there is none",
        +  "items": {
        +    "type": "string"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedOutput schema / properties / provenance / properties / retrieval / description
        Previous value: -"Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"New value: +"Origin diagnostics of THIS source in this call: requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
      • addedOutput schema / properties / provenance / properties / revision
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Whether the data can still change at the source: current = the version in force, the source may revise it; provisional = preliminary; final = will not change. Absent when unknown",
        +  "properties": {
        +    "note": {
        +      "description": "O específico da fonte: o que revisa, quando, por quê",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "status": {
        +      "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte",
        +      "enum": [
        +        "current",
        +        "provisional",
        +        "final"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "note"
        +  ],
        +  "type": "object"
        +}
    • Changedmesh_descriptor7 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"New value: +"Provenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / derivation_note
        Added value: +{
        +  "description": "What this server computed; present together with derived",
        +  "type": "string"
        +}
      • addedOutput schema / properties / provenance / properties / derived
        Added value: +{
        +  "description": "Present (true) only when this server computed the value (e.g. a ranking or summary statistics) instead of passing on what the source returned",
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / provenance / properties / field_sources / description
        Previous value: -"Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"New value: +"Present only when the response joins parts from different origins or extraction instants: for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"
      • addedOutput schema / properties / provenance / properties / notices
        Added value: +{
        +  "description": "Caveats the source publishes about the data, verbatim (license statements are not repeated here; see the info://licenses resource). Absent when there is none",
        +  "items": {
        +    "type": "string"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedOutput schema / properties / provenance / properties / retrieval / description
        Previous value: -"Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"New value: +"Origin diagnostics of THIS source in this call: requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
      • addedOutput schema / properties / provenance / properties / revision
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Whether the data can still change at the source: current = the version in force, the source may revise it; provisional = preliminary; final = will not change. Absent when unknown",
        +  "properties": {
        +    "note": {
        +      "description": "O específico da fonte: o que revisa, quando, por quê",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "status": {
        +      "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte",
        +      "enum": [
        +        "current",
        +        "provisional",
        +        "final"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "note"
        +  ],
        +  "type": "object"
        +}
    • Changedmesh_qualifiers7 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"New value: +"Provenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / derivation_note
        Added value: +{
        +  "description": "What this server computed; present together with derived",
        +  "type": "string"
        +}
      • addedOutput schema / properties / provenance / properties / derived
        Added value: +{
        +  "description": "Present (true) only when this server computed the value (e.g. a ranking or summary statistics) instead of passing on what the source returned",
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / provenance / properties / field_sources / description
        Previous value: -"Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"New value: +"Present only when the response joins parts from different origins or extraction instants: for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"
      • addedOutput schema / properties / provenance / properties / notices
        Added value: +{
        +  "description": "Caveats the source publishes about the data, verbatim (license statements are not repeated here; see the info://licenses resource). Absent when there is none",
        +  "items": {
        +    "type": "string"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedOutput schema / properties / provenance / properties / retrieval / description
        Previous value: -"Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"New value: +"Origin diagnostics of THIS source in this call: requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
      • addedOutput schema / properties / provenance / properties / revision
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Whether the data can still change at the source: current = the version in force, the source may revise it; provisional = preliminary; final = will not change. Absent when unknown",
        +  "properties": {
        +    "note": {
        +      "description": "O específico da fonte: o que revisa, quando, por quê",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "status": {
        +      "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte",
        +      "enum": [
        +        "current",
        +        "provisional",
        +        "final"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "note"
        +  ],
        +  "type": "object"
        +}
    • Changedmesh_search7 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"New value: +"Provenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / derivation_note
        Added value: +{
        +  "description": "What this server computed; present together with derived",
        +  "type": "string"
        +}
      • addedOutput schema / properties / provenance / properties / derived
        Added value: +{
        +  "description": "Present (true) only when this server computed the value (e.g. a ranking or summary statistics) instead of passing on what the source returned",
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / provenance / properties / field_sources / description
        Previous value: -"Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"New value: +"Present only when the response joins parts from different origins or extraction instants: for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"
      • addedOutput schema / properties / provenance / properties / notices
        Added value: +{
        +  "description": "Caveats the source publishes about the data, verbatim (license statements are not repeated here; see the info://licenses resource). Absent when there is none",
        +  "items": {
        +    "type": "string"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedOutput schema / properties / provenance / properties / retrieval / description
        Previous value: -"Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"New value: +"Origin diagnostics of THIS source in this call: requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
      • addedOutput schema / properties / provenance / properties / revision
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Whether the data can still change at the source: current = the version in force, the source may revise it; provisional = preliminary; final = will not change. Absent when unknown",
        +  "properties": {
        +    "note": {
        +      "description": "O específico da fonte: o que revisa, quando, por quê",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "status": {
        +      "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte",
        +      "enum": [
        +        "current",
        +        "provisional",
        +        "final"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "note"
        +  ],
        +  "type": "object"
        +}
    • Changedmesh_tree7 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"New value: +"Provenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / derivation_note
        Added value: +{
        +  "description": "What this server computed; present together with derived",
        +  "type": "string"
        +}
      • addedOutput schema / properties / provenance / properties / derived
        Added value: +{
        +  "description": "Present (true) only when this server computed the value (e.g. a ranking or summary statistics) instead of passing on what the source returned",
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / provenance / properties / field_sources / description
        Previous value: -"Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"New value: +"Present only when the response joins parts from different origins or extraction instants: for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"
      • addedOutput schema / properties / provenance / properties / notices
        Added value: +{
        +  "description": "Caveats the source publishes about the data, verbatim (license statements are not repeated here; see the info://licenses resource). Absent when there is none",
        +  "items": {
        +    "type": "string"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedOutput schema / properties / provenance / properties / retrieval / description
        Previous value: -"Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"New value: +"Origin diagnostics of THIS source in this call: requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
      • addedOutput schema / properties / provenance / properties / revision
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Whether the data can still change at the source: current = the version in force, the source may revise it; provisional = preliminary; final = will not change. Absent when unknown",
        +  "properties": {
        +    "note": {
        +      "description": "O específico da fonte: o que revisa, quando, por quê",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "status": {
        +      "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte",
        +      "enum": [
        +        "current",
        +        "provisional",
        +        "final"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "note"
        +  ],
        +  "type": "object"
        +}
    • Changedrxnorm_classes7 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"New value: +"Provenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / derivation_note
        Added value: +{
        +  "description": "What this server computed; present together with derived",
        +  "type": "string"
        +}
      • addedOutput schema / properties / provenance / properties / derived
        Added value: +{
        +  "description": "Present (true) only when this server computed the value (e.g. a ranking or summary statistics) instead of passing on what the source returned",
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / provenance / properties / field_sources / description
        Previous value: -"Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"New value: +"Present only when the response joins parts from different origins or extraction instants: for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"
      • addedOutput schema / properties / provenance / properties / notices
        Added value: +{
        +  "description": "Caveats the source publishes about the data, verbatim (license statements are not repeated here; see the info://licenses resource). Absent when there is none",
        +  "items": {
        +    "type": "string"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedOutput schema / properties / provenance / properties / retrieval / description
        Previous value: -"Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"New value: +"Origin diagnostics of THIS source in this call: requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
      • addedOutput schema / properties / provenance / properties / revision
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Whether the data can still change at the source: current = the version in force, the source may revise it; provisional = preliminary; final = will not change. Absent when unknown",
        +  "properties": {
        +    "note": {
        +      "description": "O específico da fonte: o que revisa, quando, por quê",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "status": {
        +      "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte",
        +      "enum": [
        +        "current",
        +        "provisional",
        +        "final"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "note"
        +  ],
        +  "type": "object"
        +}
    • Changedrxnorm_concept7 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"New value: +"Provenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / derivation_note
        Added value: +{
        +  "description": "What this server computed; present together with derived",
        +  "type": "string"
        +}
      • addedOutput schema / properties / provenance / properties / derived
        Added value: +{
        +  "description": "Present (true) only when this server computed the value (e.g. a ranking or summary statistics) instead of passing on what the source returned",
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / provenance / properties / field_sources / description
        Previous value: -"Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"New value: +"Present only when the response joins parts from different origins or extraction instants: for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"
      • addedOutput schema / properties / provenance / properties / notices
        Added value: +{
        +  "description": "Caveats the source publishes about the data, verbatim (license statements are not repeated here; see the info://licenses resource). Absent when there is none",
        +  "items": {
        +    "type": "string"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedOutput schema / properties / provenance / properties / retrieval / description
        Previous value: -"Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"New value: +"Origin diagnostics of THIS source in this call: requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
      • addedOutput schema / properties / provenance / properties / revision
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Whether the data can still change at the source: current = the version in force, the source may revise it; provisional = preliminary; final = will not change. Absent when unknown",
        +  "properties": {
        +    "note": {
        +      "description": "O específico da fonte: o que revisa, quando, por quê",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "status": {
        +      "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte",
        +      "enum": [
        +        "current",
        +        "provisional",
        +        "final"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "note"
        +  ],
        +  "type": "object"
        +}
    • Changedrxnorm_ingredients7 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"New value: +"Provenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / derivation_note
        Added value: +{
        +  "description": "What this server computed; present together with derived",
        +  "type": "string"
        +}
      • addedOutput schema / properties / provenance / properties / derived
        Added value: +{
        +  "description": "Present (true) only when this server computed the value (e.g. a ranking or summary statistics) instead of passing on what the source returned",
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / provenance / properties / field_sources / description
        Previous value: -"Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"New value: +"Present only when the response joins parts from different origins or extraction instants: for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"
      • addedOutput schema / properties / provenance / properties / notices
        Added value: +{
        +  "description": "Caveats the source publishes about the data, verbatim (license statements are not repeated here; see the info://licenses resource). Absent when there is none",
        +  "items": {
        +    "type": "string"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedOutput schema / properties / provenance / properties / retrieval / description
        Previous value: -"Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"New value: +"Origin diagnostics of THIS source in this call: requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
      • addedOutput schema / properties / provenance / properties / revision
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Whether the data can still change at the source: current = the version in force, the source may revise it; provisional = preliminary; final = will not change. Absent when unknown",
        +  "properties": {
        +    "note": {
        +      "description": "O específico da fonte: o que revisa, quando, por quê",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "status": {
        +      "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte",
        +      "enum": [
        +        "current",
        +        "provisional",
        +        "final"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "note"
        +  ],
        +  "type": "object"
        +}
    • Changedrxnorm_ndc7 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"New value: +"Provenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / derivation_note
        Added value: +{
        +  "description": "What this server computed; present together with derived",
        +  "type": "string"
        +}
      • addedOutput schema / properties / provenance / properties / derived
        Added value: +{
        +  "description": "Present (true) only when this server computed the value (e.g. a ranking or summary statistics) instead of passing on what the source returned",
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / provenance / properties / field_sources / description
        Previous value: -"Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"New value: +"Present only when the response joins parts from different origins or extraction instants: for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"
      • addedOutput schema / properties / provenance / properties / notices
        Added value: +{
        +  "description": "Caveats the source publishes about the data, verbatim (license statements are not repeated here; see the info://licenses resource). Absent when there is none",
        +  "items": {
        +    "type": "string"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedOutput schema / properties / provenance / properties / retrieval / description
        Previous value: -"Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"New value: +"Origin diagnostics of THIS source in this call: requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
      • addedOutput schema / properties / provenance / properties / revision
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Whether the data can still change at the source: current = the version in force, the source may revise it; provisional = preliminary; final = will not change. Absent when unknown",
        +  "properties": {
        +    "note": {
        +      "description": "O específico da fonte: o que revisa, quando, por quê",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "status": {
        +      "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte",
        +      "enum": [
        +        "current",
        +        "provisional",
        +        "final"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "note"
        +  ],
        +  "type": "object"
        +}
    • Changedrxnorm_search7 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"New value: +"Provenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / derivation_note
        Added value: +{
        +  "description": "What this server computed; present together with derived",
        +  "type": "string"
        +}
      • addedOutput schema / properties / provenance / properties / derived
        Added value: +{
        +  "description": "Present (true) only when this server computed the value (e.g. a ranking or summary statistics) instead of passing on what the source returned",
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / provenance / properties / field_sources / description
        Previous value: -"Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"New value: +"Present only when the response joins parts from different origins or extraction instants: for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"
      • addedOutput schema / properties / provenance / properties / notices
        Added value: +{
        +  "description": "Caveats the source publishes about the data, verbatim (license statements are not repeated here; see the info://licenses resource). Absent when there is none",
        +  "items": {
        +    "type": "string"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedOutput schema / properties / provenance / properties / retrieval / description
        Previous value: -"Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"New value: +"Origin diagnostics of THIS source in this call: requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
      • addedOutput schema / properties / provenance / properties / revision
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Whether the data can still change at the source: current = the version in force, the source may revise it; provisional = preliminary; final = will not change. Absent when unknown",
        +  "properties": {
        +    "note": {
        +      "description": "O específico da fonte: o que revisa, quando, por quê",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "status": {
        +      "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte",
        +      "enum": [
        +        "current",
        +        "provisional",
        +        "final"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "note"
        +  ],
        +  "type": "object"
        +}
    • Changedsearch8 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"One provenance block per upstream source that contributed to this response (contract v1.1; licenses are never merged; each block carries the origin diagnostics of ITS source)"New value: +"One provenance block per upstream source that contributed to this response (licenses are never merged; each block carries the origin diagnostics of ITS source)"
      • changedOutput schema / properties / provenance / items / description
        Previous value: -"Bloco de proveniência (contrato v1.2): fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando a resposta junta partes de origens ou momentos distintos, de onde veio cada parte"New value: +"Bloco de proveniência: fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando há o que dizer, de onde veio cada parte, avisos da fonte, o que o servidor calculou e se o dado ainda pode mudar"
      • addedOutput schema / properties / provenance / items / properties / derivation_note
        Added value: +{
        +  "description": "What this server computed; present together with derived",
        +  "type": "string"
        +}
      • addedOutput schema / properties / provenance / items / properties / derived
        Added value: +{
        +  "description": "Present (true) only when this server computed the value (e.g. a ranking or summary statistics) instead of passing on what the source returned",
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / provenance / items / properties / field_sources / description
        Previous value: -"Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"New value: +"Present only when the response joins parts from different origins or extraction instants: for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"
      • addedOutput schema / properties / provenance / items / properties / notices
        Added value: +{
        +  "description": "Caveats the source publishes about the data, verbatim (license statements are not repeated here; see the info://licenses resource). Absent when there is none",
        +  "items": {
        +    "type": "string"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedOutput schema / properties / provenance / items / properties / retrieval / description
        Previous value: -"Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"New value: +"Origin diagnostics of THIS source in this call: requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
      • addedOutput schema / properties / provenance / items / properties / revision
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Whether the data can still change at the source: current = the version in force, the source may revise it; provisional = preliminary; final = will not change. Absent when unknown",
        +  "properties": {
        +    "note": {
        +      "description": "O específico da fonte: o que revisa, quando, por quê",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "status": {
        +      "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte",
        +      "enum": [
        +        "current",
        +        "provisional",
        +        "final"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "note"
        +  ],
        +  "type": "object"
        +}
    • Changedterminology_diff7 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"New value: +"Provenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / derivation_note
        Added value: +{
        +  "description": "What this server computed; present together with derived",
        +  "type": "string"
        +}
      • addedOutput schema / properties / provenance / properties / derived
        Added value: +{
        +  "description": "Present (true) only when this server computed the value (e.g. a ranking or summary statistics) instead of passing on what the source returned",
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / provenance / properties / field_sources / description
        Previous value: -"Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"New value: +"Present only when the response joins parts from different origins or extraction instants: for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"
      • addedOutput schema / properties / provenance / properties / notices
        Added value: +{
        +  "description": "Caveats the source publishes about the data, verbatim (license statements are not repeated here; see the info://licenses resource). Absent when there is none",
        +  "items": {
        +    "type": "string"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedOutput schema / properties / provenance / properties / retrieval / description
        Previous value: -"Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"New value: +"Origin diagnostics of THIS source in this call: requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
      • addedOutput schema / properties / provenance / properties / revision
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Whether the data can still change at the source: current = the version in force, the source may revise it; provisional = preliminary; final = will not change. Absent when unknown",
        +  "properties": {
        +    "note": {
        +      "description": "O específico da fonte: o que revisa, quando, por quê",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "status": {
        +      "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte",
        +      "enum": [
        +        "current",
        +        "provisional",
        +        "final"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "note"
        +  ],
        +  "type": "object"
        +}
    • Changedterminology_versions7 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"New value: +"Provenance block: source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / derivation_note
        Added value: +{
        +  "description": "What this server computed; present together with derived",
        +  "type": "string"
        +}
      • addedOutput schema / properties / provenance / properties / derived
        Added value: +{
        +  "description": "Present (true) only when this server computed the value (e.g. a ranking or summary statistics) instead of passing on what the source returned",
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / provenance / properties / field_sources / description
        Previous value: -"Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"New value: +"Present only when the response joins parts from different origins or extraction instants: for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"
      • addedOutput schema / properties / provenance / properties / notices
        Added value: +{
        +  "description": "Caveats the source publishes about the data, verbatim (license statements are not repeated here; see the info://licenses resource). Absent when there is none",
        +  "items": {
        +    "type": "string"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedOutput schema / properties / provenance / properties / retrieval / description
        Previous value: -"Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"New value: +"Origin diagnostics of THIS source in this call: requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
      • addedOutput schema / properties / provenance / properties / revision
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Whether the data can still change at the source: current = the version in force, the source may revise it; provisional = preliminary; final = will not change. Absent when unknown",
        +  "properties": {
        +    "note": {
        +      "description": "O específico da fonte: o que revisa, quando, por quê",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "status": {
        +      "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte",
        +      "enum": [
        +        "current",
        +        "provisional",
        +        "final"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "note"
        +  ],
        +  "type": "object"
        +}
    • Changedvalidate_codes8 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"One provenance block per upstream source that contributed to this response (contract v1.1; licenses are never merged; each block carries the origin diagnostics of ITS source)"New value: +"One provenance block per upstream source that contributed to this response (licenses are never merged; each block carries the origin diagnostics of ITS source)"
      • changedOutput schema / properties / provenance / items / description
        Previous value: -"Bloco de proveniência (contrato v1.2): fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando a resposta junta partes de origens ou momentos distintos, de onde veio cada parte"New value: +"Bloco de proveniência: fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando há o que dizer, de onde veio cada parte, avisos da fonte, o que o servidor calculou e se o dado ainda pode mudar"
      • addedOutput schema / properties / provenance / items / properties / derivation_note
        Added value: +{
        +  "description": "What this server computed; present together with derived",
        +  "type": "string"
        +}
      • addedOutput schema / properties / provenance / items / properties / derived
        Added value: +{
        +  "description": "Present (true) only when this server computed the value (e.g. a ranking or summary statistics) instead of passing on what the source returned",
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / provenance / items / properties / field_sources / description
        Previous value: -"Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"New value: +"Present only when the response joins parts from different origins or extraction instants: for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses"
      • addedOutput schema / properties / provenance / items / properties / notices
        Added value: +{
        +  "description": "Caveats the source publishes about the data, verbatim (license statements are not repeated here; see the info://licenses resource). Absent when there is none",
        +  "items": {
        +    "type": "string"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedOutput schema / properties / provenance / items / properties / retrieval / description
        Previous value: -"Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"New value: +"Origin diagnostics of THIS source in this call: requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
      • addedOutput schema / properties / provenance / items / properties / revision
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Whether the data can still change at the source: current = the version in force, the source may revise it; provisional = preliminary; final = will not change. Absent when unknown",
        +  "properties": {
        +    "note": {
        +      "description": "O específico da fonte: o que revisa, quando, por quê",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "status": {
        +      "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte",
        +      "enum": [
        +        "current",
        +        "provisional",
        +        "final"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "note"
        +  ],
        +  "type": "object"
        +}
  3. 33 tool updatesv2.1.1
    • Changedatc_classify1 field changed
      • addedOutput schema / properties / provenance / properties / field_sources
        Added value: +{
        +  "description": "Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses",
        +  "items": {
        +    "additionalProperties": false,
        +    "description": "Proveniência de um grupo de campos da resposta: de onde veio e quando foi extraído",
        +    "properties": {
        +      "data_vintage": {
        +        "description": "Vintage/competência da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "dataset_id": {
        +        "description": "Identificador do conjunto da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "fields": {
        +        "description": "Campos do payload atribuídos a esta sub-fonte",
        +        "items": {
        +          "type": "string"
        +        },
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "retrieved_at": {
        +        "description": "ISO-8601 da extração desta sub-fonte na origem",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "served_from_cache": {
        +        "description": "true se esta sub-fonte veio do cache do servidor (retrieved_at é o da extração original); false se foi buscada nesta chamada; null se o servidor não distingue",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "source_url": {
        +        "description": "URL canônica da sub-fonte que originou estes campos",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "fields",
        +      "source_url",
        +      "dataset_id",
        +      "data_vintage",
        +      "retrieved_at"
        +    ],
        +    "type": "object"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
    • Changedatc_lookup1 field changed
      • addedOutput schema / properties / provenance / properties / field_sources
        Added value: +{
        +  "description": "Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses",
        +  "items": {
        +    "additionalProperties": false,
        +    "description": "Proveniência de um grupo de campos da resposta: de onde veio e quando foi extraído",
        +    "properties": {
        +      "data_vintage": {
        +        "description": "Vintage/competência da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "dataset_id": {
        +        "description": "Identificador do conjunto da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "fields": {
        +        "description": "Campos do payload atribuídos a esta sub-fonte",
        +        "items": {
        +          "type": "string"
        +        },
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "retrieved_at": {
        +        "description": "ISO-8601 da extração desta sub-fonte na origem",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "served_from_cache": {
        +        "description": "true se esta sub-fonte veio do cache do servidor (retrieved_at é o da extração original); false se foi buscada nesta chamada; null se o servidor não distingue",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "source_url": {
        +        "description": "URL canônica da sub-fonte que originou estes campos",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "fields",
        +      "source_url",
        +      "dataset_id",
        +      "data_vintage",
        +      "retrieved_at"
        +    ],
        +    "type": "object"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
    • Changedatc_members1 field changed
      • addedOutput schema / properties / provenance / properties / field_sources
        Added value: +{
        +  "description": "Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses",
        +  "items": {
        +    "additionalProperties": false,
        +    "description": "Proveniência de um grupo de campos da resposta: de onde veio e quando foi extraído",
        +    "properties": {
        +      "data_vintage": {
        +        "description": "Vintage/competência da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "dataset_id": {
        +        "description": "Identificador do conjunto da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "fields": {
        +        "description": "Campos do payload atribuídos a esta sub-fonte",
        +        "items": {
        +          "type": "string"
        +        },
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "retrieved_at": {
        +        "description": "ISO-8601 da extração desta sub-fonte na origem",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "served_from_cache": {
        +        "description": "true se esta sub-fonte veio do cache do servidor (retrieved_at é o da extração original); false se foi buscada nesta chamada; null se o servidor não distingue",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "source_url": {
        +        "description": "URL canônica da sub-fonte que originou estes campos",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "fields",
        +      "source_url",
        +      "dataset_id",
        +      "data_vintage",
        +      "retrieved_at"
        +    ],
        +    "type": "object"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
    • Changedcid10_chapter1 field changed
      • addedOutput schema / properties / provenance / properties / field_sources
        Added value: +{
        +  "description": "Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses",
        +  "items": {
        +    "additionalProperties": false,
        +    "description": "Proveniência de um grupo de campos da resposta: de onde veio e quando foi extraído",
        +    "properties": {
        +      "data_vintage": {
        +        "description": "Vintage/competência da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "dataset_id": {
        +        "description": "Identificador do conjunto da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "fields": {
        +        "description": "Campos do payload atribuídos a esta sub-fonte",
        +        "items": {
        +          "type": "string"
        +        },
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "retrieved_at": {
        +        "description": "ISO-8601 da extração desta sub-fonte na origem",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "served_from_cache": {
        +        "description": "true se esta sub-fonte veio do cache do servidor (retrieved_at é o da extração original); false se foi buscada nesta chamada; null se o servidor não distingue",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "source_url": {
        +        "description": "URL canônica da sub-fonte que originou estes campos",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "fields",
        +      "source_url",
        +      "dataset_id",
        +      "data_vintage",
        +      "retrieved_at"
        +    ],
        +    "type": "object"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
    • Changedcid10_chapters1 field changed
      • addedOutput schema / properties / provenance / properties / field_sources
        Added value: +{
        +  "description": "Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses",
        +  "items": {
        +    "additionalProperties": false,
        +    "description": "Proveniência de um grupo de campos da resposta: de onde veio e quando foi extraído",
        +    "properties": {
        +      "data_vintage": {
        +        "description": "Vintage/competência da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "dataset_id": {
        +        "description": "Identificador do conjunto da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "fields": {
        +        "description": "Campos do payload atribuídos a esta sub-fonte",
        +        "items": {
        +          "type": "string"
        +        },
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "retrieved_at": {
        +        "description": "ISO-8601 da extração desta sub-fonte na origem",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "served_from_cache": {
        +        "description": "true se esta sub-fonte veio do cache do servidor (retrieved_at é o da extração original); false se foi buscada nesta chamada; null se o servidor não distingue",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "source_url": {
        +        "description": "URL canônica da sub-fonte que originou estes campos",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "fields",
        +      "source_url",
        +      "dataset_id",
        +      "data_vintage",
        +      "retrieved_at"
        +    ],
        +    "type": "object"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
    • Changedcid10_lookup1 field changed
      • addedOutput schema / properties / provenance / properties / field_sources
        Added value: +{
        +  "description": "Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses",
        +  "items": {
        +    "additionalProperties": false,
        +    "description": "Proveniência de um grupo de campos da resposta: de onde veio e quando foi extraído",
        +    "properties": {
        +      "data_vintage": {
        +        "description": "Vintage/competência da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "dataset_id": {
        +        "description": "Identificador do conjunto da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "fields": {
        +        "description": "Campos do payload atribuídos a esta sub-fonte",
        +        "items": {
        +          "type": "string"
        +        },
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "retrieved_at": {
        +        "description": "ISO-8601 da extração desta sub-fonte na origem",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "served_from_cache": {
        +        "description": "true se esta sub-fonte veio do cache do servidor (retrieved_at é o da extração original); false se foi buscada nesta chamada; null se o servidor não distingue",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "source_url": {
        +        "description": "URL canônica da sub-fonte que originou estes campos",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "fields",
        +      "source_url",
        +      "dataset_id",
        +      "data_vintage",
        +      "retrieved_at"
        +    ],
        +    "type": "object"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
    • Changedcid10_search1 field changed
      • addedOutput schema / properties / provenance / properties / field_sources
        Added value: +{
        +  "description": "Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses",
        +  "items": {
        +    "additionalProperties": false,
        +    "description": "Proveniência de um grupo de campos da resposta: de onde veio e quando foi extraído",
        +    "properties": {
        +      "data_vintage": {
        +        "description": "Vintage/competência da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "dataset_id": {
        +        "description": "Identificador do conjunto da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "fields": {
        +        "description": "Campos do payload atribuídos a esta sub-fonte",
        +        "items": {
        +          "type": "string"
        +        },
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "retrieved_at": {
        +        "description": "ISO-8601 da extração desta sub-fonte na origem",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "served_from_cache": {
        +        "description": "true se esta sub-fonte veio do cache do servidor (retrieved_at é o da extração original); false se foi buscada nesta chamada; null se o servidor não distingue",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "source_url": {
        +        "description": "URL canônica da sub-fonte que originou estes campos",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "fields",
        +      "source_url",
        +      "dataset_id",
        +      "data_vintage",
        +      "retrieved_at"
        +    ],
        +    "type": "object"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
    • Changedfetch1 field changed
      • addedOutput schema / properties / provenance / properties / field_sources
        Added value: +{
        +  "description": "Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses",
        +  "items": {
        +    "additionalProperties": false,
        +    "description": "Proveniência de um grupo de campos da resposta: de onde veio e quando foi extraído",
        +    "properties": {
        +      "data_vintage": {
        +        "description": "Vintage/competência da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "dataset_id": {
        +        "description": "Identificador do conjunto da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "fields": {
        +        "description": "Campos do payload atribuídos a esta sub-fonte",
        +        "items": {
        +          "type": "string"
        +        },
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "retrieved_at": {
        +        "description": "ISO-8601 da extração desta sub-fonte na origem",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "served_from_cache": {
        +        "description": "true se esta sub-fonte veio do cache do servidor (retrieved_at é o da extração original); false se foi buscada nesta chamada; null se o servidor não distingue",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "source_url": {
        +        "description": "URL canônica da sub-fonte que originou estes campos",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "fields",
        +      "source_url",
        +      "dataset_id",
        +      "data_vintage",
        +      "retrieved_at"
        +    ],
        +    "type": "object"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
    • Changedfind_equivalent2 fields changed
      • changedOutput schema / properties / provenance / items / description
        Previous value: -"Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença"New value: +"Bloco de proveniência (contrato v1.2): fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando a resposta junta partes de origens ou momentos distintos, de onde veio cada parte"
      • addedOutput schema / properties / provenance / items / properties / field_sources
        Added value: +{
        +  "description": "Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses",
        +  "items": {
        +    "additionalProperties": false,
        +    "description": "Proveniência de um grupo de campos da resposta: de onde veio e quando foi extraído",
        +    "properties": {
        +      "data_vintage": {
        +        "description": "Vintage/competência da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "dataset_id": {
        +        "description": "Identificador do conjunto da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "fields": {
        +        "description": "Campos do payload atribuídos a esta sub-fonte",
        +        "items": {
        +          "type": "string"
        +        },
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "retrieved_at": {
        +        "description": "ISO-8601 da extração desta sub-fonte na origem",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "served_from_cache": {
        +        "description": "true se esta sub-fonte veio do cache do servidor (retrieved_at é o da extração original); false se foi buscada nesta chamada; null se o servidor não distingue",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "source_url": {
        +        "description": "URL canônica da sub-fonte que originou estes campos",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "fields",
        +      "source_url",
        +      "dataset_id",
        +      "data_vintage",
        +      "retrieved_at"
        +    ],
        +    "type": "object"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
    • Changedharmonize_terms2 fields changed
      • changedOutput schema / properties / provenance / items / description
        Previous value: -"Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença"New value: +"Bloco de proveniência (contrato v1.2): fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando a resposta junta partes de origens ou momentos distintos, de onde veio cada parte"
      • addedOutput schema / properties / provenance / items / properties / field_sources
        Added value: +{
        +  "description": "Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses",
        +  "items": {
        +    "additionalProperties": false,
        +    "description": "Proveniência de um grupo de campos da resposta: de onde veio e quando foi extraído",
        +    "properties": {
        +      "data_vintage": {
        +        "description": "Vintage/competência da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "dataset_id": {
        +        "description": "Identificador do conjunto da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "fields": {
        +        "description": "Campos do payload atribuídos a esta sub-fonte",
        +        "items": {
        +          "type": "string"
        +        },
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "retrieved_at": {
        +        "description": "ISO-8601 da extração desta sub-fonte na origem",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "served_from_cache": {
        +        "description": "true se esta sub-fonte veio do cache do servidor (retrieved_at é o da extração original); false se foi buscada nesta chamada; null se o servidor não distingue",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "source_url": {
        +        "description": "URL canônica da sub-fonte que originou estes campos",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "fields",
        +      "source_url",
        +      "dataset_id",
        +      "data_vintage",
        +      "retrieved_at"
        +    ],
        +    "type": "object"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
    • Changedicd11_chapters1 field changed
      • addedOutput schema / properties / provenance / properties / field_sources
        Added value: +{
        +  "description": "Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses",
        +  "items": {
        +    "additionalProperties": false,
        +    "description": "Proveniência de um grupo de campos da resposta: de onde veio e quando foi extraído",
        +    "properties": {
        +      "data_vintage": {
        +        "description": "Vintage/competência da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "dataset_id": {
        +        "description": "Identificador do conjunto da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "fields": {
        +        "description": "Campos do payload atribuídos a esta sub-fonte",
        +        "items": {
        +          "type": "string"
        +        },
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "retrieved_at": {
        +        "description": "ISO-8601 da extração desta sub-fonte na origem",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "served_from_cache": {
        +        "description": "true se esta sub-fonte veio do cache do servidor (retrieved_at é o da extração original); false se foi buscada nesta chamada; null se o servidor não distingue",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "source_url": {
        +        "description": "URL canônica da sub-fonte que originou estes campos",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "fields",
        +      "source_url",
        +      "dataset_id",
        +      "data_vintage",
        +      "retrieved_at"
        +    ],
        +    "type": "object"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
    • Changedicd11_hierarchy1 field changed
      • addedOutput schema / properties / provenance / properties / field_sources
        Added value: +{
        +  "description": "Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses",
        +  "items": {
        +    "additionalProperties": false,
        +    "description": "Proveniência de um grupo de campos da resposta: de onde veio e quando foi extraído",
        +    "properties": {
        +      "data_vintage": {
        +        "description": "Vintage/competência da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "dataset_id": {
        +        "description": "Identificador do conjunto da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "fields": {
        +        "description": "Campos do payload atribuídos a esta sub-fonte",
        +        "items": {
        +          "type": "string"
        +        },
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "retrieved_at": {
        +        "description": "ISO-8601 da extração desta sub-fonte na origem",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "served_from_cache": {
        +        "description": "true se esta sub-fonte veio do cache do servidor (retrieved_at é o da extração original); false se foi buscada nesta chamada; null se o servidor não distingue",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "source_url": {
        +        "description": "URL canônica da sub-fonte que originou estes campos",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "fields",
        +      "source_url",
        +      "dataset_id",
        +      "data_vintage",
        +      "retrieved_at"
        +    ],
        +    "type": "object"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
    • Changedicd11_lookup1 field changed
      • addedOutput schema / properties / provenance / properties / field_sources
        Added value: +{
        +  "description": "Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses",
        +  "items": {
        +    "additionalProperties": false,
        +    "description": "Proveniência de um grupo de campos da resposta: de onde veio e quando foi extraído",
        +    "properties": {
        +      "data_vintage": {
        +        "description": "Vintage/competência da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "dataset_id": {
        +        "description": "Identificador do conjunto da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "fields": {
        +        "description": "Campos do payload atribuídos a esta sub-fonte",
        +        "items": {
        +          "type": "string"
        +        },
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "retrieved_at": {
        +        "description": "ISO-8601 da extração desta sub-fonte na origem",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "served_from_cache": {
        +        "description": "true se esta sub-fonte veio do cache do servidor (retrieved_at é o da extração original); false se foi buscada nesta chamada; null se o servidor não distingue",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "source_url": {
        +        "description": "URL canônica da sub-fonte que originou estes campos",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "fields",
        +      "source_url",
        +      "dataset_id",
        +      "data_vintage",
        +      "retrieved_at"
        +    ],
        +    "type": "object"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
    • Changedicd11_postcoordination1 field changed
      • addedOutput schema / properties / provenance / properties / field_sources
        Added value: +{
        +  "description": "Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses",
        +  "items": {
        +    "additionalProperties": false,
        +    "description": "Proveniência de um grupo de campos da resposta: de onde veio e quando foi extraído",
        +    "properties": {
        +      "data_vintage": {
        +        "description": "Vintage/competência da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "dataset_id": {
        +        "description": "Identificador do conjunto da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "fields": {
        +        "description": "Campos do payload atribuídos a esta sub-fonte",
        +        "items": {
        +          "type": "string"
        +        },
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "retrieved_at": {
        +        "description": "ISO-8601 da extração desta sub-fonte na origem",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "served_from_cache": {
        +        "description": "true se esta sub-fonte veio do cache do servidor (retrieved_at é o da extração original); false se foi buscada nesta chamada; null se o servidor não distingue",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "source_url": {
        +        "description": "URL canônica da sub-fonte que originou estes campos",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "fields",
        +      "source_url",
        +      "dataset_id",
        +      "data_vintage",
        +      "retrieved_at"
        +    ],
        +    "type": "object"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
    • Changedicd11_search1 field changed
      • addedOutput schema / properties / provenance / properties / field_sources
        Added value: +{
        +  "description": "Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses",
        +  "items": {
        +    "additionalProperties": false,
        +    "description": "Proveniência de um grupo de campos da resposta: de onde veio e quando foi extraído",
        +    "properties": {
        +      "data_vintage": {
        +        "description": "Vintage/competência da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "dataset_id": {
        +        "description": "Identificador do conjunto da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "fields": {
        +        "description": "Campos do payload atribuídos a esta sub-fonte",
        +        "items": {
        +          "type": "string"
        +        },
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "retrieved_at": {
        +        "description": "ISO-8601 da extração desta sub-fonte na origem",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "served_from_cache": {
        +        "description": "true se esta sub-fonte veio do cache do servidor (retrieved_at é o da extração original); false se foi buscada nesta chamada; null se o servidor não distingue",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "source_url": {
        +        "description": "URL canônica da sub-fonte que originou estes campos",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "fields",
        +      "source_url",
        +      "dataset_id",
        +      "data_vintage",
        +      "retrieved_at"
        +    ],
        +    "type": "object"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
    • Changedloinc_answers1 field changed
      • addedOutput schema / properties / provenance / properties / field_sources
        Added value: +{
        +  "description": "Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses",
        +  "items": {
        +    "additionalProperties": false,
        +    "description": "Proveniência de um grupo de campos da resposta: de onde veio e quando foi extraído",
        +    "properties": {
        +      "data_vintage": {
        +        "description": "Vintage/competência da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "dataset_id": {
        +        "description": "Identificador do conjunto da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "fields": {
        +        "description": "Campos do payload atribuídos a esta sub-fonte",
        +        "items": {
        +          "type": "string"
        +        },
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "retrieved_at": {
        +        "description": "ISO-8601 da extração desta sub-fonte na origem",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "served_from_cache": {
        +        "description": "true se esta sub-fonte veio do cache do servidor (retrieved_at é o da extração original); false se foi buscada nesta chamada; null se o servidor não distingue",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "source_url": {
        +        "description": "URL canônica da sub-fonte que originou estes campos",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "fields",
        +      "source_url",
        +      "dataset_id",
        +      "data_vintage",
        +      "retrieved_at"
        +    ],
        +    "type": "object"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
    • Changedloinc_details1 field changed
      • addedOutput schema / properties / provenance / properties / field_sources
        Added value: +{
        +  "description": "Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses",
        +  "items": {
        +    "additionalProperties": false,
        +    "description": "Proveniência de um grupo de campos da resposta: de onde veio e quando foi extraído",
        +    "properties": {
        +      "data_vintage": {
        +        "description": "Vintage/competência da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "dataset_id": {
        +        "description": "Identificador do conjunto da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "fields": {
        +        "description": "Campos do payload atribuídos a esta sub-fonte",
        +        "items": {
        +          "type": "string"
        +        },
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "retrieved_at": {
        +        "description": "ISO-8601 da extração desta sub-fonte na origem",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "served_from_cache": {
        +        "description": "true se esta sub-fonte veio do cache do servidor (retrieved_at é o da extração original); false se foi buscada nesta chamada; null se o servidor não distingue",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "source_url": {
        +        "description": "URL canônica da sub-fonte que originou estes campos",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "fields",
        +      "source_url",
        +      "dataset_id",
        +      "data_vintage",
        +      "retrieved_at"
        +    ],
        +    "type": "object"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
    • Changedloinc_panels1 field changed
      • addedOutput schema / properties / provenance / properties / field_sources
        Added value: +{
        +  "description": "Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses",
        +  "items": {
        +    "additionalProperties": false,
        +    "description": "Proveniência de um grupo de campos da resposta: de onde veio e quando foi extraído",
        +    "properties": {
        +      "data_vintage": {
        +        "description": "Vintage/competência da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "dataset_id": {
        +        "description": "Identificador do conjunto da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "fields": {
        +        "description": "Campos do payload atribuídos a esta sub-fonte",
        +        "items": {
        +          "type": "string"
        +        },
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "retrieved_at": {
        +        "description": "ISO-8601 da extração desta sub-fonte na origem",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "served_from_cache": {
        +        "description": "true se esta sub-fonte veio do cache do servidor (retrieved_at é o da extração original); false se foi buscada nesta chamada; null se o servidor não distingue",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "source_url": {
        +        "description": "URL canônica da sub-fonte que originou estes campos",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "fields",
        +      "source_url",
        +      "dataset_id",
        +      "data_vintage",
        +      "retrieved_at"
        +    ],
        +    "type": "object"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
    • Changedloinc_search1 field changed
      • addedOutput schema / properties / provenance / properties / field_sources
        Added value: +{
        +  "description": "Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses",
        +  "items": {
        +    "additionalProperties": false,
        +    "description": "Proveniência de um grupo de campos da resposta: de onde veio e quando foi extraído",
        +    "properties": {
        +      "data_vintage": {
        +        "description": "Vintage/competência da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "dataset_id": {
        +        "description": "Identificador do conjunto da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "fields": {
        +        "description": "Campos do payload atribuídos a esta sub-fonte",
        +        "items": {
        +          "type": "string"
        +        },
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "retrieved_at": {
        +        "description": "ISO-8601 da extração desta sub-fonte na origem",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "served_from_cache": {
        +        "description": "true se esta sub-fonte veio do cache do servidor (retrieved_at é o da extração original); false se foi buscada nesta chamada; null se o servidor não distingue",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "source_url": {
        +        "description": "URL canônica da sub-fonte que originou estes campos",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "fields",
        +      "source_url",
        +      "dataset_id",
        +      "data_vintage",
        +      "retrieved_at"
        +    ],
        +    "type": "object"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
    • Changedmap_icd10_to_icd111 field changed
      • addedOutput schema / properties / provenance / properties / field_sources
        Added value: +{
        +  "description": "Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses",
        +  "items": {
        +    "additionalProperties": false,
        +    "description": "Proveniência de um grupo de campos da resposta: de onde veio e quando foi extraído",
        +    "properties": {
        +      "data_vintage": {
        +        "description": "Vintage/competência da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "dataset_id": {
        +        "description": "Identificador do conjunto da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "fields": {
        +        "description": "Campos do payload atribuídos a esta sub-fonte",
        +        "items": {
        +          "type": "string"
        +        },
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "retrieved_at": {
        +        "description": "ISO-8601 da extração desta sub-fonte na origem",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "served_from_cache": {
        +        "description": "true se esta sub-fonte veio do cache do servidor (retrieved_at é o da extração original); false se foi buscada nesta chamada; null se o servidor não distingue",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "source_url": {
        +        "description": "URL canônica da sub-fonte que originou estes campos",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "fields",
        +      "source_url",
        +      "dataset_id",
        +      "data_vintage",
        +      "retrieved_at"
        +    ],
        +    "type": "object"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
    • Changedmesh_descriptor1 field changed
      • addedOutput schema / properties / provenance / properties / field_sources
        Added value: +{
        +  "description": "Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses",
        +  "items": {
        +    "additionalProperties": false,
        +    "description": "Proveniência de um grupo de campos da resposta: de onde veio e quando foi extraído",
        +    "properties": {
        +      "data_vintage": {
        +        "description": "Vintage/competência da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "dataset_id": {
        +        "description": "Identificador do conjunto da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "fields": {
        +        "description": "Campos do payload atribuídos a esta sub-fonte",
        +        "items": {
        +          "type": "string"
        +        },
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "retrieved_at": {
        +        "description": "ISO-8601 da extração desta sub-fonte na origem",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "served_from_cache": {
        +        "description": "true se esta sub-fonte veio do cache do servidor (retrieved_at é o da extração original); false se foi buscada nesta chamada; null se o servidor não distingue",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "source_url": {
        +        "description": "URL canônica da sub-fonte que originou estes campos",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "fields",
        +      "source_url",
        +      "dataset_id",
        +      "data_vintage",
        +      "retrieved_at"
        +    ],
        +    "type": "object"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
    • Changedmesh_qualifiers1 field changed
      • addedOutput schema / properties / provenance / properties / field_sources
        Added value: +{
        +  "description": "Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses",
        +  "items": {
        +    "additionalProperties": false,
        +    "description": "Proveniência de um grupo de campos da resposta: de onde veio e quando foi extraído",
        +    "properties": {
        +      "data_vintage": {
        +        "description": "Vintage/competência da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "dataset_id": {
        +        "description": "Identificador do conjunto da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "fields": {
        +        "description": "Campos do payload atribuídos a esta sub-fonte",
        +        "items": {
        +          "type": "string"
        +        },
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "retrieved_at": {
        +        "description": "ISO-8601 da extração desta sub-fonte na origem",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "served_from_cache": {
        +        "description": "true se esta sub-fonte veio do cache do servidor (retrieved_at é o da extração original); false se foi buscada nesta chamada; null se o servidor não distingue",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "source_url": {
        +        "description": "URL canônica da sub-fonte que originou estes campos",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "fields",
        +      "source_url",
        +      "dataset_id",
        +      "data_vintage",
        +      "retrieved_at"
        +    ],
        +    "type": "object"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
    • Changedmesh_search1 field changed
      • addedOutput schema / properties / provenance / properties / field_sources
        Added value: +{
        +  "description": "Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses",
        +  "items": {
        +    "additionalProperties": false,
        +    "description": "Proveniência de um grupo de campos da resposta: de onde veio e quando foi extraído",
        +    "properties": {
        +      "data_vintage": {
        +        "description": "Vintage/competência da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "dataset_id": {
        +        "description": "Identificador do conjunto da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "fields": {
        +        "description": "Campos do payload atribuídos a esta sub-fonte",
        +        "items": {
        +          "type": "string"
        +        },
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "retrieved_at": {
        +        "description": "ISO-8601 da extração desta sub-fonte na origem",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "served_from_cache": {
        +        "description": "true se esta sub-fonte veio do cache do servidor (retrieved_at é o da extração original); false se foi buscada nesta chamada; null se o servidor não distingue",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "source_url": {
        +        "description": "URL canônica da sub-fonte que originou estes campos",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "fields",
        +      "source_url",
        +      "dataset_id",
        +      "data_vintage",
        +      "retrieved_at"
        +    ],
        +    "type": "object"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
    • Changedmesh_tree1 field changed
      • addedOutput schema / properties / provenance / properties / field_sources
        Added value: +{
        +  "description": "Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses",
        +  "items": {
        +    "additionalProperties": false,
        +    "description": "Proveniência de um grupo de campos da resposta: de onde veio e quando foi extraído",
        +    "properties": {
        +      "data_vintage": {
        +        "description": "Vintage/competência da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "dataset_id": {
        +        "description": "Identificador do conjunto da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "fields": {
        +        "description": "Campos do payload atribuídos a esta sub-fonte",
        +        "items": {
        +          "type": "string"
        +        },
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "retrieved_at": {
        +        "description": "ISO-8601 da extração desta sub-fonte na origem",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "served_from_cache": {
        +        "description": "true se esta sub-fonte veio do cache do servidor (retrieved_at é o da extração original); false se foi buscada nesta chamada; null se o servidor não distingue",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "source_url": {
        +        "description": "URL canônica da sub-fonte que originou estes campos",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "fields",
        +      "source_url",
        +      "dataset_id",
        +      "data_vintage",
        +      "retrieved_at"
        +    ],
        +    "type": "object"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
    • Changedrxnorm_classes1 field changed
      • addedOutput schema / properties / provenance / properties / field_sources
        Added value: +{
        +  "description": "Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses",
        +  "items": {
        +    "additionalProperties": false,
        +    "description": "Proveniência de um grupo de campos da resposta: de onde veio e quando foi extraído",
        +    "properties": {
        +      "data_vintage": {
        +        "description": "Vintage/competência da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "dataset_id": {
        +        "description": "Identificador do conjunto da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "fields": {
        +        "description": "Campos do payload atribuídos a esta sub-fonte",
        +        "items": {
        +          "type": "string"
        +        },
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "retrieved_at": {
        +        "description": "ISO-8601 da extração desta sub-fonte na origem",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "served_from_cache": {
        +        "description": "true se esta sub-fonte veio do cache do servidor (retrieved_at é o da extração original); false se foi buscada nesta chamada; null se o servidor não distingue",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "source_url": {
        +        "description": "URL canônica da sub-fonte que originou estes campos",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "fields",
        +      "source_url",
        +      "dataset_id",
        +      "data_vintage",
        +      "retrieved_at"
        +    ],
        +    "type": "object"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
    • Changedrxnorm_concept1 field changed
      • addedOutput schema / properties / provenance / properties / field_sources
        Added value: +{
        +  "description": "Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses",
        +  "items": {
        +    "additionalProperties": false,
        +    "description": "Proveniência de um grupo de campos da resposta: de onde veio e quando foi extraído",
        +    "properties": {
        +      "data_vintage": {
        +        "description": "Vintage/competência da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "dataset_id": {
        +        "description": "Identificador do conjunto da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "fields": {
        +        "description": "Campos do payload atribuídos a esta sub-fonte",
        +        "items": {
        +          "type": "string"
        +        },
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "retrieved_at": {
        +        "description": "ISO-8601 da extração desta sub-fonte na origem",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "served_from_cache": {
        +        "description": "true se esta sub-fonte veio do cache do servidor (retrieved_at é o da extração original); false se foi buscada nesta chamada; null se o servidor não distingue",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "source_url": {
        +        "description": "URL canônica da sub-fonte que originou estes campos",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "fields",
        +      "source_url",
        +      "dataset_id",
        +      "data_vintage",
        +      "retrieved_at"
        +    ],
        +    "type": "object"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
    • Changedrxnorm_ingredients1 field changed
      • addedOutput schema / properties / provenance / properties / field_sources
        Added value: +{
        +  "description": "Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses",
        +  "items": {
        +    "additionalProperties": false,
        +    "description": "Proveniência de um grupo de campos da resposta: de onde veio e quando foi extraído",
        +    "properties": {
        +      "data_vintage": {
        +        "description": "Vintage/competência da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "dataset_id": {
        +        "description": "Identificador do conjunto da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "fields": {
        +        "description": "Campos do payload atribuídos a esta sub-fonte",
        +        "items": {
        +          "type": "string"
        +        },
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "retrieved_at": {
        +        "description": "ISO-8601 da extração desta sub-fonte na origem",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "served_from_cache": {
        +        "description": "true se esta sub-fonte veio do cache do servidor (retrieved_at é o da extração original); false se foi buscada nesta chamada; null se o servidor não distingue",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "source_url": {
        +        "description": "URL canônica da sub-fonte que originou estes campos",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "fields",
        +      "source_url",
        +      "dataset_id",
        +      "data_vintage",
        +      "retrieved_at"
        +    ],
        +    "type": "object"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
    • Changedrxnorm_ndc1 field changed
      • addedOutput schema / properties / provenance / properties / field_sources
        Added value: +{
        +  "description": "Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses",
        +  "items": {
        +    "additionalProperties": false,
        +    "description": "Proveniência de um grupo de campos da resposta: de onde veio e quando foi extraído",
        +    "properties": {
        +      "data_vintage": {
        +        "description": "Vintage/competência da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "dataset_id": {
        +        "description": "Identificador do conjunto da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "fields": {
        +        "description": "Campos do payload atribuídos a esta sub-fonte",
        +        "items": {
        +          "type": "string"
        +        },
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "retrieved_at": {
        +        "description": "ISO-8601 da extração desta sub-fonte na origem",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "served_from_cache": {
        +        "description": "true se esta sub-fonte veio do cache do servidor (retrieved_at é o da extração original); false se foi buscada nesta chamada; null se o servidor não distingue",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "source_url": {
        +        "description": "URL canônica da sub-fonte que originou estes campos",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "fields",
        +      "source_url",
        +      "dataset_id",
        +      "data_vintage",
        +      "retrieved_at"
        +    ],
        +    "type": "object"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
    • Changedrxnorm_search1 field changed
      • addedOutput schema / properties / provenance / properties / field_sources
        Added value: +{
        +  "description": "Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses",
        +  "items": {
        +    "additionalProperties": false,
        +    "description": "Proveniência de um grupo de campos da resposta: de onde veio e quando foi extraído",
        +    "properties": {
        +      "data_vintage": {
        +        "description": "Vintage/competência da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "dataset_id": {
        +        "description": "Identificador do conjunto da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "fields": {
        +        "description": "Campos do payload atribuídos a esta sub-fonte",
        +        "items": {
        +          "type": "string"
        +        },
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "retrieved_at": {
        +        "description": "ISO-8601 da extração desta sub-fonte na origem",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "served_from_cache": {
        +        "description": "true se esta sub-fonte veio do cache do servidor (retrieved_at é o da extração original); false se foi buscada nesta chamada; null se o servidor não distingue",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "source_url": {
        +        "description": "URL canônica da sub-fonte que originou estes campos",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "fields",
        +      "source_url",
        +      "dataset_id",
        +      "data_vintage",
        +      "retrieved_at"
        +    ],
        +    "type": "object"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
    • Changedsearch2 fields changed
      • changedOutput schema / properties / provenance / items / description
        Previous value: -"Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença"New value: +"Bloco de proveniência (contrato v1.2): fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando a resposta junta partes de origens ou momentos distintos, de onde veio cada parte"
      • addedOutput schema / properties / provenance / items / properties / field_sources
        Added value: +{
        +  "description": "Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses",
        +  "items": {
        +    "additionalProperties": false,
        +    "description": "Proveniência de um grupo de campos da resposta: de onde veio e quando foi extraído",
        +    "properties": {
        +      "data_vintage": {
        +        "description": "Vintage/competência da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "dataset_id": {
        +        "description": "Identificador do conjunto da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "fields": {
        +        "description": "Campos do payload atribuídos a esta sub-fonte",
        +        "items": {
        +          "type": "string"
        +        },
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "retrieved_at": {
        +        "description": "ISO-8601 da extração desta sub-fonte na origem",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "served_from_cache": {
        +        "description": "true se esta sub-fonte veio do cache do servidor (retrieved_at é o da extração original); false se foi buscada nesta chamada; null se o servidor não distingue",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "source_url": {
        +        "description": "URL canônica da sub-fonte que originou estes campos",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "fields",
        +      "source_url",
        +      "dataset_id",
        +      "data_vintage",
        +      "retrieved_at"
        +    ],
        +    "type": "object"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
    • Changedterminology_diff1 field changed
      • addedOutput schema / properties / provenance / properties / field_sources
        Added value: +{
        +  "description": "Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses",
        +  "items": {
        +    "additionalProperties": false,
        +    "description": "Proveniência de um grupo de campos da resposta: de onde veio e quando foi extraído",
        +    "properties": {
        +      "data_vintage": {
        +        "description": "Vintage/competência da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "dataset_id": {
        +        "description": "Identificador do conjunto da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "fields": {
        +        "description": "Campos do payload atribuídos a esta sub-fonte",
        +        "items": {
        +          "type": "string"
        +        },
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "retrieved_at": {
        +        "description": "ISO-8601 da extração desta sub-fonte na origem",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "served_from_cache": {
        +        "description": "true se esta sub-fonte veio do cache do servidor (retrieved_at é o da extração original); false se foi buscada nesta chamada; null se o servidor não distingue",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "source_url": {
        +        "description": "URL canônica da sub-fonte que originou estes campos",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "fields",
        +      "source_url",
        +      "dataset_id",
        +      "data_vintage",
        +      "retrieved_at"
        +    ],
        +    "type": "object"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
    • Changedterminology_versions1 field changed
      • addedOutput schema / properties / provenance / properties / field_sources
        Added value: +{
        +  "description": "Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses",
        +  "items": {
        +    "additionalProperties": false,
        +    "description": "Proveniência de um grupo de campos da resposta: de onde veio e quando foi extraído",
        +    "properties": {
        +      "data_vintage": {
        +        "description": "Vintage/competência da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "dataset_id": {
        +        "description": "Identificador do conjunto da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "fields": {
        +        "description": "Campos do payload atribuídos a esta sub-fonte",
        +        "items": {
        +          "type": "string"
        +        },
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "retrieved_at": {
        +        "description": "ISO-8601 da extração desta sub-fonte na origem",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "served_from_cache": {
        +        "description": "true se esta sub-fonte veio do cache do servidor (retrieved_at é o da extração original); false se foi buscada nesta chamada; null se o servidor não distingue",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "source_url": {
        +        "description": "URL canônica da sub-fonte que originou estes campos",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "fields",
        +      "source_url",
        +      "dataset_id",
        +      "data_vintage",
        +      "retrieved_at"
        +    ],
        +    "type": "object"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
    • Changedvalidate_codes2 fields changed
      • changedOutput schema / properties / provenance / items / description
        Previous value: -"Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença"New value: +"Bloco de proveniência (contrato v1.2): fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando a resposta junta partes de origens ou momentos distintos, de onde veio cada parte"
      • addedOutput schema / properties / provenance / items / properties / field_sources
        Added value: +{
        +  "description": "Present only when the response joins parts from different origins or extraction instants (contract v1.2): for each group of fields, its URL, extraction instant and whether it came from cache. Absent in single-origin responses",
        +  "items": {
        +    "additionalProperties": false,
        +    "description": "Proveniência de um grupo de campos da resposta: de onde veio e quando foi extraído",
        +    "properties": {
        +      "data_vintage": {
        +        "description": "Vintage/competência da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "dataset_id": {
        +        "description": "Identificador do conjunto da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "fields": {
        +        "description": "Campos do payload atribuídos a esta sub-fonte",
        +        "items": {
        +          "type": "string"
        +        },
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "retrieved_at": {
        +        "description": "ISO-8601 da extração desta sub-fonte na origem",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "served_from_cache": {
        +        "description": "true se esta sub-fonte veio do cache do servidor (retrieved_at é o da extração original); false se foi buscada nesta chamada; null se o servidor não distingue",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "source_url": {
        +        "description": "URL canônica da sub-fonte que originou estes campos",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "fields",
        +      "source_url",
        +      "dataset_id",
        +      "data_vintage",
        +      "retrieved_at"
        +    ],
        +    "type": "object"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
  4. 8 tool updatesv2.0.0
    • Changedfind_equivalent7 fields changed
      • changedInput schema / properties / source_terminology / enum
        Previous value: -[
        -  "icd11",
        -  "snomed",
        -  "loinc",
        -  "rxnorm",
        -  "mesh"
        -]New value: +[
        +  "icd11",
        +  "loinc",
        +  "rxnorm",
        +  "mesh"
        +]
      • changedInput schema / properties / target_terminologies / items / enum
        Previous value: -[
        -  "icd11",
        -  "snomed",
        -  "loinc",
        -  "rxnorm",
        -  "mesh"
        -]New value: +[
        +  "icd11",
        +  "loinc",
        +  "rxnorm",
        +  "mesh"
        +]
      • changedOutput schema / properties / groups / items / properties / members / items / properties / terminology / enum
        Previous value: -[
        -  "icd11",
        -  "snomed",
        -  "loinc",
        -  "rxnorm",
        -  "mesh"
        -]New value: +[
        +  "icd11",
        +  "loinc",
        +  "rxnorm",
        +  "mesh"
        +]
      • changedOutput schema / properties / groups / items / properties / terminologies / items / enum
        Previous value: -[
        -  "icd11",
        -  "snomed",
        -  "loinc",
        -  "rxnorm",
        -  "mesh"
        -]New value: +[
        +  "icd11",
        +  "loinc",
        +  "rxnorm",
        +  "mesh"
        +]
      • removedOutput schema / properties / results / properties / snomed
        Removed value: -{
        -  "additionalProperties": false,
        -  "properties": {
        -    "error": {
        -      "type": [
        -        "string",
        -        "null"
        -      ]
        -    },
        -    "found": {
        -      "type": "boolean"
        -    },
        -    "items": {
        -      "items": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "code": {
        -            "type": "string"
        -          },
        -          "match_score": {
        -            "maximum": 1,
        -            "minimum": 0,
        -            "type": "number"
        -          },
        -          "rank": {
        -            "maximum": 9007199254740991,
        -            "minimum": 1,
        -            "type": "integer"
        -          },
        -          "title": {
        -            "type": "string"
        -          },
        -          "uri": {
        -            "type": [
        -              "string",
        -              "null"
        -            ]
        -          }
        -        },
        -        "required": [
        -          "code",
        -          "title",
        -          "uri",
        -          "match_score",
        -          "rank"
        -        ],
        -        "type": "object"
        -      },
        -      "type": "array"
        -    }
        -  },
        -  "required": [
        -    "found",
        -    "error",
        -    "items"
        -  ],
        -  "type": "object"
        -}
      • changedOutput schema / properties / searched_terminologies / items / enum
        Previous value: -[
        -  "icd11",
        -  "snomed",
        -  "loinc",
        -  "rxnorm",
        -  "mesh"
        -]New value: +[
        +  "icd11",
        +  "loinc",
        +  "rxnorm",
        +  "mesh"
        +]
      • changedOutput schema / properties / source_terminology / anyOf
        Previous value: -[
        -  {
        -    "enum": [
        -      "icd11",
        -      "snomed",
        -      "loinc",
        -      "rxnorm",
        -      "mesh"
        -    ],
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "enum": [
        +      "icd11",
        +      "loinc",
        +      "rxnorm",
        +      "mesh"
        +    ],
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
    • Addedharmonize_terms
    • Changedloinc_answers4 fields changed
      • addedOutput schema / properties / answers / items / properties / answer_code / description
        Added value: +"LOINC answer code (LA…), e.g. \"LA18976-3\"."
      • addedOutput schema / properties / answers / items / properties / score
        Added value: +{
        +  "description": "Numeric score for scored instruments (PHQ-9 items: 0-3); null when the answer list carries none.",
        +  "type": [
        +    "number",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / answers / items / properties / sequence / description
        Added value: +"Display order in the answer list (1-based)."
      • changedOutput schema / properties / answers / items / required
        Previous value: -[
        -  "sequence",
        -  "answer_code",
        -  "answer_string"
        -]New value: +[
        +  "sequence",
        +  "answer_code",
        +  "answer_string",
        +  "score"
        +]
    • Changedloinc_panels1 field changed
      • changedOutput schema / properties / panel / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "items": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "loinc_num": {
        -              "type": "string"
        -            },
        -            "name": {
        -              "type": "string"
        -            },
        -            "required": {
        -              "type": "boolean"
        -            },
        -            "sequence": {
        -              "maximum": 9007199254740991,
        -              "minimum": -9007199254740991,
        -              "type": "integer"
        -            }
        -          },
        -          "required": [
        -            "sequence",
        -            "loinc_num",
        -            "name",
        -            "required"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "loinc_num": {
        -        "type": "string"
        -      },
        -      "name": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "loinc_num",
        -      "name",
        -      "items"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "items": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "loinc_num": {
        +              "type": "string"
        +            },
        +            "name": {
        +              "type": "string"
        +            },
        +            "required": {
        +              "description": "Whether the item is required; null when the source form definition does not state it (the case for every panel the API serves today).",
        +              "type": [
        +                "boolean",
        +                "null"
        +              ]
        +            },
        +            "sequence": {
        +              "description": "Position in the form (1-based), i.e. display order.",
        +              "maximum": 9007199254740991,
        +              "minimum": -9007199254740991,
        +              "type": "integer"
        +            }
        +          },
        +          "required": [
        +            "sequence",
        +            "loinc_num",
        +            "name",
        +            "required"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "loinc_num": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "loinc_num",
        +      "name",
        +      "items"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
    • Removedmap_loinc_to_snomed
    • Changedterminology_diff2 fields changed
      • changedInput schema / properties / terminology / enum
        Previous value: -[
        -  "icd11",
        -  "icd10",
        -  "snomed",
        -  "loinc",
        -  "rxnorm",
        -  "mesh",
        -  "atc",
        -  "cid10"
        -]New value: +[
        +  "icd11",
        +  "icd10",
        +  "loinc",
        +  "rxnorm",
        +  "mesh",
        +  "atc",
        +  "cid10"
        +]
      • changedOutput schema / properties / terminology / enum
        Previous value: -[
        -  "icd11",
        -  "icd10",
        -  "snomed",
        -  "loinc",
        -  "rxnorm",
        -  "mesh",
        -  "atc",
        -  "cid10"
        -]New value: +[
        +  "icd11",
        +  "icd10",
        +  "loinc",
        +  "rxnorm",
        +  "mesh",
        +  "atc",
        +  "cid10"
        +]
    • Changedterminology_versions3 fields changed
      • changedInput schema / properties / terminology / description
        Previous value: -"Filter to a single terminology. Omit to return all 8."New value: +"Filter to a single terminology. Omit to return all 7."
      • changedInput schema / properties / terminology / enum
        Previous value: -[
        -  "icd11",
        -  "icd10",
        -  "snomed",
        -  "loinc",
        -  "rxnorm",
        -  "mesh",
        -  "atc",
        -  "cid10"
        -]New value: +[
        +  "icd11",
        +  "icd10",
        +  "loinc",
        +  "rxnorm",
        +  "mesh",
        +  "atc",
        +  "cid10"
        +]
      • changedOutput schema / properties / terminologies / items / properties / code / enum
        Previous value: -[
        -  "icd11",
        -  "icd10",
        -  "snomed",
        -  "loinc",
        -  "rxnorm",
        -  "mesh",
        -  "atc",
        -  "cid10"
        -]New value: +[
        +  "icd11",
        +  "icd10",
        +  "loinc",
        +  "rxnorm",
        +  "mesh",
        +  "atc",
        +  "cid10"
        +]
    • Changedvalidate_codes2 fields changed
      • changedInput schema / properties / codes / items / properties / terminology / enum
        Previous value: -[
        -  "icd11",
        -  "icd10",
        -  "snomed",
        -  "loinc",
        -  "rxnorm",
        -  "mesh",
        -  "atc",
        -  "cid10"
        -]New value: +[
        +  "icd11",
        +  "icd10",
        +  "loinc",
        +  "rxnorm",
        +  "mesh",
        +  "atc",
        +  "cid10"
        +]
      • changedOutput schema / properties / results / items / properties / terminology / enum
        Previous value: -[
        -  "icd11",
        -  "icd10",
        -  "snomed",
        -  "loinc",
        -  "rxnorm",
        -  "mesh",
        -  "atc",
        -  "cid10"
        -]New value: +[
        +  "icd11",
        +  "icd10",
        +  "loinc",
        +  "rxnorm",
        +  "mesh",
        +  "atc",
        +  "cid10"
        +]
  5. 2 tool updatesv1.17.1
    • Changedfetch1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedsearch1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
  6. 4 tool updatesv1.16.0
    • Changedrxnorm_classes3 fields changed
      • addedInput schema / properties / rxcui / anyOf
        Added value: +[
        +  {
        +    "pattern": "^\\d+$",
        +    "type": "string"
        +  },
        +  {
        +    "maximum": 9007199254740991,
        +    "minimum": 0,
        +    "type": "integer"
        +  }
        +]
      • removedInput schema / properties / rxcui / pattern
        Removed value: -"^\\d+$"
      • removedInput schema / properties / rxcui / type
        Removed value: -"string"
    • Changedrxnorm_concept17 fields changed
      • addedInput schema / properties / include_related / anyOf
        Added value: +[
        +  {
        +    "type": "boolean"
        +  },
        +  {
        +    "enum": [
        +      "true",
        +      "false"
        +    ],
        +    "type": "string"
        +  }
        +]
      • removedInput schema / properties / include_related / default
        Removed value: -false
      • changedInput schema / properties / include_related / description
        Previous value: -"Include related concepts (ingredients, brands, dose forms)"New value: +"Include related concepts (ingredients, brands, dose forms). Default false; true/false, also accepted as the strings \"true\"/\"false\""
      • removedInput schema / properties / include_related / type
        Removed value: -"boolean"
      • addedInput schema / properties / rxcui / anyOf
        Added value: +[
        +  {
        +    "pattern": "^\\d+$",
        +    "type": "string"
        +  },
        +  {
        +    "maximum": 9007199254740991,
        +    "minimum": 0,
        +    "type": "integer"
        +  }
        +]
      • changedInput schema / properties / rxcui / description
        Previous value: -"RxNorm Concept Unique Identifier"New value: +"RxNorm Concept Unique Identifier (string of digits or integer, e.g. \"161\" or 161)"
      • removedInput schema / properties / rxcui / pattern
        Removed value: -"^\\d+$"
      • removedInput schema / properties / rxcui / type
        Removed value: -"string"
      • addedOutput schema / properties / found
        Added value: +{
        +  "description": "false when RxNorm has no concept with this RxCUI (the lookup answered; the fields below are null)",
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / language / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / name / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / status / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / suppress / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / synonym / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / tty / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / umlscui / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / required
        Previous value: -[
        -  "rxcui",
        -  "name",
        -  "synonym",
        -  "tty",
        -  "language",
        -  "suppress",
        -  "umlscui",
        -  "status",
        -  "remapped_to",
        -  "related_groups",
        -  "provenance",
        -  "attribution"
        -]New value: +[
        +  "rxcui",
        +  "found",
        +  "name",
        +  "synonym",
        +  "tty",
        +  "language",
        +  "suppress",
        +  "umlscui",
        +  "status",
        +  "remapped_to",
        +  "related_groups",
        +  "provenance",
        +  "attribution"
        +]
    • Changedrxnorm_ingredients3 fields changed
      • addedInput schema / properties / rxcui / anyOf
        Added value: +[
        +  {
        +    "pattern": "^\\d+$",
        +    "type": "string"
        +  },
        +  {
        +    "maximum": 9007199254740991,
        +    "minimum": 0,
        +    "type": "integer"
        +  }
        +]
      • removedInput schema / properties / rxcui / pattern
        Removed value: -"^\\d+$"
      • removedInput schema / properties / rxcui / type
        Removed value: -"string"
    • Changedrxnorm_ndc3 fields changed
      • addedInput schema / properties / rxcui / anyOf
        Added value: +[
        +  {
        +    "pattern": "^\\d+$",
        +    "type": "string"
        +  },
        +  {
        +    "maximum": 9007199254740991,
        +    "minimum": 0,
        +    "type": "integer"
        +  }
        +]
      • removedInput schema / properties / rxcui / pattern
        Removed value: -"^\\d+$"
      • removedInput schema / properties / rxcui / type
        Removed value: -"string"
  7. 33 tool updatesv1.15.0
    • Changedatc_classify3 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license"New value: +"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / retrieval
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "anomalies": {
        +          "description": "Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma",
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "count": {
        +                "description": "Ocorrências desta classe na chamada",
        +                "maximum": 9007199254740991,
        +                "minimum": 1,
        +                "type": "integer"
        +              },
        +              "kind": {
        +                "description": "Classe da anomalia (vocabulário fechado do contrato)",
        +                "enum": [
        +                  "timeout",
        +                  "network",
        +                  "http_4xx",
        +                  "http_5xx",
        +                  "rate_limited",
        +                  "malformed_body"
        +                ],
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "kind",
        +              "count"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "attempts": {
        +          "description": "Tentativas somadas, incluindo as repetidas (>= requests)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "requests": {
        +          "description": "Idas distintas à origem que compõem esta resposta (fatias, páginas)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "unstable": {
        +          "description": "true se houve repetição (attempts > requests) ou alguma anomalia",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "requests",
        +        "attempts",
        +        "anomalies",
        +        "unstable"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
        +}
      • changedOutput schema / properties / provenance / required
        Previous value: -[
        -  "source",
        -  "source_url",
        -  "data_vintage",
        -  "retrieved_at",
        -  "citation",
        -  "license"
        -]New value: +[
        +  "source",
        +  "source_url",
        +  "data_vintage",
        +  "retrieved_at",
        +  "retrieval",
        +  "citation",
        +  "license"
        +]
    • Changedatc_lookup3 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license"New value: +"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / retrieval
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "anomalies": {
        +          "description": "Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma",
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "count": {
        +                "description": "Ocorrências desta classe na chamada",
        +                "maximum": 9007199254740991,
        +                "minimum": 1,
        +                "type": "integer"
        +              },
        +              "kind": {
        +                "description": "Classe da anomalia (vocabulário fechado do contrato)",
        +                "enum": [
        +                  "timeout",
        +                  "network",
        +                  "http_4xx",
        +                  "http_5xx",
        +                  "rate_limited",
        +                  "malformed_body"
        +                ],
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "kind",
        +              "count"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "attempts": {
        +          "description": "Tentativas somadas, incluindo as repetidas (>= requests)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "requests": {
        +          "description": "Idas distintas à origem que compõem esta resposta (fatias, páginas)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "unstable": {
        +          "description": "true se houve repetição (attempts > requests) ou alguma anomalia",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "requests",
        +        "attempts",
        +        "anomalies",
        +        "unstable"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
        +}
      • changedOutput schema / properties / provenance / required
        Previous value: -[
        -  "source",
        -  "source_url",
        -  "data_vintage",
        -  "retrieved_at",
        -  "citation",
        -  "license"
        -]New value: +[
        +  "source",
        +  "source_url",
        +  "data_vintage",
        +  "retrieved_at",
        +  "retrieval",
        +  "citation",
        +  "license"
        +]
    • Changedatc_members3 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license"New value: +"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / retrieval
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "anomalies": {
        +          "description": "Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma",
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "count": {
        +                "description": "Ocorrências desta classe na chamada",
        +                "maximum": 9007199254740991,
        +                "minimum": 1,
        +                "type": "integer"
        +              },
        +              "kind": {
        +                "description": "Classe da anomalia (vocabulário fechado do contrato)",
        +                "enum": [
        +                  "timeout",
        +                  "network",
        +                  "http_4xx",
        +                  "http_5xx",
        +                  "rate_limited",
        +                  "malformed_body"
        +                ],
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "kind",
        +              "count"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "attempts": {
        +          "description": "Tentativas somadas, incluindo as repetidas (>= requests)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "requests": {
        +          "description": "Idas distintas à origem que compõem esta resposta (fatias, páginas)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "unstable": {
        +          "description": "true se houve repetição (attempts > requests) ou alguma anomalia",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "requests",
        +        "attempts",
        +        "anomalies",
        +        "unstable"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
        +}
      • changedOutput schema / properties / provenance / required
        Previous value: -[
        -  "source",
        -  "source_url",
        -  "data_vintage",
        -  "retrieved_at",
        -  "citation",
        -  "license"
        -]New value: +[
        +  "source",
        +  "source_url",
        +  "data_vintage",
        +  "retrieved_at",
        +  "retrieval",
        +  "citation",
        +  "license"
        +]
    • Changedcid10_chapter3 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license"New value: +"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / retrieval
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "anomalies": {
        +          "description": "Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma",
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "count": {
        +                "description": "Ocorrências desta classe na chamada",
        +                "maximum": 9007199254740991,
        +                "minimum": 1,
        +                "type": "integer"
        +              },
        +              "kind": {
        +                "description": "Classe da anomalia (vocabulário fechado do contrato)",
        +                "enum": [
        +                  "timeout",
        +                  "network",
        +                  "http_4xx",
        +                  "http_5xx",
        +                  "rate_limited",
        +                  "malformed_body"
        +                ],
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "kind",
        +              "count"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "attempts": {
        +          "description": "Tentativas somadas, incluindo as repetidas (>= requests)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "requests": {
        +          "description": "Idas distintas à origem que compõem esta resposta (fatias, páginas)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "unstable": {
        +          "description": "true se houve repetição (attempts > requests) ou alguma anomalia",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "requests",
        +        "attempts",
        +        "anomalies",
        +        "unstable"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
        +}
      • changedOutput schema / properties / provenance / required
        Previous value: -[
        -  "source",
        -  "source_url",
        -  "data_vintage",
        -  "retrieved_at",
        -  "citation",
        -  "license"
        -]New value: +[
        +  "source",
        +  "source_url",
        +  "data_vintage",
        +  "retrieved_at",
        +  "retrieval",
        +  "citation",
        +  "license"
        +]
    • Changedcid10_chapters3 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license"New value: +"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / retrieval
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "anomalies": {
        +          "description": "Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma",
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "count": {
        +                "description": "Ocorrências desta classe na chamada",
        +                "maximum": 9007199254740991,
        +                "minimum": 1,
        +                "type": "integer"
        +              },
        +              "kind": {
        +                "description": "Classe da anomalia (vocabulário fechado do contrato)",
        +                "enum": [
        +                  "timeout",
        +                  "network",
        +                  "http_4xx",
        +                  "http_5xx",
        +                  "rate_limited",
        +                  "malformed_body"
        +                ],
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "kind",
        +              "count"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "attempts": {
        +          "description": "Tentativas somadas, incluindo as repetidas (>= requests)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "requests": {
        +          "description": "Idas distintas à origem que compõem esta resposta (fatias, páginas)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "unstable": {
        +          "description": "true se houve repetição (attempts > requests) ou alguma anomalia",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "requests",
        +        "attempts",
        +        "anomalies",
        +        "unstable"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
        +}
      • changedOutput schema / properties / provenance / required
        Previous value: -[
        -  "source",
        -  "source_url",
        -  "data_vintage",
        -  "retrieved_at",
        -  "citation",
        -  "license"
        -]New value: +[
        +  "source",
        +  "source_url",
        +  "data_vintage",
        +  "retrieved_at",
        +  "retrieval",
        +  "citation",
        +  "license"
        +]
    • Changedcid10_lookup3 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license"New value: +"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / retrieval
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "anomalies": {
        +          "description": "Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma",
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "count": {
        +                "description": "Ocorrências desta classe na chamada",
        +                "maximum": 9007199254740991,
        +                "minimum": 1,
        +                "type": "integer"
        +              },
        +              "kind": {
        +                "description": "Classe da anomalia (vocabulário fechado do contrato)",
        +                "enum": [
        +                  "timeout",
        +                  "network",
        +                  "http_4xx",
        +                  "http_5xx",
        +                  "rate_limited",
        +                  "malformed_body"
        +                ],
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "kind",
        +              "count"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "attempts": {
        +          "description": "Tentativas somadas, incluindo as repetidas (>= requests)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "requests": {
        +          "description": "Idas distintas à origem que compõem esta resposta (fatias, páginas)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "unstable": {
        +          "description": "true se houve repetição (attempts > requests) ou alguma anomalia",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "requests",
        +        "attempts",
        +        "anomalies",
        +        "unstable"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
        +}
      • changedOutput schema / properties / provenance / required
        Previous value: -[
        -  "source",
        -  "source_url",
        -  "data_vintage",
        -  "retrieved_at",
        -  "citation",
        -  "license"
        -]New value: +[
        +  "source",
        +  "source_url",
        +  "data_vintage",
        +  "retrieved_at",
        +  "retrieval",
        +  "citation",
        +  "license"
        +]
    • Changedcid10_search3 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license"New value: +"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / retrieval
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "anomalies": {
        +          "description": "Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma",
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "count": {
        +                "description": "Ocorrências desta classe na chamada",
        +                "maximum": 9007199254740991,
        +                "minimum": 1,
        +                "type": "integer"
        +              },
        +              "kind": {
        +                "description": "Classe da anomalia (vocabulário fechado do contrato)",
        +                "enum": [
        +                  "timeout",
        +                  "network",
        +                  "http_4xx",
        +                  "http_5xx",
        +                  "rate_limited",
        +                  "malformed_body"
        +                ],
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "kind",
        +              "count"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "attempts": {
        +          "description": "Tentativas somadas, incluindo as repetidas (>= requests)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "requests": {
        +          "description": "Idas distintas à origem que compõem esta resposta (fatias, páginas)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "unstable": {
        +          "description": "true se houve repetição (attempts > requests) ou alguma anomalia",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "requests",
        +        "attempts",
        +        "anomalies",
        +        "unstable"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
        +}
      • changedOutput schema / properties / provenance / required
        Previous value: -[
        -  "source",
        -  "source_url",
        -  "data_vintage",
        -  "retrieved_at",
        -  "citation",
        -  "license"
        -]New value: +[
        +  "source",
        +  "source_url",
        +  "data_vintage",
        +  "retrieved_at",
        +  "retrieval",
        +  "citation",
        +  "license"
        +]
    • Changedfetch3 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license"New value: +"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / retrieval
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "anomalies": {
        +          "description": "Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma",
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "count": {
        +                "description": "Ocorrências desta classe na chamada",
        +                "maximum": 9007199254740991,
        +                "minimum": 1,
        +                "type": "integer"
        +              },
        +              "kind": {
        +                "description": "Classe da anomalia (vocabulário fechado do contrato)",
        +                "enum": [
        +                  "timeout",
        +                  "network",
        +                  "http_4xx",
        +                  "http_5xx",
        +                  "rate_limited",
        +                  "malformed_body"
        +                ],
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "kind",
        +              "count"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "attempts": {
        +          "description": "Tentativas somadas, incluindo as repetidas (>= requests)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "requests": {
        +          "description": "Idas distintas à origem que compõem esta resposta (fatias, páginas)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "unstable": {
        +          "description": "true se houve repetição (attempts > requests) ou alguma anomalia",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "requests",
        +        "attempts",
        +        "anomalies",
        +        "unstable"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
        +}
      • changedOutput schema / properties / provenance / required
        Previous value: -[
        -  "source",
        -  "source_url",
        -  "data_vintage",
        -  "retrieved_at",
        -  "citation",
        -  "license"
        -]New value: +[
        +  "source",
        +  "source_url",
        +  "data_vintage",
        +  "retrieved_at",
        +  "retrieval",
        +  "citation",
        +  "license"
        +]
    • Changedfind_equivalent4 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"One provenance block per upstream source that contributed to this response (contract v1.0; licenses are never merged)"New value: +"One provenance block per upstream source that contributed to this response (contract v1.1; licenses are never merged; each block carries the origin diagnostics of ITS source)"
      • addedOutput schema / properties / provenance / items / description
        Added value: +"Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença"
      • addedOutput schema / properties / provenance / items / properties / retrieval
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "anomalies": {
        +          "description": "Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma",
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "count": {
        +                "description": "Ocorrências desta classe na chamada",
        +                "maximum": 9007199254740991,
        +                "minimum": 1,
        +                "type": "integer"
        +              },
        +              "kind": {
        +                "description": "Classe da anomalia (vocabulário fechado do contrato)",
        +                "enum": [
        +                  "timeout",
        +                  "network",
        +                  "http_4xx",
        +                  "http_5xx",
        +                  "rate_limited",
        +                  "malformed_body"
        +                ],
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "kind",
        +              "count"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "attempts": {
        +          "description": "Tentativas somadas, incluindo as repetidas (>= requests)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "requests": {
        +          "description": "Idas distintas à origem que compõem esta resposta (fatias, páginas)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "unstable": {
        +          "description": "true se houve repetição (attempts > requests) ou alguma anomalia",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "requests",
        +        "attempts",
        +        "anomalies",
        +        "unstable"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
        +}
      • changedOutput schema / properties / provenance / items / required
        Previous value: -[
        -  "source",
        -  "source_url",
        -  "data_vintage",
        -  "retrieved_at",
        -  "citation",
        -  "license"
        -]New value: +[
        +  "source",
        +  "source_url",
        +  "data_vintage",
        +  "retrieved_at",
        +  "retrieval",
        +  "citation",
        +  "license"
        +]
    • Changedicd11_chapters3 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license"New value: +"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / retrieval
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "anomalies": {
        +          "description": "Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma",
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "count": {
        +                "description": "Ocorrências desta classe na chamada",
        +                "maximum": 9007199254740991,
        +                "minimum": 1,
        +                "type": "integer"
        +              },
        +              "kind": {
        +                "description": "Classe da anomalia (vocabulário fechado do contrato)",
        +                "enum": [
        +                  "timeout",
        +                  "network",
        +                  "http_4xx",
        +                  "http_5xx",
        +                  "rate_limited",
        +                  "malformed_body"
        +                ],
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "kind",
        +              "count"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "attempts": {
        +          "description": "Tentativas somadas, incluindo as repetidas (>= requests)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "requests": {
        +          "description": "Idas distintas à origem que compõem esta resposta (fatias, páginas)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "unstable": {
        +          "description": "true se houve repetição (attempts > requests) ou alguma anomalia",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "requests",
        +        "attempts",
        +        "anomalies",
        +        "unstable"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
        +}
      • changedOutput schema / properties / provenance / required
        Previous value: -[
        -  "source",
        -  "source_url",
        -  "data_vintage",
        -  "retrieved_at",
        -  "citation",
        -  "license"
        -]New value: +[
        +  "source",
        +  "source_url",
        +  "data_vintage",
        +  "retrieved_at",
        +  "retrieval",
        +  "citation",
        +  "license"
        +]
    • Changedicd11_hierarchy3 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license"New value: +"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / retrieval
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "anomalies": {
        +          "description": "Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma",
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "count": {
        +                "description": "Ocorrências desta classe na chamada",
        +                "maximum": 9007199254740991,
        +                "minimum": 1,
        +                "type": "integer"
        +              },
        +              "kind": {
        +                "description": "Classe da anomalia (vocabulário fechado do contrato)",
        +                "enum": [
        +                  "timeout",
        +                  "network",
        +                  "http_4xx",
        +                  "http_5xx",
        +                  "rate_limited",
        +                  "malformed_body"
        +                ],
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "kind",
        +              "count"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "attempts": {
        +          "description": "Tentativas somadas, incluindo as repetidas (>= requests)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "requests": {
        +          "description": "Idas distintas à origem que compõem esta resposta (fatias, páginas)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "unstable": {
        +          "description": "true se houve repetição (attempts > requests) ou alguma anomalia",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "requests",
        +        "attempts",
        +        "anomalies",
        +        "unstable"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
        +}
      • changedOutput schema / properties / provenance / required
        Previous value: -[
        -  "source",
        -  "source_url",
        -  "data_vintage",
        -  "retrieved_at",
        -  "citation",
        -  "license"
        -]New value: +[
        +  "source",
        +  "source_url",
        +  "data_vintage",
        +  "retrieved_at",
        +  "retrieval",
        +  "citation",
        +  "license"
        +]
    • Changedicd11_lookup3 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license"New value: +"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / retrieval
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "anomalies": {
        +          "description": "Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma",
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "count": {
        +                "description": "Ocorrências desta classe na chamada",
        +                "maximum": 9007199254740991,
        +                "minimum": 1,
        +                "type": "integer"
        +              },
        +              "kind": {
        +                "description": "Classe da anomalia (vocabulário fechado do contrato)",
        +                "enum": [
        +                  "timeout",
        +                  "network",
        +                  "http_4xx",
        +                  "http_5xx",
        +                  "rate_limited",
        +                  "malformed_body"
        +                ],
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "kind",
        +              "count"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "attempts": {
        +          "description": "Tentativas somadas, incluindo as repetidas (>= requests)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "requests": {
        +          "description": "Idas distintas à origem que compõem esta resposta (fatias, páginas)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "unstable": {
        +          "description": "true se houve repetição (attempts > requests) ou alguma anomalia",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "requests",
        +        "attempts",
        +        "anomalies",
        +        "unstable"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
        +}
      • changedOutput schema / properties / provenance / required
        Previous value: -[
        -  "source",
        -  "source_url",
        -  "data_vintage",
        -  "retrieved_at",
        -  "citation",
        -  "license"
        -]New value: +[
        +  "source",
        +  "source_url",
        +  "data_vintage",
        +  "retrieved_at",
        +  "retrieval",
        +  "citation",
        +  "license"
        +]
    • Changedicd11_postcoordination3 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license"New value: +"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / retrieval
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "anomalies": {
        +          "description": "Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma",
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "count": {
        +                "description": "Ocorrências desta classe na chamada",
        +                "maximum": 9007199254740991,
        +                "minimum": 1,
        +                "type": "integer"
        +              },
        +              "kind": {
        +                "description": "Classe da anomalia (vocabulário fechado do contrato)",
        +                "enum": [
        +                  "timeout",
        +                  "network",
        +                  "http_4xx",
        +                  "http_5xx",
        +                  "rate_limited",
        +                  "malformed_body"
        +                ],
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "kind",
        +              "count"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "attempts": {
        +          "description": "Tentativas somadas, incluindo as repetidas (>= requests)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "requests": {
        +          "description": "Idas distintas à origem que compõem esta resposta (fatias, páginas)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "unstable": {
        +          "description": "true se houve repetição (attempts > requests) ou alguma anomalia",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "requests",
        +        "attempts",
        +        "anomalies",
        +        "unstable"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
        +}
      • changedOutput schema / properties / provenance / required
        Previous value: -[
        -  "source",
        -  "source_url",
        -  "data_vintage",
        -  "retrieved_at",
        -  "citation",
        -  "license"
        -]New value: +[
        +  "source",
        +  "source_url",
        +  "data_vintage",
        +  "retrieved_at",
        +  "retrieval",
        +  "citation",
        +  "license"
        +]
    • Changedicd11_search3 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license"New value: +"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / retrieval
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "anomalies": {
        +          "description": "Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma",
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "count": {
        +                "description": "Ocorrências desta classe na chamada",
        +                "maximum": 9007199254740991,
        +                "minimum": 1,
        +                "type": "integer"
        +              },
        +              "kind": {
        +                "description": "Classe da anomalia (vocabulário fechado do contrato)",
        +                "enum": [
        +                  "timeout",
        +                  "network",
        +                  "http_4xx",
        +                  "http_5xx",
        +                  "rate_limited",
        +                  "malformed_body"
        +                ],
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "kind",
        +              "count"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "attempts": {
        +          "description": "Tentativas somadas, incluindo as repetidas (>= requests)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "requests": {
        +          "description": "Idas distintas à origem que compõem esta resposta (fatias, páginas)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "unstable": {
        +          "description": "true se houve repetição (attempts > requests) ou alguma anomalia",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "requests",
        +        "attempts",
        +        "anomalies",
        +        "unstable"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
        +}
      • changedOutput schema / properties / provenance / required
        Previous value: -[
        -  "source",
        -  "source_url",
        -  "data_vintage",
        -  "retrieved_at",
        -  "citation",
        -  "license"
        -]New value: +[
        +  "source",
        +  "source_url",
        +  "data_vintage",
        +  "retrieved_at",
        +  "retrieval",
        +  "citation",
        +  "license"
        +]
    • Changedloinc_answers3 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license"New value: +"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / retrieval
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "anomalies": {
        +          "description": "Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma",
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "count": {
        +                "description": "Ocorrências desta classe na chamada",
        +                "maximum": 9007199254740991,
        +                "minimum": 1,
        +                "type": "integer"
        +              },
        +              "kind": {
        +                "description": "Classe da anomalia (vocabulário fechado do contrato)",
        +                "enum": [
        +                  "timeout",
        +                  "network",
        +                  "http_4xx",
        +                  "http_5xx",
        +                  "rate_limited",
        +                  "malformed_body"
        +                ],
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "kind",
        +              "count"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "attempts": {
        +          "description": "Tentativas somadas, incluindo as repetidas (>= requests)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "requests": {
        +          "description": "Idas distintas à origem que compõem esta resposta (fatias, páginas)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "unstable": {
        +          "description": "true se houve repetição (attempts > requests) ou alguma anomalia",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "requests",
        +        "attempts",
        +        "anomalies",
        +        "unstable"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
        +}
      • changedOutput schema / properties / provenance / required
        Previous value: -[
        -  "source",
        -  "source_url",
        -  "data_vintage",
        -  "retrieved_at",
        -  "citation",
        -  "license"
        -]New value: +[
        +  "source",
        +  "source_url",
        +  "data_vintage",
        +  "retrieved_at",
        +  "retrieval",
        +  "citation",
        +  "license"
        +]
    • Changedloinc_details3 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license"New value: +"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / retrieval
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "anomalies": {
        +          "description": "Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma",
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "count": {
        +                "description": "Ocorrências desta classe na chamada",
        +                "maximum": 9007199254740991,
        +                "minimum": 1,
        +                "type": "integer"
        +              },
        +              "kind": {
        +                "description": "Classe da anomalia (vocabulário fechado do contrato)",
        +                "enum": [
        +                  "timeout",
        +                  "network",
        +                  "http_4xx",
        +                  "http_5xx",
        +                  "rate_limited",
        +                  "malformed_body"
        +                ],
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "kind",
        +              "count"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "attempts": {
        +          "description": "Tentativas somadas, incluindo as repetidas (>= requests)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "requests": {
        +          "description": "Idas distintas à origem que compõem esta resposta (fatias, páginas)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "unstable": {
        +          "description": "true se houve repetição (attempts > requests) ou alguma anomalia",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "requests",
        +        "attempts",
        +        "anomalies",
        +        "unstable"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
        +}
      • changedOutput schema / properties / provenance / required
        Previous value: -[
        -  "source",
        -  "source_url",
        -  "data_vintage",
        -  "retrieved_at",
        -  "citation",
        -  "license"
        -]New value: +[
        +  "source",
        +  "source_url",
        +  "data_vintage",
        +  "retrieved_at",
        +  "retrieval",
        +  "citation",
        +  "license"
        +]
    • Changedloinc_panels3 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license"New value: +"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / retrieval
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "anomalies": {
        +          "description": "Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma",
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "count": {
        +                "description": "Ocorrências desta classe na chamada",
        +                "maximum": 9007199254740991,
        +                "minimum": 1,
        +                "type": "integer"
        +              },
        +              "kind": {
        +                "description": "Classe da anomalia (vocabulário fechado do contrato)",
        +                "enum": [
        +                  "timeout",
        +                  "network",
        +                  "http_4xx",
        +                  "http_5xx",
        +                  "rate_limited",
        +                  "malformed_body"
        +                ],
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "kind",
        +              "count"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "attempts": {
        +          "description": "Tentativas somadas, incluindo as repetidas (>= requests)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "requests": {
        +          "description": "Idas distintas à origem que compõem esta resposta (fatias, páginas)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "unstable": {
        +          "description": "true se houve repetição (attempts > requests) ou alguma anomalia",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "requests",
        +        "attempts",
        +        "anomalies",
        +        "unstable"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
        +}
      • changedOutput schema / properties / provenance / required
        Previous value: -[
        -  "source",
        -  "source_url",
        -  "data_vintage",
        -  "retrieved_at",
        -  "citation",
        -  "license"
        -]New value: +[
        +  "source",
        +  "source_url",
        +  "data_vintage",
        +  "retrieved_at",
        +  "retrieval",
        +  "citation",
        +  "license"
        +]
    • Changedloinc_search3 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license"New value: +"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / retrieval
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "anomalies": {
        +          "description": "Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma",
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "count": {
        +                "description": "Ocorrências desta classe na chamada",
        +                "maximum": 9007199254740991,
        +                "minimum": 1,
        +                "type": "integer"
        +              },
        +              "kind": {
        +                "description": "Classe da anomalia (vocabulário fechado do contrato)",
        +                "enum": [
        +                  "timeout",
        +                  "network",
        +                  "http_4xx",
        +                  "http_5xx",
        +                  "rate_limited",
        +                  "malformed_body"
        +                ],
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "kind",
        +              "count"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "attempts": {
        +          "description": "Tentativas somadas, incluindo as repetidas (>= requests)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "requests": {
        +          "description": "Idas distintas à origem que compõem esta resposta (fatias, páginas)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "unstable": {
        +          "description": "true se houve repetição (attempts > requests) ou alguma anomalia",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "requests",
        +        "attempts",
        +        "anomalies",
        +        "unstable"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
        +}
      • changedOutput schema / properties / provenance / required
        Previous value: -[
        -  "source",
        -  "source_url",
        -  "data_vintage",
        -  "retrieved_at",
        -  "citation",
        -  "license"
        -]New value: +[
        +  "source",
        +  "source_url",
        +  "data_vintage",
        +  "retrieved_at",
        +  "retrieval",
        +  "citation",
        +  "license"
        +]
    • Changedmap_icd10_to_icd113 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license"New value: +"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / retrieval
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "anomalies": {
        +          "description": "Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma",
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "count": {
        +                "description": "Ocorrências desta classe na chamada",
        +                "maximum": 9007199254740991,
        +                "minimum": 1,
        +                "type": "integer"
        +              },
        +              "kind": {
        +                "description": "Classe da anomalia (vocabulário fechado do contrato)",
        +                "enum": [
        +                  "timeout",
        +                  "network",
        +                  "http_4xx",
        +                  "http_5xx",
        +                  "rate_limited",
        +                  "malformed_body"
        +                ],
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "kind",
        +              "count"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "attempts": {
        +          "description": "Tentativas somadas, incluindo as repetidas (>= requests)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "requests": {
        +          "description": "Idas distintas à origem que compõem esta resposta (fatias, páginas)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "unstable": {
        +          "description": "true se houve repetição (attempts > requests) ou alguma anomalia",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "requests",
        +        "attempts",
        +        "anomalies",
        +        "unstable"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
        +}
      • changedOutput schema / properties / provenance / required
        Previous value: -[
        -  "source",
        -  "source_url",
        -  "data_vintage",
        -  "retrieved_at",
        -  "citation",
        -  "license"
        -]New value: +[
        +  "source",
        +  "source_url",
        +  "data_vintage",
        +  "retrieved_at",
        +  "retrieval",
        +  "citation",
        +  "license"
        +]
    • Changedmap_loinc_to_snomed3 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license"New value: +"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / retrieval
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "anomalies": {
        +          "description": "Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma",
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "count": {
        +                "description": "Ocorrências desta classe na chamada",
        +                "maximum": 9007199254740991,
        +                "minimum": 1,
        +                "type": "integer"
        +              },
        +              "kind": {
        +                "description": "Classe da anomalia (vocabulário fechado do contrato)",
        +                "enum": [
        +                  "timeout",
        +                  "network",
        +                  "http_4xx",
        +                  "http_5xx",
        +                  "rate_limited",
        +                  "malformed_body"
        +                ],
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "kind",
        +              "count"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "attempts": {
        +          "description": "Tentativas somadas, incluindo as repetidas (>= requests)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "requests": {
        +          "description": "Idas distintas à origem que compõem esta resposta (fatias, páginas)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "unstable": {
        +          "description": "true se houve repetição (attempts > requests) ou alguma anomalia",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "requests",
        +        "attempts",
        +        "anomalies",
        +        "unstable"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
        +}
      • changedOutput schema / properties / provenance / required
        Previous value: -[
        -  "source",
        -  "source_url",
        -  "data_vintage",
        -  "retrieved_at",
        -  "citation",
        -  "license"
        -]New value: +[
        +  "source",
        +  "source_url",
        +  "data_vintage",
        +  "retrieved_at",
        +  "retrieval",
        +  "citation",
        +  "license"
        +]
    • Changedmesh_descriptor3 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license"New value: +"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / retrieval
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "anomalies": {
        +          "description": "Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma",
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "count": {
        +                "description": "Ocorrências desta classe na chamada",
        +                "maximum": 9007199254740991,
        +                "minimum": 1,
        +                "type": "integer"
        +              },
        +              "kind": {
        +                "description": "Classe da anomalia (vocabulário fechado do contrato)",
        +                "enum": [
        +                  "timeout",
        +                  "network",
        +                  "http_4xx",
        +                  "http_5xx",
        +                  "rate_limited",
        +                  "malformed_body"
        +                ],
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "kind",
        +              "count"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "attempts": {
        +          "description": "Tentativas somadas, incluindo as repetidas (>= requests)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "requests": {
        +          "description": "Idas distintas à origem que compõem esta resposta (fatias, páginas)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "unstable": {
        +          "description": "true se houve repetição (attempts > requests) ou alguma anomalia",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "requests",
        +        "attempts",
        +        "anomalies",
        +        "unstable"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
        +}
      • changedOutput schema / properties / provenance / required
        Previous value: -[
        -  "source",
        -  "source_url",
        -  "data_vintage",
        -  "retrieved_at",
        -  "citation",
        -  "license"
        -]New value: +[
        +  "source",
        +  "source_url",
        +  "data_vintage",
        +  "retrieved_at",
        +  "retrieval",
        +  "citation",
        +  "license"
        +]
    • Changedmesh_qualifiers3 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license"New value: +"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / retrieval
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "anomalies": {
        +          "description": "Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma",
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "count": {
        +                "description": "Ocorrências desta classe na chamada",
        +                "maximum": 9007199254740991,
        +                "minimum": 1,
        +                "type": "integer"
        +              },
        +              "kind": {
        +                "description": "Classe da anomalia (vocabulário fechado do contrato)",
        +                "enum": [
        +                  "timeout",
        +                  "network",
        +                  "http_4xx",
        +                  "http_5xx",
        +                  "rate_limited",
        +                  "malformed_body"
        +                ],
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "kind",
        +              "count"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "attempts": {
        +          "description": "Tentativas somadas, incluindo as repetidas (>= requests)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "requests": {
        +          "description": "Idas distintas à origem que compõem esta resposta (fatias, páginas)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "unstable": {
        +          "description": "true se houve repetição (attempts > requests) ou alguma anomalia",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "requests",
        +        "attempts",
        +        "anomalies",
        +        "unstable"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
        +}
      • changedOutput schema / properties / provenance / required
        Previous value: -[
        -  "source",
        -  "source_url",
        -  "data_vintage",
        -  "retrieved_at",
        -  "citation",
        -  "license"
        -]New value: +[
        +  "source",
        +  "source_url",
        +  "data_vintage",
        +  "retrieved_at",
        +  "retrieval",
        +  "citation",
        +  "license"
        +]
    • Changedmesh_search3 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license"New value: +"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / retrieval
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "anomalies": {
        +          "description": "Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma",
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "count": {
        +                "description": "Ocorrências desta classe na chamada",
        +                "maximum": 9007199254740991,
        +                "minimum": 1,
        +                "type": "integer"
        +              },
        +              "kind": {
        +                "description": "Classe da anomalia (vocabulário fechado do contrato)",
        +                "enum": [
        +                  "timeout",
        +                  "network",
        +                  "http_4xx",
        +                  "http_5xx",
        +                  "rate_limited",
        +                  "malformed_body"
        +                ],
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "kind",
        +              "count"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "attempts": {
        +          "description": "Tentativas somadas, incluindo as repetidas (>= requests)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "requests": {
        +          "description": "Idas distintas à origem que compõem esta resposta (fatias, páginas)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "unstable": {
        +          "description": "true se houve repetição (attempts > requests) ou alguma anomalia",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "requests",
        +        "attempts",
        +        "anomalies",
        +        "unstable"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
        +}
      • changedOutput schema / properties / provenance / required
        Previous value: -[
        -  "source",
        -  "source_url",
        -  "data_vintage",
        -  "retrieved_at",
        -  "citation",
        -  "license"
        -]New value: +[
        +  "source",
        +  "source_url",
        +  "data_vintage",
        +  "retrieved_at",
        +  "retrieval",
        +  "citation",
        +  "license"
        +]
    • Changedmesh_tree3 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license"New value: +"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / retrieval
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "anomalies": {
        +          "description": "Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma",
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "count": {
        +                "description": "Ocorrências desta classe na chamada",
        +                "maximum": 9007199254740991,
        +                "minimum": 1,
        +                "type": "integer"
        +              },
        +              "kind": {
        +                "description": "Classe da anomalia (vocabulário fechado do contrato)",
        +                "enum": [
        +                  "timeout",
        +                  "network",
        +                  "http_4xx",
        +                  "http_5xx",
        +                  "rate_limited",
        +                  "malformed_body"
        +                ],
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "kind",
        +              "count"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "attempts": {
        +          "description": "Tentativas somadas, incluindo as repetidas (>= requests)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "requests": {
        +          "description": "Idas distintas à origem que compõem esta resposta (fatias, páginas)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "unstable": {
        +          "description": "true se houve repetição (attempts > requests) ou alguma anomalia",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "requests",
        +        "attempts",
        +        "anomalies",
        +        "unstable"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
        +}
      • changedOutput schema / properties / provenance / required
        Previous value: -[
        -  "source",
        -  "source_url",
        -  "data_vintage",
        -  "retrieved_at",
        -  "citation",
        -  "license"
        -]New value: +[
        +  "source",
        +  "source_url",
        +  "data_vintage",
        +  "retrieved_at",
        +  "retrieval",
        +  "citation",
        +  "license"
        +]
    • Changedrxnorm_classes3 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license"New value: +"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / retrieval
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "anomalies": {
        +          "description": "Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma",
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "count": {
        +                "description": "Ocorrências desta classe na chamada",
        +                "maximum": 9007199254740991,
        +                "minimum": 1,
        +                "type": "integer"
        +              },
        +              "kind": {
        +                "description": "Classe da anomalia (vocabulário fechado do contrato)",
        +                "enum": [
        +                  "timeout",
        +                  "network",
        +                  "http_4xx",
        +                  "http_5xx",
        +                  "rate_limited",
        +                  "malformed_body"
        +                ],
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "kind",
        +              "count"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "attempts": {
        +          "description": "Tentativas somadas, incluindo as repetidas (>= requests)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "requests": {
        +          "description": "Idas distintas à origem que compõem esta resposta (fatias, páginas)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "unstable": {
        +          "description": "true se houve repetição (attempts > requests) ou alguma anomalia",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "requests",
        +        "attempts",
        +        "anomalies",
        +        "unstable"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
        +}
      • changedOutput schema / properties / provenance / required
        Previous value: -[
        -  "source",
        -  "source_url",
        -  "data_vintage",
        -  "retrieved_at",
        -  "citation",
        -  "license"
        -]New value: +[
        +  "source",
        +  "source_url",
        +  "data_vintage",
        +  "retrieved_at",
        +  "retrieval",
        +  "citation",
        +  "license"
        +]
    • Changedrxnorm_concept3 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license"New value: +"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / retrieval
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "anomalies": {
        +          "description": "Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma",
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "count": {
        +                "description": "Ocorrências desta classe na chamada",
        +                "maximum": 9007199254740991,
        +                "minimum": 1,
        +                "type": "integer"
        +              },
        +              "kind": {
        +                "description": "Classe da anomalia (vocabulário fechado do contrato)",
        +                "enum": [
        +                  "timeout",
        +                  "network",
        +                  "http_4xx",
        +                  "http_5xx",
        +                  "rate_limited",
        +                  "malformed_body"
        +                ],
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "kind",
        +              "count"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "attempts": {
        +          "description": "Tentativas somadas, incluindo as repetidas (>= requests)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "requests": {
        +          "description": "Idas distintas à origem que compõem esta resposta (fatias, páginas)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "unstable": {
        +          "description": "true se houve repetição (attempts > requests) ou alguma anomalia",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "requests",
        +        "attempts",
        +        "anomalies",
        +        "unstable"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
        +}
      • changedOutput schema / properties / provenance / required
        Previous value: -[
        -  "source",
        -  "source_url",
        -  "data_vintage",
        -  "retrieved_at",
        -  "citation",
        -  "license"
        -]New value: +[
        +  "source",
        +  "source_url",
        +  "data_vintage",
        +  "retrieved_at",
        +  "retrieval",
        +  "citation",
        +  "license"
        +]
    • Changedrxnorm_ingredients3 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license"New value: +"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / retrieval
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "anomalies": {
        +          "description": "Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma",
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "count": {
        +                "description": "Ocorrências desta classe na chamada",
        +                "maximum": 9007199254740991,
        +                "minimum": 1,
        +                "type": "integer"
        +              },
        +              "kind": {
        +                "description": "Classe da anomalia (vocabulário fechado do contrato)",
        +                "enum": [
        +                  "timeout",
        +                  "network",
        +                  "http_4xx",
        +                  "http_5xx",
        +                  "rate_limited",
        +                  "malformed_body"
        +                ],
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "kind",
        +              "count"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "attempts": {
        +          "description": "Tentativas somadas, incluindo as repetidas (>= requests)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "requests": {
        +          "description": "Idas distintas à origem que compõem esta resposta (fatias, páginas)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "unstable": {
        +          "description": "true se houve repetição (attempts > requests) ou alguma anomalia",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "requests",
        +        "attempts",
        +        "anomalies",
        +        "unstable"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
        +}
      • changedOutput schema / properties / provenance / required
        Previous value: -[
        -  "source",
        -  "source_url",
        -  "data_vintage",
        -  "retrieved_at",
        -  "citation",
        -  "license"
        -]New value: +[
        +  "source",
        +  "source_url",
        +  "data_vintage",
        +  "retrieved_at",
        +  "retrieval",
        +  "citation",
        +  "license"
        +]
    • Changedrxnorm_ndc3 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license"New value: +"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / retrieval
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "anomalies": {
        +          "description": "Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma",
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "count": {
        +                "description": "Ocorrências desta classe na chamada",
        +                "maximum": 9007199254740991,
        +                "minimum": 1,
        +                "type": "integer"
        +              },
        +              "kind": {
        +                "description": "Classe da anomalia (vocabulário fechado do contrato)",
        +                "enum": [
        +                  "timeout",
        +                  "network",
        +                  "http_4xx",
        +                  "http_5xx",
        +                  "rate_limited",
        +                  "malformed_body"
        +                ],
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "kind",
        +              "count"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "attempts": {
        +          "description": "Tentativas somadas, incluindo as repetidas (>= requests)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "requests": {
        +          "description": "Idas distintas à origem que compõem esta resposta (fatias, páginas)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "unstable": {
        +          "description": "true se houve repetição (attempts > requests) ou alguma anomalia",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "requests",
        +        "attempts",
        +        "anomalies",
        +        "unstable"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
        +}
      • changedOutput schema / properties / provenance / required
        Previous value: -[
        -  "source",
        -  "source_url",
        -  "data_vintage",
        -  "retrieved_at",
        -  "citation",
        -  "license"
        -]New value: +[
        +  "source",
        +  "source_url",
        +  "data_vintage",
        +  "retrieved_at",
        +  "retrieval",
        +  "citation",
        +  "license"
        +]
    • Changedrxnorm_search3 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license"New value: +"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / retrieval
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "anomalies": {
        +          "description": "Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma",
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "count": {
        +                "description": "Ocorrências desta classe na chamada",
        +                "maximum": 9007199254740991,
        +                "minimum": 1,
        +                "type": "integer"
        +              },
        +              "kind": {
        +                "description": "Classe da anomalia (vocabulário fechado do contrato)",
        +                "enum": [
        +                  "timeout",
        +                  "network",
        +                  "http_4xx",
        +                  "http_5xx",
        +                  "rate_limited",
        +                  "malformed_body"
        +                ],
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "kind",
        +              "count"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "attempts": {
        +          "description": "Tentativas somadas, incluindo as repetidas (>= requests)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "requests": {
        +          "description": "Idas distintas à origem que compõem esta resposta (fatias, páginas)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "unstable": {
        +          "description": "true se houve repetição (attempts > requests) ou alguma anomalia",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "requests",
        +        "attempts",
        +        "anomalies",
        +        "unstable"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
        +}
      • changedOutput schema / properties / provenance / required
        Previous value: -[
        -  "source",
        -  "source_url",
        -  "data_vintage",
        -  "retrieved_at",
        -  "citation",
        -  "license"
        -]New value: +[
        +  "source",
        +  "source_url",
        +  "data_vintage",
        +  "retrieved_at",
        +  "retrieval",
        +  "citation",
        +  "license"
        +]
    • Changedsearch4 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"One provenance block per upstream source that contributed to this response (contract v1.0; licenses are never merged)"New value: +"One provenance block per upstream source that contributed to this response (contract v1.1; licenses are never merged; each block carries the origin diagnostics of ITS source)"
      • addedOutput schema / properties / provenance / items / description
        Added value: +"Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença"
      • addedOutput schema / properties / provenance / items / properties / retrieval
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "anomalies": {
        +          "description": "Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma",
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "count": {
        +                "description": "Ocorrências desta classe na chamada",
        +                "maximum": 9007199254740991,
        +                "minimum": 1,
        +                "type": "integer"
        +              },
        +              "kind": {
        +                "description": "Classe da anomalia (vocabulário fechado do contrato)",
        +                "enum": [
        +                  "timeout",
        +                  "network",
        +                  "http_4xx",
        +                  "http_5xx",
        +                  "rate_limited",
        +                  "malformed_body"
        +                ],
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "kind",
        +              "count"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "attempts": {
        +          "description": "Tentativas somadas, incluindo as repetidas (>= requests)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "requests": {
        +          "description": "Idas distintas à origem que compõem esta resposta (fatias, páginas)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "unstable": {
        +          "description": "true se houve repetição (attempts > requests) ou alguma anomalia",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "requests",
        +        "attempts",
        +        "anomalies",
        +        "unstable"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
        +}
      • changedOutput schema / properties / provenance / items / required
        Previous value: -[
        -  "source",
        -  "source_url",
        -  "data_vintage",
        -  "retrieved_at",
        -  "citation",
        -  "license"
        -]New value: +[
        +  "source",
        +  "source_url",
        +  "data_vintage",
        +  "retrieved_at",
        +  "retrieval",
        +  "citation",
        +  "license"
        +]
    • Changedterminology_diff3 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license"New value: +"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / retrieval
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "anomalies": {
        +          "description": "Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma",
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "count": {
        +                "description": "Ocorrências desta classe na chamada",
        +                "maximum": 9007199254740991,
        +                "minimum": 1,
        +                "type": "integer"
        +              },
        +              "kind": {
        +                "description": "Classe da anomalia (vocabulário fechado do contrato)",
        +                "enum": [
        +                  "timeout",
        +                  "network",
        +                  "http_4xx",
        +                  "http_5xx",
        +                  "rate_limited",
        +                  "malformed_body"
        +                ],
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "kind",
        +              "count"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "attempts": {
        +          "description": "Tentativas somadas, incluindo as repetidas (>= requests)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "requests": {
        +          "description": "Idas distintas à origem que compõem esta resposta (fatias, páginas)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "unstable": {
        +          "description": "true se houve repetição (attempts > requests) ou alguma anomalia",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "requests",
        +        "attempts",
        +        "anomalies",
        +        "unstable"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
        +}
      • changedOutput schema / properties / provenance / required
        Previous value: -[
        -  "source",
        -  "source_url",
        -  "data_vintage",
        -  "retrieved_at",
        -  "citation",
        -  "license"
        -]New value: +[
        +  "source",
        +  "source_url",
        +  "data_vintage",
        +  "retrieved_at",
        +  "retrieval",
        +  "citation",
        +  "license"
        +]
    • Changedterminology_versions3 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license"New value: +"Provenance block (contract v1.1): source, URL, data vintage, extraction instant, origin diagnostics, citation, license"
      • addedOutput schema / properties / provenance / properties / retrieval
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "anomalies": {
        +          "description": "Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma",
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "count": {
        +                "description": "Ocorrências desta classe na chamada",
        +                "maximum": 9007199254740991,
        +                "minimum": 1,
        +                "type": "integer"
        +              },
        +              "kind": {
        +                "description": "Classe da anomalia (vocabulário fechado do contrato)",
        +                "enum": [
        +                  "timeout",
        +                  "network",
        +                  "http_4xx",
        +                  "http_5xx",
        +                  "rate_limited",
        +                  "malformed_body"
        +                ],
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "kind",
        +              "count"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "attempts": {
        +          "description": "Tentativas somadas, incluindo as repetidas (>= requests)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "requests": {
        +          "description": "Idas distintas à origem que compõem esta resposta (fatias, páginas)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "unstable": {
        +          "description": "true se houve repetição (attempts > requests) ou alguma anomalia",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "requests",
        +        "attempts",
        +        "anomalies",
        +        "unstable"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
        +}
      • changedOutput schema / properties / provenance / required
        Previous value: -[
        -  "source",
        -  "source_url",
        -  "data_vintage",
        -  "retrieved_at",
        -  "citation",
        -  "license"
        -]New value: +[
        +  "source",
        +  "source_url",
        +  "data_vintage",
        +  "retrieved_at",
        +  "retrieval",
        +  "citation",
        +  "license"
        +]
    • Changedvalidate_codes4 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"One provenance block per upstream source that contributed to this response (contract v1.0; licenses are never merged)"New value: +"One provenance block per upstream source that contributed to this response (contract v1.1; licenses are never merged; each block carries the origin diagnostics of ITS source)"
      • addedOutput schema / properties / provenance / items / description
        Added value: +"Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença"
      • addedOutput schema / properties / provenance / items / properties / retrieval
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "anomalies": {
        +          "description": "Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma",
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "count": {
        +                "description": "Ocorrências desta classe na chamada",
        +                "maximum": 9007199254740991,
        +                "minimum": 1,
        +                "type": "integer"
        +              },
        +              "kind": {
        +                "description": "Classe da anomalia (vocabulário fechado do contrato)",
        +                "enum": [
        +                  "timeout",
        +                  "network",
        +                  "http_4xx",
        +                  "http_5xx",
        +                  "rate_limited",
        +                  "malformed_body"
        +                ],
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "kind",
        +              "count"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "attempts": {
        +          "description": "Tentativas somadas, incluindo as repetidas (>= requests)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "requests": {
        +          "description": "Idas distintas à origem que compõem esta resposta (fatias, páginas)",
        +          "maximum": 9007199254740991,
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "unstable": {
        +          "description": "true se houve repetição (attempts > requests) ou alguma anomalia",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "requests",
        +        "attempts",
        +        "anomalies",
        +        "unstable"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "Origin diagnostics of THIS source in this call (contract v1.1): requests made to the upstream, attempts summed across retries, anomalies worked around (kind + count); unstable=true when any anomaly happened. null when nothing was measured (bundled dataset, or response served entirely from cache)"
        +}
      • changedOutput schema / properties / provenance / items / required
        Previous value: -[
        -  "source",
        -  "source_url",
        -  "data_vintage",
        -  "retrieved_at",
        -  "citation",
        -  "license"
        -]New value: +[
        +  "source",
        +  "source_url",
        +  "data_vintage",
        +  "retrieved_at",
        +  "retrieval",
        +  "citation",
        +  "license"
        +]
  8. 1 tool updatev1.12.1
    • Changedcid10_search2 fields changed
      • changedInput schema / properties / query / description
        Previous value: -"Search term in Portuguese (e.g., \"diabetes\", \"infarto\", \"tuberculose\")"New value: +"Search terms in Portuguese, AND between words (e.g., \"diabetes\", \"infarto\", \"câncer de mama\"); accents ignored, everyday words resolved to CID-10 wording"
      • addedOutput schema / properties / vocabulary_notes
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
  9. 33 tool updatesv1.11.0
    • Changedatc_classify1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedatc_lookup1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedatc_members1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedcid10_chapter1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedcid10_chapters1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedcid10_lookup1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedcid10_search1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Addedfetch
    • Changedfind_equivalent1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedicd11_chapters1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedicd11_hierarchy5 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • changedInput schema / properties / code / description
        Previous value: -"ICD-11 code to get hierarchy for"New value: +"ICD-11 code (e.g., \"BA00\", \"5A11\") or block range (e.g., \"5A10-5A2Y\")"
      • addedInput schema / properties / language
        Added value: +{
        +  "default": "en",
        +  "description": "Language code (default: en). Returns the source's OFFICIAL translation when it exists (e.g. 'pt' for official Portuguese); content is never machine-translated.",
        +  "enum": [
        +    "en",
        +    "es",
        +    "pt",
        +    "fr",
        +    "de",
        +    "it",
        +    "zh",
        +    "ja",
        +    "ar",
        +    "ru"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / uri
        Added value: +{
        +  "description": "Entity URI as returned by icd11_lookup, icd11_search or a previous icd11_hierarchy call",
        +  "format": "uri",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "code",
        -  "direction"
        -]New value: +[
        +  "direction"
        +]
    • Changedicd11_lookup1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedicd11_postcoordination1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedicd11_search1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedloinc_answers1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedloinc_details1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedloinc_panels1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedloinc_search1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedmap_icd10_to_icd111 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedmap_loinc_to_snomed1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedmesh_descriptor1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedmesh_qualifiers1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedmesh_search1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedmesh_tree1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedrxnorm_classes1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedrxnorm_concept1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedrxnorm_ingredients1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedrxnorm_ndc1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedrxnorm_search1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Addedsearch
    • Changedterminology_diff1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedterminology_versions1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedvalidate_codes1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
  10. 31 tool updatesv1.9.1
    • Changedatc_classify4 fields changed
      • removedOutput schema / properties / provenance / properties / data_vintage / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / data_vintage / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / provenance / properties / license / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / license / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedatc_lookup4 fields changed
      • removedOutput schema / properties / provenance / properties / data_vintage / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / data_vintage / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / provenance / properties / license / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / license / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedatc_members4 fields changed
      • removedOutput schema / properties / provenance / properties / data_vintage / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / data_vintage / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / provenance / properties / license / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / license / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedcid10_chapter4 fields changed
      • removedOutput schema / properties / provenance / properties / data_vintage / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / data_vintage / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / provenance / properties / license / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / license / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedcid10_chapters4 fields changed
      • removedOutput schema / properties / provenance / properties / data_vintage / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / data_vintage / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / provenance / properties / license / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / license / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedcid10_lookup5 fields changed
      • changedOutput schema / properties / hit / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "causa_obito": {
        -        "type": "string"
        -      },
        -      "chapter_num": {
        -        "anyOf": [
        -          {
        -            "maximum": 9007199254740991,
        -            "minimum": -9007199254740991,
        -            "type": "integer"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "classif": {
        -        "type": "string"
        -      },
        -      "code": {
        -        "type": "string"
        -      },
        -      "display": {
        -        "type": "string"
        -      },
        -      "excluidos": {
        -        "type": "string"
        -      },
        -      "group_range": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "level": {
        -        "enum": [
        -          "category",
        -          "subcategory"
        -        ],
        -        "type": "string"
        -      },
        -      "refer": {
        -        "type": "string"
        -      },
        -      "restr_sexo": {
        -        "type": "string"
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "title_short": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "level",
        -      "code",
        -      "display",
        -      "classif",
        -      "title",
        -      "title_short",
        -      "refer",
        -      "excluidos",
        -      "restr_sexo",
        -      "causa_obito",
        -      "chapter_num",
        -      "group_range"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "causa_obito": {
        +        "type": "string"
        +      },
        +      "chapter_num": {
        +        "anyOf": [
        +          {
        +            "maximum": 9007199254740991,
        +            "minimum": -9007199254740991,
        +            "type": "integer"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "classif": {
        +        "type": "string"
        +      },
        +      "code": {
        +        "type": "string"
        +      },
        +      "display": {
        +        "type": "string"
        +      },
        +      "excluidos": {
        +        "type": "string"
        +      },
        +      "group_range": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "level": {
        +        "enum": [
        +          "category",
        +          "subcategory"
        +        ],
        +        "type": "string"
        +      },
        +      "refer": {
        +        "type": "string"
        +      },
        +      "restr_sexo": {
        +        "type": "string"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "title_short": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "level",
        +      "code",
        +      "display",
        +      "classif",
        +      "title",
        +      "title_short",
        +      "refer",
        +      "excluidos",
        +      "restr_sexo",
        +      "causa_obito",
        +      "chapter_num",
        +      "group_range"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / provenance / properties / data_vintage / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / data_vintage / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / provenance / properties / license / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / license / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedcid10_search6 fields changed
      • removedOutput schema / properties / hits / items / properties / group_range / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / hits / items / properties / group_range / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / provenance / properties / data_vintage / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / data_vintage / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / provenance / properties / license / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / license / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedfind_equivalent24 fields changed
      • removedOutput schema / properties / provenance / items / properties / data_vintage / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / items / properties / data_vintage / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / provenance / items / properties / license / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / items / properties / license / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / results / properties / icd11 / properties / error / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / results / properties / icd11 / properties / error / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / results / properties / icd11 / properties / items / items / properties / uri / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / results / properties / icd11 / properties / items / items / properties / uri / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / results / properties / loinc / properties / error / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / results / properties / loinc / properties / error / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / results / properties / loinc / properties / items / items / properties / uri / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / results / properties / loinc / properties / items / items / properties / uri / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / results / properties / mesh / properties / error / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / results / properties / mesh / properties / error / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / results / properties / mesh / properties / items / items / properties / uri / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / results / properties / mesh / properties / items / items / properties / uri / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / results / properties / rxnorm / properties / error / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / results / properties / rxnorm / properties / error / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / results / properties / rxnorm / properties / items / items / properties / uri / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / results / properties / rxnorm / properties / items / items / properties / uri / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / results / properties / snomed / properties / error / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / results / properties / snomed / properties / error / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / results / properties / snomed / properties / items / items / properties / uri / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / results / properties / snomed / properties / items / items / properties / uri / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedicd11_chapters12 fields changed
      • removedOutput schema / properties / chapters / items / properties / code / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / chapters / items / properties / code / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / chapters / items / properties / code_range / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / chapters / items / properties / code_range / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / chapters / items / properties / error / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / chapters / items / properties / error / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / chapters / items / properties / title / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / chapters / items / properties / title / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / provenance / properties / data_vintage / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / data_vintage / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / provenance / properties / license / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / license / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedicd11_hierarchy8 fields changed
      • removedOutput schema / properties / entities / items / properties / code / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / entities / items / properties / code / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / entities / items / properties / code_range / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / entities / items / properties / code_range / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / provenance / properties / data_vintage / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / data_vintage / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / provenance / properties / license / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / license / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedicd11_lookup22 fields changed
      • removedOutput schema / properties / block_id / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / block_id / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / browser_url / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / browser_url / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / class_kind / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / class_kind / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / code / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / code / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / code_range / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / code_range / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / coding_note / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / coding_note / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / definition / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / definition / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / diagnostic_criteria / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / diagnostic_criteria / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / long_definition / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / long_definition / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / provenance / properties / data_vintage / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / data_vintage / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / provenance / properties / license / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / license / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedicd11_postcoordination4 fields changed
      • removedOutput schema / properties / provenance / properties / data_vintage / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / data_vintage / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / provenance / properties / license / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / license / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedicd11_search6 fields changed
      • removedOutput schema / properties / entities / items / properties / code / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / entities / items / properties / code / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / provenance / properties / data_vintage / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / data_vintage / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / provenance / properties / license / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / license / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedloinc_answers4 fields changed
      • removedOutput schema / properties / provenance / properties / data_vintage / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / data_vintage / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / provenance / properties / license / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / license / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedloinc_details6 fields changed
      • removedOutput schema / properties / external_copyright_notice / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / external_copyright_notice / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / provenance / properties / data_vintage / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / data_vintage / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / provenance / properties / license / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / license / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedloinc_panels4 fields changed
      • removedOutput schema / properties / provenance / properties / data_vintage / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / data_vintage / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / provenance / properties / license / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / license / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedloinc_search6 fields changed
      • removedOutput schema / properties / items / items / properties / external_copyright_notice / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / items / items / properties / external_copyright_notice / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / provenance / properties / data_vintage / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / data_vintage / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / provenance / properties / license / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / license / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedmap_icd10_to_icd114 fields changed
      • removedOutput schema / properties / provenance / properties / data_vintage / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / data_vintage / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / provenance / properties / license / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / license / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedmap_loinc_to_snomed7 fields changed
      • changedOutput schema / properties / loinc_details / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "code": {
        -        "type": "string"
        -      },
        -      "component": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "long_common_name": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "property": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "system": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      }
        -    },
        -    "required": [
        -      "code",
        -      "long_common_name",
        -      "component",
        -      "system",
        -      "property"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "code": {
        +        "type": "string"
        +      },
        +      "component": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "long_common_name": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "property": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "system": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "required": [
        +      "code",
        +      "long_common_name",
        +      "component",
        +      "system",
        +      "property"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / mapping_sources / items / properties / url / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / mapping_sources / items / properties / url / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / provenance / properties / data_vintage / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / data_vintage / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / provenance / properties / license / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / license / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedmesh_descriptor4 fields changed
      • removedOutput schema / properties / provenance / properties / data_vintage / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / data_vintage / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / provenance / properties / license / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / license / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedmesh_qualifiers4 fields changed
      • removedOutput schema / properties / provenance / properties / data_vintage / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / data_vintage / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / provenance / properties / license / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / license / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedmesh_search4 fields changed
      • removedOutput schema / properties / provenance / properties / data_vintage / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / data_vintage / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / provenance / properties / license / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / license / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedmesh_tree4 fields changed
      • removedOutput schema / properties / provenance / properties / data_vintage / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / data_vintage / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / provenance / properties / license / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / license / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedrxnorm_classes4 fields changed
      • removedOutput schema / properties / provenance / properties / data_vintage / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / data_vintage / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / provenance / properties / license / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / license / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedrxnorm_concept4 fields changed
      • removedOutput schema / properties / provenance / properties / data_vintage / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / data_vintage / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / provenance / properties / license / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / license / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedrxnorm_ingredients4 fields changed
      • removedOutput schema / properties / provenance / properties / data_vintage / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / data_vintage / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / provenance / properties / license / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / license / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedrxnorm_ndc8 fields changed
      • removedOutput schema / properties / ndc / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / ndc / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / provenance / properties / data_vintage / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / data_vintage / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / provenance / properties / license / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / license / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / rxcui / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / rxcui / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedrxnorm_search4 fields changed
      • removedOutput schema / properties / provenance / properties / data_vintage / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / data_vintage / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / provenance / properties / license / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / license / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedterminology_diff10 fields changed
      • removedOutput schema / properties / changelog_url / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / changelog_url / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / from_version / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / from_version / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / provenance / properties / data_vintage / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / data_vintage / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / provenance / properties / license / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / license / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / to_version / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / to_version / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedterminology_versions8 fields changed
      • removedOutput schema / properties / provenance / properties / data_vintage / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / data_vintage / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / provenance / properties / license / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / properties / license / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / terminologies / items / properties / changelog_url / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / terminologies / items / properties / changelog_url / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / terminologies / items / properties / notes / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / terminologies / items / properties / notes / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedvalidate_codes12 fields changed
      • removedOutput schema / properties / provenance / items / properties / data_vintage / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / items / properties / data_vintage / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / provenance / items / properties / license / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / provenance / items / properties / license / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / results / items / properties / active / anyOf
        Removed value: -[
        -  {
        -    "type": "boolean"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / results / items / properties / active / type
        Added value: +[
        +  "boolean",
        +  "null"
        +]
      • removedOutput schema / properties / results / items / properties / error / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / results / items / properties / error / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / results / items / properties / replaced_by / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / results / items / properties / replaced_by / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / results / items / properties / title / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / results / items / properties / title / type
        Added value: +[
        +  "string",
        +  "null"
        +]
  11. 31 tool updatesv1.8.0
    • Changedatc_classify3 fields changed
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Canonical source URLs of this response (attribution list)",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / provenance
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license",
        +  "properties": {
        +    "citation": {
        +      "description": "Ready-to-use citation/attribution string",
        +      "type": "string"
        +    },
        +    "data_vintage": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "Version/release of the data as exposed by the source; null when not exposed"
        +    },
        +    "license": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "License / legal regime of the data"
        +    },
        +    "retrieved_at": {
        +      "description": "Real instant of the upstream extraction (ISO-8601, UTC). Responses served from cache keep the ORIGINAL fetch instant.",
        +      "type": "string"
        +    },
        +    "source": {
        +      "description": "Official upstream source of this data",
        +      "type": "string"
        +    },
        +    "source_url": {
        +      "description": "Canonical URL of the source (API base or dataset release)",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "source",
        +    "source_url",
        +    "data_vintage",
        +    "retrieved_at",
        +    "citation",
        +    "license"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "drug_name",
        -  "matches"
        -]New value: +[
        +  "drug_name",
        +  "matches",
        +  "provenance",
        +  "attribution"
        +]
    • Changedatc_lookup3 fields changed
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Canonical source URLs of this response (attribution list)",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / provenance
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license",
        +  "properties": {
        +    "citation": {
        +      "description": "Ready-to-use citation/attribution string",
        +      "type": "string"
        +    },
        +    "data_vintage": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "Version/release of the data as exposed by the source; null when not exposed"
        +    },
        +    "license": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "License / legal regime of the data"
        +    },
        +    "retrieved_at": {
        +      "description": "Real instant of the upstream extraction (ISO-8601, UTC). Responses served from cache keep the ORIGINAL fetch instant.",
        +      "type": "string"
        +    },
        +    "source": {
        +      "description": "Official upstream source of this data",
        +      "type": "string"
        +    },
        +    "source_url": {
        +      "description": "Canonical URL of the source (API base or dataset release)",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "source",
        +    "source_url",
        +    "data_vintage",
        +    "retrieved_at",
        +    "citation",
        +    "license"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "atc_code",
        -  "found",
        -  "details"
        -]New value: +[
        +  "atc_code",
        +  "found",
        +  "details",
        +  "provenance",
        +  "attribution"
        +]
    • Changedatc_members3 fields changed
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Canonical source URLs of this response (attribution list)",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / provenance
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license",
        +  "properties": {
        +    "citation": {
        +      "description": "Ready-to-use citation/attribution string",
        +      "type": "string"
        +    },
        +    "data_vintage": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "Version/release of the data as exposed by the source; null when not exposed"
        +    },
        +    "license": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "License / legal regime of the data"
        +    },
        +    "retrieved_at": {
        +      "description": "Real instant of the upstream extraction (ISO-8601, UTC). Responses served from cache keep the ORIGINAL fetch instant.",
        +      "type": "string"
        +    },
        +    "source": {
        +      "description": "Official upstream source of this data",
        +      "type": "string"
        +    },
        +    "source_url": {
        +      "description": "Canonical URL of the source (API base or dataset release)",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "source",
        +    "source_url",
        +    "data_vintage",
        +    "retrieved_at",
        +    "citation",
        +    "license"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "atc_code",
        -  "members"
        -]New value: +[
        +  "atc_code",
        +  "members",
        +  "provenance",
        +  "attribution"
        +]
    • Changedcid10_chapter3 fields changed
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Canonical source URLs of this response (attribution list)",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / provenance
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license",
        +  "properties": {
        +    "citation": {
        +      "description": "Ready-to-use citation/attribution string",
        +      "type": "string"
        +    },
        +    "data_vintage": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "Version/release of the data as exposed by the source; null when not exposed"
        +    },
        +    "license": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "License / legal regime of the data"
        +    },
        +    "retrieved_at": {
        +      "description": "Real instant of the upstream extraction (ISO-8601, UTC). Responses served from cache keep the ORIGINAL fetch instant.",
        +      "type": "string"
        +    },
        +    "source": {
        +      "description": "Official upstream source of this data",
        +      "type": "string"
        +    },
        +    "source_url": {
        +      "description": "Canonical URL of the source (API base or dataset release)",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "source",
        +    "source_url",
        +    "data_vintage",
        +    "retrieved_at",
        +    "citation",
        +    "license"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "num",
        -  "found",
        -  "chapter",
        -  "groups"
        -]New value: +[
        +  "num",
        +  "found",
        +  "chapter",
        +  "groups",
        +  "provenance",
        +  "attribution"
        +]
    • Changedcid10_chapters3 fields changed
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Canonical source URLs of this response (attribution list)",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / provenance
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license",
        +  "properties": {
        +    "citation": {
        +      "description": "Ready-to-use citation/attribution string",
        +      "type": "string"
        +    },
        +    "data_vintage": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "Version/release of the data as exposed by the source; null when not exposed"
        +    },
        +    "license": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "License / legal regime of the data"
        +    },
        +    "retrieved_at": {
        +      "description": "Real instant of the upstream extraction (ISO-8601, UTC). Responses served from cache keep the ORIGINAL fetch instant.",
        +      "type": "string"
        +    },
        +    "source": {
        +      "description": "Official upstream source of this data",
        +      "type": "string"
        +    },
        +    "source_url": {
        +      "description": "Canonical URL of the source (API base or dataset release)",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "source",
        +    "source_url",
        +    "data_vintage",
        +    "retrieved_at",
        +    "citation",
        +    "license"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "chapters"
        -]New value: +[
        +  "chapters",
        +  "provenance",
        +  "attribution"
        +]
    • Changedcid10_lookup3 fields changed
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Canonical source URLs of this response (attribution list)",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / provenance
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license",
        +  "properties": {
        +    "citation": {
        +      "description": "Ready-to-use citation/attribution string",
        +      "type": "string"
        +    },
        +    "data_vintage": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "Version/release of the data as exposed by the source; null when not exposed"
        +    },
        +    "license": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "License / legal regime of the data"
        +    },
        +    "retrieved_at": {
        +      "description": "Real instant of the upstream extraction (ISO-8601, UTC). Responses served from cache keep the ORIGINAL fetch instant.",
        +      "type": "string"
        +    },
        +    "source": {
        +      "description": "Official upstream source of this data",
        +      "type": "string"
        +    },
        +    "source_url": {
        +      "description": "Canonical URL of the source (API base or dataset release)",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "source",
        +    "source_url",
        +    "data_vintage",
        +    "retrieved_at",
        +    "citation",
        +    "license"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "code",
        -  "found",
        -  "hit"
        -]New value: +[
        +  "code",
        +  "found",
        +  "hit",
        +  "provenance",
        +  "attribution"
        +]
    • Changedcid10_search3 fields changed
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Canonical source URLs of this response (attribution list)",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / provenance
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license",
        +  "properties": {
        +    "citation": {
        +      "description": "Ready-to-use citation/attribution string",
        +      "type": "string"
        +    },
        +    "data_vintage": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "Version/release of the data as exposed by the source; null when not exposed"
        +    },
        +    "license": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "License / legal regime of the data"
        +    },
        +    "retrieved_at": {
        +      "description": "Real instant of the upstream extraction (ISO-8601, UTC). Responses served from cache keep the ORIGINAL fetch instant.",
        +      "type": "string"
        +    },
        +    "source": {
        +      "description": "Official upstream source of this data",
        +      "type": "string"
        +    },
        +    "source_url": {
        +      "description": "Canonical URL of the source (API base or dataset release)",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "source",
        +    "source_url",
        +    "data_vintage",
        +    "retrieved_at",
        +    "citation",
        +    "license"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "query",
        -  "level",
        -  "total_count",
        -  "shown_count",
        -  "hits"
        -]New value: +[
        +  "query",
        +  "level",
        +  "total_count",
        +  "shown_count",
        +  "hits",
        +  "provenance",
        +  "attribution"
        +]
    • Changedfind_equivalent26 fields changed
      • addedInput schema / properties / limit
        Added value: +{
        +  "description": "Maximum candidates returned PER terminology (1-10, default 5). This is a cap, not a page: the live fan-out has no stable cursor across five upstreams, so raise the limit instead of paging.",
        +  "maximum": 10,
        +  "minimum": 1,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Canonical source URLs of this response (attribution list)",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / groups
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "members": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "code": {
        +              "type": "string"
        +            },
        +            "match_score": {
        +              "maximum": 1,
        +              "minimum": 0,
        +              "type": "number"
        +            },
        +            "terminology": {
        +              "enum": [
        +                "icd11",
        +                "snomed",
        +                "loinc",
        +                "rxnorm",
        +                "mesh"
        +              ],
        +              "type": "string"
        +            },
        +            "title": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "terminology",
        +            "code",
        +            "title",
        +            "match_score"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "normalized_title": {
        +        "type": "string"
        +      },
        +      "terminologies": {
        +        "items": {
        +          "enum": [
        +            "icd11",
        +            "snomed",
        +            "loinc",
        +            "rxnorm",
        +            "mesh"
        +          ],
        +          "type": "string"
        +        },
        +        "type": "array"
        +      }
        +    },
        +    "required": [
        +      "normalized_title",
        +      "terminologies",
        +      "members"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / provenance
        Added value: +{
        +  "description": "One provenance block per upstream source that contributed to this response (contract v1.0; licenses are never merged)",
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "citation": {
        +        "description": "Ready-to-use citation/attribution string",
        +        "type": "string"
        +      },
        +      "data_vintage": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Version/release of the data as exposed by the source; null when not exposed"
        +      },
        +      "license": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "License / legal regime of the data"
        +      },
        +      "retrieved_at": {
        +        "description": "Real instant of the upstream extraction (ISO-8601, UTC). Responses served from cache keep the ORIGINAL fetch instant.",
        +        "type": "string"
        +      },
        +      "source": {
        +        "description": "Official upstream source of this data",
        +        "type": "string"
        +      },
        +      "source_url": {
        +        "description": "Canonical URL of the source (API base or dataset release)",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "source",
        +      "source_url",
        +      "data_vintage",
        +      "retrieved_at",
        +      "citation",
        +      "license"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / ranking
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "method": {
        +      "const": "lexical",
        +      "type": "string"
        +    },
        +    "note": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "method",
        +    "note"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / results / properties / icd11 / properties / items / items / properties / match_score
        Added value: +{
        +  "maximum": 1,
        +  "minimum": 0,
        +  "type": "number"
        +}
      • addedOutput schema / properties / results / properties / icd11 / properties / items / items / properties / rank
        Added value: +{
        +  "maximum": 9007199254740991,
        +  "minimum": 1,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / results / properties / icd11 / properties / items / items / properties / uri
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • changedOutput schema / properties / results / properties / icd11 / properties / items / items / required
        Previous value: -[
        -  "code",
        -  "title"
        -]New value: +[
        +  "code",
        +  "title",
        +  "uri",
        +  "match_score",
        +  "rank"
        +]
      • addedOutput schema / properties / results / properties / loinc / properties / items / items / properties / match_score
        Added value: +{
        +  "maximum": 1,
        +  "minimum": 0,
        +  "type": "number"
        +}
      • addedOutput schema / properties / results / properties / loinc / properties / items / items / properties / rank
        Added value: +{
        +  "maximum": 9007199254740991,
        +  "minimum": 1,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / results / properties / loinc / properties / items / items / properties / uri
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • changedOutput schema / properties / results / properties / loinc / properties / items / items / required
        Previous value: -[
        -  "code",
        -  "title"
        -]New value: +[
        +  "code",
        +  "title",
        +  "uri",
        +  "match_score",
        +  "rank"
        +]
      • addedOutput schema / properties / results / properties / mesh / properties / items / items / properties / match_score
        Added value: +{
        +  "maximum": 1,
        +  "minimum": 0,
        +  "type": "number"
        +}
      • addedOutput schema / properties / results / properties / mesh / properties / items / items / properties / rank
        Added value: +{
        +  "maximum": 9007199254740991,
        +  "minimum": 1,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / results / properties / mesh / properties / items / items / properties / uri
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • changedOutput schema / properties / results / properties / mesh / properties / items / items / required
        Previous value: -[
        -  "code",
        -  "title"
        -]New value: +[
        +  "code",
        +  "title",
        +  "uri",
        +  "match_score",
        +  "rank"
        +]
      • addedOutput schema / properties / results / properties / rxnorm / properties / items / items / properties / match_score
        Added value: +{
        +  "maximum": 1,
        +  "minimum": 0,
        +  "type": "number"
        +}
      • addedOutput schema / properties / results / properties / rxnorm / properties / items / items / properties / rank
        Added value: +{
        +  "maximum": 9007199254740991,
        +  "minimum": 1,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / results / properties / rxnorm / properties / items / items / properties / uri
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • changedOutput schema / properties / results / properties / rxnorm / properties / items / items / required
        Previous value: -[
        -  "code",
        -  "title"
        -]New value: +[
        +  "code",
        +  "title",
        +  "uri",
        +  "match_score",
        +  "rank"
        +]
      • addedOutput schema / properties / results / properties / snomed / properties / items / items / properties / match_score
        Added value: +{
        +  "maximum": 1,
        +  "minimum": 0,
        +  "type": "number"
        +}
      • addedOutput schema / properties / results / properties / snomed / properties / items / items / properties / rank
        Added value: +{
        +  "maximum": 9007199254740991,
        +  "minimum": 1,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / results / properties / snomed / properties / items / items / properties / uri
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • changedOutput schema / properties / results / properties / snomed / properties / items / items / required
        Previous value: -[
        -  "code",
        -  "title"
        -]New value: +[
        +  "code",
        +  "title",
        +  "uri",
        +  "match_score",
        +  "rank"
        +]
      • changedOutput schema / required
        Previous value: -[
        -  "term",
        -  "source_terminology",
        -  "searched_terminologies",
        -  "results"
        -]New value: +[
        +  "term",
        +  "source_terminology",
        +  "searched_terminologies",
        +  "results",
        +  "groups",
        +  "ranking",
        +  "provenance",
        +  "attribution"
        +]
    • Changedicd11_chapters4 fields changed
      • changedInput schema / properties / language / description
        Previous value: -"Language code (default: en)"New value: +"Language code (default: en). Returns the source's OFFICIAL translation when it exists (e.g. 'pt' for official Portuguese); content is never machine-translated."
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Canonical source URLs of this response (attribution list)",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / provenance
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license",
        +  "properties": {
        +    "citation": {
        +      "description": "Ready-to-use citation/attribution string",
        +      "type": "string"
        +    },
        +    "data_vintage": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "Version/release of the data as exposed by the source; null when not exposed"
        +    },
        +    "license": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "License / legal regime of the data"
        +    },
        +    "retrieved_at": {
        +      "description": "Real instant of the upstream extraction (ISO-8601, UTC). Responses served from cache keep the ORIGINAL fetch instant.",
        +      "type": "string"
        +    },
        +    "source": {
        +      "description": "Official upstream source of this data",
        +      "type": "string"
        +    },
        +    "source_url": {
        +      "description": "Canonical URL of the source (API base or dataset release)",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "source",
        +    "source_url",
        +    "data_vintage",
        +    "retrieved_at",
        +    "citation",
        +    "license"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "chapters"
        -]New value: +[
        +  "chapters",
        +  "provenance",
        +  "attribution"
        +]
    • Changedicd11_hierarchy3 fields changed
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Canonical source URLs of this response (attribution list)",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / provenance
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license",
        +  "properties": {
        +    "citation": {
        +      "description": "Ready-to-use citation/attribution string",
        +      "type": "string"
        +    },
        +    "data_vintage": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "Version/release of the data as exposed by the source; null when not exposed"
        +    },
        +    "license": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "License / legal regime of the data"
        +    },
        +    "retrieved_at": {
        +      "description": "Real instant of the upstream extraction (ISO-8601, UTC). Responses served from cache keep the ORIGINAL fetch instant.",
        +      "type": "string"
        +    },
        +    "source": {
        +      "description": "Official upstream source of this data",
        +      "type": "string"
        +    },
        +    "source_url": {
        +      "description": "Canonical URL of the source (API base or dataset release)",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "source",
        +    "source_url",
        +    "data_vintage",
        +    "retrieved_at",
        +    "citation",
        +    "license"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "code",
        -  "direction",
        -  "entities"
        -]New value: +[
        +  "code",
        +  "direction",
        +  "entities",
        +  "provenance",
        +  "attribution"
        +]
    • Changedicd11_lookup4 fields changed
      • changedInput schema / properties / language / description
        Previous value: -"Language code (default: en)"New value: +"Language code (default: en). Returns the source's OFFICIAL translation when it exists (e.g. 'pt' for official Portuguese); content is never machine-translated."
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Canonical source URLs of this response (attribution list)",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / provenance
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license",
        +  "properties": {
        +    "citation": {
        +      "description": "Ready-to-use citation/attribution string",
        +      "type": "string"
        +    },
        +    "data_vintage": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "Version/release of the data as exposed by the source; null when not exposed"
        +    },
        +    "license": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "License / legal regime of the data"
        +    },
        +    "retrieved_at": {
        +      "description": "Real instant of the upstream extraction (ISO-8601, UTC). Responses served from cache keep the ORIGINAL fetch instant.",
        +      "type": "string"
        +    },
        +    "source": {
        +      "description": "Official upstream source of this data",
        +      "type": "string"
        +    },
        +    "source_url": {
        +      "description": "Canonical URL of the source (API base or dataset release)",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "source",
        +    "source_url",
        +    "data_vintage",
        +    "retrieved_at",
        +    "citation",
        +    "license"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "code",
        -  "code_range",
        -  "uri",
        -  "title",
        -  "class_kind",
        -  "block_id",
        -  "definition",
        -  "long_definition",
        -  "diagnostic_criteria",
        -  "coding_note",
        -  "exclusions",
        -  "inclusions",
        -  "index_terms",
        -  "browser_url"
        -]New value: +[
        +  "code",
        +  "code_range",
        +  "uri",
        +  "title",
        +  "class_kind",
        +  "block_id",
        +  "definition",
        +  "long_definition",
        +  "diagnostic_criteria",
        +  "coding_note",
        +  "exclusions",
        +  "inclusions",
        +  "index_terms",
        +  "browser_url",
        +  "provenance",
        +  "attribution"
        +]
    • Changedicd11_postcoordination3 fields changed
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Canonical source URLs of this response (attribution list)",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / provenance
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license",
        +  "properties": {
        +    "citation": {
        +      "description": "Ready-to-use citation/attribution string",
        +      "type": "string"
        +    },
        +    "data_vintage": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "Version/release of the data as exposed by the source; null when not exposed"
        +    },
        +    "license": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "License / legal regime of the data"
        +    },
        +    "retrieved_at": {
        +      "description": "Real instant of the upstream extraction (ISO-8601, UTC). Responses served from cache keep the ORIGINAL fetch instant.",
        +      "type": "string"
        +    },
        +    "source": {
        +      "description": "Official upstream source of this data",
        +      "type": "string"
        +    },
        +    "source_url": {
        +      "description": "Canonical URL of the source (API base or dataset release)",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "source",
        +    "source_url",
        +    "data_vintage",
        +    "retrieved_at",
        +    "citation",
        +    "license"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "code",
        -  "axes"
        -]New value: +[
        +  "code",
        +  "axes",
        +  "provenance",
        +  "attribution"
        +]
    • Changedicd11_search4 fields changed
      • changedInput schema / properties / language / description
        Previous value: -"Language code (default: en)"New value: +"Language code (default: en). Returns the source's OFFICIAL translation when it exists (e.g. 'pt' for official Portuguese); content is never machine-translated."
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Canonical source URLs of this response (attribution list)",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / provenance
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license",
        +  "properties": {
        +    "citation": {
        +      "description": "Ready-to-use citation/attribution string",
        +      "type": "string"
        +    },
        +    "data_vintage": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "Version/release of the data as exposed by the source; null when not exposed"
        +    },
        +    "license": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "License / legal regime of the data"
        +    },
        +    "retrieved_at": {
        +      "description": "Real instant of the upstream extraction (ISO-8601, UTC). Responses served from cache keep the ORIGINAL fetch instant.",
        +      "type": "string"
        +    },
        +    "source": {
        +      "description": "Official upstream source of this data",
        +      "type": "string"
        +    },
        +    "source_url": {
        +      "description": "Canonical URL of the source (API base or dataset release)",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "source",
        +    "source_url",
        +    "data_vintage",
        +    "retrieved_at",
        +    "citation",
        +    "license"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "query",
        -  "total_count",
        -  "entities"
        -]New value: +[
        +  "query",
        +  "total_count",
        +  "entities",
        +  "provenance",
        +  "attribution"
        +]
    • Changedloinc_answers3 fields changed
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Canonical source URLs of this response (attribution list)",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / provenance
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license",
        +  "properties": {
        +    "citation": {
        +      "description": "Ready-to-use citation/attribution string",
        +      "type": "string"
        +    },
        +    "data_vintage": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "Version/release of the data as exposed by the source; null when not exposed"
        +    },
        +    "license": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "License / legal regime of the data"
        +    },
        +    "retrieved_at": {
        +      "description": "Real instant of the upstream extraction (ISO-8601, UTC). Responses served from cache keep the ORIGINAL fetch instant.",
        +      "type": "string"
        +    },
        +    "source": {
        +      "description": "Official upstream source of this data",
        +      "type": "string"
        +    },
        +    "source_url": {
        +      "description": "Canonical URL of the source (API base or dataset release)",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "source",
        +    "source_url",
        +    "data_vintage",
        +    "retrieved_at",
        +    "citation",
        +    "license"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "loinc_num",
        -  "answers"
        -]New value: +[
        +  "loinc_num",
        +  "answers",
        +  "provenance",
        +  "attribution"
        +]
    • Changedloinc_details4 fields changed
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Canonical source URLs of this response (attribution list)",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / external_copyright_notice
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / provenance
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license",
        +  "properties": {
        +    "citation": {
        +      "description": "Ready-to-use citation/attribution string",
        +      "type": "string"
        +    },
        +    "data_vintage": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "Version/release of the data as exposed by the source; null when not exposed"
        +    },
        +    "license": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "License / legal regime of the data"
        +    },
        +    "retrieved_at": {
        +      "description": "Real instant of the upstream extraction (ISO-8601, UTC). Responses served from cache keep the ORIGINAL fetch instant.",
        +      "type": "string"
        +    },
        +    "source": {
        +      "description": "Official upstream source of this data",
        +      "type": "string"
        +    },
        +    "source_url": {
        +      "description": "Canonical URL of the source (API base or dataset release)",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "source",
        +    "source_url",
        +    "data_vintage",
        +    "retrieved_at",
        +    "citation",
        +    "license"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "loinc_num",
        -  "long_common_name",
        -  "short_name",
        -  "component",
        -  "property",
        -  "time_aspect",
        -  "system",
        -  "scale_type",
        -  "method_type",
        -  "class",
        -  "status"
        -]New value: +[
        +  "loinc_num",
        +  "long_common_name",
        +  "short_name",
        +  "component",
        +  "property",
        +  "time_aspect",
        +  "system",
        +  "scale_type",
        +  "method_type",
        +  "class",
        +  "status",
        +  "external_copyright_notice",
        +  "provenance",
        +  "attribution"
        +]
    • Changedloinc_panels3 fields changed
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Canonical source URLs of this response (attribution list)",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / provenance
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license",
        +  "properties": {
        +    "citation": {
        +      "description": "Ready-to-use citation/attribution string",
        +      "type": "string"
        +    },
        +    "data_vintage": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "Version/release of the data as exposed by the source; null when not exposed"
        +    },
        +    "license": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "License / legal regime of the data"
        +    },
        +    "retrieved_at": {
        +      "description": "Real instant of the upstream extraction (ISO-8601, UTC). Responses served from cache keep the ORIGINAL fetch instant.",
        +      "type": "string"
        +    },
        +    "source": {
        +      "description": "Official upstream source of this data",
        +      "type": "string"
        +    },
        +    "source_url": {
        +      "description": "Canonical URL of the source (API base or dataset release)",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "source",
        +    "source_url",
        +    "data_vintage",
        +    "retrieved_at",
        +    "citation",
        +    "license"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "loinc_num",
        -  "panel"
        -]New value: +[
        +  "loinc_num",
        +  "panel",
        +  "provenance",
        +  "attribution"
        +]
    • Changedloinc_search5 fields changed
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Canonical source URLs of this response (attribution list)",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / items / items / properties / external_copyright_notice
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • changedOutput schema / properties / items / items / required
        Previous value: -[
        -  "loinc_num",
        -  "long_common_name",
        -  "short_name",
        -  "component",
        -  "property",
        -  "time_aspect",
        -  "system",
        -  "scale_type",
        -  "method_type",
        -  "class",
        -  "status"
        -]New value: +[
        +  "loinc_num",
        +  "long_common_name",
        +  "short_name",
        +  "component",
        +  "property",
        +  "time_aspect",
        +  "system",
        +  "scale_type",
        +  "method_type",
        +  "class",
        +  "status",
        +  "external_copyright_notice"
        +]
      • addedOutput schema / properties / provenance
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license",
        +  "properties": {
        +    "citation": {
        +      "description": "Ready-to-use citation/attribution string",
        +      "type": "string"
        +    },
        +    "data_vintage": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "Version/release of the data as exposed by the source; null when not exposed"
        +    },
        +    "license": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "License / legal regime of the data"
        +    },
        +    "retrieved_at": {
        +      "description": "Real instant of the upstream extraction (ISO-8601, UTC). Responses served from cache keep the ORIGINAL fetch instant.",
        +      "type": "string"
        +    },
        +    "source": {
        +      "description": "Official upstream source of this data",
        +      "type": "string"
        +    },
        +    "source_url": {
        +      "description": "Canonical URL of the source (API base or dataset release)",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "source",
        +    "source_url",
        +    "data_vintage",
        +    "retrieved_at",
        +    "citation",
        +    "license"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "query",
        -  "total_count",
        -  "shown_count",
        -  "items"
        -]New value: +[
        +  "query",
        +  "total_count",
        +  "shown_count",
        +  "items",
        +  "provenance",
        +  "attribution"
        +]
    • Changedmap_icd10_to_icd113 fields changed
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Canonical source URLs of this response (attribution list)",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / provenance
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license",
        +  "properties": {
        +    "citation": {
        +      "description": "Ready-to-use citation/attribution string",
        +      "type": "string"
        +    },
        +    "data_vintage": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "Version/release of the data as exposed by the source; null when not exposed"
        +    },
        +    "license": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "License / legal regime of the data"
        +    },
        +    "retrieved_at": {
        +      "description": "Real instant of the upstream extraction (ISO-8601, UTC). Responses served from cache keep the ORIGINAL fetch instant.",
        +      "type": "string"
        +    },
        +    "source": {
        +      "description": "Official upstream source of this data",
        +      "type": "string"
        +    },
        +    "source_url": {
        +      "description": "Canonical URL of the source (API base or dataset release)",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "source",
        +    "source_url",
        +    "data_vintage",
        +    "retrieved_at",
        +    "citation",
        +    "license"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "query",
        -  "found",
        -  "icd10",
        -  "primary",
        -  "alternatives",
        -  "source"
        -]New value: +[
        +  "query",
        +  "found",
        +  "icd10",
        +  "primary",
        +  "alternatives",
        +  "source",
        +  "provenance",
        +  "attribution"
        +]
    • Changedmap_loinc_to_snomed3 fields changed
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Canonical source URLs of this response (attribution list)",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / provenance
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license",
        +  "properties": {
        +    "citation": {
        +      "description": "Ready-to-use citation/attribution string",
        +      "type": "string"
        +    },
        +    "data_vintage": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "Version/release of the data as exposed by the source; null when not exposed"
        +    },
        +    "license": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "License / legal regime of the data"
        +    },
        +    "retrieved_at": {
        +      "description": "Real instant of the upstream extraction (ISO-8601, UTC). Responses served from cache keep the ORIGINAL fetch instant.",
        +      "type": "string"
        +    },
        +    "source": {
        +      "description": "Official upstream source of this data",
        +      "type": "string"
        +    },
        +    "source_url": {
        +      "description": "Canonical URL of the source (API base or dataset release)",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "source",
        +    "source_url",
        +    "data_vintage",
        +    "retrieved_at",
        +    "citation",
        +    "license"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "loinc_code",
        -  "loinc_details",
        -  "status",
        -  "guidance",
        -  "mapping_sources"
        -]New value: +[
        +  "loinc_code",
        +  "loinc_details",
        +  "status",
        +  "guidance",
        +  "mapping_sources",
        +  "provenance",
        +  "attribution"
        +]
    • Changedmesh_descriptor4 fields changed
      • changedInput schema / properties / language / description
        Previous value: -"Language code (default: en)"New value: +"Language code (default: en). Returns the source's OFFICIAL translation when it exists (e.g. 'pt' for official Portuguese); content is never machine-translated."
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Canonical source URLs of this response (attribution list)",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / provenance
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license",
        +  "properties": {
        +    "citation": {
        +      "description": "Ready-to-use citation/attribution string",
        +      "type": "string"
        +    },
        +    "data_vintage": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "Version/release of the data as exposed by the source; null when not exposed"
        +    },
        +    "license": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "License / legal regime of the data"
        +    },
        +    "retrieved_at": {
        +      "description": "Real instant of the upstream extraction (ISO-8601, UTC). Responses served from cache keep the ORIGINAL fetch instant.",
        +      "type": "string"
        +    },
        +    "source": {
        +      "description": "Official upstream source of this data",
        +      "type": "string"
        +    },
        +    "source_url": {
        +      "description": "Canonical URL of the source (API base or dataset release)",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "source",
        +    "source_url",
        +    "data_vintage",
        +    "retrieved_at",
        +    "citation",
        +    "license"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "id",
        -  "uri",
        -  "label",
        -  "scope_note",
        -  "tree_numbers",
        -  "concepts",
        -  "qualifiers"
        -]New value: +[
        +  "id",
        +  "uri",
        +  "label",
        +  "scope_note",
        +  "tree_numbers",
        +  "concepts",
        +  "qualifiers",
        +  "provenance",
        +  "attribution"
        +]
    • Changedmesh_qualifiers3 fields changed
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Canonical source URLs of this response (attribution list)",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / provenance
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license",
        +  "properties": {
        +    "citation": {
        +      "description": "Ready-to-use citation/attribution string",
        +      "type": "string"
        +    },
        +    "data_vintage": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "Version/release of the data as exposed by the source; null when not exposed"
        +    },
        +    "license": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "License / legal regime of the data"
        +    },
        +    "retrieved_at": {
        +      "description": "Real instant of the upstream extraction (ISO-8601, UTC). Responses served from cache keep the ORIGINAL fetch instant.",
        +      "type": "string"
        +    },
        +    "source": {
        +      "description": "Official upstream source of this data",
        +      "type": "string"
        +    },
        +    "source_url": {
        +      "description": "Canonical URL of the source (API base or dataset release)",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "source",
        +    "source_url",
        +    "data_vintage",
        +    "retrieved_at",
        +    "citation",
        +    "license"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "mesh_id",
        -  "qualifiers"
        -]New value: +[
        +  "mesh_id",
        +  "qualifiers",
        +  "provenance",
        +  "attribution"
        +]
    • Changedmesh_search4 fields changed
      • changedInput schema / properties / language / description
        Previous value: -"Language code (default: en)"New value: +"Language code (default: en). Returns the source's OFFICIAL translation when it exists (e.g. 'pt' for official Portuguese); content is never machine-translated."
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Canonical source URLs of this response (attribution list)",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / provenance
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license",
        +  "properties": {
        +    "citation": {
        +      "description": "Ready-to-use citation/attribution string",
        +      "type": "string"
        +    },
        +    "data_vintage": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "Version/release of the data as exposed by the source; null when not exposed"
        +    },
        +    "license": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "License / legal regime of the data"
        +    },
        +    "retrieved_at": {
        +      "description": "Real instant of the upstream extraction (ISO-8601, UTC). Responses served from cache keep the ORIGINAL fetch instant.",
        +      "type": "string"
        +    },
        +    "source": {
        +      "description": "Official upstream source of this data",
        +      "type": "string"
        +    },
        +    "source_url": {
        +      "description": "Canonical URL of the source (API base or dataset release)",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "source",
        +    "source_url",
        +    "data_vintage",
        +    "retrieved_at",
        +    "citation",
        +    "license"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "query",
        -  "match",
        -  "total_count",
        -  "descriptors"
        -]New value: +[
        +  "query",
        +  "match",
        +  "total_count",
        +  "descriptors",
        +  "provenance",
        +  "attribution"
        +]
    • Changedmesh_tree3 fields changed
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Canonical source URLs of this response (attribution list)",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / provenance
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license",
        +  "properties": {
        +    "citation": {
        +      "description": "Ready-to-use citation/attribution string",
        +      "type": "string"
        +    },
        +    "data_vintage": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "Version/release of the data as exposed by the source; null when not exposed"
        +    },
        +    "license": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "License / legal regime of the data"
        +    },
        +    "retrieved_at": {
        +      "description": "Real instant of the upstream extraction (ISO-8601, UTC). Responses served from cache keep the ORIGINAL fetch instant.",
        +      "type": "string"
        +    },
        +    "source": {
        +      "description": "Official upstream source of this data",
        +      "type": "string"
        +    },
        +    "source_url": {
        +      "description": "Canonical URL of the source (API base or dataset release)",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "source",
        +    "source_url",
        +    "data_vintage",
        +    "retrieved_at",
        +    "citation",
        +    "license"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "mesh_id",
        -  "tree_numbers"
        -]New value: +[
        +  "mesh_id",
        +  "tree_numbers",
        +  "provenance",
        +  "attribution"
        +]
    • Changedrxnorm_classes3 fields changed
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Canonical source URLs of this response (attribution list)",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / provenance
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license",
        +  "properties": {
        +    "citation": {
        +      "description": "Ready-to-use citation/attribution string",
        +      "type": "string"
        +    },
        +    "data_vintage": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "Version/release of the data as exposed by the source; null when not exposed"
        +    },
        +    "license": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "License / legal regime of the data"
        +    },
        +    "retrieved_at": {
        +      "description": "Real instant of the upstream extraction (ISO-8601, UTC). Responses served from cache keep the ORIGINAL fetch instant.",
        +      "type": "string"
        +    },
        +    "source": {
        +      "description": "Official upstream source of this data",
        +      "type": "string"
        +    },
        +    "source_url": {
        +      "description": "Canonical URL of the source (API base or dataset release)",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "source",
        +    "source_url",
        +    "data_vintage",
        +    "retrieved_at",
        +    "citation",
        +    "license"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "rxcui",
        -  "classes"
        -]New value: +[
        +  "rxcui",
        +  "classes",
        +  "provenance",
        +  "attribution"
        +]
    • Changedrxnorm_concept3 fields changed
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Canonical source URLs of this response (attribution list)",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / provenance
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license",
        +  "properties": {
        +    "citation": {
        +      "description": "Ready-to-use citation/attribution string",
        +      "type": "string"
        +    },
        +    "data_vintage": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "Version/release of the data as exposed by the source; null when not exposed"
        +    },
        +    "license": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "License / legal regime of the data"
        +    },
        +    "retrieved_at": {
        +      "description": "Real instant of the upstream extraction (ISO-8601, UTC). Responses served from cache keep the ORIGINAL fetch instant.",
        +      "type": "string"
        +    },
        +    "source": {
        +      "description": "Official upstream source of this data",
        +      "type": "string"
        +    },
        +    "source_url": {
        +      "description": "Canonical URL of the source (API base or dataset release)",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "source",
        +    "source_url",
        +    "data_vintage",
        +    "retrieved_at",
        +    "citation",
        +    "license"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "rxcui",
        -  "name",
        -  "synonym",
        -  "tty",
        -  "language",
        -  "suppress",
        -  "umlscui",
        -  "status",
        -  "remapped_to",
        -  "related_groups"
        -]New value: +[
        +  "rxcui",
        +  "name",
        +  "synonym",
        +  "tty",
        +  "language",
        +  "suppress",
        +  "umlscui",
        +  "status",
        +  "remapped_to",
        +  "related_groups",
        +  "provenance",
        +  "attribution"
        +]
    • Changedrxnorm_ingredients3 fields changed
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Canonical source URLs of this response (attribution list)",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / provenance
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license",
        +  "properties": {
        +    "citation": {
        +      "description": "Ready-to-use citation/attribution string",
        +      "type": "string"
        +    },
        +    "data_vintage": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "Version/release of the data as exposed by the source; null when not exposed"
        +    },
        +    "license": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "License / legal regime of the data"
        +    },
        +    "retrieved_at": {
        +      "description": "Real instant of the upstream extraction (ISO-8601, UTC). Responses served from cache keep the ORIGINAL fetch instant.",
        +      "type": "string"
        +    },
        +    "source": {
        +      "description": "Official upstream source of this data",
        +      "type": "string"
        +    },
        +    "source_url": {
        +      "description": "Canonical URL of the source (API base or dataset release)",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "source",
        +    "source_url",
        +    "data_vintage",
        +    "retrieved_at",
        +    "citation",
        +    "license"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "rxcui",
        -  "ingredients"
        -]New value: +[
        +  "rxcui",
        +  "ingredients",
        +  "provenance",
        +  "attribution"
        +]
    • Changedrxnorm_ndc3 fields changed
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Canonical source URLs of this response (attribution list)",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / provenance
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license",
        +  "properties": {
        +    "citation": {
        +      "description": "Ready-to-use citation/attribution string",
        +      "type": "string"
        +    },
        +    "data_vintage": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "Version/release of the data as exposed by the source; null when not exposed"
        +    },
        +    "license": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "License / legal regime of the data"
        +    },
        +    "retrieved_at": {
        +      "description": "Real instant of the upstream extraction (ISO-8601, UTC). Responses served from cache keep the ORIGINAL fetch instant.",
        +      "type": "string"
        +    },
        +    "source": {
        +      "description": "Official upstream source of this data",
        +      "type": "string"
        +    },
        +    "source_url": {
        +      "description": "Canonical URL of the source (API base or dataset release)",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "source",
        +    "source_url",
        +    "data_vintage",
        +    "retrieved_at",
        +    "citation",
        +    "license"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "query_mode",
        -  "rxcui",
        -  "ndc",
        -  "ndcs"
        -]New value: +[
        +  "query_mode",
        +  "rxcui",
        +  "ndc",
        +  "ndcs",
        +  "provenance",
        +  "attribution"
        +]
    • Changedrxnorm_search3 fields changed
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Canonical source URLs of this response (attribution list)",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / provenance
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license",
        +  "properties": {
        +    "citation": {
        +      "description": "Ready-to-use citation/attribution string",
        +      "type": "string"
        +    },
        +    "data_vintage": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "Version/release of the data as exposed by the source; null when not exposed"
        +    },
        +    "license": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "License / legal regime of the data"
        +    },
        +    "retrieved_at": {
        +      "description": "Real instant of the upstream extraction (ISO-8601, UTC). Responses served from cache keep the ORIGINAL fetch instant.",
        +      "type": "string"
        +    },
        +    "source": {
        +      "description": "Official upstream source of this data",
        +      "type": "string"
        +    },
        +    "source_url": {
        +      "description": "Canonical URL of the source (API base or dataset release)",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "source",
        +    "source_url",
        +    "data_vintage",
        +    "retrieved_at",
        +    "citation",
        +    "license"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "query",
        -  "total_count",
        -  "drugs"
        -]New value: +[
        +  "query",
        +  "total_count",
        +  "drugs",
        +  "provenance",
        +  "attribution"
        +]
    • Changedterminology_diff3 fields changed
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Canonical source URLs of this response (attribution list)",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / provenance
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license",
        +  "properties": {
        +    "citation": {
        +      "description": "Ready-to-use citation/attribution string",
        +      "type": "string"
        +    },
        +    "data_vintage": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "Version/release of the data as exposed by the source; null when not exposed"
        +    },
        +    "license": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "License / legal regime of the data"
        +    },
        +    "retrieved_at": {
        +      "description": "Real instant of the upstream extraction (ISO-8601, UTC). Responses served from cache keep the ORIGINAL fetch instant.",
        +      "type": "string"
        +    },
        +    "source": {
        +      "description": "Official upstream source of this data",
        +      "type": "string"
        +    },
        +    "source_url": {
        +      "description": "Canonical URL of the source (API base or dataset release)",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "source",
        +    "source_url",
        +    "data_vintage",
        +    "retrieved_at",
        +    "citation",
        +    "license"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "terminology",
        -  "from_version",
        -  "to_version",
        -  "diff_available",
        -  "message",
        -  "changelog_url",
        -  "bundled_versions",
        -  "cross_revision_summary"
        -]New value: +[
        +  "terminology",
        +  "from_version",
        +  "to_version",
        +  "diff_available",
        +  "message",
        +  "changelog_url",
        +  "bundled_versions",
        +  "cross_revision_summary",
        +  "provenance",
        +  "attribution"
        +]
    • Changedterminology_versions3 fields changed
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Canonical source URLs of this response (attribution list)",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / provenance
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Provenance block (contract v1.0): source, URL, data vintage, extraction instant, citation, license",
        +  "properties": {
        +    "citation": {
        +      "description": "Ready-to-use citation/attribution string",
        +      "type": "string"
        +    },
        +    "data_vintage": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "Version/release of the data as exposed by the source; null when not exposed"
        +    },
        +    "license": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "License / legal regime of the data"
        +    },
        +    "retrieved_at": {
        +      "description": "Real instant of the upstream extraction (ISO-8601, UTC). Responses served from cache keep the ORIGINAL fetch instant.",
        +      "type": "string"
        +    },
        +    "source": {
        +      "description": "Official upstream source of this data",
        +      "type": "string"
        +    },
        +    "source_url": {
        +      "description": "Canonical URL of the source (API base or dataset release)",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "source",
        +    "source_url",
        +    "data_vintage",
        +    "retrieved_at",
        +    "citation",
        +    "license"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "generated",
        -  "total",
        -  "terminologies"
        -]New value: +[
        +  "generated",
        +  "total",
        +  "terminologies",
        +  "provenance",
        +  "attribution"
        +]
    • Changedvalidate_codes3 fields changed
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Canonical source URLs of this response (attribution list)",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / provenance
        Added value: +{
        +  "description": "One provenance block per upstream source that contributed to this response (contract v1.0; licenses are never merged)",
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "citation": {
        +        "description": "Ready-to-use citation/attribution string",
        +        "type": "string"
        +      },
        +      "data_vintage": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Version/release of the data as exposed by the source; null when not exposed"
        +      },
        +      "license": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "License / legal regime of the data"
        +      },
        +      "retrieved_at": {
        +        "description": "Real instant of the upstream extraction (ISO-8601, UTC). Responses served from cache keep the ORIGINAL fetch instant.",
        +        "type": "string"
        +      },
        +      "source": {
        +        "description": "Official upstream source of this data",
        +        "type": "string"
        +      },
        +      "source_url": {
        +        "description": "Canonical URL of the source (API base or dataset release)",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "source",
        +      "source_url",
        +      "data_vintage",
        +      "retrieved_at",
        +      "citation",
        +      "license"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "total",
        -  "valid_count",
        -  "invalid_count",
        -  "error_count",
        -  "results"
        -]New value: +[
        +  "total",
        +  "valid_count",
        +  "invalid_count",
        +  "error_count",
        +  "results",
        +  "provenance",
        +  "attribution"
        +]
  12. 31 tool updatesv1.5.7
    • Changedatc_classify1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedatc_lookup1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedatc_members1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedcid10_chapter4 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • changedOutput schema / properties / chapter / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "code_end": {
        -        "type": "string"
        -      },
        -      "code_start": {
        -        "type": "string"
        -      },
        -      "num": {
        -        "type": "integer"
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "title_short": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "num",
        -      "code_start",
        -      "code_end",
        -      "title",
        -      "title_short"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "code_end": {
        +        "type": "string"
        +      },
        +      "code_start": {
        +        "type": "string"
        +      },
        +      "num": {
        +        "maximum": 9007199254740991,
        +        "minimum": -9007199254740991,
        +        "type": "integer"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "title_short": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "num",
        +      "code_start",
        +      "code_end",
        +      "title",
        +      "title_short"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedOutput schema / properties / num / maximum
        Added value: +9007199254740991
      • addedOutput schema / properties / num / minimum
        Added value: +-9007199254740991
    • Changedcid10_chapters3 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedOutput schema / properties / chapters / items / properties / num / maximum
        Added value: +9007199254740991
      • addedOutput schema / properties / chapters / items / properties / num / minimum
        Added value: +-9007199254740991
    • Changedcid10_lookup2 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • changedOutput schema / properties / hit / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "causa_obito": {
        -        "type": "string"
        -      },
        -      "chapter_num": {
        -        "anyOf": [
        -          {
        -            "type": "integer"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "classif": {
        -        "type": "string"
        -      },
        -      "code": {
        -        "type": "string"
        -      },
        -      "display": {
        -        "type": "string"
        -      },
        -      "excluidos": {
        -        "type": "string"
        -      },
        -      "group_range": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "level": {
        -        "enum": [
        -          "category",
        -          "subcategory"
        -        ],
        -        "type": "string"
        -      },
        -      "refer": {
        -        "type": "string"
        -      },
        -      "restr_sexo": {
        -        "type": "string"
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "title_short": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "level",
        -      "code",
        -      "display",
        -      "classif",
        -      "title",
        -      "title_short",
        -      "refer",
        -      "excluidos",
        -      "restr_sexo",
        -      "causa_obito",
        -      "chapter_num",
        -      "group_range"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "causa_obito": {
        +        "type": "string"
        +      },
        +      "chapter_num": {
        +        "anyOf": [
        +          {
        +            "maximum": 9007199254740991,
        +            "minimum": -9007199254740991,
        +            "type": "integer"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "classif": {
        +        "type": "string"
        +      },
        +      "code": {
        +        "type": "string"
        +      },
        +      "display": {
        +        "type": "string"
        +      },
        +      "excluidos": {
        +        "type": "string"
        +      },
        +      "group_range": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "level": {
        +        "enum": [
        +          "category",
        +          "subcategory"
        +        ],
        +        "type": "string"
        +      },
        +      "refer": {
        +        "type": "string"
        +      },
        +      "restr_sexo": {
        +        "type": "string"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "title_short": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "level",
        +      "code",
        +      "display",
        +      "classif",
        +      "title",
        +      "title_short",
        +      "refer",
        +      "excluidos",
        +      "restr_sexo",
        +      "causa_obito",
        +      "chapter_num",
        +      "group_range"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
    • Changedcid10_search8 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • changedOutput schema / properties / hits / items / properties / chapter_num / anyOf
        Previous value: -[
        -  {
        -    "type": "integer"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "maximum": 9007199254740991,
        +    "minimum": -9007199254740991,
        +    "type": "integer"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedOutput schema / properties / hits / items / properties / group_range / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / hits / items / properties / group_range / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / shown_count / maximum
        Added value: +9007199254740991
      • addedOutput schema / properties / shown_count / minimum
        Added value: +-9007199254740991
      • addedOutput schema / properties / total_count / maximum
        Added value: +9007199254740991
      • addedOutput schema / properties / total_count / minimum
        Added value: +-9007199254740991
    • Changedfind_equivalent11 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedOutput schema / properties / results / properties / icd11 / properties / error / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / results / properties / icd11 / properties / error / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / results / properties / loinc / properties / error / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / results / properties / loinc / properties / error / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / results / properties / mesh / properties / error / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / results / properties / mesh / properties / error / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / results / properties / rxnorm / properties / error / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / results / properties / rxnorm / properties / error / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / results / properties / snomed / properties / error / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / results / properties / snomed / properties / error / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
    • Changedicd11_chapters11 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedOutput schema / properties / chapters / items / properties / code / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / chapters / items / properties / code / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / chapters / items / properties / code_range / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / chapters / items / properties / code_range / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / chapters / items / properties / error / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / chapters / items / properties / error / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / chapters / items / properties / number / maximum
        Added value: +9007199254740991
      • addedOutput schema / properties / chapters / items / properties / number / minimum
        Added value: +-9007199254740991
      • addedOutput schema / properties / chapters / items / properties / title / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / chapters / items / properties / title / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
    • Changedicd11_hierarchy5 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedOutput schema / properties / entities / items / properties / code / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / entities / items / properties / code / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / entities / items / properties / code_range / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / entities / items / properties / code_range / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
    • Changedicd11_lookup19 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedOutput schema / properties / block_id / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / block_id / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / browser_url / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / browser_url / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / class_kind / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / class_kind / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / code / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / code / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / code_range / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / code_range / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / coding_note / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / coding_note / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / definition / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / definition / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / diagnostic_criteria / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / diagnostic_criteria / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / long_definition / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / long_definition / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
    • Changedicd11_postcoordination2 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • changedOutput schema / properties / axes / items / properties / value_count / anyOf
        Previous value: -[
        -  {
        -    "type": "integer"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "maximum": 9007199254740991,
        +    "minimum": -9007199254740991,
        +    "type": "integer"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
    • Changedicd11_search5 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedOutput schema / properties / entities / items / properties / code / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / entities / items / properties / code / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / total_count / maximum
        Added value: +9007199254740991
      • addedOutput schema / properties / total_count / minimum
        Added value: +-9007199254740991
    • Changedloinc_answers3 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedOutput schema / properties / answers / items / properties / sequence / maximum
        Added value: +9007199254740991
      • addedOutput schema / properties / answers / items / properties / sequence / minimum
        Added value: +-9007199254740991
    • Changedloinc_details1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedloinc_panels2 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • changedOutput schema / properties / panel / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "items": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "loinc_num": {
        -              "type": "string"
        -            },
        -            "name": {
        -              "type": "string"
        -            },
        -            "required": {
        -              "type": "boolean"
        -            },
        -            "sequence": {
        -              "type": "integer"
        -            }
        -          },
        -          "required": [
        -            "sequence",
        -            "loinc_num",
        -            "name",
        -            "required"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "loinc_num": {
        -        "type": "string"
        -      },
        -      "name": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "loinc_num",
        -      "name",
        -      "items"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "items": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "loinc_num": {
        +              "type": "string"
        +            },
        +            "name": {
        +              "type": "string"
        +            },
        +            "required": {
        +              "type": "boolean"
        +            },
        +            "sequence": {
        +              "maximum": 9007199254740991,
        +              "minimum": -9007199254740991,
        +              "type": "integer"
        +            }
        +          },
        +          "required": [
        +            "sequence",
        +            "loinc_num",
        +            "name",
        +            "required"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "loinc_num": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "loinc_num",
        +      "name",
        +      "items"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
    • Changedloinc_search5 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedOutput schema / properties / shown_count / maximum
        Added value: +9007199254740991
      • addedOutput schema / properties / shown_count / minimum
        Added value: +-9007199254740991
      • addedOutput schema / properties / total_count / maximum
        Added value: +9007199254740991
      • addedOutput schema / properties / total_count / minimum
        Added value: +-9007199254740991
    • Changedmap_icd10_to_icd115 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedOutput schema / properties / alternatives / items / properties / depth / maximum
        Added value: +9007199254740991
      • addedOutput schema / properties / alternatives / items / properties / depth / minimum
        Added value: +-9007199254740991
      • changedOutput schema / properties / icd10 / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "chapter": {
        -        "type": "string"
        -      },
        -      "code": {
        -        "type": "string"
        -      },
        -      "depth": {
        -        "type": "integer"
        -      },
        -      "title": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "code",
        -      "title",
        -      "chapter",
        -      "depth"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "chapter": {
        +        "type": "string"
        +      },
        +      "code": {
        +        "type": "string"
        +      },
        +      "depth": {
        +        "maximum": 9007199254740991,
        +        "minimum": -9007199254740991,
        +        "type": "integer"
        +      },
        +      "title": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "code",
        +      "title",
        +      "chapter",
        +      "depth"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • changedOutput schema / properties / primary / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "chapter": {
        -        "type": "string"
        -      },
        -      "classKind": {
        -        "type": "string"
        -      },
        -      "code": {
        -        "type": "string"
        -      },
        -      "depth": {
        -        "type": "integer"
        -      },
        -      "foundationUri": {
        -        "type": "string"
        -      },
        -      "linearizationUri": {
        -        "type": "string"
        -      },
        -      "title": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "code",
        -      "title",
        -      "chapter",
        -      "foundationUri",
        -      "linearizationUri",
        -      "classKind",
        -      "depth"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "chapter": {
        +        "type": "string"
        +      },
        +      "classKind": {
        +        "type": "string"
        +      },
        +      "code": {
        +        "type": "string"
        +      },
        +      "depth": {
        +        "maximum": 9007199254740991,
        +        "minimum": -9007199254740991,
        +        "type": "integer"
        +      },
        +      "foundationUri": {
        +        "type": "string"
        +      },
        +      "linearizationUri": {
        +        "type": "string"
        +      },
        +      "title": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "code",
        +      "title",
        +      "chapter",
        +      "foundationUri",
        +      "linearizationUri",
        +      "classKind",
        +      "depth"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
    • Changedmap_loinc_to_snomed4 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • changedOutput schema / properties / loinc_details / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "code": {
        -        "type": "string"
        -      },
        -      "component": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "long_common_name": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "property": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "system": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "required": [
        -      "code",
        -      "long_common_name",
        -      "component",
        -      "system",
        -      "property"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "code": {
        +        "type": "string"
        +      },
        +      "component": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "long_common_name": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "property": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "system": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      }
        +    },
        +    "required": [
        +      "code",
        +      "long_common_name",
        +      "component",
        +      "system",
        +      "property"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedOutput schema / properties / mapping_sources / items / properties / url / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / mapping_sources / items / properties / url / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
    • Changedmesh_descriptor1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedmesh_qualifiers1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedmesh_search3 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedOutput schema / properties / total_count / maximum
        Added value: +9007199254740991
      • addedOutput schema / properties / total_count / minimum
        Added value: +-9007199254740991
    • Changedmesh_tree1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedrxnorm_classes1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedrxnorm_concept1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedrxnorm_ingredients1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedrxnorm_ndc5 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedOutput schema / properties / ndc / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / ndc / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / rxcui / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / rxcui / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
    • Changedrxnorm_search3 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedOutput schema / properties / total_count / maximum
        Added value: +9007199254740991
      • addedOutput schema / properties / total_count / minimum
        Added value: +-9007199254740991
    • Changedterminology_diff8 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedOutput schema / properties / changelog_url / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / changelog_url / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • changedOutput schema / properties / cross_revision_summary / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "avg_alternatives_when_split": {
        -        "type": "number"
        -      },
        -      "icd10_categories_total": {
        -        "type": "integer"
        -      },
        -      "one_to_many_splits": {
        -        "type": "integer"
        -      },
        -      "one_to_one_mappings": {
        -        "type": "integer"
        -      }
        -    },
        -    "required": [
        -      "icd10_categories_total",
        -      "one_to_one_mappings",
        -      "one_to_many_splits",
        -      "avg_alternatives_when_split"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "avg_alternatives_when_split": {
        +        "type": "number"
        +      },
        +      "icd10_categories_total": {
        +        "maximum": 9007199254740991,
        +        "minimum": -9007199254740991,
        +        "type": "integer"
        +      },
        +      "one_to_many_splits": {
        +        "maximum": 9007199254740991,
        +        "minimum": -9007199254740991,
        +        "type": "integer"
        +      },
        +      "one_to_one_mappings": {
        +        "maximum": 9007199254740991,
        +        "minimum": -9007199254740991,
        +        "type": "integer"
        +      }
        +    },
        +    "required": [
        +      "icd10_categories_total",
        +      "one_to_one_mappings",
        +      "one_to_many_splits",
        +      "avg_alternatives_when_split"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedOutput schema / properties / from_version / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / from_version / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / to_version / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / to_version / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
    • Changedterminology_versions7 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedOutput schema / properties / terminologies / items / properties / changelog_url / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / terminologies / items / properties / changelog_url / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / terminologies / items / properties / notes / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / terminologies / items / properties / notes / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / total / maximum
        Added value: +9007199254740991
      • addedOutput schema / properties / total / minimum
        Added value: +-9007199254740991
    • Changedvalidate_codes18 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • removedInput schema / properties / codes / items / additionalProperties
        Removed value: -false
      • addedOutput schema / properties / error_count / maximum
        Added value: +9007199254740991
      • addedOutput schema / properties / error_count / minimum
        Added value: +-9007199254740991
      • addedOutput schema / properties / invalid_count / maximum
        Added value: +9007199254740991
      • addedOutput schema / properties / invalid_count / minimum
        Added value: +-9007199254740991
      • addedOutput schema / properties / results / items / properties / active / anyOf
        Added value: +[
        +  {
        +    "type": "boolean"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / results / items / properties / active / type
        Removed value: -[
        -  "boolean",
        -  "null"
        -]
      • addedOutput schema / properties / results / items / properties / error / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / results / items / properties / error / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / results / items / properties / replaced_by / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / results / items / properties / replaced_by / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / results / items / properties / title / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / results / items / properties / title / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedOutput schema / properties / total / maximum
        Added value: +9007199254740991
      • addedOutput schema / properties / total / minimum
        Added value: +-9007199254740991
      • addedOutput schema / properties / valid_count / maximum
        Added value: +9007199254740991
      • addedOutput schema / properties / valid_count / minimum
        Added value: +-9007199254740991
  13. 2 tool updatesv1.5.0
    • Changedmap_icd10_to_icd111 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "alternatives": {
        +      "description": "Additional ICD-11 candidates WHO documents for this ICD-10 code. Empty when the primary is the only documented mapping (or when found=false). 1,461 of the 11,243 indexed codes have non-empty alternatives.",
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "chapter": {
        +            "type": "string"
        +          },
        +          "classKind": {
        +            "type": "string"
        +          },
        +          "code": {
        +            "type": "string"
        +          },
        +          "depth": {
        +            "type": "integer"
        +          },
        +          "foundationUri": {
        +            "type": "string"
        +          },
        +          "linearizationUri": {
        +            "type": "string"
        +          },
        +          "title": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "code",
        +          "title",
        +          "chapter",
        +          "foundationUri",
        +          "linearizationUri",
        +          "classKind",
        +          "depth"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "found": {
        +      "description": "Whether the code is in the WHO ICD-10 → ICD-11 transition table.",
        +      "type": "boolean"
        +    },
        +    "icd10": {
        +      "anyOf": [
        +        {
        +          "additionalProperties": false,
        +          "properties": {
        +            "chapter": {
        +              "type": "string"
        +            },
        +            "code": {
        +              "type": "string"
        +            },
        +            "depth": {
        +              "type": "integer"
        +            },
        +            "title": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "code",
        +            "title",
        +            "chapter",
        +            "depth"
        +          ],
        +          "type": "object"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "Source ICD-10 entry from the WHO table. Null when found=false."
        +    },
        +    "primary": {
        +      "anyOf": [
        +        {
        +          "additionalProperties": false,
        +          "properties": {
        +            "chapter": {
        +              "type": "string"
        +            },
        +            "classKind": {
        +              "type": "string"
        +            },
        +            "code": {
        +              "type": "string"
        +            },
        +            "depth": {
        +              "type": "integer"
        +            },
        +            "foundationUri": {
        +              "type": "string"
        +            },
        +            "linearizationUri": {
        +              "type": "string"
        +            },
        +            "title": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "code",
        +            "title",
        +            "chapter",
        +            "foundationUri",
        +            "linearizationUri",
        +            "classKind",
        +            "depth"
        +          ],
        +          "type": "object"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "Primary 1:1 ICD-11 mapping. Null when found=false."
        +    },
        +    "query": {
        +      "description": "The ICD-10 code as submitted (raw, before normalization).",
        +      "type": "string"
        +    },
        +    "source": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "publisher": {
        +          "description": "Authoritative publisher (e.g. \"WHO\").",
        +          "type": "string"
        +        },
        +        "release_date": {
        +          "description": "ISO date string for the release.",
        +          "type": "string"
        +        },
        +        "version": {
        +          "description": "Transition table release identifier (e.g. \"2025-01\").",
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "publisher",
        +        "version",
        +        "release_date"
        +      ],
        +      "type": "object"
        +    }
        +  },
        +  "required": [
        +    "query",
        +    "found",
        +    "icd10",
        +    "primary",
        +    "alternatives",
        +    "source"
        +  ],
        +  "type": "object"
        +}
    • Changedmap_loinc_to_snomed1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "guidance": {
        +      "description": "Short human-readable explanation of why this tool returns guidance instead of a mapping.",
        +      "type": "string"
        +    },
        +    "loinc_code": {
        +      "description": "The LOINC code as submitted.",
        +      "type": "string"
        +    },
        +    "loinc_details": {
        +      "anyOf": [
        +        {
        +          "additionalProperties": false,
        +          "properties": {
        +            "code": {
        +              "type": "string"
        +            },
        +            "component": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "long_common_name": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "property": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "system": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            }
        +          },
        +          "required": [
        +            "code",
        +            "long_common_name",
        +            "component",
        +            "system",
        +            "property"
        +          ],
        +          "type": "object"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "NLM Clinical Tables details for the LOINC code (component, system, property, etc.). Null when the code was not found upstream."
        +    },
        +    "mapping_sources": {
        +      "description": "Structured list of authoritative LOINC → SNOMED CT mapping sources (UMLS Metathesaurus, LOINC SNOMED CT Expression Association, Regenstrief RELMA).",
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "description": {
        +            "type": "string"
        +          },
        +          "name": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          }
        +        },
        +        "required": [
        +          "name",
        +          "description",
        +          "url"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "status": {
        +      "description": "Always \"guidance-only\" — direct LOINC → SNOMED CT mappings require licensed sources (UMLS Metathesaurus or LOINC SNOMED CT Expression Association). This tool returns pointers, not the mapping itself.",
        +      "enum": [
        +        "guidance-only"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "loinc_code",
        +    "loinc_details",
        +    "status",
        +    "guidance",
        +    "mapping_sources"
        +  ],
        +  "type": "object"
        +}
  14. 5 tool updatesv1.4.0
    • Changedmesh_descriptor1 field changed
      • addedInput schema / properties / language
        Added value: +{
        +  "default": "en",
        +  "description": "Language code (default: en)",
        +  "enum": [
        +    "en",
        +    "es",
        +    "pt",
        +    "fr",
        +    "de",
        +    "it",
        +    "zh",
        +    "ja",
        +    "ar",
        +    "ru"
        +  ],
        +  "type": "string"
        +}
    • Changedmesh_search1 field changed
      • addedInput schema / properties / language
        Added value: +{
        +  "default": "en",
        +  "description": "Language code (default: en)",
        +  "enum": [
        +    "en",
        +    "es",
        +    "pt",
        +    "fr",
        +    "de",
        +    "it",
        +    "zh",
        +    "ja",
        +    "ar",
        +    "ru"
        +  ],
        +  "type": "string"
        +}
    • Addedterminology_diff
    • Addedterminology_versions
    • Addedvalidate_codes

TDQS

A3.9/5.0

Scored across 33 tools

Disambiguation4/5

Most tools are clearly distinguished by both terminology prefix and operation (search vs lookup vs hierarchy vs validation). The main ambiguity is between the generic catalog `search`/`fetch` tools and the terminology-specific search tools, though descriptions explicitly warn that the former is a catalog index, not a data query.

Naming Consistency4/5

Almost all tools follow a predictable snake_case `terminology_action` pattern (loinc_search, rxnorm_concept, icd11_hierarchy, cid10_lookup, mesh_tree, atc_members). The generic `search`, `fetch`, `find_equivalent`, and `harmonize_terms` names break the prefix pattern but remain readable and descriptive.

Tool Count3/5

At 33 tools the surface is heavy for an agent, even accounting for the server covering seven terminologies plus cross-cutting mapping and validation. Most tools earn their place, but the total is well above the typical well-scoped range and invites cognitive overload.

Completeness4/5

Coverage is strong: search/lookup/hierarchy/details for LOINC, RxNorm, MeSH, CID-10, ICD-11, and ATC, plus mapping, batch validation, harmonization, version metadata, and generic catalog access. The main gap is the lack of a direct international ICD-10 search tool, despite ICD-10 being used in mapping and validation.

Maintenance

ActivityActive
ResponsivenessWithin a week

Related MCP Connectors

Related MCP Servers

  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    A FastAPI backend service that connects to Azure's Managed Chat Project using GPT-4o to provide medical chatbot functionality through a simple HTML interface.
    -
  • A
    license
    Not graded
    quality
    F
    maintenance
    Provides comprehensive medical information by querying authoritative sources including FDA drug database, WHO health statistics, PubMed literature, RxNorm nomenclature, Google Scholar, and Australia's PBS API through 22+ specialized tools.
    82 npm
    3
    MIT