Resources: DSTU2: Observation


Observation resource

The Observation resource is used to retrieve patient observations (DAF Observation). These can include such items as smoking status, vital sign readings, and laboratory result observations. The logical ID of the patient is passed as part of the URL. The logical ID is found as the result of a patient search.

To retrieve a list of a patient's laboratory result observations, use the following syntax:

GET {FHIR URL}/FHIR/Patient/{ID}/Observation?category=laboratory

To retrieve a patient's smoking status, use the following syntax:

GET {FHIR URL}/FHIR/Patient/{ID}/Observation?code=72166-2

To retrieve a list of a patient's vital signs readings, use the following syntax:

GET {FHIR URL}/FHIR/Patient/{ID}/Observation?category=vital-signs

Input parameters

Name Required? Type Description
ID Yes URL The patient's logical ID. This is retrieved using the search function.
date No string A string representing a date to include in the search. See below for more information.

Output specifications

Output specification: Smoking status

Smoking status is returned as a DAF Observation in valueCodeableConcept.

Name Type Cardinality Description
identifier 0..* Observation's unique ID. This applies to the instance observation.
status code 1..1 Observation status. Values include Registered, Preliminary, Final, or Amended. For more information on this value set, see here.
category CodeableConcept 0..1 Observation's type of classification. For more information on this value set, see here.
code CodeableConcept 1..1 Observation's type or code. For more information on this value set, see here.
subject Reference (Patient, Group, Device, Location) 0..1 Observation's subject. The patient's (or group of patients) location, or the device whose characteristics (direct or indirect) are described by the observation and into whose record the observation is placed.
encounter Reference (Encounter) 0..1 Observation's encounter. The healthcare event (a patient and healthcare provider interaction) during which the observation is made. For some observations it may be important to know the link between an observation and a particular encounter.
effectiveDateTime dateTime 0..1 Clinically relevant time/time-period for observation.
effectivePeriod Period 0..1 Clinically relevant time/time-period for the observation. The time or time-period the observed value is asserted as being true. For biological subjects (human patients) this is usually called the "physiologically relevant time." This is usually either the time of the procedure or of specimen collection, but very often the source of the date/time is not known, only the date/time itself.
issued Hl7.Fhir.Model.Instant 0..1 Date/time the observation was made available. The date and time is typically after the results have been reviewed and verified.
performer Reference (Practitioner, Organization, Patient, RelatedPerson) 0..* Individual responsible for the observation.
valueCodeableConcept CodeableConcept 0..1 The smoking status. Need to track the status of individual results. Some results are finalized before the whole report is finalized. For more information on this value set, see DAF Smoking Status Value Set.
comments string 0..1 Comments about the result.

Output specification: Vital signs

Name Type Cardinality Description
identifier 0..* Unique identifier for the simple observation instance. Allows observations to be distinguished and referenced.
status code 1..1 Status of the vital sign result value. The status of individual results needs to be tracked. Some results are finalized before the whole report is finalized. The conformance on this value set is required. Values include: Registered, Preliminary, Final, Amended, Cancelled, Entered in Error, and Unknown. For more information on this value set, see here.
category CodeableConcept 0..1 Classification of type of observation. Clinical observations measure the body's basic functions such as such as blood pressure, heart rate, respiratory rate, height, weight, body mass index, head circumference, pulse oximetry, temperature, and body surface area. For more information on this value set, see here.
code CodeableConcept 1..1 Vital sign result type. Coded responses are from C-CDA Vital Sign Results. 1. Shall contain exactly one [1..1] code, where the @code should be selected from ValueSet HITSP Vital Sign Result Type. This value set indicates the allowed vital sign result types. The vocabulary selected for this value set aligns with requirements in the Meaningful Use (MU) Stage 2. Note the concept Blood pressure systolic and diastolic (55284-4) is used to group the related observations Systolic blood pressure (8480-6) and Diastolic blood pressure (8462-4). It shall not be used alone, but both 8480-6 and 8462-2 shall also be valued. The codes shall be taken from C-CDA Vital Sign Result; other codes may be used where these codes are not suitable. For more information on this value set, see here.
subject Reference (Patient, Group, Device, Location) 0..1 Who and/or what this vital is for. The patient, or group of patients, location, or device whose characteristics (direct or indirect) are described by the observation and into whose record the observation is placed. Indirect characteristics may be those of a specimen, fetus, donor, other observer (for example a relative or EMT), or any observation made about the subject. Observations have no value if you don't know who or what they're about. Note: One would expect this element to be a cardinality of 1..1. The only circumstance in which the subject can be missing is when the observation is made by a device that does not know the patient. In this case, the observation shall be matched to a patient through some context/channel matching technique, and at this point, the observation should be updated.
encounter Reference (Encounter) 0..1 The healthcare event (for example, a patient and healthcare provider interaction) during which this vital was obtained. For some observations it may be important to know the link between the vital sign and a particular encounter.
effectiveDateTime dateTime 0..1 Clinically relevant time/time-period for observation. Often just a dateTime for Vital Signs. Knowing when an observation was deemed true is important to its relevance as well as determining trends. At least a date should be present unless this observation is a historical report.
effectivePeriod Period 0..1 Clinically relevant time/time-period for observation. Often a dateTime for Vital Signs is preferred but if it is a historical instance, then a time period is sufficient.
issued Hl7.Fhir.Model.Instant 0..1 Date/Time this was made available.
performer Reference (Practitioner, Organization, Patient, RelatedPerson) 0..* Who is responsible for the observation or obtaining the vital sign. May give a degree of confidence in the observation and also indicates where follow-up questions should be directed.
valueQuantity Quantity 0..1 Vital Sign Value recorded with UCUM. Common UCUM units for recording Vital Signs. The codes shall be taken from Common UCUM units as defined here. Examples include % (percent), cm (centimeter), kg (kilogram), mm(Hg) (millimeter of mercury), /min (per minute) and kg/m2 (kilogram). Note: Normally, an observation will have either a value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. This element has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueString, valueRange, valueRatio, valueSampledData, valueAttachment, valueTime, valueDateTime, or valuePeriod. (The name format is "value + the type name" with a capital on the first letter of the type).
valueQuantity.value https://hl7.org/fhir/DSTU2/daf/daf-vitalsigns.html 0..1 The value of the measured amount. The value includes an implicit precision in the presentation of the value. Precision is handled implicitly in almost all cases of measurement. The implicit precision in the value should always be honored. Monetary values have their own rules for handling precision (refer to standard accounting text books).
valueQuantity.unit https://hl7.org/fhir/DSTU2/daf/daf-vitalsigns.html 0..1 A human-readable form of the unit. There are many representations for units of measure and in many contexts, particular representations are fixed and required. For example, mcg for micrograms.
valueQuantity.system https://hl7.org/fhir/DSTU2/daf/daf-vitalsigns.html 0..1 The identification of the system that provides the coded form of the unit. Need to know the system that defines the coded form of the unit. Fixed value. For more information, see here.
valueQuantity.code https://hl7.org/fhir/DSTU2/daf/daf-vitalsigns.html 0..1 Coded responses from the common UCUM units for vital signs value set. Need a computable form of the unit that is fixed across all forms. UCUM provides this for quantities, but SNOMED CT provides many units of interest. The preferred system is UCUM, but SNOMED CT can also be used (for customary units) or ISO 4217 for currency. The context of use may additionally require a code from a particular system.
dataAbsentReason CodeableConcept 0..1 Provides a reason why the expected value in the element Observation.value[x] is missing. Codes specifying why the result (Observation.value[x]) is missing. The codes shall be taken from Observation Value Absent Reason value set, however other codes may be used where these codes are not suitable. This value set contains 9 concepts. For more information on this value set, see here.
interpretation CodeableConcept 0..1 This value set defines the set of codes that can be used to indicate the meaning/use of a reference range. The value set is extensible and contains 33 concepts. Examples include A (Abnormal), H (High), L (Low), and N (Normal). For more information on this value set, see here.
referenceRange BackboneElement https://hl7.org/fhir/DSTU2/daf/daf-vitalsigns.html 0..* Guidance on how to interpret the value by comparison to a normal or recommended range. Knowing what values are considered "normal" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts. Most observations only have one generic reference range. Systems may choose to restrict to only supplying the relevant reference range based on knowledge about the patient (for example, specific to the patient's age, gender, weight, and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them should be provided in the reference range and/or age properties.
--- referenceRange.Low SimpleQuantity https://hl7.org/fhir/DSTU2/daf/daf-vitalsigns.html 0..1 Indication that the vital result is lower than the defined reference range. Binding is common UCUM units for recording Vital Signs.
--- referenceRange.High SimpleQuantity https://hl7.org/fhir/DSTU2/daf/daf-vitalsigns.html 0..1 Indication that the vital result is higher than the defined reference range. Binding is common UCUM units for recording Vital Signs.
Respiratory rate http://argonautwiki.hl7.org/index.php?title=Vital_Signs_Respiratory_Rate_Example 0..1 Recorded under LOINC Code 9279-1 using UOM of (breaths)/min.
Heart rate http://argonautwiki.hl7.org/index.php?title=Vital_Signs_Heart_Rate_Example 0..1 Recorded under LOINC Code 8867-4 using UOM of (beats)/min.
Oxygen saturation http://argonautwiki.hl7.org/index.php?title=Vital_Signs_Oxygen_Saturation_Example 0..1 Recorded under LOINC Code 59408-5 using UOM of % Oxygen saturation in Arterial blood by Pulse oximetry.
Body temperature http://argonautwiki.hl7.org/index.php?title=Vital_Signs_Body_Temperature_Example 0..1 Recorded under LOINC Code 8310-5 using UOM of Cel or [degF].
Body height http://argonautwiki.hl7.org/index.php?title=Vital_Signs_Body_height_Example 0..1 Recorded under LOINC Code 8302-2 using UOM cm or [in].
Body weight http://argonautwiki.hl7.org/index.php?title=Vital_Signs_Body_Weight_Example 0..1 Recorded under LOINC Code 29463-7 using UOM g, kg or lb.
Body mass index http://argonautwiki.hl7.org/index.php?title=Vital_Body_Mass_Example 0..1 Recorded under LOINC Code 39156-5 using UOM kg/m2.
Blood pressure systolic and diastolic http://argonautwiki.hl7.org/index.php?title=Vital_Signs_Blood_Pressure_Example 1..1 Recorded under LOINC Code 55284-4 using UOM mm[Hg].
Systolic blood pressure http://argonautwiki.hl7.org/index.php?title=Vital_Signs_Blood_Pressure_Example 1..1 Recorded under LOINC Code 8480-6 using UOM mm[Hg]. When recording a blood pressure using systolic and diastolic as separate entities, both must be recorded in order for the blood pressure to be valid.
Diastolic blood pressure http://argonautwiki.hl7.org/index.php?title=Vital_Signs_Blood_Pressure_Example 1..1 Recorded under LOINC Code 8462-4 using UOM mm[Hg]. When recording a blood pressure using systolic and diastolic as separate entities, both must be recorded in order for the blood pressure to be valid.
related code http://www.hl7.org/fhir/daf/daf-vitalsigns-definitions.html#daf-vitalsigns.Observation.related.type 1..1 Codes specifying how two observations are related. This is used when reporting systolic and diastolic blood pressure. The codes shall be taken from the ObservationRelationshipType value set. For more information on this value set, see here.

Output specification: Laboratory results

There are two types of laboratory results: labs with a single result and labs with multiple results, referred to as "panels." When a lab has a single result, the resource ID begins with L; for lab panels, the result ID begins with PL. Results associated with a label panel are returned in the related tag.

Name Type Cardinality Description
identifier 0..* Unique identifier for the simple observation instance. This allows observations to be distinguished and referenced. If this is used, then the attributes associated to identifier are required (use, system, value); External ID- is for a lab vendor who sends the results such that this be the ID that they send.
--- use 1..1 Purpose of this identifier. Identifies the purpose for this identifier, if known. The codes shall be taken from IdentifierUse. Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers. Note: This is labeled as "Is Modifier" because applications should not mistake a temporary ID for a permanent one. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. This value set has an inline code system which defines the following codes: Usual, Official, Temp, and Secondary. For more information on this value set, see here.
--- system 1..1 System attribute establishes the namespace in which set of possible ID values is unique. There are many sequences of identifiers. To perform matching, we need to know what sequence we're dealing with. The system identifies a particular sequence or set of unique identifiers. For example, http://www.acme.com/identifiers/patient or urn:ietf:rfc:3986 if the Identifier.value itself is a full URI, Uniform Resource Identifier Reference (RFC 3986 ). Note: URIs are case sensitive. For UUID (urn:uuid:53fefa32-fcbb-4ff8-8a92-55ee120877b7) use all lowercase.
--- value http://www.hl7.org/fhir/dstu2/daf/daf-resultobs-definitions.html#daf-resultobs.Observation.identifier.value 1..1 Portion of the identifier typically displayed to the user and which is unique within the context of the system. If the value is a full URI, then the system shall be urn:ietf:rfc:3986. For example: 123456.
status code 1..1 Status of the result value or codes providing the status of an observation. The codes shall be taken from ObservationStatus value set and are used to track the status of individual results as some results are finalized before the whole report is finalized. This value set has an inline code system which defines the following codes: Registered , Preliminary , Final , Amended, Cancelled, Entered in Error, and Unknown. For more information on this value set, see here.
category CodeableConcept 1..1 Fixed category.coding.system that includes several options as to where the observation could have been made such as Social History, Vital Signs, Imaging, Laboratory, Procedure, Survey, Exam and Therapy. For the Lab Results profile, the category is a fixed cateogry.coding.code for Laboratory. For more information on this value set, see: here.
code CodeableConcept 1..1 Code refers to the test that was performed. This is element is bound to LOINC codes (US Laboratory Observation Profile Observation Name Codes) and the conformance is extensible such that, if the data type is a CodeableConcept, then one of the coding values shall be from the specified value set if a code applies, but if no suitable code exists in the value set, alternate code(s) may be provided in its place. If no codes, including local codes, are available, then just text may be used. For more information on this value set, see here.
--- coding http://www.hl7.org/fhir/dstu2/daf/daf-resultobs-definitions.html#daf-resultobs.Observation.code.coding 1..1 Standard and local codes may be included here by repeating the coding element with a different coding.system. Requirements allow for translations and alternate encodings within a code system. This also supports communication of the same instance to systems requiring different encodings. NOTE: Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT. See the HL7 v3 Core Principles for more information. Ordering of codings is undefined and shall not be used to infer meaning. Generally, at most only one of the coding values will be labelled as UserSelected = true.
subject Reference (Patient, Group, Device, Location) 1..1 Patient, or group of patients, location, or device whose characteristics (direct or indirect) are described by the observation and into whose record the observation is placed. Comments: Indirect characteristics may be those of a specimen, fetus, donor, other observer (for example a relative or EMT), or any observation made about the subject. One would expect this element to be a cardinality of 1..1. The only circumstance in which the subject can be missing is when the observation is made by a device that does not know the patient. In this case, the observation shall be matched to a patient through some context/channel matching technique, and at this point, the observation should be updated. If the target of the observation is different than the subject, the general extension observation-focal-subject. may be used. However, the distinction between the patient's own value for an observation versus that of the fetus, or the donor or blood product unit, etc., are often specified in the observation code.
encounter Reference (Encounter) 0..1 Healthcare event (such as a patient and healthcare provider interaction) during which this observation is made. For some observations it may be important to know the link between an observation and a particular encounter.
effectiveDateTime dateTime 0..1 For lab tests this is the specimen collection date. For Ask at Order Entry Questions (AOE) this is the date the question was asked.
effectivePeriod Period 0..1 For lab tests this is the specimen collection period. At least a date should be present unless this observation is a historical report.
issued Hl7.Fhir.Model.Instant 0..1 Date and time this observation was made available to providers, typically after the results have been reviewed and verified. Minimum Precision to Day and updated when the result is updated.
performer Reference (Practitioner, Organization, Patient, RelatedPerson) 0..* Who was responsible for asserting the observed value as "true". May give a degree of confidence in the observation and also indicates where follow-up questions should be directed.
valueQuantity Quantity 0..1 An observation exists to have a value, though it may not if it is in error, or it represents a group of observations. Quantity is a measured amount (or an amount that can potentially be measured). The value contains the numerical value of the quantity, including an implicit precision. If no comparator is specified, the value is a point value (i.e. =). The comparator element can never be ignored.
valueCodeableConcept CodeableConcept 0..1 Actual result. If codeableConcept, valueCodeableConcept must be selected from SNOMED CT.
valueString String 0..1 Actual result in the form of a sequence of Unicode characters. Note that strings shall not exceed 1MB in size.
valueRange Hl7.Fhir.Model.Range 0..1 Range is a set of ordered Quantity values defined by a low and high limit. A Range specifies a set of possible values; usually, one value from the range applies (e.g. "give the patient between 2 and 4 tablets"). Ranges are typically used in instructions. The unit and code/system elements of the low or high elements shall match. If the low or high elements are missing, the meaning is that the low or high boundaries are not known and therefore neither is the complete range.
valueRatio Hl7.Fhir.Model.Ratio 0..1 Relationship between two Quantity values expressed as a numerator and a denominator. Common factors in the numerator and denominator are not automatically cancelled out. The Ratio data type is used for titers (e.g. "1:128") and other quantities produced by laboratories that truly represent ratios. Ratios are not simply "structured numbers" - for example blood pressure measurements (e.g. "120/60") are not ratios. In addition, ratios are used where common factors in the numerator and denominator do not cancel out.
valueSampledData Hl7.Fhir.Model.SampledData 0..1 Data that comes from a series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data. A SampledData provides a concise way to handle the data produced by devices that sample a physical particular state at a high frequency. A typical use for this is for the output of an ECG or EKG device.
valueAttachment Hl7.Fhir.Model.Attachment 0..1 Type is for containing or referencing attachments - additional data content defined in other formats. The most common use of this type is to include images or reports in some report format such as PDF. However it can be used for any data that has a MIME type. The actual content of an Attachment can be conveyed directly using the data element or a URL reference can be provided. If both are provided, the reference shall point to the same content as found in the data. The reference can never be reused to point to some different data (i.e. the reference is version specific). The URL reference shall point to a location that resolves to actual data; some URIs such as cid: meet this requirement. If the URL is a relative reference, it is interpreted in the same way as a resource reference.
valueTime Time 0..1 Time during the day, with no date specified (can be converted to a Duration since midnight). Seconds must be provided due to schema type constraints but may be zero-filled and may be ignored. The time "24:00" is not allowed, and neither is a time zone.
valueDateTime dateTime 0..1 Date, date-time or partial date (e.g. just year or year + month) as used in human communication. If hours and minutes are specified, a time zone shall be populated. Seconds must be provided due to schema type constraints but may be zero-filled and may be ignored. Dates shall be valid dates. The time "24:00" is not allowed.
valuePeriod Period 0..1 Time period defined by a start and end date/time. A period specifies a range of times. The context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the period applies (e.g. "give to the patient between 2 and 4 pm on 24-Jun 2013").
dataAbsentReason CodeableConcept 0..1 Provides a reason why the expected value in the element Observation.value[x] is missing. Codes specifying why the result (Observation.value[x]) is missing. The codes shall be taken from Observation Value Absent Reason value set and include: Unknown, Asked, Temp, Not Asked, Masked, Unsupported, As Text, Error, and Not a Number. Other codes may be used where these codes are not suitable. For more information on this value set, see here.
interpretation CodeableConcept 0..1 Assessment made based on the result of the observation. Intended as a simple compact code often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. The codes shall be taken from Observation Value Absent Reason value set and include: High, Low, Normal, and so forth. For more information on this value set, see here.
comments string 0..1 May include statements about significant, unexpected or unreliable values, or information about the source of the value where this may be relevant to the interpretation of the result.
bodySite CodeableConcept 0..1 Site on the subject's body where the observation was made (i.e. the target site). Codes describing anatomical locations. May include laterality. Only used if not implicit in code found in Observation.code. For example codes, see the SNOMED CT Body Structures value set here. If the use case requires BodySite to be handled as a separate resource instead of an inline coded element (for example, to identify and track separately) then use the standard extension body-site-instance extension. For more information, see here.
method CodeableConcept 0..1 Mechanism used to perform the observation. In some cases, method can impact results and is thus used for determining whether results can be compared or determining significance of results. For more information on the Observation Method value set, see here.
specimen Reference (Specimen) 0..1 Specimen that was used when this observation was made. Observations are not made on specimens themselves; they are made on a subject, but usually by the means of a specimen. Note that although specimens are often involved, they are not always tracked and reported explicitly. Also note that observation resources may be used in contexts that track the specimen explicitly (for example, a Diagnostic Report).
referenceRange 0..* Guidance on how to interpret the value by comparison to a normal or recommended range. Knowing what values are considered "normal" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts. Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g. specific to the patient's age, gender, weight and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.
-- referenceRange.low Hl7.Fhir.Model.SimpleQuantity 0..1 Low range, if relevant. The value of the low bound of the reference range. The low bound of the reference range endpoint is inclusive of the value (e.g. reference range is >=5 - <=9). If the low bound is omitted, it is assumed to be meaningless (e.g. reference range is <=2.3).
-- referenceRange.high Hl7.Fhir.Model.SimpleQuantity 0..1 High range, if relevant. The value of the high bound of the reference range. The high bound of the reference range endpoint is inclusive of the value (e.g. reference range is >=5 - <=9). If the high bound is omitted, it is assumed to be meaningless (e.g. reference range is >= 2.3).
-- referenceRange.meaning CodeableConcept 0..1 Meaning/use of this range of this range. For more information on this value set, see here.
-- referenceRange.age Hl7.Fhir.Model.Range 0..1 Applicable age range, if relevant. The age at which this reference range is applicable. This is a neonatal age (e.g. number of weeks at term) if the meaning says so.
-- referenceRange.text string 0..1 Text based reference range in an observation which may be used when a quantitative range is not appropriate for an observation. An example would be a reference value of "Negative" or a list or table of 'normals'.
related 0..* Set of related observations that together form the panel or battery of this observation. Normally, an observation will have either a value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and a set of related observations or sometimes QuestionnaireResponse from which the measure is derived.
-- related.type code 1..1 Code specifying the kind of relationship that exists with the target resource. The codes shall be taken from the ObservationRelationshipType value set and include: Has-member, Derived-from, Sequel-to, Replaces, Qualified-by, and Interfered-by. For more information on this value set, see here.
-- related.target Reference (Observation, QuestionnaireResponse) 1..1 Resource (US DAF Component observations) that is related to this one.
component 0..* Some observations have multiple component observations. These component observations are expressed as separate code value pairs that share the same attributes. Examples include systolic and diastolic component observations for blood pressure measurement and multiple component observations for genetics observations. Component observations share the same attributes in the Observation resource as the primary observation and are always treated a part of a single observation (they are not separable). However, the reference range for the primary observation value is not inherited by the component values and is required when appropriate for each component observation.
-- component.code CodeableConcept 1..1 Laboratory test that was performed. This is element and codes are bound to LOINC (US Laboratory Observation Profile Observation Name Codes); however, other codes may be used where these codes are not suitable. For more information on this value set, see here.
Observation.component.value[x] http://www.hl7.org/fhir/dstu2/daf/daf-resultobs-definitions.html#daf-resultobs.Observation.component.value[x] 0..1 Information determined as a result of making the observation, if the information has a simple value. Choice of: Quantity, CodeableConcept, string, Range, Ratio, SampledData, Attachment, time, dateTime, Period. Normally, an observation will have either a value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For boolean values, use valueCodeableConcept and select codes from here. These yes/no concepts can be mapped to the display name true/false or other mutually exclusive terms that may be needed). The element, Observation.value[x], has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueRatio, valueChoice, valuePeriod, valueSampleData, or valueString (The name format is "'value' + the type name" with a capital on the first letter of the type).
-- component.valueQuantity Quantity 0..1 Actual component result or a measured amount (or an amount that can potentially be measured). The value contains the numerical value of the quantity, including an implicit precision. If no comparator is specified, the value is a point value (i.e. '='). The comparator element can never be ignored.
-- component.valueCodeableConcept CodeableConcept 0..1 Actual component result.
-- component.valueString String 0..1 Actual component result.
-- component.valueRange Hl7.Fhir.Model.Range 0..1 Set of ordered Quantity values defined by a low and high limit. A Range specifies a set of possible values; usually, one value from the range applies (e.g. "give the patient between 2 and 4 tablets"). Ranges are typically used in instructions. The unit and code/system elements of the low or high elements shall match. If the low or high elements are missing, the meaning is that the low or high boundaries are not known and therefore neither is the complete range. The low and the high values are inclusive, and are assumed to have arbitrarily high precision; e.g. the range 1.5 to 2.5 includes 1.50, and 2.50 but not 1.49 or 2.51.
-- component.valueRatio Hl7.Fhir.Model.Ratio 0..1 Relationship between two Quantity values expressed as a numerator and a denominator. Common factors in the numerator and denominator are not automatically cancelled out. The Ratio data type is used for titers (e.g. "1:128") and other quantities produced by laboratories that truly represent ratios. Ratios are not simply "structured numbers" - for example blood pressure measurements (e.g. "120/60") are not ratios. In addition, ratios are used where common factors in the numerator and denominator do not cancel out. A proper ratio has both a numerator and a denominator; however these are not mandatory in order to allow an invalid ratio with an extension with further information.
-- component.valueSampledData Hl7.Fhir.Model.SampledData 0..1 Data that comes from a series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data. A SampledData provides a concise way to handle the data produced by devices that sample a physical particular state at a high frequency. A typical use for this is for the output of an ECG or EKG device.
-- component.valueAttachment Hl7.Fhir.Model.Attachment 0..1 Type for containing or referencing attachments - additional data content defined in other formats. The most common use of this type is to include images or reports in some report format such as PDF. However it can be used for any data that has a MIME type.
-- component.valueTime Time 0..1 Time during the day, with no date specified (can be converted to a Duration since midnight). Seconds must be provided due to schema type constraints but may be zero-filled and may be ignored. The time "24:00" is not allowed, and neither is a time zone.
-- component.valueDateTime dateTime 0..1 Date, date-time or partial date (e.g. just year or year + month) as used in human communication. If hours and minutes are specified, a time zone shall be populated. Seconds must be provided due to schema type constraints but may be zero-filled and may be ignored. Dates shall be valid dates. The time "24:00" is not allowed.
-- component.valuePeriod Period 0..1 Time period defined by a start and end date/time. A period specifies a range of times. The context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the period applies (e.g. "give to the patient between 2 and 4 pm on 24-Jun 2013"). If the start element is missing, the start of the period is not known. If the end element is missing, it means that the period is ongoing, or the start may be in the past, and the end date in the future, which means that period is expected/planned to end at the specified time. The end value includes any matching date/time. For example, the period 2011-05-23 to 2011-05-27 includes all the times from the start of the 23rd May through to the end of the 27th of May.
-- component.dataAbsentReason CodeableConcept 0..1 Reason why the expected value in the element Observation.value[x] is missing. The codes shall be taken from the ObservationValueAbsentReason value set and include the following 9 values: Unknown, Asked, Temp, Not Asked, Masked, Unsupported, As Text, Error, Not a Number. For more information on this value set, see here.
-- component.referenceRange 0..* Guidance on how to interpret the value by comparison to a normal or recommended range. Knowing what values are considered "normal" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts. Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g. specific to the patient's age, gender, weight and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them should be provided in the reference range and/or age properties.