In this talk I introduce recent work on high-level languages for quantum error correction processes. I present in detail a new translation between the action of lattice surgery in the planar surface code and the diagrammatic ZX calculus of observables. I will show how the lattice operations of split and merge correspond to the same Kraus operators as nodes in the ZX calculus, and demonstrate how ZX diagrams can then be interpreted as physical operations on the lattice. I will discuss the particular examples of magic state distillation and two-qubit gates, showing how the calculus gives new procedures for implementing these protocols. I will discuss two potential uses of this translation, both ongoing work. First is the development of the calculus as a compiler language for lattice surgery. This entails creating a restricted calculus, and I will discuss the issues around representing time ordering and determinism that arise. Secondly I will look at how we extract out a general logic of quantum error correction processes. This includes combining physical- and logical- level qubit descriptions, and extending to other codes where lattice surgery occurs, such as colour codes.