MyHealtheVet use of PGHD
0.2.10-beta - ci-build United States of America flag

MyHealtheVet use of PGHD - Local Development build (v0.2.10-beta) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: VA MHV Blood Pressure Observation

Official URL: https://johnmoehrke.github.io/MHV-PGHD/StructureDefinition/VA.MHV.bloodPressure Version: 0.2.10-beta
Standards status: Trial-use Maturity Level: 2 Computable Name: MHVbloodPressure

A profile on the Observation that declares how MHV will Create/Read in PGHD for blood pressure measurements.

Note: This profile is not aligned with FHIR core Vital-Signs. FHIR Core Vital-Signs would prefer we use LOINC 85354-9 - Blood pressure panel with all children optional. This was not agreed by Mobile.

  • must be marked with MHV app tag
  • must have vital-signs category
  • must have LOINC#55284-4 code AND LOINC#8716-3
    • 8716-3 was added as some mobile apps searched on this
  • must have effectiveDateTime
    • others might use effectivePeriod
  • must not have a value[x]
  • must have two components
  • must have systolic and diastolic component values in mm[Hg]
    • systolic must be between 20 <= s <= 300
    • diastolic must be between 20 <= d <= 250
  • may have a related has-member heart-rate observation
  • must have status at final
  • must point at the patient
  • may have a note (comment)
  • once created will or might have an id, versionId, lastUpdated, text, and identifier

Later may have a position component (sitting, standing, supline, and resting)

Search PGHD

Because BloodPressure are recorded by various applications with either of two LOINC codes, MHV will query PGHD asking for Observations with either of the two codes. Because this is a logical “OR”, then results will also include Observations with both codes. MHV further requests inclusion of other Observations linked by a hasMember relationship, which would be related heart rate at the time the blood pressure was taken.

The following is a example, hitting the test PGHD service, about a test patient.

https://veteran.apps-staging.va.gov/smart-pgd-fhir/v2/Observation?patient.identifier=urn:uuid:2.16.840.1.113883.4.349|1012853550V207686&code=http://loinc.org|55284-4,http://loinc.org|8716-3&_include=Observation:has-member&_sort=-date&_count=100&_pretty=true&_format=json 

Breakdown of query parameters

  • patient.identifier – this takes the patient ICN, and the server will find appropriate entries for that patient
  • code - searching for Observations with either of these codes (OR relationship)
    • LOINC 55284-4 - Blood pressure systolic and diastolic
    • LOINC 8716-3 - Vital signs
      • This is included for backward compatibility. This code should not generally be used in best-practice.
  • _include – also return anything that the Observation.hasMember points at
    • this should return any heart rate that is associated with the bloodpressure observations being returned
  • _sort – ask that the results be sorted by date
  • _count – ask that no more than 100 be returned in each page
  • _pretty – ask that the results be pretty printed (normal json has no unnecessary whitespace)
  • _format – ask for json encoding

Results will be limited to 100 bloodPressure Observations, which might be larger than 100 as there would be associated heart rate observations.

The next page is retrieved using the FHIR paging mechanism.

The User Experience should NOT be aware of pages at the FHIR API level.

Profile

Usage:

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from Observation

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation 0..*ObservationMeasurements and simple assertions
... meta
.... security 0..0
.... tag 1..1CodingTags applied to this resource
Required Pattern: At least the following
..... system1..1uriIdentity of the terminology system
Fixed Value: https://wiki.mobilehealth.va.gov/x/Onc1C
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: 2ce6d9aa-c068-4809-8dda-662bcb16d09a
... implicitRules 0..0
... language 0..0
... contained 0..0
... extension 0..0
... modifierExtension 0..0
... basedOn 0..0
... partOf 0..0
... status 1..1coderegistered | preliminary | final | amended +
Required Pattern: final
... category 1..1CodeableConceptClassification of type of observation
Required Pattern: At least the following
.... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
..... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: vital-signs
... code
.... Slices for coding 2..2CodingCode defined by a terminology system
Slice: Unordered, Closed by value:$this
..... coding:loincCode1 1..1CodingCode defined by a terminology system
Required Pattern: At least the following
...... system1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
...... code1..1codeSymbol in syntax defined by the system
Fixed Value: 55284-4
...... display1..1stringRepresentation defined by the system
Fixed Value: Blood pressure systolic and diastolic
..... coding:loincCode2 1..1CodingCode defined by a terminology system
Required Pattern: At least the following
...... system1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
...... code1..1codeSymbol in syntax defined by the system
Fixed Value: 8716-3
...... display1..1stringRepresentation defined by the system
Fixed Value: Vital signs
... subject 1..1Reference(Patient)Who and/or what the observation is about
... focus 0..0
... encounter 0..0
... Slices for effective[x] 1..1dateTimeClinically relevant time/time-period for observation
Slice: Unordered, Open by type:$this
.... effective[x]:effectiveDateTime 1..1dateTimeClinically relevant time/time-period for observation
... issued 0..0
... performer 0..0
... value[x] 0..0
... dataAbsentReason 0..0
... interpretation 0..0
... note 0..1AnnotationComments about the observation
... bodySite 0..0
... method 0..0
... specimen 0..0
... device 0..0
... referenceRange 0..0
... hasMember S0..1Reference(VA MHV HeartRate Observation)Related resource that belongs to the Observation group
... derivedFrom 0..0
... Slices for component 2..2BackboneElementComponent results
Slice: Unordered, Closed by pattern:code
.... component:diastolicBP 1..1BackboneElementComponent results
..... code 1..1CodeableConceptType of component observation (code / type)
Required Pattern: At least the following
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: 8462-4
..... value[x] 0..1QuantityActual component result
Required Pattern: At least the following
...... system1..1uriSystem that defines coded unit form
Fixed Value: http://unitsofmeasure.org
...... code1..1codeCoded form of the unit
Fixed Value: mm[Hg]
...... value 0..1decimalNumerical value (with implicit precision)
.... component:systolicBP 1..1BackboneElementComponent results
..... code 1..1CodeableConceptType of component observation (code / type)
Required Pattern: At least the following
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: 8480-6
..... value[x] 0..1QuantityActual component result
Required Pattern: At least the following
...... system1..1uriSystem that defines coded unit form
Fixed Value: http://unitsofmeasure.org
...... code1..1codeCoded form of the unit
Fixed Value: mm[Hg]
...... value 0..1decimalNumerical value (with implicit precision)

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C0..*ObservationMeasurements and simple assertions
... status ?!Σ1..1coderegistered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an observation.


Required Pattern: final
... category 1..1CodeableConceptClassification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.



Required Pattern: At least the following
.... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
..... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: vital-signs
... code Σ1..1CodeableConceptType of observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.

.... Slices for coding Σ2..2CodingCode defined by a terminology system
Slice: Unordered, Closed by value:$this
..... coding:loincCode1 Σ1..1CodingCode defined by a terminology system

Required Pattern: At least the following
...... system1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
...... code1..1codeSymbol in syntax defined by the system
Fixed Value: 55284-4
...... display1..1stringRepresentation defined by the system
Fixed Value: Blood pressure systolic and diastolic
..... coding:loincCode2 Σ1..1CodingCode defined by a terminology system

Required Pattern: At least the following
...... system1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
...... code1..1codeSymbol in syntax defined by the system
Fixed Value: 8716-3
...... display1..1stringRepresentation defined by the system
Fixed Value: Vital signs
... subject Σ1..1Reference(Patient)Who and/or what the observation is about
... Slices for effective[x] Σ1..1dateTimeClinically relevant time/time-period for observation
Slice: Unordered, Closed by type:$this
.... effective[x]:effectiveDateTime Σ1..1dateTimeClinically relevant time/time-period for observation
... note 0..1AnnotationComments about the observation
... hasMember SΣ0..1Reference(VA MHV HeartRate Observation)Related resource that belongs to the Observation group
... Slices for component Σ2..2BackboneElementComponent results
Slice: Unordered, Closed by pattern:code
.... component:All Slices Content/Rules for all slices
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... code Σ1..1CodeableConceptType of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.

.... component:diastolicBP Σ1..1BackboneElementComponent results
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... code Σ1..1CodeableConceptType of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.


Required Pattern: At least the following
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: 8462-4
..... value[x] Σ0..1QuantityActual component result
Required Pattern: At least the following
...... system1..1uriSystem that defines coded unit form
Fixed Value: http://unitsofmeasure.org
...... code1..1codeCoded form of the unit
Fixed Value: mm[Hg]
...... value Σ0..1decimalNumerical value (with implicit precision)
...... comparator ?!Σ0..1code< | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

.... component:systolicBP Σ1..1BackboneElementComponent results
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... code Σ1..1CodeableConceptType of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.


Required Pattern: At least the following
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: 8480-6
..... value[x] Σ0..1QuantityActual component result
Required Pattern: At least the following
...... system1..1uriSystem that defines coded unit form
Fixed Value: http://unitsofmeasure.org
...... code1..1codeCoded form of the unit
Fixed Value: mm[Hg]
...... value Σ0..1decimalNumerical value (with implicit precision)
...... comparator ?!Σ0..1code< | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.


doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
Observation.statusrequiredPattern: final
Observation.categorypreferredPattern: vital-signs
Observation.codeexampleLOINCCodes (a valid code from LOINC)
Observation.component.codeexampleLOINCCodes (a valid code from LOINC)
Observation.component:diastolicBP.codeexamplePattern: LOINC code 8462-4
Observation.component:diastolicBP.value[x].comparatorrequiredQuantityComparator
Observation.component:systolicBP.codeexamplePattern: LOINC code 8480-6
Observation.component:systolicBP.value[x].comparatorrequiredQuantityComparator
NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C0..*ObservationMeasurements and simple assertions
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... versionId Σ0..1idVersion specific identifier
.... lastUpdated Σ0..1instantWhen the resource version last changed
.... source Σ0..1uriIdentifies where the resource comes from
.... profile Σ0..*canonical(StructureDefinition)Profiles this resource claims to conform to
.... tag Σ1..1CodingTags applied to this resource
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".



Required Pattern: At least the following
..... id0..1stringUnique id for inter-element referencing
..... extension0..*ExtensionAdditional content defined by implementations
..... system1..1uriIdentity of the terminology system
Fixed Value: https://wiki.mobilehealth.va.gov/x/Onc1C
..... version0..1stringVersion of the system - if relevant
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: 2ce6d9aa-c068-4809-8dda-662bcb16d09a
..... display0..1stringRepresentation defined by the system
..... userSelected0..1booleanIf this coding was chosen directly by the user
... text 0..1NarrativeText summary of the resource, for human interpretation
... identifier Σ0..*IdentifierBusiness Identifier for observation
... status ?!Σ1..1coderegistered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an observation.


Required Pattern: final
... category 1..1CodeableConceptClassification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.



Required Pattern: At least the following
.... id0..1stringUnique id for inter-element referencing
.... extension0..*ExtensionAdditional content defined by implementations
.... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
..... id0..1stringUnique id for inter-element referencing
..... extension0..*ExtensionAdditional content defined by implementations
..... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
..... version0..1stringVersion of the system - if relevant
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: vital-signs
..... display0..1stringRepresentation defined by the system
..... userSelected0..1booleanIf this coding was chosen directly by the user
.... text0..1stringPlain text representation of the concept
... code Σ1..1CodeableConceptType of observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.

.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for coding Σ2..2CodingCode defined by a terminology system
Slice: Unordered, Closed by value:$this
..... coding:loincCode1 Σ1..1CodingCode defined by a terminology system

Required Pattern: At least the following
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... system1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
...... version0..1stringVersion of the system - if relevant
...... code1..1codeSymbol in syntax defined by the system
Fixed Value: 55284-4
...... display1..1stringRepresentation defined by the system
Fixed Value: Blood pressure systolic and diastolic
...... userSelected0..1booleanIf this coding was chosen directly by the user
..... coding:loincCode2 Σ1..1CodingCode defined by a terminology system

Required Pattern: At least the following
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... system1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
...... version0..1stringVersion of the system - if relevant
...... code1..1codeSymbol in syntax defined by the system
Fixed Value: 8716-3
...... display1..1stringRepresentation defined by the system
Fixed Value: Vital signs
...... userSelected0..1booleanIf this coding was chosen directly by the user
.... text Σ0..1stringPlain text representation of the concept
... subject Σ1..1Reference(Patient)Who and/or what the observation is about
... Slices for effective[x] Σ1..1dateTimeClinically relevant time/time-period for observation
Slice: Unordered, Closed by type:$this
.... effective[x]:effectiveDateTime Σ1..1dateTimeClinically relevant time/time-period for observation
... note 0..1AnnotationComments about the observation
... hasMember SΣ0..1Reference(VA MHV HeartRate Observation)Related resource that belongs to the Observation group
... Slices for component Σ2..2BackboneElementComponent results
Slice: Unordered, Closed by pattern:code
.... component:All Slices Content/Rules for all slices
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... code Σ1..1CodeableConceptType of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.

..... value[x] Σ0..1Actual component result
...... valueQuantityQuantity
...... valueCodeableConceptCodeableConcept
...... valueStringstring
...... valueBooleanboolean
...... valueIntegerinteger
...... valueRangeRange
...... valueRatioRatio
...... valueSampledDataSampledData
...... valueTimetime
...... valueDateTimedateTime
...... valuePeriodPeriod
..... dataAbsentReason C0..1CodeableConceptWhy the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

..... interpretation 0..*CodeableConceptHigh, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.


..... referenceRange 0..*See referenceRange (Observation)Provides guide for interpretation of component result
.... component:diastolicBP Σ1..1BackboneElementComponent results
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... code Σ1..1CodeableConceptType of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.


Required Pattern: At least the following
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... id0..1stringUnique id for inter-element referencing
....... extension0..*ExtensionAdditional content defined by implementations
....... system1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
....... version0..1stringVersion of the system - if relevant
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: 8462-4
....... display0..1stringRepresentation defined by the system
....... userSelected0..1booleanIf this coding was chosen directly by the user
...... text0..1stringPlain text representation of the concept
..... value[x] Σ0..1QuantityActual component result
Required Pattern: At least the following
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... value0..1decimalNumerical value (with implicit precision)
...... comparator0..1code< | <= | >= | > - how to understand the value
...... unit0..1stringUnit representation
...... system1..1uriSystem that defines coded unit form
Fixed Value: http://unitsofmeasure.org
...... code1..1codeCoded form of the unit
Fixed Value: mm[Hg]
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... value Σ0..1decimalNumerical value (with implicit precision)
...... comparator ?!Σ0..1code< | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

...... unit Σ0..1stringUnit representation
...... system ΣC0..1uriSystem that defines coded unit form
...... code Σ0..1codeCoded form of the unit
..... dataAbsentReason C0..1CodeableConceptWhy the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

..... interpretation 0..*CodeableConceptHigh, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.


..... referenceRange 0..*See referenceRange (Observation)Provides guide for interpretation of component result
.... component:systolicBP Σ1..1BackboneElementComponent results
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... code Σ1..1CodeableConceptType of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.


Required Pattern: At least the following
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... id0..1stringUnique id for inter-element referencing
....... extension0..*ExtensionAdditional content defined by implementations
....... system1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
....... version0..1stringVersion of the system - if relevant
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: 8480-6
....... display0..1stringRepresentation defined by the system
....... userSelected0..1booleanIf this coding was chosen directly by the user
...... text0..1stringPlain text representation of the concept
..... value[x] Σ0..1QuantityActual component result
Required Pattern: At least the following
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... value0..1decimalNumerical value (with implicit precision)
...... comparator0..1code< | <= | >= | > - how to understand the value
...... unit0..1stringUnit representation
...... system1..1uriSystem that defines coded unit form
Fixed Value: http://unitsofmeasure.org
...... code1..1codeCoded form of the unit
Fixed Value: mm[Hg]
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... value Σ0..1decimalNumerical value (with implicit precision)
...... comparator ?!Σ0..1code< | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

...... unit Σ0..1stringUnit representation
...... system ΣC0..1uriSystem that defines coded unit form
...... code Σ0..1codeCoded form of the unit
..... dataAbsentReason C0..1CodeableConceptWhy the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

..... interpretation 0..*CodeableConceptHigh, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.


..... referenceRange 0..*See referenceRange (Observation)Provides guide for interpretation of component result

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
Observation.meta.tagexamplePattern: 2ce6d9aa-c068-4809-8dda-662bcb16d09a
Observation.statusrequiredPattern: final
Observation.categorypreferredPattern: vital-signs
Observation.codeexampleLOINCCodes (a valid code from LOINC)
Observation.referenceRange.typepreferredObservationReferenceRangeMeaningCodes
Observation.referenceRange.appliesToexampleObservationReferenceRangeAppliesToCodes
Observation.component.codeexampleLOINCCodes (a valid code from LOINC)
Observation.component.dataAbsentReasonextensibleDataAbsentReason
Observation.component.interpretationextensibleObservationInterpretationCodes
Observation.component:diastolicBP.codeexamplePattern: LOINC code 8462-4
Observation.component:diastolicBP.value[x].comparatorrequiredQuantityComparator
Observation.component:diastolicBP.dataAbsentReasonextensibleDataAbsentReason
Observation.component:diastolicBP.interpretationextensibleObservationInterpretationCodes
Observation.component:systolicBP.codeexamplePattern: LOINC code 8480-6
Observation.component:systolicBP.value[x].comparatorrequiredQuantityComparator
Observation.component:systolicBP.dataAbsentReasonextensibleDataAbsentReason
Observation.component:systolicBP.interpretationextensibleObservationInterpretationCodes

This structure is derived from Observation

Summary

Mandatory: 8 elements (1 nested mandatory element)
Must-Support: 1 element
Prohibited: 21 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element Observation.code.coding is sliced based on the value of value:$this (Closed)
  • The element Observation.effective[x] is sliced based on the value of type:$this
  • The element Observation.component is sliced based on the value of pattern:code (Closed)

Maturity: 2

Differential View

This structure is derived from Observation

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation 0..*ObservationMeasurements and simple assertions
... meta
.... security 0..0
.... tag 1..1CodingTags applied to this resource
Required Pattern: At least the following
..... system1..1uriIdentity of the terminology system
Fixed Value: https://wiki.mobilehealth.va.gov/x/Onc1C
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: 2ce6d9aa-c068-4809-8dda-662bcb16d09a
... implicitRules 0..0
... language 0..0
... contained 0..0
... extension 0..0
... modifierExtension 0..0
... basedOn 0..0
... partOf 0..0
... status 1..1coderegistered | preliminary | final | amended +
Required Pattern: final
... category 1..1CodeableConceptClassification of type of observation
Required Pattern: At least the following
.... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
..... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: vital-signs
... code
.... Slices for coding 2..2CodingCode defined by a terminology system
Slice: Unordered, Closed by value:$this
..... coding:loincCode1 1..1CodingCode defined by a terminology system
Required Pattern: At least the following
...... system1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
...... code1..1codeSymbol in syntax defined by the system
Fixed Value: 55284-4
...... display1..1stringRepresentation defined by the system
Fixed Value: Blood pressure systolic and diastolic
..... coding:loincCode2 1..1CodingCode defined by a terminology system
Required Pattern: At least the following
...... system1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
...... code1..1codeSymbol in syntax defined by the system
Fixed Value: 8716-3
...... display1..1stringRepresentation defined by the system
Fixed Value: Vital signs
... subject 1..1Reference(Patient)Who and/or what the observation is about
... focus 0..0
... encounter 0..0
... Slices for effective[x] 1..1dateTimeClinically relevant time/time-period for observation
Slice: Unordered, Open by type:$this
.... effective[x]:effectiveDateTime 1..1dateTimeClinically relevant time/time-period for observation
... issued 0..0
... performer 0..0
... value[x] 0..0
... dataAbsentReason 0..0
... interpretation 0..0
... note 0..1AnnotationComments about the observation
... bodySite 0..0
... method 0..0
... specimen 0..0
... device 0..0
... referenceRange 0..0
... hasMember S0..1Reference(VA MHV HeartRate Observation)Related resource that belongs to the Observation group
... derivedFrom 0..0
... Slices for component 2..2BackboneElementComponent results
Slice: Unordered, Closed by pattern:code
.... component:diastolicBP 1..1BackboneElementComponent results
..... code 1..1CodeableConceptType of component observation (code / type)
Required Pattern: At least the following
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: 8462-4
..... value[x] 0..1QuantityActual component result
Required Pattern: At least the following
...... system1..1uriSystem that defines coded unit form
Fixed Value: http://unitsofmeasure.org
...... code1..1codeCoded form of the unit
Fixed Value: mm[Hg]
...... value 0..1decimalNumerical value (with implicit precision)
.... component:systolicBP 1..1BackboneElementComponent results
..... code 1..1CodeableConceptType of component observation (code / type)
Required Pattern: At least the following
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: 8480-6
..... value[x] 0..1QuantityActual component result
Required Pattern: At least the following
...... system1..1uriSystem that defines coded unit form
Fixed Value: http://unitsofmeasure.org
...... code1..1codeCoded form of the unit
Fixed Value: mm[Hg]
...... value 0..1decimalNumerical value (with implicit precision)

doco Documentation for this format

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C0..*ObservationMeasurements and simple assertions
... status ?!Σ1..1coderegistered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an observation.


Required Pattern: final
... category 1..1CodeableConceptClassification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.



Required Pattern: At least the following
.... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
..... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: vital-signs
... code Σ1..1CodeableConceptType of observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.

.... Slices for coding Σ2..2CodingCode defined by a terminology system
Slice: Unordered, Closed by value:$this
..... coding:loincCode1 Σ1..1CodingCode defined by a terminology system

Required Pattern: At least the following
...... system1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
...... code1..1codeSymbol in syntax defined by the system
Fixed Value: 55284-4
...... display1..1stringRepresentation defined by the system
Fixed Value: Blood pressure systolic and diastolic
..... coding:loincCode2 Σ1..1CodingCode defined by a terminology system

Required Pattern: At least the following
...... system1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
...... code1..1codeSymbol in syntax defined by the system
Fixed Value: 8716-3
...... display1..1stringRepresentation defined by the system
Fixed Value: Vital signs
... subject Σ1..1Reference(Patient)Who and/or what the observation is about
... Slices for effective[x] Σ1..1dateTimeClinically relevant time/time-period for observation
Slice: Unordered, Closed by type:$this
.... effective[x]:effectiveDateTime Σ1..1dateTimeClinically relevant time/time-period for observation
... note 0..1AnnotationComments about the observation
... hasMember SΣ0..1Reference(VA MHV HeartRate Observation)Related resource that belongs to the Observation group
... Slices for component Σ2..2BackboneElementComponent results
Slice: Unordered, Closed by pattern:code
.... component:All Slices Content/Rules for all slices
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... code Σ1..1CodeableConceptType of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.

.... component:diastolicBP Σ1..1BackboneElementComponent results
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... code Σ1..1CodeableConceptType of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.


Required Pattern: At least the following
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: 8462-4
..... value[x] Σ0..1QuantityActual component result
Required Pattern: At least the following
...... system1..1uriSystem that defines coded unit form
Fixed Value: http://unitsofmeasure.org
...... code1..1codeCoded form of the unit
Fixed Value: mm[Hg]
...... value Σ0..1decimalNumerical value (with implicit precision)
...... comparator ?!Σ0..1code< | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

.... component:systolicBP Σ1..1BackboneElementComponent results
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... code Σ1..1CodeableConceptType of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.


Required Pattern: At least the following
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: 8480-6
..... value[x] Σ0..1QuantityActual component result
Required Pattern: At least the following
...... system1..1uriSystem that defines coded unit form
Fixed Value: http://unitsofmeasure.org
...... code1..1codeCoded form of the unit
Fixed Value: mm[Hg]
...... value Σ0..1decimalNumerical value (with implicit precision)
...... comparator ?!Σ0..1code< | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.


doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
Observation.statusrequiredPattern: final
Observation.categorypreferredPattern: vital-signs
Observation.codeexampleLOINCCodes (a valid code from LOINC)
Observation.component.codeexampleLOINCCodes (a valid code from LOINC)
Observation.component:diastolicBP.codeexamplePattern: LOINC code 8462-4
Observation.component:diastolicBP.value[x].comparatorrequiredQuantityComparator
Observation.component:systolicBP.codeexamplePattern: LOINC code 8480-6
Observation.component:systolicBP.value[x].comparatorrequiredQuantityComparator

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C0..*ObservationMeasurements and simple assertions
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... versionId Σ0..1idVersion specific identifier
.... lastUpdated Σ0..1instantWhen the resource version last changed
.... source Σ0..1uriIdentifies where the resource comes from
.... profile Σ0..*canonical(StructureDefinition)Profiles this resource claims to conform to
.... tag Σ1..1CodingTags applied to this resource
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".



Required Pattern: At least the following
..... id0..1stringUnique id for inter-element referencing
..... extension0..*ExtensionAdditional content defined by implementations
..... system1..1uriIdentity of the terminology system
Fixed Value: https://wiki.mobilehealth.va.gov/x/Onc1C
..... version0..1stringVersion of the system - if relevant
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: 2ce6d9aa-c068-4809-8dda-662bcb16d09a
..... display0..1stringRepresentation defined by the system
..... userSelected0..1booleanIf this coding was chosen directly by the user
... text 0..1NarrativeText summary of the resource, for human interpretation
... identifier Σ0..*IdentifierBusiness Identifier for observation
... status ?!Σ1..1coderegistered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an observation.


Required Pattern: final
... category 1..1CodeableConceptClassification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.



Required Pattern: At least the following
.... id0..1stringUnique id for inter-element referencing
.... extension0..*ExtensionAdditional content defined by implementations
.... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
..... id0..1stringUnique id for inter-element referencing
..... extension0..*ExtensionAdditional content defined by implementations
..... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
..... version0..1stringVersion of the system - if relevant
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: vital-signs
..... display0..1stringRepresentation defined by the system
..... userSelected0..1booleanIf this coding was chosen directly by the user
.... text0..1stringPlain text representation of the concept
... code Σ1..1CodeableConceptType of observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.

.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for coding Σ2..2CodingCode defined by a terminology system
Slice: Unordered, Closed by value:$this
..... coding:loincCode1 Σ1..1CodingCode defined by a terminology system

Required Pattern: At least the following
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... system1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
...... version0..1stringVersion of the system - if relevant
...... code1..1codeSymbol in syntax defined by the system
Fixed Value: 55284-4
...... display1..1stringRepresentation defined by the system
Fixed Value: Blood pressure systolic and diastolic
...... userSelected0..1booleanIf this coding was chosen directly by the user
..... coding:loincCode2 Σ1..1CodingCode defined by a terminology system

Required Pattern: At least the following
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... system1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
...... version0..1stringVersion of the system - if relevant
...... code1..1codeSymbol in syntax defined by the system
Fixed Value: 8716-3
...... display1..1stringRepresentation defined by the system
Fixed Value: Vital signs
...... userSelected0..1booleanIf this coding was chosen directly by the user
.... text Σ0..1stringPlain text representation of the concept
... subject Σ1..1Reference(Patient)Who and/or what the observation is about
... Slices for effective[x] Σ1..1dateTimeClinically relevant time/time-period for observation
Slice: Unordered, Closed by type:$this
.... effective[x]:effectiveDateTime Σ1..1dateTimeClinically relevant time/time-period for observation
... note 0..1AnnotationComments about the observation
... hasMember SΣ0..1Reference(VA MHV HeartRate Observation)Related resource that belongs to the Observation group
... Slices for component Σ2..2BackboneElementComponent results
Slice: Unordered, Closed by pattern:code
.... component:All Slices Content/Rules for all slices
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... code Σ1..1CodeableConceptType of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.

..... value[x] Σ0..1Actual component result
...... valueQuantityQuantity
...... valueCodeableConceptCodeableConcept
...... valueStringstring
...... valueBooleanboolean
...... valueIntegerinteger
...... valueRangeRange
...... valueRatioRatio
...... valueSampledDataSampledData
...... valueTimetime
...... valueDateTimedateTime
...... valuePeriodPeriod
..... dataAbsentReason C0..1CodeableConceptWhy the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

..... interpretation 0..*CodeableConceptHigh, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.


..... referenceRange 0..*See referenceRange (Observation)Provides guide for interpretation of component result
.... component:diastolicBP Σ1..1BackboneElementComponent results
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... code Σ1..1CodeableConceptType of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.


Required Pattern: At least the following
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... id0..1stringUnique id for inter-element referencing
....... extension0..*ExtensionAdditional content defined by implementations
....... system1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
....... version0..1stringVersion of the system - if relevant
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: 8462-4
....... display0..1stringRepresentation defined by the system
....... userSelected0..1booleanIf this coding was chosen directly by the user
...... text0..1stringPlain text representation of the concept
..... value[x] Σ0..1QuantityActual component result
Required Pattern: At least the following
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... value0..1decimalNumerical value (with implicit precision)
...... comparator0..1code< | <= | >= | > - how to understand the value
...... unit0..1stringUnit representation
...... system1..1uriSystem that defines coded unit form
Fixed Value: http://unitsofmeasure.org
...... code1..1codeCoded form of the unit
Fixed Value: mm[Hg]
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... value Σ0..1decimalNumerical value (with implicit precision)
...... comparator ?!Σ0..1code< | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

...... unit Σ0..1stringUnit representation
...... system ΣC0..1uriSystem that defines coded unit form
...... code Σ0..1codeCoded form of the unit
..... dataAbsentReason C0..1CodeableConceptWhy the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

..... interpretation 0..*CodeableConceptHigh, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.


..... referenceRange 0..*See referenceRange (Observation)Provides guide for interpretation of component result
.... component:systolicBP Σ1..1BackboneElementComponent results
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... code Σ1..1CodeableConceptType of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.


Required Pattern: At least the following
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... id0..1stringUnique id for inter-element referencing
....... extension0..*ExtensionAdditional content defined by implementations
....... system1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
....... version0..1stringVersion of the system - if relevant
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: 8480-6
....... display0..1stringRepresentation defined by the system
....... userSelected0..1booleanIf this coding was chosen directly by the user
...... text0..1stringPlain text representation of the concept
..... value[x] Σ0..1QuantityActual component result
Required Pattern: At least the following
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... value0..1decimalNumerical value (with implicit precision)
...... comparator0..1code< | <= | >= | > - how to understand the value
...... unit0..1stringUnit representation
...... system1..1uriSystem that defines coded unit form
Fixed Value: http://unitsofmeasure.org
...... code1..1codeCoded form of the unit
Fixed Value: mm[Hg]
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... value Σ0..1decimalNumerical value (with implicit precision)
...... comparator ?!Σ0..1code< | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

...... unit Σ0..1stringUnit representation
...... system ΣC0..1uriSystem that defines coded unit form
...... code Σ0..1codeCoded form of the unit
..... dataAbsentReason C0..1CodeableConceptWhy the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

..... interpretation 0..*CodeableConceptHigh, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.


..... referenceRange 0..*See referenceRange (Observation)Provides guide for interpretation of component result

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
Observation.meta.tagexamplePattern: 2ce6d9aa-c068-4809-8dda-662bcb16d09a
Observation.statusrequiredPattern: final
Observation.categorypreferredPattern: vital-signs
Observation.codeexampleLOINCCodes (a valid code from LOINC)
Observation.referenceRange.typepreferredObservationReferenceRangeMeaningCodes
Observation.referenceRange.appliesToexampleObservationReferenceRangeAppliesToCodes
Observation.component.codeexampleLOINCCodes (a valid code from LOINC)
Observation.component.dataAbsentReasonextensibleDataAbsentReason
Observation.component.interpretationextensibleObservationInterpretationCodes
Observation.component:diastolicBP.codeexamplePattern: LOINC code 8462-4
Observation.component:diastolicBP.value[x].comparatorrequiredQuantityComparator
Observation.component:diastolicBP.dataAbsentReasonextensibleDataAbsentReason
Observation.component:diastolicBP.interpretationextensibleObservationInterpretationCodes
Observation.component:systolicBP.codeexamplePattern: LOINC code 8480-6
Observation.component:systolicBP.value[x].comparatorrequiredQuantityComparator
Observation.component:systolicBP.dataAbsentReasonextensibleDataAbsentReason
Observation.component:systolicBP.interpretationextensibleObservationInterpretationCodes

This structure is derived from Observation

Summary

Mandatory: 8 elements (1 nested mandatory element)
Must-Support: 1 element
Prohibited: 21 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element Observation.code.coding is sliced based on the value of value:$this (Closed)
  • The element Observation.effective[x] is sliced based on the value of type:$this
  • The element Observation.component is sliced based on the value of pattern:code (Closed)

Maturity: 2

 

Other representations of profile: CSV, Excel, Schematron

Notes:

This is the notes for the VA.MHV.bloodPressure Profile

Positive Tests

TODO write this in cucumber.

load all of the blood pressure examples that are compliant to the MHV profile into PGHD, and all the heart rate examples that are in a hasMember relationship:

  • show them in MHV, they should show fine.

load all of the other bloodPressure examples and heart rate examples. Some data won’t show at all. They should not crash MHV.

  • edit them in MHV, they should show the data that MHV understands. When the edit is saved, the resulting resource in PGHD should now be conformant to the MHV bloodPressure profile

Negative Tests

TODO write this in cucumber.