{"schemaVersion":"1.0","sourceCommit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca","sourceVisibility":"private","article":{"id":"api-mansoq-core-specimendefinitionviewset-9c9c21ae","title":"Specimen Definition API reference · mansoq-core","summary":"Static source contract for Specimen Definition: 6 declared or inherited operation mappings, schema/field evidence and authorization/refusal references. Deployment and behavioral review remain explicit.","module":"Laboratory & radiology","roles":["IT administrator","Developer","Integration engineer"],"facilities":["All configured facility types"],"kind":"reference","minutes":8,"prerequisites":["Use the API contract from the installed deployment and an authorized synthetic test environment.","Confirm facility/organization scope, action permissions and optional app enablement.","This reference is static source evidence; complete payload, authorization, failure and end-to-end review remains recorded as pending."],"steps":[],"sections":[{"title":"Declared route and availability","body":"This resource is declared in **mansoq-core** at `/api/v1/facility/{facility_external_id}/specimen_definition/`. verified core mount in config/urls.py A registered path and an indexed handler do not prove deployment availability, user permission or production readiness."},{"title":"Operation map","body":"| Method | Path | Action | Evidence |\n| --- | --- | --- | --- |\n| GET | `/api/v1/facility/{facility_external_id}/specimen_definition/` | list | declared/inherited method |\n| POST | `/api/v1/facility/{facility_external_id}/specimen_definition/` | create | declared/inherited method |\n| GET | `/api/v1/facility/{facility_external_id}/specimen_definition/{slug}/` | retrieve | declared/inherited method |\n| PUT | `/api/v1/facility/{facility_external_id}/specimen_definition/{slug}/` | update | declared/inherited method |\n| PATCH | `/api/v1/facility/{facility_external_id}/specimen_definition/{slug}/` | partial_update | declared/inherited method |\n| POST | `/api/v1/facility/{facility_external_id}/specimen_definition/upsert/` | upsert | @action declaration |"},{"title":"list · GET","body":"**GET /api/v1/facility/{facility_external_id}/specimen_definition/** — action `list`. static contract extracted; runtime/permission/payload behavior review pending.\n\nPath and deployment-context parameters:\n\n| Location | Parameter | Type | Required |\n| --- | --- | --- | --- |\n| path | facility_external_id | router lookup string; semantic ID validation requires handler/schema review | true |\n\n**response: SpecimenDefinitionReadSpec**. Declared fields below; inherited fields are retained in the schema inventory.\n\n| Field | Type | Required | Constraints |\n| --- | --- | --- | --- |\n| meta | dict | false | No extra constraint extracted |\n| id | UUID4 \\| None | false | No extra constraint extracted |\n| title | str | true | No extra constraint extracted |\n| derived_from_uri | str \\| None | false | No extra constraint extracted |\n| status | SpecimenDefinitionStatusOptions | true | No extra constraint extracted |\n| description | str | true | No extra constraint extracted |\n| type_collected | ValueSetBoundCoding[SPECIMEN_TYPE_CODE_VALUESET.slug] | true | No extra constraint extracted |\n| patient_preparation | list[ValueSetBoundCoding[PREPARE_PATIENT_PRIOR_SPECIMEN_CODE_VALUESET.slug]] | false | No extra constraint extracted |\n| collection | ValueSetBoundCoding[SPECIMEN_COLLECTION_CODE_VALUESET.slug] \\| None | false | No extra constraint extracted |\n| type_tested | TypeTestedSpec \\| None | false | No extra constraint extracted |\n| version | int \\| None | false | No extra constraint extracted |\n| slug_config | dict | true | No extra constraint extracted |\n| slug | str | true | No extra constraint extracted |\n\n**Observed authorization checks:** `can_list_facility_specimen_definition`. Helper/queryset evidence is included; this is not proof of complete security review.\n\n**Declared refusal/error evidence:** PermissionDenied: Access Denied to Specimen Definition."},{"title":"create · POST","body":"**POST /api/v1/facility/{facility_external_id}/specimen_definition/** — action `create`. static contract extracted; runtime/permission/payload behavior review pending.\n\nPath and deployment-context parameters:\n\n| Location | Parameter | Type | Required |\n| --- | --- | --- | --- |\n| path | facility_external_id | router lookup string; semantic ID validation requires handler/schema review | true |\n\n**request: SpecimenDefinitionWriteSpec**. Declared fields below; inherited fields are retained in the schema inventory.\n\n| Field | Type | Required | Constraints |\n| --- | --- | --- | --- |\n| meta | dict | false | No extra constraint extracted |\n| id | UUID4 \\| None | false | No extra constraint extracted |\n| title | str | true | No extra constraint extracted |\n| derived_from_uri | str \\| None | false | No extra constraint extracted |\n| status | SpecimenDefinitionStatusOptions | true | No extra constraint extracted |\n| description | str | true | No extra constraint extracted |\n| type_collected | ValueSetBoundCoding[SPECIMEN_TYPE_CODE_VALUESET.slug] | true | No extra constraint extracted |\n| patient_preparation | list[ValueSetBoundCoding[PREPARE_PATIENT_PRIOR_SPECIMEN_CODE_VALUESET.slug]] | false | No extra constraint extracted |\n| collection | ValueSetBoundCoding[SPECIMEN_COLLECTION_CODE_VALUESET.slug] \\| None | false | No extra constraint extracted |\n| type_tested | TypeTestedSpec \\| None | false | No extra constraint extracted |\n| slug_value | SlugType | true | No extra constraint extracted |\n\n**response: SpecimenDefinitionReadSpec**. Declared fields below; inherited fields are retained in the schema inventory.\n\nThe declared field table is shown at its first occurrence in this reference; this operation links the same schema.\n\n**Observed authorization checks:** `can_list_facility_specimen_definition`, `can_write_facility_specimen_definition`. Helper/queryset evidence is included; this is not proof of complete security review.\n\n**Declared refusal/error evidence:** PermissionDenied: Access Denied to Specimen Definition; ValidationError: Specimen Definition with this slug already exists.."},{"title":"retrieve · GET","body":"**GET /api/v1/facility/{facility_external_id}/specimen_definition/{slug}/** — action `retrieve`. static contract extracted; runtime/permission/payload behavior review pending.\n\nPath and deployment-context parameters:\n\n| Location | Parameter | Type | Required |\n| --- | --- | --- | --- |\n| path | facility_external_id | router lookup string; semantic ID validation requires handler/schema review | true |\n| path | slug | router lookup string; semantic ID validation requires handler/schema review | true |\n\n**response: SpecimenDefinitionReadSpec**. Declared fields below; inherited fields are retained in the schema inventory.\n\nThe declared field table is shown at its first occurrence in this reference; this operation links the same schema.\n\n**Observed authorization checks:** `can_list_facility_specimen_definition`. Helper/queryset evidence is included; this is not proof of complete security review.\n\n**Declared refusal/error evidence:** PermissionDenied: Access Denied to Specimen Definition."},{"title":"update · PUT","body":"**PUT /api/v1/facility/{facility_external_id}/specimen_definition/{slug}/** — action `update`. static contract extracted; runtime/permission/payload behavior review pending.\n\nPath and deployment-context parameters:\n\n| Location | Parameter | Type | Required |\n| --- | --- | --- | --- |\n| path | facility_external_id | router lookup string; semantic ID validation requires handler/schema review | true |\n| path | slug | router lookup string; semantic ID validation requires handler/schema review | true |\n\n**request: SpecimenDefinitionWriteSpec**. Declared fields below; inherited fields are retained in the schema inventory.\n\nThe declared field table is shown at its first occurrence in this reference; this operation links the same schema.\n\n**response: SpecimenDefinitionReadSpec**. Declared fields below; inherited fields are retained in the schema inventory.\n\nThe declared field table is shown at its first occurrence in this reference; this operation links the same schema.\n\n**Observed authorization checks:** `can_list_facility_specimen_definition`, `can_write_facility_specimen_definition`. Helper/queryset evidence is included; this is not proof of complete security review.\n\n**Declared refusal/error evidence:** PermissionDenied: Access Denied to Specimen Definition; ValidationError: Specimen Definition with this slug already exists.."},{"title":"partial_update · PATCH","body":"**PATCH /api/v1/facility/{facility_external_id}/specimen_definition/{slug}/** — action `partial_update`. static contract extracted; runtime/permission/payload behavior review pending.\n\nPath and deployment-context parameters:\n\n| Location | Parameter | Type | Required |\n| --- | --- | --- | --- |\n| path | facility_external_id | router lookup string; semantic ID validation requires handler/schema review | true |\n| path | slug | router lookup string; semantic ID validation requires handler/schema review | true |\n\n**request: SpecimenDefinitionWriteSpec**. Declared fields below; inherited fields are retained in the schema inventory.\n\nThe declared field table is shown at its first occurrence in this reference; this operation links the same schema.\n\n**response: SpecimenDefinitionReadSpec**. Declared fields below; inherited fields are retained in the schema inventory.\n\nThe declared field table is shown at its first occurrence in this reference; this operation links the same schema.\n\n**Observed authorization checks:** `can_list_facility_specimen_definition`. Helper/queryset evidence is included; this is not proof of complete security review.\n\n**Declared refusal/error evidence:** PermissionDenied: Access Denied to Specimen Definition; ValidationError: Specimen Definition with this slug already exists.."},{"title":"upsert · POST","body":"**POST /api/v1/facility/{facility_external_id}/specimen_definition/upsert/** — action `upsert`. static contract extracted; runtime/permission/payload behavior review pending.\n\nPath and deployment-context parameters:\n\n| Location | Parameter | Type | Required |\n| --- | --- | --- | --- |\n| path | facility_external_id | router lookup string; semantic ID validation requires handler/schema review | true |\n\nDirectly observed request reads (these do not constitute a complete accepted-payload or requiredness guarantee):\n\n| Location | Field | Declared/inferred read type | Requiredness evidence |\n| --- | --- | --- | --- |\n| body | `datapoints` | not declared at read site | not established |\n\n**Observed authorization checks:** `can_list_facility_specimen_definition`, `can_write_facility_specimen_definition`. Helper/queryset evidence is included; this is not proof of complete security review.\n\n**Explicit response statuses in observed code:** 400. Other branches/framework exception handling may differ.\n\n**Declared refusal/error evidence:** RestFrameworkValidationError: Invalid request data; RestFrameworkValidationError: No datapoints provided; RestFrameworkValidationError: Too many datapoints provided; PermissionDenied: Access Denied to Specimen Definition; ValidationError: Specimen Definition with this slug already exists..\n\n**Conditional gates:** conditional/computed expression; inspect pinned declaration comparison settings.MAX_DATAPOINTS_PER_UPSERT."},{"title":"Integration review checklist","body":"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."}],"troubleshooting":[{"problem":"A declared route is unavailable or a request is rejected","solution":"Compare the installed revision, actual API schema, optional plugin mount, HTTP-method restrictions and recorded validation/permission evidence. Do not bypass a refusal or send a production transaction to test documentation."}],"sources":[{"path":"repositories/platform/mansoq-core/config/api_router.py","line":375,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":28,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":168,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":97,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":161,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":44,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":330,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":158,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":136,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":136,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":82,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":142,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":130,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":49,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":69,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":139,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":325,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":129,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":83,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":80,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":77,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":214,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":94,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":228,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":201,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":335,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":76,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":222,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":218,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":271,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}],"related":["it-api-contract","it-api-auth","security-rcm-roles"],"verification":"Static API contract — behavior review pending","version":"f6e9f05f76d4","apiReferenceIds":["backend-resource-ac614c8c9c9c21ae","backend-resource-ac614c8c9c9c21ae:GET:list","backend-resource-ac614c8c9c9c21ae:POST:create","backend-resource-ac614c8c9c9c21ae:GET:retrieve","backend-resource-ac614c8c9c9c21ae:PUT:update","backend-resource-ac614c8c9c9c21ae:PATCH:partial_update","backend-resource-ac614c8c9c9c21ae:POST:upsert"]},"backend":{"resources":[{"id":"backend-resource-ac614c8c9c9c21ae","localPrefix":"specimen_definition","viewset":"SpecimenDefinitionViewSet","classId":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.specimen_definition.SpecimenDefinitionViewSet","basename":"specimen_definition","source":{"path":"repositories/platform/mansoq-core/config/api_router.py","line":375,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"conditions":[],"repository":"repositories/platform/mansoq-core","classSource":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":28,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"description":"","path":"/api/v1/facility/{facility_external_id}/specimen_definition/","mountStatus":"verified core mount in config/urls.py","operationIds":["backend-resource-ac614c8c9c9c21ae:GET:list","backend-resource-ac614c8c9c9c21ae:POST:create","backend-resource-ac614c8c9c9c21ae:GET:retrieve","backend-resource-ac614c8c9c9c21ae:PUT:update","backend-resource-ac614c8c9c9c21ae:PATCH:partial_update","backend-resource-ac614c8c9c9c21ae:POST:upsert"],"unresolvedViewset":false,"reviewStatus":"registered resource enumerated; behavioral review pending"}],"operations":[{"id":"backend-resource-ac614c8c9c9c21ae:GET:list","resourceId":"backend-resource-ac614c8c9c9c21ae","repository":"repositories/platform/mansoq-core","boundary":"primary-core","method":"GET","path":"/api/v1/facility/{facility_external_id}/specimen_definition/","declaredPattern":"/api/v1/facility/{facility_external_id}/specimen_definition/","action":"list","viewset":"SpecimenDefinitionViewSet","classId":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.specimen_definition.SpecimenDefinitionViewSet","detail":false,"allowedByDeclaredHttpMethods":true,"mountStatus":"verified core mount in config/urls.py","routeEvidence":{"path":"repositories/platform/mansoq-core/config/api_router.py","line":375,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"handlerSource":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":168,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"registrationConditions":[],"evidenceKind":"declared/inherited method","methodEvidenceIds":["repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:168:list","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py:97:get_queryset","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:161:serialize_list","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py:44:get_facility_obj","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:330:get_read_pydantic_model","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:158:get_serializer_list_context"],"schemaIds":{"response":"repositories/platform/mansoq-core:mansoq.emr.resources.specimen_definition.spec.SpecimenDefinitionReadSpec"},"classPermissionEvidence":[],"filterEvidence":[{"name":"ordering_fields","value":["created_date","modified_date"],"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":42,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"filter_backends","value":[null,null],"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":41,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"status","type":"filters.CharFilter","lookup":"iexact","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":24,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"title","type":"filters.CharFilter","lookup":"icontains","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":25,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"reviewStatus":"static contract extracted; runtime/permission/payload behavior review pending","pathParameters":[{"name":"facility_external_id","in":"path","type":"router lookup string; semantic ID validation requires handler/schema review","required":true,"source":{"path":"repositories/platform/mansoq-core/config/api_router.py","line":375,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}]},{"id":"backend-resource-ac614c8c9c9c21ae:POST:create","resourceId":"backend-resource-ac614c8c9c9c21ae","repository":"repositories/platform/mansoq-core","boundary":"primary-core","method":"POST","path":"/api/v1/facility/{facility_external_id}/specimen_definition/","declaredPattern":"/api/v1/facility/{facility_external_id}/specimen_definition/","action":"create","viewset":"SpecimenDefinitionViewSet","classId":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.specimen_definition.SpecimenDefinitionViewSet","detail":false,"allowedByDeclaredHttpMethods":true,"mountStatus":"verified core mount in config/urls.py","routeEvidence":{"path":"repositories/platform/mansoq-core/config/api_router.py","line":375,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"handlerSource":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":136,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"registrationConditions":[],"evidenceKind":"declared/inherited method","methodEvidenceIds":["repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:136:create","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py:97:get_queryset","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py:82:authorize_create","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:142:handle_create","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py:44:get_facility_obj","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:130:clean_create_data","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py:49:validate_data","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py:69:perform_create","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:139:get_serializer_create_context","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:325:get_retrieve_pydantic_model","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:330:get_read_pydantic_model"],"schemaIds":{"request":"repositories/platform/mansoq-core:mansoq.emr.resources.specimen_definition.spec.SpecimenDefinitionWriteSpec","response":"repositories/platform/mansoq-core:mansoq.emr.resources.specimen_definition.spec.SpecimenDefinitionReadSpec"},"classPermissionEvidence":[],"filterEvidence":[{"name":"ordering_fields","value":["created_date","modified_date"],"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":42,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"filter_backends","value":[null,null],"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":41,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"status","type":"filters.CharFilter","lookup":"iexact","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":24,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"title","type":"filters.CharFilter","lookup":"icontains","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":25,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"reviewStatus":"static contract extracted; runtime/permission/payload behavior review pending","pathParameters":[{"name":"facility_external_id","in":"path","type":"router lookup string; semantic ID validation requires handler/schema review","required":true,"source":{"path":"repositories/platform/mansoq-core/config/api_router.py","line":375,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}]},{"id":"backend-resource-ac614c8c9c9c21ae:GET:retrieve","resourceId":"backend-resource-ac614c8c9c9c21ae","repository":"repositories/platform/mansoq-core","boundary":"primary-core","method":"GET","path":"/api/v1/facility/{facility_external_id}/specimen_definition/{slug}/","declaredPattern":"/api/v1/facility/{facility_external_id}/specimen_definition/{slug}/","action":"retrieve","viewset":"SpecimenDefinitionViewSet","classId":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.specimen_definition.SpecimenDefinitionViewSet","detail":true,"allowedByDeclaredHttpMethods":true,"mountStatus":"verified core mount in config/urls.py","routeEvidence":{"path":"repositories/platform/mansoq-core/config/api_router.py","line":375,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"handlerSource":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":83,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"registrationConditions":[],"evidenceKind":"declared/inherited method","methodEvidenceIds":["repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:83:retrieve","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py:97:get_queryset","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:80:authorize_retrieve","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:325:get_retrieve_pydantic_model","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:77:get_serializer_retrieve_context","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py:44:get_facility_obj","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:330:get_read_pydantic_model"],"schemaIds":{"response":"repositories/platform/mansoq-core:mansoq.emr.resources.specimen_definition.spec.SpecimenDefinitionReadSpec"},"classPermissionEvidence":[],"filterEvidence":[{"name":"ordering_fields","value":["created_date","modified_date"],"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":42,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"filter_backends","value":[null,null],"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":41,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"status","type":"filters.CharFilter","lookup":"iexact","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":24,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"title","type":"filters.CharFilter","lookup":"icontains","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":25,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"reviewStatus":"static contract extracted; runtime/permission/payload behavior review pending","pathParameters":[{"name":"facility_external_id","in":"path","type":"router lookup string; semantic ID validation requires handler/schema review","required":true,"source":{"path":"repositories/platform/mansoq-core/config/api_router.py","line":375,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"slug","in":"path","type":"router lookup string; semantic ID validation requires handler/schema review","required":true,"source":{"path":"repositories/platform/mansoq-core/config/api_router.py","line":375,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}]},{"id":"backend-resource-ac614c8c9c9c21ae:PUT:update","resourceId":"backend-resource-ac614c8c9c9c21ae","repository":"repositories/platform/mansoq-core","boundary":"primary-core","method":"PUT","path":"/api/v1/facility/{facility_external_id}/specimen_definition/{slug}/","declaredPattern":"/api/v1/facility/{facility_external_id}/specimen_definition/{slug}/","action":"update","viewset":"SpecimenDefinitionViewSet","classId":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.specimen_definition.SpecimenDefinitionViewSet","detail":true,"allowedByDeclaredHttpMethods":true,"mountStatus":"verified core mount in config/urls.py","routeEvidence":{"path":"repositories/platform/mansoq-core/config/api_router.py","line":375,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"handlerSource":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":214,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"registrationConditions":[],"evidenceKind":"declared/inherited method","methodEvidenceIds":["repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:214:update","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py:97:get_queryset","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py:94:authorize_update","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:228:handle_update","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py:44:get_facility_obj","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py:82:authorize_create","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:201:clean_update_data","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:335:get_update_pydantic_model","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py:49:validate_data","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py:76:perform_update","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:222:get_serializer_update_context","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:325:get_retrieve_pydantic_model","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:330:get_read_pydantic_model"],"schemaIds":{"request":"repositories/platform/mansoq-core:mansoq.emr.resources.specimen_definition.spec.SpecimenDefinitionWriteSpec","response":"repositories/platform/mansoq-core:mansoq.emr.resources.specimen_definition.spec.SpecimenDefinitionReadSpec"},"classPermissionEvidence":[],"filterEvidence":[{"name":"ordering_fields","value":["created_date","modified_date"],"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":42,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"filter_backends","value":[null,null],"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":41,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"status","type":"filters.CharFilter","lookup":"iexact","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":24,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"title","type":"filters.CharFilter","lookup":"icontains","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":25,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"reviewStatus":"static contract extracted; runtime/permission/payload behavior review pending","pathParameters":[{"name":"facility_external_id","in":"path","type":"router lookup string; semantic ID validation requires handler/schema review","required":true,"source":{"path":"repositories/platform/mansoq-core/config/api_router.py","line":375,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"slug","in":"path","type":"router lookup string; semantic ID validation requires handler/schema review","required":true,"source":{"path":"repositories/platform/mansoq-core/config/api_router.py","line":375,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}]},{"id":"backend-resource-ac614c8c9c9c21ae:PATCH:partial_update","resourceId":"backend-resource-ac614c8c9c9c21ae","repository":"repositories/platform/mansoq-core","boundary":"primary-core","method":"PATCH","path":"/api/v1/facility/{facility_external_id}/specimen_definition/{slug}/","declaredPattern":"/api/v1/facility/{facility_external_id}/specimen_definition/{slug}/","action":"partial_update","viewset":"SpecimenDefinitionViewSet","classId":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.specimen_definition.SpecimenDefinitionViewSet","detail":true,"allowedByDeclaredHttpMethods":true,"mountStatus":"verified core mount in config/urls.py","routeEvidence":{"path":"repositories/platform/mansoq-core/config/api_router.py","line":375,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"handlerSource":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":218,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"registrationConditions":[],"evidenceKind":"declared/inherited method","methodEvidenceIds":["repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:218:partial_update","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py:97:get_queryset","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:214:update","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py:44:get_facility_obj","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:228:handle_update","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:201:clean_update_data","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:335:get_update_pydantic_model","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py:49:validate_data","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py:94:authorize_update","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py:76:perform_update","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:222:get_serializer_update_context","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:325:get_retrieve_pydantic_model"],"schemaIds":{"request":"repositories/platform/mansoq-core:mansoq.emr.resources.specimen_definition.spec.SpecimenDefinitionWriteSpec","response":"repositories/platform/mansoq-core:mansoq.emr.resources.specimen_definition.spec.SpecimenDefinitionReadSpec"},"classPermissionEvidence":[],"filterEvidence":[{"name":"ordering_fields","value":["created_date","modified_date"],"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":42,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"filter_backends","value":[null,null],"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":41,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"status","type":"filters.CharFilter","lookup":"iexact","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":24,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"title","type":"filters.CharFilter","lookup":"icontains","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":25,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"reviewStatus":"static contract extracted; runtime/permission/payload behavior review pending","pathParameters":[{"name":"facility_external_id","in":"path","type":"router lookup string; semantic ID validation requires handler/schema review","required":true,"source":{"path":"repositories/platform/mansoq-core/config/api_router.py","line":375,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"slug","in":"path","type":"router lookup string; semantic ID validation requires handler/schema review","required":true,"source":{"path":"repositories/platform/mansoq-core/config/api_router.py","line":375,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}]},{"id":"backend-resource-ac614c8c9c9c21ae:POST:upsert","resourceId":"backend-resource-ac614c8c9c9c21ae","repository":"repositories/platform/mansoq-core","boundary":"primary-core","method":"POST","path":"/api/v1/facility/{facility_external_id}/specimen_definition/upsert/","declaredPattern":"/api/v1/facility/{facility_external_id}/specimen_definition/upsert/","action":"upsert","viewset":"SpecimenDefinitionViewSet","classId":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.specimen_definition.SpecimenDefinitionViewSet","detail":false,"allowedByDeclaredHttpMethods":true,"mountStatus":"verified core mount in config/urls.py","routeEvidence":{"path":"repositories/platform/mansoq-core/config/api_router.py","line":375,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"handlerSource":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":271,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"registrationConditions":[],"evidenceKind":"@action declaration","methodEvidenceIds":["repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:271:upsert","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py:97:get_queryset","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:228:handle_update","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:142:handle_create","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py:44:get_facility_obj","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:201:clean_update_data","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:335:get_update_pydantic_model","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py:49:validate_data","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py:94:authorize_update","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py:76:perform_update","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:222:get_serializer_update_context","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:325:get_retrieve_pydantic_model","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:130:clean_create_data","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py:82:authorize_create","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py:69:perform_create","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:139:get_serializer_create_context","repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:330:get_read_pydantic_model"],"schemaIds":{},"classPermissionEvidence":[],"filterEvidence":[{"name":"ordering_fields","value":["created_date","modified_date"],"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":42,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"filter_backends","value":[null,null],"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":41,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"status","type":"filters.CharFilter","lookup":"iexact","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":24,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"title","type":"filters.CharFilter","lookup":"icontains","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":25,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"reviewStatus":"static contract extracted; runtime/permission/payload behavior review pending","pathParameters":[{"name":"facility_external_id","in":"path","type":"router lookup string; semantic ID validation requires handler/schema review","required":true,"source":{"path":"repositories/platform/mansoq-core/config/api_router.py","line":375,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}]}],"methodEvidence":[{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:168:list","name":"list","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.base.EMRListMixin","summary":"","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":168,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py:97:get_queryset","name":"get_queryset","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.specimen_definition.SpecimenDefinitionViewSet","summary":"If no facility filters are applied, all objects must be returned without a facility filter.\nIf facility filter is applied, check for read permission and return all inside facility.","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":97,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[],"parametersRead":[],"permissionChecks":[{"permission":"can_list_facility_specimen_definition","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":104,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"declaredErrors":[{"exception":"PermissionDenied","message":"Access Denied to Specimen Definition","dynamicMessage":false,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":109,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:161:serialize_list","name":"serialize_list","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.base.EMRListMixin","summary":"","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":161,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[{"name":"obj","type":"unspecified","required":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":161,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py:44:get_facility_obj","name":"get_facility_obj","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.specimen_definition.SpecimenDefinitionViewSet","summary":"","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":44,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:330:get_read_pydantic_model","name":"get_read_pydantic_model","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.base.EMRBaseViewSet","summary":"","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":330,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:158:get_serializer_list_context","name":"get_serializer_list_context","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.base.EMRListMixin","summary":"","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":158,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:136:create","name":"create","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.base.EMRCreateMixin","summary":"","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":136,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py:82:authorize_create","name":"authorize_create","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.specimen_definition.SpecimenDefinitionViewSet","summary":"The user must have permission to create specimen definition in the facility.","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":82,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[{"name":"instance","type":"unspecified","required":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":82,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"parametersRead":[],"permissionChecks":[{"permission":"can_write_facility_specimen_definition","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":87,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"declaredErrors":[{"exception":"PermissionDenied","message":"Access Denied to Specimen Definition","dynamicMessage":false,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":92,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:142:handle_create","name":"handle_create","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.base.EMRCreateMixin","summary":"","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":142,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[{"name":"request_data","type":"unspecified","required":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":142,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:130:clean_create_data","name":"clean_create_data","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.base.EMRCreateMixin","summary":"","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":130,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[{"name":"request_data","type":"unspecified","required":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":130,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py:49:validate_data","name":"validate_data","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.specimen_definition.SpecimenDefinitionViewSet","summary":"","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":49,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[{"name":"instance","type":"unspecified","required":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":49,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"model_obj","type":"unspecified","required":false,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":49,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"parametersRead":[],"permissionChecks":[],"declaredErrors":[{"exception":"ValidationError","message":"Specimen Definition with this slug already exists.","dynamicMessage":false,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":65,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py:69:perform_create","name":"perform_create","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.specimen_definition.SpecimenDefinitionViewSet","summary":"","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":69,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[{"name":"instance","type":"unspecified","required":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":69,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:139:get_serializer_create_context","name":"get_serializer_create_context","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.base.EMRCreateMixin","summary":"","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":139,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:325:get_retrieve_pydantic_model","name":"get_retrieve_pydantic_model","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.base.EMRBaseViewSet","summary":"","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":325,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:83:retrieve","name":"retrieve","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.base.EMRRetrieveMixin","summary":"","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":83,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:80:authorize_retrieve","name":"authorize_retrieve","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.base.EMRRetrieveMixin","summary":"","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":80,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[{"name":"model_instance","type":"unspecified","required":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":80,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:77:get_serializer_retrieve_context","name":"get_serializer_retrieve_context","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.base.EMRRetrieveMixin","summary":"","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":77,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:214:update","name":"update","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.base.EMRUpdateMixin","summary":"","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":214,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py:94:authorize_update","name":"authorize_update","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.specimen_definition.SpecimenDefinitionViewSet","summary":"","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":94,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[{"name":"request_obj","type":"unspecified","required":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":94,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"model_instance","type":"unspecified","required":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":94,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:228:handle_update","name":"handle_update","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.base.EMRUpdateMixin","summary":"","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":228,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[{"name":"instance","type":"unspecified","required":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":228,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"request_data","type":"unspecified","required":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":228,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:201:clean_update_data","name":"clean_update_data","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.base.EMRUpdateMixin","summary":"","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":201,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[{"name":"request_data","type":"unspecified","required":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":201,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"keep_fields","type":"set | None","required":false,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":201,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:335:get_update_pydantic_model","name":"get_update_pydantic_model","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.base.EMRBaseViewSet","summary":"","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":335,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py:76:perform_update","name":"perform_update","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.specimen_definition.SpecimenDefinitionViewSet","summary":"","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":76,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[{"name":"instance","type":"unspecified","required":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/specimen_definition.py","line":76,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:222:get_serializer_update_context","name":"get_serializer_update_context","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.base.EMRUpdateMixin","summary":"","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":222,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:218:partial_update","name":"partial_update","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.base.EMRUpdateMixin","summary":"","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":218,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:271:upsert","name":"upsert","owner":"repositories/platform/mansoq-core:mansoq.emr.api.viewsets.base.EMRUpsertMixin","summary":"","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":271,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[],"parametersRead":[{"name":"datapoints","in":"body","type":"not declared at read site","required":"not established","readStyle":"get","dynamicName":false,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":274,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"permissionChecks":[],"declaredErrors":[{"exception":"RestFrameworkValidationError","message":"Invalid request data","dynamicMessage":false,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":273,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"exception":"RestFrameworkValidationError","message":"No datapoints provided","dynamicMessage":false,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":276,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"exception":"RestFrameworkValidationError","message":"Too many datapoints provided","dynamicMessage":false,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":278,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"explicitResponseStatuses":[{"value":400,"symbol":null,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":307,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"conditions":[{"condition":"conditional/computed expression; inspect pinned declaration comparison settings.MAX_DATAPOINTS_PER_UPSERT","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py","line":277,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"}],"schemas":[{"id":"repositories/platform/mansoq-core:mansoq.emr.resources.specimen_definition.spec.SpecimenDefinitionReadSpec","name":"SpecimenDefinitionReadSpec","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":136,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"kind":"Python declared schema/model evidence","fields":[{"name":"meta","type":"dict","required":false,"hasDefault":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/base.py","line":16,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"id","type":"UUID4 | None","required":false,"hasDefault":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":114,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"title","type":"str","required":true,"hasDefault":false,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":115,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"derived_from_uri","type":"str | None","required":false,"hasDefault":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":116,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"status","type":"SpecimenDefinitionStatusOptions","required":true,"hasDefault":false,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":117,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"description","type":"str","required":true,"hasDefault":false,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":118,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"type_collected","type":"ValueSetBoundCoding[SPECIMEN_TYPE_CODE_VALUESET.slug]","required":true,"hasDefault":false,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":119,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"patient_preparation","type":"list[ValueSetBoundCoding[PREPARE_PATIENT_PRIOR_SPECIMEN_CODE_VALUESET.slug]]","required":false,"hasDefault":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":120,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"collection","type":"ValueSetBoundCoding[SPECIMEN_COLLECTION_CODE_VALUESET.slug] | None","required":false,"hasDefault":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":123,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"type_tested","type":"TypeTestedSpec | None","required":false,"hasDefault":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":126,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"version","type":"int | None","required":false,"hasDefault":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":139,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"slug_config","type":"dict","required":true,"hasDefault":false,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":140,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"slug","type":"str","required":true,"hasDefault":false,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":141,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}}],"validation":[],"baseTypes":["BaseSpecimenDefinitionSpec"],"reviewStatus":"declared fields extracted; runtime validation review pending","referencedSchemaIds":["repositories/platform/mansoq-core:mansoq.emr.resources.specimen_definition.spec.SpecimenDefinitionStatusOptions","repositories/platform/mansoq-core:mansoq.emr.utils.valueset_coding_type.ValueSetBoundCoding","repositories/platform/mansoq-core:mansoq.emr.resources.specimen_definition.spec.TypeTestedSpec"]},{"id":"repositories/platform/mansoq-core:mansoq.emr.resources.specimen_definition.spec.SpecimenDefinitionStatusOptions","name":"SpecimenDefinitionStatusOptions","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":19,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"kind":"Python enum/choice declaration","fields":[],"validation":[],"baseTypes":["str","Enum"],"reviewStatus":"declared fields extracted; runtime validation review pending","members":[{"name":"draft","value":"draft","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":22,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"active","value":"active","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":23,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"retired","value":"retired","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":24,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"referencedSchemaIds":[]},{"id":"repositories/platform/mansoq-core:mansoq.emr.resources.specimen_definition.spec.TypeTestedSpec","name":"TypeTestedSpec","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":96,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"kind":"Python declared schema/model evidence","fields":[{"name":"is_derived","type":"bool","required":true,"hasDefault":false,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":99,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"preference","type":"PreferenceOptions","required":true,"hasDefault":false,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":100,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"container","type":"ContainerSpec | None","required":false,"hasDefault":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":101,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"requirement","type":"str | None","required":false,"hasDefault":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":102,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"retention_time","type":"DurationSpec | None","required":false,"hasDefault":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":103,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"single_use","type":"bool | None","required":false,"hasDefault":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":104,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"handling","type":"HandlingSpec | None","required":false,"hasDefault":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":105,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}}],"validation":[],"baseTypes":["BaseModel"],"reviewStatus":"declared fields extracted; runtime validation review pending","referencedSchemaIds":["repositories/platform/mansoq-core:mansoq.emr.resources.specimen_definition.spec.PreferenceOptions","repositories/platform/mansoq-core:mansoq.emr.resources.specimen_definition.spec.ContainerSpec","repositories/platform/mansoq-core:mansoq.emr.resources.specimen_definition.spec.DurationSpec","repositories/platform/mansoq-core:mansoq.emr.resources.specimen_definition.spec.HandlingSpec"]},{"id":"repositories/platform/mansoq-core:mansoq.emr.resources.specimen_definition.spec.PreferenceOptions","name":"PreferenceOptions","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":27,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"kind":"Python enum/choice declaration","fields":[],"validation":[],"baseTypes":["str","Enum"],"reviewStatus":"declared fields extracted; runtime validation review pending","members":[{"name":"preferred","value":"preferred","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":30,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"alternate","value":"alternate","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":31,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"referencedSchemaIds":[]},{"id":"repositories/platform/mansoq-core:mansoq.emr.resources.specimen_definition.spec.ContainerSpec","name":"ContainerSpec","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":63,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"kind":"Python declared schema/model evidence","fields":[{"name":"description","type":"str | None","required":false,"hasDefault":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":66,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"capacity","type":"QuantitySpec | None","required":false,"hasDefault":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":67,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"minimum_volume","type":"MinimumVolumeSpec | None","required":false,"hasDefault":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":68,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"cap","type":"ValueSetBoundCoding[CONTAINER_CAP_VALUESET.slug] | None","required":false,"hasDefault":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":69,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"preparation","type":"str | None","required":false,"hasDefault":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":70,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}}],"validation":[],"baseTypes":["BaseModel"],"reviewStatus":"declared fields extracted; runtime validation review pending","referencedSchemaIds":["repositories/platform/mansoq-core:mansoq.emr.resources.specimen_definition.spec.QuantitySpec","repositories/platform/mansoq-core:mansoq.emr.resources.specimen_definition.spec.MinimumVolumeSpec","repositories/platform/mansoq-core:mansoq.emr.utils.valueset_coding_type.ValueSetBoundCoding"]},{"id":"repositories/platform/mansoq-core:mansoq.emr.resources.specimen_definition.spec.QuantitySpec","name":"QuantitySpec","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":42,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"kind":"Python declared schema/model evidence","fields":[{"name":"value","type":"Decimal","required":true,"hasDefault":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":45,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"unit","type":"Coding","required":true,"hasDefault":false,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":46,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}}],"validation":[],"baseTypes":["BaseModel"],"reviewStatus":"declared fields extracted; runtime validation review pending","referencedSchemaIds":["repositories/platform/mansoq-core:mansoq.emr.resources.common.coding.Coding"]},{"id":"repositories/platform/mansoq-core:mansoq.emr.resources.common.coding.Coding","name":"Coding","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/common/coding.py","line":4,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"kind":"Python declared schema/model evidence","fields":[{"name":"system","type":"str | None","required":false,"hasDefault":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/common/coding.py","line":10,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"version","type":"str | None","required":false,"hasDefault":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/common/coding.py","line":11,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"code","type":"str","required":true,"hasDefault":false,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/common/coding.py","line":12,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"display","type":"str | None","required":false,"hasDefault":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/common/coding.py","line":13,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}}],"validation":[],"baseTypes":["BaseModel"],"reviewStatus":"declared fields extracted; runtime validation review pending","referencedSchemaIds":[]},{"id":"repositories/platform/mansoq-core:mansoq.emr.resources.specimen_definition.spec.MinimumVolumeSpec","name":"MinimumVolumeSpec","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":49,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"kind":"Python declared schema/model evidence","fields":[{"name":"quantity","type":"QuantitySpec | None","required":false,"hasDefault":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":52,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"string","type":"str | None","required":false,"hasDefault":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":53,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}}],"validation":[{"methodId":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py:56:validate_minimum_volume","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":56,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"baseTypes":["BaseModel"],"reviewStatus":"declared fields extracted; runtime validation review pending","referencedSchemaIds":["repositories/platform/mansoq-core:mansoq.emr.resources.specimen_definition.spec.QuantitySpec"]},{"id":"repositories/platform/mansoq-core:mansoq.emr.resources.specimen_definition.spec.DurationSpec","name":"DurationSpec","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":73,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"kind":"Python declared schema/model evidence","fields":[{"name":"value","type":"Decimal","required":true,"hasDefault":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":76,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"unit","type":"Coding","required":true,"hasDefault":false,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":77,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}}],"validation":[],"baseTypes":["BaseModel"],"reviewStatus":"declared fields extracted; runtime validation review pending","referencedSchemaIds":["repositories/platform/mansoq-core:mansoq.emr.resources.common.coding.Coding"]},{"id":"repositories/platform/mansoq-core:mansoq.emr.resources.specimen_definition.spec.HandlingSpec","name":"HandlingSpec","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":87,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"kind":"Python declared schema/model evidence","fields":[{"name":"temperature_qualifier","type":"HandlingConditionOptions | None","required":false,"hasDefault":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":90,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"temperature_range","type":"RangeSpec | None","required":false,"hasDefault":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":91,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"max_duration","type":"DurationSpec | None","required":false,"hasDefault":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":92,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"instruction","type":"str | None","required":false,"hasDefault":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":93,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}}],"validation":[],"baseTypes":["BaseModel"],"reviewStatus":"declared fields extracted; runtime validation review pending","referencedSchemaIds":["repositories/platform/mansoq-core:mansoq.emr.resources.specimen_definition.spec.HandlingConditionOptions","repositories/platform/mansoq-core:mansoq.emr.resources.specimen_definition.spec.RangeSpec","repositories/platform/mansoq-core:mansoq.emr.resources.specimen_definition.spec.DurationSpec"]},{"id":"repositories/platform/mansoq-core:mansoq.emr.resources.specimen_definition.spec.HandlingConditionOptions","name":"HandlingConditionOptions","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":34,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"kind":"Python enum/choice declaration","fields":[],"validation":[],"baseTypes":["str","Enum"],"reviewStatus":"declared fields extracted; runtime validation review pending","members":[{"name":"room","value":"room","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":37,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"refrigerated","value":"refrigerated","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":38,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"frozen","value":"frozen","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":39,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"referencedSchemaIds":[]},{"id":"repositories/platform/mansoq-core:mansoq.emr.resources.specimen_definition.spec.RangeSpec","name":"RangeSpec","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":80,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"kind":"Python declared schema/model evidence","fields":[{"name":"low","type":"QuantitySpec | None","required":false,"hasDefault":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":83,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"high","type":"QuantitySpec | None","required":false,"hasDefault":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":84,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}}],"validation":[],"baseTypes":["BaseModel"],"reviewStatus":"declared fields extracted; runtime validation review pending","referencedSchemaIds":["repositories/platform/mansoq-core:mansoq.emr.resources.specimen_definition.spec.QuantitySpec"]},{"id":"repositories/platform/mansoq-core:mansoq.emr.resources.specimen_definition.spec.SpecimenDefinitionWriteSpec","name":"SpecimenDefinitionWriteSpec","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":129,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"kind":"Python declared schema/model evidence","fields":[{"name":"meta","type":"dict","required":false,"hasDefault":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/base.py","line":16,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"id","type":"UUID4 | None","required":false,"hasDefault":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":114,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"title","type":"str","required":true,"hasDefault":false,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":115,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"derived_from_uri","type":"str | None","required":false,"hasDefault":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":116,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"status","type":"SpecimenDefinitionStatusOptions","required":true,"hasDefault":false,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":117,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"description","type":"str","required":true,"hasDefault":false,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":118,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"type_collected","type":"ValueSetBoundCoding[SPECIMEN_TYPE_CODE_VALUESET.slug]","required":true,"hasDefault":false,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":119,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"patient_preparation","type":"list[ValueSetBoundCoding[PREPARE_PATIENT_PRIOR_SPECIMEN_CODE_VALUESET.slug]]","required":false,"hasDefault":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":120,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"collection","type":"ValueSetBoundCoding[SPECIMEN_COLLECTION_CODE_VALUESET.slug] | None","required":false,"hasDefault":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":123,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"type_tested","type":"TypeTestedSpec | None","required":false,"hasDefault":true,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":126,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}},{"name":"slug_value","type":"SlugType","required":true,"hasDefault":false,"source":{"path":"repositories/platform/mansoq-core/mansoq/emr/resources/specimen_definition/spec.py","line":130,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"constraints":{}}],"validation":[],"baseTypes":["BaseSpecimenDefinitionSpec"],"reviewStatus":"declared fields extracted; runtime validation review pending","referencedSchemaIds":["repositories/platform/mansoq-core:mansoq.emr.resources.specimen_definition.spec.SpecimenDefinitionStatusOptions","repositories/platform/mansoq-core:mansoq.emr.utils.valueset_coding_type.ValueSetBoundCoding","repositories/platform/mansoq-core:mansoq.emr.resources.specimen_definition.spec.TypeTestedSpec","repositories/platform/mansoq-core:mansoq.emr.utils.slug_type.SlugType"]},{"id":"repositories/platform/mansoq-core:mansoq.emr.utils.slug_type.SlugType","name":"SlugType","kind":"Python type alias declaration","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/utils/slug_type.py","line":47,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"fields":[],"validation":[{"methodId":"repositories/platform/mansoq-core/mansoq/emr/utils/slug_type.py:7:slug_validator","source":{"path":"repositories/platform/mansoq-core/mansoq/emr/utils/slug_type.py","line":7,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"baseTypes":[],"expression":"Annotated[str, Field(), AfterValidator(slug_validator)]","referencedSchemaIds":[],"reviewStatus":"alias/type/validator names extracted; runtime validation review pending"}],"frameworkSettings":[{"name":"DEFAULT_AUTHENTICATION_CLASSES","value":["config.authentication.CustomJWTAuthentication","config.authentication.CustomBasicAuthentication","rest_framework.authentication.SessionAuthentication","rest_framework.authentication.TokenAuthentication"],"source":{"path":"repositories/platform/mansoq-core/config/settings/base.py","line":372,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"scope":"source default; deployment overrides and action-level policies may differ"},{"name":"DEFAULT_PERMISSION_CLASSES","value":["rest_framework.permissions.IsAuthenticated","mansoq.security.utils.permission_class.MansoqAuthentication"],"source":{"path":"repositories/platform/mansoq-core/config/settings/base.py","line":372,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"scope":"source default; deployment overrides and action-level policies may differ"},{"name":"DEFAULT_PAGINATION_CLASS","value":"mansoq.utils.pagination.mansoq_pagination.MansoqLimitOffsetPagination","source":{"path":"repositories/platform/mansoq-core/config/settings/base.py","line":372,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"scope":"source default; deployment overrides and action-level policies may differ"},{"name":"PAGE_SIZE","value":14,"source":{"path":"repositories/platform/mansoq-core/config/settings/base.py","line":372,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"scope":"source default; deployment overrides and action-level policies may differ"}]},"frontend":{"operations":[],"schemas":[]},"services":{"operations":[]},"boundaries":[]}