Research Data Sharing IG
1.0.0 - CI Build International flag

Research Data Sharing IG, published by IEHR-Workgroup. This guide is not an authorized publication; it is the continuous build for version 1.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/InteropEHRate-project/research-data-sharing/ and changes regularly. See the Directory of published versions

Extension: FunctionExtensionIEHR - Detailed Descriptions

Draft as of 2024-04-08

Definitions for the FunctionExtension-IEHR extension.

Guidance on how to interpret the contents of this table can be found here

0. Extension
ShortFunction
Control0..1
InvariantsextIEHR-1: The ageFromDate function should only have two parameters that points to the patient attribute in the requested resource (e.g Observation.subject) and the creation date (e.g Observation.subject). (extension('Name').value.code = 'ageFromDate' implies (extension('Parameter').count()=2))
extIEHR-2: The count function does not have parameters (extension('Name').value.code = 'count' implies (extension('Parameter').empty()))
extIEHR-3: The data function does not have parameters (extension('Name').value.code = 'data' implies (extension('Parameter').empty()))
extIEHR-4: The summary function does not have parameters (extension('Name').value.code = 'summary' implies (extension('Parameter').empty()))
extIEHR-5: The element function must have parameter (extension('Name').value.code = 'element' implies (extension('Parameter').exists()))
2. Extension.extension
Control1..?
SlicingThis element introduces a set of slices on Extension.extension. The slices are unordered and Closed, and can be differentiated using the following discriminators:
  • value @ url
  • 4. Extension.extension:Name
    Slice NameName
    Control1..1
    6. Extension.extension:Name.url
    Fixed ValueName
    8. Extension.extension:Name.value[x]
    Control1..?
    BindingThe codes SHALL be taken from Function Codes ValueSet
    (required to http://interopehrate.eu/fhir/ValueSet/FunctionCodesValueSet-IEHR)
    TypeCoding
    [x] NoteSee Choice of Data Types for further information about how to use [x]
    10. Extension.extension:Parameter
    Slice NameParameter
    Control0..?
    12. Extension.extension:Parameter.url
    Fixed ValueParameter
    14. Extension.extension:Parameter.value[x]
    Control1..?
    Typestring
    [x] NoteSee Choice of Data Types for further information about how to use [x]
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    16. Extension.url
    Fixed Valuehttp://interopehrate.eu/fhir/StructureDefinition/FunctionExtension-IEHR
    18. Extension.value[x]
    Control0..0

    Guidance on how to interpret the contents of this table can be found here

    0. Extension
    Definition

    An Extension


    Optional Extension Element - found in all resources.

    ShortFunctionOptional Extensions Element
    Control0..1*
    This element is affected by the following invariants: ele-1
    Is Modifierfalse
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    extIEHR-1: The ageFromDate function should only have two parameters that points to the patient attribute in the requested resource (e.g Observation.subject) and the creation date (e.g Observation.subject). (extension('Name').value.code = 'ageFromDate' implies (extension('Parameter').count()=2))
    extIEHR-2: The count function does not have parameters (extension('Name').value.code = 'count' implies (extension('Parameter').empty()))
    extIEHR-3: The data function does not have parameters (extension('Name').value.code = 'data' implies (extension('Parameter').empty()))
    extIEHR-4: The summary function does not have parameters (extension('Name').value.code = 'summary' implies (extension('Parameter').empty()))
    extIEHR-5: The element function must have parameter (extension('Name').value.code = 'element' implies (extension('Parameter').exists()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    2. Extension.extension
    Definition

    An 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.

    ShortExtensionAdditional content defined by implementations
    Comments

    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.

    Control10..*
    TypeExtension
    Is Modifierfalse
    Summaryfalse
    Alternate Namesextensions, user content
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    SlicingThis element introduces a set of slices on Extension.extension. The slices are unordered and ClosedOpen, and can be differentiated using the following discriminators:
    • value @ url
    • 4. Extension.extension:Name
      Slice NameName
      Definition

      An Extension

      ShortExtensionAdditional content defined by implementations
      Control10..1*
      TypeExtension
      Is Modifierfalse
      Summaryfalse
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
      6. Extension.extension:Name.url
      Definition

      Source of the definition for the extension code - a logical name or a URL.

      Shortidentifies the meaning of the extension
      Comments

      The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.

      Control1..1
      Typeuri
      Is Modifierfalse
      XML FormatIn the XML format, this property is represented as an attribute.
      Summaryfalse
      Fixed ValueName
      8. Extension.extension:Name.value[x]
      Definition

      Value of extension - must be one of a constrained set of the data types (see Extensibility for a list).

      ShortValue of extension
      Control10..1
      BindingThe codes SHALL be taken from For codes, see Function Codes ValueSet
      (required to http://interopehrate.eu/fhir/ValueSet/FunctionCodesValueSet-IEHR)
      TypeCoding, date, Meta, Address, Attachment, integer, Count, DataRequirement, Dosage, uuid, Identifier, SampledData, id, positiveInt, Distance, Period, Duration, canonical, Range, RelatedArtifact, base64Binary, UsageContext, Timing, decimal, CodeableConcept, ParameterDefinition, dateTime, code, string, Contributor, oid, instant, ContactPoint, HumanName, Money, markdown, Ratio, Age, Reference, TriggerDefinition, Quantity, uri, url, Annotation, ContactDetail, boolean, Expression, Signature, unsignedInt, time
      [x] NoteSee Choice of Data Types for further information about how to use [x]
      Is Modifierfalse
      Summaryfalse
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      10. Extension.extension:Parameter
      Slice NameParameter
      Definition

      An Extension

      ShortExtensionAdditional content defined by implementations
      Control0..*
      TypeExtension
      Is Modifierfalse
      Summaryfalse
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
      12. Extension.extension:Parameter.url
      Definition

      Source of the definition for the extension code - a logical name or a URL.

      Shortidentifies the meaning of the extension
      Comments

      The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.

      Control1..1
      Typeuri
      Is Modifierfalse
      XML FormatIn the XML format, this property is represented as an attribute.
      Summaryfalse
      Fixed ValueParameter
      14. Extension.extension:Parameter.value[x]
      Definition

      Value of extension - must be one of a constrained set of the data types (see Extensibility for a list).

      ShortValue of extension
      Control10..1
      Typestring, date, Meta, Address, Attachment, integer, Count, DataRequirement, Dosage, uuid, Identifier, Coding, SampledData, id, positiveInt, Distance, Period, Duration, canonical, Range, RelatedArtifact, base64Binary, UsageContext, Timing, decimal, CodeableConcept, ParameterDefinition, dateTime, code, Contributor, oid, instant, ContactPoint, HumanName, Money, markdown, Ratio, Age, Reference, TriggerDefinition, Quantity, uri, url, Annotation, ContactDetail, boolean, Expression, Signature, unsignedInt, time
      [x] NoteSee Choice of Data Types for further information about how to use [x]
      Is Modifierfalse
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      Summaryfalse
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      16. Extension.url
      Definition

      Source of the definition for the extension code - a logical name or a URL.

      Shortidentifies the meaning of the extension
      Comments

      The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.

      Control1..1
      Typeuri
      Is Modifierfalse
      XML FormatIn the XML format, this property is represented as an attribute.
      Summaryfalse
      Fixed Valuehttp://interopehrate.eu/fhir/StructureDefinition/FunctionExtension-IEHR
      18. Extension.value[x]
      Definition

      Value of extension - must be one of a constrained set of the data types (see Extensibility for a list).

      ShortValue of extension
      Control0..01
      TypeChoice of: base64Binary, boolean, canonical, code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, url, uuid, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, Reference, SampledData, Signature, Timing, ContactDetail, Contributor, DataRequirement, Expression, ParameterDefinition, RelatedArtifact, TriggerDefinition, UsageContext, Dosage, Meta
      Is Modifierfalse
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      Summaryfalse
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))

      Guidance on how to interpret the contents of this table can be found here

      0. Extension
      Definition

      An Extension

      ShortFunction
      Control0..1
      This element is affected by the following invariants: ele-1
      Is Modifierfalse
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
      extIEHR-1: The ageFromDate function should only have two parameters that points to the patient attribute in the requested resource (e.g Observation.subject) and the creation date (e.g Observation.subject). (extension('Name').value.code = 'ageFromDate' implies (extension('Parameter').count()=2))
      extIEHR-2: The count function does not have parameters (extension('Name').value.code = 'count' implies (extension('Parameter').empty()))
      extIEHR-3: The data function does not have parameters (extension('Name').value.code = 'data' implies (extension('Parameter').empty()))
      extIEHR-4: The summary function does not have parameters (extension('Name').value.code = 'summary' implies (extension('Parameter').empty()))
      extIEHR-5: The element function must have parameter (extension('Name').value.code = 'element' implies (extension('Parameter').exists()))
      2. Extension.id
      Definition

      Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

      ShortUnique id for inter-element referencing
      Control0..1
      Typestring
      Is Modifierfalse
      XML FormatIn the XML format, this property is represented as an attribute.
      Summaryfalse
      4. Extension.extension
      Definition

      An Extension

      ShortExtension
      Control1..*
      TypeExtension
      Is Modifierfalse
      Summaryfalse
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
      SlicingThis element introduces a set of slices on Extension.extension. The slices are unordered and Closed, and can be differentiated using the following discriminators:
      • value @ url
      • 6. Extension.extension:Name
        Slice NameName
        Definition

        An Extension

        ShortExtension
        Control1..1
        TypeExtension
        Is Modifierfalse
        Summaryfalse
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
        8. Extension.extension:Name.id
        Definition

        Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

        ShortUnique id for inter-element referencing
        Control0..1
        Typestring
        Is Modifierfalse
        XML FormatIn the XML format, this property is represented as an attribute.
        Summaryfalse
        10. Extension.extension:Name.extension
        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.

        ShortAdditional content defined by implementations
        Comments

        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.

        Control0..*
        TypeExtension
        Is Modifierfalse
        Summaryfalse
        Alternate Namesextensions, user content
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
        SlicingThis element introduces a set of slices on Extension.extension.extension. The slices are unordered and Open, and can be differentiated using the following discriminators:
        • value @ url
        • 12. Extension.extension:Name.url
          Definition

          Source of the definition for the extension code - a logical name or a URL.

          Shortidentifies the meaning of the extension
          Comments

          The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.

          Control1..1
          Typeuri
          Is Modifierfalse
          XML FormatIn the XML format, this property is represented as an attribute.
          Summaryfalse
          Fixed ValueName
          14. Extension.extension:Name.value[x]
          Definition

          Value of extension - must be one of a constrained set of the data types (see Extensibility for a list).

          ShortValue of extension
          Control1..1
          BindingThe codes SHALL be taken from Function Codes ValueSet
          (required to http://interopehrate.eu/fhir/ValueSet/FunctionCodesValueSet-IEHR)
          TypeCoding
          [x] NoteSee Choice of Data Types for further information about how to use [x]
          Is Modifierfalse
          Summaryfalse
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          16. Extension.extension:Parameter
          Slice NameParameter
          Definition

          An Extension

          ShortExtension
          Control0..*
          TypeExtension
          Is Modifierfalse
          Summaryfalse
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
          18. Extension.extension:Parameter.id
          Definition

          Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

          ShortUnique id for inter-element referencing
          Control0..1
          Typestring
          Is Modifierfalse
          XML FormatIn the XML format, this property is represented as an attribute.
          Summaryfalse
          20. Extension.extension:Parameter.extension
          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.

          ShortAdditional content defined by implementations
          Comments

          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.

          Control0..*
          TypeExtension
          Is Modifierfalse
          Summaryfalse
          Alternate Namesextensions, user content
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
          SlicingThis element introduces a set of slices on Extension.extension.extension. The slices are unordered and Open, and can be differentiated using the following discriminators:
          • value @ url
          • 22. Extension.extension:Parameter.url
            Definition

            Source of the definition for the extension code - a logical name or a URL.

            Shortidentifies the meaning of the extension
            Comments

            The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.

            Control1..1
            Typeuri
            Is Modifierfalse
            XML FormatIn the XML format, this property is represented as an attribute.
            Summaryfalse
            Fixed ValueParameter
            24. Extension.extension:Parameter.value[x]
            Definition

            Value of extension - must be one of a constrained set of the data types (see Extensibility for a list).

            ShortValue of extension
            Control1..1
            Typestring
            [x] NoteSee Choice of Data Types for further information about how to use [x]
            Is Modifierfalse
            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
            Summaryfalse
            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            26. Extension.url
            Definition

            Source of the definition for the extension code - a logical name or a URL.

            Shortidentifies the meaning of the extension
            Comments

            The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.

            Control1..1
            Typeuri
            Is Modifierfalse
            XML FormatIn the XML format, this property is represented as an attribute.
            Summaryfalse
            Fixed Valuehttp://interopehrate.eu/fhir/StructureDefinition/FunctionExtension-IEHR
            28. Extension.value[x]
            Definition

            Value of extension - must be one of a constrained set of the data types (see Extensibility for a list).

            ShortValue of extension
            Control0..0
            TypeChoice of: base64Binary, boolean, canonical, code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, url, uuid, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, Reference, SampledData, Signature, Timing, ContactDetail, Contributor, DataRequirement, Expression, ParameterDefinition, RelatedArtifact, TriggerDefinition, UsageContext, Dosage, Meta
            Is Modifierfalse
            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
            Summaryfalse
            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))