Polish ICD-10, ICD-9 PL, ICD-11 PL codes and NFZ JGP hospital grouping from official sources.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
List one level of a classification: the chapters when parent and node are omitted, else the children of the parent code or of a node id from an earlier listing (ICD-11 blocks have a node id but no code). Each child says whether it has children. Long levels stop at 400 entries with truncated=true.
Classification of the code.
Node id from an earlier listing, for ICD-11 blocks without a code.
Code whose children to list.
Tool list last changed Oct 27, 2026.
List one level of a classification: the chapters when parent and node are omitted, else the children of the parent code or of a node id from an earlier listing (ICD-11 blocks have a node id but no code). Each child says whether it has children. Long levels stop at 400 entries with truncated=true.
| Argument | Type | Description |
|---|---|---|
| node | any | Node id from an earlier listing, for ICD-11 blocks without a code. |
| parent | any | Code whose children to list. |
| system* | any | Classification of the code. |
{
"type": "object",
"$defs": {
"Code": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9.\\-]{0,15}$"
},
"System": {
"enum": [
"icd10-pl",
"icd9-pl",
"icd11-pl"
],
"type": "string"
}
},
"required": [
"system"
],
"properties": {
"node": {
"anyOf": [
{
"type": "integer",
"maximum": 10000000,
"minimum": 1
},
{
"type": "null"
}
],
"default": null,
"description": "Node id from an earlier listing, for ICD-11 blocks without a code."
},
"parent": {
"anyOf": [
{
"$ref": "#/$defs/Code"
},
{
"type": "null"
}
],
"default": null,
"description": "Code whose children to list."
},
"system": {
"$ref": "#/$defs/System",
"description": "Classification of the code."
}
}
}Browse the JGP catalog in force on service_date (default today in Poland): without a section, the sections of catalogs 1a and 1ae with their group counts; with catalog and section, that section's groups with base points.
| Argument | Type | Description |
|---|---|---|
| catalog | any | Catalog of the section; omit with section for the index. |
| section | any | Section number from the index. |
| service_date | any | Day of care, YYYY-MM-DD; picks the release in force. Default today in Poland. |
{
"type": "object",
"$defs": {
"Catalog": {
"enum": [
"1a",
"1ae"
],
"type": "string"
}
},
"properties": {
"catalog": {
"anyOf": [
{
"$ref": "#/$defs/Catalog"
},
{
"type": "null"
}
],
"default": null,
"description": "Catalog of the section; omit with section for the index."
},
"section": {
"anyOf": [
{
"type": "integer",
"maximum": 200,
"minimum": 1
},
{
"type": "null"
}
],
"default": null,
"description": "Section number from the index."
},
"service_date": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"default": null,
"description": "Day of care, YYYY-MM-DD; picks the release in force. Default today in Poland."
}
}
}Compare one JGP group between the catalogs in force on two service dates: act and release on each side, name, base points, scopes and the names of the directional lists its conditions use, plus the list of fields that changed. Read full conditions with get_jgp_group.
| Argument | Type | Description |
|---|---|---|
| code* | any | JGP group code, e.g. F72. |
| after_date* | string | Later day of care, YYYY-MM-DD. |
| before_date* | string | Earlier day of care, YYYY-MM-DD. |
{
"type": "object",
"$defs": {
"GroupCode": {
"type": "string",
"pattern": "^[A-Z][A-Z0-9]{1,5}$"
}
},
"required": [
"code",
"before_date",
"after_date"
],
"properties": {
"code": {
"$ref": "#/$defs/GroupCode",
"description": "JGP group code, e.g. F72."
},
"after_date": {
"type": "string",
"format": "date",
"description": "Later day of care, YYYY-MM-DD."
},
"before_date": {
"type": "string",
"format": "date",
"description": "Earlier day of care, YYYY-MM-DD."
}
}
}The legal dictionaries a stay for group_case needs: ward specialty codes (the VIII part of a department code; hospital wards 4000-4951 by default, wards="all" for every section) and discharge modes, each with its legal act, plus the accepted hospitalization types and product reporting values.
| Argument | Type | Description |
|---|---|---|
| wards | string | hospital: ward codes 4000-4951; all: every section. |
{
"type": "object",
"properties": {
"wards": {
"enum": [
"hospital",
"all"
],
"type": "string",
"default": "hospital",
"description": "hospital: ward codes 4000-4951; all: every section."
}
}
}Everything the code page shows for one ICD-10 PL, ICD-9 PL or ICD-11 PL code: title, place in the hierarchy (ICD-11 blocks included), child codes, notes (includes, excludes, index terms; counted), attributes (English name, CZS status and dates, WHO URI, definition), ICD-9 procedure rank, WHO ICD-10/ICD-11 map rows and, for ICD-10 and ICD-9, the JGP groups whose attachment 9 lists name the code on service_date (default today in Poland).
| Argument | Type | Description |
|---|---|---|
| code* | any | The code as printed, e.g. J18.9, 53.03 or BA00. |
| system* | any | Classification of the code. |
| service_date | any | Day of care, YYYY-MM-DD; picks the release in force. Default today in Poland. |
{
"type": "object",
"$defs": {
"Code": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9.\\-]{0,15}$"
},
"System": {
"enum": [
"icd10-pl",
"icd9-pl",
"icd11-pl"
],
"type": "string"
}
},
"required": [
"system",
"code"
],
"properties": {
"code": {
"$ref": "#/$defs/Code",
"description": "The code as printed, e.g. J18.9, 53.03 or BA00."
},
"system": {
"$ref": "#/$defs/System",
"description": "Classification of the code."
},
"service_date": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"default": null,
"description": "Day of care, YYYY-MM-DD; picks the release in force. Default today in Poland."
}
}
}One JGP group in the catalog in force on service_date (default today in Poland): name, product code, base points per catalog column, scopes, the act and release behind it, the knowledge horizon, and its grouping conditions from the characteristics with the directional lists they name (read a list with get_jgp_list).
| Argument | Type | Description |
|---|---|---|
| code* | any | JGP group code, e.g. F72. |
| service_date | any | Day of care, YYYY-MM-DD; picks the release in force. Default today in Poland. |
{
"type": "object",
"$defs": {
"GroupCode": {
"type": "string",
"pattern": "^[A-Z][A-Z0-9]{1,5}$"
}
},
"required": [
"code"
],
"properties": {
"code": {
"$ref": "#/$defs/GroupCode",
"description": "JGP group code, e.g. F72."
},
"service_date": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"default": null,
"description": "Day of care, YYYY-MM-DD; picks the release in force. Default today in Poland."
}
}
}The codes of one directional diagnosis or procedure list from the JGP characteristics (attachment 9), by the list id and catalog that get_jgp_group names, one page at a time, on service_date (default today in Poland).
| Argument | Type | Description |
|---|---|---|
| page | integer | Page, from 1. |
| catalog | any | Catalog that get_jgp_group names with the list. |
| list_id* | integer | List id that get_jgp_group names. |
| service_date | any | Day of care, YYYY-MM-DD; picks the release in force. Default today in Poland. |
{
"type": "object",
"$defs": {
"Catalog": {
"enum": [
"1a",
"1ae"
],
"type": "string"
}
},
"required": [
"list_id"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"maximum": 20,
"minimum": 1,
"description": "Page, from 1."
},
"catalog": {
"$ref": "#/$defs/Catalog",
"default": "1a",
"description": "Catalog that get_jgp_group names with the list."
},
"list_id": {
"type": "integer",
"maximum": 100000,
"minimum": 1,
"description": "List id that get_jgp_group names."
},
"service_date": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"default": null,
"description": "Day of care, YYYY-MM-DD; picks the release in force. Default today in Poland."
}
}
}What Minos serves: live dictionary releases (ICD-10 PL, ICD-9 PL, ICD-11 PL) with versions, validity and licences, JGP grouping availability and knowledge horizon, the tool list and the disclaimer.
No arguments.
{
"type": "object",
"properties": {}
}What a watched publisher shows now, as Minos last observed it: RSK (Rejestr Systemów Kodowania) resources and files, BAW NFZ orders and their attachments, or NFZ dictionaries and notices, with versions, publication dates and observation times. Compare with get_service_info for the versions Minos serves.
| Argument | Type | Description |
|---|---|---|
| source* | string | rsk: RSK resources; baw: NFZ orders; nfz: NFZ dictionaries and notices. |
{
"type": "object",
"required": [
"source"
],
"properties": {
"source": {
"enum": [
"rsk",
"baw",
"nfz"
],
"type": "string",
"description": "rsk: RSK resources; baw: NFZ orders; nfz: NFZ dictionaries and notices."
}
}
}Run the Minos Gruper (JGP SZP, supported rule subset) on one anonymised hospital stay: candidate groups with status and reasons, the ranking, base and final points with tariff modifiers when bound, the preparation (procedure outcomes, ward-adjusted days, products), underivable groups and limitations. service_date defaults to the discharge day and reporting_month to its month; detail="trace" adds the full routing trace. Send clinical facts only (age, dates, codes, ward codes), never names, PESEL or addresses; nothing is stored.
| Argument | Type | Description |
|---|---|---|
| case* | object | The anonymised stay; get_case_dictionaries lists accepted values. |
| detail | string | trace adds the full routing trace. |
| service_date | any | Day of care for the catalog, YYYY-MM-DD. Default the discharge day. |
| reporting_month | any | Reporting month, YYYY-MM-DD (day ignored). Default the service month. |
| declared_modifiers | array | Tariff modifier symbols the provider declares; unapplied ones are listed. |
{
"type": "object",
"required": [
"case"
],
"properties": {
"case": {
"type": "object",
"required": [
"admitted_on",
"discharged_on",
"hospitalization_type",
"principal_diagnosis",
"stays"
],
"properties": {
"stays": {
"type": "array",
"items": {
"type": "object",
"required": [
"identifier",
"department",
"admitted_on",
"discharged_on"
],
"properties": {
"department": {
"type": "string",
"maxLength": 4,
"minLength": 4
},
"identifier": {
"type": "string",
"maxLength": 32,
"minLength": 1
},
"admitted_on": {
"type": "string",
"format": "date"
},
"service_code": {
"anyOf": [
{
"type": "string",
"maxLength": 16,
"minLength": 1
},
{
"type": "null"
}
],
"default": null
},
"discharged_on": {
"type": "string",
"format": "date"
}
},
"additionalProperties": false
},
"maxItems": 100,
"minItems": 1
},
"birth_date": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"default": null
},
"procedures": {
"type": "array",
"items": {
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"maxLength": 16,
"minLength": 1
},
"stay_id": {
"anyOf": [
{
"type": "string",
"maxLength": 32,
"minLength": 1
},
{
"type": "null"
}
],
"default": null
},
"performed_on": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"default": null
}
},
"additionalProperties": false
},
"default": [],
"maxItems": 1000
},
"admitted_on": {
"type": "string",
"format": "date"
},
"discharged_on": {
"type": "string",
"format": "date"
},
"discharge_mode": {
"anyOf": [
{
"type": "integer",
"maximum": 99,
"minimum": 1
},
{
"type": "null"
}
],
"default": null
},
"product_reporting": {
"enum": [
"unknown",
"complete"
],
"type": "string"
},
"age_completed_years": {
"anyOf": [
{
"type": "integer",
"maximum": 200,
"minimum": 0
},
{
"type": "null"
}
],
"default": null
},
"principal_diagnosis": {
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"maxLength": 16,
"minLength": 1
},
"stay_id": {
"anyOf": [
{
"type": "string",
"maxLength": 32,
"minLength": 1
},
{
"type": "null"
}
],
"default": null
},
"hospitalization_level": {
"type": "boolean",
"default": false
}
},
"additionalProperties": false
},
"secondary_diagnoses": {
"type": "array",
"items": {
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"maxLength": 16,
"minLength": 1
},
"stay_id": {
"anyOf": [
{
"type": "string",
"maxLength": 32,
"minLength": 1
},
{
"type": "null"
}
],
"default": null
},
"hospitalization_level": {
"type": "boolean",
"default": false
}
},
"additionalProperties": false
},
"default": [],
"maxItems": 100
},
"settlement_products": {
"type": "array",
"items": {
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"maxLength": 16,
"minLength": 1
},
"ended_on": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"default": null
},
"started_on": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"default": null
}
},
"additionalProperties": false
},
"default": [],
"maxItems": 1000
},
"hospitalization_type": {
"enum": [
"hospitalization",
"planned",
"one_day"
],
"type": "string"
}
},
"description": "The anonymised stay; get_case_dictionaries lists accepted values.",
"additionalProperties": false
},
"detail": {
"enum": [
"summary",
"trace"
],
"type": "string",
"default": "summary",
"description": "trace adds the full routing trace."
},
"service_date": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"default": null,
"description": "Day of care for the catalog, YYYY-MM-DD. Default the discharge day."
},
"reporting_month": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"default": null,
"description": "Reporting month, YYYY-MM-DD (day ignored). Default the service month."
},
"declared_modifiers": {
"type": "array",
"items": {
"type": "string"
},
"default": [],
"maxItems": 64,
"description": "Tariff modifier symbols the provider declares; unapplied ones are listed."
}
}
}WHO ICD-10/ICD-11 mapping table rows for one code, verbatim: to_icd11 reads both 10-to-11 tables for a Polish ICD-10 code, to_icd10 the 11-to-10 table for an ICD-11 code. Rows give the WHO table, source row, codes, titles and the ICD-11 URI; WHO states no match type. The tables' ICD-10 side is WHO ICD-10 2019, not the Polish 2008 edition, and ICD-11 is not in force in Poland.
| Argument | Type | Description |
|---|---|---|
| code* | any | An ICD-10 PL code for to_icd11, an ICD-11 code for to_icd10. |
| direction* | string | Which WHO tables to read. |
{
"type": "object",
"$defs": {
"Code": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9.\\-]{0,15}$"
}
},
"required": [
"code",
"direction"
],
"properties": {
"code": {
"$ref": "#/$defs/Code",
"description": "An ICD-10 PL code for to_icd11, an ICD-11 code for to_icd10."
},
"direction": {
"enum": [
"to_icd11",
"to_icd10"
],
"type": "string",
"description": "Which WHO tables to read."
}
}
}Search Polish medical codes by code or Polish words (diacritics optional), like the minoshealth.pl search: ICD-10 PL diagnoses, ICD-9 PL procedures, JGP groups and, on request, pre-released ICD-11 PL. service_date (default today in Poland) picks the release in force; JGP groups are always searched in today's catalog. Each hit has its code, title, path and the number of JGP groups listing it.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Hits per dictionary. |
| query* | string | A code or Polish words, e.g. J18.9 or zapalenie płuc. |
| systems | array | Dictionaries to search; add icd11-pl only when asked. |
| service_date | any | Day of care, YYYY-MM-DD; picks the release in force. Default today in Poland. |
{
"type": "object",
"$defs": {
"SearchSystem": {
"enum": [
"icd10-pl",
"icd9-pl",
"icd11-pl",
"jgp"
],
"type": "string"
}
},
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"default": 10,
"maximum": 20,
"minimum": 1,
"description": "Hits per dictionary."
},
"query": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "A code or Polish words, e.g. J18.9 or zapalenie płuc."
},
"systems": {
"type": "array",
"items": {
"$ref": "#/$defs/SearchSystem"
},
"default": [
"icd10-pl",
"icd9-pl",
"jgp"
],
"maxItems": 4,
"minItems": 1,
"description": "Dictionaries to search; add icd11-pl only when asked."
},
"service_date": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"default": null,
"description": "Day of care, YYYY-MM-DD; picks the release in force. Default today in Poland."
}
}
}