STU 2 Ballot

This page is part of the Data Access Framework (v1.6.0: STU 2 Ballot 1) based on FHIR (HL7® FHIR® Standard) v1.6.0. The current version which supersedes this version is 2.0.0. For a full list of available versions, see the Directory of published versions

D.4.1 StructureDefinition: DAF-resultobs

The official URL for this profile is:

http://hl7.org/fhir/us/daf/StructureDefinition/daf-resultobs

This profile was published on Mon Nov 17 00:00:00 AEDT 2014 as a draft by Health Level Seven International (Infrastructure and Messaging - Data Access Framework).

D.4.1.1 Formal Views of Profile Content

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

This structure is derived from Observation

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation 0..*
... identifier S0..*Identifier
.... use S1..1code
.... system S1..1uri
.... value S1..1string
... status S1..1code
... code S1..1CodeableConceptBinding: uslab-obs-codes (extensible)
.... coding S1..*Coding
..... system S1..1uri
..... code S1..1code
..... display S0..1string
.... text S0..1string
... subject S1..1Reference(Profile daf-patient)
... encounter S0..1Reference(Profile daf-encounter)
... effective[x] SI0..1dateTime, Period1: Datetime must be at least to day.
... issued S0..1instant
... performer 0..*Reference(Profile daf-pract | Profile daf-organization | Profile daf-patient | Profile daf-relatedperson)
... value[x] S0..1Quantity, CodeableConcept, string, Range, Ratio, SampledData, Attachment, time, dateTime, Period
... dataAbsentReason S0..1CodeableConcept
... interpretation S0..1CodeableConceptBinding: uslab-obs-interpretation (required)
.... coding S1..*Coding
..... system S1..1uri
..... code S1..1code
... bodySite S0..1CodeableConcept
... specimen S0..1Reference(Profile daf-spec)
... referenceRange S0..1BackboneElement
... related S0..*BackboneElement
.... type S1..1codeFixed Value: has-member
.... target S1..1Reference(Profile daf-resultobs)
... component S0..*BackboneElement
.... code S1..1CodeableConceptBinding: uslab-obs-codes (extensible)
..... coding S1..*Coding
...... system S1..1uri
...... code S1..1code
...... display S0..1string
..... text S0..1string
.... value[x] S0..1Quantity, CodeableConcept, string, Range, Ratio, SampledData, Attachment, time, dateTime, Period
.... dataAbsentReason S0..1CodeableConcept
.... referenceRange S0..1Unknown reference to #Observation:dafobs.referenceRange

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation I0..*Measurements and simple assertions
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-1: If the resource is contained in another resource, it SHALL NOT contain any narrative
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
obs-7: If code is the same as a component code then the value element associated with the code SHALL NOT be present
obs-6: dataAbsentReason SHALL only be present if Observation.value[x] is not present
... id ∑0..1idLogical id of this artifact
... meta ∑0..1MetaMetadata about the resource
... implicitRules ?!∑0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: Common Languages (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
... identifier S0..*IdentifierUnique Id for this particular observation
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... use ?!S1..1codeusual | official | temp | secondary (If known)
Binding: IdentifierUse (required)
.... type ∑0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible)
.... system S1..1uriThe namespace for the identifier
Example: http://www.acme.com/identifiers/patient or urn:ietf:rfc:3986 if the Identifier.value 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..1Reference(Organization)Organization that issued id (may be just text)
... status ?!S1..1coderegistered | preliminary | final | amended +
Binding: ObservationStatus (required)
... category 0..*CodeableConceptClassification of type of observation
Binding: Observation Category Codes (example)
... code S1..1CodeableConceptType of observation (code / type)
Binding: uslab-obs-codes (extensible)
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... coding S1..*CodingCode defined by a terminology system
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... system S1..1uriIdentity of the terminology system
..... version ∑0..1stringVersion of the system - if relevant
..... code S1..1codeSymbol in syntax defined by the system
..... display S0..1stringRepresentation defined by the system
..... userSelected ∑0..1booleanIf this coding was chosen directly by the user
.... text S0..1stringPlain text representation of the concept
... subject S1..1Reference(Profile daf-patient)Who and/or what this is about
... encounter S0..1Reference(Profile daf-encounter)An interaction during which services are provided to the patient
... effective[x] SI0..1dateTime, PeriodClinically relevant time/time-period for observation
1: Datetime must be at least to day.
... issued S0..1instantDate/Time this was made available
... performer 0..*Reference(Profile daf-pract | Profile daf-organization | Profile daf-patient | Profile daf-relatedperson)Who is responsible for the observation
... value[x] SI0..1Quantity, CodeableConcept, string, Range, Ratio, SampledData, Attachment, time, dateTime, PeriodActual result
... dataAbsentReason SI0..1CodeableConceptWhy the result is missing
Binding: Observation Value Absent Reason (extensible)
... interpretation S0..1CodeableConceptHigh, low, normal, etc.
Binding: uslab-obs-interpretation (required)
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... coding S1..*CodingCode defined by a terminology system
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... system S1..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
..... userSelected ∑0..1booleanIf this coding was chosen directly by the user
.... text ∑0..1stringPlain text representation of the concept
... comment 0..1stringComments about result
... bodySite S0..1CodeableConceptObserved body part
Binding: SNOMED CT Body Structures (example)
... method 0..1CodeableConceptHow it was done
Binding: Observation Methods (example)
... specimen S0..1Reference(Profile daf-spec)Specimen used for this observation
... device 0..1Reference(Device | DeviceMetric)(Measurement) Device
... referenceRange SI0..1BackboneElementProvides guide for interpretation
obs-3: Must have at least a low or a high or text
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!∑0..*ExtensionExtensions that cannot be ignored
.... low I0..1SimpleQuantityLow Range, if relevant
.... high I0..1SimpleQuantityHigh Range, if relevant
.... meaning 0..*CodeableConceptReference range qualifier
Binding: Observation Reference Range Meaning Codes (example)
.... age 0..1RangeApplicable age range, if relevant
.... text 0..1stringText based reference range in an observation
... related S0..*BackboneElementResource related to this observation
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!∑0..*ExtensionExtensions that cannot be ignored
.... type S1..1codehas-member | derived-from | sequel-to | replaces | qualified-by | interfered-by
Binding: ObservationRelationshipType (required)
Fixed Value: has-member
.... target S1..1Reference(Profile daf-resultobs)Resource that is related to this one
... component S0..*BackboneElementComponent results
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!∑0..*ExtensionExtensions that cannot be ignored
.... code S1..1CodeableConceptType of component observation (code / type)
Binding: uslab-obs-codes (extensible)
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... coding S1..*CodingCode defined by a terminology system
...... id 0..1stringxml:id (or equivalent in JSON)
...... extension 0..*ExtensionAdditional Content defined by implementations
...... system S1..1uriIdentity of the terminology system
...... version ∑0..1stringVersion of the system - if relevant
...... code S1..1codeSymbol in syntax defined by the system
...... display S0..1stringRepresentation defined by the system
...... userSelected ∑0..1booleanIf this coding was chosen directly by the user
..... text S0..1stringPlain text representation of the concept
.... value[x] S0..1Quantity, CodeableConcept, string, Range, Ratio, SampledData, Attachment, time, dateTime, PeriodActual component result
.... dataAbsentReason SI0..1CodeableConceptWhy the component result is missing
Binding: Observation Value Absent Reason (extensible)
.... interpretation 0..1CodeableConceptHigh, low, normal, etc.
Binding: Observation Interpretation Codes (extensible)
.... referenceRange S0..1Unknown reference to #Observation:dafobs.referenceRange
Provides guide for interpretation of component result

doco Documentation for this format

yet to be done: Xml template

yet to be done: Json template

Differential View

This structure is derived from ResultObs.

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation 0..*
... identifier S0..*Identifier
.... use S1..1code
.... system S1..1uri
.... value S1..1string
... status S1..1code
... code S1..1CodeableConceptBinding: uslab-obs-codes (extensible)
.... coding S1..*Coding
..... system S1..1uri
..... code S1..1code
..... display S0..1string
.... text S0..1string
... subject S1..1Reference(Profile daf-patient)
... encounter S0..1Reference(Profile daf-encounter)
... effective[x] SI0..1dateTime, Period1: Datetime must be at least to day.
... issued S0..1instant
... performer 0..*Reference(Profile daf-pract | Profile daf-organization | Profile daf-patient | Profile daf-relatedperson)
... value[x] S0..1Quantity, CodeableConcept, string, Range, Ratio, SampledData, Attachment, time, dateTime, Period
... dataAbsentReason S0..1CodeableConcept
... interpretation S0..1CodeableConceptBinding: uslab-obs-interpretation (required)
.... coding S1..*Coding
..... system S1..1uri
..... code S1..1code
... bodySite S0..1CodeableConcept
... specimen S0..1Reference(Profile daf-spec)
... referenceRange S0..1BackboneElement
... related S0..*BackboneElement
.... type S1..1codeFixed Value: has-member
.... target S1..1Reference(Profile daf-resultobs)
... component S0..*BackboneElement
.... code S1..1CodeableConceptBinding: uslab-obs-codes (extensible)
..... coding S1..*Coding
...... system S1..1uri
...... code S1..1code
...... display S0..1string
..... text S0..1string
.... value[x] S0..1Quantity, CodeableConcept, string, Range, Ratio, SampledData, Attachment, time, dateTime, Period
.... dataAbsentReason S0..1CodeableConcept
.... referenceRange S0..1Unknown reference to #Observation:dafobs.referenceRange

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation I0..*Measurements and simple assertions
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-1: If the resource is contained in another resource, it SHALL NOT contain any narrative
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
obs-7: If code is the same as a component code then the value element associated with the code SHALL NOT be present
obs-6: dataAbsentReason SHALL only be present if Observation.value[x] is not present
... id ∑0..1idLogical id of this artifact
... meta ∑0..1MetaMetadata about the resource
... implicitRules ?!∑0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: Common Languages (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
... identifier S0..*IdentifierUnique Id for this particular observation
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... use ?!S1..1codeusual | official | temp | secondary (If known)
Binding: IdentifierUse (required)
.... type ∑0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible)
.... system S1..1uriThe namespace for the identifier
Example: http://www.acme.com/identifiers/patient or urn:ietf:rfc:3986 if the Identifier.value 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..1Reference(Organization)Organization that issued id (may be just text)
... status ?!S1..1coderegistered | preliminary | final | amended +
Binding: ObservationStatus (required)
... category 0..*CodeableConceptClassification of type of observation
Binding: Observation Category Codes (example)
... code S1..1CodeableConceptType of observation (code / type)
Binding: uslab-obs-codes (extensible)
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... coding S1..*CodingCode defined by a terminology system
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... system S1..1uriIdentity of the terminology system
..... version ∑0..1stringVersion of the system - if relevant
..... code S1..1codeSymbol in syntax defined by the system
..... display S0..1stringRepresentation defined by the system
..... userSelected ∑0..1booleanIf this coding was chosen directly by the user
.... text S0..1stringPlain text representation of the concept
... subject S1..1Reference(Profile daf-patient)Who and/or what this is about
... encounter S0..1Reference(Profile daf-encounter)An interaction during which services are provided to the patient
... effective[x] SI0..1dateTime, PeriodClinically relevant time/time-period for observation
1: Datetime must be at least to day.
... issued S0..1instantDate/Time this was made available
... performer 0..*Reference(Profile daf-pract | Profile daf-organization | Profile daf-patient | Profile daf-relatedperson)Who is responsible for the observation
... value[x] SI0..1Quantity, CodeableConcept, string, Range, Ratio, SampledData, Attachment, time, dateTime, PeriodActual result
... dataAbsentReason SI0..1CodeableConceptWhy the result is missing
Binding: Observation Value Absent Reason (extensible)
... interpretation S0..1CodeableConceptHigh, low, normal, etc.
Binding: uslab-obs-interpretation (required)
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... coding S1..*CodingCode defined by a terminology system
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... system S1..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
..... userSelected ∑0..1booleanIf this coding was chosen directly by the user
.... text ∑0..1stringPlain text representation of the concept
... comment 0..1stringComments about result
... bodySite S0..1CodeableConceptObserved body part
Binding: SNOMED CT Body Structures (example)
... method 0..1CodeableConceptHow it was done
Binding: Observation Methods (example)
... specimen S0..1Reference(Profile daf-spec)Specimen used for this observation
... device 0..1Reference(Device | DeviceMetric)(Measurement) Device
... referenceRange SI0..1BackboneElementProvides guide for interpretation
obs-3: Must have at least a low or a high or text
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!∑0..*ExtensionExtensions that cannot be ignored
.... low I0..1SimpleQuantityLow Range, if relevant
.... high I0..1SimpleQuantityHigh Range, if relevant
.... meaning 0..*CodeableConceptReference range qualifier
Binding: Observation Reference Range Meaning Codes (example)
.... age 0..1RangeApplicable age range, if relevant
.... text 0..1stringText based reference range in an observation
... related S0..*BackboneElementResource related to this observation
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!∑0..*ExtensionExtensions that cannot be ignored
.... type S1..1codehas-member | derived-from | sequel-to | replaces | qualified-by | interfered-by
Binding: ObservationRelationshipType (required)
Fixed Value: has-member
.... target S1..1Reference(Profile daf-resultobs)Resource that is related to this one
... component S0..*BackboneElementComponent results
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!∑0..*ExtensionExtensions that cannot be ignored
.... code S1..1CodeableConceptType of component observation (code / type)
Binding: uslab-obs-codes (extensible)
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... coding S1..*CodingCode defined by a terminology system
...... id 0..1stringxml:id (or equivalent in JSON)
...... extension 0..*ExtensionAdditional Content defined by implementations
...... system S1..1uriIdentity of the terminology system
...... version ∑0..1stringVersion of the system - if relevant
...... code S1..1codeSymbol in syntax defined by the system
...... display S0..1stringRepresentation defined by the system
...... userSelected ∑0..1booleanIf this coding was chosen directly by the user
..... text S0..1stringPlain text representation of the concept
.... value[x] S0..1Quantity, CodeableConcept, string, Range, Ratio, SampledData, Attachment, time, dateTime, PeriodActual component result
.... dataAbsentReason SI0..1CodeableConceptWhy the component result is missing
Binding: Observation Value Absent Reason (extensible)
.... interpretation 0..1CodeableConceptHigh, low, normal, etc.
Binding: Observation Interpretation Codes (extensible)
.... referenceRange S0..1Unknown reference to #Observation:dafobs.referenceRange
Provides guide for interpretation of component result

doco Documentation for this format

XML Template

yet to be done: Xml template

JSON Template

yet to be done: Json template

 

D.4.1.2 Terminology Bindings

Terminology Bindings

PathNameConformanceValueSet
Observation.languageCommon LanguagesextensibleCommon Languages
Observation.identifier.useIdentifierUserequiredIdentifierUse
Observation.identifier.typeIdentifier Type CodesextensibleIdentifier Type Codes
Observation.statusObservationStatusrequiredObservationStatus
Observation.categoryObservation Category CodesexampleObservation Category Codes
Observation.code?extextensiblehttp://hl7.org/fhir/ValueSet/uslab-obs-codes
Observation.dataAbsentReasonObservation Value Absent ReasonextensibleObservation Value Absent Reason
Observation.interpretation?extrequiredhttp://hl7.org/fhir/ValueSet/uslab-obs-interpretation
Observation.bodySiteSNOMED CT Body StructuresexampleSNOMED CT Body Structures
Observation.methodObservation MethodsexampleObservation Methods
Observation.referenceRange.meaningObservation Reference Range Meaning CodesexampleObservation Reference Range Meaning Codes
Observation.related.typeObservationRelationshipTyperequiredObservationRelationshipType
Observation.component.code?extextensiblehttp://hl7.org/fhir/ValueSet/uslab-obs-codes
Observation.component.dataAbsentReasonObservation Value Absent ReasonextensibleObservation Value Absent Reason
Observation.component.interpretationObservation Interpretation CodesextensibleObservation Interpretation Codes

D.4.1.3 Constraints

Constraints

IdPathDetailsRequirements
dom-2ObservationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
XPath: not(parent::f:contained and f:contained)
dom-1ObservationIf the resource is contained in another resource, it SHALL NOT contain any narrative
XPath: not(parent::f:contained and f:text)
dom-4ObservationIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
XPath: not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))
dom-3ObservationIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
XPath: not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))
obs-7ObservationIf code is the same as a component code then the value element associated with the code SHALL NOT be present
XPath: not(exists(f:value)) or not(count(for $coding in f:code/f:coding return parent::*/f:component/f:code/f:coding[f:code/@value=$coding/f:code/@value and f:system/@value=$coding/f:system/@value])=0)
obs-6ObservationdataAbsentReason SHALL only be present if Observation.value[x] is not present
XPath: not(exists(f:dataAbsentReason)) or (not(exists(*[starts-with(local-name(.), 'value')])))
1Observation.effective[x]Datetime must be at least to day.
XPath: f:matches(effectiveDateTime,/\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z)/)
obs-3Observation.referenceRangeMust have at least a low or a high or text
XPath: (exists(f:low) or exists(f:high)or exists(f:text))
.