# Extract Demographics

> Perform Extract Demographics through GenHealth.

Source: [https://genhealth.ai/docs/workflows/integrations/gen-health/genhealth_extract_demographics](https://genhealth.ai/docs/workflows/integrations/gen-health/genhealth_extract_demographics)

Integration: [GenHealth](https://genhealth.ai/docs/workflows/integrations/gen-health.md)

- Handler: `genhealth_extract_demographics`

## Inputs

- `document_id` — Document Id (expression)
  Optional literal value or workflow expression.
- `force` — Force (boolean)
  Optional true-or-false value.
  Default: `"false"`
- `fill_missing_only` — Fill Missing Only (boolean)
  Optional true-or-false value.
  Default: `"false"`
- `prompt_override` — Prompt Override (textarea)
  Optional text value.
- `extraction_variant` — Extraction Variant (select)
  Optional selected identifier or value.
  Options: Demographics with Guardian ("demographics_with_guardian")

## Outputs

- `success` — Success
- `document_id` — Document Id
- `cached` — Cached
- `patient_name` — Patient Name
- `first_name` — First Name
- `middle_name` — Middle Name
- `last_name` — Last Name
- `birth_date` — Birth Date
- `address` — Address
- `city` — City
- `state` — State
- `zip` — Zip
- `phone` — Phone
- `email` — Email
- `ssn` — Ssn
- `height` — Height
- `weight` — Weight
- `resident_phone` — Resident Phone
- `poa_phone` — Poa Phone
- `emergency_contact` — Emergency Contact
- `emergency_contact.first_name` — Emergency Contact.First Name
- `emergency_contact.last_name` — Emergency Contact.Last Name
- `emergency_contact.relationship_type` — Emergency Contact.Relationship Type
- `emergency_contact.phone` — Emergency Contact.Phone
- `emergency_contact.mobile` — Emergency Contact.Mobile
- `emergency_contact.email` — Emergency Contact.Email
- `error` — Error

Output schema completeness: `best_effort_declared`

## Safety

- External effect: `write`
- Confirmation recommended: no
- Retry safe: no
- Dry run supported: no

## Schemas

These schemas are first-pass authoring guidance. Runtime validation remains authoritative.

### Input schema

```json
{
  "type": "object",
  "properties": {
    "force": {
      "type": "boolean",
      "description": "Optional true-or-false value.",
      "x-workflow-field-type": "boolean"
    },
    "document_id": {
      "description": "Optional literal value or workflow expression.",
      "x-workflow-field-type": "expression"
    },
    "prompt_override": {
      "type": "string",
      "description": "Optional text value.",
      "x-workflow-field-type": "textarea"
    },
    "fill_missing_only": {
      "type": "boolean",
      "description": "Optional true-or-false value.",
      "x-workflow-field-type": "boolean"
    },
    "extraction_variant": {
      "enum": [
        "demographics_with_guardian"
      ],
      "type": "string",
      "description": "Optional selected identifier or value.",
      "x-workflow-field-type": "select"
    }
  },
  "additionalProperties": false
}
```

### Output schema

```json
{
  "type": "object",
  "properties": {
    "ssn": {},
    "zip": {},
    "city": {},
    "email": {},
    "error": {},
    "phone": {},
    "state": {},
    "cached": {},
    "height": {},
    "weight": {},
    "address": {},
    "success": {},
    "last_name": {},
    "poa_phone": {},
    "birth_date": {},
    "first_name": {},
    "document_id": {},
    "middle_name": {},
    "patient_name": {},
    "resident_phone": {},
    "emergency_contact": {},
    "emergency_contact.email": {},
    "emergency_contact.phone": {},
    "emergency_contact.mobile": {},
    "emergency_contact.last_name": {},
    "emergency_contact.first_name": {},
    "emergency_contact.relationship_type": {}
  },
  "additionalProperties": true
}
```
