# PersonStandard-template.json

{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "$id": "../Documentation/Implementation/data_model/Json/",
    "title": "PersonStandard",
    "description": "PersonStandard template",
    "dataTypes": [
        "software",
        "none"
    ],
    "type": "object",
    "class": "PersonStandard",
    "externalImports": {
        "orcid": {},
        "ror": {}
    },
    "properties": {
        "nameType": {
            "type": "string",
            "description": "Name type",
            "inputType": "dropdown",
            "label@fr_FR": "Type (personne ou organisation)",
            "label@en_GB": "Type (person or organisation)",
            "registries": [
                "NameTypeValues"
            ],
            "registryCategory": "NameTypeValue",
            "tooltip": null,
            "form_label@fr_FR": "Type (personne ou organisation)",
            "form_label@en_GB": "Type (person or organisation)"
        },
        "lastName": {
            "type": "string",
            "description": "Last name (family name)",
            "label@fr_FR": "Nom",
            "label@en_GB": "Last name",
            "tooltip": null,
            "example@fr_FR": "Dupont ou Comité d'éthique",
            "example@en_GB": "Dupont or Ethics comittee",
            "form_label@fr_FR": "Nom",
            "form_label@en_GB": "Last name"
        },
        "firstName": {
            "type": "string",
            "description": "First name (given name)",
            "label@fr_FR": "Prénom",
            "label@en_GB": "First name",
            "tooltip@fr_FR": "Saisir un prénom, s'il s'agit d'une personne physique",
            "tooltip@en_GB": "Enter a first name, if it is a natural person",
            "form_label@fr_FR": "Prénom",
            "form_label@en_GB": "First name"
        },
        "personId": {
            "type": "string",
            "description": "Email address",
            "label@fr_FR": "Identifiant",
            "label@en_GB": "Identifier",
            "tooltip": null,
            "example@fr_FR": "https://orcid.org/0000-0002-9148-9926",
            "example@en_GB": "https://orcid.org/0000-0002-9148-9926",
            "form_label@fr_FR": "Identifiant",
            "form_label@en_GB": "Identifier"
        },
        "idType": {
            "type": "string",
            "description": "Person identifier",
            "inputType": "dropdown",
            "label@fr_FR": "Type d'identifiant",
            "label@en_GB": "Identifier type",
            "registries": [
                "AgentIdSystem"
            ],
            "registryCategory": "AgentIdSystem",
            "overridable": true,
            "tooltip": null,
            "form_label@fr_FR": "Type d'identifiant",
            "form_label@en_GB": "Identifier type"
        },
        "mbox": {
            "type": "string",
            "format": "email",
            "description": "Identification system",
            "label@fr_FR": "Email",
            "label@en_GB": "Email",
            "tooltip": null,
            "form_label@fr_FR": "Email",
            "form_label@en_GB": "Email"
        },
        "affiliationName": {
            "type": "string",
            "description": "Affiliation name",
            "label@fr_FR": "Nom de l'affiliation",
            "label@en_GB": "Affiliation name",
            "tooltip@fr_FR": "Dans le cas d'une personne, utiliser de préférence le nom de la structure enregistrée dans ROR (ou RNSR). Dans le cas d'une organisation, indiquer le nom de l'établissement de rattachement",
            "tooltip@en_GB": "In case of a personal name, preferably use the name of the structure registered in RNSR. In case of an organizational name, you can add here the name of the formal institution to which the creator belongs",
            "example@fr_FR": "Institut de l'Information Scientifique et Technique",
            "example@en_GB": "Institut de l'Information Scientifique et Technique",
            "form_label@fr_FR": "Nom de l'affiliation",
            "form_label@en_GB": "Affiliation name"
        },
        "affiliationId": {
            "type": "string",
            "description": "Affiliation identifier",
            "label@fr_FR": "Identifiant de l'affiliation",
            "label@en_GB": "Affiliation identifier",
            "tooltip": null,
            "example@fr_FR": "https://ror.org/02mn0vt57",
            "example@en_GB": "https://ror.org/02mn0vt57",
            "form_label@fr_FR": "Identifiant de l'affiliation",
            "form_label@en_GB": "Affiliation identifier"
        },
        "affiliationIdType": {
            "type": "string",
            "description": "Identification system",
            "inputType": "dropdown",
            "label@fr_FR": "Type d'identifiant de l'affiliation",
            "label@en_GB": "Affiliation identifier type",
            "registries": [
                "OrganizationIdSystem"
            ],
            "registryCategory": "OrganizationIdSystem",
            "overridable": true,
            "tooltip": null,
            "form_label@fr_FR": "Type d'identifiant de l'affiliation",
            "form_label@en_GB": "Affiliation identifier type"
        }
    },
    "required": [
        "nameType",
        "lastName",
        "firstName",
        "personId",
        "idType",
        "affiliationName",
        "affiliationId",
        "affiliationIdType"
    ],
    "to_string": [
        "$.lastName",
        " ",
        "$.firstName"
    ],
    "unicity": [
        "firstName",
        "lastName"
    ]
}