Skip to content

onconova.interoperability.fhir.controllers.procedure

ProcedureController

Bases: FhirBaseController

create_procedure(payload)

Source code in onconova/interoperability/fhir/controllers/procedure.py
@route.post(
    path="",
    response={
        200: RadiotherapyCourseSummaryProfile
        | SurgicalProcedureProfile
        | MolecularTumorBoardReviewProfile
        | TumorBoardReviewProfile
        | OperationOutcome
        | None,
        400: OperationOutcome,
        409: OperationOutcome,
    },
    permissions=[perms.CanManageCases],
    operation_id="createProcedure",
    exclude_none=True,
    summary="Create a new resource",
)
def create_procedure(
    self, payload: RadiotherapyCourseSummaryProfile
        | SurgicalProcedureProfile
        | MolecularTumorBoardReviewProfile
        | TumorBoardReviewProfile
):
    return self.create_fhir_resource(payload)

delete_procedure(rid)

Source code in onconova/interoperability/fhir/controllers/procedure.py
@route.delete(
    path="{rid}",
    response={
        204: None,
        404: OperationOutcome,
    },
    permissions=[perms.CanManageCases],
    operation_id="deleteProcedure",
    exclude_none=True,
    summary="Delete the resource so that it no exists (no read, search etc)",
)
def delete_procedure(self, rid: str):
    return self.delete_fhir_resource(rid, [
        Surgery,
        Radiotherapy, 
        UnspecifiedTumorBoard,
        MolecularTumorBoard,
    ])

read_procedure(rid)

Source code in onconova/interoperability/fhir/controllers/procedure.py
@route.get(
    path="{rid}",
    response={
        200: RadiotherapyCourseSummaryProfile
        | SurgicalProcedureProfile
        | MolecularTumorBoardReviewProfile
        | TumorBoardReviewProfile,
        **COMMON_READ_HTTP_ERRORS,
    },
    permissions=[perms.CanManageCases],
    operation_id="readProcedure",
    exclude_none=True,
    summary="Read the current state of the resource",
)
def read_procedure(self, rid: str):
    return self.read_fhir_resource(rid, [
        Surgery, 
        Radiotherapy,
        UnspecifiedTumorBoard,
        MolecularTumorBoard,
    ])

update_procedure(rid, payload)

Source code in onconova/interoperability/fhir/controllers/procedure.py
@route.put(
    path="{rid}",
    response={
        200: RadiotherapyCourseSummaryProfile
        | SurgicalProcedureProfile
        | MolecularTumorBoardReviewProfile
        | TumorBoardReviewProfile
        | OperationOutcome
        | None,
        **COMMON_UPDATE_HTTP_ERRORS,
    },
    permissions=[perms.CanManageCases],
    operation_id="updateProcedure",
    exclude_none=True,
    summary="Update the current state of the resource",
)
def update_procedure(
    self,
    rid: str,
    payload: RadiotherapyCourseSummaryProfile
        | SurgicalProcedureProfile
        | MolecularTumorBoardReviewProfile
        | TumorBoardReviewProfile,
):
    return self.update_fhir_resource(rid, payload)
runner