# Assign multiple parameters after function evaluation

I want to conduct sensitivity analysis on an ODE (say with two independent variables x,y) with many parameters. The issue I have boils down to trying to do it all at once in a module. My attempt

D[{x[a,b,c,d],y[a,b,c,d]},a]/.{{a,b,c,d}->{aval,bval,cval,dval}} /. sol


where sol contains the output from ParametricNDSolve. This approach seems to work if there is a single parameter, but if I wanted to create the sensitivity matrix: $$\left(\begin{matrix} x_a & y_a \\ x_b & y_b \\ x_c & y_c \\ x_d & y_d \end{matrix}\right),$$ This method becomes more cumbersome. Is there a nice way to create the sensitivity matrix using a similar approach?