anchor.diff:  %% Internal Functions
   %% ====================================================================
   
  -%% node_status/3
  +%% node_status/5
   %% ====================================================================
   %% @doc Checks if callbacks num and state num on dispatcher and node manager are same as in ccm,
  -%% returns xmerl simple_xml output describing node health status
  +%% returns xmerl simple_xml output describing node health status. If callbacks don't match and some worker is
  +%% down - asume "error", if callbacks don't match and all workers are ok - assume "initializing"
   %% @end
  --spec node_status(Node :: atom(), CcmStateNum :: integer(), CcmCStateNum :: integer(),Timeout :: integer()) -> Result when
  +-spec node_status(Node :: atom(), CcmStateNum :: integer(), CcmCStateNum :: integer(), WorkersOk :: boolean(), Timeout :: integer()) -> Result when
   	Result :: {veil_cluster_node, Attrs :: list(Atribute), []},
   	Atribute :: {Name :: atom(),Value :: string()}.
   %% ====================================================================
  -node_status(Node,CcmStateNum,CcmCStateNum,Timeout) ->
  +node_status(Node,CcmStateNum,CcmCStateNum,WorkersOk,Timeout) ->
   	lager:debug("Healthcheck on node:~p",[Node]),
   	%get state nuber and callback number from node manager and dispatcher
   	{_, DispCStateNum} = gen_server:call({?Dispatcher_Name, Node}, get_callbacks, Timeout),
  
positive.code: 	{Workers, StateNum} = gen_server:call({global, ?CCM}, get_workers, Timeout),
  	{_, CStateNum} = gen_server:call({global, ?CCM}, get_callbacks, Timeout),
  
  	%check nodes
  	NodesStatus = pmap(fun(Node) -> node_status(Node,StateNum,CStateNum,Timeout) end, Nodes),
  
  	%check workers
  	WorkersStatus = pmap(fun(Worker) -> worker_status(Worker,Timeout) end,Workers),
  
  	%check if errors occured
  	{HealthStatus, HttpStatusCode} = case contains_errors(NodesStatus) and contains_errors(WorkersStatus) of
  		true -> {"ok",200};
  		false -> {"error",500}
  	end,
  
  	%prepare current date
  
negative.code: 	Result :: true | false.
  %% ====================================================================
  contains_errors(StatusList) ->
  	Errors = [Status || {_Tag,Attrs,_Content} <- StatusList, {status,Status} <-Attrs, Status /= "ok", Status /= "initializing"],
  	Errors /= [].
  
  
  %% ====================================================================
  