useFhirExecuteMutation
Return a Mutation for an operation request.
This can be used for operations that affect states or not.
Basic usage
import { Operation } from "@bonfhir/core/r4b";
import { useFhirExecuteMutation } from "@bonfhir/query/r4b";
import { Button } from "@mantine/core";
export default function MyComponent() {
  const translateOperationMutation = useFhirExecuteMutation();
  const buildTranslateOperation = (): Operation => ({
    operation: "$translate",
    affectsState: false,
    resourceType: "ConceptMap",
    parameters: [
      {
        name: "url",
        valueUri: "http://hl7.org/fhir/ConceptMap/101",
      },
      {
        name: "system",
        valueUri: "http://hl7.org/fhir/ValueSet/address-use",
      },
      {
        name: "code",
        valueCode: "work",
      },
    ],
  });
  return (
    <Button
      loading={translateOperationMutation.isPending}
      onClick={() =>
        translateOperationMutation.mutate(buildTranslateOperation())
      }
    >
      Translate code
    </Button>
  );
}
With options
import { DEFAULT_FHIR_CLIENT, useFhirExecuteMutation } from "@bonfhir/query/r4b";
export default function MyComponent() {
  const translateOperationMutation = useFhirExecuteMutation({
    // The name of the FhirClient to use
    fhirClient: DEFAULT_FHIR_CLIENT,
    // React query mutation options
    mutation: {
      onSuccess: (patient) => {...},
      onError: (error) => {...}
    },
  });
  //...
}