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 Body Temperature Observation

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

A profile on the Observation that declares how MHV will Create/Read in PGHD for body temperature 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#8310-5 code
  • must have effectiveDateTime
    • others might use effectivePeriod
  • must have valueQuantity with units from the MHV body temperatures (F and C)
    • must be value between 80 <= n <= 110 Fahrenheit
  • must have status at final
  • must point at the patient
  • may have a bodySite from MHV body temperature sites (tongue, underarm, ear, mouth, or rectum)
  • may have a note (comment)
  • once created will or might have an id, versionId, lastUpdated, text, and identifier

Search PGHD

Body Temperature 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|8310-5&_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 Body Temperature 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-vitalsigns

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation 0..*observation-vitalsignsFHIR Vital Signs Profile
... 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
... code 1..1CodeableConceptCoded Responses from C-CDA Vital Sign Results
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: 8310-5
..... display1..1stringRepresentation defined by the system
Fixed Value: Body temperature
... 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] 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 0..1decimalNumerical value (with implicit precision)
.... unit 0..1stringUnit representation
Binding: The body temperature measurement types that MHV supports (required)
... dataAbsentReason 0..0
... interpretation 0..0
... note 0..1AnnotationComments about the observation
... bodySite 0..1CodeableConceptObserved body part
Binding: The body temperature measurement sites that MHV supports (required)
... 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

Terminology Bindings (Differential)

PathConformanceValueSet
Observation.value[x].unitrequiredMHVbodyTemperatures
Observation.bodySiterequiredMHVbodyTemperatureSites

 

Other representations of profile: CSV, Excel, Schematron

Notes:

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

Positive Tests

TODO write this in cucumber.

load all of the body temperature examples that are compliant to the MHV profile into PGHD,

  • show them in MHV, they should show fine.

load all of the other body temperature 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 body temperature profile

Negative Tests

TODO write this in cucumber.