I think you have got an almost complete answer already. How about packaging it like this?
Clear["Global`*"]; SSSSSSTetrahedron[s1_, s2_, s3_, s4_, s5_, s6_] := Module[{ptO, ptA, ptB, ptC, cand, tri, x, y, z}, tri = SSSTriangle[s1, s2, s3]; {ptO, ptA, ptB} = Append[#, 0] & /@ tri[[1]]; ptC = {x, y, z}; cand = ptC /. Solve[{ EuclideanDistance[ptO, ptC] == s4, EuclideanDistance[ptA, ptC] == s5, EuclideanDistance[ptB, ptC] == s6}, ptC]; (* choose one of two possible orientation *) ptC = SelectFirst[cand, Det[{ptA, ptB, #}] > 0 &]; {ptO, ptA, ptB, ptC}] tet = SSSSSSTetrahedron[51, 52, 53, 80, 84, 117]

Graphics3D[{ {Opacity[.5], Simplex[tet]}, MapThread[Text[Style[#1, 20, Bold], #2]&, {{"O", "A", "B", "C"}, tet}]}]

Appendix
In response to OP's request, I added a code which determines whether the input data is valid or not.
Clear["Global`*"]; validDataQ[{s1_, s2_, s3_, s4_, s5_, s6_}] := Module[{edgelen, faces, result, triangleineq, report}, faces = Subsets[{"A", "B", "C", "O"}, {3}]; edgelen = {{"A", "B"} -> s1, {"B", "O"} -> s2, {"A", "O"} -> s3, {"C", "O"} -> s4, {"A", "C"} -> s5, {"B", "C"} -> s6}; triangleineq[{a_, b_, c_}] := a + b > c && b + c > a && c + a > b; result = triangleineq[Subsets[#, {2}] /. edgelen] & /@ faces; If[And @@ result, Return[True]]; report = Table[ {StringJoin @@ tri, StringJoin[#] <> "=" <> ToString[# /. edgelen] & /@ Subsets[tri, {2}]}, {tri, Pick[faces, result, False]}]; Echo[#, "Invalid triangle :"] & /@ report; False]; SSSSSSTetrahedron[s1_, s2_, s3_, s4_, s5_, s6_] := Module[{ptO, ptA, ptB, ptC, cand, tri, x, y, z}, If[Not[validDataQ[{s1, s2, s3, s4, s5, s6}]], Return[{}]]; tri = SSSTriangle[s1, s2, s3]; {ptO, ptA, ptB} = Append[#, 0] & /@ tri[[1]]; ptC = {x, y, z}; cand = ptC /. Solve[{EuclideanDistance[ptO, ptC] == s4, EuclideanDistance[ptA, ptC] == s5, EuclideanDistance[ptB, ptC] == s6}, ptC]; (*choose one of two possible orientation*) ptC = SelectFirst[cand, Det[{ptA, ptB, #}] > 0 &]; {ptO, ptA, ptB, ptC}];
Sample run:
SSSSSSTetrahedron[8, 4, 6, 5, 6, 4]

SSSSSSTetrahedron[7, 2, 10, 9, 7, 1]

