PII_Identify(text -> persons, address, identifiers_patient, identifiers_physician, identifiers_register, dates, birth_date, professions, organizations, contactdetails, other
instructions="Détectez les personnes, noms, adresses, numéros de téléphone, âges, numéros d'identification et autres informations personnelles dans le texte"
text = Field(annotation=str required=True json_schema_extra={'__dspy_field_type': 'input', 'prefix': 'Text:', 'desc': '${text}'})
persons = Field(annotation=list[str] required=True json_schema_extra={'desc': 'Tous les noms de personnes mentionnés dans le texte', '__dspy_field_type': 'output', 'prefix': 'Persons:'})
address = Field(annotation=list[str] required=True json_schema_extra={'desc': 'Toutes les adresses ou lieux mentionnés dans le texte, éventuellement avec des espaces ou des sauts de ligne entre eux.', '__dspy_field_type': 'output', 'prefix': 'Address:'})
identifiers_patient = Field(annotation=list[str] required=True json_schema_extra={'desc': "Numéros d'identification mentionnés dans le texte qui se réfèrent au patient, tels que connus dans l'établissement médical. Ce ne sont pas des noms mais des numéros ou des identifiants.", '__dspy_field_type': 'output', 'prefix': 'Identifiers Patient:'})
identifiers_physician = Field(annotation=list[str] required=True json_schema_extra={'desc': "Numéros d'identification mentionnés dans le texte qui se réfèrent au médecin ou aux médecins. Ce ne sont pas des noms mais des numéros ou des identifiants.", '__dspy_field_type': 'output', 'prefix': 'Identifiers Physician:'})
identifiers_register = Field(annotation=list[str] required=True json_schema_extra={'desc': "Numéro d'identification d'une personne tel qu'un numéro de registre national ou numéro de sécurité sociale mentionné dans le texte", '__dspy_field_type': 'output', 'prefix': 'Identifiers Register:'})
dates = Field(annotation=list[str] required=True json_schema_extra={'desc': 'Dates mentionnées dans le texte', '__dspy_field_type': 'output', 'prefix': 'Dates:'})
birth_date = Field(annotation=list[str] required=True json_schema_extra={'desc': 'Dates de naissance ou âges mentionnés dans le texte', '__dspy_field_type': 'output', 'prefix': 'Birth Date:'})
professions = Field(annotation=list[str] required=True json_schema_extra={'desc': 'Professions mentionnées dans le texte liées au patient', '__dspy_field_type': 'output', 'prefix': 'Professions:'})
organizations = Field(annotation=list[str] required=True json_schema_extra={'desc': 'Organisations mentionnées dans le texte. Comme les établissements médicaux, hôpitaux, centres de soins résidentiels, pharmacies, etc.', '__dspy_field_type': 'output', 'prefix': 'Organizations:'})
contactdetails = Field(annotation=list[str] required=True json_schema_extra={'desc': 'Coordonnées mentionnées dans le texte telles que adresses e-mail, numéros de téléphone, URLs, données de fax, sites web', '__dspy_field_type': 'output', 'prefix': 'Contactdetails:'})
other = Field(annotation=list[str] required=True json_schema_extra={'desc': "Autres informations personnelles non médicales mentionnées dans le texte telles que numéros de compte bancaire, numéros d'assurance, numéros d'étude et similaires.", '__dspy_field_type': 'output', 'prefix': 'Other:'})
)