Recipe catalog / consent-scope-fit
Check whether consent wording covers a use
Does the wording of consent cover the described use?
You hold the text of a patient's consent or authorization and need to check, before sharing or using their information, whether the described use falls within what the wording permits.
Explore this recipe interactively ยท Source and implementation guide
Use consent-scope-fit in TypeScript
Install with npm install jev-recipes. Requires Node.js 22.9 or newer and ES modules. Set TYPESAFE_API_KEY in your server environment for live calls, which send input to TypeSafe and use API quota. See the installation guide.
import { consentScopeFit } from 'jev-recipes/consent-scope-fit';
const result = await consentScopeFit({
"consent": "I authorize Riverside Family Clinic to share my visit summaries and lab results with my cardiologist, Dr. Anita Patel, for the purpose of coordinating my heart care. This authorization expires one year from the date signed.",
"use": "Send the patient's lab results to a pharmaceutical company's research registry for a hypertension study.",
"minConfidence": 0.8
});
console.log(result);
Input contract
| Field | Type | Needed |
|---|---|---|
| consent | string | Required |
| use | string | Required |
| minConfidence | number | Optional |
Full input and result schemas
{
"input": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"consent": {
"type": "string"
},
"use": {
"type": "string"
},
"minConfidence": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"consent",
"use"
]
},
"result": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"model": {
"type": "string"
},
"usage": {
"type": "object",
"properties": {
"input_tokens": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"output_tokens": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"input_tokens",
"output_tokens"
],
"additionalProperties": false
},
"status": {
"type": "string",
"enum": [
"ready",
"review"
]
},
"probability": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"confidence": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"verdict": {
"type": "string",
"enum": [
"covered",
"uncovered"
]
}
},
"required": [
"model",
"usage",
"status",
"probability",
"confidence",
"verdict"
],
"additionalProperties": false
}
}Saved example result
This hand-authored response demonstrates the contract. It is not a model accuracy measurement. Run it without an API key: npx jev-recipes demo consent-scope-fit.
{
"model": "demo-fixture",
"usage": {
"input_tokens": 0,
"output_tokens": 0
},
"status": "ready",
"probability": 0.03,
"confidence": 0.97,
"verdict": "uncovered"
}
Evaluation evidence
No verified live accuracy measurement is available. Evaluate representative cases before using this decision in your workflow.
Use the evaluation guide to measure this decision on your own labeled cases.
Limitations
- Compares wording only. It does not determine legal sufficiency, whether the consent was validly obtained, or whether it has expired or been revoked.
- Dates, revocation status, and the identity of the named parties belong in application records, not in this check.
Related recipes
- consent-request: Use consent-request to check that a message actually asks for consent, before there is any consent wording to compare against.
- source-applicability: Use source-applicability to check whether a policy or source document applies to a situation at all.