Current Build

Переводит команда Health Samurai . Приглашаем поучаствовать в русификации стандарта FHIR: GitHub , Email.

Orders and Observations Work Group Maturity Level: 3Trial Use Compartments: N/A

Операция "Статистика" выполняет ряд статистических вычислений на серии клинических измерений, таких как кровяное давление, хранящихся на сервере. Эта операция просчитывает ресурсы Observation, имеющие элементы valueQuantity с единицами измерения, указанными в UCUM. Ресурсы Observation со статусом 'entered-in-error' исключаются из вычислений.

Набор ресурсов Observation определяется по 4 параметрам:

  • субъект наблюдений, для которого генерируется статистика. (subject)
  • для каких наблюдений необходимо сгенерировать статистику (code и system, либо coding)
  • период времени, для которого надо посчитать статистику ('durationилиperiod`)
  • виды статистического анализа, который необходимо провести (statistic)

Доступные виды статистического анализа (см. StatisticsCode):

  • average ("Average"): The mean of N measurements over the stated period.
  • maximum ("Maximum"): The maximum value of N measurements over the stated period.
  • minimum ("Minimum"): The minimum value of N measurements over the stated period.
  • count ("Count"): The [number] of valid measurements over the stated period that contributed to the other statistical outputs.
  • total-count ("Total Count"): The total [number] of valid measurements over the stated period, including observations that were ignored because they did not contain valid result values.
  • median ("Median"): The median of N measurements over the stated period.
  • std-dev ("Standard Deviation"): The standard deviation of N measurements over the stated period.
  • sum ("Sum"): The sum of N measurements over the stated period.
  • variance ("Variance"): The variance of N measurements over the stated period.
  • 20-percent ("20th Percentile"): The 20th Percentile of N measurements over the stated period.
  • 80-percent ("80th Percentile"): The 80th Percentile of N measurements over the stated period.
  • 4-lower ("Lower Quartile"): The lower Quartile Boundary of N measurements over the stated period.
  • 4-upper ("Upper Quartile"): The upper Quartile Boundary of N measurements over the stated period.
  • 4-dev ("Quartile Deviation"): The difference between the upper and lower Quartiles 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 ("1st Quintile"): 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 ("2nd Quintile"): 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 ("3rd Quintile"): 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 ("4th Quintile"): 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 ("Skew"): 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 .
  • kurtosis ("Kurtosis"): Kurtosis is a measure of the "tailedness" of the probability distribution of a real-valued random variable. Source: Wikipedia .
  • regression ("Regression"): 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 This Statistic code will return both a gradient and an intercept value.

В случае успеха операция возвращает ресурс Observation для каждого кода с результатами статистических вычислений в виде пар значений компонентов, где код компонента будет равен коду возвращаемой статистики. Ресурс Observation также будет содержать входные параметры patient,code и duration. В случае неуспеха вернется OperationOutcome с текстом ошибки.

Клиент может запросить вернуть также все ресурсы Observation, по которым строится статистика, используя параметр include. Если параметр include указан, то также можно указать и лимит; исходные ресурсы Observation подразделяются на усмотрение сервера, если их количество превышает лимит: count > limit. Эта функциональность была включена с целью поддержки графического представления.

The official URL for this operation definition is

 http://hl7.org/fhir/OperationDefinition/Observation-stats

Formal Definition (as a OperationDefinition).

URL: [base]/Observation/$stats

This is an idempotent operation

In Parameters:
ИмяCardinalityТипBindingProfileDocumentation
subject1..1uri

Субъект релевантных ресурсов Observation, который имеет значение Observation.subject.reference. Например 'Patient/123'. Ссылка может быть абсолютным URL, однако северы выполняют операцию статистики только на своих ресурсах Observation

code0..*string

Код(ы) тестов, над которыми выполняется операция статистики. Например LOINC code = 2339-0 (Glucose [Mass/​volume] in Blood) охватит все релевантные Observation с таким кодом в Observation.code and Observation.component.code. Для LOINC-кодов панелей, например 85354-9(Blood pressure panel with all children optional), операция статистики вернет статистику для каждой отдельной панели измерений. Это означает, что она включит и вычислит се значения, сгруппированные по коду для всех отдельных наблюдений, которые: 1) на которые имеют ссылки в .related для .related.type = 'has-member', и 2) являются компонентами в Observation.component.

system0..1uri

Система для кодов. Либо укажите вместо этого кодинг

coding0..*Coding

Код теста, над которым выполняется статистика, в виде кодинга

duration0..1decimal

Интересуемый период времени, заданный в часах. Например duration = "1" соответствует последнему часу - период времени от одного часа назад до текущего момента

period0..1Period

Период времени, для которого выполняются вычисления, если duration не указан

statistic1..*code

average|max|min|count Статистические операции для выполнения соответствующих вычислений. Можно указывать несколько статистических операций. Эти коды определены здесь

include0..1boolean

Следует ли возвращать ресурсы, по которым считалась статистика

limit0..1positiveInt

Если указан параметр include, дополнительно можно задать лимит количества возвращаемых ресурсов Observation. Если параметр include отсутствует или имеет значение "false", тогда параметр limit должен игнорироваться сервером

Out Parameters:
ИмяCardinalityТипBindingProfileDocumentation
statistics1..*Observation

Ряд ресурсов Observation, один Observation для каждого кода, каждый содержит один компонент для каждой статистики. Observation.component.code содержит значение статистики, связан с Observation.code и не может быть интерпретирован отедльно от него. Observation будет также содержать элементы subject, effectivePeriod и code, отражающие входные параметры. Статус всегда будет final.

source0..*Observation

Исходные ресурсы Observation, по которым считается статистика

Если в Observation присутствуют расширения-модификаторы, они должны быть учтены разработчиками. Расширение-модификтор может влиять на observation.value так, что его будет необходимо исключить из вычислений.

Эту операцию не следует выполнять на тех наблюдениях, которые пользователь не уполномочен видеть. Предполагается, что сервер идентифицировал и обеспечил безопасность должным образом, и может либо связать контекст авторизации с отдельным пациентом, либо определитть, имеются ли в данном контексте права на указанного пациента, если такой есть. Если номинального пациента нет (например операция вызывается на системном уровне) и контекст не связан с отдельной записью пациента, тогда сервер должен вернуть ошибку. Указание отношения между контекстом, пользователем и записями пациенов выходит за рамки спецификации.

Request: Get the average, min, max and count of a series of BP measurements for a patient

GET [base]/Observation/$stats?subject=Patient/123&code=85354-9&system=http://loinc.org&duration=1&statistic=average&statistic=min&statistic=max&statistic=count

Response:

<?xml version="1.0" encoding="UTF-8"?>
<!--
  The outcome for this particular operation is 2 Observation resources - one for the diastolic (8462-4)
  and one for the systolic components (8480-6), because the requested LOINC code is a panel code
-->
<Parameters xmlns="http://hl7.org/fhir">
  <parameter>
    <name value="statistics"/>
    <resource>
      <Observation>
        <status value="final"/>
        <code>
          <coding>
            <system value="http://loinc.org"/>
            <code value="8480-6"/>
            <display value="Systolic blood pressure"/>
          </coding>
        </code>
        <subject>
           <reference value="Patient/123"/>
        </subject>
        <effectivePeriod>
           <start value="2016-05-25T19:26:16Z"/>
           <end value="2016-05-25T20:26:16Z"/>
        </effectivePeriod>
        <!--The Observation.component.code is relative to the Observation.code and cannot be interpreted independently.-->
        <component>
           <code>
              <!--   the average parameter code -->
              <coding>
                 <system value="http://hl7.org/fhir/observation-paramcode"/>
                 <code value="average"/>
                 <display value="Average"/>
              </coding>
           </code>
           <valueQuantity>
              <value value="121.8"/>
              <unit value="mmHg"/>
              <system value="http://unitsofmeasure.org"/>
              <code value="mm[Hg]"/>
           </valueQuantity>
        </component>
        <component>
           <!--  the max parameter code -->
           <code>
              <coding>
                 <system value="http://hl7.org/fhir/observation-paramcode"/>
                 <code value="max"/>
                 <display value="Maximum"/>
              </coding>
           </code>
           <valueQuantity>
              <value value="136"/>
              <unit value="mmHg"/>
              <system value="http://unitsofmeasure.org"/>
              <code value="mm[Hg]"/>
           </valueQuantity>
        </component>
        <component>
           <!--  the min parameter code -->
           <code>
              <coding>
                 <system value="http://hl7.org/fhir/observation-paramcode"/>
                 <code value="min"/>
                 <display value="Minimum"/>
              </coding>
           </code>
           <valueQuantity>
              <value value="110"/>
              <unit value="mmHg"/>
              <system value="http://unitsofmeasure.org"/>
              <code value="mm[Hg]"/>
           </valueQuantity>
        </component>
        <component>
           <!--  the count parameter code -->
           <code>
              <coding>
                <system value="http://hl7.org/fhir/observation-paramcode"/>
                  <code value="count"/>
                <display value="Count"/>
              </coding>
           </code>
           <valueQuantity>
              <value value="7"/>
              <system value="http://unitsofmeasure.org"/>
              <code value="{observations}"/>
           </valueQuantity>
        </component>
     </Observation>
    </resource>
  </parameter>
  <parameter>
    <name value="statistics"/>
    <resource>
      <Observation>
        <status value="final"/>
        <code>
           <coding>
              <system value="http://loinc.org"/>
              <code value="8462-4"/>
              <display value="Diastolic blood pressure"/>
           </coding>
        </code>
        <subject>
           <reference value="Patient/123"/>
        </subject>
        <effectivePeriod>
           <start value="2016-05-25T19:26:16Z"/>
           <end value="2016-05-25T20:26:16Z"/>
        </effectivePeriod>
        <!--The Observation.component.code is relative to the Observation.code and cannot be interpreted independently.-->
        <component>
           <code>
              <!--   the average parameter code -->
              <coding>
                 <system value="http://hl7.org/fhir/observation-paramcode"/>
                 <code value="average"/>
                 <display value="Average"/>
              </coding>
           </code>
           <valueQuantity>
              <value value="79.7"/>
              <unit value="mmHg"/>
              <system value="http://unitsofmeasure.org"/>
              <code value="mm[Hg]"/>
           </valueQuantity>
        </component>
        <component>
           <!--  the max parameter code -->
           <code>
              <coding>
                 <system value="http://hl7.org/fhir/observation-paramcode"/>
                 <code value="max"/>
                 <display value="Maximum"/>
              </coding>
           </code>
           <valueQuantity>
              <value value="110"/>
              <unit value="mmHg"/>
              <system value="http://unitsofmeasure.org"/>
              <code value="mm[Hg]"/>
           </valueQuantity>
        </component>
        <component>
           <!--  the min parameter code -->
           <code>
              <coding>
                 <system value="http://hl7.org/fhir/observation-paramcode"/>
                 <code value="min"/>
                 <display value="Minimum"/>
              </coding>
           </code>
           <valueQuantity>
              <value value="56"/>
              <unit value="mmHg"/>
              <system value="http://unitsofmeasure.org"/>
              <code value="mm[Hg]"/>
           </valueQuantity>
        </component>
        <component>
           <!--  the count parameter code -->
           <code>
              <coding>
                 <system value="http://hl7.org/fhir/observation-paramcode"/>
                 <code value="count"/>
                 <display value="Count"/>
              </coding>
           </code>
           <valueQuantity>
              <value value="7"/>
              <system value="http://unitsofmeasure.org"/>
              <code value="{observations}"/>
           </valueQuantity>
        </component>
      </Observation>
    </resource>
  </parameter>
</Parameters>

 

For more information about operations, including how they are invoked, see Operations.