R4 Ballot #1 (Mixed Normative/Trial use)

This page is part of the FHIR Specification (v3.3.0: R4 Ballot 2). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions

Substanceamount.profile.json

Modeling and Methodology Work GroupMaturity Level: N/ABallot Status: Informative

Raw JSON (canonical form)

StructureDefinition for SubstanceAmount

{
  "resourceType": "StructureDefinition",
  "id": "SubstanceAmount",
  "meta": {
    "lastUpdated": "2018-04-03T12:05:46.262+10:00"
  },
  "text": {
    "status": "generated",
    "div": "<div>!-- Snipped for Brevity --></div>"
  },
  "extension": [
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-ballot-status",
      "valueString": "Draft"
    }
  ],
  "url": "http://hl7.org/fhir/StructureDefinition/SubstanceAmount",
  "name": "SubstanceAmount",
  "status": "draft",
  "date": "2018-04-03T12:05:46+10:00",
  "publisher": "HL7 FHIR Standard",
  "contact": [
    {
      "telecom": [
        {
          "system": "url",
          "value": "http://hl7.org/fhir"
        }
      ]
    }
  ],
  "description": "Base StructureDefinition for SubstanceAmount Type: Chemical substances are a single substance type whose primary defining element is the molecular structure. Chemical substances shall be defined on the basis of their complete covalent molecular structure; the presence of a salt (counter-ion) and/or solvates (water, alcohols) is also captured. Purity, grade, physical form or particle size are not taken into account in the definition of a chemical substance or in the assignment of a Substance ID.",
  "fhirVersion": "3.3.0",
  "mapping": [
    {
      "identity": "rim",
      "uri": "http://hl7.org/v3",
      "name": "RIM Mapping"
    }
  ],
  "kind": "complex-type",
  "abstract": false,
  "type": "SubstanceAmount",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/BackboneElement",
  "derivation": "specialization",
  "snapshot": {
    "element": [
      {
        "id": "SubstanceAmount",
        "path": "SubstanceAmount",
        "short": "Chemical substances are a single substance type whose primary defining element is the molecular structure. Chemical substances shall be defined on the basis of their complete covalent molecular structure; the presence of a salt (counter-ion) and/or solvates (water, alcohols) is also captured. Purity, grade, physical form or particle size are not taken into account in the definition of a chemical substance or in the assignment of a Substance ID",
        "definition": "Chemical substances are a single substance type whose primary defining element is the molecular structure. Chemical substances shall be defined on the basis of their complete covalent molecular structure; the presence of a salt (counter-ion) and/or solvates (water, alcohols) is also captured. Purity, grade, physical form or particle size are not taken into account in the definition of a chemical substance or in the assignment of a Substance ID.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "SubstanceAmount",
          "min": 0,
          "max": "*"
        },
        "isModifier": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "SubstanceAmount.id",
        "path": "SubstanceAmount.id",
        "representation": [
          "xmlAttr"
        ],
        "short": "xml:id (or equivalent in JSON)",
        "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Element.id",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "SubstanceAmount.extension",
        "path": "SubstanceAmount.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "description": "Extensions are always sliced by (at least) url",
          "rules": "open"
        },
        "short": "Additional content defined by implementations",
        "definition": "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.",
        "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
        "alias": [
          "extensions",
          "user content"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "Element.extension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "SubstanceAmount.modifierExtension",
        "path": "SubstanceAmount.modifierExtension",
        "short": "Extensions that cannot be ignored",
        "definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.",
        "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
        "alias": [
          "extensions",
          "user content",
          "modifiers"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "BackboneElement.modifierExtension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "isModifier": true,
        "isModifierReason": "modifierExtension is reserved for use where modifier extensions must be used",
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "id": "SubstanceAmount.amount[x]",
        "path": "SubstanceAmount.amount[x]",
        "short": "Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field",
        "definition": "Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "SubstanceAmount.amount[x]",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Quantity"
          },
          {
            "code": "Range"
          },
          {
            "code": "string"
          }
        ],
        "isModifier": false,
        "isSummary": true
      },
      {
        "id": "SubstanceAmount.amountType",
        "path": "SubstanceAmount.amountType",
        "short": "Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements",
        "definition": "Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "SubstanceAmount.amountType",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "isModifier": false,
        "isSummary": true
      },
      {
        "id": "SubstanceAmount.amountText",
        "path": "SubstanceAmount.amountText",
        "short": "A textual comment on a numeric value",
        "definition": "A textual comment on a numeric value.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "SubstanceAmount.amountText",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isModifier": false,
        "isSummary": true
      },
      {
        "id": "SubstanceAmount.referenceRange",
        "path": "SubstanceAmount.referenceRange",
        "short": "Reference range of possible or expected values",
        "definition": "Reference range of possible or expected values.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "SubstanceAmount.referenceRange",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Element"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() | (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "Element"
          }
        ],
        "isModifier": false,
        "isSummary": true
      },
      {
        "id": "SubstanceAmount.referenceRange.id",
        "path": "SubstanceAmount.referenceRange.id",
        "representation": [
          "xmlAttr"
        ],
        "short": "xml:id (or equivalent in JSON)",
        "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Element.id",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "SubstanceAmount.referenceRange.extension",
        "path": "SubstanceAmount.referenceRange.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "description": "Extensions are always sliced by (at least) url",
          "rules": "open"
        },
        "short": "Additional content defined by implementations",
        "definition": "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.",
        "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
        "alias": [
          "extensions",
          "user content"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "Element.extension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "SubstanceAmount.referenceRange.lowLimit",
        "path": "SubstanceAmount.referenceRange.lowLimit",
        "short": "Lower limit possible or expected",
        "definition": "Lower limit possible or expected.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "SubstanceAmount.referenceRange.lowLimit",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Quantity"
          }
        ],
        "isModifier": false,
        "isSummary": true
      },
      {
        "id": "SubstanceAmount.referenceRange.highLimit",
        "path": "SubstanceAmount.referenceRange.highLimit",
        "short": "Upper limit possible or expected",
        "definition": "Upper limit possible or expected.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "SubstanceAmount.referenceRange.highLimit",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Quantity"
          }
        ],
        "isModifier": false,
        "isSummary": true
      }
    ]
  },
  "differential": {
    "element": [
      {
        "id": "SubstanceAmount",
        "path": "SubstanceAmount",
        "short": "Chemical substances are a single substance type whose primary defining element is the molecular structure. Chemical substances shall be defined on the basis of their complete covalent molecular structure; the presence of a salt (counter-ion) and/or solvates (water, alcohols) is also captured. Purity, grade, physical form or particle size are not taken into account in the definition of a chemical substance or in the assignment of a Substance ID",
        "definition": "Chemical substances are a single substance type whose primary defining element is the molecular structure. Chemical substances shall be defined on the basis of their complete covalent molecular structure; the presence of a salt (counter-ion) and/or solvates (water, alcohols) is also captured. Purity, grade, physical form or particle size are not taken into account in the definition of a chemical substance or in the assignment of a Substance ID.",
        "min": 0,
        "max": "*"
      },
      {
        "id": "SubstanceAmount.amount[x]",
        "path": "SubstanceAmount.amount[x]",
        "short": "Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field",
        "definition": "Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Quantity"
          },
          {
            "code": "Range"
          },
          {
            "code": "string"
          }
        ],
        "isSummary": true
      },
      {
        "id": "SubstanceAmount.amountType",
        "path": "SubstanceAmount.amountType",
        "short": "Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements",
        "definition": "Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "isSummary": true
      },
      {
        "id": "SubstanceAmount.amountText",
        "path": "SubstanceAmount.amountText",
        "short": "A textual comment on a numeric value",
        "definition": "A textual comment on a numeric value.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true
      },
      {
        "id": "SubstanceAmount.referenceRange",
        "path": "SubstanceAmount.referenceRange",
        "short": "Reference range of possible or expected values",
        "definition": "Reference range of possible or expected values.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Element"
          }
        ],
        "isSummary": true
      },
      {
        "id": "SubstanceAmount.referenceRange.lowLimit",
        "path": "SubstanceAmount.referenceRange.lowLimit",
        "short": "Lower limit possible or expected",
        "definition": "Lower limit possible or expected.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Quantity"
          }
        ],
        "isSummary": true
      },
      {
        "id": "SubstanceAmount.referenceRange.highLimit",
        "path": "SubstanceAmount.referenceRange.highLimit",
        "short": "Upper limit possible or expected",
        "definition": "Upper limit possible or expected.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Quantity"
          }
        ],
        "isSummary": true
      }
    ]
  }
}

Usage note: every effort has been made to ensure that the examples are correct and useful, but they are not a normative part of the specification.