Question: does systemAction need a standard field for a verifiable pre-execution check?
The 2.0 spec defines systemAction as an Action "not presented to the user within a card, but rather may be auto-applied without user intervention," and leaves the decision to auto-apply entirely to the CDS Client — no guidance on audit trail, logging, or a verification step before an action is applied unreviewed.
Concrete failure mode this leaves open: a CDS Service returns a systemAction that auto-applies (e.g. auto-orders a lab, auto-updates a problem list) based on a bad prefetch, a stale FHIR resource, or a service bug. Because there's no standard place to attach why the system believed the action was safe to auto-apply, or a signed record checkable by a later auditor, the only trace of that decision is whatever the CDS Client happens to log on its own — which varies per implementer and isn't currently interoperable across CDS Client implementations.
We're not proposing an implementation here — genuinely asking: has this been discussed before (I didn't find an existing issue on it), and is there appetite for an optional field on systemAction (or an extension point) that lets a CDS Service attach a checkable pre-execution artifact — e.g. a hash/signature over the action + the input state it was decided on, so a later audit can confirm the decision wasn't tampered with or fabricated after the fact, without requiring any particular verification backend? Happy to sketch a concrete proposal if that's a real gap worth closing rather than something already covered elsewhere in the ecosystem (SMART on FHIR audit event resources, etc.) that I've missed.
Question: does
systemActionneed a standard field for a verifiable pre-execution check?The 2.0 spec defines
systemActionas anAction"not presented to the user within a card, but rather may be auto-applied without user intervention," and leaves the decision to auto-apply entirely to the CDS Client — no guidance on audit trail, logging, or a verification step before an action is applied unreviewed.Concrete failure mode this leaves open: a CDS Service returns a
systemActionthat auto-applies (e.g. auto-orders a lab, auto-updates a problem list) based on a bad prefetch, a stale FHIR resource, or a service bug. Because there's no standard place to attach why the system believed the action was safe to auto-apply, or a signed record checkable by a later auditor, the only trace of that decision is whatever the CDS Client happens to log on its own — which varies per implementer and isn't currently interoperable across CDS Client implementations.We're not proposing an implementation here — genuinely asking: has this been discussed before (I didn't find an existing issue on it), and is there appetite for an optional field on
systemAction(or an extension point) that lets a CDS Service attach a checkable pre-execution artifact — e.g. a hash/signature over the action + the input state it was decided on, so a later audit can confirm the decision wasn't tampered with or fabricated after the fact, without requiring any particular verification backend? Happy to sketch a concrete proposal if that's a real gap worth closing rather than something already covered elsewhere in the ecosystem (SMART on FHIR audit event resources, etc.) that I've missed.