Skip to content

Reviewed Extension

Canonical../StructureDefinition/nexus-emr-reviewed
Statusdraft · 1.26.0
BaseExtension (constraint)
ContextDiagnosticReport (element), Observation (element), DocumentReference (element)
SourceFSH · JSON

Review acknowledgement state for the artifact it is stamped on -- a result or an attached document: who reviewed it and when. ABSENT means unreviewed. The Task inbox is the optional review workflow on top; this extension is the queryable state it produces, stamped on the artifact so viewers need no Task join. It repeats where an artifact is assigned to several reviewers who each sign off for themselves, one stamp per reviewer; each profile's slice sets the cardinality for its artifact.

FSH

The authored source of truth: extensions/ReviewedExtension.fsh (edit on GitHub). One FSH file may define several related artifacts.

// ReviewedExtension.fsh
// Review acknowledgement, stamped on the artifact it is about: WHO signed off and WHEN, as a
// queryable fact carried by the resource a reader is already holding. A result and an attached
// document ask the same question -- has a clinician taken responsibility for this? -- so this is
// one fact about different artifacts rather than a separate mechanism per resource type.
//
// ABSENT = UNREVIEWED. That is the load-bearing semantics: a viewer splits reviewed from
// unreviewed with one read and no join, and an artifact that has just arrived needs nothing
// written on it to be waiting.
//
// The Task inbox is the review WORKFLOW that sits on top (a review task completes when the
// clinician acknowledges); this extension is the resulting STATE stamped on the artifact itself,
// so viewers never need a Task join to render a checkmark. One direction only: completing the
// workflow writes the stamp; the stamp never drives the workflow.
//
// IT REPEATS WHERE AN ARTIFACT IS ASSIGNED TO SEVERAL REVIEWERS, each of whom signs off for
// themselves -- one stamp per reviewer, so the record says which of them has acted and which has
// not. Each profile's slice sets the cardinality its artifact actually needs: a result carries a
// single acknowledgement (0..1), while a document is assigned per reviewer and carries one stamp
// each (0..*). Absent means unreviewed in both shapes.

Extension: NexusEmrReviewed
Id: nexus-emr-reviewed
Title: "Reviewed"
Description: "Review acknowledgement state for the artifact it is stamped on -- a result or an attached document: who reviewed it and when. ABSENT means unreviewed. The Task inbox is the optional review workflow on top; this extension is the queryable state it produces, stamped on the artifact so viewers need no Task join. It repeats where an artifact is assigned to several reviewers who each sign off for themselves, one stamp per reviewer; each profile's slice sets the cardinality for its artifact."
* ^url = "../StructureDefinition/nexus-emr-reviewed"
* ^status = #draft
* ^context[0].type = #element
* ^context[0].expression = "DiagnosticReport"
* ^context[1].type = #element
* ^context[1].expression = "Observation"
* ^context[2].type = #element
* ^context[2].expression = "DocumentReference"
* extension contains
    reviewer 1..1 MS and
    time 1..1 MS
* extension[reviewer].value[x] only Reference(NexusEmrCorePractitioner or NexusEmrCorePractitionerRole)
* extension[reviewer] ^short = "Who acknowledged it"
* extension[time].value[x] only instant
* extension[time] ^short = "When it was acknowledged"
* url 1..1
* value[x] 0..0