← Technical API reference

Backend resource · STATIC DECLARATIONS

Medication Dispense API reference · mansoq-core

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

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

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

Declared route and availability

This resource is declared in mansoq-core at /api/v1/medication/dispense/. verified core mount in config/urls.py 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/medication/dispense/ list declared/inherited method
POST /api/v1/medication/dispense/ create declared/inherited method
GET /api/v1/medication/dispense/{external_id}/ retrieve declared/inherited method
PUT /api/v1/medication/dispense/{external_id}/ update declared/inherited method
PATCH /api/v1/medication/dispense/{external_id}/ partial_update declared/inherited method
POST /api/v1/medication/dispense/upsert/ upsert @action declaration
GET /api/v1/medication/dispense/summary/ summary @action declaration

list · GET

GET /api/v1/medication/dispense/ — action list. static contract extracted; runtime/permission/payload behavior review pending.

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 not established
query include_children not declared at read site not established
query encounter not declared at read site not established

response: MedicationDispenseReadSpec. Declared fields below; inherited fields are retained in the schema inventory.

Field Type Required Constraints
meta dict false No extra constraint extracted
id UUID4 false No extra constraint extracted
status MedicationDispenseStatus true No extra constraint extracted
not_performed_reason MedicationDispenseNotPerformedReason | None false No extra constraint extracted
category MedicationDispenseCategory | None false No extra constraint extracted
when_prepared datetime | None false No extra constraint extracted
when_handed_over datetime | None false No extra constraint extracted
note str | None false No extra constraint extracted
dosage_instruction list[DosageInstruction] false No extra constraint extracted
substitution MedicationDispenseSubstitution | None false No extra constraint extracted
item dict true No extra constraint extracted
charge_item dict | None false No extra constraint extracted
created_date datetime true No extra constraint extracted
modified_date datetime true No extra constraint extracted
location dict true No extra constraint extracted
quantity Decimal true No extra constraint extracted
authorizing_request dict | None false No extra constraint extracted
order dict | None false No extra constraint extracted

Observed authorization checks: can_list_location_medication_dispense, can_view_medication_dispense_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 read medication dispenses.

create · POST

POST /api/v1/medication/dispense/ — action create. static contract extracted; runtime/permission/payload behavior review pending.

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 not established
query include_children not declared at read site not established
query encounter not declared at read site not established

request: MedicationDispenseWriteSpec. Declared fields below; inherited fields are retained in the schema inventory.

Field Type Required Constraints
meta dict false No extra constraint extracted
id UUID4 false No extra constraint extracted
status MedicationDispenseStatus true No extra constraint extracted
not_performed_reason MedicationDispenseNotPerformedReason | None false No extra constraint extracted
category MedicationDispenseCategory | None false No extra constraint extracted
when_prepared datetime | None false No extra constraint extracted
when_handed_over datetime | None false No extra constraint extracted
note str | None false No extra constraint extracted
dosage_instruction list[DosageInstruction] false No extra constraint extracted
substitution MedicationDispenseSubstitution | None false No extra constraint extracted
encounter UUID4 true No extra constraint extracted
location UUID4 true No extra constraint extracted
authorizing_request UUID4 | None false No extra constraint extracted
item UUID4 true No extra constraint extracted
quantity Decimal true ge: 1
days_supply Decimal | None false No extra constraint extracted
fully_dispensed bool | None false No extra constraint extracted
order UUID4 | None false No extra constraint extracted
create_dispense_order CreateDispenseOrder | None false No extra constraint extracted

response: MedicationDispenseRetrieveSpec. Declared fields below; inherited fields are retained in the schema inventory.

Field Type Required Constraints
meta dict false No extra constraint extracted
id UUID4 false No extra constraint extracted
status MedicationDispenseStatus true No extra constraint extracted
not_performed_reason MedicationDispenseNotPerformedReason | None false No extra constraint extracted
category MedicationDispenseCategory | None false No extra constraint extracted
when_prepared datetime | None false No extra constraint extracted
when_handed_over datetime | None false No extra constraint extracted
note str | None false No extra constraint extracted
dosage_instruction list[DosageInstruction] false No extra constraint extracted
substitution MedicationDispenseSubstitution | None false No extra constraint extracted
item dict true No extra constraint extracted
charge_item dict | None false No extra constraint extracted
created_date datetime true No extra constraint extracted
modified_date datetime true No extra constraint extracted
location dict true No extra constraint extracted
quantity Decimal true No extra constraint extracted
authorizing_request dict | None false No extra constraint extracted
order dict | None false No extra constraint extracted
encounter dict true No extra constraint extracted

Observed authorization checks: can_list_location_medication_dispense, can_view_medication_dispense_for_encounter, can_write_location_medication_dispense. 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 read medication dispenses; PermissionDenied: You do not have permission to write medication dispenses; ValidationError: No updates allowed on cancelled medication dispense; ValidationError: Inventory item does not have enough stock.

retrieve · GET

GET /api/v1/medication/dispense/{external_id}/ — action retrieve. static contract extracted; runtime/permission/payload behavior review pending.

Path and deployment-context parameters:

Location Parameter Type Required
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 not established
query include_children not declared at read site not established
query encounter not declared at read site not established

response: MedicationDispenseRetrieveSpec. 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_medication_dispense, can_view_medication_dispense_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 read medication dispense; PermissionDenied: You do not have permission to read medication dispenses.

update · PUT

PUT /api/v1/medication/dispense/{external_id}/ — action update. static contract extracted; runtime/permission/payload behavior review pending.

Path and deployment-context parameters:

Location Parameter Type Required
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 not established
query include_children not declared at read site not established
query encounter not declared at read site not established

request: MedicationDispenseUpdateSpec. Declared fields below; inherited fields are retained in the schema inventory.

Field Type Required Constraints
meta dict false No extra constraint extracted
id UUID4 false No extra constraint extracted
status MedicationDispenseStatus true No extra constraint extracted
not_performed_reason MedicationDispenseNotPerformedReason | None false No extra constraint extracted
category MedicationDispenseCategory | None false No extra constraint extracted
when_prepared datetime | None false No extra constraint extracted
when_handed_over datetime | None false No extra constraint extracted
note str | None false No extra constraint extracted
dosage_instruction list[DosageInstruction] false No extra constraint extracted
substitution MedicationDispenseSubstitution | None false No extra constraint extracted
fully_dispensed bool | None false No extra constraint extracted
order UUID4 | None false No extra constraint extracted

response: MedicationDispenseRetrieveSpec. 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_medication_dispense, can_view_medication_dispense_for_encounter, can_write_location_medication_dispense. 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 read medication dispenses; PermissionDenied: You do not have permission to write medication dispenses; ValidationError: No updates allowed on cancelled medication dispense.

partial_update · PATCH

PATCH /api/v1/medication/dispense/{external_id}/ — action partial_update. static contract extracted; runtime/permission/payload behavior review pending.

Path and deployment-context parameters:

Location Parameter Type Required
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 not established
query include_children not declared at read site not established
query encounter not declared at read site not established

request: MedicationDispenseUpdateSpec. 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: MedicationDispenseRetrieveSpec. 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_medication_dispense, can_view_medication_dispense_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 read medication dispenses; ValidationError: No updates allowed on cancelled medication dispense.

upsert · POST

POST /api/v1/medication/dispense/upsert/ — action upsert. static contract extracted; runtime/permission/payload behavior review pending.

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

Location Field Declared/inferred read type Requiredness evidence
body datapoints not declared at read site not established
query location not declared at read site not established
query include_children not declared at read site not established
query encounter not declared at read site not established

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

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

Declared refusal/error evidence: RestFrameworkValidationError: Invalid request data; RestFrameworkValidationError: No datapoints provided; RestFrameworkValidationError: Too many datapoints provided; ValidationError: Location or encounter is required; PermissionDenied: You do not have permission to read medication dispenses; ValidationError: No updates allowed on cancelled medication dispense; ValidationError: Inventory item does not have enough stock; PermissionDenied: You do not have permission to write medication dispenses.

Conditional gates: conditional/computed expression; inspect pinned declaration comparison settings.MAX_DATAPOINTS_PER_UPSERT.

summary · GET

GET /api/v1/medication/dispense/summary/ — action summary. static contract extracted; runtime/permission/payload behavior review pending.

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 not established
query include_children not declared at read site not established
query encounter not declared at read site not established

Observed authorization checks: can_list_location_medication_dispense, can_view_medication_dispense_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 read medication dispenses.

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.