Backend resource · STATIC DECLARATIONS
Service Request API reference · mansoq-core-teleicu
Static source contract for Service Request: 12 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-teleicu at /api/v1/facility/{facility_external_id}/service_request/. verified core mount in config/urls.py This is an alternative core contract, not proof that the primary core uses the same behavior. A registered path and an indexed handler do not prove deployment availability, user permission or production readiness.
Operation map
| Method | Path | Action | Evidence |
|---|---|---|---|
| GET | /api/v1/facility/{facility_external_id}/service_request/ |
list | declared/inherited method |
| POST | /api/v1/facility/{facility_external_id}/service_request/ |
create | declared/inherited method |
| GET | /api/v1/facility/{facility_external_id}/service_request/{external_id}/ |
retrieve | declared/inherited method |
| PUT | /api/v1/facility/{facility_external_id}/service_request/{external_id}/ |
update | declared/inherited method |
| PATCH | /api/v1/facility/{facility_external_id}/service_request/{external_id}/ |
partial_update | declared/inherited method |
| POST | /api/v1/facility/{facility_external_id}/service_request/{external_id}/set_tags/ |
set_tags | @action declaration |
| POST | /api/v1/facility/{facility_external_id}/service_request/{external_id}/remove_tags/ |
remove_tags | @action declaration |
| POST | /api/v1/facility/{facility_external_id}/service_request/{external_id}/complete/ |
complete | @action declaration |
| POST | /api/v1/facility/{facility_external_id}/service_request/{external_id}/cancel/ |
cancel | @action declaration |
| POST | /api/v1/facility/{facility_external_id}/service_request/apply_activity_definition/ |
apply_activity_definition | @action declaration |
| POST | /api/v1/facility/{facility_external_id}/service_request/{external_id}/create_specimen/ |
create_specimen | @action declaration |
| POST | /api/v1/facility/{facility_external_id}/service_request/{external_id}/create_specimen_from_definition/ |
create_specimen_from_definition | @action declaration |
list · GET
GET /api/v1/facility/{facility_external_id}/service_request/ — 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 |
Directly observed request reads (these do not constitute a complete accepted-payload or requiredness guarantee):
| Location | Field | Declared/inferred read type | Requiredness evidence |
|---|---|---|---|
| query | location |
not declared at read site | direct indexing; validation may be upstream |
| query | encounter |
not declared at read site | direct indexing; validation may be upstream |
response: ServiceRequestReadSpec. Declared fields below; inherited fields are retained in the schema inventory.
| Field | Type | Required | Constraints |
|---|---|---|---|
| meta | dict | false | No extra constraint extracted |
| id | str | None | false | No extra constraint extracted |
| title | str | true | No extra constraint extracted |
| status | ServiceRequestStatusChoices | true | No extra constraint extracted |
| intent | ServiceRequestIntentChoices | true | No extra constraint extracted |
| priority | ServiceRequestPriorityChoices | true | No extra constraint extracted |
| category | ActivityDefinitionCategoryOptions | true | No extra constraint extracted |
| do_not_perform | bool | None | false | No extra constraint extracted |
| note | str | None | false | No extra constraint extracted |
| body_site | ValueSetBoundCoding[MANSOQ_BODY_SITE_VALUESET.slug] | None | false | No extra constraint extracted |
| code | ValueSetBoundCoding[ACTIVITY_DEFINITION_PROCEDURE_CODE_VALUESET.slug] | true | No extra constraint extracted |
| occurance | datetime.datetime | None | false | No extra constraint extracted |
| patient_instruction | str | None | false | No extra constraint extracted |
| created_date | datetime.datetime | true | No extra constraint extracted |
| modified_date | datetime.datetime | true | No extra constraint extracted |
| encounter | dict | true | No extra constraint extracted |
| tags | list[dict] | false | No extra constraint extracted |
| requester | dict | None | false | No extra constraint extracted |
Observed authorization checks: can_list_location_service_request, can_view_service_request_for_encounter. Helper/queryset evidence is included; this is not proof of complete security review.
Declared refusal/error evidence: ValidationError: Location or encounter is required; PermissionDenied: You do not have permission to view service requests for this location; PermissionDenied: You do not have permission to view service requests for this encounter.
Direct refusal present: the handler/helper contains a top-level raise. Review whether the operation is intentionally disabled or only performs validation before relying on it.
create · POST
POST /api/v1/facility/{facility_external_id}/service_request/ — 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 |
Directly observed request reads (these do not constitute a complete accepted-payload or requiredness guarantee):
| Location | Field | Declared/inferred read type | Requiredness evidence |
|---|---|---|---|
| query | location |
not declared at read site | direct indexing; validation may be upstream |
| query | encounter |
not declared at read site | direct indexing; validation may be upstream |
request: ServiceRequestCreateSpec. Declared fields below; inherited fields are retained in the schema inventory.
| Field | Type | Required | Constraints |
|---|---|---|---|
| meta | dict | false | No extra constraint extracted |
| id | str | None | false | No extra constraint extracted |
| title | str | true | No extra constraint extracted |
| status | ServiceRequestStatusChoices | true | No extra constraint extracted |
| intent | ServiceRequestIntentChoices | true | No extra constraint extracted |
| priority | ServiceRequestPriorityChoices | true | No extra constraint extracted |
| category | ActivityDefinitionCategoryOptions | true | No extra constraint extracted |
| do_not_perform | bool | None | false | No extra constraint extracted |
| note | str | None | false | No extra constraint extracted |
| body_site | ValueSetBoundCoding[MANSOQ_BODY_SITE_VALUESET.slug] | None | false | No extra constraint extracted |
| code | ValueSetBoundCoding[ACTIVITY_DEFINITION_PROCEDURE_CODE_VALUESET.slug] | true | No extra constraint extracted |
| occurance | datetime.datetime | None | false | No extra constraint extracted |
| patient_instruction | str | None | false | No extra constraint extracted |
| healthcare_service | UUID4 | None | false | No extra constraint extracted |
| locations | list[UUID4] | false | No extra constraint extracted |
| requester | UUID4 | None | false | No extra constraint extracted |
| encounter | UUID4 | true | No extra constraint extracted |
response: ServiceRequestRetrieveSpec. Declared fields below; inherited fields are retained in the schema inventory.
| Field | Type | Required | Constraints |
|---|---|---|---|
| meta | dict | false | No extra constraint extracted |
| id | str | None | false | No extra constraint extracted |
| title | str | true | No extra constraint extracted |
| status | ServiceRequestStatusChoices | true | No extra constraint extracted |
| intent | ServiceRequestIntentChoices | true | No extra constraint extracted |
| priority | ServiceRequestPriorityChoices | true | No extra constraint extracted |
| category | ActivityDefinitionCategoryOptions | true | No extra constraint extracted |
| do_not_perform | bool | None | false | No extra constraint extracted |
| note | str | None | false | No extra constraint extracted |
| body_site | ValueSetBoundCoding[MANSOQ_BODY_SITE_VALUESET.slug] | None | false | No extra constraint extracted |
| code | ValueSetBoundCoding[ACTIVITY_DEFINITION_PROCEDURE_CODE_VALUESET.slug] | true | No extra constraint extracted |
| occurance | datetime.datetime | None | false | No extra constraint extracted |
| patient_instruction | str | None | false | No extra constraint extracted |
| created_date | datetime.datetime | true | No extra constraint extracted |
| modified_date | datetime.datetime | true | No extra constraint extracted |
| encounter | dict | true | No extra constraint extracted |
| tags | list[dict] | false | No extra constraint extracted |
| requester | dict | None | false | No extra constraint extracted |
| locations | list[dict] | true | No extra constraint extracted |
| healthcare_service | dict | None | false | No extra constraint extracted |
| activity_definition | dict | None | false | No extra constraint extracted |
| specimens | list[dict] | None | false | No extra constraint extracted |
| created_by | dict | None | false | No extra constraint extracted |
| updated_by | dict | None | false | No extra constraint extracted |
| diagnostic_reports | list[dict] | None | false | No extra constraint extracted |
Observed authorization checks: can_list_location_service_request, can_view_service_request_for_encounter, can_write_service_request_in_encounter. Helper/queryset evidence is included; this is not proof of complete security review.
Declared refusal/error evidence: ValidationError: Location or encounter is required; PermissionDenied: You do not have permission to view service requests for this location; PermissionDenied: You do not have permission to view service requests for this encounter; PermissionDenied: You do not have permission to create a service request for this encounter; ValidationError (dynamic detail; inspect source); ValidationError: Healthcare Service must be from the same facility; ValidationError: requester must be a member of the facility.
Direct refusal present: the handler/helper contains a top-level raise. Review whether the operation is intentionally disabled or only performs validation before relying on it.
retrieve · GET
GET /api/v1/facility/{facility_external_id}/service_request/{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 |
Directly observed request reads (these do not constitute a complete accepted-payload or requiredness guarantee):
| Location | Field | Declared/inferred read type | Requiredness evidence |
|---|---|---|---|
| query | location |
not declared at read site | direct indexing; validation may be upstream |
| query | encounter |
not declared at read site | direct indexing; validation may be upstream |
response: ServiceRequestRetrieveSpec. Declared fields below; inherited fields are retained in the schema inventory.
The declared field table is shown at its first occurrence in this reference; this operation links the same schema.
Observed authorization checks: can_list_location_service_request, can_view_service_request_for_encounter, can_read_service_request. Helper/queryset evidence is included; this is not proof of complete security review.
Declared refusal/error evidence: ValidationError: Location or encounter is required; PermissionDenied: You do not have permission to view service requests for this location; PermissionDenied: You do not have permission to view service requests for this encounter; PermissionDenied: You do not have permission to read this service request.
Direct refusal present: the handler/helper contains a top-level raise. Review whether the operation is intentionally disabled or only performs validation before relying on it.
update · PUT
PUT /api/v1/facility/{facility_external_id}/service_request/{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 |
Directly observed request reads (these do not constitute a complete accepted-payload or requiredness guarantee):
| Location | Field | Declared/inferred read type | Requiredness evidence |
|---|---|---|---|
| query | location |
not declared at read site | direct indexing; validation may be upstream |
| query | encounter |
not declared at read site | direct indexing; validation may be upstream |
request: ServiceRequestUpdateSpec. Declared fields below; inherited fields are retained in the schema inventory.
| Field | Type | Required | Constraints |
|---|---|---|---|
| meta | dict | false | No extra constraint extracted |
| id | str | None | false | No extra constraint extracted |
| title | str | None | false | No extra constraint extracted |
| status | ServiceRequestStatusChoices | None | false | No extra constraint extracted |
| intent | ServiceRequestIntentChoices | None | false | No extra constraint extracted |
| priority | ServiceRequestPriorityChoices | None | false | No extra constraint extracted |
| category | ActivityDefinitionCategoryOptions | None | false | No extra constraint extracted |
| do_not_perform | bool | None | false | No extra constraint extracted |
| note | str | None | false | No extra constraint extracted |
| body_site | ValueSetBoundCoding[MANSOQ_BODY_SITE_VALUESET.slug] | None | false | No extra constraint extracted |
| code | ValueSetBoundCoding[ACTIVITY_DEFINITION_PROCEDURE_CODE_VALUESET.slug] | None | false | No extra constraint extracted |
| occurance | datetime.datetime | None | false | No extra constraint extracted |
| patient_instruction | str | None | false | No extra constraint extracted |
| healthcare_service | UUID4 | None | false | No extra constraint extracted |
| locations | list[UUID4] | false | No extra constraint extracted |
| requester | UUID4 | None | false | No extra constraint extracted |
response: ServiceRequestRetrieveSpec. Declared fields below; inherited fields are retained in the schema inventory.
The declared field table is shown at its first occurrence in this reference; this operation links the same schema.
Observed authorization checks: can_list_location_service_request, can_view_service_request_for_encounter, can_write_service_request. Helper/queryset evidence is included; this is not proof of complete security review.
Declared refusal/error evidence: ValidationError: Location or encounter is required; PermissionDenied: You do not have permission to view service requests for this location; PermissionDenied: You do not have permission to view service requests for this encounter; PermissionDenied: You do not have permission to update this service request; ValidationError: Service request is completed; ValidationError: Cannot update a cancelled service request; ValidationError: Use the cancel API to cancel the service request; ValidationError (dynamic detail; inspect source); ValidationError: Healthcare Service must be from the same facility.
Direct refusal present: the handler/helper contains a top-level raise. Review whether the operation is intentionally disabled or only performs validation before relying on it.
partial_update · PATCH
PATCH /api/v1/facility/{facility_external_id}/service_request/{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 |
Directly observed request reads (these do not constitute a complete accepted-payload or requiredness guarantee):
| Location | Field | Declared/inferred read type | Requiredness evidence |
|---|---|---|---|
| query | location |
not declared at read site | direct indexing; validation may be upstream |
| query | encounter |
not declared at read site | direct indexing; validation may be upstream |
request: ServiceRequestUpdateSpec. Declared fields below; inherited fields are retained in the schema inventory.
The declared field table is shown at its first occurrence in this reference; this operation links the same schema.
response: ServiceRequestRetrieveSpec. Declared fields below; inherited fields are retained in the schema inventory.
The declared field table is shown at its first occurrence in this reference; this operation links the same schema.
Observed authorization checks: can_list_location_service_request, can_view_service_request_for_encounter, can_write_service_request. Helper/queryset evidence is included; this is not proof of complete security review.
Declared refusal/error evidence: ValidationError: Location or encounter is required; PermissionDenied: You do not have permission to view service requests for this location; PermissionDenied: You do not have permission to view service requests for this encounter; PermissionDenied: You do not have permission to update this service request; ValidationError: Service request is completed; ValidationError: Cannot update a cancelled service request; ValidationError: Use the cancel API to cancel the service request.
Direct refusal present: the handler/helper contains a top-level raise. Review whether the operation is intentionally disabled or only performs validation before relying on it.
set_tags · POST
POST /api/v1/facility/{facility_external_id}/service_request/{external_id}/set_tags/ — action set_tags. 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 |
Directly observed request reads (these do not constitute a complete accepted-payload or requiredness guarantee):
| Location | Field | Declared/inferred read type | Requiredness evidence |
|---|---|---|---|
| query | location |
not declared at read site | direct indexing; validation may be upstream |
| query | encounter |
not declared at read site | direct indexing; validation may be upstream |
decorator request: TagRequest. Declared fields below; inherited fields are retained in the schema inventory.
| Field | Type | Required | Constraints |
|---|---|---|---|
| tags | list[UUID4] | false | No extra constraint extracted |
Observed authorization checks: can_list_location_service_request, can_view_service_request_for_encounter, can_write_service_request, can_read_service_request. Helper/queryset evidence is included; this is not proof of complete security review.
Declared refusal/error evidence: ValidationError: Location or encounter is required; PermissionDenied: You do not have permission to view service requests for this location; PermissionDenied: You do not have permission to view service requests for this encounter; RestFrameworkValidationError (dynamic detail; inspect source); PermissionDenied: You do not have permission to update this service request; PermissionDenied: You do not have permission to read this service request.
Direct refusal present: the handler/helper contains a top-level raise. Review whether the operation is intentionally disabled or only performs validation before relying on it.
remove_tags · POST
POST /api/v1/facility/{facility_external_id}/service_request/{external_id}/remove_tags/ — action remove_tags. 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 |
Directly observed request reads (these do not constitute a complete accepted-payload or requiredness guarantee):
| Location | Field | Declared/inferred read type | Requiredness evidence |
|---|---|---|---|
| query | location |
not declared at read site | direct indexing; validation may be upstream |
| query | encounter |
not declared at read site | direct indexing; validation may be upstream |
body validation: TagRequest. Declared fields below; inherited fields are retained in the schema inventory.
The declared field table is shown at its first occurrence in this reference; this operation links the same schema.
decorator request: TagRequest. Declared fields below; inherited fields are retained in the schema inventory.
The declared field table is shown at its first occurrence in this reference; this operation links the same schema.
Observed authorization checks: can_list_location_service_request, can_view_service_request_for_encounter, can_write_service_request, can_read_service_request. Helper/queryset evidence is included; this is not proof of complete security review.
Declared refusal/error evidence: ValidationError: Location or encounter is required; PermissionDenied: You do not have permission to view service requests for this location; PermissionDenied: You do not have permission to view service requests for this encounter; PermissionDenied: You do not have permission to update this service request; PermissionDenied: You do not have permission to read this service request.
Direct refusal present: the handler/helper contains a top-level raise. Review whether the operation is intentionally disabled or only performs validation before relying on it.
complete · POST
POST /api/v1/facility/{facility_external_id}/service_request/{external_id}/complete/ — action complete. 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 |
Directly observed request reads (these do not constitute a complete accepted-payload or requiredness guarantee):
| Location | Field | Declared/inferred read type | Requiredness evidence |
|---|---|---|---|
| query | location |
not declared at read site | direct indexing; validation may be upstream |
| query | encounter |
not declared at read site | direct indexing; validation may be upstream |
Observed authorization checks: can_list_location_service_request, can_view_service_request_for_encounter, can_write_service_request. Helper/queryset evidence is included; this is not proof of complete security review.
Explicit response statuses in observed code: status.HTTP_204_NO_CONTENT. Other branches/framework exception handling may differ.
Declared refusal/error evidence: ValidationError: Service request is completed; ValidationError: Service request is cancelled; ValidationError: Location or encounter is required; PermissionDenied: You do not have permission to view service requests for this location; PermissionDenied: You do not have permission to view service requests for this encounter; PermissionDenied: You do not have permission to update this service request.
Direct refusal present: the handler/helper contains a top-level raise. Review whether the operation is intentionally disabled or only performs validation before relying on it.
cancel · POST
POST /api/v1/facility/{facility_external_id}/service_request/{external_id}/cancel/ — action cancel. 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 |
Directly observed request reads (these do not constitute a complete accepted-payload or requiredness guarantee):
| Location | Field | Declared/inferred read type | Requiredness evidence |
|---|---|---|---|
| query | location |
not declared at read site | direct indexing; validation may be upstream |
| query | encounter |
not declared at read site | direct indexing; validation may be upstream |
Observed authorization checks: can_list_location_service_request, can_view_service_request_for_encounter, can_write_service_request. Helper/queryset evidence is included; this is not proof of complete security review.
Explicit response statuses in observed code: status.HTTP_204_NO_CONTENT. Other branches/framework exception handling may differ.
Declared refusal/error evidence: ValidationError: Service request is completed; ValidationError: Service request is already in a cancelled state; ValidationError: Invalid status; ValidationError: Location or encounter is required; PermissionDenied: You do not have permission to view service requests for this location; PermissionDenied: You do not have permission to view service requests for this encounter; PermissionDenied: You do not have permission to update this service request.
Direct refusal present: the handler/helper contains a top-level raise. Review whether the operation is intentionally disabled or only performs validation before relying on it.
apply_activity_definition · POST
POST /api/v1/facility/{facility_external_id}/service_request/apply_activity_definition/ — action apply_activity_definition. 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 | location |
not declared at read site | direct indexing; validation may be upstream |
| query | encounter |
not declared at read site | direct indexing; validation may be upstream |
body validation: ServiceRequestUpdateSpec. Declared fields below; inherited fields are retained in the schema inventory.
The declared field table is shown at its first occurrence in this reference; this operation links the same schema.
decorator request: ApplyActivityDefinitionRequest. Declared fields below; inherited fields are retained in the schema inventory.
| Field | Type | Required | Constraints |
|---|---|---|---|
| activity_definition | str | true | No extra constraint extracted |
| service_request | ServiceRequestUpdateSpec | true | No extra constraint extracted |
| encounter | UUID4 | true | No extra constraint extracted |
Observed authorization checks: can_list_location_service_request, can_view_service_request_for_encounter, can_write_service_request. Helper/queryset evidence is included; this is not proof of complete security review.
Declared refusal/error evidence: ValidationError: Location or encounter is required; PermissionDenied: You do not have permission to view service requests for this location; PermissionDenied: You do not have permission to view service requests for this encounter; PermissionDenied: You do not have permission to update this service request; ValidationError: Service request is completed; ValidationError: Cannot update a cancelled service request; ValidationError: Use the cancel API to cancel the service request; ValidationError (dynamic detail; inspect source); ValidationError: Healthcare Service must be from the same facility.
Direct refusal present: the handler/helper contains a top-level raise. Review whether the operation is intentionally disabled or only performs validation before relying on it.
create_specimen · POST
POST /api/v1/facility/{facility_external_id}/service_request/{external_id}/create_specimen/ — action create_specimen. 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 |
Directly observed request reads (these do not constitute a complete accepted-payload or requiredness guarantee):
| Location | Field | Declared/inferred read type | Requiredness evidence |
|---|---|---|---|
| query | location |
not declared at read site | direct indexing; validation may be upstream |
| query | encounter |
not declared at read site | direct indexing; validation may be upstream |
decorator request: BaseSpecimenSpec. Declared fields below; inherited fields are retained in the schema inventory.
| Field | Type | Required | Constraints |
|---|---|---|---|
| meta | dict | false | No extra constraint extracted |
| id | UUID4 | None | false | No extra constraint extracted |
| accession_identifier | str | false | No extra constraint extracted |
| status | SpecimenStatusOptions | true | No extra constraint extracted |
| specimen_type | ValueSetBoundCoding[SPECIMEN_TYPE_CODE_VALUESET.slug] | true | No extra constraint extracted |
| received_time | str | None | false | No extra constraint extracted |
| collection | CollectionSpec | None | false | No extra constraint extracted |
| processing | list[ProcessingSpec] | false | No extra constraint extracted |
| condition | list[ValueSetBoundCoding[SPECIMEN_CONDITION_VALUESET.slug]] | false | No extra constraint extracted |
| note | str | None | false | No extra constraint extracted |
Observed authorization checks: can_list_location_service_request, can_view_service_request_for_encounter, can_write_specimen. Helper/queryset evidence is included; this is not proof of complete security review.
Declared refusal/error evidence: ValidationError: Location or encounter is required; PermissionDenied: You do not have permission to view service requests for this location; PermissionDenied: You do not have permission to view service requests for this encounter; PermissionDenied: You do not have permission to create a specimen for this encounter.
Direct refusal present: the handler/helper contains a top-level raise. Review whether the operation is intentionally disabled or only performs validation before relying on it.
create_specimen_from_definition · POST
POST /api/v1/facility/{facility_external_id}/service_request/{external_id}/create_specimen_from_definition/ — action create_specimen_from_definition. 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 |
Directly observed request reads (these do not constitute a complete accepted-payload or requiredness guarantee):
| Location | Field | Declared/inferred read type | Requiredness evidence |
|---|---|---|---|
| query | location |
not declared at read site | direct indexing; validation may be upstream |
| query | encounter |
not declared at read site | direct indexing; validation may be upstream |
body validation: SpecimenUpdateSpec. Declared fields below; inherited fields are retained in the schema inventory.
| Field | Type | Required | Constraints |
|---|---|---|---|
| meta | dict | false | No extra constraint extracted |
| id | UUID4 | None | false | No extra constraint extracted |
| accession_identifier | str | false | No extra constraint extracted |
| status | SpecimenStatusOptions | None | false | No extra constraint extracted |
| specimen_type | ValueSetBoundCoding[SPECIMEN_TYPE_CODE_VALUESET.slug] | None | false | No extra constraint extracted |
| received_time | str | None | false | No extra constraint extracted |
| collection | CollectionSpec | None | false | No extra constraint extracted |
| processing | list[ProcessingSpec] | false | No extra constraint extracted |
| condition | list[ValueSetBoundCoding[SPECIMEN_CONDITION_VALUESET.slug]] | false | No extra constraint extracted |
| note | str | None | false | No extra constraint extracted |
decorator request: ApplySpecimenDefinitionRequest. Declared fields below; inherited fields are retained in the schema inventory.
| Field | Type | Required | Constraints |
|---|---|---|---|
| specimen_definition | UUID4 | true | No extra constraint extracted |
| specimen | SpecimenUpdateSpec | true | No extra constraint extracted |
Observed authorization checks: can_list_location_service_request, can_view_service_request_for_encounter, can_write_specimen. Helper/queryset evidence is included; this is not proof of complete security review.
Declared refusal/error evidence: ValidationError: Location or encounter is required; PermissionDenied: You do not have permission to view service requests for this location; PermissionDenied: You do not have permission to view service requests for this encounter; PermissionDenied: You do not have permission to create a specimen for this encounter.
Direct refusal present: the handler/helper contains a top-level raise. Review whether the operation is intentionally disabled or only performs validation before relying on it.
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.
- repositories/teleicu/mansoq-core-teleicu/config/api_router.py:317
- repositories/teleicu/mansoq-core-teleicu/mansoq/emr/api/viewsets/service_request.py:99
- repositories/teleicu/mansoq-core-teleicu/mansoq/emr/api/viewsets/base.py:165
- repositories/teleicu/mansoq-core-teleicu/mansoq/emr/api/viewsets/service_request.py:223
- repositories/teleicu/mansoq-core-teleicu/mansoq/emr/api/viewsets/base.py:158
- repositories/teleicu/mansoq-core-teleicu/mansoq/emr/api/viewsets/service_request.py:125
- repositories/teleicu/mansoq-core-teleicu/mansoq/emr/api/viewsets/base.py:327
- repositories/teleicu/mansoq-core-teleicu/mansoq/emr/api/viewsets/base.py:155
- repositories/teleicu/mansoq-core-teleicu/mansoq/emr/resources/service_request/spec.py:136
- repositories/teleicu/mansoq-core-teleicu/mansoq/emr/api/viewsets/base.py:133
- repositories/teleicu/mansoq-core-teleicu/mansoq/emr/api/viewsets/service_request.py:187
- repositories/teleicu/mansoq-core-teleicu/mansoq/emr/api/viewsets/base.py:139
- repositories/teleicu/mansoq-core-teleicu/mansoq/emr/api/viewsets/base.py:127
- repositories/teleicu/mansoq-core-teleicu/mansoq/emr/api/viewsets/base.py:343
- repositories/teleicu/mansoq-core-teleicu/mansoq/emr/api/viewsets/service_request.py:162
- repositories/teleicu/mansoq-core-teleicu/mansoq/emr/api/viewsets/base.py:136
- repositories/teleicu/mansoq-core-teleicu/mansoq/emr/api/viewsets/base.py:322
- repositories/teleicu/mansoq-core-teleicu/mansoq/emr/api/viewsets/service_request.py:130
- repositories/teleicu/mansoq-core-teleicu/mansoq/emr/api/viewsets/service_request.py:149
- repositories/teleicu/mansoq-core-teleicu/mansoq/emr/api/viewsets/service_request.py:156
- repositories/teleicu/mansoq-core-teleicu/mansoq/emr/resources/service_request/spec.py:125
- repositories/teleicu/mansoq-core-teleicu/mansoq/emr/resources/service_request/spec.py:154
- repositories/teleicu/mansoq-core-teleicu/mansoq/emr/api/viewsets/base.py:80
- repositories/teleicu/mansoq-core-teleicu/mansoq/emr/api/viewsets/service_request.py:210
- repositories/teleicu/mansoq-core-teleicu/mansoq/emr/api/viewsets/base.py:74
- repositories/teleicu/mansoq-core-teleicu/mansoq/emr/api/viewsets/base.py:211
- repositories/teleicu/mansoq-core-teleicu/mansoq/emr/api/viewsets/service_request.py:200
- repositories/teleicu/mansoq-core-teleicu/mansoq/emr/api/viewsets/base.py:225
- repositories/teleicu/mansoq-core-teleicu/mansoq/emr/api/viewsets/base.py:198
- repositories/teleicu/mansoq-core-teleicu/mansoq/emr/api/viewsets/base.py:332
- repositories/teleicu/mansoq-core-teleicu/mansoq/emr/api/viewsets/service_request.py:169
- repositories/teleicu/mansoq-core-teleicu/mansoq/emr/api/viewsets/base.py:219
- repositories/teleicu/mansoq-core-teleicu/mansoq/emr/resources/service_request/spec.py:112
- repositories/teleicu/mansoq-core-teleicu/mansoq/emr/api/viewsets/base.py:215
- repositories/teleicu/mansoq-core-teleicu/mansoq/emr/api/viewsets/base.py:391
- repositories/teleicu/mansoq-core-teleicu/mansoq/emr/api/viewsets/base.py:383
- repositories/teleicu/mansoq-core-teleicu/mansoq/emr/api/viewsets/base.py:369
- repositories/teleicu/mansoq-core-teleicu/mansoq/emr/api/viewsets/base.py:366
- repositories/teleicu/mansoq-core-teleicu/mansoq/emr/api/viewsets/base.py:357
- repositories/teleicu/mansoq-core-teleicu/mansoq/emr/api/viewsets/base.py:402
- repositories/teleicu/mansoq-core-teleicu/mansoq/emr/api/viewsets/base.py:386
- repositories/teleicu/mansoq-core-teleicu/mansoq/emr/api/viewsets/service_request.py:263
- repositories/teleicu/mansoq-core-teleicu/mansoq/emr/api/viewsets/service_request.py:276
- repositories/teleicu/mansoq-core-teleicu/mansoq/emr/api/viewsets/service_request.py:304
- repositories/teleicu/mansoq-core-teleicu/mansoq/emr/api/viewsets/service_request.py:84
- repositories/teleicu/mansoq-core-teleicu/mansoq/emr/api/viewsets/service_request.py:346
- repositories/teleicu/mansoq-core-teleicu/mansoq/emr/api/viewsets/service_request.py:332
- repositories/teleicu/mansoq-core-teleicu/mansoq/emr/resources/specimen/spec.py:105
- repositories/teleicu/mansoq-core-teleicu/mansoq/emr/api/viewsets/service_request.py:366
- repositories/teleicu/mansoq-core-teleicu/mansoq/emr/resources/specimen/spec.py:122
- repositories/teleicu/mansoq-core-teleicu/mansoq/emr/api/viewsets/service_request.py:90