MyHealtheVet PHR FHIR API
0.3.9-current - ci-build
MyHealtheVet PHR FHIR API, published by VA Digital Services. This guide is not an authorized publication; it is the continuous build for version 0.3.9-current built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/department-of-veterans-affairs/mhv-fhir-phr-mapping/ and changes regularly. See the Directory of published versions
Official URL: https://department-of-veterans-affairs.github.io/mhv-fhir-phr-mapping/StructureDefinition/VA.MHV.PHR.vitals | Version: 0.3.9-current | |||
Standards status: Trial-use | Maturity Level: 4 | Computable Name: MHVvitals |
A profile on the Observation resource for MHV PHR exposing Vital-Signs using FHIR API.
subject
is a reference to this patientstatus
is final
unless entered-in-error
category
code of vital-signs
code.text
the original vital-sign type name
coding
may be LOINC if available
.value[x]
, but has .component
with values.valueInteger
- a score 0-10.valueQuantity
else .valueString
effectiveDateTime
vital-sign timestamp of when observedperformer
may have contained recorder, and/or observer
alternate-reference
that points to a Location resource identifying the VAMC where the vital-sign was first recordedidentifier
will hold the record identifier from VistaA search for vital-signs would limit the Observations to vital-signs by including the category
search parameter (i.e. &category=http://terminology.hl7.org/CodeSystem/observation-category|vital-signs
).
Should search for entries that do not have status=entered-in-error
(might also work to look for only completed
) (i.e., &status:not=entered-in-error
)
GET {path}/Observation?patient={patient}&category=http://terminology.hl7.org/CodeSystem/observation-category vital-signs&status:not=entered-in-error
The following is a future improvement beyond MVP. There are "qualifiers" in the vista data model with vital signs. They are a flat list of codes. I am working with KBS to figure out the right way to process them, but at this time that is not yet decided. The following is current thinking, but not likely final thinking.
.bodySite
may hold the bodySite from qualifiers.extension[observation-bodyPosition]
may hold the bodyPosition from qualifiers.method
may hold the method from qualifiers.device
may hold the device from qualifiers.component.code
may hold any other qualifiers, with no .component.value[x]
Usage:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from USCoreVitalSignsProfile
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | 0..* | USCoreVitalSignsProfile | US Core Vital Signs Profile | |
Slices for identifier | 1..* | Identifier | Business Identifier for observation Slice: Unordered, Open by pattern:use | |
identifier:TOid | 1..* | Identifier | Business Identifier for observation | |
use | 1..1 | code | usual | official | temp | secondary | old (If known) Required Pattern: usual | |
system | C | 0..1 | uri | urn:oid:2.16.840.1.113883.4.349.4.{stationNbr} TOid-startswithoid: ID system must start with urn:oid:2.16.840.1.113883.4.349.4. The next would be the {stationNbr} |
value | 0..1 | string | `VitalSignTO` | `.` | {VitalSignTO.type.id} | |
basedOn | 0..0 | |||
partOf | 0..0 | |||
status | 1..1 | code | May indicate entered-in-error | |
category | 1..* | CodeableConcept | Classification of type of observation | |
code | ||||
coding | S | 0..* | Coding | Code defined by a terminology system |
text | S | 0..1 | string | Plain text representation of the concept |
subject | 1..1 | Reference(US Core Patient Profile) | Who and/or what the observation is about | |
focus | 0..0 | |||
encounter | 0..0 | |||
Slices for effective[x] | 1..1 | dateTime | Often just a dateTime for Vital Signs Slice: Unordered, Open by type:$this | |
effective[x]:effectiveDateTime | 1..1 | dateTime | Often just a dateTime for Vital Signs | |
issued | 0..0 | |||
performer | S | 0..* | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) {c} | Who is responsible for the observation |
Slices for extension | Content/Rules for all slices | |||
site | 0..1 | (Complex) | Alternative reference (target type is wrong) URL: http://hl7.org/fhir/StructureDefinition/alternate-reference | |
value[x] | 1..1 | Reference(Location) {c} | Value of extension | |
value[x] | 0..1 | Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period | Vital Signs Value | |
interpretation | 0..0 | |||
note | 0..0 | |||
bodySite | 0..0 | |||
method | 0..0 | |||
specimen | 0..0 | |||
device | 0..0 | |||
referenceRange | 0..0 | |||
hasMember | 0..0 | |||
derivedFrom | 0..0 | |||
Documentation for this format |
Id | Grade | Path(s) | Details | Requirements |
TOid-startswithoid | error | Observation.identifier:TOid.system | ID system must start with urn:oid:2.16.840.1.113883.4.349.4. The next would be the {stationNbr} : value.startsWith('urn:oid:2.16.840.1.113883.4.349.4.') |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | C | 0..* | USCoreVitalSignsProfile | US Core Vital Signs Profile obs-6: dataAbsentReason SHALL only be present if Observation.value[x] is not present obs-7: If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present vs-2: If there is no component or hasMember element then either a value[x] or a data absent reason must be present. |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
Slices for identifier | Σ | 1..* | Identifier | Business Identifier for observation Slice: Unordered, Open by pattern:use |
identifier:TOid | Σ | 1..* | Identifier | Business Identifier for observation |
use | ?!Σ | 1..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . Required Pattern: usual |
system | ΣC | 0..1 | uri | urn:oid:2.16.840.1.113883.4.349.4.{stationNbr} TOid-startswithoid: ID system must start with urn:oid:2.16.840.1.113883.4.349.4. The next would be the {stationNbr} Example General: http://www.acme.com/identifiers/patient |
value | Σ | 0..1 | string | `VitalSignTO` | `.` | {VitalSignTO.type.id} Example General: 123456 |
status | ?!SΣ | 1..1 | code | May indicate entered-in-error Binding: ObservationStatus (required) |
Slices for category | S | 1..* | CodeableConcept | Classification 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 | S | 1..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. |
coding | SΣ | 1..* | Coding | Code defined by a terminology system |
system | SΣ | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category |
code | SΣ | 1..1 | code | Symbol in syntax defined by the system Fixed Value: vital-signs |
code | SΣ | 1..1 | CodeableConcept | Coded Responses from C-CDA Vital Sign Results Binding: US Core Vital Signs ValueSet (extensible): The vital sign codes from the base FHIR and US Core Vital Signs. |
coding | SΣ | 0..* | Coding | Code defined by a terminology system |
text | SΣ | 0..1 | string | Plain text representation of the concept |
subject | SΣ | 1..1 | Reference(US Core Patient Profile) | Who and/or what the observation is about |
Slices for effective[x] | SΣC | 1..1 | dateTime | Often just a dateTime for Vital Signs Slice: Unordered, Closed by type:$this vs-1: if Observation.effective[x] is dateTime and has a value then that value shall be precise to the day |
effective[x]:effectiveDateTime | SΣC | 1..1 | dateTime | Often just a dateTime for Vital Signs vs-1: if Observation.effective[x] is dateTime and has a value then that value shall be precise to the day |
performer | SΣ | 0..* | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) {c} | Who is responsible for the observation |
Slices for extension | Content/Rules for all slices | |||
site | 0..1 | (Complex) | Alternative reference (target type is wrong) URL: http://hl7.org/fhir/StructureDefinition/alternate-reference | |
extension | 0..0 | |||
url | 1..1 | uri | "http://hl7.org/fhir/StructureDefinition/alternate-reference" | |
value[x] | 1..1 | Reference(Location) {c} | Value of extension | |
value[x] | SΣC | 0..1 | Vital Signs Value Binding: VitalSignsUnits (extensible): Common UCUM units for recording Vital Signs. | |
valueQuantity | Quantity | |||
dataAbsentReason | SC | 0..1 | CodeableConcept | Why the result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. |
component | SΣC | 0..* | BackboneElement | Component observations vs-3: If there is no a value a data absent reason must be present |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
code | SΣ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: US Core Vital Signs ValueSet (extensible): The vital sign codes from the base FHIR and US Core Vital Signs. |
value[x] | SΣC | 0..1 | Vital Sign Component Value Binding: VitalSignsUnits (extensible): Common UCUM units for recording Vital Signs. | |
valueQuantity | Quantity | |||
dataAbsentReason | SC | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. |
Documentation for this format |
Path | Conformance | ValueSet / Code | URI |
Observation.identifier:TOid.use | required | Pattern: usualhttp://hl7.org/fhir/ValueSet/identifier-use|4.0.1 from the FHIR Standard | |
Observation.status | required | ObservationStatushttp://hl7.org/fhir/ValueSet/observation-status|4.0.1 from the FHIR Standard | |
Observation.category | preferred | ObservationCategoryCodeshttp://hl7.org/fhir/ValueSet/observation-category from the FHIR Standard | |
Observation.category:VSCat | preferred | ObservationCategoryCodeshttp://hl7.org/fhir/ValueSet/observation-category from the FHIR Standard | |
Observation.code | extensible | UsCoreVitalSignshttp://hl7.org/fhir/us/core/ValueSet/us-core-vital-signs | |
Observation.value[x] | extensible | VitalSignsUnitshttp://hl7.org/fhir/ValueSet/ucum-vitals-common|4.0.1 from the FHIR Standard | |
Observation.dataAbsentReason | extensible | DataAbsentReasonhttp://hl7.org/fhir/ValueSet/data-absent-reason from the FHIR Standard | |
Observation.component.code | extensible | UsCoreVitalSignshttp://hl7.org/fhir/us/core/ValueSet/us-core-vital-signs | |
Observation.component.value[x] | extensible | VitalSignsUnitshttp://hl7.org/fhir/ValueSet/ucum-vitals-common|4.0.1 from the FHIR Standard | |
Observation.component.dataAbsentReason | extensible | DataAbsentReasonhttp://hl7.org/fhir/ValueSet/data-absent-reason from the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
TOid-startswithoid | error | Observation.identifier:TOid.system | ID system must start with urn:oid:2.16.840.1.113883.4.349.4. The next would be the {stationNbr} : value.startsWith('urn:oid:2.16.840.1.113883.4.349.4.') |
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Observation | C | 0..* | USCoreVitalSignsProfile | US Core Vital Signs Profile obs-6: dataAbsentReason SHALL only be present if Observation.value[x] is not present obs-7: If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present vs-2: If there is no component or hasMember element then either a value[x] or a data absent reason must be present. | ||||
id | Σ | 0..1 | id | Logical id of this artifact | ||||
meta | Σ | 0..1 | Meta | Metadata about the resource | ||||
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |||||
contained | 0..* | Resource | Contained, inline Resources | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ||||
Slices for identifier | Σ | 1..* | Identifier | Business Identifier for observation Slice: Unordered, Open by pattern:use | ||||
identifier:TOid | Σ | 1..* | Identifier | Business Identifier for observation | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
use | ?!Σ | 1..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . Required Pattern: usual | ||||
type | Σ | 0..1 | CodeableConcept | Description of identifier Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. | ||||
system | ΣC | 0..1 | uri | urn:oid:2.16.840.1.113883.4.349.4.{stationNbr} TOid-startswithoid: ID system must start with urn:oid:2.16.840.1.113883.4.349.4. The next would be the {stationNbr} Example General: http://www.acme.com/identifiers/patient | ||||
value | Σ | 0..1 | string | `VitalSignTO` | `.` | {VitalSignTO.type.id} Example General: 123456 | ||||
period | Σ | 0..1 | Period | Time period when id is/was valid for use | ||||
assigner | Σ | 0..1 | Reference(Organization) | Organization that issued id (may be just text) | ||||
status | ?!SΣ | 1..1 | code | May indicate entered-in-error Binding: ObservationStatus (required) | ||||
Slices for category | S | 1..* | CodeableConcept | Classification 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 | S | 1..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
coding | SΣ | 1..* | Coding | Code defined by a terminology system | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
system | SΣ | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | SΣ | 1..1 | code | Symbol in syntax defined by the system Fixed Value: vital-signs | ||||
display | Σ | 0..1 | string | Representation defined by the system | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
text | Σ | 0..1 | string | Plain text representation of the concept | ||||
code | SΣ | 1..1 | CodeableConcept | Coded Responses from C-CDA Vital Sign Results Binding: US Core Vital Signs ValueSet (extensible): The vital sign codes from the base FHIR and US Core Vital Signs. | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
coding | SΣ | 0..* | Coding | Code defined by a terminology system | ||||
text | SΣ | 0..1 | string | Plain text representation of the concept | ||||
subject | SΣ | 1..1 | Reference(US Core Patient Profile) | Who and/or what the observation is about | ||||
Slices for effective[x] | SΣC | 1..1 | dateTime S | Often just a dateTime for Vital Signs Slice: Unordered, Closed by type:$this vs-1: if Observation.effective[x] is dateTime and has a value then that value shall be precise to the day | ||||
effective[x]:effectiveDateTime | SΣC | 1..1 | dateTime S | Often just a dateTime for Vital Signs vs-1: if Observation.effective[x] is dateTime and has a value then that value shall be precise to the day | ||||
performer | SΣ | 0..* | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) {c} | Who is responsible for the observation | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
Slices for extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
site | 0..1 | (Complex) | Alternative reference (target type is wrong) URL: http://hl7.org/fhir/StructureDefinition/alternate-reference | |||||
id | 0..1 | id | Unique id for inter-element referencing | |||||
extension | 0..0 | |||||||
url | 1..1 | uri | "http://hl7.org/fhir/StructureDefinition/alternate-reference" | |||||
value[x] | 1..1 | Reference(Location) {c} | Value of extension | |||||
reference | ΣC | 0..1 | string | Literal reference, Relative, internal or absolute URL | ||||
type | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model). | ||||
identifier | Σ | 0..1 | Identifier | Logical reference, when literal reference is not known | ||||
display | Σ | 0..1 | string | Text alternative for the resource | ||||
value[x] | SΣC | 0..1 | Vital Signs Value Binding: VitalSignsUnits (extensible): Common UCUM units for recording Vital Signs. | |||||
valueQuantity | Quantity S | |||||||
valueCodeableConcept | CodeableConcept | |||||||
valueString | string | |||||||
valueBoolean | boolean | |||||||
valueInteger | integer | |||||||
valueRange | Range | |||||||
valueRatio | Ratio | |||||||
valueSampledData | SampledData | |||||||
valueTime | time | |||||||
valueDateTime | dateTime | |||||||
valuePeriod | Period | |||||||
dataAbsentReason | SC | 0..1 | CodeableConcept | Why the result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | ||||
component | SΣC | 0..* | BackboneElement | Component observations vs-3: If there is no a value a data absent reason must be present | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
code | SΣ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: US Core Vital Signs ValueSet (extensible): The vital sign codes from the base FHIR and US Core Vital Signs. | ||||
value[x] | SΣC | 0..1 | Vital Sign Component Value Binding: VitalSignsUnits (extensible): Common UCUM units for recording Vital Signs. | |||||
valueQuantity | Quantity S | |||||||
valueCodeableConcept | CodeableConcept | |||||||
valueString | string | |||||||
valueBoolean | boolean | |||||||
valueInteger | integer | |||||||
valueRange | Range | |||||||
valueRatio | Ratio | |||||||
valueSampledData | SampledData | |||||||
valueTime | time | |||||||
valueDateTime | dateTime | |||||||
valuePeriod | Period | |||||||
dataAbsentReason | SC | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | ||||
interpretation | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. | |||||
referenceRange | 0..* | See referenceRange (Observation) | Provides guide for interpretation of component result | |||||
Documentation for this format |
Path | Conformance | ValueSet / Code | URI | |||
Observation.language | preferred | CommonLanguages
http://hl7.org/fhir/ValueSet/languages from the FHIR Standard | ||||
Observation.identifier:TOid.use | required | Pattern: usualhttp://hl7.org/fhir/ValueSet/identifier-use|4.0.1 from the FHIR Standard | ||||
Observation.identifier:TOid.type | extensible | Identifier Type Codeshttp://hl7.org/fhir/ValueSet/identifier-type from the FHIR Standard | ||||
Observation.status | required | ObservationStatushttp://hl7.org/fhir/ValueSet/observation-status|4.0.1 from the FHIR Standard | ||||
Observation.category | preferred | ObservationCategoryCodeshttp://hl7.org/fhir/ValueSet/observation-category from the FHIR Standard | ||||
Observation.category:VSCat | preferred | ObservationCategoryCodeshttp://hl7.org/fhir/ValueSet/observation-category from the FHIR Standard | ||||
Observation.code | extensible | UsCoreVitalSignshttp://hl7.org/fhir/us/core/ValueSet/us-core-vital-signs | ||||
Observation.performer.type | extensible | ResourceTypehttp://hl7.org/fhir/ValueSet/resource-types from the FHIR Standard | ||||
Observation.value[x] | extensible | VitalSignsUnitshttp://hl7.org/fhir/ValueSet/ucum-vitals-common|4.0.1 from the FHIR Standard | ||||
Observation.dataAbsentReason | extensible | DataAbsentReasonhttp://hl7.org/fhir/ValueSet/data-absent-reason from the FHIR Standard | ||||
Observation.referenceRange.type | preferred | ObservationReferenceRangeMeaningCodeshttp://hl7.org/fhir/ValueSet/referencerange-meaning from the FHIR Standard | ||||
Observation.referenceRange.appliesTo | example | ObservationReferenceRangeAppliesToCodeshttp://hl7.org/fhir/ValueSet/referencerange-appliesto from the FHIR Standard | ||||
Observation.component.code | extensible | UsCoreVitalSignshttp://hl7.org/fhir/us/core/ValueSet/us-core-vital-signs | ||||
Observation.component.value[x] | extensible | VitalSignsUnitshttp://hl7.org/fhir/ValueSet/ucum-vitals-common|4.0.1 from the FHIR Standard | ||||
Observation.component.dataAbsentReason | extensible | DataAbsentReasonhttp://hl7.org/fhir/ValueSet/data-absent-reason from the FHIR Standard | ||||
Observation.component.interpretation | extensible | ObservationInterpretationCodeshttp://hl7.org/fhir/ValueSet/observation-interpretation from the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
TOid-startswithoid | error | Observation.identifier:TOid.system | ID system must start with urn:oid:2.16.840.1.113883.4.349.4. The next would be the {stationNbr} : value.startsWith('urn:oid:2.16.840.1.113883.4.349.4.') |
This structure is derived from USCoreVitalSignsProfile
Summary
Mandatory: 4 elements
Must-Support: 3 elements
Prohibited: 14 elements
Extensions
This structure refers to these extensions:
Slices
This structure defines the following Slices:
Maturity: 4
Differential View
This structure is derived from USCoreVitalSignsProfile
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | 0..* | USCoreVitalSignsProfile | US Core Vital Signs Profile | |
Slices for identifier | 1..* | Identifier | Business Identifier for observation Slice: Unordered, Open by pattern:use | |
identifier:TOid | 1..* | Identifier | Business Identifier for observation | |
use | 1..1 | code | usual | official | temp | secondary | old (If known) Required Pattern: usual | |
system | C | 0..1 | uri | urn:oid:2.16.840.1.113883.4.349.4.{stationNbr} TOid-startswithoid: ID system must start with urn:oid:2.16.840.1.113883.4.349.4. The next would be the {stationNbr} |
value | 0..1 | string | `VitalSignTO` | `.` | {VitalSignTO.type.id} | |
basedOn | 0..0 | |||
partOf | 0..0 | |||
status | 1..1 | code | May indicate entered-in-error | |
category | 1..* | CodeableConcept | Classification of type of observation | |
code | ||||
coding | S | 0..* | Coding | Code defined by a terminology system |
text | S | 0..1 | string | Plain text representation of the concept |
subject | 1..1 | Reference(US Core Patient Profile) | Who and/or what the observation is about | |
focus | 0..0 | |||
encounter | 0..0 | |||
Slices for effective[x] | 1..1 | dateTime | Often just a dateTime for Vital Signs Slice: Unordered, Open by type:$this | |
effective[x]:effectiveDateTime | 1..1 | dateTime | Often just a dateTime for Vital Signs | |
issued | 0..0 | |||
performer | S | 0..* | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) {c} | Who is responsible for the observation |
Slices for extension | Content/Rules for all slices | |||
site | 0..1 | (Complex) | Alternative reference (target type is wrong) URL: http://hl7.org/fhir/StructureDefinition/alternate-reference | |
value[x] | 1..1 | Reference(Location) {c} | Value of extension | |
value[x] | 0..1 | Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period | Vital Signs Value | |
interpretation | 0..0 | |||
note | 0..0 | |||
bodySite | 0..0 | |||
method | 0..0 | |||
specimen | 0..0 | |||
device | 0..0 | |||
referenceRange | 0..0 | |||
hasMember | 0..0 | |||
derivedFrom | 0..0 | |||
Documentation for this format |
Id | Grade | Path(s) | Details | Requirements |
TOid-startswithoid | error | Observation.identifier:TOid.system | ID system must start with urn:oid:2.16.840.1.113883.4.349.4. The next would be the {stationNbr} : value.startsWith('urn:oid:2.16.840.1.113883.4.349.4.') |
Key Elements View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | C | 0..* | USCoreVitalSignsProfile | US Core Vital Signs Profile obs-6: dataAbsentReason SHALL only be present if Observation.value[x] is not present obs-7: If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present vs-2: If there is no component or hasMember element then either a value[x] or a data absent reason must be present. |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
Slices for identifier | Σ | 1..* | Identifier | Business Identifier for observation Slice: Unordered, Open by pattern:use |
identifier:TOid | Σ | 1..* | Identifier | Business Identifier for observation |
use | ?!Σ | 1..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . Required Pattern: usual |
system | ΣC | 0..1 | uri | urn:oid:2.16.840.1.113883.4.349.4.{stationNbr} TOid-startswithoid: ID system must start with urn:oid:2.16.840.1.113883.4.349.4. The next would be the {stationNbr} Example General: http://www.acme.com/identifiers/patient |
value | Σ | 0..1 | string | `VitalSignTO` | `.` | {VitalSignTO.type.id} Example General: 123456 |
status | ?!SΣ | 1..1 | code | May indicate entered-in-error Binding: ObservationStatus (required) |
Slices for category | S | 1..* | CodeableConcept | Classification 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 | S | 1..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. |
coding | SΣ | 1..* | Coding | Code defined by a terminology system |
system | SΣ | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category |
code | SΣ | 1..1 | code | Symbol in syntax defined by the system Fixed Value: vital-signs |
code | SΣ | 1..1 | CodeableConcept | Coded Responses from C-CDA Vital Sign Results Binding: US Core Vital Signs ValueSet (extensible): The vital sign codes from the base FHIR and US Core Vital Signs. |
coding | SΣ | 0..* | Coding | Code defined by a terminology system |
text | SΣ | 0..1 | string | Plain text representation of the concept |
subject | SΣ | 1..1 | Reference(US Core Patient Profile) | Who and/or what the observation is about |
Slices for effective[x] | SΣC | 1..1 | dateTime | Often just a dateTime for Vital Signs Slice: Unordered, Closed by type:$this vs-1: if Observation.effective[x] is dateTime and has a value then that value shall be precise to the day |
effective[x]:effectiveDateTime | SΣC | 1..1 | dateTime | Often just a dateTime for Vital Signs vs-1: if Observation.effective[x] is dateTime and has a value then that value shall be precise to the day |
performer | SΣ | 0..* | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) {c} | Who is responsible for the observation |
Slices for extension | Content/Rules for all slices | |||
site | 0..1 | (Complex) | Alternative reference (target type is wrong) URL: http://hl7.org/fhir/StructureDefinition/alternate-reference | |
extension | 0..0 | |||
url | 1..1 | uri | "http://hl7.org/fhir/StructureDefinition/alternate-reference" | |
value[x] | 1..1 | Reference(Location) {c} | Value of extension | |
value[x] | SΣC | 0..1 | Vital Signs Value Binding: VitalSignsUnits (extensible): Common UCUM units for recording Vital Signs. | |
valueQuantity | Quantity | |||
dataAbsentReason | SC | 0..1 | CodeableConcept | Why the result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. |
component | SΣC | 0..* | BackboneElement | Component observations vs-3: If there is no a value a data absent reason must be present |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
code | SΣ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: US Core Vital Signs ValueSet (extensible): The vital sign codes from the base FHIR and US Core Vital Signs. |
value[x] | SΣC | 0..1 | Vital Sign Component Value Binding: VitalSignsUnits (extensible): Common UCUM units for recording Vital Signs. | |
valueQuantity | Quantity | |||
dataAbsentReason | SC | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. |
Documentation for this format |
Path | Conformance | ValueSet / Code | URI |
Observation.identifier:TOid.use | required | Pattern: usualhttp://hl7.org/fhir/ValueSet/identifier-use|4.0.1 from the FHIR Standard | |
Observation.status | required | ObservationStatushttp://hl7.org/fhir/ValueSet/observation-status|4.0.1 from the FHIR Standard | |
Observation.category | preferred | ObservationCategoryCodeshttp://hl7.org/fhir/ValueSet/observation-category from the FHIR Standard | |
Observation.category:VSCat | preferred | ObservationCategoryCodeshttp://hl7.org/fhir/ValueSet/observation-category from the FHIR Standard | |
Observation.code | extensible | UsCoreVitalSignshttp://hl7.org/fhir/us/core/ValueSet/us-core-vital-signs | |
Observation.value[x] | extensible | VitalSignsUnitshttp://hl7.org/fhir/ValueSet/ucum-vitals-common|4.0.1 from the FHIR Standard | |
Observation.dataAbsentReason | extensible | DataAbsentReasonhttp://hl7.org/fhir/ValueSet/data-absent-reason from the FHIR Standard | |
Observation.component.code | extensible | UsCoreVitalSignshttp://hl7.org/fhir/us/core/ValueSet/us-core-vital-signs | |
Observation.component.value[x] | extensible | VitalSignsUnitshttp://hl7.org/fhir/ValueSet/ucum-vitals-common|4.0.1 from the FHIR Standard | |
Observation.component.dataAbsentReason | extensible | DataAbsentReasonhttp://hl7.org/fhir/ValueSet/data-absent-reason from the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
TOid-startswithoid | error | Observation.identifier:TOid.system | ID system must start with urn:oid:2.16.840.1.113883.4.349.4. The next would be the {stationNbr} : value.startsWith('urn:oid:2.16.840.1.113883.4.349.4.') |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Observation | C | 0..* | USCoreVitalSignsProfile | US Core Vital Signs Profile obs-6: dataAbsentReason SHALL only be present if Observation.value[x] is not present obs-7: If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present vs-2: If there is no component or hasMember element then either a value[x] or a data absent reason must be present. | ||||
id | Σ | 0..1 | id | Logical id of this artifact | ||||
meta | Σ | 0..1 | Meta | Metadata about the resource | ||||
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |||||
contained | 0..* | Resource | Contained, inline Resources | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ||||
Slices for identifier | Σ | 1..* | Identifier | Business Identifier for observation Slice: Unordered, Open by pattern:use | ||||
identifier:TOid | Σ | 1..* | Identifier | Business Identifier for observation | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
use | ?!Σ | 1..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . Required Pattern: usual | ||||
type | Σ | 0..1 | CodeableConcept | Description of identifier Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. | ||||
system | ΣC | 0..1 | uri | urn:oid:2.16.840.1.113883.4.349.4.{stationNbr} TOid-startswithoid: ID system must start with urn:oid:2.16.840.1.113883.4.349.4. The next would be the {stationNbr} Example General: http://www.acme.com/identifiers/patient | ||||
value | Σ | 0..1 | string | `VitalSignTO` | `.` | {VitalSignTO.type.id} Example General: 123456 | ||||
period | Σ | 0..1 | Period | Time period when id is/was valid for use | ||||
assigner | Σ | 0..1 | Reference(Organization) | Organization that issued id (may be just text) | ||||
status | ?!SΣ | 1..1 | code | May indicate entered-in-error Binding: ObservationStatus (required) | ||||
Slices for category | S | 1..* | CodeableConcept | Classification 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 | S | 1..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
coding | SΣ | 1..* | Coding | Code defined by a terminology system | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
system | SΣ | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | SΣ | 1..1 | code | Symbol in syntax defined by the system Fixed Value: vital-signs | ||||
display | Σ | 0..1 | string | Representation defined by the system | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
text | Σ | 0..1 | string | Plain text representation of the concept | ||||
code | SΣ | 1..1 | CodeableConcept | Coded Responses from C-CDA Vital Sign Results Binding: US Core Vital Signs ValueSet (extensible): The vital sign codes from the base FHIR and US Core Vital Signs. | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
coding | SΣ | 0..* | Coding | Code defined by a terminology system | ||||
text | SΣ | 0..1 | string | Plain text representation of the concept | ||||
subject | SΣ | 1..1 | Reference(US Core Patient Profile) | Who and/or what the observation is about | ||||
Slices for effective[x] | SΣC | 1..1 | dateTime S | Often just a dateTime for Vital Signs Slice: Unordered, Closed by type:$this vs-1: if Observation.effective[x] is dateTime and has a value then that value shall be precise to the day | ||||
effective[x]:effectiveDateTime | SΣC | 1..1 | dateTime S | Often just a dateTime for Vital Signs vs-1: if Observation.effective[x] is dateTime and has a value then that value shall be precise to the day | ||||
performer | SΣ | 0..* | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) {c} | Who is responsible for the observation | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
Slices for extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
site | 0..1 | (Complex) | Alternative reference (target type is wrong) URL: http://hl7.org/fhir/StructureDefinition/alternate-reference | |||||
id | 0..1 | id | Unique id for inter-element referencing | |||||
extension | 0..0 | |||||||
url | 1..1 | uri | "http://hl7.org/fhir/StructureDefinition/alternate-reference" | |||||
value[x] | 1..1 | Reference(Location) {c} | Value of extension | |||||
reference | ΣC | 0..1 | string | Literal reference, Relative, internal or absolute URL | ||||
type | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model). | ||||
identifier | Σ | 0..1 | Identifier | Logical reference, when literal reference is not known | ||||
display | Σ | 0..1 | string | Text alternative for the resource | ||||
value[x] | SΣC | 0..1 | Vital Signs Value Binding: VitalSignsUnits (extensible): Common UCUM units for recording Vital Signs. | |||||
valueQuantity | Quantity S | |||||||
valueCodeableConcept | CodeableConcept | |||||||
valueString | string | |||||||
valueBoolean | boolean | |||||||
valueInteger | integer | |||||||
valueRange | Range | |||||||
valueRatio | Ratio | |||||||
valueSampledData | SampledData | |||||||
valueTime | time | |||||||
valueDateTime | dateTime | |||||||
valuePeriod | Period | |||||||
dataAbsentReason | SC | 0..1 | CodeableConcept | Why the result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | ||||
component | SΣC | 0..* | BackboneElement | Component observations vs-3: If there is no a value a data absent reason must be present | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
code | SΣ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: US Core Vital Signs ValueSet (extensible): The vital sign codes from the base FHIR and US Core Vital Signs. | ||||
value[x] | SΣC | 0..1 | Vital Sign Component Value Binding: VitalSignsUnits (extensible): Common UCUM units for recording Vital Signs. | |||||
valueQuantity | Quantity S | |||||||
valueCodeableConcept | CodeableConcept | |||||||
valueString | string | |||||||
valueBoolean | boolean | |||||||
valueInteger | integer | |||||||
valueRange | Range | |||||||
valueRatio | Ratio | |||||||
valueSampledData | SampledData | |||||||
valueTime | time | |||||||
valueDateTime | dateTime | |||||||
valuePeriod | Period | |||||||
dataAbsentReason | SC | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | ||||
interpretation | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. | |||||
referenceRange | 0..* | See referenceRange (Observation) | Provides guide for interpretation of component result | |||||
Documentation for this format |
Path | Conformance | ValueSet / Code | URI | |||
Observation.language | preferred | CommonLanguages
http://hl7.org/fhir/ValueSet/languages from the FHIR Standard | ||||
Observation.identifier:TOid.use | required | Pattern: usualhttp://hl7.org/fhir/ValueSet/identifier-use|4.0.1 from the FHIR Standard | ||||
Observation.identifier:TOid.type | extensible | Identifier Type Codeshttp://hl7.org/fhir/ValueSet/identifier-type from the FHIR Standard | ||||
Observation.status | required | ObservationStatushttp://hl7.org/fhir/ValueSet/observation-status|4.0.1 from the FHIR Standard | ||||
Observation.category | preferred | ObservationCategoryCodeshttp://hl7.org/fhir/ValueSet/observation-category from the FHIR Standard | ||||
Observation.category:VSCat | preferred | ObservationCategoryCodeshttp://hl7.org/fhir/ValueSet/observation-category from the FHIR Standard | ||||
Observation.code | extensible | UsCoreVitalSignshttp://hl7.org/fhir/us/core/ValueSet/us-core-vital-signs | ||||
Observation.performer.type | extensible | ResourceTypehttp://hl7.org/fhir/ValueSet/resource-types from the FHIR Standard | ||||
Observation.value[x] | extensible | VitalSignsUnitshttp://hl7.org/fhir/ValueSet/ucum-vitals-common|4.0.1 from the FHIR Standard | ||||
Observation.dataAbsentReason | extensible | DataAbsentReasonhttp://hl7.org/fhir/ValueSet/data-absent-reason from the FHIR Standard | ||||
Observation.referenceRange.type | preferred | ObservationReferenceRangeMeaningCodeshttp://hl7.org/fhir/ValueSet/referencerange-meaning from the FHIR Standard | ||||
Observation.referenceRange.appliesTo | example | ObservationReferenceRangeAppliesToCodeshttp://hl7.org/fhir/ValueSet/referencerange-appliesto from the FHIR Standard | ||||
Observation.component.code | extensible | UsCoreVitalSignshttp://hl7.org/fhir/us/core/ValueSet/us-core-vital-signs | ||||
Observation.component.value[x] | extensible | VitalSignsUnitshttp://hl7.org/fhir/ValueSet/ucum-vitals-common|4.0.1 from the FHIR Standard | ||||
Observation.component.dataAbsentReason | extensible | DataAbsentReasonhttp://hl7.org/fhir/ValueSet/data-absent-reason from the FHIR Standard | ||||
Observation.component.interpretation | extensible | ObservationInterpretationCodeshttp://hl7.org/fhir/ValueSet/observation-interpretation from the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
TOid-startswithoid | error | Observation.identifier:TOid.system | ID system must start with urn:oid:2.16.840.1.113883.4.349.4. The next would be the {stationNbr} : value.startsWith('urn:oid:2.16.840.1.113883.4.349.4.') |
This structure is derived from USCoreVitalSignsProfile
Summary
Mandatory: 4 elements
Must-Support: 3 elements
Prohibited: 14 elements
Extensions
This structure refers to these extensions:
Slices
This structure defines the following Slices:
Maturity: 4
Other representations of profile: CSV, Excel, Schematron
meta.profile
set to - JIRA
https://department-of-veterans-affairs.github.io/mhv-fhir-phr-mapping/StructureDefinition/VA.MHV.PHR.vitals
https://department-of-veterans-affairs.github.io/mhv-fhir-phr-mapping/StructureDefinition/VA.MHV.PHR.vitalsPain
https://department-of-veterans-affairs.github.io/mhv-fhir-phr-mapping/StructureDefinition/VA.MHV.PHR.vitalsBP
https://department-of-veterans-affairs.github.io/mhv-fhir-phr-mapping/StructureDefinition/VA.MHV.PHR.vitals-pulse-oximetry
status
of final
unless entered-in-error
category
code of vital-signs
code.text
the original VitalSignTO.type.name
coding
should be LOINC if available
identifier
as cross reference to original sourcesubject
is the patient.value[x]
, but has .component
.valueQuantity
.valueQuantity
else .valueString
lb
, F
, cmH2O
, and in
- Utility UCUMeffectiveDateTime
performer
VitalSignTO.location
)
VitalSignTO.recorder
)VitalSignTO.observer
).valueQuantity
else .valueString
)Qualifiers are beyond current MHV eVault, so are not MVP. Given that KBS is still working on defining what should be done, we should not implement any use of qualifiers.
.bodySite
= ConceptMap VF_VitalSite.extension[observation-deviceCode]
= ConceptMap VF_VitalDevice.method
= ConceptMap VF_VitalMethod.extension[observation-bodyPosition]
= ConceptMap VF_VitalPositioncomponent[=].code
either ConceptMap target code, or original VUID if nonecomponent[=].dataAbsentReason
= http://terminology.hl7.org/CodeSystem/data-absent-reason#not-applicable