Minos Health
Polish ICD-10, ICD-9 PL, ICD-11 PL codes and NFZ JGP hospital grouping from official sources.
사용해야 할까요
품질 및 안전성
발견 사항 (2)
- LOWbrowse_codes에서
- LOWbrowse_jgp_catalog에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"mcp": {
"url": "https://minoshealth.pl/mcp"
}
}
}원격 엔드포인트
https://minoshealth.pl/mcpstreamable-http할 수 있는 일
도구 목록
도구 (12)
🟢get_service_info
Get the releases Minos serves: ICD-10 PL, ICD-9 PL and ICD-11 PL versions, validity and licences, JGP grouping availability and knowledge horizon, and the disclaimer. Call it first to learn which service dates are covered; use get_source_status to see what publishers released since.
입력 스키마
{
"type": "object",
"properties": {}
}출력 스키마
{
"type": "object",
"properties": {
"notice": {
"type": "string"
},
"dataset_id": {
"type": "string"
},
"releases": {
"items": {
"$ref": "#/$defs/Json"
},
"type": "array"
},
"grouping": {
"$ref": "#/$defs/Json"
},
"tools": {
"items": {
"type": "string"
},
"type": "array"
},
"documentation": {
"type": "string"
}
},
"required": [
"notice",
"dataset_id",
"releases",
"grouping",
"tools",
"documentation"
],
"$defs": {
"Json": {
"additionalProperties": true,
"type": "object"
}
},
"additionalProperties": true
}🟢search_codes(query, systems, service_date, limit)
Search ICD-10 PL diagnoses, ICD-9 PL procedures, JGP groups and, when asked, pre-released ICD-11 PL by code or Polish words (diacritics optional). Each hit has its code, title, path and JGP group count; JGP groups are always searched in today's catalog. Open a hit with get_code or get_jgp_group; walk a hierarchy with browse_codes.
입력 스키마
{
"type": "object",
"properties": {
"query": {
"description": "A code or Polish words, e.g. J18.9 or zapalenie płuc.",
"maxLength": 120,
"minLength": 1,
"type": "string"
},
"systems": {
"default": [
"icd10-pl",
"icd9-pl",
"jgp"
],
"description": "Dictionaries to search; add icd11-pl only when asked.",
"items": {
"$ref": "#/$defs/SearchSystem"
},
"maxItems": 4,
"minItems": 1,
"type": "array"
},
"service_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Day of care, YYYY-MM-DD; picks the release in force. Default today in Poland."
},
"limit": {
"default": 10,
"description": "Hits per dictionary.",
"maximum": 20,
"minimum": 1,
"type": "integer"
}
},
"required": [
"query"
],
"$defs": {
"SearchSystem": {
"enum": [
"icd10-pl",
"icd9-pl",
"icd11-pl",
"jgp"
],
"type": "string"
}
}
}출력 스키마
{
"type": "object",
"properties": {
"notice": {
"type": "string"
},
"query": {
"type": "string"
},
"systems": {
"items": {
"$ref": "#/$defs/SystemHits"
},
"type": "array"
}
},
"required": [
"notice",
"query",
"systems"
],
"$defs": {
"Json": {
"additionalProperties": true,
"type": "object"
},
"SystemHits": {
"additionalProperties": true,
"properties": {
"system": {
"type": "string"
},
"status": {
"type": "string"
},
"release_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"service_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"results": {
"default": [],
"items": {
"$ref": "#/$defs/Json"
},
"type": "array"
},
"truncated": {
"default": false,
"type": "boolean"
}
},
"required": [
"system",
"status"
],
"type": "object"
}
},
"additionalProperties": true
}🟢get_code(system, code, service_date)
Get one ICD-10 PL, ICD-9 PL or ICD-11 PL code as its page shows it: title, hierarchy, children, notes, attributes, ICD-9 rank, WHO map rows and, for ICD-10 and ICD-9, the JGP groups whose attachment 9 lists name it on service_date. Find the code with search_codes first; open a listed group with get_jgp_group.
입력 스키마
{
"type": "object",
"properties": {
"system": {
"$ref": "#/$defs/System",
"description": "Classification of the code."
},
"code": {
"$ref": "#/$defs/Code",
"description": "The code as printed, e.g. J18.9, 53.03 or BA00."
},
"service_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Day of care, YYYY-MM-DD; picks the release in force. Default today in Poland."
}
},
"required": [
"system",
"code"
],
"$defs": {
"Code": {
"pattern": "^[A-Za-z0-9][A-Za-z0-9.\\-]{0,15}$",
"type": "string"
},
"System": {
"enum": [
"icd10-pl",
"icd9-pl",
"icd11-pl"
],
"type": "string"
}
}
}출력 스키마
{
"type": "object",
"properties": {
"notice": {
"type": "string"
},
"system": {
"type": "string"
},
"code": {
"type": "string"
},
"release": {
"$ref": "#/$defs/Json"
},
"title": {
"type": "string"
},
"path": {
"items": {
"$ref": "#/$defs/Json"
},
"type": "array"
},
"children": {
"items": {
"$ref": "#/$defs/Json"
},
"type": "array"
},
"children_truncated": {
"type": "boolean"
},
"notes": {
"$ref": "#/$defs/Json"
},
"attributes": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"procedure_rank": {
"anyOf": [
{
"$ref": "#/$defs/Json"
},
{
"type": "null"
}
],
"default": null
},
"who_map_rows": {
"default": [],
"items": {
"$ref": "#/$defs/Json"
},
"type": "array"
},
"jgp_lists": {
"anyOf": [
{
"$ref": "#/$defs/Json"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"notice",
"system",
"code",
"release",
"title",
"path",
"children",
"children_truncated",
"notes",
"attributes"
],
"$defs": {
"Json": {
"additionalProperties": true,
"type": "object"
}
},
"additionalProperties": true
}🟢browse_codes(system, parent, node)
List one level of ICD-10 PL, ICD-9 PL or ICD-11 PL: the chapters when parent and node are omitted, else the children of parent or of a node id from an earlier listing (ICD-11 blocks have a node id, no code). Levels stop at 400 entries with truncated=true. Use search_codes for words, get_code for one code's details.
입력 스키마
{
"type": "object",
"properties": {
"system": {
"$ref": "#/$defs/System",
"description": "Classification of the code."
},
"parent": {
"anyOf": [
{
"$ref": "#/$defs/Code"
},
{
"type": "null"
}
],
"default": null,
"description": "Code whose children to list."
},
"node": {
"anyOf": [
{
"maximum": 10000000,
"minimum": 1,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Node id from an earlier listing, for ICD-11 blocks without a code."
}
},
"required": [
"system"
],
"$defs": {
"Code": {
"pattern": "^[A-Za-z0-9][A-Za-z0-9.\\-]{0,15}$",
"type": "string"
},
"System": {
"enum": [
"icd10-pl",
"icd9-pl",
"icd11-pl"
],
"type": "string"
}
}
}출력 스키마
{
"type": "object",
"properties": {
"notice": {
"type": "string"
},
"system": {
"type": "string"
},
"release_id": {
"type": "string"
},
"parent": {
"anyOf": [
{
"$ref": "#/$defs/Json"
},
{
"type": "null"
}
]
},
"children": {
"items": {
"$ref": "#/$defs/Json"
},
"type": "array"
},
"truncated": {
"type": "boolean"
}
},
"required": [
"notice",
"system",
"release_id",
"parent",
"children",
"truncated"
],
"$defs": {
"Json": {
"additionalProperties": true,
"type": "object"
}
},
"additionalProperties": true
}🟢map_icd10_icd11(code, direction)
Read the WHO ICD-10/ICD-11 mapping rows for one code, verbatim: to_icd11 for a Polish ICD-10 code, to_icd10 for an ICD-11 code. WHO states no match type, its ICD-10 side is the 2019 edition, not Polish 2008, and ICD-11 is not in force in Poland: treat a row as a lead and confirm the target with get_code.
입력 스키마
{
"type": "object",
"properties": {
"code": {
"$ref": "#/$defs/Code",
"description": "An ICD-10 PL code for to_icd11, an ICD-11 code for to_icd10."
},
"direction": {
"description": "Which WHO tables to read.",
"enum": [
"to_icd11",
"to_icd10"
],
"type": "string"
}
},
"required": [
"code",
"direction"
],
"$defs": {
"Code": {
"pattern": "^[A-Za-z0-9][A-Za-z0-9.\\-]{0,15}$",
"type": "string"
}
}
}출력 스키마
{
"type": "object",
"properties": {
"notice": {
"type": "string"
},
"code": {
"type": "string"
},
"direction": {
"type": "string"
},
"map_release_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"rows": {
"items": {
"$ref": "#/$defs/Json"
},
"type": "array"
}
},
"required": [
"notice",
"code",
"direction",
"map_release_id",
"rows"
],
"$defs": {
"Json": {
"additionalProperties": true,
"type": "object"
}
},
"additionalProperties": true
}🟢get_jgp_group(code, service_date)
Get one JGP group from the catalog in force on service_date: name, product code, base points per column, scopes, the act and release, the knowledge horizon and its grouping conditions with the directional lists they name. Pass a named list's id and catalog to get_jgp_list for its codes; use compare_jgp_group for changes between dates.
입력 스키마
{
"type": "object",
"properties": {
"code": {
"$ref": "#/$defs/GroupCode",
"description": "JGP group code, e.g. F72."
},
"service_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Day of care, YYYY-MM-DD; picks the release in force. Default today in Poland."
}
},
"required": [
"code"
],
"$defs": {
"GroupCode": {
"pattern": "^[A-Z][A-Z0-9]{1,5}$",
"type": "string"
}
}
}출력 스키마
{
"type": "object",
"properties": {
"notice": {
"type": "string"
}
},
"required": [
"notice"
],
"additionalProperties": true,
"description": "A JGP or grouping answer of the HTTP API, with the notice."
}🟢get_jgp_list(list_id, catalog, page, service_date)
List the codes of one directional diagnosis or procedure list from JGP attachment 9, one page at a time. Take list_id from conditions.lists[].id and catalog from group.catalog of a get_jgp_group answer, with the same service_date. For the groups that name a given code, use get_code instead.
입력 스키마
{
"type": "object",
"properties": {
"list_id": {
"description": "List id that get_jgp_group names.",
"maximum": 100000,
"minimum": 1,
"type": "integer"
},
"catalog": {
"$ref": "#/$defs/Catalog",
"default": "1a",
"description": "Catalog that get_jgp_group names with the list."
},
"page": {
"default": 1,
"description": "Page, from 1.",
"maximum": 20,
"minimum": 1,
"type": "integer"
},
"service_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Day of care, YYYY-MM-DD; picks the release in force. Default today in Poland."
}
},
"required": [
"list_id"
],
"$defs": {
"Catalog": {
"enum": [
"1a",
"1ae"
],
"type": "string"
}
}
}출력 스키마
{
"type": "object",
"properties": {
"notice": {
"type": "string"
}
},
"required": [
"notice"
],
"additionalProperties": true,
"description": "A JGP or grouping answer of the HTTP API, with the notice."
}🟢browse_jgp_catalog(catalog, section, service_date)
Browse the JGP catalog in force on service_date: without catalog and section, the sections of catalogs 1a and 1ae with group counts; with both, that section's groups and base points. Find a group by words with search_codes; open one with get_jgp_group.
입력 스키마
{
"type": "object",
"properties": {
"catalog": {
"anyOf": [
{
"$ref": "#/$defs/Catalog"
},
{
"type": "null"
}
],
"default": null,
"description": "Catalog of the section; omit with section for the index."
},
"section": {
"anyOf": [
{
"maximum": 200,
"minimum": 1,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Section number from the index."
},
"service_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Day of care, YYYY-MM-DD; picks the release in force. Default today in Poland."
}
},
"$defs": {
"Catalog": {
"enum": [
"1a",
"1ae"
],
"type": "string"
}
}
}출력 스키마
{
"type": "object",
"properties": {
"notice": {
"type": "string"
}
},
"required": [
"notice"
],
"additionalProperties": true,
"description": "A JGP or grouping answer of the HTTP API, with the notice."
}🟢compare_jgp_group(code, before_date, after_date)
Compare one JGP group between the catalogs in force on two service dates: act, release, name, base points, scopes and condition list names on each side, plus the fields that changed. Use get_jgp_group for the full conditions on one date.
입력 스키마
{
"type": "object",
"properties": {
"code": {
"$ref": "#/$defs/GroupCode",
"description": "JGP group code, e.g. F72."
},
"before_date": {
"description": "Earlier day of care, YYYY-MM-DD.",
"format": "date",
"type": "string"
},
"after_date": {
"description": "Later day of care, YYYY-MM-DD.",
"format": "date",
"type": "string"
}
},
"required": [
"code",
"before_date",
"after_date"
],
"$defs": {
"GroupCode": {
"pattern": "^[A-Z][A-Z0-9]{1,5}$",
"type": "string"
}
}
}출력 스키마
{
"type": "object",
"properties": {
"notice": {
"type": "string"
},
"code": {
"type": "string"
},
"before": {
"$ref": "#/$defs/Json"
},
"after": {
"$ref": "#/$defs/Json"
},
"changed": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"notice",
"code",
"before",
"after",
"changed"
],
"$defs": {
"Json": {
"additionalProperties": true,
"type": "object"
}
},
"additionalProperties": true
}🟢get_case_dictionaries(wards)
List the values a group_case stay needs: ward specialty codes (part VIII of a department code; hospital wards 4000-4951, or every section with wards="all") and discharge modes, each with its legal act, plus hospitalization types and product reporting values. Call it before building the case for group_case.
입력 스키마
{
"type": "object",
"properties": {
"wards": {
"default": "hospital",
"description": "hospital: ward codes 4000-4951; all: every section.",
"enum": [
"hospital",
"all"
],
"type": "string"
}
}
}출력 스키마
{
"type": "object",
"properties": {
"notice": {
"type": "string"
},
"specialties": {},
"discharge_modes": {},
"hospitalization_types": {
"items": {
"type": "string"
},
"type": "array"
},
"product_reporting": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"notice",
"specialties",
"discharge_modes",
"hospitalization_types",
"product_reporting"
],
"additionalProperties": true
}🟢group_case(case, service_date, reporting_month, declared_modifiers, detail)
Group one anonymised hospital stay with the Minos Gruper (JGP SZP, supported rule subset): candidate groups with reasons, ranking, base and final points, preparation and limitations. Build case from get_case_dictionaries and codes confirmed with get_code. Send clinical facts only, never names, PESEL or addresses; nothing is stored. Reference, not an NFZ decision.
입력 스키마
{
"type": "object",
"properties": {
"case": {
"additionalProperties": false,
"description": "The anonymised stay; get_case_dictionaries lists accepted values.",
"properties": {
"admitted_on": {
"format": "date",
"type": "string"
},
"discharged_on": {
"format": "date",
"type": "string"
},
"hospitalization_type": {
"enum": [
"hospitalization",
"planned",
"one_day"
],
"type": "string"
},
"principal_diagnosis": {
"additionalProperties": false,
"properties": {
"code": {
"maxLength": 16,
"minLength": 1,
"type": "string"
},
"stay_id": {
"anyOf": [
{
"maxLength": 32,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"hospitalization_level": {
"default": false,
"type": "boolean"
}
},
"required": [
"code"
],
"type": "object"
},
"stays": {
"items": {
"additionalProperties": false,
"properties": {
"identifier": {
"maxLength": 32,
"minLength": 1,
"type": "string"
},
"department": {
"maxLength": 4,
"minLength": 4,
"type": "string"
},
"admitted_on": {
"format": "date",
"type": "string"
},
"discharged_on": {
"format": "date",
"type": "string"
},
"service_code": {
"anyOf": [
{
"maxLength": 16,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"identifier",
"department",
"admitted_on",
"discharged_on"
],
"type": "object"
},
"maxItems": 100,
"minItems": 1,
"type": "array"
},
"secondary_diagnoses": {
"default": [],
"items": {
"additionalProperties": false,
"properties": {
"code": {
"maxLength": 16,
"minLength": 1,
"type": "string"
},
"stay_id": {
"anyOf": [
{
"maxLength": 32,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"hospitalization_level": {
"default": false,
"type": "boolean"
}
},
"required": [
"code"
],
"type": "object"
},
"maxItems": 100,
"type": "array"
},
"procedures": {
"default": [],
"items": {
"additionalProperties": false,
"properties": {
"code": {
"maxLength": 16,
"minLength": 1,
"type": "string"
},
"stay_id": {
"anyOf": [
{
"maxLength": 32,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"performed_on": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"code"
],
"type": "object"
},
"maxItems": 1000,
"type": "array"
},
"birth_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"age_completed_years": {
"anyOf": [
{
"maximum": 200,
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null
},
"discharge_mode": {
"anyOf": [
{
"maximum": 99,
"minimum": 1,
"type": "integer"
},
{
"type": "null"
}
],
"default": null
},
"settlement_products": {
"default": [],
"items": {
"additionalProperties": false,
"properties": {
"code": {
"maxLength": 16,
"minLength": 1,
"type": "string"
},
"started_on": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"ended_on": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"code"
],
"type": "object"
},
"maxItems": 1000,
"type": "array"
},
"product_reporting": {
"enum": [
"unknown",
"complete"
],
"type": "string"
}
},
"required": [
"admitted_on",
"discharged_on",
"hospitalization_type",
"principal_diagnosis",
"stays"
],
"type": "object"
},
"service_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Day of care for the catalog, YYYY-MM-DD. Default the discharge day."
},
"reporting_month": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Reporting month, YYYY-MM-DD (day ignored). Default the service month."
},
"declared_modifiers": {
"default": [],
"description": "Tariff modifier symbols the provider declares; unapplied ones are listed.",
"items": {
"type": "string"
},
"maxItems": 64,
"type": "array"
},
"detail": {
"default": "summary",
"description": "trace adds the full routing trace.",
"enum": [
"summary",
"trace"
],
"type": "string"
}
},
"required": [
"case"
]
}출력 스키마
{
"type": "object",
"properties": {
"notice": {
"type": "string"
}
},
"required": [
"notice"
],
"additionalProperties": true,
"description": "A JGP or grouping answer of the HTTP API, with the notice."
}🟢get_source_status(source)
Show what a watched publisher lists now, as Minos last observed it: RSK resources and files, BAW NFZ orders and attachments, or NFZ dictionaries and notices, with versions and dates. Reads Minos's last snapshot and never calls the publisher. Compare with get_service_info to see whether Minos serves the newest release.
입력 스키마
{
"type": "object",
"properties": {
"source": {
"description": "rsk: RSK resources; baw: NFZ orders; nfz: NFZ dictionaries and notices.",
"enum": [
"rsk",
"baw",
"nfz"
],
"type": "string"
}
},
"required": [
"source"
]
}출력 스키마
{
"type": "object",
"properties": {
"notice": {
"type": "string"
},
"source": {
"type": "string"
},
"observed_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"items": {
"items": {
"$ref": "#/$defs/Json"
},
"type": "array"
},
"truncated": {
"type": "boolean"
}
},
"required": [
"notice",
"source",
"observed_at",
"items",
"truncated"
],
"$defs": {
"Json": {
"additionalProperties": true,
"type": "object"
}
},
"additionalProperties": true
}커뮤니티
증거