# Measurement types

Canonical page: https://docs.ovok.com/flutter-sdk/reference/ovok_sdk/measurement-types

{/* Generated by scripts/generate_reference.dart; do not edit. */}

## BuildObservationsParams [#buildobservationsparams]

```dart
class BuildObservationsParams
```

One measurement to turn into FHIR Observations.

### Constructors [#constructors]

#### BuildObservationsParams.new [#buildobservationsparamsnew]

```dart
BuildObservationsParams({
  required JsonMap measurement,
  String? patientId,
  String? sourceId,
  DateTime? effectiveDateTime,
  JsonMap? device,
})
```

Describes [`measurement`](#buildobservationsparamsmeasurement); the patient defaults to the signed-in one.

| Parameter | Type | Kind | Default |
| ------ | ------ | ------ | ------ |
| `measurement` | `JsonMap` | required named |  |
| `patientId` | `String?` | named |  |
| `sourceId` | `String?` | named |  |
| `effectiveDateTime` | `DateTime?` | named |  |
| `device` | `JsonMap?` | named |  |

### Properties [#properties]

#### BuildObservationsParams.measurement [#buildobservationsparamsmeasurement]

```dart
final JsonMap measurement
```

The measurement; `measurementTypeKey` names its type.

#### BuildObservationsParams.patientId [#buildobservationsparamspatientid]

```dart
final String? patientId
```

The patient the observations are about; null for the signed-in patient.

#### BuildObservationsParams.sourceId [#buildobservationsparamssourceid]

```dart
final String? sourceId
```

The id of the measurement's source.

#### BuildObservationsParams.effectiveDateTime [#buildobservationsparamseffectivedatetime]

```dart
final DateTime? effectiveDateTime
```

When the measurement was taken; null for now.

#### BuildObservationsParams.device [#buildobservationsparamsdevice]

```dart
final JsonMap? device
```

Metadata for the device that took the measurement.


## SaveObservationsOptions [#saveobservationsoptions]

```dart
class SaveObservationsOptions
```

How observations are saved.

### Constructors [#constructors-1]

#### SaveObservationsOptions.new [#saveobservationsoptionsnew]

```dart
SaveObservationsOptions({List<String> identifierSystems = const [], bool replace = false})
```

Options; the defaults create each reading once.

| Parameter | Type | Kind | Default |
| ------ | ------ | ------ | ------ |
| `identifierSystems` | `List<String>` | named | `const []` |
| `replace` | `bool` | named | `false` |

### Properties [#properties-1]

#### SaveObservationsOptions.identifierSystems [#saveobservationsoptionsidentifiersystems]

```dart
final List<String> identifierSystems
```

Identifier systems that name a reading for good; the SDK's device-reading id always counts.

#### SaveObservationsOptions.replace [#saveobservationsoptionsreplace]

```dart
final bool replace
```

Write over the observation saved under the same reading identifiers, for a value that changes.


## SaveObservationsResult [#saveobservationsresult]

```dart
class SaveObservationsResult
```

What a save did: saved now, or queued to retry offline.

### Constructors [#constructors-2]

#### SaveObservationsResult.saved [#saveobservationsresultsaved]

```dart
SaveObservationsResult.saved(JsonMap? response)
```

The observations were saved; [`response`](#saveobservationsresultresponse) is the server's bundle.

| Parameter | Type | Kind | Default |
| ------ | ------ | ------ | ------ |
| `response` | `JsonMap?` | positional |  |

#### SaveObservationsResult.queued [#saveobservationsresultqueued]

```dart
SaveObservationsResult.queued(String? queueId)
```

The save failed in a way worth retrying and waits in the offline queue.

| Parameter | Type | Kind | Default |
| ------ | ------ | ------ | ------ |
| `queueId` | `String?` | positional |  |

### Properties [#properties-2]

#### SaveObservationsResult.status [#saveobservationsresultstatus]

```dart
final String status
```

`saved` or `queued`.

#### SaveObservationsResult.response [#saveobservationsresultresponse]

```dart
final JsonMap? response
```

The server's response bundle; null when queued.

#### SaveObservationsResult.queueId [#saveobservationsresultqueueid]

```dart
final String? queueId
```

The offline queue entry's id; null when saved.
