2nd DSTU Draft For Comment

This page is part of the FHIR Specification (v0.4.0: DSTU 2 Draft). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions

Profile: Cholesterol

The official URL for this profile is:

http://hl7.org/fhir/Profile/15046b9c-2da0-4b80-82ef-c6af6fcfd2bf-cholesterol

. Describes how the lab report is used for a standard Lipid Profile - Cholesterol, Triglyceride and Cholesterol fractions. Uses LOINC codes : Example Lipid Profile

This profile was published on Sat, May 12, 2012 00:00+1000 as a draft by Grahame Grieve.

Summary

Required/Prohibited Elements

  • The element Observation is required
  • The element Observation.code is required
  • The element Observation.valueQuantity.comparator is prohibited
  • The element Observation.valueQuantity.units is required
  • The element Observation.valueQuantity.system is required
  • The element Observation.valueQuantity.code is required
  • The element Observation.reliability is required
  • The element Observation.referenceRange is required
  • The element Observation.referenceRange.low is prohibited
  • The element Observation.referenceRange.high is required
  • The element Observation.referenceRange.meaning is prohibited
  • The element Observation.referenceRange.age is prohibited
  • The element Observation.related is prohibited

Fixed Values

  • The element Observation.code value has been fixed to LOINC code 35200-5("Cholesterol")
  • The element Observation.valueQuantity.units value has been fixed to mmol/L
  • The element Observation.valueQuantity.system value has been fixed to http://unitsofmeasure.org
  • The element Observation.valueQuantity.code value has been fixed to mmol/L
  • The element Observation.reliability value has been fixed to ok
  • The element Observation.referenceRange.high value has been fixed to 4.5mmol/L

Formal Views of Profile Content

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

Differential View

This structure is derived from Observation.

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation 1..1
... code S1..1CodeableConceptCholesterol
Fixed Value: {"coding":[{"system":"http://loinc.org","code":"35200-5","display":"Cholesterol"}]}
... valueQuantity S0..1QuantityCholesterol value
.... value S0..1decimalActual numerical value
.... comparator 0..0code
.... units S1..1stringFixed Value: mmol/L
.... system S1..1uriFixed Value: http://unitsofmeasure.org
.... code S1..1codeFixed Value: mmol/L
... interpretation S0..1CodeableConcept+ | ++ | +++ | - | -- | ---
... comments S0..1stringComments about result
... reliability 1..1codeCholesterol values can only be reported when there is no question about their status.
Fixed Value: ok
... referenceRange S1..1
.... low 0..0
.... high 1..1Quantity<4.5 mmol/L.
Fixed Value: {"value":4.5,"units":"mmol/L"}
.... meaning 0..0CodeableConcept
.... age 0..0Range
... related 0..0

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation I1..1Measurements and simple assertions
obs-6: Shall only be present if Observation.value[x] is not present
... id 0..1idLogical id of this artefact
... meta 0..1MetaMetadata about the resource
... implicitRules M0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: Language (required, not extensible)
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional Content defined by implementations
... modifierExtension 0..*ExtensionExtensions that cannot be ignored
... code S1..1CodeableConceptCholesterol
Binding: ObservationType (example, extensible)
Fixed Value: {"coding":[{"system":"http://loinc.org","code":"35200-5","display":"Cholesterol"}]}
... valueQuantity S0..1QuantityCholesterol value
.... id 0..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... value S0..1decimalActual numerical value
.... units S1..1stringUnit representation
Fixed Value: mmol/L
.... system S I1..1uriSystem that defines coded unit form
Fixed Value: http://unitsofmeasure.org
.... code S1..1codeCoded form of the unit
Fixed Value: mmol/L
... dataAbsentReason I0..1codeunknown | asked | temp | notasked +
Binding: DataAbsentReason (required, not extensible)
Example: unknown
... interpretation S0..1CodeableConcept+ | ++ | +++ | - | -- | ---
Binding: ObservationInterpretation (preferred, extensible)
... comments S0..1stringComments about result
... applies[x] 0..1dateTime, PeriodPhysiologically Relevant time/time-period for observation
... issued 0..1instantDate/Time this was made available
... status M1..1coderegistered | preliminary | final | amended +
Binding: ObservationStatus (required, not extensible)
... reliability M1..1codeCholesterol values can only be reported when there is no question about their status.
Binding: ObservationReliability (required, not extensible)
Fixed Value: ok
... bodySite[x] 0..1CodeableConcept, BodySiteObserved body part
Binding: BodySite (example, extensible)
... method 0..1CodeableConceptHow it was done
Binding: ObservationMethod (example, extensible)
... identifier 0..1IdentifierUnique Id for this particular observation
... subject 0..1Patient, Group, Device, LocationWho and/or what this is about
... specimen 0..1SpecimenSpecimen used for this observation
... performer 0..*Practitioner, Organization, Patient, RelatedPersonWho did the observation
... device 0..1Device, DeviceMetric(Measurement) Device
... encounter 0..1EncounterHealthcare event during which this observation is made
... referenceRange S I1..1Provides guide for interpretation
obs-3: Must have at least a low or a high or text
.... id 0..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension 0..*ExtensionExtensions that cannot be ignored
.... high I1..1Quantity<4.5 mmol/L.
obs-5: High range comparators can only be '<' or '<=' or empty
Fixed Value: {"value":4.5,"units":"mmol/L"}
.... text 0..1stringText based reference range in an observation

XML Template

JSON Template

todo

Differential View

This structure is derived from Observation.

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation 1..1
... code S1..1CodeableConceptCholesterol
Fixed Value: {"coding":[{"system":"http://loinc.org","code":"35200-5","display":"Cholesterol"}]}
... valueQuantity S0..1QuantityCholesterol value
.... value S0..1decimalActual numerical value
.... comparator 0..0code
.... units S1..1stringFixed Value: mmol/L
.... system S1..1uriFixed Value: http://unitsofmeasure.org
.... code S1..1codeFixed Value: mmol/L
... interpretation S0..1CodeableConcept+ | ++ | +++ | - | -- | ---
... comments S0..1stringComments about result
... reliability 1..1codeCholesterol values can only be reported when there is no question about their status.
Fixed Value: ok
... referenceRange S1..1
.... low 0..0
.... high 1..1Quantity<4.5 mmol/L.
Fixed Value: {"value":4.5,"units":"mmol/L"}
.... meaning 0..0CodeableConcept
.... age 0..0Range
... related 0..0

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation I1..1Measurements and simple assertions
obs-6: Shall only be present if Observation.value[x] is not present
... id 0..1idLogical id of this artefact
... meta 0..1MetaMetadata about the resource
... implicitRules M0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: Language (required, not extensible)
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional Content defined by implementations
... modifierExtension 0..*ExtensionExtensions that cannot be ignored
... code S1..1CodeableConceptCholesterol
Binding: ObservationType (example, extensible)
Fixed Value: {"coding":[{"system":"http://loinc.org","code":"35200-5","display":"Cholesterol"}]}
... valueQuantity S0..1QuantityCholesterol value
.... id 0..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... value S0..1decimalActual numerical value
.... units S1..1stringUnit representation
Fixed Value: mmol/L
.... system S I1..1uriSystem that defines coded unit form
Fixed Value: http://unitsofmeasure.org
.... code S1..1codeCoded form of the unit
Fixed Value: mmol/L
... dataAbsentReason I0..1codeunknown | asked | temp | notasked +
Binding: DataAbsentReason (required, not extensible)
Example: unknown
... interpretation S0..1CodeableConcept+ | ++ | +++ | - | -- | ---
Binding: ObservationInterpretation (preferred, extensible)
... comments S0..1stringComments about result
... applies[x] 0..1dateTime, PeriodPhysiologically Relevant time/time-period for observation
... issued 0..1instantDate/Time this was made available
... status M1..1coderegistered | preliminary | final | amended +
Binding: ObservationStatus (required, not extensible)
... reliability M1..1codeCholesterol values can only be reported when there is no question about their status.
Binding: ObservationReliability (required, not extensible)
Fixed Value: ok
... bodySite[x] 0..1CodeableConcept, BodySiteObserved body part
Binding: BodySite (example, extensible)
... method 0..1CodeableConceptHow it was done
Binding: ObservationMethod (example, extensible)
... identifier 0..1IdentifierUnique Id for this particular observation
... subject 0..1Patient, Group, Device, LocationWho and/or what this is about
... specimen 0..1SpecimenSpecimen used for this observation
... performer 0..*Practitioner, Organization, Patient, RelatedPersonWho did the observation
... device 0..1Device, DeviceMetric(Measurement) Device
... encounter 0..1EncounterHealthcare event during which this observation is made
... referenceRange S I1..1Provides guide for interpretation
obs-3: Must have at least a low or a high or text
.... id 0..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension 0..*ExtensionExtensions that cannot be ignored
.... high I1..1Quantity<4.5 mmol/L.
obs-5: High range comparators can only be '<' or '<=' or empty
Fixed Value: {"value":4.5,"units":"mmol/L"}
.... text 0..1stringText based reference range in an observation

XML Template

JSON Template

todo

 

Other definitions: (todo)

Terminology Bindings

PathNameConformanceValueSet
Observation.languageLanguagerequiredhttp://tools.ietf.org/html/bcp47
Observation.codeObservationTypeexample (extensible)LOINC Codes
Observation.valueQuantity.comparatorQuantityComparatorrequiredQuantityComparator
Observation.dataAbsentReasonDataAbsentReasonrequiredDataAbsentReason
Observation.interpretationObservationInterpretationpreferred (extensible)Observation Interpretation Codes
Observation.statusObservationStatusrequiredObservationStatus
Observation.reliabilityObservationReliabilityrequiredObservationReliability
Observation.bodySite[x]BodySiteexample (extensible)SNOMED CT Body Structures
Observation.methodObservationMethodexample (extensible)Observation Methods
Observation.referenceRange.meaningObservationRangeMeaningexample (extensible)Observation Reference Range Meaning Codes
Observation.related.typeObservationRelationshipTyperequiredObservationRelationshipType

Constraints

IdPathNameDetails
obs-6Observationdata absent reasonShall only be present if Observation.value[x] is not present
XPath: not(exists(f:dataAbsentReason)) or (not(exists(*[starts-with(local-name(.), 'value')])))
obs-3Observation.referenceRangereference rangeMust have at least a low or a high or text
XPath: (exists(f:low) or exists(f:high)or exists(f:text))
obs-4Observation.referenceRange.lowlow range comparatorsLow range comparators can only be '>' or '>=' or empty
XPath: not(exists(f:comparator)) or boolean(f:comparator/@value = '<') or boolean(f:comparator/@value = '<=')
obs-5Observation.referenceRange.highhigh range comparatorsHigh range comparators can only be '<' or '<=' or empty
XPath: not(exists(f:comparator)) or boolean(f:comparator/@value = '>') or boolean(f:comparator/@value = '>=')
.