DataRequirement

@POJOBoilerplate
class DataRequirement(val id: Option[String], `type`: ALL_TYPES, val limit: Option[PositiveInt], val profile: LitSeq[Canonical], val extension: LitSeq[Extension], val subject: Option[SubjectChoice], val mustSupport: LitSeq[String], val sort: LitSeq[Sort], val codeFilter: LitSeq[CodeFilter], val dateFilter: LitSeq[DateFilter], val primitiveAttributes: TreeMap[FHIRComponentFieldMeta[_], PrimitiveElementInfo]) extends Element

Base StructureDefinition for DataRequirement Type: Describes a required data item for evaluation in terms of the type of data, and optional code or date-based filters of the data.

Subclass of core.model.Element (Base StructureDefinition for Element Type: Base definition for all elements in a resource.)

Value parameters:
`type`
  • The type of the required data, specified as the type name of a resource. For profiles, this value is set to the type of the base resource of the profile.
codeFilter
  • Code filters specify additional constraints on the data, specifying the value set of interest for a particular element of the data. Each code filter defines an additional constraint on the data, i.e. code filters are AND'ed, not OR'ed.
dateFilter
  • Date filters specify additional constraints on the data in terms of the applicable date range for specific elements. Each date filter specifies an additional constraint on the data, i.e. date filters are AND'ed, not OR'ed.
extension
  • May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
id
  • Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
limit
  • Specifies a maximum number of results that are required (uses the _count search parameter).
mustSupport
  • Indicates that specific elements of the type are referenced by the knowledge module and must be supported by the consumer in order to obtain an effective evaluation. This does not mean that a value is required for this element, only that the consuming system must understand the element and be able to provide values for it if they are available. The value of mustSupport SHALL be a FHIRPath resolveable on the type of the DataRequirement. The path SHALL consist only of identifiers, constant indexers, and .resolve() (see the Simple FHIRPath Profile for full details).
profile
  • The profile of the required data, specified as the uri of the profile definition.
sort
  • Specifies the order of the results to be returned.
subject
  • The intended subjects of the data requirement. If this element is not provided, a Patient subject is assumed.
Constructor:

Introduces the fields type, limit, profile, subject, mustSupport, sort, codeFilter, dateFilter.

Companion:
object
class Element
trait Utils
class Object
trait Matchable
class Any

Type members

Inherited classlikes

object extensions
Inherited from:
FHIRObject
object ids
Inherited from:
FHIRObject

Inherited types

Value members

Concrete methods

def getIds(field: C => FHIRComponentFieldMeta[_]): Option[String]
def set[T](fieldSelection: C => FHIRComponentFieldMeta[T])(value: T): O
def setIds(field: C => FHIRComponentFieldMeta[_])(id: Option[String]): O
def update[T](fieldSelection: C => FHIRComponentFieldMeta[T])(fn: T => T): O
def updateAll[T](fieldSelection: C => FHIRComponentFieldMeta[LitSeq[T]])(fn: T => T): O
def updateIds(field: C => FHIRComponentFieldMeta[_])(update: Option[String] => Option[String]): O
def updateIfExists[T](fieldSelection: C => FHIRComponentFieldMeta[Option[T]])(fn: T => T): O

Inherited methods

final def >>[T](fn: T => T)(implicit tt: LTag[T]): DataRequirement

Slower than nodalMap, but should work with subtypes (e.g. PositiveInt). If you must use it, then:

Slower than nodalMap, but should work with subtypes (e.g. PositiveInt). If you must use it, then:

  • T should not be a Choice[_], a LitSeq[_] or an Option[_]
  • It may require a type parameter sometimes (e.g. sampleResource >>[BUNDLE_TYPE] { (_: BUNDLE_TYPE) => BUNDLE_TYPE.SEARCHSET } )
Inherited from:
FHIRObject
final def >>=[T, F[_] : Monad](fn: T => F[T])(implicit evidence$7: Monad[F], tt: LTag[T]): F[DataRequirement]
Inherited from:
FHIRObject
final def ^^[From, To](fn: From => To)(implicit tt: LTag[From]): LitSeq[To]

Extract values of type From, and map to LitSeq[To] using fn: From => To. Unlike >>, this is safe even if From is a Choice[], a LitSeq[] or an Option[_] Quite slow, slower than nodalExtract

Extract values of type From, and map to LitSeq[To] using fn: From => To. Unlike >>, this is safe even if From is a Choice[], a LitSeq[] or an Option[_] Quite slow, slower than nodalExtract

Inherited from:
FHIRObject
final def ^^^[T](implicit tt: LTag[T]): LitSeq[T]
Inherited from:
FHIRObject
def companionClassName[T](tag: LTag[T]): String
Inherited from:
Utils
def companionOf[T <: FHIRObject : ClassTag](implicit evidence$1: ClassTag[T], tag: LTag[T]): CompanionFor[T]
Inherited from:
Utils
def constructor: Constructor[_]
Inherited from:
FHIRComponent
def decodeMethodFor[T <: FHIRObject : ClassTag](implicit evidence$2: ClassTag[T], tag: LTag[T], params: DecoderParams): HCursor => Try[T]
Inherited from:
Utils
override def equals(obj: Any): Boolean
Definition Classes
FHIRObject -> Any
Inherited from:
FHIRObject
Inherited from:
FHIRObject
def getFieldByClass[T](name: String, clazz: Class[T]): LitSeq[T]
Inherited from:
FHIRComponent
def getFieldByType[T : LTag](name: String): LitSeq[T]
Inherited from:
FHIRComponent
override def hashCode(): Int
Definition Classes
FHIRObject -> Any
Inherited from:
FHIRObject
def modifyField[T : LTag, Up >: DataRequirement <: FHIRObject](fieldName: String, modify: T => T)(implicit evidence$5: LTag[T], ct: ClassTag[Up], tt: LTag[Up]): Up
Inherited from:
FHIRObject
def modifyFieldUnsafe[T, Up >: DataRequirement <: FHIRObject](fieldName: String, modify: T => T)(implicit ct: ClassTag[Up], tt: LTag[Up]): Up
Inherited from:
FHIRObject
final def nodalExtract[From, To](klass: Class[From], fn: From => To): LitSeq[To]

Convenience alias for nodalGetByClass andThen map to LitSeq[To] using fn: From => To.

Convenience alias for nodalGetByClass andThen map to LitSeq[To] using fn: From => To.

Inherited from:
FHIRObject
final def nodalGetByClass[Target](klass: Class[Target]): LitSeq[Target]

Extract values of type From Unlike nodalMap, this is safe even if From is a Choice[_], a LitSeq[_] or an Option[_], however there remains a caveat with 'subtyped' types (eg PositiveInt), in that we can't differentiate them from the parent class Quite slow but faster than ^^

Extract values of type From Unlike nodalMap, this is safe even if From is a Choice[_], a LitSeq[_] or an Option[_], however there remains a caveat with 'subtyped' types (eg PositiveInt), in that we can't differentiate them from the parent class Quite slow but faster than ^^

Inherited from:
FHIRObject
final def nodalMap[T](klass: Class[T], fn: T => T): DataRequirement

Bit faster than >>, but still much slower than using update$foo when possible. If you must use it, then:

Bit faster than >>, but still much slower than using update$foo when possible. If you must use it, then:

  • T should not be a Choice[_], a LitSeq[_], an Option[_], or any 'subtyped' type (eg PositiveInt). You should ensure, if T is a supertype of multiple valid choice values (e.g. T =:= Object), that the return value of fn retains the same type as the input value.
Inherited from:
FHIRObject
def productElementNames: Iterator[String]
Inherited from:
Product
def productIterator: Iterator[Any]
Inherited from:
Product
def setFromField[T, UpType >: DataRequirement <: FHIRObject : LTag](field: FHIRComponentFieldMeta[T])(newVal: T): UpType
Inherited from:
FHIRObject
def thisClassName: String
Inherited from:
FHIRObject
def toClass[T](klass: Class[T]): Option[T]
Inherited from:
FHIRObject
override def toString: String
Definition Classes
FHIRObject -> Any
Inherited from:
FHIRObject
def toType[T](implicit ct: ClassTag[T]): Option[T]
Inherited from:
FHIRObject
def updateFromField[T, UpType >: DataRequirement <: FHIRObject : LTag](field: FHIRComponentFieldMeta[T])(fn: T => T): UpType
Inherited from:
FHIRObject
def withField[T : LTag, Up >: DataRequirement <: FHIRObject](fieldName: String, value: T)(implicit evidence$6: LTag[T], ct: ClassTag[Up], tt: LTag[Up]): Up
Inherited from:
FHIRObject
def withFieldUnsafe[T, Up >: DataRequirement <: FHIRObject](fieldName: String, value: T)(implicit ct: ClassTag[Up], tt: LTag[Up]): Up
Inherited from:
FHIRObject
def withFields[Up >: DataRequirement <: FHIRObject](replacementFields: (String, Any)*)(implicit ct: ClassTag[Up], tt: LTag[Up]): Up
Inherited from:
FHIRObject

Concrete fields

override val extension: LitSeq[Extension]
override val id: Option[String]
val limit: Option[PositiveInt]
val mustSupport: LitSeq[String]
val subject: Option[SubjectChoice]
override val thisTypeName: String

Inherited fields