Médicaments en France
French medicines (ANSM + BDPM): boxes and prices, prescription conditions, safety info, shortages.
我該用這個嗎
品質與安全性
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"medicaments-france": {
"url": "https://medicaments-france.a3e.dev/mcp"
}
}
}遠端端點
https://medicaments-france.a3e.dev/mcpstreamable-http它能做什麼
工具清單
工具(6)
🟢search_medicine(query, only_in_shortage, limit)
Search French medicines (BDPM) by name or active substance and show the ANSM shortage linked to each, plus listed shortages not linked to any medicine that match the query. Medicines in rupture or tension come first. Information only: never use this to recommend a substitute, an alternative or an equivalent medicine, a dosage change or stopping a treatment. Other medicines in the results are not alternatives.
輸入結構描述
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 2,
"maxLength": 100,
"description": "Medicine name (brand) or active substance, e.g. \"doliprane\" or \"amoxicilline\"."
},
"only_in_shortage": {
"default": false,
"description": "Keep only medicines whose current shortage status is rupture or tension.",
"type": "boolean"
},
"limit": {
"default": 10,
"type": "integer",
"minimum": 1,
"maximum": 25
}
},
"required": [
"query"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}輸出結構描述
{
"type": "object",
"properties": {
"data": {
"oneOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "results"
},
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"cis": {
"type": "string",
"pattern": "^\\d{8}$"
},
"name": {
"type": "string"
},
"form": {
"type": [
"string",
"null"
]
},
"substances": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"dosage": {
"type": [
"string",
"null"
]
}
},
"required": [
"name",
"dosage"
],
"additionalProperties": false
}
},
"is_mitm": {
"type": "boolean"
},
"shortage": {
"anyOf": [
{
"type": "object",
"properties": {
"shortage_id": {
"type": "string"
},
"name": {
"type": "string"
},
"dci": {
"type": [
"string",
"null"
]
},
"status": {
"type": "string",
"enum": [
"rupture",
"tension",
"arret_commercialisation",
"remise_a_disposition",
"autre"
]
},
"status_label_fr": {
"type": "string"
},
"scope": {
"type": "string",
"enum": [
"ville",
"hopital",
"ville_hopital",
"inconnu"
]
},
"scope_raw": {
"type": [
"string",
"null"
]
},
"expected_return": {
"type": "object",
"properties": {
"earliest": {
"anyOf": [
{
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
{
"type": "null"
}
]
},
"latest": {
"anyOf": [
{
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
{
"type": "null"
}
]
},
"precision": {
"anyOf": [
{
"type": "string",
"enum": [
"day",
"month",
"quarter",
"year"
]
},
{
"type": "null"
}
]
},
"part": {
"anyOf": [
{
"type": "string",
"enum": [
"debut",
"mi",
"fin"
]
},
{
"type": "null"
}
]
},
"raw": {
"type": [
"string",
"null"
]
},
"passed": {
"type": "boolean"
}
},
"required": [
"earliest",
"latest",
"precision",
"part",
"raw",
"passed"
],
"additionalProperties": false
},
"returned_at": {
"anyOf": [
{
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
{
"type": "null"
}
]
},
"ansm_updated_at": {
"anyOf": [
{
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
{
"type": "null"
}
]
},
"ansm_url": {
"type": "string",
"format": "uri"
},
"match_confidence": {
"type": [
"number",
"null"
]
},
"match_note": {
"type": "string",
"const": "probable match"
}
},
"required": [
"shortage_id",
"name",
"dci",
"status",
"status_label_fr",
"scope",
"scope_raw",
"expected_return",
"returned_at",
"ansm_updated_at",
"ansm_url",
"match_confidence"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"shortage_note": {
"type": "string",
"const": "No shortage linked to this medicine. Not listed does not mean available."
}
},
"required": [
"cis",
"name",
"form",
"substances",
"is_mitm",
"shortage"
],
"additionalProperties": false
}
},
"unmatched_shortages": {
"type": "array",
"items": {
"type": "object",
"properties": {
"shortage_id": {
"type": "string"
},
"name": {
"type": "string"
},
"dci": {
"type": [
"string",
"null"
]
},
"status": {
"type": "string",
"enum": [
"rupture",
"tension",
"arret_commercialisation",
"remise_a_disposition",
"autre"
]
},
"status_label_fr": {
"type": "string"
},
"scope": {
"type": "string",
"enum": [
"ville",
"hopital",
"ville_hopital",
"inconnu"
]
},
"scope_raw": {
"type": [
"string",
"null"
]
},
"expected_return": {
"type": "object",
"properties": {
"earliest": {
"anyOf": [
{
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
{
"type": "null"
}
]
},
"latest": {
"anyOf": [
{
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
{
"type": "null"
}
]
},
"precision": {
"anyOf": [
{
"type": "string",
"enum": [
"day",
"month",
"quarter",
"year"
]
},
{
"type": "null"
}
]
},
"part": {
"anyOf": [
{
"type": "string",
"enum": [
"debut",
"mi",
"fin"
]
},
{
"type": "null"
}
]
},
"raw": {
"type": [
"string",
"null"
]
},
"passed": {
"type": "boolean"
}
},
"required": [
"earliest",
"latest",
"precision",
"part",
"raw",
"passed"
],
"additionalProperties": false
},
"returned_at": {
"anyOf": [
{
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
{
"type": "null"
}
]
},
"ansm_updated_at": {
"anyOf": [
{
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
{
"type": "null"
}
]
},
"ansm_url": {
"type": "string",
"format": "uri"
},
"match_confidence": {
"type": [
"number",
"null"
]
},
"match_note": {
"type": "string",
"const": "probable match"
}
},
"required": [
"shortage_id",
"name",
"dci",
"status",
"status_label_fr",
"scope",
"scope_raw",
"expected_return",
"returned_at",
"ansm_updated_at",
"ansm_url",
"match_confidence"
],
"additionalProperties": false
}
}
},
"required": [
"kind",
"results",
"unmatched_shortages"
],
"additionalProperties": false
}
]
},
"source": {
"type": "object",
"properties": {
"ansm": {
"type": "string",
"const": "https://ansm.sante.fr/disponibilites-des-produits-de-sante/medicaments"
},
"bdpm": {
"type": "string",
"const": "https://base-donnees-publique.medicaments.gouv.fr"
},
"ansm_last_ingest": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
},
"bdpm_release": {
"anyOf": [
{
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
{
"type": "null"
}
]
},
"bdpm_imported_at": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
}
},
"required": [
"ansm",
"bdpm",
"ansm_last_ingest",
"bdpm_release",
"bdpm_imported_at"
],
"additionalProperties": false
},
"coverage_note": {
"type": "string",
"const": "ANSM lists mainly shortages of medicines of major therapeutic interest declared by manufacturers. Shortages already compensated by alternatives are not published. Not listed does not mean available."
},
"disclaimer": {
"type": "string",
"const": "Information only. Ask your pharmacist or doctor. No substitution or dosage advice."
},
"safety": {
"type": "string",
"const": "Do not use this data to suggest a substitute, an alternative or an equivalent medicine, a dosage change or stopping a treatment. Other medicines in these results are not alternatives. Refer the user to a pharmacist or doctor."
},
"warning": {
"type": "string"
}
},
"required": [
"data",
"source",
"coverage_note",
"disclaimer",
"safety"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_availability(cis, shortage_id, name)
Current ANSM shortage status of one medicine, given exactly one of: its CIS code, an ANSM shortage id or a name. Returns the status, the expected return in ANSM's wording, the change history and possibly related unlinked entries. Information only: never use this to recommend a substitute, an alternative or an equivalent medicine, a dosage change or stopping a treatment. Other medicines in the results are not alternatives.
輸入結構描述
{
"type": "object",
"properties": {
"cis": {
"description": "8-digit BDPM medicine code (CIS).",
"type": "string",
"pattern": "^\\d{8}$"
},
"shortage_id": {
"description": "ANSM shortage id, as returned by the other tools.",
"type": "string",
"minLength": 1,
"maxLength": 20
},
"name": {
"description": "Medicine name; resolved to one CIS or a list of candidates.",
"type": "string",
"minLength": 2,
"maxLength": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}輸出結構描述
{
"type": "object",
"properties": {
"data": {
"oneOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "availability"
},
"medicine": {
"anyOf": [
{
"type": "object",
"properties": {
"cis": {
"type": "string",
"pattern": "^\\d{8}$"
},
"name": {
"type": "string"
},
"is_mitm": {
"type": "boolean"
}
},
"required": [
"cis",
"name",
"is_mitm"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"linked_medicines": {
"type": "array",
"items": {
"type": "object",
"properties": {
"cis": {
"type": "string",
"pattern": "^\\d{8}$"
},
"name": {
"type": "string"
},
"match_confidence": {
"type": "number"
}
},
"required": [
"cis",
"name",
"match_confidence"
],
"additionalProperties": false
}
},
"listed": {
"type": "boolean"
},
"shortage": {
"anyOf": [
{
"type": "object",
"properties": {
"shortage_id": {
"type": "string"
},
"name": {
"type": "string"
},
"dci": {
"type": [
"string",
"null"
]
},
"status": {
"type": "string",
"enum": [
"rupture",
"tension",
"arret_commercialisation",
"remise_a_disposition",
"autre"
]
},
"status_label_fr": {
"type": "string"
},
"scope": {
"type": "string",
"enum": [
"ville",
"hopital",
"ville_hopital",
"inconnu"
]
},
"scope_raw": {
"type": [
"string",
"null"
]
},
"expected_return": {
"type": "object",
"properties": {
"earliest": {
"anyOf": [
{
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
{
"type": "null"
}
]
},
"latest": {
"anyOf": [
{
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
{
"type": "null"
}
]
},
"precision": {
"anyOf": [
{
"type": "string",
"enum": [
"day",
"month",
"quarter",
"year"
]
},
{
"type": "null"
}
]
},
"part": {
"anyOf": [
{
"type": "string",
"enum": [
"debut",
"mi",
"fin"
]
},
{
"type": "null"
}
]
},
"raw": {
"type": [
"string",
"null"
]
},
"passed": {
"type": "boolean"
}
},
"required": [
"earliest",
"latest",
"precision",
"part",
"raw",
"passed"
],
"additionalProperties": false
},
"returned_at": {
"anyOf": [
{
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
{
"type": "null"
}
]
},
"ansm_updated_at": {
"anyOf": [
{
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
{
"type": "null"
}
]
},
"ansm_url": {
"type": "string",
"format": "uri"
},
"match_confidence": {
"type": [
"number",
"null"
]
},
"match_note": {
"type": "string",
"const": "probable match"
}
},
"required": [
"shortage_id",
"name",
"dci",
"status",
"status_label_fr",
"scope",
"scope_raw",
"expected_return",
"returned_at",
"ansm_updated_at",
"ansm_url",
"match_confidence"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"first_seen_at": {
"anyOf": [
{
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
{
"type": "null"
}
]
},
"days_in_current_status": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"history": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"date": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"change": {
"type": "string",
"const": "new"
},
"status": {
"anyOf": [
{
"type": "string",
"enum": [
"rupture",
"tension",
"arret_commercialisation",
"remise_a_disposition",
"autre"
]
},
{
"type": "null"
}
]
}
},
"required": [
"date",
"change",
"status"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"date": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"change": {
"type": "string",
"const": "status_change"
},
"from": {
"anyOf": [
{
"type": "string",
"enum": [
"rupture",
"tension",
"arret_commercialisation",
"remise_a_disposition",
"autre"
]
},
{
"type": "null"
}
]
},
"to": {
"anyOf": [
{
"type": "string",
"enum": [
"rupture",
"tension",
"arret_commercialisation",
"remise_a_disposition",
"autre"
]
},
{
"type": "null"
}
]
}
},
"required": [
"date",
"change",
"from",
"to"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"date": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"change": {
"type": "string",
"const": "return_date_change"
},
"from_raw": {
"type": [
"string",
"null"
]
},
"to_raw": {
"type": [
"string",
"null"
]
}
},
"required": [
"date",
"change",
"from_raw",
"to_raw"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"date": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"change": {
"type": "string",
"const": "delisted"
}
},
"required": [
"date",
"change"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"date": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"change": {
"type": "string",
"const": "relisted"
}
},
"required": [
"date",
"change"
],
"additionalProperties": false
}
]
}
},
"other_shortage_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"possibly_related_shortages": {
"type": "array",
"items": {
"type": "object",
"properties": {
"shortage_id": {
"type": "string"
},
"name": {
"type": "string"
},
"dci": {
"type": [
"string",
"null"
]
},
"status": {
"type": "string",
"enum": [
"rupture",
"tension",
"arret_commercialisation",
"remise_a_disposition",
"autre"
]
},
"status_label_fr": {
"type": "string"
},
"scope": {
"type": "string",
"enum": [
"ville",
"hopital",
"ville_hopital",
"inconnu"
]
},
"scope_raw": {
"type": [
"string",
"null"
]
},
"expected_return": {
"type": "object",
"properties": {
"earliest": {
"anyOf": [
{
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
{
"type": "null"
}
]
},
"latest": {
"anyOf": [
{
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
{
"type": "null"
}
]
},
"precision": {
"anyOf": [
{
"type": "string",
"enum": [
"day",
"month",
"quarter",
"year"
]
},
{
"type": "null"
}
]
},
"part": {
"anyOf": [
{
"type": "string",
"enum": [
"debut",
"mi",
"fin"
]
},
{
"type": "null"
}
]
},
"raw": {
"type": [
"string",
"null"
]
},
"passed": {
"type": "boolean"
}
},
"required": [
"earliest",
"latest",
"precision",
"part",
"raw",
"passed"
],
"additionalProperties": false
},
"returned_at": {
"anyOf": [
{
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
{
"type": "null"
}
]
},
"ansm_updated_at": {
"anyOf": [
{
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
{
"type": "null"
}
]
},
"ansm_url": {
"type": "string",
"format": "uri"
},
"match_confidence": {
"type": [
"number",
"null"
]
},
"match_note": {
"type": "string",
"const": "probable match"
}
},
"required": [
"shortage_id",
"name",
"dci",
"status",
"status_label_fr",
"scope",
"scope_raw",
"expected_return",
"returned_at",
"ansm_updated_at",
"ansm_url",
"match_confidence"
],
"additionalProperties": false
}
}
},
"required": [
"kind",
"medicine",
"linked_medicines",
"listed",
"shortage",
"first_seen_at",
"days_in_current_status",
"history",
"other_shortage_ids",
"possibly_related_shortages"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "candidates"
},
"candidates": {
"type": "array",
"items": {
"type": "object",
"properties": {
"cis": {
"type": "string",
"pattern": "^\\d{8}$"
},
"name": {
"type": "string"
}
},
"required": [
"cis",
"name"
],
"additionalProperties": false
}
}
},
"required": [
"kind",
"candidates"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "not_found"
},
"possibly_related_shortages": {
"type": "array",
"items": {
"type": "object",
"properties": {
"shortage_id": {
"type": "string"
},
"name": {
"type": "string"
},
"dci": {
"type": [
"string",
"null"
]
},
"status": {
"type": "string",
"enum": [
"rupture",
"tension",
"arret_commercialisation",
"remise_a_disposition",
"autre"
]
},
"status_label_fr": {
"type": "string"
},
"scope": {
"type": "string",
"enum": [
"ville",
"hopital",
"ville_hopital",
"inconnu"
]
},
"scope_raw": {
"type": [
"string",
"null"
]
},
"expected_return": {
"type": "object",
"properties": {
"earliest": {
"anyOf": [
{
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
{
"type": "null"
}
]
},
"latest": {
"anyOf": [
{
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
{
"type": "null"
}
]
},
"precision": {
"anyOf": [
{
"type": "string",
"enum": [
"day",
"month",
"quarter",
"year"
]
},
{
"type": "null"
}
]
},
"part": {
"anyOf": [
{
"type": "string",
"enum": [
"debut",
"mi",
"fin"
]
},
{
"type": "null"
}
]
},
"raw": {
"type": [
"string",
"null"
]
},
"passed": {
"type": "boolean"
}
},
"required": [
"earliest",
"latest",
"precision",
"part",
"raw",
"passed"
],
"additionalProperties": false
},
"returned_at": {
"anyOf": [
{
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
{
"type": "null"
}
]
},
"ansm_updated_at": {
"anyOf": [
{
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
{
"type": "null"
}
]
},
"ansm_url": {
"type": "string",
"format": "uri"
},
"match_confidence": {
"type": [
"number",
"null"
]
},
"match_note": {
"type": "string",
"const": "probable match"
}
},
"required": [
"shortage_id",
"name",
"dci",
"status",
"status_label_fr",
"scope",
"scope_raw",
"expected_return",
"returned_at",
"ansm_updated_at",
"ansm_url",
"match_confidence"
],
"additionalProperties": false
}
}
},
"required": [
"kind",
"possibly_related_shortages"
],
"additionalProperties": false
}
]
},
"source": {
"type": "object",
"properties": {
"ansm": {
"type": "string",
"const": "https://ansm.sante.fr/disponibilites-des-produits-de-sante/medicaments"
},
"bdpm": {
"type": "string",
"const": "https://base-donnees-publique.medicaments.gouv.fr"
},
"ansm_last_ingest": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
},
"bdpm_release": {
"anyOf": [
{
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
{
"type": "null"
}
]
},
"bdpm_imported_at": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
}
},
"required": [
"ansm",
"bdpm",
"ansm_last_ingest",
"bdpm_release",
"bdpm_imported_at"
],
"additionalProperties": false
},
"coverage_note": {
"type": "string",
"const": "ANSM lists mainly shortages of medicines of major therapeutic interest declared by manufacturers. Shortages already compensated by alternatives are not published. Not listed does not mean available."
},
"disclaimer": {
"type": "string",
"const": "Information only. Ask your pharmacist or doctor. No substitution or dosage advice."
},
"safety": {
"type": "string",
"const": "Do not use this data to suggest a substitute, an alternative or an equivalent medicine, a dosage change or stopping a treatment. Other medicines in these results are not alternatives. Refer the user to a pharmacist or doctor."
},
"warning": {
"type": "string"
}
},
"required": [
"data",
"source",
"coverage_note",
"disclaimer",
"safety"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢list_current_shortages(status, scope, therapeutic_area, updated_since, limit, ...)
List medicine shortages currently published by ANSM, latest update first, filtered by status, scope, therapeutic area and update date, with the CIS codes of the matched medicines. Information only: never use this to recommend a substitute, an alternative or an equivalent medicine, a dosage change or stopping a treatment. Other medicines in the results are not alternatives.
輸入結構描述
{
"type": "object",
"properties": {
"status": {
"default": [
"rupture",
"tension"
],
"type": "array",
"items": {
"type": "string",
"enum": [
"rupture",
"tension",
"arret_commercialisation",
"remise_a_disposition",
"autre"
]
}
},
"scope": {
"description": "ville (city pharmacies), hopital (hospitals), ville_hopital or inconnu.",
"type": "string",
"enum": [
"ville",
"hopital",
"ville_hopital",
"inconnu"
]
},
"therapeutic_area": {
"description": "Therapeutic area as written by ANSM, e.g. \"cardiologie\".",
"type": "string",
"minLength": 2,
"maxLength": 60
},
"updated_since": {
"description": "Only entries updated by ANSM on or after this date (YYYY-MM-DD).",
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"limit": {
"default": 25,
"type": "integer",
"minimum": 1,
"maximum": 50
},
"offset": {
"default": 0,
"type": "integer",
"minimum": 0,
"maximum": 10000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}輸出結構描述
{
"type": "object",
"properties": {
"data": {
"oneOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "list"
},
"total": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"shortage_id": {
"type": "string"
},
"name": {
"type": "string"
},
"dci": {
"type": [
"string",
"null"
]
},
"status": {
"type": "string",
"enum": [
"rupture",
"tension",
"arret_commercialisation",
"remise_a_disposition",
"autre"
]
},
"status_label_fr": {
"type": "string"
},
"scope": {
"type": "string",
"enum": [
"ville",
"hopital",
"ville_hopital",
"inconnu"
]
},
"scope_raw": {
"type": [
"string",
"null"
]
},
"expected_return": {
"type": "object",
"properties": {
"earliest": {
"anyOf": [
{
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
{
"type": "null"
}
]
},
"latest": {
"anyOf": [
{
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
{
"type": "null"
}
]
},
"precision": {
"anyOf": [
{
"type": "string",
"enum": [
"day",
"month",
"quarter",
"year"
]
},
{
"type": "null"
}
]
},
"part": {
"anyOf": [
{
"type": "string",
"enum": [
"debut",
"mi",
"fin"
]
},
{
"type": "null"
}
]
},
"raw": {
"type": [
"string",
"null"
]
},
"passed": {
"type": "boolean"
}
},
"required": [
"earliest",
"latest",
"precision",
"part",
"raw",
"passed"
],
"additionalProperties": false
},
"returned_at": {
"anyOf": [
{
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
{
"type": "null"
}
]
},
"ansm_updated_at": {
"anyOf": [
{
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
{
"type": "null"
}
]
},
"ansm_url": {
"type": "string",
"format": "uri"
},
"match_confidence": {
"type": [
"number",
"null"
]
},
"match_note": {
"type": "string",
"const": "probable match"
},
"cis": {
"type": "array",
"items": {
"type": "string",
"pattern": "^\\d{8}$"
}
}
},
"required": [
"shortage_id",
"name",
"dci",
"status",
"status_label_fr",
"scope",
"scope_raw",
"expected_return",
"returned_at",
"ansm_updated_at",
"ansm_url",
"match_confidence",
"cis"
],
"additionalProperties": false
}
},
"next_offset": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
}
},
"required": [
"kind",
"total",
"items",
"next_offset"
],
"additionalProperties": false
}
]
},
"source": {
"type": "object",
"properties": {
"ansm": {
"type": "string",
"const": "https://ansm.sante.fr/disponibilites-des-produits-de-sante/medicaments"
},
"bdpm": {
"type": "string",
"const": "https://base-donnees-publique.medicaments.gouv.fr"
},
"ansm_last_ingest": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
},
"bdpm_release": {
"anyOf": [
{
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
{
"type": "null"
}
]
},
"bdpm_imported_at": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
}
},
"required": [
"ansm",
"bdpm",
"ansm_last_ingest",
"bdpm_release",
"bdpm_imported_at"
],
"additionalProperties": false
},
"coverage_note": {
"type": "string",
"const": "ANSM lists mainly shortages of medicines of major therapeutic interest declared by manufacturers. Shortages already compensated by alternatives are not published. Not listed does not mean available."
},
"disclaimer": {
"type": "string",
"const": "Information only. Ask your pharmacist or doctor. No substitution or dosage advice."
},
"safety": {
"type": "string",
"const": "Do not use this data to suggest a substitute, an alternative or an equivalent medicine, a dosage change or stopping a treatment. Other medicines in these results are not alternatives. Refer the user to a pharmacist or doctor."
},
"warning": {
"type": "string"
}
},
"required": [
"data",
"source",
"coverage_note",
"disclaimer",
"safety"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢recent_changes(days, change_types, limit)
Shortage changes detected in the last days (new entries, status changes, expected-return changes, delisted and relisted entries), latest first, with counts per change type. Information only: never use this to recommend a substitute, an alternative or an equivalent medicine, a dosage change or stopping a treatment. Other medicines in the results are not alternatives.
輸入結構描述
{
"type": "object",
"properties": {
"days": {
"default": 7,
"type": "integer",
"minimum": 1,
"maximum": 90
},
"change_types": {
"default": [
"new",
"status_change",
"return_date_change",
"delisted",
"relisted"
],
"type": "array",
"items": {
"type": "string",
"enum": [
"new",
"status_change",
"return_date_change",
"delisted",
"relisted"
]
}
},
"limit": {
"default": 50,
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}輸出結構描述
{
"type": "object",
"properties": {
"data": {
"oneOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "changes"
},
"since": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"counts": {
"type": "object",
"propertyNames": {
"type": "string",
"enum": [
"new",
"status_change",
"return_date_change",
"delisted",
"relisted"
]
},
"additionalProperties": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"required": [
"new",
"status_change",
"return_date_change",
"delisted",
"relisted"
]
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"date": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"change": {
"type": "string",
"enum": [
"new",
"status_change",
"return_date_change",
"delisted",
"relisted"
]
},
"shortage_id": {
"type": "string"
},
"name": {
"type": "string"
},
"ansm_url": {
"type": "string",
"format": "uri"
},
"old_status": {
"anyOf": [
{
"type": "string",
"enum": [
"rupture",
"tension",
"arret_commercialisation",
"remise_a_disposition",
"autre"
]
},
{
"type": "null"
}
]
},
"new_status": {
"anyOf": [
{
"type": "string",
"enum": [
"rupture",
"tension",
"arret_commercialisation",
"remise_a_disposition",
"autre"
]
},
{
"type": "null"
}
]
},
"old_expected_return": {
"type": [
"string",
"null"
]
},
"new_expected_return": {
"type": [
"string",
"null"
]
}
},
"required": [
"date",
"change",
"shortage_id",
"name",
"ansm_url",
"old_status",
"new_status",
"old_expected_return",
"new_expected_return"
],
"additionalProperties": false
}
},
"note": {
"type": "string",
"const": "Dates are detection dates by this service (daily cadence), not official ANSM decision dates."
}
},
"required": [
"kind",
"since",
"counts",
"items",
"note"
],
"additionalProperties": false
}
]
},
"source": {
"type": "object",
"properties": {
"ansm": {
"type": "string",
"const": "https://ansm.sante.fr/disponibilites-des-produits-de-sante/medicaments"
},
"bdpm": {
"type": "string",
"const": "https://base-donnees-publique.medicaments.gouv.fr"
},
"ansm_last_ingest": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
},
"bdpm_release": {
"anyOf": [
{
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
{
"type": "null"
}
]
},
"bdpm_imported_at": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
}
},
"required": [
"ansm",
"bdpm",
"ansm_last_ingest",
"bdpm_release",
"bdpm_imported_at"
],
"additionalProperties": false
},
"coverage_note": {
"type": "string",
"const": "ANSM lists mainly shortages of medicines of major therapeutic interest declared by manufacturers. Shortages already compensated by alternatives are not published. Not listed does not mean available."
},
"disclaimer": {
"type": "string",
"const": "Information only. Ask your pharmacist or doctor. No substitution or dosage advice."
},
"safety": {
"type": "string",
"const": "Do not use this data to suggest a substitute, an alternative or an equivalent medicine, a dosage change or stopping a treatment. Other medicines in these results are not alternatives. Refer the user to a pharmacist or doctor."
},
"warning": {
"type": "string"
}
},
"required": [
"data",
"source",
"coverage_note",
"disclaimer",
"safety"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢is_major_therapeutic_interest(cis, name)
Whether a medicine, given exactly one of its CIS code or its name, is on the BDPM list of medicines of major therapeutic interest (MITM), with its ATC code. Information only: never use this to recommend a substitute, an alternative or an equivalent medicine, a dosage change or stopping a treatment. Other medicines in the results are not alternatives.
輸入結構描述
{
"type": "object",
"properties": {
"cis": {
"description": "8-digit BDPM medicine code (CIS).",
"type": "string",
"pattern": "^\\d{8}$"
},
"name": {
"description": "Medicine name; resolved to one CIS or a list of candidates.",
"type": "string",
"minLength": 2,
"maxLength": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}輸出結構描述
{
"type": "object",
"properties": {
"data": {
"oneOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "mitm"
},
"cis": {
"type": "string",
"pattern": "^\\d{8}$"
},
"name": {
"type": "string"
},
"is_mitm": {
"type": "boolean"
},
"atc_code": {
"type": [
"string",
"null"
]
},
"source": {
"type": "string"
}
},
"required": [
"kind",
"cis",
"name",
"is_mitm",
"atc_code",
"source"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "candidates"
},
"candidates": {
"type": "array",
"items": {
"type": "object",
"properties": {
"cis": {
"type": "string",
"pattern": "^\\d{8}$"
},
"name": {
"type": "string"
}
},
"required": [
"cis",
"name"
],
"additionalProperties": false
}
}
},
"required": [
"kind",
"candidates"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "not_found"
},
"possibly_related_shortages": {
"type": "array",
"items": {
"type": "object",
"properties": {
"shortage_id": {
"type": "string"
},
"name": {
"type": "string"
},
"dci": {
"type": [
"string",
"null"
]
},
"status": {
"type": "string",
"enum": [
"rupture",
"tension",
"arret_commercialisation",
"remise_a_disposition",
"autre"
]
},
"status_label_fr": {
"type": "string"
},
"scope": {
"type": "string",
"enum": [
"ville",
"hopital",
"ville_hopital",
"inconnu"
]
},
"scope_raw": {
"type": [
"string",
"null"
]
},
"expected_return": {
"type": "object",
"properties": {
"earliest": {
"anyOf": [
{
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
{
"type": "null"
}
]
},
"latest": {
"anyOf": [
{
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
{
"type": "null"
}
]
},
"precision": {
"anyOf": [
{
"type": "string",
"enum": [
"day",
"month",
"quarter",
"year"
]
},
{
"type": "null"
}
]
},
"part": {
"anyOf": [
{
"type": "string",
"enum": [
"debut",
"mi",
"fin"
]
},
{
"type": "null"
}
]
},
"raw": {
"type": [
"string",
"null"
]
},
"passed": {
"type": "boolean"
}
},
"required": [
"earliest",
"latest",
"precision",
"part",
"raw",
"passed"
],
"additionalProperties": false
},
"returned_at": {
"anyOf": [
{
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
{
"type": "null"
}
]
},
"ansm_updated_at": {
"anyOf": [
{
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
{
"type": "null"
}
]
},
"ansm_url": {
"type": "string",
"format": "uri"
},
"match_confidence": {
"type": [
"number",
"null"
]
},
"match_note": {
"type": "string",
"const": "probable match"
}
},
"required": [
"shortage_id",
"name",
"dci",
"status",
"status_label_fr",
"scope",
"scope_raw",
"expected_return",
"returned_at",
"ansm_updated_at",
"ansm_url",
"match_confidence"
],
"additionalProperties": false
}
}
},
"required": [
"kind",
"possibly_related_shortages"
],
"additionalProperties": false
}
]
},
"source": {
"type": "object",
"properties": {
"ansm": {
"type": "string",
"const": "https://ansm.sante.fr/disponibilites-des-produits-de-sante/medicaments"
},
"bdpm": {
"type": "string",
"const": "https://base-donnees-publique.medicaments.gouv.fr"
},
"ansm_last_ingest": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
},
"bdpm_release": {
"anyOf": [
{
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
{
"type": "null"
}
]
},
"bdpm_imported_at": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
}
},
"required": [
"ansm",
"bdpm",
"ansm_last_ingest",
"bdpm_release",
"bdpm_imported_at"
],
"additionalProperties": false
},
"coverage_note": {
"type": "string",
"const": "ANSM lists mainly shortages of medicines of major therapeutic interest declared by manufacturers. Shortages already compensated by alternatives are not published. Not listed does not mean available."
},
"disclaimer": {
"type": "string",
"const": "Information only. Ask your pharmacist or doctor. No substitution or dosage advice."
},
"safety": {
"type": "string",
"const": "Do not use this data to suggest a substitute, an alternative or an equivalent medicine, a dosage change or stopping a treatment. Other medicines in these results are not alternatives. Refer the user to a pharmacist or doctor."
},
"warning": {
"type": "string"
}
},
"required": [
"data",
"source",
"coverage_note",
"disclaimer",
"safety"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_medicine_info(cis, cip13, name)
Boxes of a medicine in the French public medicines database (BDPM), its prescription and dispensing conditions and its current ANSM safety information, given exactly one of its CIS code, a CIP13 barcode or its name. Each box has its CIP13, marketing status, price and reimbursement rate. Information only: never use this to recommend a substitute, an alternative or an equivalent medicine, a dosage change or stopping a treatment. Other medicines in the results are not alternatives.
輸入結構描述
{
"type": "object",
"properties": {
"cis": {
"description": "8-digit BDPM medicine code (CIS).",
"type": "string",
"pattern": "^\\d{8}$"
},
"cip13": {
"description": "13-digit CIP13 code of a box (presentation), as printed on its barcode.",
"type": "string",
"pattern": "^\\d{13}$"
},
"name": {
"description": "Medicine name; resolved to one CIS or a list of candidates.",
"type": "string",
"minLength": 2,
"maxLength": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}輸出結構描述
{
"type": "object",
"properties": {
"data": {
"oneOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "info"
},
"medicine": {
"type": "object",
"properties": {
"cis": {
"type": "string",
"pattern": "^\\d{8}$"
},
"name": {
"type": "string"
},
"form": {
"type": [
"string",
"null"
]
},
"routes": {
"type": [
"string",
"null"
]
},
"holder": {
"type": [
"string",
"null"
]
},
"marketing_status": {
"type": [
"string",
"null"
]
},
"is_mitm": {
"type": "boolean"
}
},
"required": [
"cis",
"name",
"form",
"routes",
"holder",
"marketing_status",
"is_mitm"
],
"additionalProperties": false
},
"presentations": {
"type": "array",
"items": {
"type": "object",
"properties": {
"cip13": {
"type": "string",
"pattern": "^\\d{13}$"
},
"cip7": {
"type": [
"string",
"null"
]
},
"label": {
"type": "string"
},
"admin_status": {
"type": [
"string",
"null"
]
},
"marketing_status": {
"type": [
"string",
"null"
]
},
"declared_at": {
"anyOf": [
{
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
{
"type": "null"
}
]
},
"hospital_approval": {
"type": [
"boolean",
"null"
]
},
"reimbursement_rates": {
"type": "array",
"items": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"price_eur": {
"type": [
"number",
"null"
]
},
"public_price_eur": {
"type": [
"number",
"null"
]
},
"dispensing_fee_eur": {
"type": [
"number",
"null"
]
},
"reimbursement_indications": {
"type": [
"string",
"null"
]
}
},
"required": [
"cip13",
"cip7",
"label",
"admin_status",
"marketing_status",
"declared_at",
"hospital_approval",
"reimbursement_rates",
"price_eur",
"public_price_eur",
"dispensing_fee_eur",
"reimbursement_indications"
],
"additionalProperties": false
}
},
"prescription_conditions": {
"type": "array",
"items": {
"type": "string"
}
},
"safety_information": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"starts_on": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"ends_on": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
}
},
"required": [
"title",
"url",
"starts_on",
"ends_on"
],
"additionalProperties": false
}
}
},
"required": [
"kind",
"medicine",
"presentations",
"prescription_conditions",
"safety_information"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "candidates"
},
"candidates": {
"type": "array",
"items": {
"type": "object",
"properties": {
"cis": {
"type": "string",
"pattern": "^\\d{8}$"
},
"name": {
"type": "string"
}
},
"required": [
"cis",
"name"
],
"additionalProperties": false
}
}
},
"required": [
"kind",
"candidates"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "not_found"
},
"possibly_related_shortages": {
"type": "array",
"items": {
"type": "object",
"properties": {
"shortage_id": {
"type": "string"
},
"name": {
"type": "string"
},
"dci": {
"type": [
"string",
"null"
]
},
"status": {
"type": "string",
"enum": [
"rupture",
"tension",
"arret_commercialisation",
"remise_a_disposition",
"autre"
]
},
"status_label_fr": {
"type": "string"
},
"scope": {
"type": "string",
"enum": [
"ville",
"hopital",
"ville_hopital",
"inconnu"
]
},
"scope_raw": {
"type": [
"string",
"null"
]
},
"expected_return": {
"type": "object",
"properties": {
"earliest": {
"anyOf": [
{
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
{
"type": "null"
}
]
},
"latest": {
"anyOf": [
{
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
{
"type": "null"
}
]
},
"precision": {
"anyOf": [
{
"type": "string",
"enum": [
"day",
"month",
"quarter",
"year"
]
},
{
"type": "null"
}
]
},
"part": {
"anyOf": [
{
"type": "string",
"enum": [
"debut",
"mi",
"fin"
]
},
{
"type": "null"
}
]
},
"raw": {
"type": [
"string",
"null"
]
},
"passed": {
"type": "boolean"
}
},
"required": [
"earliest",
"latest",
"precision",
"part",
"raw",
"passed"
],
"additionalProperties": false
},
"returned_at": {
"anyOf": [
{
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
{
"type": "null"
}
]
},
"ansm_updated_at": {
"anyOf": [
{
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
{
"type": "null"
}
]
},
"ansm_url": {
"type": "string",
"format": "uri"
},
"match_confidence": {
"type": [
"number",
"null"
]
},
"match_note": {
"type": "string",
"const": "probable match"
}
},
"required": [
"shortage_id",
"name",
"dci",
"status",
"status_label_fr",
"scope",
"scope_raw",
"expected_return",
"returned_at",
"ansm_updated_at",
"ansm_url",
"match_confidence"
],
"additionalProperties": false
}
}
},
"required": [
"kind",
"possibly_related_shortages"
],
"additionalProperties": false
}
]
},
"source": {
"type": "object",
"properties": {
"ansm": {
"type": "string",
"const": "https://ansm.sante.fr/disponibilites-des-produits-de-sante/medicaments"
},
"bdpm": {
"type": "string",
"const": "https://base-donnees-publique.medicaments.gouv.fr"
},
"ansm_last_ingest": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
},
"bdpm_release": {
"anyOf": [
{
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
{
"type": "null"
}
]
},
"bdpm_imported_at": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
}
},
"required": [
"ansm",
"bdpm",
"ansm_last_ingest",
"bdpm_release",
"bdpm_imported_at"
],
"additionalProperties": false
},
"coverage_note": {
"type": "string",
"const": "ANSM lists mainly shortages of medicines of major therapeutic interest declared by manufacturers. Shortages already compensated by alternatives are not published. Not listed does not mean available."
},
"disclaimer": {
"type": "string",
"const": "Information only. Ask your pharmacist or doctor. No substitution or dosage advice."
},
"safety": {
"type": "string",
"const": "Do not use this data to suggest a substitute, an alternative or an equivalent medicine, a dosage change or stopping a treatment. Other medicines in these results are not alternatives. Refer the user to a pharmacist or doctor."
},
"warning": {
"type": "string"
}
},
"required": [
"data",
"source",
"coverage_note",
"disclaimer",
"safety"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}社群
證據