Case Based Surveillance Implementation Guide
0.1.0 - ci-build
Case Based Surveillance Implementation Guide - Local Development build (v0.1.0). See the Directory of published versions
Defining URL: | http://cbsig.chai.gatech.edu/StructureDefinition/cbs-epi-questionnaire-panel |
Version: | 0.1.0 |
Name: | CBSEpiQuestionnairePanel |
Title: | Case Based Surveillance Epi Questionnaire Panel |
Status: | Experimental as of 1/1/21 |
Definition: | Defines constraints on Observation to represent structured resources for the collection and organization of epidemiological questions. |
Publisher: | Georgia Tech Research Institute (GTRI) |
Source Resource: | XML / JSON / Turtle |
The official URL for this profile is:
http://cbsig.chai.gatech.edu/StructureDefinition/cbs-epi-questionnaire-panel
The Case Based Surveillance Epi Questionnaire Panel provides an extensible manner to collect and organize epidemiological questions into a structured set of Observation resources.
Examples for use:
This profile should not be used to capture standard clinical data or notifiable case meta data. In the case of more standard clinical information, appropriate FHIR base resources or other profiles should be used. In the case of notifiable case meta data, the Case Based Surveillance Case Notification Panel should be used.
The following elements must always be present or must be supported.
Each Discrete Panel Structure must have:
Handling Undefined Cannonical Name Codes: As many questions may already be defined in the PHIN Questions code system, there may be cases in which only the cannonical name value cannot be properly expressed as a code. If an appropriate code cannot be defined through a system such as PHIN, the text element of the CodeableConcept may be used to provide a summary. In this case, the generic code “undefined-epi-questionnaire-cannonical-name” as defined as part of this implementation guide’s central code system should be used to indicate the lack of defined coding and need to reference the text element of the CodeableConcept. Be aware that by failing to define a specific code, it may make searching for a specific questionnaire set difficult if the server does not support search by text or if the text representation is not consistently known.
Each Observation must have:
This profile provides an alternative to using a Questionnaire resource to capture equivalent data. As Questionnaires require both the Questionnaire itself and a QuestionnaireResponse, along with strict version controlling of the Questionnaire resources, they may lead to implementation and maintenance concerns depending on individual use cases. This profile is intended a flexible yet still structured alternative for surveillance programs to utilize in the case that maintaining a Questionnaire is not appropriate or possible.
Users may opt to utilize a standard Questionnaire resource in place of this profile, though should carefully weight the benefits of each approach. Users may also leverage both this profile and a Questionnaire together.
In contrast to a Questionnaire, this profile captures information in explicitly coded observations and groups them together using a structure similar to other panel profiles, such as Vital Signs, allowing for meaning to be derived from the coding without need to interpret additional the additional resource. This also allows for more granular access to the data as each observation, representing a question, may be transfered individually whereas this is not possible with a Questionnaire. Additionally, as many of these questions are already defined within the PHIN Question code system, this also provides alignment with existing approaches and faciliates direct mappings from HL7v2 Message Mapping Guide structured messages when required.
The CBS Epi Questionnaire Panel provides for a logical separation of data content from “meta data” related to general case management or the reporting workflow. For information of that nature, the CBS Case Notification Panel profile should be used. When looking at the data elements present in Message Mapping Guides, this line can largely be drawn between what exists in the Generic v2 MMG, which is represented in the Case Notification Panel, and what exists in individual surveillance program MMGs.
In surveillance of sexually transmitted diseases, data is collected around the subject’s recent sexual history and other areas such as drug abuse. An abbreviated example based on the Public Health STD Message Mapping Guide is provided here. The valueset used for this is provided as part of this Implementation Guide and bound to this profile with a binding strength of example. For more information, please see http://hl7.org/fhir/R4/valueset-binding-strength.html.
TODO: Create Example Resources and link here.
The following diagram provides a brief look at the intended structure of a discrete questionnaire panel. Only display elements are shown for coded elements.
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from Observation
Summary
Mandatory: 6 elements
Must-Support: 9 elements
Fixed Value: 2 elements
Structures
This structure refers to these other structures:
Slices
This structure defines the following Slices:
This structure is derived from Observation
Name | Flags | Card. | Type | Description & Constraints![]() |
---|---|---|---|---|
![]() ![]() | 0..* | Observation | Measurements and simple assertions | |
![]() ![]() ![]() | S | 1..1 | code | registered | preliminary | final | amended + |
![]() ![]() ![]() | S | 1..* | CodeableConcept | Classification of type of observation Slice: Unordered, Open by value:coding.code, value:coding.system |
![]() ![]() ![]() ![]() | S | 1..1 | CodeableConcept | Classification of type of observation |
![]() ![]() ![]() ![]() ![]() | S | 1..* | Coding | Code defined by a terminology system |
![]() ![]() ![]() ![]() ![]() ![]() | S | 1..1 | uri | Identity of the terminology system Fixed Value: http://cbsig.chai.gatech.edu/CodeSystem/cbs-temp-code-system |
![]() ![]() ![]() ![]() ![]() ![]() | S | 1..1 | code | Symbol in syntax defined by the system Fixed Value: epi-questionnaire |
![]() ![]() ![]() | S | 1..1 | CodeableConcept | Coded Questionnaire Items from Surveillance Program Specified Valueset Binding: STD Sexual History and Drug Use Questionnaire Panel (example): This identifies the coded questionnaire item. |
![]() ![]() ![]() | S | 1..1 | Reference(Case Based Surveillance Patient Profile) | Who and/or what the observation is about |
![]() ![]() ![]() | S | 0..1 | Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period | Actual result |
![]() ![]() ![]() | 0..* | Reference(Case Based Surveillance Epi Questionnaire Panel) | Related resource that belongs to the Observation group | |
![]() |
Name | Flags | Card. | Type | Description & Constraints![]() |
---|---|---|---|---|
![]() ![]() | I | 0..* | Observation | Measurements and simple assertions |
![]() ![]() ![]() | Σ | 0..1 | string | Logical id of this artifact |
![]() ![]() ![]() | Σ | 0..1 | Meta | Metadata about the resource |
![]() ![]() ![]() | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() ![]() | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages: A human language. | |
![]() ![]() ![]() | 0..1 | Narrative | Text summary of the resource, for human interpretation | |
![]() ![]() ![]() | 0..* | Resource | Contained, inline Resources | |
![]() ![]() ![]() | 0..* | Extension | Additional content defined by implementations | |
![]() ![]() ![]() | ?! | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() ![]() | Σ | 0..* | Identifier | Business Identifier for observation |
![]() ![]() ![]() | Σ | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | Fulfills plan, proposal or order |
![]() ![]() ![]() | Σ | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) | Part of referenced event |
![]() ![]() ![]() | ?!SΣ | 1..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required): Codes providing the status of an observation. |
![]() ![]() ![]() | 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. |
![]() ![]() ![]() ![]() | S | 1..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. |
![]() ![]() ![]() ![]() ![]() | 0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() ![]() | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
![]() ![]() ![]() ![]() ![]() | SΣ | 1..* | Coding | Code defined by a terminology system |
![]() ![]() ![]() ![]() ![]() ![]() | 0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() ![]() ![]() | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
![]() ![]() ![]() ![]() ![]() ![]() | SΣ | 1..1 | uri | Identity of the terminology system Fixed Value: http://cbsig.chai.gatech.edu/CodeSystem/cbs-temp-code-system |
![]() ![]() ![]() ![]() ![]() ![]() | Σ | 0..1 | string | Version of the system - if relevant |
![]() ![]() ![]() ![]() ![]() ![]() | SΣ | 1..1 | code | Symbol in syntax defined by the system Fixed Value: epi-questionnaire |
![]() ![]() ![]() ![]() ![]() ![]() | Σ | 0..1 | string | Representation defined by the system |
![]() ![]() ![]() ![]() ![]() ![]() | Σ | 0..1 | boolean | If this coding was chosen directly by the user |
![]() ![]() ![]() ![]() ![]() | Σ | 0..1 | string | Plain text representation of the concept |
![]() ![]() ![]() | SΣ | 1..1 | CodeableConcept | Coded Questionnaire Items from Surveillance Program Specified Valueset Binding: STD Sexual History and Drug Use Questionnaire Panel (example): This identifies the coded questionnaire item. |
![]() ![]() ![]() | SΣ | 1..1 | Reference(Case Based Surveillance Patient Profile) | Who and/or what the observation is about |
![]() ![]() ![]() | Σ | 0..* | Reference(Resource) | What the observation is about, when it is not about the subject of record |
![]() ![]() ![]() | Σ | 0..1 | Reference(Encounter) | Healthcare event during which this observation is made |
![]() ![]() ![]() | Σ | 0..1 | Clinically relevant time/time-period for observation | |
![]() ![]() ![]() ![]() | dateTime | |||
![]() ![]() ![]() ![]() | Period | |||
![]() ![]() ![]() ![]() | Timing | |||
![]() ![]() ![]() ![]() | instant | |||
![]() ![]() ![]() | Σ | 0..1 | instant | Date/Time this version was made available |
![]() ![]() ![]() | Σ | 0..* | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) | Who is responsible for the observation |
![]() ![]() ![]() | SΣI | 0..1 | Actual result | |
![]() ![]() ![]() ![]() | Quantity | |||
![]() ![]() ![]() ![]() | CodeableConcept | |||
![]() ![]() ![]() ![]() | string | |||
![]() ![]() ![]() ![]() | boolean | |||
![]() ![]() ![]() ![]() | integer | |||
![]() ![]() ![]() ![]() | Range | |||
![]() ![]() ![]() ![]() | Ratio | |||
![]() ![]() ![]() ![]() | SampledData | |||
![]() ![]() ![]() ![]() | time | |||
![]() ![]() ![]() ![]() | dateTime | |||
![]() ![]() ![]() ![]() | Period | |||
![]() ![]() ![]() | I | 0..1 | CodeableConcept | Why the result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. |
![]() ![]() ![]() | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. | |
![]() ![]() ![]() | 0..* | Annotation | Comments about the observation | |
![]() ![]() ![]() | 0..1 | CodeableConcept | Observed body part Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality. | |
![]() ![]() ![]() | 0..1 | CodeableConcept | How it was done Binding: ObservationMethods (example): Methods for simple observations. | |
![]() ![]() ![]() | 0..1 | Reference(Specimen) | Specimen used for this observation | |
![]() ![]() ![]() | 0..1 | Reference(Device | DeviceMetric) | (Measurement) Device | |
![]() ![]() ![]() | I | 0..* | BackboneElement | Provides guide for interpretation obs-3: Must have at least a low or a high or text |
![]() ![]() ![]() ![]() | 0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() | 0..* | Extension | Additional content defined by implementations | |
![]() ![]() ![]() ![]() | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() | I | 0..1 | SimpleQuantity | Low Range, if relevant |
![]() ![]() ![]() ![]() | I | 0..1 | SimpleQuantity | High Range, if relevant |
![]() ![]() ![]() ![]() | 0..1 | CodeableConcept | Reference range qualifier Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range. | |
![]() ![]() ![]() ![]() | 0..* | CodeableConcept | Reference range population Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to. | |
![]() ![]() ![]() ![]() | 0..1 | Range | Applicable age range, if relevant | |
![]() ![]() ![]() ![]() | 0..1 | string | Text based reference range in an observation | |
![]() ![]() ![]() | Σ | 0..* | Reference(Case Based Surveillance Epi Questionnaire Panel) | Related resource that belongs to the Observation group |
![]() ![]() ![]() | Σ | 0..* | Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) | Related measurements the observation is made from |
![]() ![]() ![]() | Σ | 0..* | BackboneElement | Component results |
![]() ![]() ![]() ![]() | 0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() | 0..* | Extension | Additional content defined by implementations | |
![]() ![]() ![]() ![]() | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() | Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. |
![]() ![]() ![]() ![]() | Σ | 0..1 | Actual component result | |
![]() ![]() ![]() ![]() ![]() | Quantity | |||
![]() ![]() ![]() ![]() ![]() | CodeableConcept | |||
![]() ![]() ![]() ![]() ![]() | string | |||
![]() ![]() ![]() ![]() ![]() | boolean | |||
![]() ![]() ![]() ![]() ![]() | integer | |||
![]() ![]() ![]() ![]() ![]() | Range | |||
![]() ![]() ![]() ![]() ![]() | Ratio | |||
![]() ![]() ![]() ![]() ![]() | SampledData | |||
![]() ![]() ![]() ![]() ![]() | time | |||
![]() ![]() ![]() ![]() ![]() | dateTime | |||
![]() ![]() ![]() ![]() ![]() | Period | |||
![]() ![]() ![]() ![]() | I | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. |
![]() ![]() ![]() ![]() | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. | |
![]() ![]() ![]() ![]() | 0..* | See referenceRange (Observation) | Provides guide for interpretation of component result | |
![]() |
Name | Flags | Card. | Type | Description & Constraints![]() |
---|---|---|---|---|
![]() ![]() | I | 0..* | Observation | Measurements and simple assertions |
![]() ![]() ![]() | ?!Σ | 1..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required): Codes providing the status of an observation. |
![]() ![]() ![]() | 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. | |
![]() ![]() ![]() ![]() | 1..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. | |
![]() ![]() ![]() ![]() ![]() | Σ | 1..* | Coding | Code defined by a terminology system |
![]() ![]() ![]() ![]() ![]() ![]() | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: http://cbsig.chai.gatech.edu/CodeSystem/cbs-temp-code-system |
![]() ![]() ![]() ![]() ![]() ![]() | Σ | 1..1 | code | Symbol in syntax defined by the system Fixed Value: epi-questionnaire |
![]() ![]() ![]() | Σ | 1..1 | CodeableConcept | Coded Questionnaire Items from Surveillance Program Specified Valueset Binding: STD Sexual History and Drug Use Questionnaire Panel (example): This identifies the coded questionnaire item. |
![]() ![]() ![]() | Σ | 1..1 | Reference(Case Based Surveillance Patient Profile) | Who and/or what the observation is about |
![]() ![]() ![]() | ΣI | 0..1 | Actual result | |
![]() ![]() ![]() ![]() | Quantity | |||
![]() ![]() ![]() ![]() | CodeableConcept | |||
![]() ![]() ![]() ![]() | string | |||
![]() ![]() ![]() ![]() | boolean | |||
![]() ![]() ![]() ![]() | integer | |||
![]() ![]() ![]() ![]() | Range | |||
![]() ![]() ![]() ![]() | Ratio | |||
![]() ![]() ![]() ![]() | SampledData | |||
![]() ![]() ![]() ![]() | time | |||
![]() ![]() ![]() ![]() | dateTime | |||
![]() ![]() ![]() ![]() | Period | |||
![]() |
This structure is derived from Observation
Summary
Mandatory: 6 elements
Must-Support: 9 elements
Fixed Value: 2 elements
Structures
This structure refers to these other structures:
Slices
This structure defines the following Slices:
Differential View
This structure is derived from Observation
Name | Flags | Card. | Type | Description & Constraints![]() |
---|---|---|---|---|
![]() ![]() | 0..* | Observation | Measurements and simple assertions | |
![]() ![]() ![]() | S | 1..1 | code | registered | preliminary | final | amended + |
![]() ![]() ![]() | S | 1..* | CodeableConcept | Classification of type of observation Slice: Unordered, Open by value:coding.code, value:coding.system |
![]() ![]() ![]() ![]() | S | 1..1 | CodeableConcept | Classification of type of observation |
![]() ![]() ![]() ![]() ![]() | S | 1..* | Coding | Code defined by a terminology system |
![]() ![]() ![]() ![]() ![]() ![]() | S | 1..1 | uri | Identity of the terminology system Fixed Value: http://cbsig.chai.gatech.edu/CodeSystem/cbs-temp-code-system |
![]() ![]() ![]() ![]() ![]() ![]() | S | 1..1 | code | Symbol in syntax defined by the system Fixed Value: epi-questionnaire |
![]() ![]() ![]() | S | 1..1 | CodeableConcept | Coded Questionnaire Items from Surveillance Program Specified Valueset Binding: STD Sexual History and Drug Use Questionnaire Panel (example): This identifies the coded questionnaire item. |
![]() ![]() ![]() | S | 1..1 | Reference(Case Based Surveillance Patient Profile) | Who and/or what the observation is about |
![]() ![]() ![]() | S | 0..1 | Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period | Actual result |
![]() ![]() ![]() | 0..* | Reference(Case Based Surveillance Epi Questionnaire Panel) | Related resource that belongs to the Observation group | |
![]() |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints![]() |
---|---|---|---|---|
![]() ![]() | I | 0..* | Observation | Measurements and simple assertions |
![]() ![]() ![]() | Σ | 0..1 | string | Logical id of this artifact |
![]() ![]() ![]() | Σ | 0..1 | Meta | Metadata about the resource |
![]() ![]() ![]() | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() ![]() | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages: A human language. | |
![]() ![]() ![]() | 0..1 | Narrative | Text summary of the resource, for human interpretation | |
![]() ![]() ![]() | 0..* | Resource | Contained, inline Resources | |
![]() ![]() ![]() | 0..* | Extension | Additional content defined by implementations | |
![]() ![]() ![]() | ?! | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() ![]() | Σ | 0..* | Identifier | Business Identifier for observation |
![]() ![]() ![]() | Σ | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | Fulfills plan, proposal or order |
![]() ![]() ![]() | Σ | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) | Part of referenced event |
![]() ![]() ![]() | ?!SΣ | 1..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required): Codes providing the status of an observation. |
![]() ![]() ![]() | 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. |
![]() ![]() ![]() ![]() | S | 1..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. |
![]() ![]() ![]() ![]() ![]() | 0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() ![]() | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
![]() ![]() ![]() ![]() ![]() | SΣ | 1..* | Coding | Code defined by a terminology system |
![]() ![]() ![]() ![]() ![]() ![]() | 0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() ![]() ![]() | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
![]() ![]() ![]() ![]() ![]() ![]() | SΣ | 1..1 | uri | Identity of the terminology system Fixed Value: http://cbsig.chai.gatech.edu/CodeSystem/cbs-temp-code-system |
![]() ![]() ![]() ![]() ![]() ![]() | Σ | 0..1 | string | Version of the system - if relevant |
![]() ![]() ![]() ![]() ![]() ![]() | SΣ | 1..1 | code | Symbol in syntax defined by the system Fixed Value: epi-questionnaire |
![]() ![]() ![]() ![]() ![]() ![]() | Σ | 0..1 | string | Representation defined by the system |
![]() ![]() ![]() ![]() ![]() ![]() | Σ | 0..1 | boolean | If this coding was chosen directly by the user |
![]() ![]() ![]() ![]() ![]() | Σ | 0..1 | string | Plain text representation of the concept |
![]() ![]() ![]() | SΣ | 1..1 | CodeableConcept | Coded Questionnaire Items from Surveillance Program Specified Valueset Binding: STD Sexual History and Drug Use Questionnaire Panel (example): This identifies the coded questionnaire item. |
![]() ![]() ![]() | SΣ | 1..1 | Reference(Case Based Surveillance Patient Profile) | Who and/or what the observation is about |
![]() ![]() ![]() | Σ | 0..* | Reference(Resource) | What the observation is about, when it is not about the subject of record |
![]() ![]() ![]() | Σ | 0..1 | Reference(Encounter) | Healthcare event during which this observation is made |
![]() ![]() ![]() | Σ | 0..1 | Clinically relevant time/time-period for observation | |
![]() ![]() ![]() ![]() | dateTime | |||
![]() ![]() ![]() ![]() | Period | |||
![]() ![]() ![]() ![]() | Timing | |||
![]() ![]() ![]() ![]() | instant | |||
![]() ![]() ![]() | Σ | 0..1 | instant | Date/Time this version was made available |
![]() ![]() ![]() | Σ | 0..* | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) | Who is responsible for the observation |
![]() ![]() ![]() | SΣI | 0..1 | Actual result | |
![]() ![]() ![]() ![]() | Quantity | |||
![]() ![]() ![]() ![]() | CodeableConcept | |||
![]() ![]() ![]() ![]() | string | |||
![]() ![]() ![]() ![]() | boolean | |||
![]() ![]() ![]() ![]() | integer | |||
![]() ![]() ![]() ![]() | Range | |||
![]() ![]() ![]() ![]() | Ratio | |||
![]() ![]() ![]() ![]() | SampledData | |||
![]() ![]() ![]() ![]() | time | |||
![]() ![]() ![]() ![]() | dateTime | |||
![]() ![]() ![]() ![]() | Period | |||
![]() ![]() ![]() | I | 0..1 | CodeableConcept | Why the result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. |
![]() ![]() ![]() | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. | |
![]() ![]() ![]() | 0..* | Annotation | Comments about the observation | |
![]() ![]() ![]() | 0..1 | CodeableConcept | Observed body part Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality. | |
![]() ![]() ![]() | 0..1 | CodeableConcept | How it was done Binding: ObservationMethods (example): Methods for simple observations. | |
![]() ![]() ![]() | 0..1 | Reference(Specimen) | Specimen used for this observation | |
![]() ![]() ![]() | 0..1 | Reference(Device | DeviceMetric) | (Measurement) Device | |
![]() ![]() ![]() | I | 0..* | BackboneElement | Provides guide for interpretation obs-3: Must have at least a low or a high or text |
![]() ![]() ![]() ![]() | 0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() | 0..* | Extension | Additional content defined by implementations | |
![]() ![]() ![]() ![]() | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() | I | 0..1 | SimpleQuantity | Low Range, if relevant |
![]() ![]() ![]() ![]() | I | 0..1 | SimpleQuantity | High Range, if relevant |
![]() ![]() ![]() ![]() | 0..1 | CodeableConcept | Reference range qualifier Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range. | |
![]() ![]() ![]() ![]() | 0..* | CodeableConcept | Reference range population Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to. | |
![]() ![]() ![]() ![]() | 0..1 | Range | Applicable age range, if relevant | |
![]() ![]() ![]() ![]() | 0..1 | string | Text based reference range in an observation | |
![]() ![]() ![]() | Σ | 0..* | Reference(Case Based Surveillance Epi Questionnaire Panel) | Related resource that belongs to the Observation group |
![]() ![]() ![]() | Σ | 0..* | Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) | Related measurements the observation is made from |
![]() ![]() ![]() | Σ | 0..* | BackboneElement | Component results |
![]() ![]() ![]() ![]() | 0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() | 0..* | Extension | Additional content defined by implementations | |
![]() ![]() ![]() ![]() | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() | Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. |
![]() ![]() ![]() ![]() | Σ | 0..1 | Actual component result | |
![]() ![]() ![]() ![]() ![]() | Quantity | |||
![]() ![]() ![]() ![]() ![]() | CodeableConcept | |||
![]() ![]() ![]() ![]() ![]() | string | |||
![]() ![]() ![]() ![]() ![]() | boolean | |||
![]() ![]() ![]() ![]() ![]() | integer | |||
![]() ![]() ![]() ![]() ![]() | Range | |||
![]() ![]() ![]() ![]() ![]() | Ratio | |||
![]() ![]() ![]() ![]() ![]() | SampledData | |||
![]() ![]() ![]() ![]() ![]() | time | |||
![]() ![]() ![]() ![]() ![]() | dateTime | |||
![]() ![]() ![]() ![]() ![]() | Period | |||
![]() ![]() ![]() ![]() | I | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. |
![]() ![]() ![]() ![]() | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. | |
![]() ![]() ![]() ![]() | 0..* | See referenceRange (Observation) | Provides guide for interpretation of component result | |
![]() |
Other representations of profile: CSV, Excel, Schematron
Path | Conformance | ValueSet |
Observation.language | preferred | CommonLanguages Max Binding: AllLanguages |
Observation.status | required | ObservationStatus |
Observation.category | preferred | ObservationCategoryCodes |
Observation.category:EQCat | preferred | ObservationCategoryCodes |
Observation.code | example | CBSSTDSexualHistoryDrugUseQuestionnaireVS |
Observation.dataAbsentReason | extensible | DataAbsentReason |
Observation.interpretation | extensible | ObservationInterpretationCodes |
Observation.bodySite | example | SNOMEDCTBodyStructures |
Observation.method | example | ObservationMethods |
Observation.referenceRange.type | preferred | ObservationReferenceRangeMeaningCodes |
Observation.referenceRange.appliesTo | example | ObservationReferenceRangeAppliesToCodes |
Observation.component.code | example | LOINCCodes |
Observation.component.dataAbsentReason | extensible | DataAbsentReason |
Observation.component.interpretation | extensible | ObservationInterpretationCodes |
Id | Grade | Path | Details | Requirements |
dom-2 | error | Observation | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Observation | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
dom-5 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | Best Practice | Observation | A resource should have narrative for robust management : text.`div`.exists() | |
obs-6 | error | Observation | dataAbsentReason SHALL only be present if Observation.value[x] is not present : dataAbsentReason.empty() or value.empty() | |
obs-7 | error | Observation | If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present : value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty() | |
ele-1 | error | Observation.meta | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Observation.implicitRules | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Observation.language | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Observation.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Observation.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Observation.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Observation.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Observation.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Observation.identifier | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Observation.basedOn | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Observation.partOf | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Observation.status | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Observation.category | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Observation.category:EQCat | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Observation.category:EQCat.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Observation.category:EQCat.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Observation.category:EQCat.coding | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Observation.category:EQCat.coding.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Observation.category:EQCat.coding.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Observation.category:EQCat.coding.system | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Observation.category:EQCat.coding.version | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Observation.category:EQCat.coding.code | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Observation.category:EQCat.coding.display | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Observation.category:EQCat.coding.userSelected | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Observation.category:EQCat.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Observation.code | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Observation.subject | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Observation.focus | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Observation.encounter | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Observation.effective[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Observation.issued | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Observation.performer | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Observation.value[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Observation.dataAbsentReason | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Observation.interpretation | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Observation.note | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Observation.bodySite | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Observation.method | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Observation.specimen | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Observation.device | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Observation.referenceRange | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
obs-3 | error | Observation.referenceRange | Must have at least a low or a high or text : low.exists() or high.exists() or text.exists() | |
ele-1 | error | Observation.referenceRange.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Observation.referenceRange.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Observation.referenceRange.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Observation.referenceRange.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Observation.referenceRange.low | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Observation.referenceRange.high | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Observation.referenceRange.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Observation.referenceRange.appliesTo | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Observation.referenceRange.age | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Observation.referenceRange.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Observation.hasMember | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Observation.derivedFrom | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Observation.component | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Observation.component.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Observation.component.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Observation.component.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Observation.component.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Observation.component.code | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Observation.component.value[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Observation.component.dataAbsentReason | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Observation.component.interpretation | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Observation.component.referenceRange | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |