Measurements resource

Generated reference for ovok_sdk: measurements resource.

  • Stable unknown
  • Release candidate since 0.1.0-rc.4
  • Development since 0.1.0-dev.23+d339d81

MeasurementsResource

class MeasurementsResource

Builds and saves measurements as FHIR Observations, with an offline queue.

Reached through ovok.measurements. Every request throws an OvokException subclass when it fails.

Constructors

MeasurementsResource.new

MeasurementsResource(
  HttpClient http,
  FhirResource fhir,
  UserSession session,
  OvokSecureStore storage,
  String queueKey,
)

Built by Ovok; use ovok.measurements instead.

ParameterTypeKindDefault
httpHttpClientpositional
fhirFhirResourcepositional
sessionUserSessionpositional
storageOvokSecureStorepositional
queueKeyStringpositional

Properties

MeasurementsResource.offlineQueue

final OfflineMeasurementQueueApi offlineQueue

Saves that wait to be retried.

Methods

MeasurementsResource.build

Future<List<JsonMap>> build(BuildObservationsParams params)

Builds a measurement's Observations without saving them.

Throws OvokValidationException when the measurement type is missing or unsupported, or when no patient is named and no one is signed in.

ParameterTypeKindDefault
paramsBuildObservationsParamspositional

Returns Future<List<Map<String, dynamic>>>.

MeasurementsResource.save

Future<SaveObservationsResult> save(BuildObservationsParams params, [SaveObservationsOptions options = const SaveObservationsOptions()])

Builds a measurement's Observations and saves them with saveObservations.

ParameterTypeKindDefault
paramsBuildObservationsParamspositional
optionsSaveObservationsOptionsoptional positionalconst SaveObservationsOptions()

Returns Future<SaveObservationsResult>.

MeasurementsResource.saveObservations

Future<SaveObservationsResult> saveObservations(List<JsonMap> observations, [SaveObservationsOptions options = const SaveObservationsOptions()])

Saves one reading, main observation first, in a FHIR transaction.

Calls POST {fhirPath}; entries are created conditionally, so a retry cannot duplicate them. While someone is signed in, the reading is queued first and a retryable failure (connection, 429, 5xx) leaves it queued; any other failure is thrown. Throws OvokConflictException when another account signs in during a save that spans several requests.

ParameterTypeKindDefault
observationsList<Map<String, dynamic>>positional
optionsSaveObservationsOptionsoptional positionalconst SaveObservationsOptions()

Returns Future<SaveObservationsResult>.

MeasurementsResource.saveObservationGroups

Future<JsonMap> saveObservationGroups(List<List<JsonMap>> groups, [SaveObservationsOptions options = const SaveObservationsOptions()])

Saves readings in as few requests as fit, with each main before its members.

One reading uses a transaction; several use batches and return one bundle. Throws OvokConflictException if the signed-in account changes mid-save.

ParameterTypeKindDefault
groupsList<List<Map<String, dynamic>>>positional
optionsSaveObservationsOptionsoptional positionalconst SaveObservationsOptions()

Returns Future<Map<String, dynamic>>.

MeasurementsResource.latest

Future<JsonMap> latest(JsonMap params)

Fetches the newest observation of each code. Calls GET fhir/Observation/$lastn.

params takes patientId or me: true, plus codes and a date lower bound. Throws OvokValidationException when neither names a patient.

ParameterTypeKindDefault
paramsJsonMappositional

Returns Future<Map<String, dynamic>>.

MeasurementsResource.lastForPatient

Future<JsonMap> lastForPatient(String patientId, QueryParams query)

Fetches a patient's last observations. Calls GET patient/{patientId}/observation.

ParameterTypeKindDefault
patientIdStringpositional
queryQueryParamspositional

Returns Future<Map<String, dynamic>>.

MeasurementsResource.codesFor

String codesFor(Iterable<String> types)

The comma-joined codes the types are saved under, as latest and FHIR code searches take them.

Throws OvokValidationException for an unsupported type.

ParameterTypeKindDefault
typesIterable<String>positional

Returns String.

offlineMeasurementStorageKey

String offlineMeasurementStorageKey(String tenantCode, String baseUrl)

The secure-store key of the offline queue for one tenant on one server.

ParameterTypeKindDefault
tenantCodeStringpositional
baseUrlStringpositional

Last updated on

On this page