@ovok/core/next/react

Generated reference for @ovok/core/next/react.

  • Stable unknown
  • Release candidate since 0.4.49-rc.4
  • Development since 0.4.49-dev.517+4645a0a

Type Aliases

OvokMutation

type OvokMutation<TVariables, TResult> = (client, variables) => Promise<TResult>;

A function that writes with the client, given the variables passed to mutate.

Type Parameters

Type Parameter
TVariables
TResult

Parameters

ParameterType
clientOvok
variablesTVariables

Returns

Promise<TResult>


OvokMutationState

type OvokMutationState<TVariables, TResult> = object;

The state returned by useOvokMutation.

Type Parameters

Type Parameter
TVariables
TResult

Properties

PropertyTypeDescription
dataTResult | undefinedThe latest result, or undefined before the first one.
errorError | undefinedThe last error, or undefined.
loadingbooleanWhether a mutation is in flight.
mutate(variables) => Promise<TResult>Runs the mutation; rejects with the error it sets.
reset() => voidClears data and error.

OvokProviderProps

type OvokProviderProps = React.PropsWithChildren<{
  client: Ovok;
}>;

Props for OvokProvider.


OvokQuery

type OvokQuery<T> = (client, signal) => Promise<T>;

A function that reads data with the client; it receives an abort signal.

Type Parameters

Type Parameter
T

Parameters

ParameterType
clientOvok
signalAbortSignal

Returns

Promise<T>


OvokQueryOptions

type OvokQueryOptions = object;

Options for useOvokQuery.

Properties

PropertyTypeDescription
enabled?booleanSet false to skip the query; defaults to true.
queryKeyreadonly unknown[]Identifies the query; the query runs again when it changes.

OvokQueryState

type OvokQueryState<T> = object;

The state returned by the query hooks.

Type Parameters

Type Parameter
T

Properties

PropertyTypeDescription
dataT | undefinedThe latest result, or undefined before the first one.
errorError | undefinedThe last error, or undefined.
isRefreshingbooleanWhether a request is in flight while earlier data is still shown.
isStalebooleanWhether the shown data may be out of date, because a refresh is running or failed.
loadingbooleanWhether a request is in flight.
refetch() => voidRuns the query again.

Functions

OvokProvider()

function OvokProvider(__namedParameters): ReactElement;

Makes client available to the hooks in its subtree.

Parameters

ParameterType
__namedParametersOvokProviderProps

Returns

ReactElement

Example

<OvokProvider client={ovok}><App /></OvokProvider>

useOvok()

function useOvok(): Ovok;

Returns the Ovok client from the nearest OvokProvider.

Returns

Ovok

Throws

Error when used outside an OvokProvider.


useOvokMutation()

function useOvokMutation<TVariables, TResult>(mutation): OvokMutationState<TVariables, TResult>;

Wraps a write so a component can call it and track its loading, error and data state.

Type Parameters

Type Parameter
TVariables
TResult

Parameters

ParameterType
mutationOvokMutation<TVariables, TResult>

Returns

OvokMutationState<TVariables, TResult>

Example

const { mutate } = useOvokMutation((ovok, patient) => ovok.fhir.create(patient));

useOvokQuery()

function useOvokQuery<T>(query, options): OvokQueryState<T>;

Runs query and tracks its loading, error and data state; it runs again when options.queryKey changes.

Type Parameters

Type Parameter
T

Parameters

ParameterType
queryOvokQuery<T>
optionsOvokQueryOptions

Returns

OvokQueryState<T>

Example

const { data, loading } = useOvokQuery((ovok, signal) => ovok.health.check({ signal }), { queryKey: ["health"] });

useProfile()

function useProfile(): OvokQueryState<OvokReference | null>;

Returns the signed-in profile reference, or null when signed out.

Returns

OvokQueryState<OvokReference | null>


useResource()

function useResource<K>(
   type, 
   id, 
   options?
): OvokQueryState<ExtractResource<K>>;

Reads one FHIR resource by id; skipped while id is undefined.

Type Parameters

Type Parameter
K extends | "Project" | "Practitioner" | "User" | "ProjectMembership" | "AccessPolicy" | "Patient" | "RelatedPerson" | "Appointment" | "UserConfiguration" | "Bundle" | "Observation" | "Account" | "ActivityDefinition" | "AdverseEvent" | "Agent" | "AllergyIntolerance" | "AppointmentResponse" | "AsyncJob" | "AuditEvent" | "Basic" | "Binary" | "BiologicallyDerivedProduct" | "BodyStructure" | "Bot" | "BulkDataExport" | "CapabilityStatement" | "CarePlan" | "CareTeam" | "CatalogEntry" | "ChargeItem" | "ChargeItemDefinition" | "Claim" | "ClaimResponse" | "ClientApplication" | "ClinicalImpression" | "CodeSystem" | "Communication" | "CommunicationRequest" | "CompartmentDefinition" | "Composition" | "ConceptMap" | "Condition" | "Consent" | "Contract" | "Coverage" | "CoverageEligibilityRequest" | "CoverageEligibilityResponse" | "DetectedIssue" | "Device" | "DeviceDefinition" | "DeviceMetric" | "DeviceRequest" | "DeviceUseStatement" | "DiagnosticReport" | "DicomInstance" | "DicomSeries" | "DicomStudy" | "DocumentManifest" | "DocumentReference" | "DomainConfiguration" | "EffectEvidenceSynthesis" | "Encounter" | "Endpoint" | "EnrollmentRequest" | "EnrollmentResponse" | "EpisodeOfCare" | "EventDefinition" | "Evidence" | "EvidenceVariable" | "ExampleScenario" | "ExplanationOfBenefit" | "FamilyMemberHistory" | "Flag" | "Goal" | "GraphDefinition" | "Group" | "GuidanceResponse" | "HealthcareService" | "ImagingStudy" | "Immunization" | "ImmunizationEvaluation" | "ImmunizationRecommendation" | "ImplementationGuide" | "InsurancePlan" | "Invoice" | "JsonWebKey" | "Library" | "Linkage" | "List" | "Location" | "Login" | "Measure" | "MeasureReport" | "Media" | "Medication" | "MedicationAdministration" | "MedicationDispense" | "MedicationKnowledge" | "MedicationRequest" | "MedicationStatement" | "MedicinalProduct" | "MedicinalProductAuthorization" | "MedicinalProductContraindication" | "MedicinalProductIndication" | "MedicinalProductIngredient" | "MedicinalProductInteraction" | "MedicinalProductManufactured" | "MedicinalProductPackaged" | "MedicinalProductPharmaceutical" | "MedicinalProductUndesirableEffect" | "MessageDefinition" | "MessageHeader" | "MolecularSequence" | "NamingSystem" | "NutritionOrder" | "ObservationDefinition" | "OperationDefinition" | "OperationOutcome" | "Organization" | "OrganizationAffiliation" | "Package" | "PackageInstallation" | "PackageRelease" | "Parameters" | "PaymentNotice" | "PaymentReconciliation" | "Person" | "PlanDefinition" | "PractitionerRole" | "Procedure" | "Provenance" | "Questionnaire" | "QuestionnaireResponse" | "RequestGroup" | "ResearchDefinition" | "ResearchElementDefinition" | "ResearchStudy" | "ResearchSubject" | "RiskAssessment" | "RiskEvidenceSynthesis" | "Schedule" | "SearchParameter" | "ServiceRequest" | "Slot" | "SmartAppLaunch" | "SmartHealthLink" | "Specimen" | "SpecimenDefinition" | "StructureDefinition" | "StructureMap" | "Subscription" | "SubscriptionStatus" | "Substance" | "SubstanceNucleicAcid" | "SubstancePolymer" | "SubstanceProtein" | "SubstanceReferenceInformation" | "SubstanceSourceMaterial" | "SubstanceSpecification" | "SupplyDelivery" | "SupplyRequest" | "Task" | "TerminologyCapabilities" | "TestReport" | "TestScript" | "UserSecurityRequest" | "ValueSet" | "VerificationResult" | "VisionPrescription"

Parameters

ParameterType
typeK
idstring | undefined
options?Pick<OvokQueryOptions, "enabled">

Returns

OvokQueryState<ExtractResource<K>>


useSearch()

function useSearch<K>(
   type, 
   params?, 
   options?
): OvokQueryState<Page<ExtractResource<K>>>;

Searches a FHIR resource type and returns the first page.

Type Parameters

Type Parameter
K extends | "Project" | "Practitioner" | "User" | "ProjectMembership" | "AccessPolicy" | "Patient" | "RelatedPerson" | "Appointment" | "UserConfiguration" | "Bundle" | "Observation" | "Account" | "ActivityDefinition" | "AdverseEvent" | "Agent" | "AllergyIntolerance" | "AppointmentResponse" | "AsyncJob" | "AuditEvent" | "Basic" | "Binary" | "BiologicallyDerivedProduct" | "BodyStructure" | "Bot" | "BulkDataExport" | "CapabilityStatement" | "CarePlan" | "CareTeam" | "CatalogEntry" | "ChargeItem" | "ChargeItemDefinition" | "Claim" | "ClaimResponse" | "ClientApplication" | "ClinicalImpression" | "CodeSystem" | "Communication" | "CommunicationRequest" | "CompartmentDefinition" | "Composition" | "ConceptMap" | "Condition" | "Consent" | "Contract" | "Coverage" | "CoverageEligibilityRequest" | "CoverageEligibilityResponse" | "DetectedIssue" | "Device" | "DeviceDefinition" | "DeviceMetric" | "DeviceRequest" | "DeviceUseStatement" | "DiagnosticReport" | "DicomInstance" | "DicomSeries" | "DicomStudy" | "DocumentManifest" | "DocumentReference" | "DomainConfiguration" | "EffectEvidenceSynthesis" | "Encounter" | "Endpoint" | "EnrollmentRequest" | "EnrollmentResponse" | "EpisodeOfCare" | "EventDefinition" | "Evidence" | "EvidenceVariable" | "ExampleScenario" | "ExplanationOfBenefit" | "FamilyMemberHistory" | "Flag" | "Goal" | "GraphDefinition" | "Group" | "GuidanceResponse" | "HealthcareService" | "ImagingStudy" | "Immunization" | "ImmunizationEvaluation" | "ImmunizationRecommendation" | "ImplementationGuide" | "InsurancePlan" | "Invoice" | "JsonWebKey" | "Library" | "Linkage" | "List" | "Location" | "Login" | "Measure" | "MeasureReport" | "Media" | "Medication" | "MedicationAdministration" | "MedicationDispense" | "MedicationKnowledge" | "MedicationRequest" | "MedicationStatement" | "MedicinalProduct" | "MedicinalProductAuthorization" | "MedicinalProductContraindication" | "MedicinalProductIndication" | "MedicinalProductIngredient" | "MedicinalProductInteraction" | "MedicinalProductManufactured" | "MedicinalProductPackaged" | "MedicinalProductPharmaceutical" | "MedicinalProductUndesirableEffect" | "MessageDefinition" | "MessageHeader" | "MolecularSequence" | "NamingSystem" | "NutritionOrder" | "ObservationDefinition" | "OperationDefinition" | "OperationOutcome" | "Organization" | "OrganizationAffiliation" | "Package" | "PackageInstallation" | "PackageRelease" | "Parameters" | "PaymentNotice" | "PaymentReconciliation" | "Person" | "PlanDefinition" | "PractitionerRole" | "Procedure" | "Provenance" | "Questionnaire" | "QuestionnaireResponse" | "RequestGroup" | "ResearchDefinition" | "ResearchElementDefinition" | "ResearchStudy" | "ResearchSubject" | "RiskAssessment" | "RiskEvidenceSynthesis" | "Schedule" | "SearchParameter" | "ServiceRequest" | "Slot" | "SmartAppLaunch" | "SmartHealthLink" | "Specimen" | "SpecimenDefinition" | "StructureDefinition" | "StructureMap" | "Subscription" | "SubscriptionStatus" | "Substance" | "SubstanceNucleicAcid" | "SubstancePolymer" | "SubstanceProtein" | "SubstanceReferenceInformation" | "SubstanceSourceMaterial" | "SubstanceSpecification" | "SupplyDelivery" | "SupplyRequest" | "Task" | "TerminologyCapabilities" | "TestReport" | "TestScript" | "UserSecurityRequest" | "ValueSet" | "VerificationResult" | "VisionPrescription"

Parameters

ParameterType
typeK
params?QueryParams
options?Pick<OvokQueryOptions, "enabled">

Returns

OvokQueryState<Page<ExtractResource<K>>>


useSession()

function useSession(): OvokQueryState<Session | null>;

Returns the current session, or null when signed out, and updates when the session changes.

Returns

OvokQueryState<Session | null>


useSubscription()

function useSubscription<T>(subscribe): T | undefined;

Subscribes to a source of values and returns the latest one, or undefined before the first.

Type Parameters

Type Parameter
T

Parameters

ParameterType
subscribe(listener) => () => void

Returns

T | undefined

Last updated on

On this page