SharedCredentialingSections
The NSCP shared credentialing workflow's sections, aggregated across member tenants (internal).
The Notes section of a shared credentialing workflow
Every member tenant's notes, shaped like one entry of the sections read: identical notes are grouped into one record, whose coverage lists the tenants holding it. Each record's copies give every tenant's note ids, author and times, and the record carries the latest change across them. Needs credentialing-workflow:note:read on every participating member tenant.
Add a note to tenants of a shared credentialing workflow
Adds the note to each member workflow of the tenants named in targetTenantIds; locked workflows are skipped and reported, and a workflow already holding the note gets no second copy. Needs credentialing-workflow:note:create on every member tenant.
Edit every copy of a note
Replaces the message of every copy the note has, in every member workflow that is not locked. With targetTenantIds the save also sets the note's holders. Needs credentialing-workflow:note:update on every member tenant, and note:create or note:delete when coverage widens or narrows. The response carries the note's new credentialingDisplayGroupKey.
Delete every unlocked copy of a note
Deletes every copy the note has in member workflows that are not locked; locked members keep theirs. A note is hard-deleted, so the reason fields are not used. Needs credentialing-workflow:note:delete on every member tenant.
Set which tenants hold a note
Adds a copy to each added, unlocked tenant and deletes the copy from each removed one; locked tenants keep what they have. The last tenant can't be removed: delete the note instead. Needs credentialing-workflow:note:create (widening) and note:delete (narrowing) on every member tenant.
Every section of a shared credentialing workflow
One call for the whole page: every catalog section, with member tenants' identical records grouped into one record and each record's coverage listing the readable tenants that hold it. Only tenants the caller holds credentialing-workflow:read on are returned; the rest are counted in hiddenTenantCount. Notes are read from their own endpoint.
Upload a Supporting Document for the tenants named
Stores the file once and gives each named tenant's unlocked workflows a Supporting Documents row holding it, so the page shows one document whose one file covers every tenant. Locked workflows are skipped and reported; when every one is locked, nothing is stored. Needs credentialing-workflow:details:create, details:update, details:delete and details:supporting-documents:create on every member tenant. The file is checked as the tenant upload checks it.
Add a record to a section of a shared credentialing workflow
A shared PSV record (the default in the six PSV sections) reaches every participating, unlocked tenant and the shared workflow itself; any other record reaches the tenants named in targetTenantIds. Locked tenants are skipped and reported. Needs credentialing-workflow:details:create on every member tenant.
Remove an attachment from every copy of a record
Removes the attachment version named by fileUrl from every copy of the record held by a member workflow that is not locked; locked workflows keep theirs, and the file itself is kept. Needs credentialing-workflow:details:create, details:update, details:delete and details:attachments:delete on every member tenant.
Attach a file to every copy of a record
Stores the file once and adds it to the attachments of every copy of the record held by a member workflow that is not locked, so the page shows one version for every tenant it reached. Locked workflows are skipped and reported; when every holder is locked, nothing is stored. Only the sections whose records carry attachments take one. Needs credentialing-workflow:details:create, details:update, details:delete and details:attachments:create on every member tenant. The file is checked as the tenant attachment upload checks it: PDF, JPG or PNG, within the size limit.
Edit every copy of a record
Merges the changed fields into every copy the record has, in every member workflow that is not locked; a null clears a field. With targetTenantIds the save also sets the record's holders. Needs credentialing-workflow:details:update on every member tenant, and details:create or details:delete when coverage widens or narrows (a Supporting Document widens with the upload's four permissions, details:supporting-documents:create among them; a record with attachments, whose new copies carry them, with details:attachments:create too). The response carries the record's new credentialingDisplayGroupKey.
Delete every unlocked copy of a record
Removes every copy the record has in member workflows that are not locked, and the shared workflow's own copy; locked members keep theirs. Takes the tenant delete's reason fields. Needs credentialing-workflow:details:delete on every member tenant.
Set which tenants hold a record
Adds a copy to each added, unlocked tenant and removes the copy from each removed one; locked tenants keep what they have. Widening a system-originated record needs coverageExpansionConfirmed. Needs credentialing-workflow:details:create (widening) and details:delete (narrowing) on every member tenant; widening a Supporting Document needs the upload's four permissions instead, details:supporting-documents:create among them, and a file that is its own workflow's upload or already shared with the run. The new copies of a record with attachments carry them, which needs details:attachments:create on every member tenant too, and files that are their holders' own uploads or already shared with the run. Removed copies take their attachments with them; no file is deleted.