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: DAFResultObservationCode

The official URL for this profile is:

http://hl7.org/fhir/Profile/observation-daf-results-dafresultobservationcode

. DAF laboratory result (value is code)

This profile was published on Mon, Nov 17, 2014 00:00+1100 as a draft by U.S. Office of the National Coordinator (ONC).

Summary

Terminology Bindings

  • Observation.interpretation must come from Codes identifying interpretations of observations

Required/Prohibited Elements

  • The element Observation is required
  • The element Observation.code is required
  • The element Observation.code.coding.system is required
  • The element Observation.code.coding.code is required
  • The element Observation.code.coding.system is required
  • The element Observation.code.coding.code is required
  • The element Observation.valueCodeableConcept.coding.system is required
  • The element Observation.valueCodeableConcept.coding.code is required
  • The element Observation.valueCodeableConcept.coding.system is required
  • The element Observation.valueCodeableConcept.coding.code is required
  • The element Observation.interpretation.coding is required
  • The element Observation.interpretation.coding.code is required
  • The element Observation.status is required
  • The element Observation.bodySite is prohibited
  • The element Observation.identifier is required
  • The element Observation.identifier.use is required
  • The element Observation.identifier.label is required
  • The element Observation.identifier.system is required
  • The element Observation.identifier.value is required
  • The element Observation.subject is required

Fixed Values

  • The element Observation.code.coding.system value has been fixed to http://loinc.org
  • The element Observation.valueCodeableConcept.coding.system value has been fixed to http://snomed.info/sct
  • The element Observation.identifier.use value has been fixed to official
  • The element Observation.identifier.label value has been fixed to Lab test result ID

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..1DAF laboratory result (value is code)
... code S I1..1US Realm Laboratory Test Name
inv-2: Must have a LOINC or a Local code or both.
.... coding Slice: Unordered, Open, by system
.... coding S I0..1LOINC coding if concept exists in LOINC
..... system S1..1uriLOINC Coding System
Fixed Value: http://loinc.org
..... code S1..1LOINC
..... display S0..1LOINC Display Name
.... coding S I0..1
..... system S1..1uriLocal Coding System
..... code S1..1Local Code
..... display S0..1Local Code Display name
.... text S0..1Display text
... valueCodeableConcept S I0..1Coded Test Result
inv-3: Must have a SNOMED-CT code or a Local code or both.
.... coding Slice: Unordered, Open, by system
.... coding S I0..1SNOMED-CT coding if available
..... system S1..1uriSNOMED-CT Coding System
Fixed Value: http://snomed.info/sct
..... code S1..1SNOMED-CT
..... display S0..1SNOMED-CT Display Name
.... coding S I0..1
..... system S1..1uriLocal Coding System
..... code S1..1Local Code
..... display S0..1Local Code Display name
.... text S0..1Display text
... dataAbsentReason S0..1
... interpretation S0..1Binding: USLabObsInterpretation (required, not extensible)
.... coding S1..1
..... code S1..1
... applies[x] S I0..1For lab tests this is the specimen collection date.
inv-1: Datetime must be at least to day.
... issued S0..1
... status S1..1
... bodySite 0..0
... identifier S1..1
.... use S1..1codeFixed Value: official
.... label S1..1stringFixed Value: Lab test result ID
.... system S1..1Lab URI
.... value S1..1
... subject S1..1patient-daf-dafpatient
... encounter S0..1encounter-daf-dafencounter

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation I1..1DAF laboratory result (value is code)
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 S I1..1CodeableConceptUS Realm Laboratory Test Name
Binding: ObservationType (example, extensible)
inv-2: Must have a LOINC or a Local code or both.
.... id 0..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... coding CodingCode defined by a terminology system
Slice: Unordered, Open, by system
.... coding S0..1CodingLOINC coding if concept exists in LOINC
..... id 0..1idxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... system S1..1uriLOINC Coding System
Fixed Value: http://loinc.org
..... version 0..1stringVersion of the system - if relevant
..... code S1..1codeLOINC
..... display S0..1stringLOINC Display Name
..... primary 0..1booleanIf this code was chosen directly by the user
..... valueSet 0..1ValueSetSet this coding was chosen from
.... coding S0..1CodingCode defined by a terminology system
..... id 0..1idxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... system S1..1uriLocal Coding System
..... version 0..1stringVersion of the system - if relevant
..... code S1..1codeLocal Code
..... display S0..1stringLocal Code Display name
..... primary 0..1booleanIf this code was chosen directly by the user
..... valueSet 0..1ValueSetSet this coding was chosen from
.... text S0..1stringDisplay text
... value[x] S I0..1Quantity, CodeableConcept, Attachment, Ratio, dateTime, Period, SampledData, string, timeCoded Test Result
inv-3: Must have a SNOMED-CT code or a Local code or both.
... dataAbsentReason S I0..1codeunknown | asked | temp | notasked +
Binding: DataAbsentReason (required, not extensible)
Example: unknown
... interpretation S0..1CodeableConceptHigh, low, normal, etc.
Binding: USLabObsInterpretation (required, not extensible)
.... id 0..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... coding S1..1CodingCode defined by a terminology system
..... id 0..1idxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... system 0..1uriIdentity of the terminology system
..... version 0..1stringVersion of the system - if relevant
..... code S1..1codeSymbol in syntax defined by the system
..... display 0..1stringRepresentation defined by the system
..... primary 0..1booleanIf this code was chosen directly by the user
..... valueSet 0..1ValueSetSet this coding was chosen from
.... text 0..1stringPlain text representation of the concept
... comments 0..1stringComments about result
... applies[x] S I0..1dateTime, PeriodFor lab tests this is the specimen collection date.
inv-1: Datetime must be at least to day.
... issued S0..1instantDate/Time this was made available
... status M S1..1coderegistered | preliminary | final | amended +
Binding: ObservationStatus (required, not extensible)
... reliability M0..1codeok | ongoing | early | questionable | calibrating | error +
Binding: ObservationReliability (required, not extensible)
... bodySite[x] 0..1CodeableConcept, BodySiteObserved body part
Binding: BodySite (example, extensible)
... method 0..1CodeableConceptHow it was done
Binding: ObservationMethod (example, extensible)
... identifier S1..1IdentifierUnique Id for this particular observation
.... id 0..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... use M S1..1codeusual | official | temp | secondary (If known)
Binding: IdentifierUse (required, not extensible)
Fixed Value: official
.... label S1..1stringDescription of identifier
Fixed Value: Lab test result ID
.... system S1..1uriLab URI
Example: http://www.acme.com/identifiers/patient or urn:ietf:rfc:3986 if the id itself is a full uri
.... value S1..1stringThe value that is unique
Example: 123456
.... period 0..1PeriodTime period when id is/was valid for use
.... assigner 0..1OrganizationOrganization that issued id (may be just text)
... subject S1..1patient-daf-dafpatientWho 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 S0..1encounter-daf-dafencounterHealthcare event during which this observation is made
... referenceRange I0..*Provides 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
.... 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..1DAF laboratory result (value is code)
... code S I1..1US Realm Laboratory Test Name
inv-2: Must have a LOINC or a Local code or both.
.... coding Slice: Unordered, Open, by system
.... coding S I0..1LOINC coding if concept exists in LOINC
..... system S1..1uriLOINC Coding System
Fixed Value: http://loinc.org
..... code S1..1LOINC
..... display S0..1LOINC Display Name
.... coding S I0..1
..... system S1..1uriLocal Coding System
..... code S1..1Local Code
..... display S0..1Local Code Display name
.... text S0..1Display text
... valueCodeableConcept S I0..1Coded Test Result
inv-3: Must have a SNOMED-CT code or a Local code or both.
.... coding Slice: Unordered, Open, by system
.... coding S I0..1SNOMED-CT coding if available
..... system S1..1uriSNOMED-CT Coding System
Fixed Value: http://snomed.info/sct
..... code S1..1SNOMED-CT
..... display S0..1SNOMED-CT Display Name
.... coding S I0..1
..... system S1..1uriLocal Coding System
..... code S1..1Local Code
..... display S0..1Local Code Display name
.... text S0..1Display text
... dataAbsentReason S0..1
... interpretation S0..1Binding: USLabObsInterpretation (required, not extensible)
.... coding S1..1
..... code S1..1
... applies[x] S I0..1For lab tests this is the specimen collection date.
inv-1: Datetime must be at least to day.
... issued S0..1
... status S1..1
... bodySite 0..0
... identifier S1..1
.... use S1..1codeFixed Value: official
.... label S1..1stringFixed Value: Lab test result ID
.... system S1..1Lab URI
.... value S1..1
... subject S1..1patient-daf-dafpatient
... encounter S0..1encounter-daf-dafencounter

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation I1..1DAF laboratory result (value is code)
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 S I1..1CodeableConceptUS Realm Laboratory Test Name
Binding: ObservationType (example, extensible)
inv-2: Must have a LOINC or a Local code or both.
.... id 0..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... coding CodingCode defined by a terminology system
Slice: Unordered, Open, by system
.... coding S0..1CodingLOINC coding if concept exists in LOINC
..... id 0..1idxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... system S1..1uriLOINC Coding System
Fixed Value: http://loinc.org
..... version 0..1stringVersion of the system - if relevant
..... code S1..1codeLOINC
..... display S0..1stringLOINC Display Name
..... primary 0..1booleanIf this code was chosen directly by the user
..... valueSet 0..1ValueSetSet this coding was chosen from
.... coding S0..1CodingCode defined by a terminology system
..... id 0..1idxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... system S1..1uriLocal Coding System
..... version 0..1stringVersion of the system - if relevant
..... code S1..1codeLocal Code
..... display S0..1stringLocal Code Display name
..... primary 0..1booleanIf this code was chosen directly by the user
..... valueSet 0..1ValueSetSet this coding was chosen from
.... text S0..1stringDisplay text
... value[x] S I0..1Quantity, CodeableConcept, Attachment, Ratio, dateTime, Period, SampledData, string, timeCoded Test Result
inv-3: Must have a SNOMED-CT code or a Local code or both.
... dataAbsentReason S I0..1codeunknown | asked | temp | notasked +
Binding: DataAbsentReason (required, not extensible)
Example: unknown
... interpretation S0..1CodeableConceptHigh, low, normal, etc.
Binding: USLabObsInterpretation (required, not extensible)
.... id 0..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... coding S1..1CodingCode defined by a terminology system
..... id 0..1idxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... system 0..1uriIdentity of the terminology system
..... version 0..1stringVersion of the system - if relevant
..... code S1..1codeSymbol in syntax defined by the system
..... display 0..1stringRepresentation defined by the system
..... primary 0..1booleanIf this code was chosen directly by the user
..... valueSet 0..1ValueSetSet this coding was chosen from
.... text 0..1stringPlain text representation of the concept
... comments 0..1stringComments about result
... applies[x] S I0..1dateTime, PeriodFor lab tests this is the specimen collection date.
inv-1: Datetime must be at least to day.
... issued S0..1instantDate/Time this was made available
... status M S1..1coderegistered | preliminary | final | amended +
Binding: ObservationStatus (required, not extensible)
... reliability M0..1codeok | ongoing | early | questionable | calibrating | error +
Binding: ObservationReliability (required, not extensible)
... bodySite[x] 0..1CodeableConcept, BodySiteObserved body part
Binding: BodySite (example, extensible)
... method 0..1CodeableConceptHow it was done
Binding: ObservationMethod (example, extensible)
... identifier S1..1IdentifierUnique Id for this particular observation
.... id 0..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... use M S1..1codeusual | official | temp | secondary (If known)
Binding: IdentifierUse (required, not extensible)
Fixed Value: official
.... label S1..1stringDescription of identifier
Fixed Value: Lab test result ID
.... system S1..1uriLab URI
Example: http://www.acme.com/identifiers/patient or urn:ietf:rfc:3986 if the id itself is a full uri
.... value S1..1stringThe value that is unique
Example: 123456
.... period 0..1PeriodTime period when id is/was valid for use
.... assigner 0..1OrganizationOrganization that issued id (may be just text)
... subject S1..1patient-daf-dafpatientWho 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 S0..1encounter-daf-dafencounterHealthcare event during which this observation is made
... referenceRange I0..*Provides 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
.... 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.interpretationUSLabObsInterpretationrequiredUS Laboratory Observation Profile Interpretation Codes
Observation.statusObservationStatusrequiredObservationStatus
Observation.reliabilityObservationReliabilityrequiredObservationReliability
Observation.bodySite[x]BodySiteexample (extensible)SNOMED CT Body Structures
Observation.methodObservationMethodexample (extensible)Observation Methods
Observation.identifier.useIdentifierUserequiredIdentifierUse
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')])))
inv-2Observation.codeLOINC or LocalMust have a LOINC or a Local code or both.
XPath: exists(f:coding)
inv-3Observation.value[x]Snomed or LocalMust have a SNOMED-CT code or a Local code or both.
XPath: exists(f:coding)
inv-1Observation.applies[x]datetime to DayDatetime must be at least to day.
XPath: f:matches(appliesDateTime,/\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z)/)
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 = '>=')
.