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: cqf-observation-absent

The official URL for this profile is:

http://hl7.org/fhir/Profile/cqf-observation-absent-cqf-observation-absent

. Profile of Observation Absent for decision support/quality metrics. Describes an observation that was not made, and records the reason that the observation is absent. An absent observation does not have a value, but does have identifying attributes and an absent reason. Removes modifying attributes and specifies which elements must be supported (understood) by CQF-compliant systems. : Clinical Quality Framework (CQF) Observation Absent Profile

This profile was published on Mon, Nov 10, 2014 00:00+1100 as a draft by Health Level Seven, Inc. - CQI WG.

Summary

Terminology Bindings

  • Observation.status must come from Codes providing the status of a CQF observation

Required/Prohibited Elements

  • The element Observation is required
  • The element Observation.code is required
  • The element Observation.value[x] is prohibited
  • The element Observation.dataAbsentReason is required
  • The element Observation.status is required
  • The element Observation.related.target is required

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..1An observation that was not made, with the reason that the observation was not made.
... code S1..1CodeableConcept
... value[x] 0..0Quantity, CodeableConcept, Attachment, Ratio, dateTime, Period, SampledData, string, time
... dataAbsentReason 1..1code
... interpretation 0..1CodeableConcept
... applies[x] S0..1dateTime, Period
... issued 0..1instant
... status 1..1codefinal | amended
Binding: CQFObservationStatus (required, not extensible)
... reliability 0..1code
... bodySite[x] S0..1CodeableConcept
... method S0..1CodeableConcept
... subject S0..1Patient, Group, Device, Location
... specimen 0..1Specimen
... performer S0..*Practitioner, Organization, Patient, RelatedPerson
... device 0..1Device, DeviceMetric
... encounter S0..1Encounter
... referenceRange 0..*string
.... low 0..1Quantity
.... high 0..1Quantity
.... meaning 0..1CodeableConcept
.... age 0..1Range
... related 0..*
.... type 0..1code
.... target 1..1Observation

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation I1..1An observation that was not made, with the reason that the observation was not made.
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..1CodeableConceptType of observation (code / type)
Binding: ObservationType (example, extensible)
... dataAbsentReason I1..1codeunknown | asked | temp | notasked +
Binding: DataAbsentReason (required, not extensible)
Example: unknown
... interpretation 0..1CodeableConceptHigh, low, normal, etc.
Binding: ObservationInterpretation (preferred, extensible)
... comments 0..1stringComments about result
... applies[x] S0..1dateTime, PeriodPhysiologically Relevant time/time-period for observation
... issued 0..1instantDate/Time this was made available
... status M1..1codefinal | amended
Binding: CQFObservationStatus (required, not extensible)
... reliability M0..1codeok | ongoing | early | questionable | calibrating | error +
Binding: ObservationReliability (required, not extensible)
... bodySiteCodeableConcept S0..1CodeableConceptObserved body part
Binding: BodySite (example, extensible)
... method S0..1CodeableConceptHow it was done
Binding: ObservationMethod (example, extensible)
... identifier 0..1IdentifierUnique Id for this particular observation
... subject S0..1Patient, Group, Device, LocationWho and/or what this is about
... specimen 0..1SpecimenSpecimen used for this observation
... performer S0..*Practitioner, Organization, Patient, RelatedPersonWho did the observation
... device 0..1Device, DeviceMetric(Measurement) Device
... encounter S0..1EncounterHealthcare event during which this observation is made
... referenceRange I0..*stringProvides guide for interpretation
obs-3: Must have at least a low or a high or text
.... extension 0..*ExtensionAdditional Content defined by implementations
.... value 0..1xsd:stringPrimitive value for string
.... id 0..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension 0..*ExtensionExtensions that cannot be ignored
.... low I0..1QuantityLow Range, if relevant
obs-4: Low range comparators can only be '>' or '>=' or empty
.... high I0..1QuantityHigh Range, if relevant
obs-5: High range comparators can only be '<' or '<=' or empty
.... meaning 0..1CodeableConceptIndicates the meaning/use of this range of this range
Binding: ObservationRangeMeaning (example, extensible)
.... age 0..1RangeApplicable age range, if relevant
.... text 0..1stringText based reference range in an observation
... related 0..*Observations related to this observation
.... id 0..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension 0..*ExtensionExtensions that cannot be ignored
.... type 0..1codehas-component | has-member | derived-from | sequel-to | replaces | qualified-by | interfered-by
Binding: ObservationRelationshipType (required, not extensible)
.... target 1..1ObservationObservation that is related to this one

XML Template

JSON Template

todo

Differential View

This structure is derived from Observation.

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation 1..1An observation that was not made, with the reason that the observation was not made.
... code S1..1CodeableConcept
... value[x] 0..0Quantity, CodeableConcept, Attachment, Ratio, dateTime, Period, SampledData, string, time
... dataAbsentReason 1..1code
... interpretation 0..1CodeableConcept
... applies[x] S0..1dateTime, Period
... issued 0..1instant
... status 1..1codefinal | amended
Binding: CQFObservationStatus (required, not extensible)
... reliability 0..1code
... bodySite[x] S0..1CodeableConcept
... method S0..1CodeableConcept
... subject S0..1Patient, Group, Device, Location
... specimen 0..1Specimen
... performer S0..*Practitioner, Organization, Patient, RelatedPerson
... device 0..1Device, DeviceMetric
... encounter S0..1Encounter
... referenceRange 0..*string
.... low 0..1Quantity
.... high 0..1Quantity
.... meaning 0..1CodeableConcept
.... age 0..1Range
... related 0..*
.... type 0..1code
.... target 1..1Observation

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation I1..1An observation that was not made, with the reason that the observation was not made.
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..1CodeableConceptType of observation (code / type)
Binding: ObservationType (example, extensible)
... dataAbsentReason I1..1codeunknown | asked | temp | notasked +
Binding: DataAbsentReason (required, not extensible)
Example: unknown
... interpretation 0..1CodeableConceptHigh, low, normal, etc.
Binding: ObservationInterpretation (preferred, extensible)
... comments 0..1stringComments about result
... applies[x] S0..1dateTime, PeriodPhysiologically Relevant time/time-period for observation
... issued 0..1instantDate/Time this was made available
... status M1..1codefinal | amended
Binding: CQFObservationStatus (required, not extensible)
... reliability M0..1codeok | ongoing | early | questionable | calibrating | error +
Binding: ObservationReliability (required, not extensible)
... bodySiteCodeableConcept S0..1CodeableConceptObserved body part
Binding: BodySite (example, extensible)
... method S0..1CodeableConceptHow it was done
Binding: ObservationMethod (example, extensible)
... identifier 0..1IdentifierUnique Id for this particular observation
... subject S0..1Patient, Group, Device, LocationWho and/or what this is about
... specimen 0..1SpecimenSpecimen used for this observation
... performer S0..*Practitioner, Organization, Patient, RelatedPersonWho did the observation
... device 0..1Device, DeviceMetric(Measurement) Device
... encounter S0..1EncounterHealthcare event during which this observation is made
... referenceRange I0..*stringProvides guide for interpretation
obs-3: Must have at least a low or a high or text
.... extension 0..*ExtensionAdditional Content defined by implementations
.... value 0..1xsd:stringPrimitive value for string
.... id 0..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension 0..*ExtensionExtensions that cannot be ignored
.... low I0..1QuantityLow Range, if relevant
obs-4: Low range comparators can only be '>' or '>=' or empty
.... high I0..1QuantityHigh Range, if relevant
obs-5: High range comparators can only be '<' or '<=' or empty
.... meaning 0..1CodeableConceptIndicates the meaning/use of this range of this range
Binding: ObservationRangeMeaning (example, extensible)
.... age 0..1RangeApplicable age range, if relevant
.... text 0..1stringText based reference range in an observation
... related 0..*Observations related to this observation
.... id 0..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension 0..*ExtensionExtensions that cannot be ignored
.... type 0..1codehas-component | has-member | derived-from | sequel-to | replaces | qualified-by | interfered-by
Binding: ObservationRelationshipType (required, not extensible)
.... target 1..1ObservationObservation that is related to this one

XML Template

JSON Template

todo

 

Other definitions: (todo)

Terminology Bindings

PathNameConformanceValueSet
Observation.languageLanguagerequiredhttp://tools.ietf.org/html/bcp47
Observation.codeObservationTypeexample (extensible)LOINC Codes
Observation.dataAbsentReasonDataAbsentReasonrequiredDataAbsentReason
Observation.interpretationObservationInterpretationpreferred (extensible)Observation Interpretation Codes
Observation.statusCQFObservationStatusrequiredCQFObservationStatus
Observation.reliabilityObservationReliabilityrequiredObservationReliability
Observation.bodySiteCodeableConceptBodySiteexample (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 = '>=')
.