← Technical API reference

Backend resource · STATIC DECLARATIONS

Rule Publishing API reference · mansoq-core

Static source contract for Rule Publishing: 23 declared or inherited operation mappings, schema/field evidence and authorization/refusal references. Deployment and behavioral review remain explicit.

Static API contract — behavior review pending. Source baseline f6e9f05f76d4.

Enable JavaScript to inspect structured operation, parameter, schema and permission evidence. Download this reference and its evidence.

Declared route and availability

This resource is declared in mansoq-core at /api/v1/facility/{facility_external_id}/rcm/rule_publishing/. verified core mount in config/urls.py A registered path and an indexed handler do not prove deployment availability, user permission or production readiness.

SET-10: validate, approve, publish, supersede — plus simulate.

"The failure it prevents is past submitted claims being recomputed in place." That is why nothing here edits a published row and why every published package is immutable: an appeal six months later re-reads the package that priced the claim, not the configuration as it stands today.

Operation map

Method Path Action Evidence
GET /api/v1/facility/{facility_external_id}/rcm/rule_publishing/ list declared/inherited method
POST /api/v1/facility/{facility_external_id}/rcm/rule_publishing/ create declared/inherited method
GET /api/v1/facility/{facility_external_id}/rcm/rule_publishing/{external_id}/ retrieve declared/inherited method
PUT /api/v1/facility/{facility_external_id}/rcm/rule_publishing/{external_id}/ update declared/inherited method
PATCH /api/v1/facility/{facility_external_id}/rcm/rule_publishing/{external_id}/ partial_update declared/inherited method
DELETE /api/v1/facility/{facility_external_id}/rcm/rule_publishing/{external_id}/ destroy declared/inherited method
POST /api/v1/facility/{facility_external_id}/rcm/rule_publishing/qualify-candidate/ qualify_candidate @action declaration
POST /api/v1/facility/{facility_external_id}/rcm/rule_publishing/{external_id}/correct/ correct @action declaration
GET /api/v1/facility/{facility_external_id}/rcm/rule_publishing/{external_id}/manifest/ manifest @action declaration
GET /api/v1/facility/{facility_external_id}/rcm/rule_publishing/{external_id}/gates/ gates @action declaration
GET /api/v1/facility/{facility_external_id}/rcm/rule_publishing/{external_id}/legacy-cutover-readiness/ legacy_cutover_readiness @action declaration
POST /api/v1/facility/{facility_external_id}/rcm/rule_publishing/{external_id}/certify-legacy-cutover/ certify_legacy_cutover @action declaration
POST /api/v1/facility/{facility_external_id}/rcm/rule_publishing/{external_id}/enterprise-go-live-readiness/ enterprise_go_live_readiness @action declaration
POST /api/v1/facility/{facility_external_id}/rcm/rule_publishing/enterprise-go-live-readiness/ enterprise_go_live_readiness_latest @action declaration
GET /api/v1/facility/{facility_external_id}/rcm/rule_publishing/enterprise-setup-template/ enterprise_setup_template @action declaration
GET /api/v1/facility/{facility_external_id}/rcm/rule_publishing/enterprise-package-preflight/ enterprise_package_preflight @action declaration
POST /api/v1/facility/{facility_external_id}/rcm/rule_publishing/{external_id}/certify-enterprise-go-live/ certify_enterprise_go_live @action declaration
POST /api/v1/facility/{facility_external_id}/rcm/rule_publishing/validate/ validate @action declaration
POST /api/v1/facility/{facility_external_id}/rcm/rule_publishing/approve/ approve @action declaration
POST /api/v1/facility/{facility_external_id}/rcm/rule_publishing/activate/ activate @action declaration
POST /api/v1/facility/{facility_external_id}/rcm/rule_publishing/supersede/ supersede @action declaration
POST /api/v1/facility/{facility_external_id}/rcm/rule_publishing/simulate/ simulate @action declaration
GET /api/v1/facility/{facility_external_id}/rcm/rule_publishing/decision_package/ decision_package @action declaration

list · GET

GET /api/v1/facility/{facility_external_id}/rcm/rule_publishing/ — action list. static contract extracted; runtime/permission/payload behavior review pending.

Path and deployment-context parameters:

Location Parameter Type Required
path facility_external_id router lookup string; semantic ID validation requires handler/schema review true

Observed authorization checks: can_read_rcm_configuration_in_facility. Helper/queryset evidence is included; this is not proof of complete security review.

Declared refusal/error evidence: PermissionDenied: Cannot read RCM configuration.

create · POST

Publish: cut an immutable, sequenced package. Ch. 31.

POST /api/v1/facility/{facility_external_id}/rcm/rule_publishing/ — action create. static contract extracted; runtime/permission/payload behavior review pending.

Path and deployment-context parameters:

Location Parameter Type Required
path facility_external_id router lookup string; semantic ID validation requires handler/schema review true

Observed authorization checks: can_publish_rcm_configuration_in_facility, can_read_rcm_configuration_in_facility. Helper/queryset evidence is included; this is not proof of complete security review.

Explicit response statuses in observed code: 201. Other branches/framework exception handling may differ.

Declared refusal/error evidence: PermissionDenied: Cannot publish RCM configuration; ValidationError: Request body must be an object; ValidationError (dynamic detail; inspect source); publication.MakerCheckerRequiredError (dynamic detail; inspect source); ValidationError: Publication uses the server-issued validation receipt; caller-supplied pass flags and test references are not accepted.; PermissionDenied: Cannot read RCM configuration.

retrieve · GET

GET /api/v1/facility/{facility_external_id}/rcm/rule_publishing/{external_id}/ — action retrieve. static contract extracted; runtime/permission/payload behavior review pending.

Path and deployment-context parameters:

Location Parameter Type Required
path facility_external_id router lookup string; semantic ID validation requires handler/schema review true
path external_id router lookup string; semantic ID validation requires handler/schema review true

Observed authorization checks: can_read_rcm_configuration_in_facility. Helper/queryset evidence is included; this is not proof of complete security review.

Declared refusal/error evidence: PermissionDenied: Cannot read RCM configuration.

update · PUT

Always refused, with the remedy named. Ch. 31, CFG-01.

PUT /api/v1/facility/{facility_external_id}/rcm/rule_publishing/{external_id}/ — action update. static contract extracted; runtime/permission/payload behavior review pending.

Path and deployment-context parameters:

Location Parameter Type Required
path facility_external_id router lookup string; semantic ID validation requires handler/schema review true
path external_id router lookup string; semantic ID validation requires handler/schema review true

Observed authorization checks: can_edit_rcm_configuration_in_facility, can_read_rcm_configuration_in_facility. Helper/queryset evidence is included; this is not proof of complete security review.

Declared refusal/error evidence: PermissionDenied: Cannot edit RCM configuration; PermissionDenied: Cannot read RCM configuration.

partial_update · PATCH

PATCH /api/v1/facility/{facility_external_id}/rcm/rule_publishing/{external_id}/ — action partial_update. static contract extracted; runtime/permission/payload behavior review pending.

Path and deployment-context parameters:

Location Parameter Type Required
path facility_external_id router lookup string; semantic ID validation requires handler/schema review true
path external_id router lookup string; semantic ID validation requires handler/schema review true

Observed authorization checks: can_read_rcm_configuration_in_facility, can_edit_rcm_configuration_in_facility. Helper/queryset evidence is included; this is not proof of complete security review.

Declared refusal/error evidence: PermissionDenied: Cannot read RCM configuration; PermissionDenied: Cannot edit RCM configuration.

destroy · DELETE

Always refused. Every trace naming this package would stop explaining.

DELETE /api/v1/facility/{facility_external_id}/rcm/rule_publishing/{external_id}/ — action destroy. static contract extracted; runtime/permission/payload behavior review pending.

Path and deployment-context parameters:

Location Parameter Type Required
path facility_external_id router lookup string; semantic ID validation requires handler/schema review true
path external_id router lookup string; semantic ID validation requires handler/schema review true

Observed authorization checks: can_edit_rcm_configuration_in_facility, can_read_rcm_configuration_in_facility. Helper/queryset evidence is included; this is not proof of complete security review.

Declared refusal/error evidence: PermissionDenied: Cannot edit RCM configuration; PermissionDenied: Cannot read RCM configuration.

qualify_candidate · POST

POST /api/v1/facility/{facility_external_id}/rcm/rule_publishing/qualify-candidate/ — action qualify_candidate. static contract extracted; runtime/permission/payload behavior review pending.

Path and deployment-context parameters:

Location Parameter Type Required
path facility_external_id router lookup string; semantic ID validation requires handler/schema review true

Observed authorization checks: can_publish_rcm_configuration_in_facility, can_read_rcm_configuration_in_facility. Helper/queryset evidence is included; this is not proof of complete security review.

Declared refusal/error evidence: ValidationError: Only the candidate label and optional corrected package may be supplied.; ValidationError (dynamic detail; inspect source); PermissionDenied: Cannot publish RCM configuration; ValidationError: Request body must be an object; PermissionDenied: Cannot read RCM configuration.

correct · POST

A correction is a new sequence. The corrected package is untouched.

POST /api/v1/facility/{facility_external_id}/rcm/rule_publishing/{external_id}/correct/ — action correct. static contract extracted; runtime/permission/payload behavior review pending.

Path and deployment-context parameters:

Location Parameter Type Required
path facility_external_id router lookup string; semantic ID validation requires handler/schema review true
path external_id router lookup string; semantic ID validation requires handler/schema review true

Observed authorization checks: can_publish_rcm_configuration_in_facility, can_read_rcm_configuration_in_facility. Helper/queryset evidence is included; this is not proof of complete security review.

Explicit response statuses in observed code: 201. Other branches/framework exception handling may differ.

Declared refusal/error evidence: PermissionDenied: Cannot publish RCM configuration; ValidationError: Request body must be an object; ValidationError (dynamic detail; inspect source); publication.MakerCheckerRequiredError (dynamic detail; inspect source); ValidationError: Publication uses the server-issued validation receipt; caller-supplied pass flags and test references are not accepted.; PermissionDenied: Cannot read RCM configuration.

manifest · GET

The full resolved manifest this package froze.

GET /api/v1/facility/{facility_external_id}/rcm/rule_publishing/{external_id}/manifest/ — action manifest. static contract extracted; runtime/permission/payload behavior review pending.

Path and deployment-context parameters:

Location Parameter Type Required
path facility_external_id router lookup string; semantic ID validation requires handler/schema review true
path external_id router lookup string; semantic ID validation requires handler/schema review true

Observed authorization checks: can_read_rcm_configuration_in_facility. Helper/queryset evidence is included; this is not proof of complete security review.

Declared refusal/error evidence: PermissionDenied: Cannot read RCM configuration.

gates · GET

The gates that were open when this package was cut.

A package cut with a gate open is legitimately publishable and legitimately marked as such (ch. 31, PB-U07). The live status of each gate is joined on, so "open at cut time" and "open now" are two separate, visible facts rather than one conflated one.

GET /api/v1/facility/{facility_external_id}/rcm/rule_publishing/{external_id}/gates/ — action gates. static contract extracted; runtime/permission/payload behavior review pending.

Path and deployment-context parameters:

Location Parameter Type Required
path facility_external_id router lookup string; semantic ID validation requires handler/schema review true
path external_id router lookup string; semantic ID validation requires handler/schema review true

Observed authorization checks: can_read_rcm_configuration_in_facility. Helper/queryset evidence is included; this is not proof of complete security review.

Declared refusal/error evidence: PermissionDenied: Cannot read RCM configuration.

legacy_cutover_readiness · GET

Evaluate whether this package can be the legacy cutover package.

GET /api/v1/facility/{facility_external_id}/rcm/rule_publishing/{external_id}/legacy-cutover-readiness/ — action legacy_cutover_readiness. static contract extracted; runtime/permission/payload behavior review pending.

Path and deployment-context parameters:

Location Parameter Type Required
path facility_external_id router lookup string; semantic ID validation requires handler/schema review true
path external_id router lookup string; semantic ID validation requires handler/schema review true

Observed authorization checks: can_read_rcm_configuration_in_facility. Helper/queryset evidence is included; this is not proof of complete security review.

Declared refusal/error evidence: PermissionDenied: Cannot read RCM configuration.

certify_legacy_cutover · POST

Write the immutable legacy-cutover certificate for this package.

POST /api/v1/facility/{facility_external_id}/rcm/rule_publishing/{external_id}/certify-legacy-cutover/ — action certify_legacy_cutover. static contract extracted; runtime/permission/payload behavior review pending.

Path and deployment-context parameters:

Location Parameter Type Required
path facility_external_id router lookup string; semantic ID validation requires handler/schema review true
path external_id router lookup string; semantic ID validation requires handler/schema review true

Observed authorization checks: can_publish_rcm_configuration_in_facility, can_read_rcm_configuration_in_facility. Helper/queryset evidence is included; this is not proof of complete security review.

Explicit response statuses in observed code: dynamic status. Other branches/framework exception handling may differ.

Declared refusal/error evidence: PermissionDenied: Cannot publish RCM configuration; PermissionDenied: Cannot read RCM configuration.

enterprise_go_live_readiness · POST

Evaluate the final evidence-backed enterprise go-live gate.

POST /api/v1/facility/{facility_external_id}/rcm/rule_publishing/{external_id}/enterprise-go-live-readiness/ — action enterprise_go_live_readiness. static contract extracted; runtime/permission/payload behavior review pending.

Path and deployment-context parameters:

Location Parameter Type Required
path facility_external_id router lookup string; semantic ID validation requires handler/schema review true
path external_id router lookup string; semantic ID validation requires handler/schema review true

Observed authorization checks: can_read_rcm_configuration_in_facility. Helper/queryset evidence is included; this is not proof of complete security review.

Declared refusal/error evidence: PermissionDenied: Cannot read RCM configuration; ValidationError (dynamic detail; inspect source); ValidationError: Request body must be an object.

enterprise_go_live_readiness_latest · POST

Evaluate enterprise go-live for the latest package, if one exists.

POST /api/v1/facility/{facility_external_id}/rcm/rule_publishing/enterprise-go-live-readiness/ — action enterprise_go_live_readiness_latest. static contract extracted; runtime/permission/payload behavior review pending.

Path and deployment-context parameters:

Location Parameter Type Required
path facility_external_id router lookup string; semantic ID validation requires handler/schema review true

Observed authorization checks: can_read_rcm_configuration_in_facility. Helper/queryset evidence is included; this is not proof of complete security review.

Declared refusal/error evidence: PermissionDenied: Cannot read RCM configuration; ValidationError: Request body must be an object; ValidationError (dynamic detail; inspect source).

enterprise_setup_template · GET

Return the plug-in setup template for the first enterprise package.

GET /api/v1/facility/{facility_external_id}/rcm/rule_publishing/enterprise-setup-template/ — action enterprise_setup_template. static contract extracted; runtime/permission/payload behavior review pending.

Path and deployment-context parameters:

Location Parameter Type Required
path facility_external_id router lookup string; semantic ID validation requires handler/schema review true

Observed authorization checks: can_read_rcm_configuration_in_facility. Helper/queryset evidence is included; this is not proof of complete security review.

Declared refusal/error evidence: PermissionDenied: Cannot read RCM configuration.

enterprise_package_preflight · GET

Evaluate whether the first enterprise package may be cut.

GET /api/v1/facility/{facility_external_id}/rcm/rule_publishing/enterprise-package-preflight/ — action enterprise_package_preflight. static contract extracted; runtime/permission/payload behavior review pending.

Path and deployment-context parameters:

Location Parameter Type Required
path facility_external_id router lookup string; semantic ID validation requires handler/schema review true

Observed authorization checks: can_read_rcm_configuration_in_facility. Helper/queryset evidence is included; this is not proof of complete security review.

Declared refusal/error evidence: PermissionDenied: Cannot read RCM configuration.

certify_enterprise_go_live · POST

Write the immutable enterprise go-live certificate for this package.

POST /api/v1/facility/{facility_external_id}/rcm/rule_publishing/{external_id}/certify-enterprise-go-live/ — action certify_enterprise_go_live. static contract extracted; runtime/permission/payload behavior review pending.

Path and deployment-context parameters:

Location Parameter Type Required
path facility_external_id router lookup string; semantic ID validation requires handler/schema review true
path external_id router lookup string; semantic ID validation requires handler/schema review true

Observed authorization checks: can_publish_rcm_configuration_in_facility, can_read_rcm_configuration_in_facility. Helper/queryset evidence is included; this is not proof of complete security review.

Explicit response statuses in observed code: dynamic status. Other branches/framework exception handling may differ.

Declared refusal/error evidence: PermissionDenied: Cannot publish RCM configuration; ValidationError (dynamic detail; inspect source); ValidationError: Request body must be an object; PermissionDenied: Cannot read RCM configuration.

validate · POST

Every reason a named configuration row may not activate.

Returns a verdict rather than raising: the screen needs the whole list, and a caller that fixes one refusal at a time fixes them one round-trip at a time.

POST /api/v1/facility/{facility_external_id}/rcm/rule_publishing/validate/ — action validate. static contract extracted; runtime/permission/payload behavior review pending.

Path and deployment-context parameters:

Location Parameter Type Required
path facility_external_id router lookup string; semantic ID validation requires handler/schema review true

Observed authorization checks: can_read_rcm_configuration_in_facility. Helper/queryset evidence is included; this is not proof of complete security review.

Declared refusal/error evidence: PermissionDenied: Cannot read RCM configuration; ValidationError: Request body must be an object; ValidationError (dynamic detail; inspect source).

approve · POST

Move a row along the machine. draft -> active has no shortcut.

The approver is the authenticated caller and the service refuses the author, so "an approver different from the maker" is enforced where the write happens rather than in the screen that happened to call it.

POST /api/v1/facility/{facility_external_id}/rcm/rule_publishing/approve/ — action approve. static contract extracted; runtime/permission/payload behavior review pending.

Path and deployment-context parameters:

Location Parameter Type Required
path facility_external_id router lookup string; semantic ID validation requires handler/schema review true

Observed authorization checks: can_publish_rcm_configuration_in_facility, can_read_rcm_configuration_in_facility. Helper/queryset evidence is included; this is not proof of complete security review.

Declared refusal/error evidence: PermissionDenied: Cannot publish RCM configuration; ValidationError: Request body must be an object; ValidationError (dynamic detail; inspect source); PermissionDenied: Cannot read RCM configuration.

activate · POST

Activate under the full guard. Refusals arrive as a whole list.

POST /api/v1/facility/{facility_external_id}/rcm/rule_publishing/activate/ — action activate. static contract extracted; runtime/permission/payload behavior review pending.

Path and deployment-context parameters:

Location Parameter Type Required
path facility_external_id router lookup string; semantic ID validation requires handler/schema review true

Observed authorization checks: can_publish_rcm_configuration_in_facility, can_read_rcm_configuration_in_facility. Helper/queryset evidence is included; this is not proof of complete security review.

Declared refusal/error evidence: PermissionDenied: Cannot publish RCM configuration; ValidationError: Request body must be an object; ValidationError (dynamic detail; inspect source); PermissionDenied: Cannot read RCM configuration.

supersede · POST

Retire a version without deleting it, with a reason on the record.

POST /api/v1/facility/{facility_external_id}/rcm/rule_publishing/supersede/ — action supersede. static contract extracted; runtime/permission/payload behavior review pending.

Path and deployment-context parameters:

Location Parameter Type Required
path facility_external_id router lookup string; semantic ID validation requires handler/schema review true

Observed authorization checks: can_publish_rcm_configuration_in_facility, can_read_rcm_configuration_in_facility. Helper/queryset evidence is included; this is not proof of complete security review.

Declared refusal/error evidence: PermissionDenied: Cannot publish RCM configuration; ValidationError: Request body must be an object; ValidationError (dynamic detail; inspect source); PermissionDenied: Cannot read RCM configuration.

simulate · POST

Replay representative cases and post nothing.

The evaluator reads the before/after allocations the caller supplies per case. It deliberately does not invent them: a simulation that computed its own "after" from an engine the caller has not pointed at would answer a question nobody asked. The service runs the whole thing inside a transaction it always rolls back, so posted_nothing is a guarantee rather than a promise.

What this endpoint still owes. Ch. 31 also asks a simulation to "list the affected policies, services and open encounters". No resolver is supplied here, because "affected" is defined by the proposed change and this action does not yet take one. The three lists therefore come back as null with *_were_enumerated: false and a not_checked finding — not as empty lists, which would assert that nothing is affected. Whoever adds the change reference wires the resolvers into :class:~mansoq.emr.rcm.services.publication.SimulationRequest here.

POST /api/v1/facility/{facility_external_id}/rcm/rule_publishing/simulate/ — action simulate. static contract extracted; runtime/permission/payload behavior review pending.

Path and deployment-context parameters:

Location Parameter Type Required
path facility_external_id router lookup string; semantic ID validation requires handler/schema review true

Observed authorization checks: can_read_rcm_configuration_in_facility. Helper/queryset evidence is included; this is not proof of complete security review.

Declared refusal/error evidence: PermissionDenied: Cannot read RCM configuration; ValidationError: Request body must be an object; ValidationError (dynamic detail; inspect source).

decision_package · GET

Which package a given decision used. Ch. 31's whole point.

The configuration may have changed a dozen times since; the package the trace names is the one that priced it, and it is immutable.

GET /api/v1/facility/{facility_external_id}/rcm/rule_publishing/decision_package/ — action decision_package. static contract extracted; runtime/permission/payload behavior review pending.

Path and deployment-context parameters:

Location Parameter Type Required
path facility_external_id router lookup string; semantic ID validation requires handler/schema review true

Directly observed request reads (these do not constitute a complete accepted-payload or requiredness guarantee):

Location Field Declared/inferred read type Requiredness evidence
query subject_table not declared at read site not established
query subject_id not declared at read site not established
query decision_kind not declared at read site not established

Observed authorization checks: can_read_rcm_configuration_in_facility. Helper/queryset evidence is included; this is not proof of complete security review.

Declared refusal/error evidence: PermissionDenied: Cannot read RCM configuration.

Integration review checklist

Confirm the installed route and full schema; review authentication, organization/facility scoping, all accepted fields, value-state and date/time semantics, idempotency, pagination, response/exception branches and the allowed correction/reversal workflow. Test positive and negative cases with synthetic data. This source reference does not establish external certification or replace an illustrated user procedure.

Pinned source evidence

Links require access to the private source repository.