Package com.ibm.fhir.model.resource
Class OperationDefinition
- java.lang.Object
-
- com.ibm.fhir.model.visitor.AbstractVisitable
-
- com.ibm.fhir.model.resource.Resource
-
- com.ibm.fhir.model.resource.DomainResource
-
- com.ibm.fhir.model.resource.OperationDefinition
-
- All Implemented Interfaces:
Visitable
@Generated("com.ibm.fhir.tools.CodeGenerator") public class OperationDefinition extends DomainResource
A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).Maturity level: FMM5 (Normative)
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classOperationDefinition.Builderstatic classOperationDefinition.OverloadDefines an appropriate combination of parameters to use when invoking this operation, to help code generators when generating overloaded parameter sets for this operation.static classOperationDefinition.ParameterThe parameters for the operation/query.
-
Field Summary
-
Fields inherited from class com.ibm.fhir.model.resource.DomainResource
contained, extension, modifierExtension, text
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaccept(String elementName, int elementIndex, Visitor visitor)Accept a Visitor and invoke the appropriate visit methods.static OperationDefinition.Builderbuilder()booleanequals(Object obj)BooleangetAffectsState()Whether the operation affects state.CanonicalgetBase()Indicates that this operation definition is a constraining profile on the base.CodegetCode()The name used to invoke the operation.MarkdowngetComment()Additional information about how to use this operation or named query.List<ContactDetail>getContact()Contact details to assist a user in finding and communicating with the publisher.DateTimegetDate()The date (and optionally time) when the operation definition was published.MarkdowngetDescription()A free text natural language description of the operation definition from a consumer's perspective.BooleangetExperimental()A Boolean value to indicate that this operation definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.CanonicalgetInputProfile()Additional validation information for the in parameters - a single profile that covers all the parameters.BooleangetInstance()Indicates whether this operation can be invoked on a particular instance of one of the given types.List<CodeableConcept>getJurisdiction()A legal or geographic region in which the operation definition is intended to be used.OperationKindgetKind()Whether this is an operation or a named query.StringgetName()A natural language name identifying the operation definition.CanonicalgetOutputProfile()Additional validation information for the out parameters - a single profile that covers all the parameters.List<OperationDefinition.Overload>getOverload()Defines an appropriate combination of parameters to use when invoking this operation, to help code generators when generating overloaded parameter sets for this operation.List<OperationDefinition.Parameter>getParameter()The parameters for the operation/query.StringgetPublisher()The name of the organization or individual that published the operation definition.MarkdowngetPurpose()Explanation of why this operation definition is needed and why it has been designed as it has.List<ResourceType>getResource()The types on which this operation can be executed.PublicationStatusgetStatus()The status of this operation definition.BooleangetSystem()Indicates whether this operation or named query can be invoked at the system level (e.g.StringgetTitle()A short, descriptive, user-friendly title for the operation definition.BooleangetType()Indicates whether this operation or named query can be invoked at the resource type level for any given resource type level (e.g.UrigetUrl()An absolute URI that is used to identify this operation definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier.List<UsageContext>getUseContext()The content was developed with a focus and intent of supporting the contexts that are listed.StringgetVersion()The identifier that is used to identify this version of the operation definition when it is referenced in a specification, model, design or instance.booleanhasChildren()inthashCode()OperationDefinition.BuildertoBuilder()Create a new Builder from the contents of this Resource-
Methods inherited from class com.ibm.fhir.model.resource.DomainResource
getContained, getExtension, getModifierExtension, getText
-
Methods inherited from class com.ibm.fhir.model.resource.Resource
as, getId, getImplicitRules, getLanguage, getMeta, is
-
-
-
-
Method Detail
-
getUrl
public Uri getUrl()
An absolute URI that is used to identify this operation definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this operation definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the operation definition is stored on different servers.- Returns:
- An immutable object of type
Urithat may be null.
-
getVersion
public String getVersion()
The identifier that is used to identify this version of the operation definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the operation definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.- Returns:
- An immutable object of type
Stringthat may be null.
-
getName
public String getName()
A natural language name identifying the operation definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.- Returns:
- An immutable object of type
Stringthat is non-null.
-
getTitle
public String getTitle()
A short, descriptive, user-friendly title for the operation definition.- Returns:
- An immutable object of type
Stringthat may be null.
-
getStatus
public PublicationStatus getStatus()
The status of this operation definition. Enables tracking the life-cycle of the content.- Returns:
- An immutable object of type
PublicationStatusthat is non-null.
-
getKind
public OperationKind getKind()
Whether this is an operation or a named query.- Returns:
- An immutable object of type
OperationKindthat is non-null.
-
getExperimental
public Boolean getExperimental()
A Boolean value to indicate that this operation definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.- Returns:
- An immutable object of type
Booleanthat may be null.
-
getDate
public DateTime getDate()
The date (and optionally time) when the operation definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the operation definition changes.- Returns:
- An immutable object of type
DateTimethat may be null.
-
getPublisher
public String getPublisher()
The name of the organization or individual that published the operation definition.- Returns:
- An immutable object of type
Stringthat may be null.
-
getContact
public List<ContactDetail> getContact()
Contact details to assist a user in finding and communicating with the publisher.- Returns:
- An unmodifiable list containing immutable objects of type
ContactDetailthat may be empty.
-
getDescription
public Markdown getDescription()
A free text natural language description of the operation definition from a consumer's perspective.- Returns:
- An immutable object of type
Markdownthat may be null.
-
getUseContext
public List<UsageContext> getUseContext()
The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate operation definition instances.- Returns:
- An unmodifiable list containing immutable objects of type
UsageContextthat may be empty.
-
getJurisdiction
public List<CodeableConcept> getJurisdiction()
A legal or geographic region in which the operation definition is intended to be used.- Returns:
- An unmodifiable list containing immutable objects of type
CodeableConceptthat may be empty.
-
getPurpose
public Markdown getPurpose()
Explanation of why this operation definition is needed and why it has been designed as it has.- Returns:
- An immutable object of type
Markdownthat may be null.
-
getAffectsState
public Boolean getAffectsState()
Whether the operation affects state. Side effects such as producing audit trail entries do not count as 'affecting state'.- Returns:
- An immutable object of type
Booleanthat may be null.
-
getCode
public Code getCode()
The name used to invoke the operation.- Returns:
- An immutable object of type
Codethat is non-null.
-
getComment
public Markdown getComment()
Additional information about how to use this operation or named query.- Returns:
- An immutable object of type
Markdownthat may be null.
-
getBase
public Canonical getBase()
Indicates that this operation definition is a constraining profile on the base.- Returns:
- An immutable object of type
Canonicalthat may be null.
-
getResource
public List<ResourceType> getResource()
The types on which this operation can be executed.- Returns:
- An unmodifiable list containing immutable objects of type
ResourceTypethat may be empty.
-
getSystem
public Boolean getSystem()
Indicates whether this operation or named query can be invoked at the system level (e.g. without needing to choose a resource type for the context).- Returns:
- An immutable object of type
Booleanthat is non-null.
-
getType
public Boolean getType()
Indicates whether this operation or named query can be invoked at the resource type level for any given resource type level (e.g. without needing to choose a specific resource id for the context).- Returns:
- An immutable object of type
Booleanthat is non-null.
-
getInstance
public Boolean getInstance()
Indicates whether this operation can be invoked on a particular instance of one of the given types.- Returns:
- An immutable object of type
Booleanthat is non-null.
-
getInputProfile
public Canonical getInputProfile()
Additional validation information for the in parameters - a single profile that covers all the parameters. The profile is a constraint on the parameters resource as a whole.- Returns:
- An immutable object of type
Canonicalthat may be null.
-
getOutputProfile
public Canonical getOutputProfile()
Additional validation information for the out parameters - a single profile that covers all the parameters. The profile is a constraint on the parameters resource.- Returns:
- An immutable object of type
Canonicalthat may be null.
-
getParameter
public List<OperationDefinition.Parameter> getParameter()
The parameters for the operation/query.- Returns:
- An unmodifiable list containing immutable objects of type
OperationDefinition.Parameterthat may be empty.
-
getOverload
public List<OperationDefinition.Overload> getOverload()
Defines an appropriate combination of parameters to use when invoking this operation, to help code generators when generating overloaded parameter sets for this operation.- Returns:
- An unmodifiable list containing immutable objects of type
OperationDefinition.Overloadthat may be empty.
-
hasChildren
public boolean hasChildren()
- Overrides:
hasChildrenin classDomainResource
-
accept
public void accept(String elementName, int elementIndex, Visitor visitor)
Description copied from interface:VisitableAccept a Visitor and invoke the appropriate visit methods. A typical implementation would look like this:if (visitor.preVisit(this)) { visitor.visitStart(elementName, elementIndex, this); if (visitor.visit(elementName, elementIndex, this)) { // visit children } visitor.visitEnd(elementName, elementIndex, this); visitor.postVisit(this); }- Specified by:
acceptin interfaceVisitable- Specified by:
acceptin classAbstractVisitable- Parameters:
elementName- the name of the element in the context of this visitelementIndex- the index of the element in a list or -1 if it is not contained within a Listvisitor- the visitor to use
-
toBuilder
public OperationDefinition.Builder toBuilder()
Description copied from class:ResourceCreate a new Builder from the contents of this Resource- Specified by:
toBuilderin classDomainResource
-
builder
public static OperationDefinition.Builder builder()
-
-