Class Library
- java.lang.Object
-
- org.linuxforhealth.fhir.model.visitor.AbstractVisitable
-
- org.linuxforhealth.fhir.model.resource.Resource
-
- org.linuxforhealth.fhir.model.resource.DomainResource
-
- org.linuxforhealth.fhir.model.resource.Library
-
- All Implemented Interfaces:
Visitable
@Generated("org.linuxforhealth.fhir.tools.CodeGenerator") public class Library extends DomainResource
The Library resource is a general-purpose container for knowledge asset definitions. It can be used to describe and expose existing knowledge assets such as logic libraries and information model descriptions, as well as to describe a collection of knowledge assets.Maturity level: FMM3 (Trial Use)
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Library.Builder
-
Field Summary
-
Fields inherited from class org.linuxforhealth.fhir.model.resource.DomainResource
contained, extension, modifierExtension, text
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
accept(java.lang.String elementName, int elementIndex, Visitor visitor)
Accept a Visitor and invoke the appropriate visit methods.static Library.Builder
builder()
boolean
equals(java.lang.Object obj)
Date
getApprovalDate()
The date on which the resource content was approved by the publisher.java.util.List<ContactDetail>
getAuthor()
An individiual or organization primarily involved in the creation and maintenance of the content.java.util.List<ContactDetail>
getContact()
Contact details to assist a user in finding and communicating with the publisher.java.util.List<Attachment>
getContent()
The content of the library as an Attachment.Markdown
getCopyright()
A copyright statement relating to the library and/or its contents.java.util.List<DataRequirement>
getDataRequirement()
Describes a set of data that must be provided in order to be able to successfully perform the computations defined by the library.DateTime
getDate()
The date (and optionally time) when the library was published.Markdown
getDescription()
A free text natural language description of the library from a consumer's perspective.java.util.List<ContactDetail>
getEditor()
An individual or organization primarily responsible for internal coherence of the content.Period
getEffectivePeriod()
The period during which the library content was or is planned to be in active use.java.util.List<ContactDetail>
getEndorser()
An individual or organization responsible for officially endorsing the content for use in some setting.Boolean
getExperimental()
A Boolean value to indicate that this library is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.java.util.List<Identifier>
getIdentifier()
A formal identifier that is used to identify this library when it is represented in other formats, or referenced in a specification, model, design or an instance.java.util.List<CodeableConcept>
getJurisdiction()
A legal or geographic region in which the library is intended to be used.Date
getLastReviewDate()
The date on which the resource content was last reviewed.String
getName()
A natural language name identifying the library.java.util.List<ParameterDefinition>
getParameter()
The parameter element defines parameters used by the library.String
getPublisher()
The name of the organization or individual that published the library.Markdown
getPurpose()
Explanation of why this library is needed and why it has been designed as it has.java.util.List<RelatedArtifact>
getRelatedArtifact()
Related artifacts such as additional documentation, justification, or bibliographic references.java.util.List<ContactDetail>
getReviewer()
An individual or organization primarily responsible for review of some aspect of the content.PublicationStatus
getStatus()
The status of this library.Element
getSubject()
A code or group definition that describes the intended subject of the contents of the library.String
getSubtitle()
An explanatory or alternate title for the library giving additional information about its content.String
getTitle()
A short, descriptive, user-friendly title for the library.java.util.List<CodeableConcept>
getTopic()
Descriptive topics related to the content of the library.CodeableConcept
getType()
Identifies the type of library such as a Logic Library, Model Definition, Asset Collection, or Module Definition.Uri
getUrl()
An absolute URI that is used to identify this library when it is referenced in a specification, model, design or an instance; also called its canonical identifier.String
getUsage()
A detailed description of how the library is used from a clinical perspective.java.util.List<UsageContext>
getUseContext()
The content was developed with a focus and intent of supporting the contexts that are listed.String
getVersion()
The identifier that is used to identify this version of the library when it is referenced in a specification, model, design or instance.boolean
hasChildren()
int
hashCode()
Library.Builder
toBuilder()
Create a new Builder from the contents of this Resource-
Methods inherited from class org.linuxforhealth.fhir.model.resource.DomainResource
getContained, getExtension, getModifierExtension, getText
-
Methods inherited from class org.linuxforhealth.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 library 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 library is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the library is stored on different servers.- Returns:
- An immutable object of type
Uri
that may be null.
-
getIdentifier
public java.util.List<Identifier> getIdentifier()
A formal identifier that is used to identify this library when it is represented in other formats, or referenced in a specification, model, design or an instance. e.g. CMS or NQF identifiers for a measure artifact. Note that at least one identifier is required for non-experimental active artifacts.- Returns:
- An unmodifiable list containing immutable objects of type
Identifier
that may be empty.
-
getVersion
public String getVersion()
The identifier that is used to identify this version of the library when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the library 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. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active artifacts.- Returns:
- An immutable object of type
String
that may be null.
-
getName
public String getName()
A natural language name identifying the library. 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
String
that may be null.
-
getTitle
public String getTitle()
A short, descriptive, user-friendly title for the library.- Returns:
- An immutable object of type
String
that may be null.
-
getSubtitle
public String getSubtitle()
An explanatory or alternate title for the library giving additional information about its content.- Returns:
- An immutable object of type
String
that may be null.
-
getStatus
public PublicationStatus getStatus()
The status of this library. Enables tracking the life-cycle of the content.- Returns:
- An immutable object of type
PublicationStatus
that is non-null.
-
getExperimental
public Boolean getExperimental()
A Boolean value to indicate that this library 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
Boolean
that may be null.
-
getType
public CodeableConcept getType()
Identifies the type of library such as a Logic Library, Model Definition, Asset Collection, or Module Definition.- Returns:
- An immutable object of type
CodeableConcept
that is non-null.
-
getSubject
public Element getSubject()
A code or group definition that describes the intended subject of the contents of the library.- Returns:
- An immutable object of type
CodeableConcept
orReference
that may be null.
-
getDate
public DateTime getDate()
The date (and optionally time) when the library 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 library changes.- Returns:
- An immutable object of type
DateTime
that may be null.
-
getPublisher
public String getPublisher()
The name of the organization or individual that published the library.- Returns:
- An immutable object of type
String
that may be null.
-
getContact
public java.util.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
ContactDetail
that may be empty.
-
getDescription
public Markdown getDescription()
A free text natural language description of the library from a consumer's perspective.- Returns:
- An immutable object of type
Markdown
that may be null.
-
getUseContext
public java.util.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 library instances.- Returns:
- An unmodifiable list containing immutable objects of type
UsageContext
that may be empty.
-
getJurisdiction
public java.util.List<CodeableConcept> getJurisdiction()
A legal or geographic region in which the library is intended to be used.- Returns:
- An unmodifiable list containing immutable objects of type
CodeableConcept
that may be empty.
-
getPurpose
public Markdown getPurpose()
Explanation of why this library is needed and why it has been designed as it has.- Returns:
- An immutable object of type
Markdown
that may be null.
-
getUsage
public String getUsage()
A detailed description of how the library is used from a clinical perspective.- Returns:
- An immutable object of type
String
that may be null.
-
getCopyright
public Markdown getCopyright()
A copyright statement relating to the library and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the library.- Returns:
- An immutable object of type
Markdown
that may be null.
-
getApprovalDate
public Date getApprovalDate()
The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.- Returns:
- An immutable object of type
Date
that may be null.
-
getLastReviewDate
public Date getLastReviewDate()
The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.- Returns:
- An immutable object of type
Date
that may be null.
-
getEffectivePeriod
public Period getEffectivePeriod()
The period during which the library content was or is planned to be in active use.- Returns:
- An immutable object of type
Period
that may be null.
-
getTopic
public java.util.List<CodeableConcept> getTopic()
Descriptive topics related to the content of the library. Topics provide a high-level categorization of the library that can be useful for filtering and searching.- Returns:
- An unmodifiable list containing immutable objects of type
CodeableConcept
that may be empty.
-
getAuthor
public java.util.List<ContactDetail> getAuthor()
An individiual or organization primarily involved in the creation and maintenance of the content.- Returns:
- An unmodifiable list containing immutable objects of type
ContactDetail
that may be empty.
-
getEditor
public java.util.List<ContactDetail> getEditor()
An individual or organization primarily responsible for internal coherence of the content.- Returns:
- An unmodifiable list containing immutable objects of type
ContactDetail
that may be empty.
-
getReviewer
public java.util.List<ContactDetail> getReviewer()
An individual or organization primarily responsible for review of some aspect of the content.- Returns:
- An unmodifiable list containing immutable objects of type
ContactDetail
that may be empty.
-
getEndorser
public java.util.List<ContactDetail> getEndorser()
An individual or organization responsible for officially endorsing the content for use in some setting.- Returns:
- An unmodifiable list containing immutable objects of type
ContactDetail
that may be empty.
-
getRelatedArtifact
public java.util.List<RelatedArtifact> getRelatedArtifact()
Related artifacts such as additional documentation, justification, or bibliographic references.- Returns:
- An unmodifiable list containing immutable objects of type
RelatedArtifact
that may be empty.
-
getParameter
public java.util.List<ParameterDefinition> getParameter()
The parameter element defines parameters used by the library.- Returns:
- An unmodifiable list containing immutable objects of type
ParameterDefinition
that may be empty.
-
getDataRequirement
public java.util.List<DataRequirement> getDataRequirement()
Describes a set of data that must be provided in order to be able to successfully perform the computations defined by the library.- Returns:
- An unmodifiable list containing immutable objects of type
DataRequirement
that may be empty.
-
getContent
public java.util.List<Attachment> getContent()
The content of the library as an Attachment. The content may be a reference to a url, or may be directly embedded as a base-64 string. Either way, the contentType of the attachment determines how to interpret the content.- Returns:
- An unmodifiable list containing immutable objects of type
Attachment
that may be empty.
-
hasChildren
public boolean hasChildren()
- Overrides:
hasChildren
in classDomainResource
-
accept
public void accept(java.lang.String elementName, int elementIndex, Visitor visitor)
Description copied from interface:Visitable
Accept 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:
accept
in interfaceVisitable
- Specified by:
accept
in 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
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
toBuilder
public Library.Builder toBuilder()
Description copied from class:Resource
Create a new Builder from the contents of this Resource- Specified by:
toBuilder
in classDomainResource
-
builder
public static Library.Builder builder()
-
-