/** * This operation operates on a specific version of a resource * * @param id Resource version * @param name Operation name * @param parameters The parameters to use as input. May also be <code>null</code> if the operation * does not require any input parameters. * @param outputParameterType The type to use for the output parameters (this should be set to * <code>Parameters.class</code> drawn from the version of the FHIR structures you are using), may be NULL * @param useHttpGet use HTTP GET verb * @param returnType If this operation returns a single resource body as its return type instead of a <code>Parameters</code> * resource, use this method to specify that resource type. This is useful for certain * operations (e.g. <code>Patient/NNN/$everything</code>) which return a bundle instead of * a Parameters resource, may be NULL * @param extraParameters see {@link ExtraParameters} for a full list of parameters that can be passed, may be NULL * @param <T> extends {@link IBaseParameters} * @return the {@link IBaseResource} */ public <T extends IBaseParameters> IBaseResource onInstanceVersion( IIdType id, String name, T parameters, Class<T> outputParameterType, boolean useHttpGet, Class<IBaseResource> returnType, Map<ExtraParameters, Object> extraParameters) { IOperationUnnamed operationUnnamed = client.operation().onInstanceVersion(id); IOperationUntypedWithInput<? extends IBaseResource> operationUntypedWithInput = processNamedOperationParameters( name, parameters, outputParameterType, useHttpGet, returnType, extraParameters, operationUnnamed); return operationUntypedWithInput.execute(); }
/** * Perform the operation across all versions of a specific resource (by ID and type) on the server. * Note that <code>theId</code> must be populated with both a resource type and a resource ID at * a minimum. * * @param id Resource (version will be stripped) * @param name Operation name * @param parameters The parameters to use as input. May also be <code>null</code> if the operation * does not require any input parameters. * @param outputParameterType The type to use for the output parameters (this should be set to * <code>Parameters.class</code> drawn from the version of the FHIR structures you are using), may be NULL * @param useHttpGet use HTTP GET verb * @param returnType If this operation returns a single resource body as its return type instead of a <code>Parameters</code> * resource, use this method to specify that resource type. This is useful for certain * operations (e.g. <code>Patient/NNN/$everything</code>) which return a bundle instead of * a Parameters resource, may be NULL * @param extraParameters see {@link ExtraParameters} for a full list of parameters that can be passed, may be NULL * @param <T> extends {@link IBaseParameters} * * @throws IllegalArgumentException If <code>theId</code> does not contain at least a resource type and ID * * @return the {@link IBaseResource} */ public <T extends IBaseParameters> IBaseResource onInstance( IIdType id, String name, T parameters, Class<T> outputParameterType, boolean useHttpGet, Class<IBaseResource> returnType, Map<ExtraParameters, Object> extraParameters) { IOperationUnnamed operationUnnamed = client.operation().onInstanceVersion(id); IOperationUntypedWithInput<? extends IBaseResource> operationUntypedWithInput = processNamedOperationParameters( name, parameters, outputParameterType, useHttpGet, returnType, extraParameters, operationUnnamed); return operationUntypedWithInput.execute(); }