Rights Layer Specification

Use Case: Healthcare (Right of Medical Practice)

Status: Draft v0.1.0 — This section is informative.

Scenario

Dr. Sato holds a national physician licence granted under the medical practitioners statute. In Rights Layer terms the licence grant is a Source of kind qualification, issued by the national medical licensing authority (an Authority), and it grounds a single Right: the right of medical practice. This Right has no specific tangible Object; its Object is a category of activity — the practice of medicine — which the model expressly allows.

This use case is the clearest illustration of two design positions. First, kinds live in Actions, not Rights: there is no “surgery right” distinct from an “examination right”; there is one Right with two Actions, examine and operate. Second, Eligibilities are per-Action, one requirement each. examine has a single Eligibility: the licence is in force and not suspended or revoked. operate has three: the licence is in force; the procedure takes place at a facility equipped and accredited for the category of surgery; and the physician holds a specialty credential covering the procedure. What used to be thought of as “the circumstances of the operation” is simply another ordinary Eligibility, answered from outside the layer by the issuer best placed to answer it.

Each Eligibility receives at most one Boolean Eligibility Response: the licensing authority answers the licence requirement against the medical licence register; the surgical facility’s credentials committee answers the accredited-facility requirement; the specialty certification body answers the credential requirement. How each of them evaluates — register lookup, committee review, certificate checking — is outside Rights Layer; only the verifiable Boolean answers enter the model. Because all three Responses for operate are true, a Decision for operate is established. The examine Eligibility is left unanswered in the example, so no Decision exists for examine — unanswered is not a third value; the Response simply does not exist.

The example carries a full exercise chain for a scheduled operation: an ExerciseRequested Event, three EligibilityResponseIssued Events, the established Decision with its DecisionEstablished Event, the Exercise, and ExerciseStarted / ExerciseEnded Exercise Events.

Mapping

Rights Layer concept Domain instance
Subject Dr. Sato, a licensed physician
Object Medical practice (category of activity; no tangible object)
Right The right of medical practice
Source Qualification: national physician licence under the medical practitioners statute
Authority National medical licensing authority (grantor); the facility’s credentials committee and the specialty certification body (Response issuers)
Action examine; operate
Eligibility (examine) Licence in force, not suspended or revoked (one requirement)
Eligibility (operate) Three Eligibilities, one requirement each: licence in force; procedure at a facility accredited for the surgery category; specialty credential covering the procedure
Eligibility Response (1:1) Licence: true by the licensing authority (register attestation); facility: true by the facility’s credentials committee; credential: true by the certification body. How each evaluates is outside the layer.
Evidence / Evidence Source Licence record from the medical licence register; specialty certificate from the certification register — referenced by the Responses as auxiliary material
Decision Established for operate because all three Responses are verifiable and true; not established for examine, whose Eligibility is unanswered
Exercise / Exercise Event The operation, performed after the Decision was established; requested, started, ended
Event RightGranted at licensure; disciplinary suspension would be a later Event

Chain Instantiation

flowchart TD
    S["Source<br/>Qualification:<br/>national physician licence"] --> R["Right<br/>Right of medical practice<br/>(held by Dr. Sato)"]
    R --> A1["Action<br/>examine"]
    R --> A2["Action<br/>operate"]
    A1 --> EL0["Eligibility<br/>licence in force<br/>(unanswered: no Decision)"]
    A2 --> EL1["Eligibility<br/>licence in force"]
    A2 --> EL2["Eligibility<br/>accredited surgical facility"]
    A2 --> EL3["Eligibility<br/>specialty credential"]
    EL1 --> ER1["Response: true<br/>issuer: licensing authority"]
    EL2 --> ER2["Response: true<br/>issuer: credentials committee"]
    EL3 --> ER3["Response: true<br/>issuer: certification body"]
    ER1 --> D["Decision<br/>established: all Responses true"]
    ER2 --> D
    ER3 --> D
    D --> EX["Exercise<br/>surgical procedure performed"]
    EX --> EE["Exercise Event<br/>requested / started / ended"]

What Rights Layer Does Not Model

Example

Machine-readable expression: healthcare.json