### ----------------------------------------------------
### -- FHIR
### -- Licenses: Artistic-2.0
### -- Authors: Hugh Simpson
### -- File: t/resources/structureDefinition/elementDefinition.json
### ----------------------------------------------------
### -- Chunk 6 of 7
 instance (e.g. 'if not otherwise specified, the abstract is false').",
        "comment": "Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. \n\nNo default values are ever defined in the FHIR specification, nor can they be defined in constraints (\"profiles\") on data types or resources. This element only exists so that default values may be defined in logical models.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "base64Binary"
          },
          {
            "code": "boolean"
          },
          {
            "code": "canonical"
          },
          {
            "code": "code"
          },
          {
            "code": "date"
          },
          {
            "code": "dateTime"
          },
          {
            "code": "decimal"
          },
          {
            "code": "id"
          },
          {
            "code": "instant"
          },
          {
            "code": "integer"
          },
          {
            "code": "markdown"
          },
          {
            "code": "oid"
          },
          {
            "code": "positiveInt"
          },
          {
            "code": "string"
          },
          {
            "code": "time"
          },
          {
            "code": "unsignedInt"
          },
          {
            "code": "uri"
          },
          {
            "code": "url"
          },
          {
            "code": "uuid"
          },
          {
            "code": "Address"
          },
          {
            "code": "Age"
          },
          {
            "code": "Annotation"
          },
          {
            "code": "Attachment"
          },
          {
            "code": "CodeableConcept"
          },
          {
            "code": "Coding"
          },
          {
            "code": "ContactPoint"
          },
          {
            "code": "Count"
          },
          {
            "code": "Distance"
          },
          {
            "code": "Duration"
          },
          {
            "code": "HumanName"
          },
          {
            "code": "Identifier"
          },
          {
            "code": "Money"
          },
          {
            "code": "Period"
          },
          {
            "code": "Quantity"
          },
          {
            "code": "Range"
          },
          {
            "code": "Ratio"
          },
          {
            "code": "Reference"
          },
          {
            "code": "SampledData"
          },
          {
            "code": "Signature"
          },
          {
            "code": "Timing"
          },
          {
            "code": "ContactDetail"
          },
          {
            "code": "Contributor"
          },
          {
            "code": "DataRequirement"
          },
          {
            "code": "Expression"
          },
          {
            "code": "ParameterDefinition"
          },
          {
            "code": "RelatedArtifact"
          },
          {
            "code": "TriggerDefinition"
          },
          {
            "code": "UsageContext"
          },
          {
            "code": "Dosage"
          }
        ],
        "condition": [
          "eld-15"
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A (MIF territory)"
          }
        ]
      },
      {
        "id": "ElementDefinition.meaningWhenMissing",
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
            "valueBoolean": true
          }
        ],
        "path": "ElementDefinition.meaningWhenMissing",
        "short": "Implicit meaning when this element is missing",
        "definition": "The Implicit meaning that is to be understood when this element is missing (e.g. 'when this element is missing, the period is ongoing').",
        "comment": "Implicit meanings for missing values can only be specified on a resource, data type, or extension definition, and never in a profile that applies to one of these. An implicit meaning for a missing value can never be changed, and specifying one has the consequence that constraining its use in profiles eliminates use cases as possibilities, not merely moving them out of scope.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "markdown"
          }
        ],
        "condition": [
          "eld-15"
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A (MIF territory)"
          }
        ]
      },
      {
        "id": "ElementDefinition.orderMeaning",
        "path": "ElementDefinition.orderMeaning",
        "short": "What the order of the elements means",
        "definition": "If present, indicates that the order of the repeating element has meaning and describes what that meaning is.  If absent, it means that the order of the element has no meaning.",
        "comment": "This element can only be asserted on repeating elements and can only be introduced when defining resources or data types.  It can be further refined profiled elements but if absent in the base type, a profile cannot assert meaning.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A (MIF territory)"
          }
        ]
      },
      {
        "id": "ElementDefinition.fixed[x]",
        "path": "ElementDefinition.fixed[x]",
        "short": "Value must be exactly this",
        "definition": "Specifies a value that SHALL be exactly the value  for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.",
        "comment": "This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "base64Binary"
          },
          {
            "code": "boolean"
          },
          {
            "code": "canonical"
          },
          {
            "code": "code"
          },
          {
            "code": "date"
          },
          {
            "code": "dateTime"
          },
          {
            "code": "decimal"
          },
          {
            "code": "id"
          },
          {
            "code": "instant"
          },
          {
            "code": "integer"
          },
          {
            "code": "markdown"
          },
          {
            "code": "oid"
          },
          {
            "code": "positiveInt"
          },
          {
            "code": "string"
          },
          {
            "code": "time"
          },
          {
            "code": "unsignedInt"
          },
          {
            "code": "uri"
          },
          {
            "code": "url"
          },
          {
            "code": "uuid"
          },
          {
            "code": "Address"
          },
          {
            "code": "Age"
          },
          {
            "code": "Annotation"
          },
          {
            "code": "Attachment"
          },
          {
            "code": "CodeableConcept"
          },
          {
            "code": "Coding"
          },
          {
            "code": "ContactPoint"
          },
          {
            "code": "Count"
          },
          {
            "code": "Distance"
          },
          {
            "code": "Duration"
          },
          {
            "code": "HumanName"
          },
          {
            "code": "Identifier"
          },
          {
            "code": "Money"
          },
          {
            "code": "Period"
          },
          {
            "code": "Quantity"
          },
          {
            "code": "Range"
          },
          {
            "code": "Ratio"
          },
          {
            "code": "Reference"
          },
          {
            "code": "SampledData"
          },
          {
            "code": "Signature"
          },
          {
            "code": "Timing"
          },
          {
            "code": "ContactDetail"
          },
          {
            "code": "Contributor"
          },
          {
            "code": "DataRequirement"
          },
          {
            "code": "Expression"
          },
          {
            "code": "ParameterDefinition"
          },
          {
            "code": "RelatedArtifact"
          },
          {
            "code": "TriggerDefinition"
          },
          {
            "code": "UsageContext"
          },
          {
            "code": "Dosage"
          }
        ],
        "condition": [
          "eld-5",
          "eld-6",
          "eld-8"
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A (MIF territory)"
          },
          {
            "identity": "iso11179",
            "map": "N/A (only relevant when constraining, which 11179 doesn't do)"
          }
        ]
      },
      {
        "id": "ElementDefinition.pattern[x]",
        "path": "ElementDefinition.pattern[x]",
        "short": "Value must have at least these property values",
        "definition": "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example.  \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.",
        "comment": "Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x].",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "base64Binary"
          },
          {
            "code": "boolean"
          },
          {
            "code": "canonical"
          },
          {
            "code": "code"
          },
          {
            "code": "date"
          },
          {
            "code": "dateTime"
          },
          {
            "code": "decimal"
          },
          {
            "code": "id"
          },
          {
            "code": "instant"
          },
          {
            "code": "integer"
          },
          {
            "code": "markdown"
          },
          {
            "code": "oid"
          },
          {
            "code": "positiveInt"
          },
          {
            "code": "string"
          },
          {
            "code": "time"
          },
          {
            "code": "unsignedInt"
          },
          {
            "code": "uri"
          },
          {
            "code": "url"
          },
          {
            "code": "uuid"
          },
          {
            "code": "Address"
          },
          {
            "code": "Age"
          },
          {
            "code": "Annotation"
          },
          {
            "code": "Attachment"
          },
          {
            "code": "CodeableConcept"
          },
          {
            "code": "Coding"
          },
          {
            "code": "ContactPoint"
          },
          {
            "code": "Count"
          },
          {
            "code": "Distance"
          },
          {
            "code": "Duration"
          },
          {
            "code": "HumanName"
          },
          {
            "code": "Identifier"
          },
          {
            "code": "Money"
          },
          {
            "code": "Period"
          },
          {
            "code": "Quantity"
          },
          {
            "code": "Range"
          },
          {
            "code": "Ratio"
          },
          {
            "code": "Reference"
          },
          {
            "code": "SampledData"
          },
          {
            "code": "Signature"
          },
          {
            "code": "Timing"
          },
          {
            "code": "ContactDetail"
          },
          {
            "code": "Contributor"
          },
          {
            "code": "DataRequirement"
          },
          {
            "code": "Expression"
          },
          {
            "code": "ParameterDefinition"
          },
          {
            "code": "RelatedArtifact"
          },
          {
            "code": "TriggerDefinition"
          },
          {
            "code": "UsageContext"
          },
          {
            "code": "Dosage"
          }
        ],
        "condition": [
          "eld-5",
          "eld-7",
          "eld-8"
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A (MIF territory)"
          }
        ]
      },
      {
        "id": "ElementDefinition.example",
        "path": "ElementDefinition.example",
        "short": "Example value (as defined for type)",
        "definition": "A sample value for this element demonstrating the type of information that would typically be found in the element.",
        "comment": "Examples will most commonly be present for data where it's not implicitly obvious from either the data type or value set what the values might be.  (I.e. Example values for dates or quantities would generally be unnecessary.)  If the example value is fully populated, the publication tool can generate an instance automatically.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "Element"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A (MIF territory)"
          }
        ]
      },
      {
        "id": "ElementDefinition.example.label",
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
            "valueBoolean": true
          }
        ],
        "path": "ElementDefinition.example.label",
        "short": "Describes the purpose of this example",
        "definition": "Describes the purpose of this example amoung the set of examples.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A (MIF territory)"
          }
        ]
      },
      {
        "id": "ElementDefinition.example.value[x]",
        "path": "ElementDefinition.example.value[x]",
        "short": "Value of Example (one of allowed types)",
        "definition": "The actual value for the element, which must be one of the types allowed for this element.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "base64Binary"
          },
          {
            "code": "boolean"
          },
          {
            "code": "canonical"
          },
          {
            "code": "code"
          },
          {
            "code": "date"
          },
          {
            "code": "dateTime"
          },
          {
            "code": "decimal"
          },
          {
            "code": "id"
          },
          {
            "code": "instant"
          },
          {
            "code": "integer"
          },
          {
            "code": "markdown"
          },
          {
            "code": "oid"
          },
          {
            "code": "positiveInt"
          },
          {
            "code": "string"
          },
          {
            "code": "time"
          },
          {
            "code": "unsignedInt"
          },
          {
            "code": "uri"
          },
          {
            "code": "url"
          },
          {
            "code": "uuid"
          },
          {
            "code": "Address"
          },
          {
            "code": "Age"
          },
          {
            "code": "Annotation"
          },
          {
            "code": "Attachment"
          },
          {
            "code": "CodeableConcept"
          },
          {
            "code": "Coding"
          },
          {
            "code": "ContactPoint"
          },
          {
            "code": "Count"
          },
          {
            "code": "Distance"
          },
          {
            "code": "Duration"
          },
          {
            "code": "HumanName"
          },
          {
            "code": "Identifier"
          },
          {
            "code": "Money"
          },
          {
            "code": "Period"
          },
          {
            "code": "Quantity"
          },
          {
            "code": "Range"
          },
          {
            "code": "Ratio"
          },
          {
            "code": "Reference"
          },
          {
            "code": "SampledData"
          },
          {
            "code": "Signature"
          },
          {
            "code": "Timing"
          },
          {
            "code": "ContactDetail"
          },
          {
            "code": "Contributor"
          },
          {
            "code": "DataRequirement"
          },
          {
            "code": "Expression"
          },
          {
            "code": "ParameterDefinition"
          },
          {
            "code": "RelatedArtifact"
          },
          {
            "code": "TriggerDefinition"
          },
          {
            "code": "UsageContext"
          },
          {
            "code": "Dosage"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A (MIF territory)"
          },
          {
            "identity": "iso11179",
            "map": ".example"
          },
          {
            "identity": "loinc",
            "map": "EXMPL_ANSWERS"
          }
        ]
      },
      {
        "id": "ElementDefinition.minValue[x]",
        "path": "ElementDefinition.minValue[x]",
        "short": "Minimum Allowed Value (for some types)",
        "definition": "The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity.",
        "comment": "Except for date/date/instant, the type of the minValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of minValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is subtracted from the current clock to determine the minimum allowable value.   A minimum value for a Quantity is interpreted as an canonical minimum - e.g. you cannot provide 100mg if the minimum value is 10g.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "date"
          },
          {
            "code": "dateTime"
          },
          {
            "code": "instant"
          },
          {
            "code": "time"
          },
          {
            "code": "decimal"
          },
          {
            "code": "integer"
          },
          {
            "code": "positiveInt"
          },
          {
            "code": "unsignedInt"
          },
          {
            "code": "Quantity"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A (MIF territory)"
          }
        ]
      },
      {
        "id": "ElementDefinition.maxValue[x]",
        "path": "ElementDefinition.maxValue[x]",
        "short": "Maximum Allowed Value (for some types)",
        "definition": "The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity.",
        "comment": "Except for date/date/instant, the type of the maxValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of maxValue[x] SHALL be either the same, or a [Duration](datatypes.html#Duration) which specifies a relative time limit to the current time. The duration value is positive, and is added to the current clock to determine the maximum allowable value.   A maximum value for a Quantity is interpreted as an canonical maximum - e.g. you cannot provide 10g if the maximum value is 50mg.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "date"
          },
          {
            "code": "dateTime"
          },
          {
            "code": "instant"
          },
          {
            "code": "time"
          },
          {
            "code": "decimal"
          },
          {
            "code": "integer"
          },
          {
            "code": "positiveInt"
          },
          {
            "code": "unsignedInt"
          },
          {
            "code": "Quantity"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A (MIF territory)"
          }
        ]
      },
      {
        "id": "ElementDefinition.maxLength",
        "path": "ElementDefinition.maxLength",
        "short": "Max length for strings",
        "definition": "Indicates the maximum length in characters that is permitted to be present in conformant instances and which is expected to be supported by conformant consumers that support the element.",
        "comment": "Receivers are not required to reject instances that exceed the maximum length.  The full length could be stored.  In some cases, data might be truncated, though truncation should be undertaken with care and an understanding of the consequences of doing so. If not specified, there is no conformance expectation for length support.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "integer"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "OMC.12"
          },
          {
            "identity": "rim",
            "map": "N/A (MIF territory)"
          },
          {
            "identity": "iso11179",
            "map": ".domain.maximum_character_quantity"
          }
        ]
      },
      {
        "id": "ElementDefinition.condition",
        "path": "ElementDefinition.condition",
        "short": "Reference to invariant about presence",
        "definition": "A reference to an invariant that may make additional statements about the cardinality or value in the instance.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "id"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A (MIF territory)"
          }
        ]
      },
      {
        "id": "ElementDefinition.constraint",
        "path": "ElementDefinition.constraint",
        "short": "Condition that must evaluate to true",
        "definition": "Formal constraints such as co-occurrence and other constraints that can be computationally evaluated within the context of the instance.",
        "comment": "Constraints should be declared on the \"context\" element - the lowest element in the hierarchy that is common to all nodes referenced by the constraint.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "Element"
          }
        ],
        "constraint": [
          {
            "key": "eld-21",
            "severity": "warning",
            "human": "Constraints should have an expression or else validators will not be able to enforce them",
            "expression": "expression.exists()",
            "xpath": "exists(f:expression/@value)"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A (MIF territory)"
          },
          {
            "identity": "iso11179",
            "map": "??"
          }
        ]
      },
      {
        "id": "ElementDefinition.constraint.key",
        "path": "ElementDefinition.constraint.key",
        "short": "Target of 'condition' reference above",
        "definition": "Allows identification of which elements have their cardinalities impacted by the constraint.  Will not be referenced for constraints that do not affect cardinality.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "id"
          }
        ],
        "condition": [
          "eld-14"
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A (MIF territory)"
          }
        ]
      },
      {
        "id": "ElementDefinition.constraint.requirements",
        "path": "ElementDefinition.constraint.requirements",
        "short": "Why this constraint is necessary or appropriate",
        "definition": "Description of why this constraint is necessary or appropriate.",
        "comment": "To be used if the reason for the constraint might not be intuitive to all implementers.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A (MIF territory)"
          }
        ]
      },
      {
        "id": "ElementDefinition.constraint.severity",
        "path": "ElementDefinition.constraint.severity",
        "short": "error | warning",
        "definition": "Identifies the impact constraint violation has on the conformance of the instance.",
        "comment": "This allows constraints to be asserted as \"shall\" (error) and \"should\" (warning).",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "code"
          }
        ],
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "ConstraintSeverity"
            }
          ],
          "strength": "required",
          "description": "SHALL applications comply with this constraint?",
          "valueSet": "http://hl7.org/fhir/ValueSet/constraint-severity|4.0.0"
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A (MIF territory)"
          }
        ]
      },
      {
        "id": "ElementDefinition.constraint.human",
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
            "valueBoolean": true
          }
        ],
        "path": "ElementDefinition.constraint.human",
        "short": "Human description of constraint",
        "definition": "Text that can be used to describe the constraint in messages identifying that the constraint has been violated.",
        "comment": "Should be expressed in business terms as much as possible.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A (MIF territory)"
          }
        ]
      },
      {
        "id": "ElementDefinition.constraint.expression",
        "path": "ElementDefinition.constraint.expression",
        "short": "FHIRPath expression of constraint",
        "definition": "A [FHIRPath](fhirpath.html) expression of constraint that can be executed to see if this constraint is met.",
        "comment": "In the absense of an expression, the expression is likely not enforceable by validators, and might be missed by many systems.",
        "requirements": "Used by validation tooling tests of the validity of the resource.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A (MIF territory)"
          }
        ]
      },
      {
        "id": "ElementDefinition.constraint.xpath",
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status",
            "valueCode": "trial-use"
          }
        ],
        "path": "ElementDefinition.constraint.xpath",
        "short": "XPath expression of constraint",
        "definition": "An XPath expression of constraint that can be executed to see if this constraint is met.",
        "comment": "Elements SHALL use \"f\" as the namespace prefix for the FHIR namespace, and \"x\" for the xhtml namespace, and SHALL NOT use any other prefixes.     Note: XPath is generally considered not useful because it does not apply to JSON and other formats and because of XSLT implementation issues, and may be removed in the future.",
        "requirements": "Used in Schematron tests of the validity of the resource.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A (MIF territory)"
          }
        ]
      },
      {
        "id": "ElementDefinition.constraint.source",
        "path": "ElementDefinition.constraint.source",
        "short": "Reference to original source of constraint",
        "definition": "A reference to the original source of the constraint, for traceability purposes.",
        "comment": "This is used when, e.g. rendering, where it is not useful to present inherited constraints when rendering the snapshot.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "canonical",
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/StructureDefinition"
            ]
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A (MIF territory)"
          }
        ]
      },
      {
        "id": "ElementDefinition.mustSupport",
        "path": "ElementDefinition.mustSupport",
        "short": "If the element must be supported",
        "definition": "If true, implementations that produce or consume resources SHALL provide \"support\" for the element in some meaningful way.  If false, the element may be ignored and not supported. If false, whether to populate or use the data element in any way is at the discretion of the implementation.",
        "comment": "\"Something useful\" is context dependent and impossible to describe in the base FHIR specification. For this reason, tue mustSupport flag is never set to true by the FHIR specification itself - it is only set to true in profiles.  A profile on a type can always make musSupport = true if it is false in the base type but cannot make mustSupport = false if it is true in the base type.   This is done in [Resource Profiles](profiling.html#mustsupport), where the profile labels an element as mustSupport=true. When a profile does this, it SHALL also make clear exactly what kind of \"support\" is required, as this can mean many things.    Note that an element that has the property IsModifier is not necessarily a \"key\" element (e.g. one of the important elements to make use of the resource), nor is it automatically mustSupport - however both of these things are more likely to be true for IsModifier elements than for other elements.",
        "requirements": "Allows a profile to set expectations for system capabilities beyond merely respecting cardinality constraints.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "boolean"
          }
        ],
        "meaningWhenMissing": "In a base type, where the element is being defined for the first time, the element is assumed to be mustSupport = false. In a profile (a constraint on an existing type), if mustSupport is not specific in either the differentil or the snapshot, the mustSupport value is not changed fro the base definition. Not, though, that the snapshot SHOULD always populate the mustSuppot value",
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A (MIF territory)"
          },
          {
            "identity": "iso11179",
            "map": "??"
          }
        ]
      },
      {
        "id": "ElementDefinition.isModifier",
        "path": "ElementDefinition.isModifier",
        "short": "If this modifies the meaning of other elements",
        "definition": "If true, the value of this element affects the interpretation of the element or resource that contains it, and the value of the element cannot be ignored. Typically, this is used for status, negation and qualification codes. The effect of this is that the element cannot be ignored by systems: they SHALL either recognize the element and process it, and/or a pre-determination has been made that it is not relevant to their particular system.",
        "comment": "Only the definition of an element can set IsModifier true - either the specification itself or where an extension is originally defined. Once set, it cannot be changed in derived profiles. An element/extension that has isModifier=true SHOULD also have a minimum cardinality of 1, so that there is no lack of clarity about what to do if it is missing. If it can be missing, the definition SHALL make the meaning of a missing element clear.",
        "requirements": "Allows elements to be introduced into a specification that can't safely be ignored by applications that don't recognize them.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "boolean"
          }
        ],
        "meaningWhenMissing": "An element is not a modifier element unless it is explicitly specified to be one",
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A (MIF territory)"
          },
          {
            "identity": "iso11179",
            "map": "??"
          }
        ]
      },
      {
        "id": "ElementDefinition.isModifierReason",
        "path": "ElementDefinition.isModifierReason",
        "short": "Reason that this element is marked as a modifier",
        "definition": "Explains how that element affects the interpretation of the resource or element that contains it.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A (MIF territory)"
          }
        ]
      },
      {
        "id": "ElementDefinition.isSummary",
        "path": "ElementDefinition.isSummary",
        "short": "Include when _summary = true?",
        "definition": "Whether the element should be included if a client requests a search with the parameter _summary=true.",
        "comment": "Some resources include a set of simple metadata, and some very large data. This element is used to reduce the quantity of data returned in searches. Note that servers may pre-cache summarized resources for optimal performance, so servers might not support per-profile use of the isSummary flag. When a request is made with _summary=true, serailisers only include elements marked as 'isSummary = true'. Other than Attachment.data, all data type properties are included in the summary form. In resource and data type definitions, if an element is at the root or has a parent that is 'mustSupport' and the minimum cardinality is 1 or the element is a modifier, it must be marked as isSummary=true.",
        "requirements": "Allow clients to search through large resources quickly.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "boolean"
          }
        ],
        "meaningWhenMissing": "An element is not included in the summary unless it is explicitly specified to be so",
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A (MIF territory)"
          },
          {
            "identity": "iso11179",
            "map": "??"
          }
        ]
      },
      {
