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 HeartRate Observation

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

A profile on the Observation that declares how MHV will Create in PGHD for heart rate measurements.

Note this is compliant with FHIR core vital-signs.

  • must be marked with MHV app tag
  • must have vital-signs category
  • must have LOINC#8867-4 code
  • must have effectiveDateTime
    • others might use effectivePeriod
  • must have valueQuantity with units only of beats per minute
    • must be value 10 <= n <= 250
  • 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

Search PGHD

HeartRate are recorded by various applications using the same LOINC codes, MHV will query PGHD asking for Observations with that code.

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|8867-4&_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 the codes
  • _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 HeartRate 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-heartrate

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation observation-heartrate
... 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
... focus 0..0
... encounter 0..0
... Slices for effective[x] 1..1dateTimeOften just a dateTime for Vital Signs
Slice: Unordered, Open by type:$this
.... effective[x]:effectiveDateTime 1..1dateTimeOften just a dateTime for Vital Signs
... issued 0..0
... performer 0..0
... value[x]:valueQuantity 0..1QuantityVital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept.
.... value 1..1decimalNumerical value (with implicit precision)
.... unit 1..1stringUnit representation
Required Pattern: /min
... 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 0..0
... derivedFrom 0..0
... component 0..0

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C0..*observation-heartrateFHIR Heart Rate Profile
... status ?!SΣ1..1coderegistered | preliminary | final | amended +
Binding: ObservationStatus (required)
Required Pattern: final
... Slices for category S1..1CodeableConceptClassification of type of observation
Slice: Unordered, Open by value:coding.code, value:coding.system
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.


.... category:VSCat S1..1CodeableConceptClassification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.


..... coding SΣ1..*CodingCode defined by a terminology system
...... system SΣ1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
...... code SΣ1..1codeSymbol in syntax defined by the system
Fixed Value: vital-signs
... code SΣ1..1CodeableConceptHeart Rate
Binding: VitalSigns (extensible): This identifies the vital sign result type.

.... Slices for coding Σ0..*CodingCode defined by a terminology system
Slice: Unordered, Open by value:code, value:system
..... coding:HeartRateCode Σ1..1CodingCode defined by a terminology system
...... system Σ1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
...... code Σ1..1codeSymbol in syntax defined by the system
Fixed Value: 8867-4
... subject SΣ1..1Reference(Patient)Who and/or what the observation is about
... Slices for effective[x] SΣC1..1dateTimeOften just a dateTime for Vital Signs
Slice: Unordered, Closed by type:$this
.... effective[x]:effectiveDateTime SΣC1..1dateTimeOften just a dateTime for Vital Signs
... Slices for value[x] SΣC0..1QuantityVital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept.
Slice: Unordered, Closed by type:$this
.... value[x]:valueQuantity SΣC0..1QuantityVital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept.
..... value SΣ1..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 SΣ1..1stringUnit representation
Required Pattern: /min
..... system SΣC1..1uriSystem that defines coded unit form
Fixed Value: http://unitsofmeasure.org
..... code SΣ1..1codeCoded responses from the common UCUM units for vital signs value set.
Fixed Value: /min
... note 0..1AnnotationComments about the observation

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
Observation.statusrequiredPattern: final
Observation.categorypreferredObservationCategoryCodes
Observation.category:VSCatpreferredObservationCategoryCodes
Observation.codeextensibleVitalSigns
Observation.value[x]:valueQuantity.comparatorrequiredQuantityComparator
Observation.component.codeextensibleVitalSigns
Observation.component.value[x]requiredVitalSignsUnits
Observation.component.dataAbsentReasonextensibleDataAbsentReason
NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C0..*observation-heartrateFHIR Heart Rate Profile
... 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 ?!SΣ1..1coderegistered | preliminary | final | amended +
Binding: ObservationStatus (required)
Required Pattern: final
... Slices for category S1..1CodeableConceptClassification of type of observation
Slice: Unordered, Open by value:coding.code, value:coding.system
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.


.... category:VSCat S1..1CodeableConceptClassification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.


..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... coding SΣ1..*CodingCode defined by a terminology system
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... system SΣ1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
...... version Σ0..1stringVersion of the system - if relevant
...... code SΣ1..1codeSymbol in syntax defined by the system
Fixed Value: vital-signs
...... display Σ0..1stringRepresentation defined by the system
...... userSelected Σ0..1booleanIf this coding was chosen directly by the user
..... text Σ0..1stringPlain text representation of the concept
... code SΣ1..1CodeableConceptHeart Rate
Binding: VitalSigns (extensible): This identifies the vital sign result type.

.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for coding Σ0..*CodingCode defined by a terminology system
Slice: Unordered, Open by value:code, value:system
..... coding:HeartRateCode Σ1..1CodingCode defined by a terminology system
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
...... version Σ0..1stringVersion of the system - if relevant
...... code Σ1..1codeSymbol in syntax defined by the system
Fixed Value: 8867-4
...... display Σ0..1stringRepresentation defined by the system
...... userSelected Σ0..1booleanIf this coding was chosen directly by the user
.... text Σ0..1stringPlain text representation of the concept
... subject SΣ1..1Reference(Patient)Who and/or what the observation is about
... Slices for effective[x] SΣC1..1dateTimeOften just a dateTime for Vital Signs
Slice: Unordered, Closed by type:$this
.... effective[x]:effectiveDateTime SΣC1..1dateTimeOften just a dateTime for Vital Signs
... Slices for value[x] SΣC0..1QuantityVital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept.
Slice: Unordered, Closed by type:$this
.... value[x]:valueQuantity SΣC0..1QuantityVital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept.
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... value SΣ1..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 SΣ1..1stringUnit representation
Required Pattern: /min
..... system SΣC1..1uriSystem that defines coded unit form
Fixed Value: http://unitsofmeasure.org
..... code SΣ1..1codeCoded responses from the common UCUM units for vital signs value set.
Fixed Value: /min
... note 0..1AnnotationComments about the observation

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
Observation.meta.tagexamplePattern: 2ce6d9aa-c068-4809-8dda-662bcb16d09a
Observation.statusrequiredPattern: final
Observation.categorypreferredObservationCategoryCodes
Observation.category:VSCatpreferredObservationCategoryCodes
Observation.codeextensibleVitalSigns
Observation.value[x]:valueQuantity.comparatorrequiredQuantityComparator
Observation.referenceRange.typepreferredObservationReferenceRangeMeaningCodes
Observation.referenceRange.appliesToexampleObservationReferenceRangeAppliesToCodes
Observation.component.codeextensibleVitalSigns
Observation.component.value[x]requiredVitalSignsUnits
Observation.component.dataAbsentReasonextensibleDataAbsentReason
Observation.component.interpretationextensibleObservationInterpretationCodes

This structure is derived from observation-heartrate

Summary

Mandatory: 1 element (1 nested mandatory element)
Prohibited: 22 elements

Slices

This structure defines the following Slices:

  • The element Observation.effective[x] is sliced based on the value of type:$this

Maturity: 2

Differential View

This structure is derived from observation-heartrate

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation observation-heartrate
... 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
... focus 0..0
... encounter 0..0
... Slices for effective[x] 1..1dateTimeOften just a dateTime for Vital Signs
Slice: Unordered, Open by type:$this
.... effective[x]:effectiveDateTime 1..1dateTimeOften just a dateTime for Vital Signs
... issued 0..0
... performer 0..0
... value[x]:valueQuantity 0..1QuantityVital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept.
.... value 1..1decimalNumerical value (with implicit precision)
.... unit 1..1stringUnit representation
Required Pattern: /min
... 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 0..0
... derivedFrom 0..0
... component 0..0

doco Documentation for this format

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C0..*observation-heartrateFHIR Heart Rate Profile
... status ?!SΣ1..1coderegistered | preliminary | final | amended +
Binding: ObservationStatus (required)
Required Pattern: final
... Slices for category S1..1CodeableConceptClassification of type of observation
Slice: Unordered, Open by value:coding.code, value:coding.system
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.


.... category:VSCat S1..1CodeableConceptClassification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.


..... coding SΣ1..*CodingCode defined by a terminology system
...... system SΣ1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
...... code SΣ1..1codeSymbol in syntax defined by the system
Fixed Value: vital-signs
... code SΣ1..1CodeableConceptHeart Rate
Binding: VitalSigns (extensible): This identifies the vital sign result type.

.... Slices for coding Σ0..*CodingCode defined by a terminology system
Slice: Unordered, Open by value:code, value:system
..... coding:HeartRateCode Σ1..1CodingCode defined by a terminology system
...... system Σ1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
...... code Σ1..1codeSymbol in syntax defined by the system
Fixed Value: 8867-4
... subject SΣ1..1Reference(Patient)Who and/or what the observation is about
... Slices for effective[x] SΣC1..1dateTimeOften just a dateTime for Vital Signs
Slice: Unordered, Closed by type:$this
.... effective[x]:effectiveDateTime SΣC1..1dateTimeOften just a dateTime for Vital Signs
... Slices for value[x] SΣC0..1QuantityVital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept.
Slice: Unordered, Closed by type:$this
.... value[x]:valueQuantity SΣC0..1QuantityVital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept.
..... value SΣ1..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 SΣ1..1stringUnit representation
Required Pattern: /min
..... system SΣC1..1uriSystem that defines coded unit form
Fixed Value: http://unitsofmeasure.org
..... code SΣ1..1codeCoded responses from the common UCUM units for vital signs value set.
Fixed Value: /min
... note 0..1AnnotationComments about the observation

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
Observation.statusrequiredPattern: final
Observation.categorypreferredObservationCategoryCodes
Observation.category:VSCatpreferredObservationCategoryCodes
Observation.codeextensibleVitalSigns
Observation.value[x]:valueQuantity.comparatorrequiredQuantityComparator
Observation.component.codeextensibleVitalSigns
Observation.component.value[x]requiredVitalSignsUnits
Observation.component.dataAbsentReasonextensibleDataAbsentReason

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C0..*observation-heartrateFHIR Heart Rate Profile
... 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 ?!SΣ1..1coderegistered | preliminary | final | amended +
Binding: ObservationStatus (required)
Required Pattern: final
... Slices for category S1..1CodeableConceptClassification of type of observation
Slice: Unordered, Open by value:coding.code, value:coding.system
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.


.... category:VSCat S1..1CodeableConceptClassification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.


..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... coding SΣ1..*CodingCode defined by a terminology system
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... system SΣ1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
...... version Σ0..1stringVersion of the system - if relevant
...... code SΣ1..1codeSymbol in syntax defined by the system
Fixed Value: vital-signs
...... display Σ0..1stringRepresentation defined by the system
...... userSelected Σ0..1booleanIf this coding was chosen directly by the user
..... text Σ0..1stringPlain text representation of the concept
... code SΣ1..1CodeableConceptHeart Rate
Binding: VitalSigns (extensible): This identifies the vital sign result type.

.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for coding Σ0..*CodingCode defined by a terminology system
Slice: Unordered, Open by value:code, value:system
..... coding:HeartRateCode Σ1..1CodingCode defined by a terminology system
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
...... version Σ0..1stringVersion of the system - if relevant
...... code Σ1..1codeSymbol in syntax defined by the system
Fixed Value: 8867-4
...... display Σ0..1stringRepresentation defined by the system
...... userSelected Σ0..1booleanIf this coding was chosen directly by the user
.... text Σ0..1stringPlain text representation of the concept
... subject SΣ1..1Reference(Patient)Who and/or what the observation is about
... Slices for effective[x] SΣC1..1dateTimeOften just a dateTime for Vital Signs
Slice: Unordered, Closed by type:$this
.... effective[x]:effectiveDateTime SΣC1..1dateTimeOften just a dateTime for Vital Signs
... Slices for value[x] SΣC0..1QuantityVital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept.
Slice: Unordered, Closed by type:$this
.... value[x]:valueQuantity SΣC0..1QuantityVital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept.
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... value SΣ1..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 SΣ1..1stringUnit representation
Required Pattern: /min
..... system SΣC1..1uriSystem that defines coded unit form
Fixed Value: http://unitsofmeasure.org
..... code SΣ1..1codeCoded responses from the common UCUM units for vital signs value set.
Fixed Value: /min
... note 0..1AnnotationComments about the observation

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
Observation.meta.tagexamplePattern: 2ce6d9aa-c068-4809-8dda-662bcb16d09a
Observation.statusrequiredPattern: final
Observation.categorypreferredObservationCategoryCodes
Observation.category:VSCatpreferredObservationCategoryCodes
Observation.codeextensibleVitalSigns
Observation.value[x]:valueQuantity.comparatorrequiredQuantityComparator
Observation.referenceRange.typepreferredObservationReferenceRangeMeaningCodes
Observation.referenceRange.appliesToexampleObservationReferenceRangeAppliesToCodes
Observation.component.codeextensibleVitalSigns
Observation.component.value[x]requiredVitalSignsUnits
Observation.component.dataAbsentReasonextensibleDataAbsentReason
Observation.component.interpretationextensibleObservationInterpretationCodes

This structure is derived from observation-heartrate

Summary

Mandatory: 1 element (1 nested mandatory element)
Prohibited: 22 elements

Slices

This structure defines the following Slices:

  • The element Observation.effective[x] is sliced based on the value of type:$this

Maturity: 2

 

Other representations of profile: CSV, Excel, Schematron

Notes:

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

See the Heart Rate feature file

Positive Tests

all compliant examples can be found load all of the heart rate examples that are compliant to the MHV profile into PGHD,

  • show them in MHV, they should show fine.

Simple MHV HeartRate 1

Given Example MHV Heart Rate 1 Observation is loaded into PGHD

WHEN MHV shows Heart Rate 1 values

THEN MHV shows the heart rate as 185 beats per minute with the comment of “a bit fast”

WHEN MHV edits this values

THEN MHV shows the heart rate as 185 beats per minute with the comment of “a bit fast”

WHEN the test-user changes the heart rate value to 200 beats per minute AND submits the changes

THEN MHV will succeed to save to MHV AND the Test-Bench can retrieve the resource successfully AND the Test-Bench shows the heart rate value has changed to 200 beats per minute AND no other elements from the original are changed

Simple MHV HeartRate 2

Given Example MHV Heart Rate 2 Observation is loaded into PGHD

WHEN MHV shows Heart Rate 1 values

THEN MHV shows the heart rate as 18 beats per minute with the comment of “a bit slow”

WHEN MHV edits this values

THEN MHV shows the heart rate as 18 beats per minute with the comment of “a bit slow”

WHEN the test-user changes the heart rate value to 200 beats per minute AND submits the changes

THEN MHV will succeed to save to MHV AND the Test-Bench can retrieve the resource successfully AND the Test-Bench shows the heart rate value has changed to 200 beats per minute AND no other elements from the original are changed

Simple MHV HeartRate 3

Given Example MHV Heart Rate 3 Observation is loaded into PGHD

WHEN MHV shows Heart Rate 1 values

THEN MHV shows the heart rate as 65 beats per minute with the comment of “a nice calm”

WHEN MHV edits this values

THEN MHV shows the heart rate as 65 beats per minute with the comment of “a nice calm”

WHEN the test-user changes the heart rate value to 200 beats per minute AND submits the changes

THEN MHV will succeed to save to MHV AND the Test-Bench can retrieve the resource successfully AND the Test-Bench shows the heart rate value has changed to 200 beats per minute AND no other elements from the original are changed

Stress Positive Tests

TODO write this in cucumber.

load all of the heart rate examples into PGHD,

  • show them in MHV, they should show fine. 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 heart rate profile

Negative Tests

TODO write this in cucumber.

EKG should NOT show in MHV????