This page is part of the FHIR Specification (v1.6.0: STU 3 Ballot 4). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3
This resource has 1 operation associated with it:
$stats | Observation Statistics |
For more information about operations, including how they are invoked, see Operations.
The Statistics operation performs a set of statistical calculations on a set of clinical measurements such as a blood pressure. This operation is limited to Observation resources with valueQuantity elements.
The set of Observations is defined by a the input parameters patient
,code
and duration
and params
. The set of statistical calculation depends upon the value of the params
parameter:
If successful, the operation returns an Observation resource with the results of the statistical calculations as component value pairs where the component code = the params code. The Observation also contains the the input parameters patient
,code
and duration
parameters. If unsuccessful, an OperationOutcome with an error message will be returned.
Formal Definition (as a OperationDefinition).
URL: [base]/Observation/$stats
URL: [base]/Observation/[id]/$stats
In Parameters: | |||||
Name | Cardinality | Type | Binding | Profile | Documentation |
patient | 1..1 | id | The FHIR Patient resource id of the relevant Observations. For example The patient id = "123" in Observation.subject.reference = Patient/123. | ||
code | 1..1 | string | The test code upon which the statistics are being performed. For example, the code = "45667-2" will evaluate all relevant Observations with this code in Observation.code. | ||
duration | 1..1 | decimal | The time period of interest given as hours. For example, the duration = "1" is the last hour | ||
params | 1..4 | code | average|max|min|count The statistical operations to be performed on the relevant operations. These codes are defined here | ||
Out Parameters: | |||||
Name | Cardinality | Type | Binding | Profile | Documentation |
obs | 1..2 | Observation | The Observation.component.code is relative to the Observation.code and cannot be interpreted independently. The code input parameter is returned as the code element. The 'patient' parameter is returned as the patient element. The |
Get the average, min, max and count of a series of BP measurements for a patient (Request):
GET [base]/Observation/$stats?patient=13&code=55284-4&duration=1¶ms=average,min,max,count
Will produce this Bundle containing 2 Observation resources: (Response):
<?xml version="1.0" encoding="UTF-8"?> <!--The outcome for this particular operation results in a bundle consisting of 2 Observation resources - one for the diastolic and one for the systolic components--> <Bundle xmlns="http://hl7.org/fhir"> <type value="searchset"/> <total value="2"/> <entry> <fullUrl value="https://example.com/base/Observation/????"/> <!-- the matching resource --> <resource> <Observation> <id value="stats-diastolic"/> <identifier> <system value="urn:ietf:rfc:3986"/> <value value="urn:uuid:187e0c12-8dd2-67e2-99b2-bf273c878281"/> </identifier> <status value="final"/> <category> <coding> <system value="http://hl7.org/fhir/observation-category"/> <code value="vital-signs"/> <display value="Vital Signs"/> </coding> </category> <code> <!-- LOINC -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="min"/> <display value="Minimum"/> </coding> </code> <valueQuantity> <value value="7"/> <system value="http://unitsofmeasure.org"/> <code value="{observations}"/> </valueQuantity> </component> </Observation> </resource> <search> <mode value="match"/> </search> </entry> <entry> <resource> <Observation> <id value="stats-diastolic"/> <identifier> <system value="urn:ietf:rfc:3986"/> <value value="urn:uuid:187e0c12-8dd2-67e2-99b2-bf273c878281"/> </identifier> <status value="final"/> <category> <coding> <system value="http://hl7.org/fhir/observation-category"/> <code value="vital-signs"/> <display value="Vital Signs"/> </coding> </category> <code> <!-- LOINC -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> <search> <mode value="match"/> </search> </entry> </Bundle> </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> <search> <mode value="match"/> </search> </entry> </Bundle> "