Implementation
Future<PractitionerPatientRequest?> createPractitionerPatientRequest({
required final PlanDefinition planDefinition,
required final Organization organization,
}) async {
final gqlQueryString = '''
mutation CreateToken {
createPractitionerPatientRequest(
input: {
data: {
planDefinition: ${planDefinition.id}
organization: ${organization.id}
}
}
) {
practitionerPatientRequest {
${PractitionerPatientRequestGqlEntity.gqlQueryFragment}
}
}
}
''';
try {
final queryResult = await graphQLClient.mutate<void>(
MutationOptions(
document: gql(gqlQueryString),
),
);
if (queryResult.hasException) {
logger?.e(queryResult.exception.toString());
return null;
}
final data = queryResult.data!["createPractitionerPatientRequest"]
["practitionerPatientRequest"];
return PractitionerPatientRequestGqlEntity.fromJson(data)
?.toPractitionerPatientRequest();
} catch (e, stackTrace) {
logger?.e('Could not create practitioner patient request', e, stackTrace);
return null;
}
}