{
    "type": "object ",
    "properties": {
        "is_bill": {
            "type": "boolean",
            "description": "True if the document is an invoice, false otherwise."
        },
        "profession": {
            "type": [
                "string",
                "null"
            ],
            "description": "Type of healthcare profession, if it is presented in the list [Optique, Kinésiologie, Kinésithérapie, Pharmacie, Biologie, Psychologie, Infirmier, Ostéopathie, Dentaire, Sage-femme, Sophrologie, Soins hospitaliers, Orthopédie, Podologie, Diététique, Radiologie, Orthophonie, Pédiatrie, Assurance Maladie, Pompes funèbres, Laboratoire, Gynécologie-obstétrique, Chiropractie, Psychomotricité, Ostéodensitométrie, Pneumologie, Vaccins, Sevrage tabagique, Contraception, Homéopathie, Acupunture], Unknown otherwise."
        },
        "adeli_number": {
            "type": [
                "string",
                "null"
            ],
            "description": "Adeli number (9-digit identifier) associated with the healthcare provider"
        },
        "rpps_number": {
            "type": [
                "string",
                "null"
            ],
            "description": "11 digits identifier, indicated after the term 'RPPS'"
        },
        "finess_number": {
            "type": [
                "string",
                "null"
            ],
            "description": "9 digits identifier, indicated after one of the terms in list ['finess', 'identifiant CPAM']"
        },
        "doctor_name": {
            "type": [
                "string",
                "null"
            ],
            "description": "Full name of the doctor"
        },
        "prescripteur_finess_number": {
            "type": [
                "string",
                "null"
            ],
            "description": "Finess number of the prescriber in the invoice (9 digits identifier, indicated after the term 'finess')"
        },
        "total_billed": {
            "type": [
                "number",
                "null"
            ],
            "description": "The total amount billed on the invoice"
        },
        "bill_paid": {
            "type": "boolean",
            "description": "True if the invoice has been paid, false otherwise (Look for terms like: 'acquittée', 'payée', 'quittance', 'réglée', 'certifie avoir reçu le règlement')"
        },
        "amount_paid": {
            "type": [
                "number",
                "null"
            ],
            "description": "The amount paid for the invoice"
        },
        "mandatory_coverage": {
            "type": [
                "number",
                "null"
            ],
            "description": "Amount covered by compulsory health insurance (indicated after terms like 'AMO', 'Rbmt RO', 'CAISSE', 'Noemie', etc.)"
        },
        "complementary_coverage": {
            "type": [
                "number",
                "null"
            ],
            "description": "Amount covered by complementary insurance (indicated after terms like 'AMC', 'RC', 'Mutuelle')"
        },
        "client_part": {
            "type": [
                "number",
                "null"
            ],
            "description": "Amount paid by client (indicated after terms like 'ASSURE', 'Part Client', 'Part Assuré')"
        },
        "remaining_payment": {
            "type": [
                "number",
                "null"
            ],
            "description": "The remaining balance to be paid by the beneficiary if the invoice is unpaid."
        },
        "insured_name": {
            "type": [
                "string",
                "null"
            ],
            "description": "Full name of the insured person (indicated after terms like 'Assure')"
        },
        "insured_dob": {
            "type": [
                "string",
                "null"
            ],
            "description": "Date of birth of the insured person (format: dd-mm-yyyy)"
        },
        "beneficiary_name": {
            "type": [
                "string",
                "null"
            ],
            "description": "Full name of the invoice beneficiary"
        },
        "beneficiary_dob": {
            "type": [
                "string",
                "null"
            ],
            "description": "Date of birth of the beneficiary (format: dd-mm-yyyy)"
        },
        "care_start_date": {
            "type": [
                "string",
                "null"
            ],
            "description": "Care start date (format: dd-mm-yyyy)"
        },
        "care_end_date": {
            "type": [
                "string",
                "null"
            ],
            "description": "Care end date (format: dd-mm-yyyy)"
        },
        "invoice_date": {
            "type": [
                "string",
                "null"
            ],
            "description": "Date of the invoice (format: dd-mm-yyyy)"
        },
        "security_number": {
            "type": [
                "string",
                "null"
            ],
            "description": "Social Security number (13 or 15 digit identifier, indicated after terms like 'Sécurité Social' ou 'N° INSEE' ou 'N° SS')"
        },
        "invoice_issuer": {
            "type": [
                "string",
                "null"
            ],
            "description": "Name or organization issuing the invoice or providing the service"
        },
        "currency": {
            "type": [
                "string",
                "null"
            ],
            "description": "Currency used (e.g., EUR, USD)"
        },
        "items": {
            "type": "array",
            "description": "List of items or services included in the invoice.",
            "items": {
                "type": "object",
                "properties": {
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Description of the item or service."
                    },
                    "quantity": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "description": "Quantity of the item or service."
                    },
                    "date_of_service": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Date of service (when the item was provided), in format dd-mm-yyyy."
                    },
                    "mandatory_coverage": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "description": "Amount covered by mandatory health insurance for this item."
                    },
                    "amount": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "description": "Total amount for the item (unit price * quantity)."
                    }
                }
            }
        }
    }
}