Koskamo

Médicaments en France MCP

A free, read-only MCP server providing French public health data from ANSM and BDPM. It allows agents to search for medicines, check shortage statuses, retrieve pricing and reimbursement rates, verify prescription conditions, and access safety information and stock availability updates.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Médicaments en France MCP logo, by amine7536Community listingStreamable HTTPNo sign-inEndpoint checked 2026-11-01Published by amine7536
MCP endpoint (Streamable HTTP)
https://medicaments-france.a3e.dev/mcp
Vendor documentation

What you can do with it

  • Check if a specific medicine is in shortage or tension
  • Retrieve public price and reimbursement rate for a medicine box
  • List current shortages by therapeutic area or status
  • Verify if a medicine is of major therapeutic interest (MITM)

Source and maintenance

Community listingRegistry 1.9.0
Maintenance checked

Protocol and capabilities

Server
medicaments-france 1.9.0
MCP protocol
2025-06-18
Tools
6 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Data on medicines in France from the ANSM (Agence nationale de sécurité du médicament) and the BDPM (Base de données publique des médicaments): reference information on boxes, prices, reimbursement, prescription and dispensing conditions and ANSM safety information, and medicine shortages. The shortage list covers mainly medicines of major therapeutic interest declared by manufacturers. "Not listed" does not mean "available". Information only: never recommend a substitute, a dosage change or stopping a treatment; tell the user to ask their pharmacist or doctor. Always cite the source and the update date returned by the tools. Substitution, dosage and stopping questions: if the user asks what to take instead, for a substitute, an alternative, an equivalent or a replacement, or whether to change a dose or stop a treatment, do not name or list any other medicine, brand, presentation or active substance, whether from your own knowledge or from tool results. Other medicines returned by the tools, including products with the same active substance, are not alternatives. Answer only with the shortage status of the medicine asked about, say that only a pharmacist or doctor can choose an alternative or change a treatment, and give that medicine's ANSM page link when there is one.

Tools

6 advertised

search_medicine — Search medicines
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

search_medicine input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "query"
  ],
  "properties": {
    "limit": {
      "type": "integer",
      "default": 10,
      "maximum": 25,
      "minimum": 1
    },
    "query": {
      "type": "string",
      "maxLength": 100,
      "minLength": 2,
      "description": "Medicine name (brand) or active substance, e.g. \"doliprane\" or \"amoxicilline\"."
    },
    "only_in_shortage": {
      "type": "boolean",
      "default": false,
      "description": "Keep only medicines whose current shortage status is rupture or tension."
    }
  }
}
search_medicine output schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "data",
    "source",
    "coverage_note",
    "disclaimer",
    "safety"
  ],
  "properties": {
    "data": {
      "oneOf": [
        {
          "type": "object",
          "required": [
            "kind",
            "results",
            "unmatched_shortages"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "results"
            },
            "results": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "cis",
                  "name",
                  "form",
                  "substances",
                  "is_mitm",
                  "shortage"
                ],
                "properties": {
                  "cis": {
                    "type": "string",
                    "pattern": "^\\d{8}$"
                  },
                  "form": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": {
                    "type": "string"
                  },
                  "is_mitm": {
                    "type": "boolean"
                  },
                  "shortage": {
                    "anyOf": [
                      {
                        "type": "object",
                        "required": [
                          "shortage_id",
                          "name",
                          "dci",
                          "status",
                          "status_label_fr",
                          "scope",
                          "scope_raw",
                          "expected_return",
                          "returned_at",
                          "ansm_updated_at",
                          "ansm_url",
                          "match_confidence"
                        ],
                        "properties": {
                          "dci": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "name": {
                            "type": "string"
                          },
                          "scope": {
                            "enum": [
                              "ville",
                              "hopital",
                              "ville_hopital",
                              "inconnu"
                            ],
                            "type": "string"
                          },
                          "status": {
                            "enum": [
                              "rupture",
                              "tension",
                              "arret_commercialisation",
                              "remise_a_disposition",
                              "autre"
                            ],
                            "type": "string"
                          },
                          "ansm_url": {
                            "type": "string",
                            "format": "uri"
                          },
                          "scope_raw": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "match_note": {
                            "type": "string",
                            "const": "probable match"
                          },
                          "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"
                              }
                            ]
                          },
                          "shortage_id": {
                            "type": "string"
                          },
                          "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"
                              }
                            ]
                          },
                          "expected_return": {
                            "type": "object",
                            "required": [
                              "earliest",
                              "latest",
                              "precision",
                              "part",
                              "raw",
                              "passed"
                            ],
                            "properties": {
                              "raw": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "part": {
                                "anyOf": [
                                  {
                                    "enum": [
                                      "debut",
                                      "mi",
                                      "fin"
                                    ],
                                    "type": "string"
                                  },
                                  {
                                    "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"
                                  }
                                ]
                              },
                              "passed": {
                                "type": "boolean"
                              },
                              "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"
                                  }
                                ]
                              },
                              "precision": {
                                "anyOf": [
                                  {
                                    "enum": [
                                      "day",
                                      "month",
                                      "quarter",
                                      "year"
                                    ],
                                    "type": "string"
                                  },
                                  {
                                    "type": "null"
                                  }
                                ]
                              }
                            },
                            "additionalProperties": false
                          },
                          "status_label_fr": {
                            "type": "string"
                          },
                          "match_confidence": {
                            "type": [
                              "number",
                              "null"
                            ]
                          }
                        },
                        "additionalProperties": false
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "substances": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "required": [
                        "name",
                        "dosage"
                      ],
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "dosage": {
                          "type": [
                            "string",
                            "null"
                          ]
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "shortage_note": {
                    "type": "string",
                    "const": "No shortage linked to this medicine. Not listed does not mean available."
                  }
                },
                "additionalProperties": false
              }
            },
            "unmatched_shortages": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "shortage_id",
                  "name",
                  "dci",
                  "status",
                  "status_label_fr",
                  "scope",
                  "scope_raw",
                  "expected_return",
                  "returned_at",
                  "ansm_updated_at",
                  "ansm_url",
                  "match_confidence"
                ],
                "properties": {
                  "dci": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": {
                    "type": "string"
                  },
                  "scope": {
                    "enum": [
                      "ville",
                      "hopital",
                      "ville_hopital",
                      "inconnu"
                    ],
                    "type": "string"
                  },
                  "status": {
                    "enum": [
                      "rupture",
                      "tension",
                      "arret_commercialisation",
                      "remise_a_disposition",
                      "autre"
                    ],
                    "type": "string"
                  },
                  "ansm_url": {
                    "type": "string",
                    "format": "uri"
                  },
                  "scope_raw": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "match_note": {
                    "type": "string",
                    "const": "probable match"
                  },
                  "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"
                      }
                    ]
                  },
                  "shortage_id": {
                    "type": "string"
                  },
                  "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"
                      }
                    ]
                  },
                  "expected_return": {
                    "type": "object",
                    "required": [
                      "earliest",
                      "latest",
                      "precision",
                      "part",
                      "raw",
                      "passed"
                    ],
                    "properties": {
                      "raw": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "part": {
                        "anyOf": [
                          {
                            "enum": [
                              "debut",
                              "mi",
                              "fin"
                            ],
                            "type": "string"
                          },
                          {
                            "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"
                          }
                        ]
                      },
                      "passed": {
                        "type": "boolean"
                      },
                      "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"
                          }
                        ]
                      },
                      "precision": {
                        "anyOf": [
                          {
                            "enum": [
                              "day",
                              "month",
                              "quarter",
                              "year"
                            ],
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      }
                    },
                    "additionalProperties": false
                  },
                  "status_label_fr": {
                    "type": "string"
                  },
                  "match_confidence": {
                    "type": [
                      "number",
                      "null"
                    ]
                  }
                },
                "additionalProperties": false
              }
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "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."
    },
    "source": {
      "type": "object",
      "required": [
        "ansm",
        "bdpm",
        "ansm_last_ingest",
        "bdpm_release",
        "bdpm_imported_at"
      ],
      "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"
        },
        "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"
            }
          ]
        },
        "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_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"
            }
          ]
        }
      },
      "additionalProperties": false
    },
    "warning": {
      "type": "string"
    },
    "disclaimer": {
      "type": "string",
      "const": "Information only. Ask your pharmacist or doctor. No substitution or dosage advice."
    },
    "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."
    }
  },
  "additionalProperties": false
}
search_medicine annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_availability — Get availability
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

get_availability input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "cis": {
      "type": "string",
      "pattern": "^\\d{8}$",
      "description": "8-digit BDPM medicine code (CIS)."
    },
    "name": {
      "type": "string",
      "maxLength": 100,
      "minLength": 2,
      "description": "Medicine name; resolved to one CIS or a list of candidates."
    },
    "shortage_id": {
      "type": "string",
      "maxLength": 20,
      "minLength": 1,
      "description": "ANSM shortage id: the numeric id of an ANSM shortage entry."
    }
  }
}
get_availability output schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "data",
    "source",
    "coverage_note",
    "disclaimer",
    "safety"
  ],
  "properties": {
    "data": {
      "oneOf": [
        {
          "type": "object",
          "required": [
            "kind",
            "medicine",
            "linked_medicines",
            "listed",
            "shortage",
            "first_seen_at",
            "days_in_current_status",
            "history",
            "other_shortage_ids",
            "possibly_related_shortages"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "availability"
            },
            "listed": {
              "type": "boolean"
            },
            "history": {
              "type": "array",
              "items": {
                "oneOf": [
                  {
                    "type": "object",
                    "required": [
                      "date",
                      "change",
                      "status"
                    ],
                    "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": [
                          {
                            "enum": [
                              "rupture",
                              "tension",
                              "arret_commercialisation",
                              "remise_a_disposition",
                              "autre"
                            ],
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      }
                    },
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "required": [
                      "date",
                      "change",
                      "from",
                      "to"
                    ],
                    "properties": {
                      "to": {
                        "anyOf": [
                          {
                            "enum": [
                              "rupture",
                              "tension",
                              "arret_commercialisation",
                              "remise_a_disposition",
                              "autre"
                            ],
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "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])))$"
                      },
                      "from": {
                        "anyOf": [
                          {
                            "enum": [
                              "rupture",
                              "tension",
                              "arret_commercialisation",
                              "remise_a_disposition",
                              "autre"
                            ],
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "change": {
                        "type": "string",
                        "const": "status_change"
                      }
                    },
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "required": [
                      "date",
                      "change",
                      "from_raw",
                      "to_raw"
                    ],
                    "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"
                      },
                      "to_raw": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "from_raw": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    },
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "required": [
                      "date",
                      "change"
                    ],
                    "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"
                      }
                    },
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "required": [
                      "date",
                      "change"
                    ],
                    "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"
                      }
                    },
                    "additionalProperties": false
                  }
                ]
              }
            },
            "medicine": {
              "anyOf": [
                {
                  "type": "object",
                  "required": [
                    "cis",
                    "name",
                    "is_mitm"
                  ],
                  "properties": {
                    "cis": {
                      "type": "string",
                      "pattern": "^\\d{8}$"
                    },
                    "name": {
                      "type": "string"
                    },
                    "is_mitm": {
                      "type": "boolean"
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "shortage": {
              "anyOf": [
                {
                  "type": "object",
                  "required": [
                    "shortage_id",
                    "name",
                    "dci",
                    "status",
                    "status_label_fr",
                    "scope",
                    "scope_raw",
                    "expected_return",
                    "returned_at",
                    "ansm_updated_at",
                    "ansm_url",
                    "match_confidence"
                  ],
                  "properties": {
                    "dci": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "name": {
                      "type": "string"
                    },
                    "scope": {
                      "enum": [
                        "ville",
                        "hopital",
                        "ville_hopital",
                        "inconnu"
                      ],
                      "type": "string"
                    },
                    "status": {
                      "enum": [
                        "rupture",
                        "tension",
                        "arret_commercialisation",
                        "remise_a_disposition",
                        "autre"
                      ],
                      "type": "string"
                    },
                    "ansm_url": {
                      "type": "string",
                      "format": "uri"
                    },
                    "scope_raw": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "match_note": {
                      "type": "string",
                      "const": "probable match"
                    },
                    "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"
                        }
                      ]
                    },
                    "shortage_id": {
                      "type": "string"
                    },
                    "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"
                        }
                      ]
                    },
                    "expected_return": {
                      "type": "object",
                      "required": [
                        "earliest",
                        "latest",
                        "precision",
                        "part",
                        "raw",
                        "passed"
                      ],
                      "properties": {
                        "raw": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "part": {
                          "anyOf": [
                            {
                              "enum": [
                                "debut",
                                "mi",
                                "fin"
                              ],
                              "type": "string"
                            },
                            {
                              "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"
                            }
                          ]
                        },
                        "passed": {
                          "type": "boolean"
                        },
                        "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"
                            }
                          ]
                        },
                        "precision": {
                          "anyOf": [
                            {
                              "enum": [
                                "day",
                                "month",
                                "quarter",
                                "year"
                              ],
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        }
                      },
                      "additionalProperties": false
                    },
                    "status_label_fr": {
                      "type": "string"
                    },
                    "match_confidence": {
                      "type": [
                        "number",
                        "null"
                      ]
                    }
                  },
                  "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"
                }
              ]
            },
            "linked_medicines": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "cis",
                  "name",
                  "match_confidence"
                ],
                "properties": {
                  "cis": {
                    "type": "string",
                    "pattern": "^\\d{8}$"
                  },
                  "name": {
                    "type": "string"
                  },
                  "match_confidence": {
                    "type": "number"
                  }
                },
                "additionalProperties": false
              }
            },
            "other_shortage_ids": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "days_in_current_status": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 9007199254740991,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ]
            },
            "possibly_related_shortages": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "shortage_id",
                  "name",
                  "dci",
                  "status",
                  "status_label_fr",
                  "scope",
                  "scope_raw",
                  "expected_return",
                  "returned_at",
                  "ansm_updated_at",
                  "ansm_url",
                  "match_confidence"
                ],
                "properties": {
                  "dci": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": {
                    "type": "string"
                  },
                  "scope": {
                    "enum": [
                      "ville",
                      "hopital",
                      "ville_hopital",
                      "inconnu"
                    ],
                    "type": "string"
                  },
                  "status": {
                    "enum": [
                      "rupture",
                      "tension",
                      "arret_commercialisation",
                      "remise_a_disposition",
                      "autre"
                    ],
                    "type": "string"
                  },
                  "ansm_url": {
                    "type": "string",
                    "format": "uri"
                  },
                  "scope_raw": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "match_note": {
                    "type": "string",
                    "const": "probable match"
                  },
                  "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"
                      }
                    ]
                  },
                  "shortage_id": {
                    "type": "string"
                  },
                  "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"
                      }
                    ]
                  },
                  "expected_return": {
                    "type": "object",
                    "required": [
                      "earliest",
                      "latest",
                      "precision",
                      "part",
                      "raw",
                      "passed"
                    ],
                    "properties": {
                      "raw": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "part": {
                        "anyOf": [
                          {
                            "enum": [
                              "debut",
                              "mi",
                              "fin"
                            ],
                            "type": "string"
                          },
                          {
                            "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"
                          }
                        ]
                      },
                      "passed": {
                        "type": "boolean"
                      },
                      "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"
                          }
                        ]
                      },
                      "precision": {
                        "anyOf": [
                          {
                            "enum": [
                              "day",
                              "month",
                              "quarter",
                              "year"
                            ],
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      }
                    },
                    "additionalProperties": false
                  },
                  "status_label_fr": {
                    "type": "string"
                  },
                  "match_confidence": {
                    "type": [
                      "number",
                      "null"
                    ]
                  }
                },
                "additionalProperties": false
              }
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "candidates"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "candidates"
            },
            "candidates": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "cis",
                  "name"
                ],
                "properties": {
                  "cis": {
                    "type": "string",
                    "pattern": "^\\d{8}$"
                  },
                  "name": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              }
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "possibly_related_shortages"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "not_found"
            },
            "possibly_related_shortages": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "shortage_id",
                  "name",
                  "dci",
                  "status",
                  "status_label_fr",
                  "scope",
                  "scope_raw",
                  "expected_return",
                  "returned_at",
                  "ansm_updated_at",
                  "ansm_url",
                  "match_confidence"
                ],
                "properties": {
                  "dci": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": {
                    "type": "string"
                  },
                  "scope": {
                    "enum": [
                      "ville",
                      "hopital",
                      "ville_hopital",
                      "inconnu"
                    ],
                    "type": "string"
                  },
                  "status": {
                    "enum": [
                      "rupture",
                      "tension",
                      "arret_commercialisation",
                      "remise_a_disposition",
                      "autre"
                    ],
                    "type": "string"
                  },
                  "ansm_url": {
                    "type": "string",
                    "format": "uri"
                  },
                  "scope_raw": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "match_note": {
                    "type": "string",
                    "const": "probable match"
                  },
                  "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"
                      }
                    ]
                  },
                  "shortage_id": {
                    "type": "string"
                  },
                  "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"
                      }
                    ]
                  },
                  "expected_return": {
                    "type": "object",
                    "required": [
                      "earliest",
                      "latest",
                      "precision",
                      "part",
                      "raw",
                      "passed"
                    ],
                    "properties": {
                      "raw": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "part": {
                        "anyOf": [
                          {
                            "enum": [
                              "debut",
                              "mi",
                              "fin"
                            ],
                            "type": "string"
                          },
                          {
                            "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"
                          }
                        ]
                      },
                      "passed": {
                        "type": "boolean"
                      },
                      "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"
                          }
                        ]
                      },
                      "precision": {
                        "anyOf": [
                          {
                            "enum": [
                              "day",
                              "month",
                              "quarter",
                              "year"
                            ],
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      }
                    },
                    "additionalProperties": false
                  },
                  "status_label_fr": {
                    "type": "string"
                  },
                  "match_confidence": {
                    "type": [
                      "number",
                      "null"
                    ]
                  }
                },
                "additionalProperties": false
              }
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "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."
    },
    "source": {
      "type": "object",
      "required": [
        "ansm",
        "bdpm",
        "ansm_last_ingest",
        "bdpm_release",
        "bdpm_imported_at"
      ],
      "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"
        },
        "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"
            }
          ]
        },
        "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_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"
            }
          ]
        }
      },
      "additionalProperties": false
    },
    "warning": {
      "type": "string"
    },
    "disclaimer": {
      "type": "string",
      "const": "Information only. Ask your pharmacist or doctor. No substitution or dosage advice."
    },
    "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."
    }
  },
  "additionalProperties": false
}
get_availability annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_current_shortages — List current shortages
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

list_current_shortages input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "limit": {
      "type": "integer",
      "default": 25,
      "maximum": 50,
      "minimum": 1
    },
    "scope": {
      "enum": [
        "ville",
        "hopital",
        "ville_hopital",
        "inconnu"
      ],
      "type": "string",
      "description": "ville (city pharmacies), hopital (hospitals), ville_hopital or inconnu."
    },
    "offset": {
      "type": "integer",
      "default": 0,
      "maximum": 10000,
      "minimum": 0
    },
    "status": {
      "type": "array",
      "items": {
        "enum": [
          "rupture",
          "tension",
          "arret_commercialisation",
          "remise_a_disposition",
          "autre"
        ],
        "type": "string"
      },
      "default": [
        "rupture",
        "tension"
      ]
    },
    "updated_since": {
      "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])))$",
      "description": "Only entries updated by ANSM on or after this date (YYYY-MM-DD)."
    },
    "therapeutic_area": {
      "type": "string",
      "maxLength": 60,
      "minLength": 2,
      "description": "Therapeutic area as written by ANSM, e.g. \"cardiologie\"."
    }
  }
}
list_current_shortages output schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "data",
    "source",
    "coverage_note",
    "disclaimer",
    "safety"
  ],
  "properties": {
    "data": {
      "oneOf": [
        {
          "type": "object",
          "required": [
            "kind",
            "total",
            "items",
            "next_offset"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "list"
            },
            "items": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "shortage_id",
                  "name",
                  "dci",
                  "status",
                  "status_label_fr",
                  "scope",
                  "scope_raw",
                  "expected_return",
                  "returned_at",
                  "ansm_updated_at",
                  "ansm_url",
                  "match_confidence",
                  "cis"
                ],
                "properties": {
                  "cis": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "pattern": "^\\d{8}$"
                    }
                  },
                  "dci": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": {
                    "type": "string"
                  },
                  "scope": {
                    "enum": [
                      "ville",
                      "hopital",
                      "ville_hopital",
                      "inconnu"
                    ],
                    "type": "string"
                  },
                  "status": {
                    "enum": [
                      "rupture",
                      "tension",
                      "arret_commercialisation",
                      "remise_a_disposition",
                      "autre"
                    ],
                    "type": "string"
                  },
                  "ansm_url": {
                    "type": "string",
                    "format": "uri"
                  },
                  "scope_raw": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "match_note": {
                    "type": "string",
                    "const": "probable match"
                  },
                  "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"
                      }
                    ]
                  },
                  "shortage_id": {
                    "type": "string"
                  },
                  "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"
                      }
                    ]
                  },
                  "expected_return": {
                    "type": "object",
                    "required": [
                      "earliest",
                      "latest",
                      "precision",
                      "part",
                      "raw",
                      "passed"
                    ],
                    "properties": {
                      "raw": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "part": {
                        "anyOf": [
                          {
                            "enum": [
                              "debut",
                              "mi",
                              "fin"
                            ],
                            "type": "string"
                          },
                          {
                            "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"
                          }
                        ]
                      },
                      "passed": {
                        "type": "boolean"
                      },
                      "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"
                          }
                        ]
                      },
                      "precision": {
                        "anyOf": [
                          {
                            "enum": [
                              "day",
                              "month",
                              "quarter",
                              "year"
                            ],
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      }
                    },
                    "additionalProperties": false
                  },
                  "status_label_fr": {
                    "type": "string"
                  },
                  "match_confidence": {
                    "type": [
                      "number",
                      "null"
                    ]
                  }
                },
                "additionalProperties": false
              }
            },
            "total": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": 0
            },
            "next_offset": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 9007199254740991,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "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."
    },
    "source": {
      "type": "object",
      "required": [
        "ansm",
        "bdpm",
        "ansm_last_ingest",
        "bdpm_release",
        "bdpm_imported_at"
      ],
      "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"
        },
        "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"
            }
          ]
        },
        "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_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"
            }
          ]
        }
      },
      "additionalProperties": false
    },
    "warning": {
      "type": "string"
    },
    "disclaimer": {
      "type": "string",
      "const": "Information only. Ask your pharmacist or doctor. No substitution or dosage advice."
    },
    "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."
    }
  },
  "additionalProperties": false
}
list_current_shortages annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
recent_changes — Recent changes
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

recent_changes input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "days": {
      "type": "integer",
      "default": 7,
      "maximum": 90,
      "minimum": 1
    },
    "limit": {
      "type": "integer",
      "default": 50,
      "maximum": 50,
      "minimum": 1
    },
    "change_types": {
      "type": "array",
      "items": {
        "enum": [
          "new",
          "status_change",
          "return_date_change",
          "delisted",
          "relisted"
        ],
        "type": "string"
      },
      "default": [
        "new",
        "status_change",
        "return_date_change",
        "delisted",
        "relisted"
      ]
    }
  }
}
recent_changes output schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "data",
    "source",
    "coverage_note",
    "disclaimer",
    "safety"
  ],
  "properties": {
    "data": {
      "oneOf": [
        {
          "type": "object",
          "required": [
            "kind",
            "since",
            "counts",
            "items",
            "note"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "changes"
            },
            "note": {
              "type": "string",
              "const": "Dates are detection dates by this service (daily cadence), not official ANSM decision dates."
            },
            "items": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "date",
                  "change",
                  "shortage_id",
                  "name",
                  "ansm_url",
                  "old_status",
                  "new_status",
                  "old_expected_return",
                  "new_expected_return"
                ],
                "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))$"
                  },
                  "name": {
                    "type": "string"
                  },
                  "change": {
                    "enum": [
                      "new",
                      "status_change",
                      "return_date_change",
                      "delisted",
                      "relisted"
                    ],
                    "type": "string"
                  },
                  "ansm_url": {
                    "type": "string",
                    "format": "uri"
                  },
                  "new_status": {
                    "anyOf": [
                      {
                        "enum": [
                          "rupture",
                          "tension",
                          "arret_commercialisation",
                          "remise_a_disposition",
                          "autre"
                        ],
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "old_status": {
                    "anyOf": [
                      {
                        "enum": [
                          "rupture",
                          "tension",
                          "arret_commercialisation",
                          "remise_a_disposition",
                          "autre"
                        ],
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "shortage_id": {
                    "type": "string"
                  },
                  "new_expected_return": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "old_expected_return": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "additionalProperties": false
              }
            },
            "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",
              "required": [
                "new",
                "status_change",
                "return_date_change",
                "delisted",
                "relisted"
              ],
              "propertyNames": {
                "enum": [
                  "new",
                  "status_change",
                  "return_date_change",
                  "delisted",
                  "relisted"
                ],
                "type": "string"
              },
              "additionalProperties": {
                "type": "integer",
                "maximum": 9007199254740991,
                "minimum": 0
              }
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "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."
    },
    "source": {
      "type": "object",
      "required": [
        "ansm",
        "bdpm",
        "ansm_last_ingest",
        "bdpm_release",
        "bdpm_imported_at"
      ],
      "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"
        },
        "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"
            }
          ]
        },
        "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_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"
            }
          ]
        }
      },
      "additionalProperties": false
    },
    "warning": {
      "type": "string"
    },
    "disclaimer": {
      "type": "string",
      "const": "Information only. Ask your pharmacist or doctor. No substitution or dosage advice."
    },
    "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."
    }
  },
  "additionalProperties": false
}
recent_changes annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
is_major_therapeutic_interest — Is major therapeutic interest
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

is_major_therapeutic_interest input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "cis": {
      "type": "string",
      "pattern": "^\\d{8}$",
      "description": "8-digit BDPM medicine code (CIS)."
    },
    "name": {
      "type": "string",
      "maxLength": 100,
      "minLength": 2,
      "description": "Medicine name; resolved to one CIS or a list of candidates."
    }
  }
}
is_major_therapeutic_interest output schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "data",
    "source",
    "coverage_note",
    "disclaimer",
    "safety"
  ],
  "properties": {
    "data": {
      "oneOf": [
        {
          "type": "object",
          "required": [
            "kind",
            "cis",
            "name",
            "is_mitm",
            "atc_code",
            "source"
          ],
          "properties": {
            "cis": {
              "type": "string",
              "pattern": "^\\d{8}$"
            },
            "kind": {
              "type": "string",
              "const": "mitm"
            },
            "name": {
              "type": "string"
            },
            "source": {
              "type": "string"
            },
            "is_mitm": {
              "type": "boolean"
            },
            "atc_code": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "candidates"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "candidates"
            },
            "candidates": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "cis",
                  "name"
                ],
                "properties": {
                  "cis": {
                    "type": "string",
                    "pattern": "^\\d{8}$"
                  },
                  "name": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              }
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "possibly_related_shortages"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "not_found"
            },
            "possibly_related_shortages": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "shortage_id",
                  "name",
                  "dci",
                  "status",
                  "status_label_fr",
                  "scope",
                  "scope_raw",
                  "expected_return",
                  "returned_at",
                  "ansm_updated_at",
                  "ansm_url",
                  "match_confidence"
                ],
                "properties": {
                  "dci": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": {
                    "type": "string"
                  },
                  "scope": {
                    "enum": [
                      "ville",
                      "hopital",
                      "ville_hopital",
                      "inconnu"
                    ],
                    "type": "string"
                  },
                  "status": {
                    "enum": [
                      "rupture",
                      "tension",
                      "arret_commercialisation",
                      "remise_a_disposition",
                      "autre"
                    ],
                    "type": "string"
                  },
                  "ansm_url": {
                    "type": "string",
                    "format": "uri"
                  },
                  "scope_raw": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "match_note": {
                    "type": "string",
                    "const": "probable match"
                  },
                  "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"
                      }
                    ]
                  },
                  "shortage_id": {
                    "type": "string"
                  },
                  "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"
                      }
                    ]
                  },
                  "expected_return": {
                    "type": "object",
                    "required": [
                      "earliest",
                      "latest",
                      "precision",
                      "part",
                      "raw",
                      "passed"
                    ],
                    "properties": {
                      "raw": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "part": {
                        "anyOf": [
                          {
                            "enum": [
                              "debut",
                              "mi",
                              "fin"
                            ],
                            "type": "string"
                          },
                          {
                            "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"
                          }
                        ]
                      },
                      "passed": {
                        "type": "boolean"
                      },
                      "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"
                          }
                        ]
                      },
                      "precision": {
                        "anyOf": [
                          {
                            "enum": [
                              "day",
                              "month",
                              "quarter",
                              "year"
                            ],
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      }
                    },
                    "additionalProperties": false
                  },
                  "status_label_fr": {
                    "type": "string"
                  },
                  "match_confidence": {
                    "type": [
                      "number",
                      "null"
                    ]
                  }
                },
                "additionalProperties": false
              }
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "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."
    },
    "source": {
      "type": "object",
      "required": [
        "ansm",
        "bdpm",
        "ansm_last_ingest",
        "bdpm_release",
        "bdpm_imported_at"
      ],
      "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"
        },
        "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"
            }
          ]
        },
        "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_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"
            }
          ]
        }
      },
      "additionalProperties": false
    },
    "warning": {
      "type": "string"
    },
    "disclaimer": {
      "type": "string",
      "const": "Information only. Ask your pharmacist or doctor. No substitution or dosage advice."
    },
    "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."
    }
  },
  "additionalProperties": false
}
is_major_therapeutic_interest annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_medicine_info — Get medicine info
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

get_medicine_info input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "cis": {
      "type": "string",
      "pattern": "^\\d{8}$",
      "description": "8-digit BDPM medicine code (CIS)."
    },
    "name": {
      "type": "string",
      "maxLength": 100,
      "minLength": 2,
      "description": "Medicine name; resolved to one CIS or a list of candidates."
    },
    "cip13": {
      "type": "string",
      "pattern": "^\\d{13}$",
      "description": "13-digit CIP13 code of a box (presentation), as printed on its barcode."
    }
  }
}
get_medicine_info output schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "data",
    "source",
    "coverage_note",
    "disclaimer",
    "safety"
  ],
  "properties": {
    "data": {
      "oneOf": [
        {
          "type": "object",
          "required": [
            "kind",
            "medicine",
            "presentations",
            "prescription_conditions",
            "safety_information"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "info"
            },
            "medicine": {
              "type": "object",
              "required": [
                "cis",
                "name",
                "form",
                "routes",
                "holder",
                "marketing_status",
                "is_mitm"
              ],
              "properties": {
                "cis": {
                  "type": "string",
                  "pattern": "^\\d{8}$"
                },
                "form": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "name": {
                  "type": "string"
                },
                "holder": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "routes": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "is_mitm": {
                  "type": "boolean"
                },
                "marketing_status": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "additionalProperties": false
            },
            "presentations": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "cip13",
                  "cip7",
                  "label",
                  "admin_status",
                  "marketing_status",
                  "declared_at",
                  "hospital_approval",
                  "reimbursement_rates",
                  "price_eur",
                  "public_price_eur",
                  "dispensing_fee_eur",
                  "reimbursement_indications"
                ],
                "properties": {
                  "cip7": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "cip13": {
                    "type": "string",
                    "pattern": "^\\d{13}$"
                  },
                  "label": {
                    "type": "string"
                  },
                  "price_eur": {
                    "type": [
                      "number",
                      "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"
                      }
                    ]
                  },
                  "admin_status": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "marketing_status": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "public_price_eur": {
                    "type": [
                      "number",
                      "null"
                    ]
                  },
                  "hospital_approval": {
                    "type": [
                      "boolean",
                      "null"
                    ]
                  },
                  "dispensing_fee_eur": {
                    "type": [
                      "number",
                      "null"
                    ]
                  },
                  "reimbursement_rates": {
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "maximum": 9007199254740991,
                      "minimum": 0
                    }
                  },
                  "reimbursement_indications": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "additionalProperties": false
              }
            },
            "safety_information": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "title",
                  "url",
                  "starts_on",
                  "ends_on"
                ],
                "properties": {
                  "url": {
                    "type": "string",
                    "format": "uri"
                  },
                  "title": {
                    "type": "string"
                  },
                  "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])))$"
                  },
                  "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])))$"
                  }
                },
                "additionalProperties": false
              }
            },
            "prescription_conditions": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "candidates"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "candidates"
            },
            "candidates": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "cis",
                  "name"
                ],
                "properties": {
                  "cis": {
                    "type": "string",
                    "pattern": "^\\d{8}$"
                  },
                  "name": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              }
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "possibly_related_shortages"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "not_found"
            },
            "possibly_related_shortages": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "shortage_id",
                  "name",
                  "dci",
                  "status",
                  "status_label_fr",
                  "scope",
                  "scope_raw",
                  "expected_return",
                  "returned_at",
                  "ansm_updated_at",
                  "ansm_url",
                  "match_confidence"
                ],
                "properties": {
                  "dci": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": {
                    "type": "string"
                  },
                  "scope": {
                    "enum": [
                      "ville",
                      "hopital",
                      "ville_hopital",
                      "inconnu"
                    ],
                    "type": "string"
                  },
                  "status": {
                    "enum": [
                      "rupture",
                      "tension",
                      "arret_commercialisation",
                      "remise_a_disposition",
                      "autre"
                    ],
                    "type": "string"
                  },
                  "ansm_url": {
                    "type": "string",
                    "format": "uri"
                  },
                  "scope_raw": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "match_note": {
                    "type": "string",
                    "const": "probable match"
                  },
                  "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"
                      }
                    ]
                  },
                  "shortage_id": {
                    "type": "string"
                  },
                  "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"
                      }
                    ]
                  },
                  "expected_return": {
                    "type": "object",
                    "required": [
                      "earliest",
                      "latest",
                      "precision",
                      "part",
                      "raw",
                      "passed"
                    ],
                    "properties": {
                      "raw": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "part": {
                        "anyOf": [
                          {
                            "enum": [
                              "debut",
                              "mi",
                              "fin"
                            ],
                            "type": "string"
                          },
                          {
                            "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"
                          }
                        ]
                      },
                      "passed": {
                        "type": "boolean"
                      },
                      "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"
                          }
                        ]
                      },
                      "precision": {
                        "anyOf": [
                          {
                            "enum": [
                              "day",
                              "month",
                              "quarter",
                              "year"
                            ],
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      }
                    },
                    "additionalProperties": false
                  },
                  "status_label_fr": {
                    "type": "string"
                  },
                  "match_confidence": {
                    "type": [
                      "number",
                      "null"
                    ]
                  }
                },
                "additionalProperties": false
              }
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "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."
    },
    "source": {
      "type": "object",
      "required": [
        "ansm",
        "bdpm",
        "ansm_last_ingest",
        "bdpm_release",
        "bdpm_imported_at"
      ],
      "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"
        },
        "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"
            }
          ]
        },
        "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_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"
            }
          ]
        }
      },
      "additionalProperties": false
    },
    "warning": {
      "type": "string"
    },
    "disclaimer": {
      "type": "string",
      "const": "Information only. Ask your pharmacist or doctor. No substitution or dosage advice."
    },
    "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."
    }
  },
  "additionalProperties": false
}
get_medicine_info annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
379 ms
95th percentile latency
379 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 379 ms · metadata changed · 6 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http me-dicaments-en-france-mcp https://medicaments-france.a3e.dev/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add me-dicaments-en-france-mcp --url https://medicaments-france.a3e.dev/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable me-dicaments-en-france-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "me-dicaments-en-france-mcp": {
      "url": "https://medicaments-france.a3e.dev/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "me-dicaments-en-france-mcp": {
      "type": "streamableHttp",
      "url": "https://medicaments-france.a3e.dev/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start me-dicaments-en-france-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "me-dicaments-en-france-mcp": {
      "type": "http",
      "url": "https://medicaments-france.a3e.dev/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http me-dicaments-en-france-mcp https://medicaments-france.a3e.dev/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "me-dicaments-en-france-mcp": {
      "url": "https://medicaments-france.a3e.dev/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "me-dicaments-en-france-mcp": {
      "serverUrl": "https://medicaments-france.a3e.dev/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Médicaments en France MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.