there are several mistakes in your xsl stylesheet :
status is not properly xml formed and starts with an ending tag,
and lose the quotes you put around your $variables then it should work perfectly
I used following xsl stylesheet with saxon :
="1.0"="UTF-8"="yes"
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:param name="hospId" />
<xsl:param name="depId" />
<xsl:param name="clinicId" />
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="hospitals/hospital[hospId=$hospId]/department[depId=$depId]/clinic[cid=$clinicId]/status">
<status>123</status>
</xsl:template>
</xsl:stylesheet>