Release 4B Snapshot 3: Connectathon 32 Base

This page is part of the Snapshot #3 for FHIR Specification (v4.3.0: R4B - STU ). The current version which supercedes this version is 5.0.0 R5 , released to support Connectathon 32 . For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3

Operation-observation-stats.xml

Example OperationDefinition/Observation-stats (XML)

Orders and Observations Work Group Maturity Level : N/A Standards Status : Informative

Raw XML ( canonical form + also see XML Format Specification )

Operation Definition

<?xml version="1.0" encoding="UTF-8"?>

<OperationDefinition xmlns="http://hl7.org/fhir">
  <id value="Observation-stats"/> 
  <text> 
    <status value="extensions"/> 
    <div xmlns="http://www.w3.org/1999/xhtml">
      
      
      
      
      
        The Statistics operation performs a set of statistical calculations on a set of clinical
           measurements such as a blood pressure as stored on the server.  This operation evaluates
           
           resources having valueQuantity elements that have UCUM unit codes. Observations with
           a status of 'entered-in-error' will be excluded from the calculations.
        

        

        

          the subject of the observations for which the statistics are being generated (
            )
          

          which observations to generate statistics for (
             and 
            , or 
            )
          

          the time period over which to generate statistics 'duration
            period`)
          

          the set of statistical analyses to return (
            )
          

        

        Possible statistical analyses (see 
          ):
        

        

          
             (&quot;Average&quot;): The 
             of N measurements over the stated period.
          

          
             (&quot;Maximum&quot;): The 
             value of N measurements over the stated period.
          

          
             (&quot;Minimum&quot;): The 
             value of N measurements over the stated period.
          

          
             (&quot;Count&quot;): The [number] of valid measurements over the stated period that contributed
             to the other statistical outputs.
          

          
             (&quot;Total Count&quot;): The total [number] of valid measurements over the stated period,
             including observations that were ignored because they did not contain valid result values.
          

          
             (&quot;Median&quot;): The 
             of N measurements over the stated period.
          

          
             (&quot;Standard Deviation&quot;): The 
             of N measurements over the stated period.
          

          
             (&quot;Sum&quot;): The 
             of N measurements over the stated period.
          

          
             (&quot;Variance&quot;): The 
             of N measurements over the stated period.
          

          
             (&quot;20th Percentile&quot;): The 20th 
             of N measurements over the stated period.
          

          
             (&quot;80th Percentile&quot;): The 80th 
             of N measurements over the stated period.
          

          
             (&quot;Lower Quartile&quot;): The lower 
             Boundary of N measurements over the stated period.
          

          
             (&quot;Upper Quartile&quot;): The upper 
             Boundary of N measurements over the stated period.
          

          
             (&quot;Quartile Deviation&quot;): The difference between the upper and lower 
             is called the Interquartile range. (IQR = Q3-Q1) Quartile deviation or Semi-interquartile
             range is one-half the difference between the first and the third quartiles.
          

          
             (&quot;1st Quintile&quot;): The lowest of four values that divide the N measurements
             into a frequency distribution of five classes with each containing one fifth of the total
             population.
          

          
             (&quot;2nd Quintile&quot;): The second of four values that divide the N measurements
             into a frequency distribution of five classes with each containing one fifth of the total
             population.
          

          
             (&quot;3rd Quintile&quot;): The third of four values that divide the N measurements into
             a frequency distribution of five classes with each containing one fifth of the total population.
          

          
             (&quot;4th Quintile&quot;): The fourth of four values that divide the N measurements
             into a frequency distribution of five classes with each containing one fifth of the total
             population.
          

          
             (&quot;Skew&quot;): Skewness is a measure of the asymmetry of the probability distribution
             of a real-valued random variable about its mean. The skewness value can be positive or
             negative, or even undefined.  Source: 
            .
          

          
             (&quot;Kurtosis&quot;): Kurtosis  is a measure of the &quot;tailedness&quot; of the probability
             distribution of a real-valued random variable.   Source: 
            .
          

          
             (&quot;Regression&quot;): Linear regression is an approach for modeling two-dimensional
             sample points with one independent variable and one dependent variable (conventionally,
             the x and y coordinates in a Cartesian coordinate system) and finds a linear function
             (a non-vertical straight line) that, as accurately as possible, predicts the dependent
             variable values as a function of the independent variables. Source: 
              This Statistic code will return both a gradient and an intercept value.
          

        

        If successful, the operation returns an Observation resource for each code with the results
           of the statistical calculations as component value pairs where the component code = the
           statistical code. The Observation also contains the input parameters 
          ,
           and 
           parameters. If unsuccessful, an 
           with an error message will be returned.
        

        The client can request that all the observations on which the statistics are based be
           returned as well, using the include parameter. If an include parameter is specified, a
           limit may also be specified; the sources observations are subsetted at the server's discretion
           if count &gt; limit. This functionality is included with the intent of supporting graphical
           presentation

      

      <p> URL: [base]/Observation/$stats</p> 
      <p> Parameters</p> 
      <table class="grid">
        <tr> 
          <td> 
            <b> Use</b> 
          </td> 
          <td> 
            <b> Name</b> 
          </td> 
          <td> 
            <b> Cardinality</b> 
          </td> 
          <td> 
            <b> Type</b> 
          </td> 
          <td> 
            <b> Binding</b> 
          </td> 
          <td> 
            <b> Documentation</b> 
          </td> 
        </tr> 
        <tr> 
          <td> IN</td> 
          <td> subject</td> 
          <td> 1..1</td> 
          <td> 
            <a href="datatypes.html#uri">uri</a> 
          </td> 
          <td/>  
          <td> 
            <div> 
              The subject of the relevant Observations, which has the value of the Observation.subject.reference.
                 E.g. 'Patient/123'. Reference can be to an absolute URL, but servers only perform stats
                 on their own observations

              <p> The subject of the relevant Observations, which has the value of the Observation.subject.refe
                rence. E.g. 'Patient/123'. Reference can be to an absolute URL, but servers only
                 perform stats on their own observations</p> 


            </div> 
          </td> 
        </tr> 
        <tr> 
          <td> IN</td> 
          <td> code</td> 
          <td> 0..*</td> 
          <td> 
            <a href="datatypes.html#string">string</a> 
          </td> 
          <td/>  
          <td> 
            <div> 
              The test code(s) upon which the statistics are being performed. Provide along with a system,
                 or as a coding. For example, the LOINC code  =
2339-0 (Glucose [Mass/​volume] in Blood) will evaluate all relevant Observations with
                 this code in 

              <p> The test code(s) upon which the statistics are being performed. Provide along with
                 a system, or as a coding. For example, the LOINC code  =
2339-0 (Glucose [Mass/​volume] in Blood) will evaluate all relevant Observations
                 with this code in 

                <code> Observation.code</code>  and 
                . For LOINC codes that are panels, e.g., 85354-9(Blood pressure panel with all children
                 optional), the stats operation returns statistics for each of the individual panel measurements.
                  That means it will include and evaluate all values grouped by code for all the individual
                 observations that are: 1) referenced in   

                <code> Observation.component.code</code> . For LOINC codes that are panels, e.g., 85354-9(Blood pressure panel with all
                 children optional), the stats operation returns statistics for each of the individual
                 panel measurements.  That means it will include and evaluate all values grouped
                 by code for all the individual observations that are: 1) referenced in   

                <code> .related</code>  for 
                <code> .related.type</code>  = 'has-member'  and 2) component observations in 
                <code> Observation.component</code> .
              </p> 

            </div> 
          </td> 
        </tr> 
        <tr> 
          <td> IN</td> 
          <td> system</td> 
          <td> 0..1</td> 
          <td> 
            <a href="datatypes.html#uri">uri</a> 
          </td> 
          <td/>  
          <td> 
            <div> 
              <p> The system for the code(s). Or provide a coding instead</p> 

            </div> 
          </td> 
        </tr> 
        <tr> 
          <td> IN</td> 
          <td> coding</td> 
          <td> 0..*</td> 
          <td> 
            <a href="datatypes.html#Coding">Coding</a> 
          </td> 
          <td/>  
          <td> 
            <div> 
              <p> The test code upon which the statistics are being performed, as a Coding</p> 

            </div> 
          </td> 
        </tr> 
        <tr> 
          <td> IN</td> 
          <td> duration</td> 
          <td> 0..1</td> 
          <td> 
            <a href="datatypes.html#decimal">decimal</a> 
          </td> 
          <td/>  
          <td> 
            <div> 
              <p> The time period of interest given as hours.  For example, the duration = &quot;1&quot;
                 represents the last hour - the time period from on hour ago to now</p> 

            </div> 
          </td> 
        </tr> 
        <tr> 
          <td> IN</td> 
          <td> period</td> 
          <td> 0..1</td> 
          <td> 
            <a href="datatypes.html#Period">Period</a> 
          </td> 
          <td/>  
          <td> 
            <div> 
              

              <p> The time period over which the calculations to be performed, if a duration is not
                 provided</p> 


            </div> 
          </td> 
        </tr> 
        <tr> 
          <td> IN</td> 
          <td> statistic</td> 
          <td> 1..*</td> 
          <td> 
            <a href="datatypes.html#code">code</a> 
          </td> 
          <td> 
             (Required)

            <a href="valueset-observation-statistics.html">http://hl7.org/fhir/ValueSet/observation-statistics|5.0.0-snapshot3</a>  (Required)
          </td> 
          <td> 
            <div> 
              average|max|min|count  The statistical operations to be performed on the relevant operations.
                 Multiple statistics operations can be specified. These codes are defined 

              <p> average|max|min|count  The statistical operations to be performed on the relevant
                 operations. Multiple statistics operations can be specified. These codes are defined
                 

                <a href="valueset-observation-statistics.html">here</a> 
              </p> 

            </div> 
          </td> 
        </tr> 
        <tr> 
          <td> IN</td> 
          <td> include</td> 
          <td> 0..1</td> 
          <td> 
            <a href="datatypes.html#boolean">boolean</a> 
          </td> 
          <td/>  
          <td> 
            <div> 
              <p> Whether to return the observations on which the statistics are based</p> 

            </div> 
          </td> 
        </tr> 
        <tr> 
          <td> IN</td> 
          <td> limit</td> 
          <td> 0..1</td> 
          <td> 
            <a href="datatypes.html#positiveInt">positiveInt</a> 
          </td> 
          <td/>  
          <td> 
            <div> 
              If an include parameter is specified, a limit may also be specified to limit the number
                 of source Observations returned.  If the include paramter is absent or equal to &quot;false&quot;
                 the limit parameter SHALL be ignored by the server

              <p> If an include parameter is specified, a limit may also be specified to limit the
                 number of source Observations returned.  If the include parameter is absent or
                 equal to &quot;false&quot; the limit parameter SHALL be ignored by the server</p> 


            </div> 
          </td> 
        </tr> 
        <tr> 
          <td> OUT</td> 
          <td> statistics</td> 
          <td> 1..*</td> 
          <td> 
            <a href="observation.html">Observation</a> 
          </td> 
          <td/>  
          <td> 
            <div> 
              A set of observations, one observation for each code, each containing one component for
                 each statistic. The Observation.component.code contains the statistic, and is relative
                 to the Observation.code and cannot be interpreted independently.  The Observation will
                 also contain a subject, effectivePeriod, and code reflecting the input parameters.  The
                 status is fixed to 

              <p> A set of observations, one observation for each code, each containing one component
                 for each statistic. The Observation.component.code contains the statistic, and
                 is relative to the Observation.code and cannot be interpreted independently.  The
                 Observation will also contain a subject, effectivePeriod, and code reflecting the
                 input parameters.  The status is fixed to 

                <code> final</code> .
              </p> 

            </div> 
          </td> 
        </tr> 
        <tr> 
          <td> OUT</td> 
          <td> source</td> 
          <td> 0..*</td> 
          <td> 
            <a href="observation.html">Observation</a> 
          </td> 
          <td/>  
          <td> 
            <div> 
              <p> Source observations on which the statistics are based</p> 

            </div> 
          </td> 
        </tr> 
      </table> 
      <div> 
        <p> If 
           are present in the Observation, they must be accounted for by implementers.  A modifier
           extension may affect the observation.value in a way that it should be excluded from the
           from the calculations.

          <a href="extensibility.html#modifierExtension">modifier extensions</a>  are present in the Observation, they must be accounted for by implementers.  A
           modifier extension may affect the observation.value in a way that it should be
           excluded from the from the calculations.

        </p> 

        This operation cannot be performed on observations that the user is not authorized to
           see.  It is assumed that the server has identified and secured the context appropriately,

        <p> This operation cannot be performed on observations that the user is not authorized
           to see.  It is assumed that the server has identified and secured the context appropriately,

           and can either associate the authorization context with a single patient, or determine
           whether the context has the rights to the nominated patient, if there is one. If there
           is no nominated patient (e.g. the operation is invoked at the system level) and the context
           is not associated with a single patient record, then the server should return an error.
           Specifying the relationship between the context, a user and patient records is outside
           the scope of this specification.

           whether the context has the rights to the nominated patient, if there is one. If
           there is no nominated patient (e.g. the operation is invoked at the system level)
           and the context is not associated with a single patient record, then the server
           should return an error. Specifying the relationship between the context, a user
           and patient records is outside the scope of this specification.</p> 


      </div> 
    </div> 
  </text> 
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm">
    <valueInteger value="3"/> 
  </extension> 
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status">
    <valueCode value="trial-use"/> 
  </extension> 
  <url value="http://hl7.org/fhir/OperationDefinition/Observation-stats"/> 
  

  <version value="5.0.0-snapshot3"/> 
  <name value="Stats"/> 
  <title value="Observation Statistics"/> 
  <status value="draft"/> 
  <kind value="operation"/> 
  <experimental value="false"/> 
  

  <date value="2022-12-14T07:12:54+11:00"/> 
  <publisher value="HL7 (FHIR Project)"/> 
  <contact> 
    <telecom> 
      <system value="url"/> 
      <value value="http://hl7.org/fhir"/> 
    </telecom> 
    <telecom> 
      <system value="email"/> 
      <value value="fhir@lists.hl7.org"/> 
    </telecom> 
  </contact> 
  The Statistics operation performs a set of statistical calculations on a set of clinical
   measurements such as a blood pressure as stored on the server.  This operation evaluates
   [Observation](observation.html) resources having valueQuantity elements that have UCUM
   unit codes. Observations with a status of 'entered-in-error' will be excluded from the
   calculations.  

  <description value="The Statistics operation performs a set of statistical calculations on a set of
   clinical measurements such as a blood pressure as stored on the server.  This operation
   evaluates [Observation](observation.html) resources having valueQuantity elements
   that have UCUM unit codes. Observations with a status of 'entered-in-error' will
   be excluded from the calculations.  


The set of Observations is defined by 4 parameters:

*  the subject of the observations for which the statistics are being generated (`subject`)

*  the subject of the observations for which the statistics are being generated
   (`subject`)

* which observations to generate statistics for (`code` and `system`, or `coding`)
* the time period over which to generate statistics 'duration` or `period`)
* the set of statistical analyses to return (`statistic`)

Possible statistical analyses (see [StatisticsCode](valueset-observation-statistics.html)):

 - **average** (&quot;Average&quot;): The [mean](https://en.wikipedia.org/wiki/Arithmetic_mean)
   of N measurements over the stated period.
 - **maximum** (&quot;Maximum&quot;): The [maximum](https://en.wikipedia.org/wiki/Maximal_element)
   value of N measurements over the stated period.
 - **minimum** (&quot;Minimum&quot;): The [minimum](https://en.wikipedia.org/wiki/Minimal_element)
   value of N measurements over the stated period.
 - **count** (&quot;Count&quot;): The [number] of valid measurements over the stated period
   that contributed to the other statistical outputs.

 - **average** (&quot;Average&quot;): The [mean](https://en.wikipedia.org/wiki/Arithmetic_mea
  n) of N measurements over the stated period.
 - **maximum** (&quot;Maximum&quot;): The [maximum](https://en.wikipedia.org/wiki/Maximal_ele
  ment) value of N measurements over the stated period.
 - **minimum** (&quot;Minimum&quot;): The [minimum](https://en.wikipedia.org/wiki/Minimal_ele
  ment) value of N measurements over the stated period.
 - **count** (&quot;Count&quot;): The [number] of valid measurements over the stated
   period that contributed to the other statistical outputs.

 - **total-count** (&quot;Total Count&quot;): The total [number] of valid measurements
   over the stated period, including observations that were ignored because they did not
   contain valid result values.

   over the stated period, including observations that were ignored because they did
   not contain valid result values.

 - **median** (&quot;Median&quot;): The [median](https://en.wikipedia.org/wiki/Median)
   of N measurements over the stated period.
 - **std-dev** (&quot;Standard Deviation&quot;): The [standard deviation](https://en.wikipedia.org/w
  iki/Standard_deviation) of N measurements over the stated period.
 - **sum** (&quot;Sum&quot;): The [sum](https://en.wikipedia.org/wiki/Summation) of N
   measurements over the stated period.
 - **variance** (&quot;Variance&quot;): The [variance](https://en.wikipedia.org/wiki/Variance)

 - **std-dev** (&quot;Standard Deviation&quot;): The [standard deviation](https://en.wikipedi
  a.org/wiki/Standard_deviation) of N measurements over the stated period.
 - **sum** (&quot;Sum&quot;): The [sum](https://en.wikipedia.org/wiki/Summation)

   of N measurements over the stated period.
 - **20-percent** (&quot;20th Percentile&quot;): The 20th [Percentile](https://en.wikipedia.org/wiki
  /Percentile) of N measurements over the stated period.
 - **80-percent** (&quot;80th Percentile&quot;): The 80th [Percentile](https://en.wikipedia.org/wiki
  /Percentile) of N measurements over the stated period.
 - **4-lower** (&quot;Lower Quartile&quot;): The lower [Quartile](https://en.wikipedia.org/wiki/Quar
  tile) Boundary of N measurements over the stated period.
 - **4-upper** (&quot;Upper Quartile&quot;): The upper [Quartile](https://en.wikipedia.org/wiki/Quar
  tile) Boundary of N measurements over the stated period.
 - **4-dev** (&quot;Quartile Deviation&quot;): The difference between the upper and lower
   [Quartiles](https://en.wikipedia.org/wiki/Quartile) is called the Interquartile range.
   (IQR = Q3-Q1) Quartile deviation or Semi-interquartile range is one-half the difference
   between the first and the third quartiles.
 - **5-1** (&quot;1st Quintile&quot;): The lowest of four values that divide the N measurements
   into a frequency distribution of five classes with each containing one fifth of the total
   population.
 - **5-2** (&quot;2nd Quintile&quot;): The second of four values that divide the N measurements
   into a frequency distribution of five classes with each containing one fifth of the total
   population.
 - **5-3** (&quot;3rd Quintile&quot;): The third of four values that divide the N measurements
   into a frequency distribution of five classes with each containing one fifth of the total
   population.
 - **5-4** (&quot;4th Quintile&quot;): The fourth of four values that divide the N measurements
   into a frequency distribution of five classes with each containing one fifth of the total
   population.

 - **variance** (&quot;Variance&quot;): The [variance](https://en.wikipedia.org/wiki/Variance
  ) of N measurements over the stated period.
 - **20-percent** (&quot;20th Percentile&quot;): The 20th [Percentile](https://en.wikipedia.o
  rg/wiki/Percentile) of N measurements over the stated period.
 - **80-percent** (&quot;80th Percentile&quot;): The 80th [Percentile](https://en.wikipedia.o
  rg/wiki/Percentile) of N measurements over the stated period.
 - **4-lower** (&quot;Lower Quartile&quot;): The lower [Quartile](https://en.wikipedia.org/wi
  ki/Quartile) Boundary of N measurements over the stated period.
 - **4-upper** (&quot;Upper Quartile&quot;): The upper [Quartile](https://en.wikipedia.org/wi
  ki/Quartile) Boundary of N measurements over the stated period.
 - **4-dev** (&quot;Quartile Deviation&quot;): The difference between the upper
   and lower [Quartiles](https://en.wikipedia.org/wiki/Quartile) is called the Interquartile
   range. (IQR = Q3-Q1) Quartile deviation or Semi-interquartile range is one-half
   the difference between the first and the third quartiles.
 - **5-1** (&quot;1st Quintile&quot;): The lowest of four values that divide the
   N measurements into a frequency distribution of five classes with each containing
   one fifth of the total population.
 - **5-2** (&quot;2nd Quintile&quot;): The second of four values that divide the
   N measurements into a frequency distribution of five classes with each containing
   one fifth of the total population.
 - **5-3** (&quot;3rd Quintile&quot;): The third of four values that divide the
   N measurements into a frequency distribution of five classes with each containing
   one fifth of the total population.
 - **5-4** (&quot;4th Quintile&quot;): The fourth of four values that divide the
   N measurements into a frequency distribution of five classes with each containing
   one fifth of the total population.

 - **skew** (&quot;Skew&quot;): Skewness is a measure of the asymmetry of the probability
   distribution of a real-valued random variable about its mean. The skewness value can be
   positive or negative, or even undefined.  Source: [Wikipedia](https://en.wikipedia.org/wiki/Skewness
  ).

   distribution of a real-valued random variable about its mean. The skewness value
   can be positive or negative, or even undefined.  Source: [Wikipedia](https://en.wikipedia.org
  /wiki/Skewness).

 - **kurtosis** (&quot;Kurtosis&quot;): Kurtosis  is a measure of the &quot;tailedness&quot;
   of the probability distribution of a real-valued random variable.   Source: [Wikipedia](https://en.w
  ikipedia.org/wiki/Kurtosis).
 - **regression** (&quot;Regression&quot;): Linear regression is an approach for modeling
   two-dimensional sample points with one independent variable and one dependent variable
   (conventionally, the x and y coordinates in a Cartesian coordinate system) and finds a
   linear function (a non-vertical straight line) that, as accurately as possible, predicts
   the dependent variable values as a function of the independent variables. Source: [Wikipedia](https:
  //en.wikipedia.org/wiki/Simple_linear_regression)  This Statistic code will return both
   a gradient and an intercept value.

   of the probability distribution of a real-valued random variable.   Source: [Wikipedia](https
  ://en.wikipedia.org/wiki/Kurtosis).
 - **regression** (&quot;Regression&quot;): Linear regression is an approach for
   modeling two-dimensional sample points with one independent variable and one dependent
   variable (conventionally, the x and y coordinates in a Cartesian coordinate system)
   and finds a linear function (a non-vertical straight line) that, as accurately
   as possible, predicts the dependent variable values as a function of the independent
   variables. Source: [Wikipedia](https://en.wikipedia.org/wiki/Simple_linear_regression)
    This Statistic code will return both a gradient and an intercept value.



If successful, the operation returns an Observation resource for each code with the results
   of the statistical calculations as component value pairs where the component code = the
   statistical code. The Observation also contains the input parameters `patient`,`code`
   and `duration` parameters. If unsuccessful, an [OperationOutcome](operationoutcome.html)
   with an error message will be returned.

If successful, the operation returns an Observation resource for each code with
   the results of the statistical calculations as component value pairs where the
   component code = the statistical code. The Observation also contains the input
   parameters `patient`,`code` and `duration` parameters. If unsuccessful, an [OperationOutcome]
  (operationoutcome.html) with an error message will be returned.


The client can request that all the observations on which the statistics are based be
   returned as well, using the include parameter. If an include parameter is specified, a
   limit may also be specified; the sources observations are subsetted at the server's discretion
   if count &gt; limit. This functionality is included with the intent of supporting graphical
   presentation

The client can request that all the observations on which the statistics are based
   be returned as well, using the include parameter. If an include parameter is specified,
   a limit may also be specified; the sources observations are subsetted at the server's
   discretion if count &gt; limit. This functionality is included with the intent
   of supporting graphical presentation"/> 
  <jurisdiction> 
    <coding> 
      <system value="http://unstats.un.org/unsd/methods/m49/m49.htm"/> 
      <code value="001"/> 
      <display value="World"/> 
    </coding> 
  </jurisdiction> 
  <affectsState value="false"/> 
  <code value="stats"/> 
  If [modifier extensions](extensibility.html#modifierExtension) are present in the Observation,
   they must be accounted for by implementers.  A modifier extension may affect the observation.value
   in a way that it should be excluded from the from the calculations.

  <comment value="If [modifier extensions](extensibility.html#modifierExtension) are present in the
   Observation, they must be accounted for by implementers.  A modifier extension
   may affect the observation.value in a way that it should be excluded from the from
   the calculations.


This operation cannot be performed on observations that the user is not authorized to
   see.  It is assumed that the server has identified and secured the context appropriately,

This operation cannot be performed on observations that the user is not authorized
   to see.  It is assumed that the server has identified and secured the context appropriately,

   and can either associate the authorization context with a single patient, or determine
   whether the context has the rights to the nominated patient, if there is one. If there
   is no nominated patient (e.g. the operation is invoked at the system level) and the context
   is not associated with a single patient record, then the server should return an error.
   Specifying the relationship between the context, a user and patient records is outside
   the scope of this specification.

   whether the context has the rights to the nominated patient, if there is one. If
   there is no nominated patient (e.g. the operation is invoked at the system level)
   and the context is not associated with a single patient record, then the server
   should return an error. Specifying the relationship between the context, a user
   and patient records is outside the scope of this specification."/> 

  <resource value="Observation"/> 
  <system value="false"/> 
  <type value="true"/> 
  <instance value="false"/> 
  <parameter> 
    <name value="subject"/> 
    <use value="in"/> 
    <min value="1"/> 
    <max value="1"/> 
    The subject of the relevant Observations, which has the value of the Observation.subject.reference.
     E.g. 'Patient/123'. Reference can be to an absolute URL, but servers only perform stats
     on their own observations

    <documentation value="The subject of the relevant Observations, which has the value of the Observation.subject.refe
    rence. E.g. 'Patient/123'. Reference can be to an absolute URL, but servers only
     perform stats on their own observations"/> 

    <type value="uri"/> 
  </parameter> 
  <parameter> 
    <name value="code"/> 
    <use value="in"/> 
    <min value="0"/> 
    <max value="*"/> 
    The test code(s) upon which the statistics are being performed. Provide along with a system,
     or as a coding. For example, the LOINC code  = 
2339-0 (Glucose [Mass/​volume] in Blood) will evaluate all relevant Observations with
     this code in `Observation.code` and `Observation.component.code`. For LOINC codes that
     are panels, e.g., 85354-9(Blood pressure panel with all children optional), the stats
     operation returns statistics for each of the individual panel measurements.  That means
     it will include and evaluate all values grouped by code for all the individual observations
     that are: 1) referenced in   `.related` for `.related.type` = 'has-member'  and 2) component
     observations in `Observation.component`.

    <documentation value="The test code(s) upon which the statistics are being performed. Provide along with
     a system, or as a coding. For example, the LOINC code  = 
2339-0 (Glucose [Mass/​volume] in Blood) will evaluate all relevant Observations
     with this code in `Observation.code` and `Observation.component.code`. For LOINC
     codes that are panels, e.g., 85354-9(Blood pressure panel with all children optional),
     the stats operation returns statistics for each of the individual panel measurements.
      That means it will include and evaluate all values grouped by code for all the
     individual observations that are: 1) referenced in   `.related` for `.related.type`
     = 'has-member'  and 2) component observations in `Observation.component`."/> 

    <type value="string"/> 
  </parameter> 
  <parameter> 
    <name value="system"/> 
    <use value="in"/> 
    <min value="0"/> 
    <max value="1"/> 
    <documentation value="The system for the code(s). Or provide a coding instead"/> 
    <type value="uri"/> 
  </parameter> 
  <parameter> 
    <name value="coding"/> 
    <use value="in"/> 
    <min value="0"/> 
    <max value="*"/> 
    <documentation value="The test code upon which the statistics are being performed, as a Coding"/> 
    <type value="Coding"/> 
  </parameter> 
  <parameter> 
    <name value="duration"/> 
    <use value="in"/> 
    <min value="0"/> 
    <max value="1"/> 
    <documentation value="The time period of interest given as hours.  For example, the duration = &quot;1&quot;
     represents the last hour - the time period from on hour ago to now"/> 
    <type value="decimal"/> 
  </parameter> 
  <parameter> 
    <name value="period"/> 
    <use value="in"/> 
    <min value="0"/> 
    <max value="1"/> 
    

    <documentation value="The time period over which the calculations to be performed, if a duration is not
     provided"/> 

    <type value="Period"/> 
  </parameter> 
  <parameter> 
    <name value="statistic"/> 
    <use value="in"/> 
    <min value="1"/> 
    <max value="*"/> 
    average|max|min|count  The statistical operations to be performed on the relevant operations.
     Multiple statistics operations can be specified. These codes are defined [here](valueset-observation
    -statistics.html)

    <documentation value="average|max|min|count  The statistical operations to be performed on the relevant
     operations. Multiple statistics operations can be specified. These codes are defined
     [here](valueset-observation-statistics.html)"/> 

    <type value="code"/> 
    <binding> 
      <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
        <valueString value="ObservationStatsCode"/> 
      </extension> 
      <strength value="required"/> 
      

      <valueSet value="http://hl7.org/fhir/ValueSet/observation-statistics|5.0.0-snapshot3"/> 
    </binding> 
  </parameter> 
  <parameter> 
    <name value="include"/> 
    <use value="in"/> 
    <min value="0"/> 
    <max value="1"/> 
    <documentation value="Whether to return the observations on which the statistics are based"/> 
    <type value="boolean"/> 
  </parameter> 
  <parameter> 
    <name value="limit"/> 
    <use value="in"/> 
    <min value="0"/> 
    <max value="1"/> 
    If an include parameter is specified, a limit may also be specified to limit the number
     of source Observations returned.  If the include paramter is absent or equal to &quot;false&quot;
     the limit parameter SHALL be ignored by the server

    <documentation value="If an include parameter is specified, a limit may also be specified to limit the
     number of source Observations returned.  If the include parameter is absent or
     equal to &quot;false&quot; the limit parameter SHALL be ignored by the server"/> 

    <type value="positiveInt"/> 
  </parameter> 
  <parameter> 
    <name value="statistics"/> 
    <use value="out"/> 
    <min value="1"/> 
    <max value="*"/> 
    A set of observations, one observation for each code, each containing one component for
     each statistic. The Observation.component.code contains the statistic, and is relative
     to the Observation.code and cannot be interpreted independently.  The Observation will
     also contain a subject, effectivePeriod, and code reflecting the input parameters.  The
     status is fixed to `final`.

    <documentation value="A set of observations, one observation for each code, each containing one component
     for each statistic. The Observation.component.code contains the statistic, and
     is relative to the Observation.code and cannot be interpreted independently.  The
     Observation will also contain a subject, effectivePeriod, and code reflecting the
     input parameters.  The status is fixed to `final`."/> 

    <type value="Observation"/> 
  </parameter> 
  <parameter> 
    <name value="source"/> 
    <use value="out"/> 
    <min value="0"/> 
    <max value="*"/> 
    <documentation value="Source observations on which the statistics are based"/> 
    <type value="Observation"/> 
  </parameter> 


</

OperationDefinition

>



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.

doc2=http%3A%2F%2Fhl7.org%2Ffhir%2FR4B%2F