anchor.diff:  %% for a user .
   %% @hidden
   process_json_patch(Ops, ID) ->
  -	process_json_patch1(Ops, ID, []).
  -%% @hidden
  -process_json_patch1([{struct, Attr}| T], ID, Acc) ->
  -	case {lists:keyfind("op", 1, Attr), lists:keyfind("path", 1, Attr)} of
  -		{{_, "replace"}, {_, "/characteristic/" ++ _}} ->
  -			ok;
  -		{{_, "add"}, {_, "/characteristic/-"}} ->
  -			ok
  -	end,
  -	{_, {struct, Value}} = lists:keyfind("value", 1, Attr),
  -	case lists:keyfind("name", 1, Value) of
  +	process_json_patch1(ocs_rest:parse(Ops), ID, []).
  +%% @hidden
  +process_json_patch1([{add, ["characteristic" | _], {struct, Obj}} | T], ID, Acc) ->
  +	case lists:keyfind("name", 1, Obj) of
  +		{_, "locale"} ->
  +			{_, Locale} = lists:keyfind("value", 1, Obj),
  +			process_json_patch1(T, ID, [{locale, Locale} | Acc]);
  +		false ->
  +			{error, 400}
  +	end;
  +process_json_patch1([{replace, ["characteristic" | _], {struct, Obj}} | T], ID, Acc) ->
  +	case lists:keyfind("name", 1, Obj) of
   		{_, "password"} ->
  -			{_, NewPassword} = lists:keyfind("value", 1, Value),
  -			process_json_patch1(T, ID, [{"password", NewPassword} | Acc]);
  -		{_, "locale"} ->
  -			{_, NewLocale} = lists:keyfind("value", 1, Value),
  -			process_json_patch1(T, ID, [{"locale", NewLocale} | Acc]);
  +			{_, Password} = lists:keyfind("value", 1, Obj),
  +			process_json_patch1(T, ID, [{password, Password} | Acc]);
   		false ->
  -			process_json_patch1(T, ID, Acc)
  +			{error, 400}
   	end;
   process_json_patch1([], ID, Acc) ->
   	case ocs:get_user(ID) of
  
positive.code: 				false ->
  					"en"
  			end,
  			Password = case lists:keyfind("password", 1, Acc) of
  				false ->
  					OPassword;
  				{_, NewPassword} ->
  					NewPassword
  			end,
  			Locale = case lists:keyfind("locale", 1, Acc) of
  				false ->
  					OLocale;
  				{_, NewLocale} ->
  
negative.code: 			{error, 400}
  	end.
  %% @hidden
  patch_user1(ID, Etag, "application/json-patch+json", ReqBody) ->
  	try
  		{array, Ops} = mochijson:decode(ReqBody),
  		case process_json_patch(Ops, ID) of
  			{error, Code} ->
  				{error, Code};
  			{ID, Password, Locale, LM} when Etag == LM; Etag == undefined ->
  				case ocs:update_user(ID, Password, Locale) of
  					{ok, LastModified} ->
  						Location = "/partyManagement/v1/individual/" ++ ID,
  						Headers = [{location, Location}, {etag, etag(LastModified)}],
  						{ok, Headers, []};
  					{error, _} ->
  						{error, 500}
  				end;
  			{_, _, _, _} ->
  				{error, 412}
  		end
  	catch
  		_:_Reason ->
  			{error, 400}
  	end.
  
  -spec delete_user(Id) -> Result
  	when
  