Exemplo n.º 1
0
 def element_properties(self):
     elm = super().element_properties()
     elm.extend([
         Field("description", {
             "mini": 0,
             "maxi": 1
         }, primitives.StringField, None),
         # Text description of how slicing works (or not).
         Field(
             "discriminator",
             {
                 "mini": 0,
                 "maxi": -1
             },
             primitives.StringField,
             None,
         ),
         # Element values that used to distinguish the slices.
         Field("ordered", {
             "mini": 0,
             "maxi": 1
         }, primitives.BooleanField, None),
         # If elements must be in same order as slices.
         Field("rules", {
             "mini": 1,
             "maxi": 1
         }, primitives.CodeField, None),
         # closed | open | openAtEnd.
     ])
     return elm
Exemplo n.º 2
0
 def element_properties(self):
     elm = super().element_properties()
     elm.extend([
         Field("description", {
             "mini": 0,
             "maxi": 1
         }, primitives.StringField, None),
         # Human explanation of the value set.
         Field("strength", {
             "mini": 1,
             "maxi": 1
         }, primitives.CodeField, None),
         # required | extensible | preferred | example.
         Field(
             "valueSetReference",
             {
                 "mini": 0,
                 "maxi": 1
             },
             complex.ReferenceField(),
             "Valuesets",
         ),
         # Source of value set.
         Field("valueSetUri", {
             "mini": 0,
             "maxi": 1
         }, primitives.URIField, None),
         # Source of value set.
     ])
     return elm
Exemplo n.º 3
0
 def element_properties(self):
     elm = super().element_properties()
     elm.extend([
         Field("system", {
             "mini": 1,
             "maxi": 1
         }, primitives.URIField, None),
         # URI to identify the code system (e.g. in Coding.system).
         Field("version", {
             "mini": 0,
             "maxi": 1
         }, primitives.StringField, None),
         # Version (for use in Coding.version).
         Field(
             "caseSensitive",
             {
                 "mini": 0,
                 "maxi": 1
             },
             primitives.BooleanField,
             None,
         ),
         # If code comparison is case sensitive.
         Field(
             "concept",
             {
                 "mini": 0,
                 "maxi": -1
             },
             ValueSetCodeSystemConceptField(),
             None,
         ),
         # Concepts in the code system.
     ])
     return elm
Exemplo n.º 4
0
 def element_properties(self):
     elm = super().element_properties()
     elm.extend([
         Field("compose_import", {
             "mini": 0,
             "maxi": -1
         }, primitives.URIField, None),
         # Import the contents of another value set.
         Field(
             "include",
             {
                 "mini": 0,
                 "maxi": -1
             },
             ValueSetComposeIncludeField(),
             None,
         ),
         # Include one or more codes from a code system.
         Field(
             "exclude",
             {
                 "mini": 0,
                 "maxi": -1
             },
             ValueSetComposeIncludeField(),
             None,
         )
         # Explicitly exclude codes.
     ])
     return elm
Exemplo n.º 5
0
 def element_properties(self):
     elm = super().element_properties()
     elm.extend([
         Field("code", {
             "mini": 1,
             "maxi": 1
         }, primitives.StringField, None),
         # Code or expression from system.
         Field("display", {
             "mini": 0,
             "maxi": 1
         }, primitives.StringField, None),
         # Test to display for this code for this value set.
         Field(
             "designation",
             {
                 "mini": 0,
                 "maxi": -1
             },
             ValueSetCodeSystemConceptDesignationField(),
             None,
         )
         # Additional representations for this valueset.
     ])
     return elm
Exemplo n.º 6
0
 def element_properties(self):
     elm = super().element_properties()
     elm.extend([
         Field("human", {
             "mini": 1,
             "maxi": 1
         }, primitives.StringField, None),
         # Human description of constraint.
         Field("key", {
             "mini": 1,
             "maxi": 1
         }, primitives.IdField, None),
         # Target of 'condition' reference above.
         Field("requirements", {
             "mini": 0,
             "maxi": 1
         }, primitives.StringField, None),
         # Why this constraint necessary or appropriate.
         Field("severity", {
             "mini": 1,
             "maxi": 1
         }, primitives.CodeField, None),
         # error | warning.
         Field("xpath", {
             "mini": 1,
             "maxi": 1
         }, primitives.StringField, None),
         # XPath expression of constraint.
     ])
     return elm
Exemplo n.º 7
0
 def element_properties(self):
     elm = super().element_properties()
     elm.extend(
         [
             Field("etag", {"mini": 0, "maxi": 1}, primitives.StringField, None),
             # The etag for the resource (if relevant).
             Field(
                 "lastModified",
                 {"mini": 0, "maxi": 1},
                 primitives.InstantField,
                 None,
             ),
             # Server's date time modified.
             Field("location", {"mini": 0, "maxi": 1}, primitives.URIField, None),
             # """ The location, if the operation returns a location.
             Field("status", {"mini": 1, "maxi": 1}, primitives.CodeField, None),
             # Status return code for entry.
             Field(
                 "outcome",
                 {"mini": 1, "maxi": 1},
                 complex.ReferenceField(),
                 ["OperationOutcome"],
             ),
         ]
     )
     return elm
Exemplo n.º 8
0
 def element_properties(self):
     elm = super().element_properties()
     elm.extend([
         Field("identity", {
             "mini": 1,
             "maxi": 1
         }, primitives.IdField, None),
         # Internal id when this mapping is used.
         Field("uri", {
             "mini": 0,
             "maxi": 1
         }, primitives.URIField, None),
         # Identifies what this mapping refers to.
         Field("name", {
             "mini": 0,
             "maxi": 1
         }, primitives.StringField, None),
         # Names what this mapping refers to.
         Field("comments", {
             "mini": 0,
             "maxi": 1
         }, primitives.StringField, None)
         # Versions, Issues, Scope limitations etc..
     ])
     return elm
Exemplo n.º 9
0
 def element_properties(self):
     elm = super().element_properties()
     elm.extend(
         [
             Field("mode", {"mini": 0, "maxi": 1}, primitives.CodeField, None),
             # match | include | outcome - why this is in the result set.
             Field("score", {"mini": 0, "maxi": 1}, primitives.DecimalField, None)
             # Search ranking (between 0 and 1).
         ]
     )
     return elm
Exemplo n.º 10
0
 def element_properties(self):
     elm = super().element_properties()
     elm.extend(
         [
             Field("relation", {"mini": 1, "maxi": 1}, primitives.StringField, None),
             # http://www.iana.org/assignments/link-relations/link-relations.xhtml.
             Field("url", {"mini": 1, "maxi": 1}, primitives.URIField, None)
             # Reference details for the link.
         ]
     )
     return elm
Exemplo n.º 11
0
 def element_properties(self):
     elm = super().element_properties()
     elm.extend([
         Field("value", {
             "mini": 1,
             "maxi": 1
         }, OpenType(), None)
         # Question that determines whether item is enabled
     ])
     return elm
Exemplo n.º 12
0
 def element_properties(self):
     elm = super().element_properties()
     elm.extend([
         Field("aggregation", {
             "mini": 0,
             "maxi": -1
         }, primitives.CodeField, None),
         # contained | referenced | bundled - how aggregated.
         Field("code", {
             "mini": 1,
             "maxi": 1
         }, primitives.StringField, None),
         # Name of Data type or Resource.
         Field("profile", {
             "mini": 0,
             "maxi": -1
         }, primitives.URIField, None),
         # Profile (StructureDefinition) to apply (or IG).
     ])
     return elm
Exemplo n.º 13
0
 def element_properties(self):
     elm = super().element_properties()
     elm.extend([
         Field("identity", {
             "mini": 1,
             "maxi": 1
         }, primitives.IdField, None),
         # Reference to mapping declaration.
         Field("language", {
             "mini": 0,
             "maxi": 1
         }, primitives.CodeField, None),
         # Computable language of mapping.
         Field("map", {
             "mini": 1,
             "maxi": 1
         }, primitives.StringField, None),
         # Details of the mapping.
     ])
     return elm
Exemplo n.º 14
0
 def element_properties(self):
     elm = super().element_properties()
     elm.extend([
         Field("language", {
             "mini": 0,
             "maxi": 1
         }, primitives.StringField, None),
         # Human language of the designation.
         Field("value", {
             "mini": 1,
             "maxi": 1
         }, primitives.StringField, None),
         # The text value for this designation.
         Field("use", {
             "mini": 0,
             "maxi": 1
         }, complex.CodingField(), None)
         # Details how this designation would be used.
     ])
     return elm
Exemplo n.º 15
0
 def element_properties(self):
     elm = super().element_properties()
     elm.extend([
         Field("question", {
             "mini": 1,
             "maxi": 1
         }, primitives.StringField, None),
         # Question that determines whether item is enabled
         Field("answered", {
             "mini": 0,
             "maxi": 1
         }, primitives.BooleanField, None),
         # Enable when answered or not
         Field("answer", {
             "mini": 0,
             "maxi": 1
         }, OpenType(), None)
         # Value question must have
     ])
     return elm
Exemplo n.º 16
0
 def element_properties(self):
     elm = super().element_properties()
     elm.extend([
         Field("max", {
             "mini": 1,
             "maxi": 1
         }, primitives.StringField, None),
         # Max cardinality of the base element.
         Field("min", {
             "mini": 1,
             "maxi": 1
         }, primitives.IntegerField, None),
         # Min cardinality of the base element.
         Field("path", {
             "mini": 1,
             "maxi": 1
         }, primitives.StringField, None),
         # Path that identifies the base element.
     ])
     return elm
Exemplo n.º 17
0
 def element_properties(self):
     elm = super().element_properties()
     elm.extend([
         Field("element", {
             "mini": 1,
             "maxi": -1
         }, ElementDefinitionField(), None)
         # Definition of elements in the resource
         # (if no StructureDefinition).
     ])
     return elm
Exemplo n.º 18
0
 def element_properties(self):
     elm = super().element_properties()
     elm.extend([
         Field("op", {
             "mini": 1,
             "maxi": 1
         }, primitives.CodeField, None),
         # = | is-a | is-not-a | regex | in | not-in.
         Field("property", {
             "mini": 1,
             "maxi": 1
         }, primitives.CodeField, None),
         # A property defined by the code system.
         Field("value", {
             "mini": 1,
             "maxi": 1
         }, primitives.CodeField, None)
         # Code from the system, or regex criteria.
     ])
     return elm
Exemplo n.º 19
0
 def element_properties(self):
     elm = super().element_properties()
     elm.extend([
         Field("name", {
             "mini": 0,
             "maxi": 1
         }, primitives.StringField, None),
         # Name of a individual to contact.
         Field(
             "telecom",
             {
                 "mini": 0,
                 "maxi": -1
             },
             complex.ContactPointField(),
             None,
         )
         # Contact details for individual or publisher.
     ])
     return elm
Exemplo n.º 20
0
 def element_properties(self):
     elm = super().element_properties()
     elm.extend(
         [
             Field("method", {"mini": 1, "maxi": 1}, primitives.CodeField, None),
             # GET | POST | PUT | DELETE.
             Field("url", {"mini": 1, "maxi": 1}, primitives.URIField, None),
             # URL for HTTP equivalent of this entry.
             Field(
                 "ifNoneMatch", {"mini": 0, "maxi": 1}, primitives.StringField, None
             ),
             # For managing cache currency.
             Field(
                 "ifModifiedSince",
                 {"mini": 0, "maxi": 1},
                 primitives.InstantField,
                 None,
             ),
             # For managing update contention.
             Field("ifMatch", {"mini": 0, "maxi": 1}, primitives.StringField, None),
             # For managing update contention.
             Field(
                 "ifNoneExist", {"mini": 0, "maxi": 1}, primitives.StringField, None
             ),
             # For conditional creates.
         ]
     )
     return elm
Exemplo n.º 21
0
 def element_properties(self):
     elm = super().element_properties()
     elm.extend(
         [
             Field("fullUrl", {"mini": 0, "maxi": 1}, primitives.URIField, None),
             # Absolute URL for resource (server address, or UUID/OID).
             Field("link", {"mini": 0, "maxi": -1}, BundleLinkField(), None),
             # Links related to this entry.
             Field(
                 "request", {"mini": 0, "maxi": 1}, BundleEntryRequestField(), None
             ),
             # Transaction Related Information.
             Field(
                 "response", {"mini": 0, "maxi": 1}, BundleEntryResponseField(), None
             ),
             # Transaction Related Information.
             Field("search", {"mini": 0, "maxi": 1}, BundleEntrySearchField(), None),
             # Search related information.
             Field(
                 "resource", {"mini": 0, "maxi": 1}, complex.ReferenceField(), "all"
             ),
             # A resource in the bundle.
             # TODO is this the best approach for this field?
             # It is a Resource field in the spec, but here we save the
             # reference and use reference resolution when accessing a Bundle.
         ]
     )
     return elm
Exemplo n.º 22
0
 def element_properties(self):
     elm = super().element_properties()
     elm.extend([
         Field("name", {
             "mini": 1,
             "maxi": 1
         }, primitives.StringField, None),
         # Name as assigned by the server.
         Field(
             "valueBoolean",
             {
                 "mini": 0,
                 "maxi": 1
             },
             primitives.BooleanField,
             None,
         ),
         # Value of the named parameter.
         Field("valueCode", {
             "mini": 0,
             "maxi": 1
         }, primitives.CodeField, None),
         # Value of the named parameter.
         Field(
             "valueDecimal",
             {
                 "mini": 0,
                 "maxi": 1
             },
             primitives.DecimalField,
             None,
         ),
         # Value of the named parameter.
         Field(
             "valueInteger",
             {
                 "mini": 0,
                 "maxi": 1
             },
             primitives.IntegerField,
             None,
         ),
         # Value of the named parameter.
         Field("valueString", {
             "mini": 0,
             "maxi": 1
         }, primitives.StringField, None),
         # Value of the named parameter.
         Field("valueUri", {
             "mini": 0,
             "maxi": 1
         }, primitives.URIField, None),
         # Value of the named parameter.
     ])
     return elm
Exemplo n.º 23
0
 def element_properties(self):
     elm = super().element_properties()
     elm.extend([
         Field("system", {
             "mini": 1,
             "maxi": 1
         }, primitives.CodeField, None),
         # The system the codes come from.
         Field("version", {
             "mini": 0,
             "maxi": 1
         }, primitives.CodeField, None),
         # Specific version of the code system referred to.
         Field(
             "concept",
             {
                 "mini": 0,
                 "maxi": -1
             },
             ValueSetComposeIncludeConceptField(),
             None,
         ),
         # A concept defined in the system.
         Field(
             "filter",
             {
                 "mini": 0,
                 "maxi": -1
             },
             ValueSetComposeIncludeFilterField(),
             None,
         ),
         # Select codes/concepts by their properties
         # (including relationships).JSON).
     ])
     return elm
Exemplo n.º 24
0
 def element_properties(self):
     elm = super().element_properties()
     elm.extend([
         Field("identifier", {
             "mini": 1,
             "maxi": 1
         }, primitives.URIField, None),
         # Uniquely identifies this expansion.
         Field("timestamp", {
             "mini": 1,
             "maxi": 1
         }, primitives.DateTimeField, None),
         # Time ValueSet expansion happened.
         Field("offset", {
             "mini": 0,
             "maxi": 1
         }, primitives.IntegerField, None),
         # Offset at which this resource starts.
         Field("total", {
             "mini": 0,
             "maxi": 1
         }, primitives.IntegerField, None),
         # Total number of codes in the expansion.
         Field(
             "parameter",
             {
                 "mini": 0,
                 "maxi": 1
             },
             ValueSetExpansionParameterField(),
             None,
         ),
         # Parameter that controlled the expansion process.
         Field(
             "contains",
             {
                 "mini": 0,
                 "maxi": 1
             },
             ValueSetExpansionContainsField(),
             None,
         ),
         # Codes in the value set.
     ])
     return elm
Exemplo n.º 25
0
 def element_properties(self):
     elm = super().element_properties()
     elm.extend([
         Field("code", {
             "mini": 1,
             "maxi": 1
         }, primitives.CodeField, None),
         # Code that identifies concept.
         Field("abstract", {
             "mini": 0,
             "maxi": 1
         }, primitives.BooleanField, None),
         # If this code is not for use as a real concept.
         Field("display", {
             "mini": 0,
             "maxi": 1
         }, primitives.StringField, None),
         # Text to display to the user.
         Field("definition", {
             "mini": 0,
             "maxi": 1
         }, primitives.StringField, None),
         # Formal definition.
         Field("concept", {
             "mini": 0,
             "maxi": -1
         }, primitives.StringField, "Self"),
         # Child Concepts (is-a/contains/categorizes).
         # TODO Reference resolution mechanism for backbone elements
         Field(
             "designation",
             {
                 "mini": 0,
                 "maxi": 1
             },
             ValueSetCodeSystemConceptDesignationField(),
             None,
         ),
         # Additional representation for the concept
     ])
     return elm
Exemplo n.º 26
0
 def element_properties(self):
     elm = super().element_properties()
     elm.extend([
         Field("code", {
             "mini": 1,
             "maxi": 1
         }, primitives.CodeField, None),
         # Error or warning code.
         Field("severity", {
             "mini": 1,
             "maxi": 1
         }, primitives.CodeField, None),
         # fatal | error | warning | information.
         Field("diagnostics", {
             "mini": 0,
             "maxi": 1
         }, primitives.StringField, None),
         # Additional diagnostic information about the issue.
         Field("location", {
             "mini": 0,
             "maxi": -1
         }, primitives.StringField, None),
         # XPath of element(s) related to issue.
         Field("expression", {
             "mini": 0,
             "maxi": -1
         }, primitives.StringField, None),
         # FluentPath of element(s) related to issue
         Field(
             "details",
             {
                 "mini": 0,
                 "maxi": 1
             },
             complex.CodeableConceptField(),
             None,
         )
         # Additional details about the error.
     ])
     return elm
Exemplo n.º 27
0
 def element_properties(self):
     elm = super().element_properties()
     elm.extend([
         Field("abstract", {
             "mini": 0,
             "maxi": 1
         }, primitives.BooleanField, None),
         # If user cannot select this entry.
         Field("code", {
             "mini": 0,
             "maxi": 1
         }, primitives.CodeField, None),
         # Code - if blank, this is not a selectable code.
         Field("display", {
             "mini": 0,
             "maxi": 1
         }, primitives.StringField, None),
         # User display for the concept.
         Field("system", {
             "mini": 0,
             "maxi": 1
         }, primitives.URIField, None),
         # System value for the code.
         Field("version", {
             "mini": 0,
             "maxi": 1
         }, primitives.StringField, None),
         # Version in which this code/display is defined.
         Field("contains", {
             "mini": 0,
             "maxi": -1
         }, primitives.StringField, "Self")
         # des contained under this entry.
         # TODO Reference resolution mechanism for backbone elements
     ])
     return elm
Exemplo n.º 28
0
 def element_properties(self):
     elm = super().element_properties()
     elm.extend([
         Field("linkId", {
             "mini": 0,
             "maxi": 1
         }, primitives.StringField, None),
         # To link questionnaire with questionnaire response
         Field("concept", {
             "mini": 0,
             "maxi": -1
         }, complex.CodingField(), None),
         # Concept that represents this item within in a questionnaire
         Field("prefix", {
             "mini": 0,
             "maxi": 1
         }, primitives.StringField, None),
         # E.g. "1(a)", "2.5.3"
         Field("text", {
             "mini": 0,
             "maxi": 1
         }, primitives.StringField, None),
         # Primary text for the item
         Field("type", {
             "mini": 1,
             "maxi": 1
         }, primitives.StringField, None),
         # group | display | boolean | decimal | integer | date | dateTime
         Field("required", {
             "mini": 0,
             "maxi": 1
         }, primitives.StringField, None),
         # Whether the item must be included in data results
         Field("repeats", {
             "mini": 0,
             "maxi": 1
         }, primitives.StringField, None),
         # Whether the item may repeat
         Field("readOnly", {
             "mini": 0,
             "maxi": 1
         }, primitives.StringField, None),
         # Don't allow human editing
         Field("maxLength", {
             "mini": 0,
             "maxi": 1
         }, primitives.IntegerField, None),
         # No more than this many characters
         Field(
             "options",
             {
                 "mini": 0,
                 "maxi": 1
             },
             complex.ReferenceField(),
             ["ValueSet"],
         ),
         # Valueset containing permitted answers
         Field(
             "enableWhen",
             {
                 "mini": 0,
                 "maxi": -1
             },
             QuestionnaireItemEnableWhenField(),
             None,
         ),
         # Value question must have
         Field(
             "option",
             {
                 "mini": 0,
                 "maxi": -1
             },
             QuestionnaireItemOptionField(),
             None,
         ),
         # Permitted answer
         Field("initial", {
             "mini": 0,
             "maxi": 1
         }, OpenType(), None),
         # Initial presumed answer for question
         Field("item", {
             "mini": 0,
             "maxi": -1
         }, complex.ReferenceField, ["Self"]),
         # Permitted answers
     ])
     return elm
Exemplo n.º 29
0
 def element_properties(self):
     elm = super().element_properties()
     elm.extend([
         Field("path", {
             "mini": 1,
             "maxi": 1
         }, primitives.StringField, None),
         # The path of the element (see the Detailed Descriptions).
         Field(
             "representation",
             {
                 "mini": 0,
                 "maxi": -1
             },
             primitives.CodeField,
             None,
         ),
         # How this element is represented in instances.
         Field("name", {
             "mini": 0,
             "maxi": 1
         }, primitives.StringField, None),
         # Name for this particular element definition (reference target).
         Field("label", {
             "mini": 0,
             "maxi": 1
         }, primitives.StringField, None),
         # Name for element to display with or prompt for element.
         Field("short", {
             "mini": 0,
             "maxi": 1
         }, primitives.StringField, None),
         # Concise definition for xml presentation.
         Field("definition", {
             "mini": 0,
             "maxi": 1
         }, primitives.MarkdownField, None),
         # Full formal definition as narrative text.
         Field("comments", {
             "mini": 0,
             "maxi": 1
         }, primitives.MarkdownField, None),
         # Comments about the use of this element.
         Field(
             "requirements",
             {
                 "mini": 0,
                 "maxi": 1
             },
             primitives.MarkdownField,
             None,
         ),
         # Why is this needed?.
         Field("alias", {
             "mini": 0,
             "maxi": -1
         }, primitives.StringField, None),
         # Other names.
         Field("min", {
             "mini": 0,
             "maxi": 1
         }, primitives.IntegerField, None),
         # Minimum Cardinality.
         Field("max", {
             "mini": 0,
             "maxi": 1
         }, primitives.StringField, None),
         # Maximum Cardinality (a number or *).
         Field(
             "nameReference",
             {
                 "mini": 0,
                 "maxi": 1
             },
             primitives.StringField,
             None,
         ),
         # To another element constraint (by element.name).
         Field(
             "meaningWhenMissing",
             {
                 "mini": 0,
                 "maxi": 1
             },
             primitives.MarkdownField,
             None,
         ),
         # Implicit meaning when this element is missing
         Field("maxLength", {
             "mini": 0,
             "maxi": 1
         }, primitives.IntegerField, None),
         # Max length of strings
         Field("condition", {
             "mini": 0,
             "maxi": -1
         }, primitives.IdField, None),
         # Reference to invariant about presence.
         Field("mustSupport", {
             "mini": 0,
             "maxi": 1
         }, primitives.BooleanField, None),
         # If the element must supported
         Field("isModifier", {
             "mini": 0,
             "maxi": 1
         }, primitives.BooleanField, None),
         # If this modifies the meaning of other elements.
         Field("isSummary", {
             "mini": 0,
             "maxi": 1
         }, primitives.BooleanField, None),
         # Include when _summary = true?.
         Field("defaultValue", {
             "mini": 0,
             "maxi": 1
         }, OpenType, None),
         # Specified value it missing from instance
         Field("fixed", {
             "mini": 0,
             "maxi": 1
         }, OpenType, None),
         # Value must be exactly this
         Field("pattern", {
             "mini": 0,
             "maxi": 1
         }, OpenType, None),
         # Value must have at least these property values
         Field("example", {
             "mini": 0,
             "maxi": 1
         }, OpenType, None),
         # Example value: [as defined for type]
         Field("minValue", {
             "mini": 0,
             "maxi": 1
         }, OpenType, None),
         # Minimum Allowed Value (for some types)
         Field("maxValue", {
             "mini": 0,
             "maxi": 1
         }, OpenType, None),
         # Maximum Allowed Value (for some types)
         Field("code", {
             "mini": 0,
             "maxi": -1
         }, complex.CodingField(), None),
         # Defining code.
         Field(
             "slicing",
             {
                 "mini": 0,
                 "maxi": 1
             },
             ElementDefinitionSlicingField(),
             None,
         ),
         # This element is sliced - slices follow.
         Field("base", {
             "mini": 0,
             "maxi": 1
         }, ElementDefinitionBaseField(), None),
         # Base definition information for tools.
         Field("type", {
             "mini": 0,
             "maxi": -1
         }, ElementDefinitionTypeField(), None),
         # Data type and Profile for this element.
         Field(
             "constraint",
             {
                 "mini": 0,
                 "maxi": -1
             },
             ElementDefinitionConstraintField(),
             None,
         ),
         # Condition that must evaluate to true.
         Field(
             "binding",
             {
                 "mini": 0,
                 "maxi": 1
             },
             ElementDefinitionBindingField(),
             None,
         ),
         # ValueSet details if this is coded.
         Field(
             "mapping",
             {
                 "mini": 0,
                 "maxi": -1
             },
             ElementDefinitionMappingField(),
             None,
         ),
         # Map element to another set of definitions.
     ])
     return elm