> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.emtelligent.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.emtelligent.com/_mcp/server.

# Found Entity Experiencer

The `experiencer` attribute of found entities specifies who experienced the given found entity; e.g. 'patient', 'father', 'mother'.

Example NLP API result file:

* found_entity_experiencer.json
* found_entity_experiencer.txt

Specifically, the following snippet from the file contains the new `experiencer` field.

```javascript
"entities": {
  "found": [
    ...
    {
      "attributes": {
        "experiencer": "patient",
        "factuality": "factual",
        "heading_status": "outside_heading",
        "known_ambiguity": "unambiguous"
      },
      "concept_confidences": {},
      "concept_links": [
        "68099d0bf40b872656827ef8bf74bb608af1f9ffa0eac4acad45fc8ad02c5ef8"
      ],
      "entity_type": {
        "snomed": "finding",
        "umls": "Finding"
      },
      "label": "0c26ac2a6767945906b94f6b49b2b6791f2cb400c8ca16ffbb1f27ca0f7501a3",
      "locations": [
        "58ba61cab62b4d6e96fa61ab41dfb8079a58e5cf67bd2efcb0325c901b26059d",
        "ef9ee4d9d548f80a0b6a7e16e286236ba709fe41894346860fdd0bd7a2581d82"
      ],
      "section_name": "INTRO",
      "spans": [
        {
          "end": 284,
          "start": 276
        }
      ],
      "text": [
        "vacation"
      ]
    },
...
```

## Changes

### Python API

There is a new attribute: `experiencer`. When returned by the NLP API this will can have arbitrary string values (it may also be None if not returned by the NLP API).

### Schema changes

The `experiencer` attribute is stored in the `foundentity` table in a new column.

The schema of that table now looks like (for PostgreSQL):

```text
                                        Table "public.foundentity"
     Column      |          Type          | Collation | Nullable |                 Default
-----------------+------------------------+-----------+----------+-----------------------------------------
 id              | integer                |           | not null | nextval('foundentity_id_seq'::regclass)
 polarity        | character varying(255) |           |          |
 section_name    | text                   |           |          |
 uncertainty     | character varying(255) |           |          |
 known_ambiguity | character varying(255) |           |          |
 question_status | character varying(255) |           |          |
 guidance        | character varying(255) |           |          |
 experiencer     | character varying(255) |           |          |
 factuality      | character varying(255) |           |          |
 heading_status  | character varying(15)  |           |          |
 text            | text                   |           |          |
 start           | integer                |           |          |
 document_id     | integer                |           | not null |
Indexes:
    "pk_foundentity" PRIMARY KEY, btree (id)
Foreign-key constraints:
    "fk_foundentity_document_id_document" FOREIGN KEY (document_id) REFERENCES document(id)
Referenced by:
    TABLE "foundentityconcept" CONSTRAINT "fk_foundentityconcept_found_entity_id_foundentity" FOREIGN KEY (found_entity_id) REFERENCES foundentity(id)
    TABLE "foundentitylocation" CONSTRAINT "fk_foundentitylocation_found_entity_id_foundentity" FOREIGN KEY (found_entity_id) REFERENCES foundentity(id)
    TABLE "foundentitymeasurementunit" CONSTRAINT "fk_foundentitymeasurementunit_found_entity_id_foundentity" FOREIGN KEY (found_entity_id) REFERENCES foundentity(id)
    TABLE "foundentityspan" CONSTRAINT "fk_foundentityspan_found_entity_id_foundentity" FOREIGN KEY (found_entity_id) REFERENCES foundentity(id)
    TABLE "foundentitytype" CONSTRAINT "fk_foundentitytype_found_entity_id_foundentity" FOREIGN KEY (found_entity_id) REFERENCES foundentity(id)
```