# ovok_sdk.resources.questionnaires

Canonical page: https://docs.ovok.com/python-sdk/reference/resources/questionnaires

Questionnaire population and QuestionnaireResponse submission and extraction.

## QuestionnairesResource [#questionnairesresource]

```python
QuestionnairesResource(http: HttpClient)
```

Questionnaire operations. Created by `Ovok`; access it as `ovok.questionnaires`.

### populate() [#populate]

```python
populate(questionnaire_id: str, parameters: Resource | None = None) -> Resource
```

Populate a Questionnaire into a draft QuestionnaireResponse with FHIR `$populate`.

**Parameters**

| Name | Type | Default | Description |
| --- | --- | --- | --- |
| `questionnaire_id` | `str` |  | The Questionnaire's ID. |
| `parameters` | `Resource \| None` | `None` | A FHIR Parameters resource; defaults to an empty one. |

**Returns**

- `Resource`: The `$populate` result, usually Parameters holding the QuestionnaireResponse.

## QuestionnaireResponsesResource [#questionnaireresponsesresource]

```python
QuestionnaireResponsesResource(http: HttpClient, fhir: FhirResource)
```

Submits and extracts QuestionnaireResponses.

Created by `Ovok`; access it as `ovok.questionnaire_responses`.

### submit() [#submit]

```python
submit(response: Resource) -> Resource
```

Create a QuestionnaireResponse in a transaction Bundle.

**Parameters**

| Name | Type | Default | Description |
| --- | --- | --- | --- |
| `response` | `Resource` |  | The QuestionnaireResponse resource. |

**Returns**

- `Resource`: The transaction-response Bundle.

### submit_with_observations() [#submit_with_observations]

```python
submit_with_observations(response: Resource, observations: list[Resource]) -> Resource
```

Create a QuestionnaireResponse and its Observations in one transaction.

A resource with an `id` is sent with that `fullUrl`, so the others can reference it.

**Parameters**

| Name | Type | Default | Description |
| --- | --- | --- | --- |
| `response` | `Resource` |  | The QuestionnaireResponse resource. |
| `observations` | `list[Resource]` |  | Observations to create alongside it. |

**Returns**

- `Resource`: The transaction-response Bundle.

### extract() [#extract]

```python
extract(response_id: str) -> Resource
```

Extract resources from a stored QuestionnaireResponse with FHIR `$extract`.

**Parameters**

| Name | Type | Default | Description |
| --- | --- | --- | --- |
| `response_id` | `str` |  | The QuestionnaireResponse's ID. |

**Returns**

- `Resource`: The `$extract` result.
