Genomics Reporting Implementation Guide
4.0.0-cibuild - CI Build

Genomics Reporting Implementation Guide, published by HL7 International / Clinical Genomics. This guide is not an authorized publication; it is the continuous build for version 4.0.0-cibuild built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/genomics-reporting/ and changes regularly. See the Directory of published versions

## Resource Profile: Molecular Biomarker

Official URL: http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/molecular-biomarker | Version: 4.0.0-cibuild
Standards status: Trial-use | Maturity Level: 2 | Computable Name: MolecularBiomarker

This profile is used to represent laboratory measurements of human inherent substances such as gene products, antigens and antibodies, and complex chemicals that result from post-translational processing of multi-gene products.

### Scope and Usage

The term 'biomarker' is broad, encompassing observable characteristics that indicate normal or abnormal biological processes and that are often used to assess prognosis or guide therapy. In the broad sense, many clinical and laboratory observations might be considered a 'biomarker'. 'Molecular biomarker' is likewise broad, primarily encompassing laboratory measurements of human inherent substances such as gene products, antigens and antibodies, complex chemicals that result from post-translational processing of multi-gene products, etc. Molecular biomarkers include many different types of measurements, such as presence or absence of a chemical, or the level of a chemical. Here, we are primarily interested in those molecular biomarkers that have associated therapeutic implications, particularly in precision cancer care, including but not limited to: cell receptor levels (e.g. ER, PR, HER2); molecular sequence adjacent observations (e.g. microsatellite instability, tumor mutation burden, gene promoter methylation); cell receptor ligands (e.g. PD-L1); proteins, antigens, and antibodies (e.g. HLA type).

The `code` is bound to the Molecular Biomarker Codes ValueSet. It is not a comprehensive list of biomarkers and only provides representative examples drawn from LOINC and NCI Thesaurus.

Where the biomarker is a proxy or higher level abstraction for one or more underlying genetic observations, the `derivedFrom` attribute can be used to reference the source variant(s), haplotype(s) and/or genotype(s).

Component '`gene-studied`' is an optional and repeating field for representing the gene or genes from which the observed substance is derived.

Component '`biomarker-category`' is a repeating field that provides for a categorization of a given biomarker observation.

In the absence of a well defined and comprehensive value set for molecular biomarkers, we provide general guidance for the construction of a biomarker instance for an arbitrary biomarker. A typical use of this profile includes (1) identify the appropriate observation.code (e.g. drawing from LOINC, NCIt, etc); (2) add an observation.category of 'biomarker-category'; (3) populate component:gene-studied if applicable; (4) optionally populate component:biomarker-category; (5) populate other applicable observation fields similar to how you would populate them for regular lab observations (e.g. include observation.value, observation.effectiveDateTime, etc).

### Biomarker Ontology

The Molecular Biomarker Ontology code system provides a categorization of biomarkers along several axes. A given lab test can be associated with more than one category within more than one axis. For example, LOINC code 85337-4 represents Estrogen receptor antigen in tissue by immune stain. It can be categorized by physiologic role of cell receptor and antigen; by molecule type of protein; and by method of immune stain.

#### Molecular Biomarker Ontology with examples

- Molecular biomarker categorized by physiologic role
- cell receptor: ER, HER2 by IA, HLA class I, PR
- cell receptor ligand: PD-L1
- antibody: Neutrophil Ab, Lactoferrin Ab by immunoassay
- antigen: ER, HLA class I, Insulin, PR

#### Molecular biomarker categorized by molecule type

- carbohydrate: Urine carbohydrates
- lipid: Serum lipids
- protein: ER, HER2 by IA, Hgb A2, HLA class I, Neutrophil Ab, PR, PSA, Insulin, Lactoferrin Ab by immunoassay
- nucleic acid: MGMT gene methylation

#### Molecular biomarker categorized by method

- Enzyme assay: Lactoferrin Ab by immunoassay
- Flow cytometry: Neutrophil Ab
- Immune stain: ER, Insulin, MSI by immune stain, PD-L1, PR
- Immunoassay: HER2 by IA, HLA class I, Lactoferrin Ab by immunoassay
- Methylation analysis: MGMT gene methylation
- Molgen: MSI, TMB

#### Biomarker Categories

Biomarker categories can be associated with LOINC value sets to facilitate retrieval, as shown in this non-normative example table.

Biomarker Category | Example LOINC codes
--- | ---
cell receptor | ER, HER2 by IA, HLA class I, PR
protein | ER, HER2 by IA, Hgb A2, HLA class I, Neutrophil Ab, PR, PSA, Insulin, Lactoferrin Ab by immunoassay
immune stain | ER, Insulin, MSI by immune stain, PD-L1, PR

### Other Guidance

If implementers have additional annotations for biomarkers, the Molecular Biomarker profile is defined to allow flexibility. See the section on flexibility for additional guidance, especially the guidance for the Open Slicing allowed on `Observation.component`.

Usages:

- Refer to this Profile: Genomic Report and Genomic Implication
- Examples for this Profile: Observation/HER2byImmuneStainExample, Observation/HER2byImmunoassayExample, Observation/MSIExample, Observation/MicrosatelliteInstabilityExample01... Show 3 more, Observation/PDL1Example, Observation/TMBExample and Observation/TumorMutationBurdenExample01

You can also check for usages in the FHIR IG Statistics

### Formal Views of Profile Content

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

- Key Elements Table
- Differential Table
- Snapshot Table
- Statistics/References
- All

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Observation | C | 0..* | Observation | Measurements and simple assertions Constraints: obs-6, obs-7
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
status | ?!Σ | 1..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required): Codes providing the status of an observation.
Slices for category |  | 2..* | CodeableConcept | Classification of type of observation Slice: Unordered, Open by value:coding Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
category:labCategory |  | 1..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
coding | Σ | 1..1 | Coding | Code defined by a terminology system Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: laboratory
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
category:mbCategory |  | 1..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
coding | Σ | 1..1 | Coding | Code defined by a terminology system Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://hl7.org/fhir/uv/genomics-reporting/CodeSystem/tbd-codes-cs
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: biomarker-category
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
category:geCategory |  | 0..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
coding | Σ | 1..1 | Coding | Code defined by a terminology system Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0074
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: GE
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
code | Σ | 1..1 | CodeableConcept | Code for the biomarker Binding: Molecular Biomarker Codes (example)
Slices for derivedFrom | Σ | 0..* | Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) | Related measurements the observation is made from Slice: Unordered, Open by profile:resolve()
derivedFrom:variant | Σ | 0..* | Reference(Variant) | Variant the biomarker is derived from
derivedFrom:genotype | Σ | 0..* | Reference(Genotype) | Genotype the biomarker is derived from
derivedFrom:haplotype | Σ | 0..* | Reference(Haplotype) | Haplotype the biomarker is derived from
Slices for component | Σ | 0..* | BackboneElement | Component results Slice: Unordered, Open by value:code
component:All Slices |  |  |  | Content/Rules for all slices
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code | Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations.
component:gene-studied | Σ | 0..* | BackboneElement | Gene Studied
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code | Σ | 1..1 | CodeableConcept | 48018-6 Binding: LOINCCodes (example): Codes identifying names of simple observations. Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 48018-6
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text |  | 0..1 | string | Plain text representation of the concept
value[x] | Σ | 1..1 | CodeableConcept | The HGNC gene symbol is to be used as display text and the HGNC gene ID used as the code. If no HGNC code issued for this gene yet, NCBI gene IDs SHALL be used. Binding: HUGO Gene Nomenclature Committee Gene Names (HGNC) (extensible)
component:biomarker-category | Σ | 0..* | BackboneElement | Biomarker Category
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code | Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://hl7.org/fhir/uv/genomics-reporting/CodeSystem/tbd-codes-cs
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: biomarker-category
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text |  | 0..1 | string | Plain text representation of the concept
value[x] | Σ | 1..1 | CodeableConcept | cell receptor | antigen | protein | immune stain Binding: Molecular Biomarker Categories (example)
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Observation.status | Base | required | ObservationStatus | 📍4.0.1 | FHIR Std.
Observation.category | Base | preferred | Observation Category Codes | 📍4.0.1 | FHIR Std.
Observation.category:labCategory | Base | preferred | Observation Category Codes | 📍4.0.1 | FHIR Std.
Observation.category:mbCategory | Base | preferred | Observation Category Codes | 📍4.0.1 | FHIR Std.
Observation.category:geCategory | Base | preferred | Observation Category Codes | 📍4.0.1 | FHIR Std.
Observation.code | Base | example | Molecular Biomarker Codes | 📦4.0.0-cibuild | This IG
Observation.component.​code | Base | example | LOINC Codes | 📍4.0.1 | FHIR Std.
Observation.component:gene-studied.​code | Base | example | LOINC Codes | 📍4.0.1 | FHIR Std.
Observation.component:gene-studied.​value[x] | Base | extensible | HUGO Gene Nomenclature Committee Gene Names (HGNC) | 📦4.0.0-cibuild | This IG
Observation.component:biomarker-category.​code | Base | example | LOINC Codes | 📍4.0.1 | FHIR Std.
Observation.component:biomarker-category.​value[x] | Base | example | Molecular Biomarker Categories | 📦4.0.0-cibuild | This IG

#### Constraints

Id | Grade | Path(s) | Description | Expression
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()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.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()`

This structure is derived from Observation

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Observation |  | 0..* | Observation | Measurements and simple assertions
Slices for category |  | 2..* | CodeableConcept | Classification of type of observation Slice: Unordered, Open by value:coding
category:labCategory |  | 1..1 | CodeableConcept | Classification of type of observation
coding |  | 1..1 | Coding | Code defined by a terminology system Required Pattern: At least the following
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: laboratory
category:mbCategory |  | 1..1 | CodeableConcept | Classification of type of observation
coding |  | 1..1 | Coding | Code defined by a terminology system Required Pattern: At least the following
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://hl7.org/fhir/uv/genomics-reporting/CodeSystem/tbd-codes-cs
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: biomarker-category
category:geCategory |  | 0..1 | CodeableConcept | Classification of type of observation
coding |  | 1..1 | Coding | Code defined by a terminology system Required Pattern: At least the following
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0074
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: GE
code |  | 1..1 | CodeableConcept | Code for the biomarker Binding: Molecular Biomarker Codes (example)
Slices for derivedFrom |  | 0..* | Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) | Related measurements the observation is made from Slice: Unordered, Open by profile:resolve()
derivedFrom:variant |  | 0..* | Reference(Variant) | Variant the biomarker is derived from
derivedFrom:genotype |  | 0..* | Reference(Genotype) | Genotype the biomarker is derived from
derivedFrom:haplotype |  | 0..* | Reference(Haplotype) | Haplotype the biomarker is derived from
Slices for component |  | 0..* | BackboneElement | Component results Slice: Unordered, Open by value:code
component:gene-studied |  | 0..* | BackboneElement | Gene Studied
code |  | 1..1 | CodeableConcept | 48018-6 Required Pattern: At least the following
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 48018-6
value[x] |  | 1..1 | CodeableConcept | The HGNC gene symbol is to be used as display text and the HGNC gene ID used as the code. If no HGNC code issued for this gene yet, NCBI gene IDs SHALL be used. Binding: HUGO Gene Nomenclature Committee Gene Names (HGNC) (extensible)
component:biomarker-category |  | 0..* | BackboneElement | Biomarker Category
code |  | 1..1 | CodeableConcept | Type of component observation (code / type) Required Pattern: At least the following
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://hl7.org/fhir/uv/genomics-reporting/CodeSystem/tbd-codes-cs
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: biomarker-category
value[x] |  | 1..1 | CodeableConcept | cell receptor | antigen | protein | immune stain Binding: Molecular Biomarker Categories (example)
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
Observation.code | Base | example | Molecular Biomarker Codes | 📦4.0.0-cibuild | This IG
Observation.component:gene-studied.​value[x] | Base | extensible | HUGO Gene Nomenclature Committee Gene Names (HGNC) | 📦4.0.0-cibuild | This IG
Observation.component:biomarker-category.​value[x] | Base | example | Molecular Biomarker Categories | 📦4.0.0-cibuild | This IG

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Observation | C | 0..* | Observation | Measurements and simple assertions Constraints: obs-6, obs-7
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | Contained, inline Resources
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | Σ | 0..* | Identifier | Business Identifier for observation
basedOn | Σ | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | Fulfills plan, proposal or order
partOf | Σ | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) | Part of referenced event
status | ?!Σ | 1..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required): Codes providing the status of an observation.
Slices for category |  | 2..* | CodeableConcept | Classification of type of observation Slice: Unordered, Open by value:coding Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
category:labCategory |  | 1..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
coding | Σ | 1..1 | Coding | Code defined by a terminology system Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: laboratory
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text | Σ | 0..1 | string | Plain text representation of the concept
category:mbCategory |  | 1..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
coding | Σ | 1..1 | Coding | Code defined by a terminology system Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://hl7.org/fhir/uv/genomics-reporting/CodeSystem/tbd-codes-cs
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: biomarker-category
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text | Σ | 0..1 | string | Plain text representation of the concept
category:geCategory |  | 0..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
coding | Σ | 1..1 | Coding | Code defined by a terminology system Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0074
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: GE
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text | Σ | 0..1 | string | Plain text representation of the concept
code | Σ | 1..1 | CodeableConcept | Code for the biomarker Binding: Molecular Biomarker Codes (example)
subject | Σ | 0..1 | Reference(Patient | Group | Device | Location) | Who and/or what the observation is about
focus | Σ | 0..* | Reference(Resource) | What the observation is about, when it is not about the subject of record
encounter | Σ | 0..1 | Reference(Encounter) | Healthcare event during which this observation is made
effective[x] | Σ | 0..1 |  | Clinically relevant time/time-period for observation
effectiveDateTime |  |  | dateTime |
effectivePeriod |  |  | Period |
effectiveTiming |  |  | Timing |
effectiveInstant |  |  | instant |
issued | Σ | 0..1 | instant | Date/Time this version was made available
performer | Σ | 0..* | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) | Who is responsible for the observation
value[x] | Σ C | 0..1 |  | Actual result
valueQuantity |  |  | Quantity |
valueCodeableConcept |  |  | CodeableConcept |
valueString |  |  | string |
valueBoolean |  |  | boolean |
valueInteger |  |  | integer |
valueRange |  |  | Range |
valueRatio |  |  | Ratio |
valueSampledData |  |  | SampledData |
valueTime |  |  | time |
valueDateTime |  |  | dateTime |
valuePeriod |  |  | Period |
dataAbsentReason | C | 0..1 | CodeableConcept | Why the result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
interpretation |  | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
note |  | 0..* | Annotation | Comments about the observation
bodySite |  | 0..1 | CodeableConcept | Observed body part Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
method |  | 0..1 | CodeableConcept | How it was done Binding: ObservationMethods (example): Methods for simple observations.
specimen |  | 0..1 | Reference(Specimen) | Specimen used for this observation
device |  | 0..1 | Reference(Device | DeviceMetric) | (Measurement) Device
referenceRange | C | 0..* | BackboneElement | Provides guide for interpretation Constraints: obs-3
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
low | C | 0..1 | SimpleQuantity(4.0.1) | Low Range, if relevant
high | C | 0..1 | SimpleQuantity(4.0.1) | High Range, if relevant
type |  | 0..1 | CodeableConcept | Reference range qualifier Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range.
appliesTo |  | 0..* | CodeableConcept | Reference range population Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to.
age |  | 0..1 | Range | Applicable age range, if relevant
text |  | 0..1 | string | Text based reference range in an observation
hasMember | Σ | 0..* | Reference(Observation | QuestionnaireResponse | MolecularSequence) | Related resource that belongs to the Observation group
Slices for derivedFrom | Σ | 0..* | Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) | Related measurements the observation is made from Slice: Unordered, Open by profile:resolve()
derivedFrom:variant | Σ | 0..* | Reference(Variant) | Variant the biomarker is derived from
derivedFrom:genotype | Σ | 0..* | Reference(Genotype) | Genotype the biomarker is derived from
derivedFrom:haplotype | Σ | 0..* | Reference(Haplotype) | Haplotype the biomarker is derived from
Slices for component | Σ | 0..* | BackboneElement | Component results Slice: Unordered, Open by value:code
component:All Slices |  |  |  | Content/Rules for all slices
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code | Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations.
value[x] | Σ | 0..1 |  | Actual component result
valueQuantity |  |  | Quantity |
valueCodeableConcept |  |  | CodeableConcept |
valueString |  |  | string |
valueBoolean |  |  | boolean |
valueInteger |  |  | integer |
valueRange |  |  | Range |
valueRatio |  |  | Ratio |
valueSampledData |  |  | SampledData |
valueTime |  |  | time |
valueDateTime |  |  | dateTime |
valuePeriod |  |  | Period |
dataAbsentReason | C | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
interpretation |  | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
referenceRange |  | 0..* | See referenceRange (Observation) | Provides guide for interpretation of component result
component:gene-studied | Σ | 0..* | BackboneElement | Gene Studied
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code | Σ | 1..1 | CodeableConcept | 48018-6 Binding: LOINCCodes (example): Codes identifying names of simple observations. Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 48018-6
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text |  | 0..1 | string | Plain text representation of the concept
value[x] | Σ | 1..1 | CodeableConcept | The HGNC gene symbol is to be used as display text and the HGNC gene ID used as the code. If no HGNC code issued for this gene yet, NCBI gene IDs SHALL be used. Binding: HUGO Gene Nomenclature Committee Gene Names (HGNC) (extensible)
dataAbsentReason | C | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
interpretation |  | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
referenceRange |  | 0..* | See referenceRange (Observation) | Provides guide for interpretation of component result
component:biomarker-category | Σ | 0..* | BackboneElement | Biomarker Category
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code | Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://hl7.org/fhir/uv/genomics-reporting/CodeSystem/tbd-codes-cs
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: biomarker-category
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text |  | 0..1 | string | Plain text representation of the concept
value[x] | Σ | 1..1 | CodeableConcept | cell receptor | antigen | protein | immune stain Binding: Molecular Biomarker Categories (example)
dataAbsentReason | C | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
interpretation |  | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
referenceRange |  | 0..* | See referenceRange (Observation) | Provides guide for interpretation of component result
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Observation.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
Observation.status | Base | required | ObservationStatus | 📍4.0.1 | FHIR Std.
Observation.category | Base | preferred | Observation Category Codes | 📍4.0.1 | FHIR Std.
Observation.category:labCategory | Base | preferred | Observation Category Codes | 📍4.0.1 | FHIR Std.
Observation.category:mbCategory | Base | preferred | Observation Category Codes | 📍4.0.1 | FHIR Std.
Observation.category:geCategory | Base | preferred | Observation Category Codes | 📍4.0.1 | FHIR Std.
Observation.code | Base | example | Molecular Biomarker Codes | 📦4.0.0-cibuild | This IG
Observation.dataAbsentReason | Base | extensible | DataAbsentReason | 📍4.0.1 | FHIR Std.
Observation.interpretation | Base | extensible | Observation Interpretation Codes | 📍4.0.1 | FHIR Std.
Observation.bodySite | Base | example | SNOMED CT Body Structures | 📍4.0.1 | FHIR Std.
Observation.method | Base | example | Observation Methods | 📍4.0.1 | FHIR Std.
Observation.referenceRange.​type | Base | preferred | Observation Reference Range Meaning Codes | 📍4.0.1 | FHIR Std.
Observation.referenceRange.​appliesTo | Base | example | Observation Reference Range Applies To Codes | 📍4.0.1 | FHIR Std.
Observation.component.​code | Base | example | LOINC Codes | 📍4.0.1 | FHIR Std.
Observation.component.​dataAbsentReason | Base | extensible | DataAbsentReason | 📍4.0.1 | FHIR Std.
Observation.component.​interpretation | Base | extensible | Observation Interpretation Codes | 📍4.0.1 | FHIR Std.
Observation.component:gene-studied.​code | Base | example | LOINC Codes | 📍4.0.1 | FHIR Std.
Observation.component:gene-studied.​value[x] | Base | extensible | HUGO Gene Nomenclature Committee Gene Names (HGNC) | 📦4.0.0-cibuild | This IG
Observation.component:gene-studied.​dataAbsentReason | Base | extensible | DataAbsentReason | 📍4.0.1 | FHIR Std.
Observation.component:gene-studied.​interpretation | Base | extensible | Observation Interpretation Codes | 📍4.0.1 | FHIR Std.
Observation.component:biomarker-category.​code | Base | example | LOINC Codes | 📍4.0.1 | FHIR Std.
Observation.component:biomarker-category.​value[x] | Base | example | Molecular Biomarker Categories | 📦4.0.0-cibuild | This IG
Observation.component:biomarker-category.​dataAbsentReason | Base | extensible | DataAbsentReason | 📍4.0.1 | FHIR Std.
Observation.component:biomarker-category.​interpretation | Base | extensible | Observation Interpretation Codes | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
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()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
obs-3 | error | Observation.referenceRange | Must have at least a low or a high or text | `low.exists() or high.exists() or text.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()`

This structure is derived from Observation

Summary

Mandatory: 4 elements(3 nested mandatory elements)

Structures

This structure refers to these other structures:

- Variant (http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/variant)
- Genotype (http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/genotype)
- Haplotype (http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/haplotype)

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of Observation.category
- The element 1 is sliced based on the value of Observation.derivedFrom
- The element 1 is sliced based on the value of Observation.component

Maturity: 2

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Observation | C | 0..* | Observation | Measurements and simple assertions Constraints: obs-6, obs-7
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
status | ?!Σ | 1..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required): Codes providing the status of an observation.
Slices for category |  | 2..* | CodeableConcept | Classification of type of observation Slice: Unordered, Open by value:coding Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
category:labCategory |  | 1..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
coding | Σ | 1..1 | Coding | Code defined by a terminology system Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: laboratory
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
category:mbCategory |  | 1..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
coding | Σ | 1..1 | Coding | Code defined by a terminology system Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://hl7.org/fhir/uv/genomics-reporting/CodeSystem/tbd-codes-cs
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: biomarker-category
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
category:geCategory |  | 0..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
coding | Σ | 1..1 | Coding | Code defined by a terminology system Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0074
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: GE
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
code | Σ | 1..1 | CodeableConcept | Code for the biomarker Binding: Molecular Biomarker Codes (example)
Slices for derivedFrom | Σ | 0..* | Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) | Related measurements the observation is made from Slice: Unordered, Open by profile:resolve()
derivedFrom:variant | Σ | 0..* | Reference(Variant) | Variant the biomarker is derived from
derivedFrom:genotype | Σ | 0..* | Reference(Genotype) | Genotype the biomarker is derived from
derivedFrom:haplotype | Σ | 0..* | Reference(Haplotype) | Haplotype the biomarker is derived from
Slices for component | Σ | 0..* | BackboneElement | Component results Slice: Unordered, Open by value:code
component:All Slices |  |  |  | Content/Rules for all slices
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code | Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations.
component:gene-studied | Σ | 0..* | BackboneElement | Gene Studied
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code | Σ | 1..1 | CodeableConcept | 48018-6 Binding: LOINCCodes (example): Codes identifying names of simple observations. Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 48018-6
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text |  | 0..1 | string | Plain text representation of the concept
value[x] | Σ | 1..1 | CodeableConcept | The HGNC gene symbol is to be used as display text and the HGNC gene ID used as the code. If no HGNC code issued for this gene yet, NCBI gene IDs SHALL be used. Binding: HUGO Gene Nomenclature Committee Gene Names (HGNC) (extensible)
component:biomarker-category | Σ | 0..* | BackboneElement | Biomarker Category
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code | Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://hl7.org/fhir/uv/genomics-reporting/CodeSystem/tbd-codes-cs
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: biomarker-category
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text |  | 0..1 | string | Plain text representation of the concept
value[x] | Σ | 1..1 | CodeableConcept | cell receptor | antigen | protein | immune stain Binding: Molecular Biomarker Categories (example)
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Observation.status | Base | required | ObservationStatus | 📍4.0.1 | FHIR Std.
Observation.category | Base | preferred | Observation Category Codes | 📍4.0.1 | FHIR Std.
Observation.category:labCategory | Base | preferred | Observation Category Codes | 📍4.0.1 | FHIR Std.
Observation.category:mbCategory | Base | preferred | Observation Category Codes | 📍4.0.1 | FHIR Std.
Observation.category:geCategory | Base | preferred | Observation Category Codes | 📍4.0.1 | FHIR Std.
Observation.code | Base | example | Molecular Biomarker Codes | 📦4.0.0-cibuild | This IG
Observation.component.​code | Base | example | LOINC Codes | 📍4.0.1 | FHIR Std.
Observation.component:gene-studied.​code | Base | example | LOINC Codes | 📍4.0.1 | FHIR Std.
Observation.component:gene-studied.​value[x] | Base | extensible | HUGO Gene Nomenclature Committee Gene Names (HGNC) | 📦4.0.0-cibuild | This IG
Observation.component:biomarker-category.​code | Base | example | LOINC Codes | 📍4.0.1 | FHIR Std.
Observation.component:biomarker-category.​value[x] | Base | example | Molecular Biomarker Categories | 📦4.0.0-cibuild | This IG

#### Constraints

Id | Grade | Path(s) | Description | Expression
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()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.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()`

Differential View

This structure is derived from Observation

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Observation |  | 0..* | Observation | Measurements and simple assertions
Slices for category |  | 2..* | CodeableConcept | Classification of type of observation Slice: Unordered, Open by value:coding
category:labCategory |  | 1..1 | CodeableConcept | Classification of type of observation
coding |  | 1..1 | Coding | Code defined by a terminology system Required Pattern: At least the following
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: laboratory
category:mbCategory |  | 1..1 | CodeableConcept | Classification of type of observation
coding |  | 1..1 | Coding | Code defined by a terminology system Required Pattern: At least the following
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://hl7.org/fhir/uv/genomics-reporting/CodeSystem/tbd-codes-cs
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: biomarker-category
category:geCategory |  | 0..1 | CodeableConcept | Classification of type of observation
coding |  | 1..1 | Coding | Code defined by a terminology system Required Pattern: At least the following
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0074
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: GE
code |  | 1..1 | CodeableConcept | Code for the biomarker Binding: Molecular Biomarker Codes (example)
Slices for derivedFrom |  | 0..* | Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) | Related measurements the observation is made from Slice: Unordered, Open by profile:resolve()
derivedFrom:variant |  | 0..* | Reference(Variant) | Variant the biomarker is derived from
derivedFrom:genotype |  | 0..* | Reference(Genotype) | Genotype the biomarker is derived from
derivedFrom:haplotype |  | 0..* | Reference(Haplotype) | Haplotype the biomarker is derived from
Slices for component |  | 0..* | BackboneElement | Component results Slice: Unordered, Open by value:code
component:gene-studied |  | 0..* | BackboneElement | Gene Studied
code |  | 1..1 | CodeableConcept | 48018-6 Required Pattern: At least the following
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 48018-6
value[x] |  | 1..1 | CodeableConcept | The HGNC gene symbol is to be used as display text and the HGNC gene ID used as the code. If no HGNC code issued for this gene yet, NCBI gene IDs SHALL be used. Binding: HUGO Gene Nomenclature Committee Gene Names (HGNC) (extensible)
component:biomarker-category |  | 0..* | BackboneElement | Biomarker Category
code |  | 1..1 | CodeableConcept | Type of component observation (code / type) Required Pattern: At least the following
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://hl7.org/fhir/uv/genomics-reporting/CodeSystem/tbd-codes-cs
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: biomarker-category
value[x] |  | 1..1 | CodeableConcept | cell receptor | antigen | protein | immune stain Binding: Molecular Biomarker Categories (example)
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
Observation.code | Base | example | Molecular Biomarker Codes | 📦4.0.0-cibuild | This IG
Observation.component:gene-studied.​value[x] | Base | extensible | HUGO Gene Nomenclature Committee Gene Names (HGNC) | 📦4.0.0-cibuild | This IG
Observation.component:biomarker-category.​value[x] | Base | example | Molecular Biomarker Categories | 📦4.0.0-cibuild | This IG

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Observation | C | 0..* | Observation | Measurements and simple assertions Constraints: obs-6, obs-7
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | Contained, inline Resources
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | Σ | 0..* | Identifier | Business Identifier for observation
basedOn | Σ | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | Fulfills plan, proposal or order
partOf | Σ | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) | Part of referenced event
status | ?!Σ | 1..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required): Codes providing the status of an observation.
Slices for category |  | 2..* | CodeableConcept | Classification of type of observation Slice: Unordered, Open by value:coding Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
category:labCategory |  | 1..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
coding | Σ | 1..1 | Coding | Code defined by a terminology system Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: laboratory
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text | Σ | 0..1 | string | Plain text representation of the concept
category:mbCategory |  | 1..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
coding | Σ | 1..1 | Coding | Code defined by a terminology system Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://hl7.org/fhir/uv/genomics-reporting/CodeSystem/tbd-codes-cs
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: biomarker-category
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text | Σ | 0..1 | string | Plain text representation of the concept
category:geCategory |  | 0..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
coding | Σ | 1..1 | Coding | Code defined by a terminology system Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0074
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: GE
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text | Σ | 0..1 | string | Plain text representation of the concept
code | Σ | 1..1 | CodeableConcept | Code for the biomarker Binding: Molecular Biomarker Codes (example)
subject | Σ | 0..1 | Reference(Patient | Group | Device | Location) | Who and/or what the observation is about
focus | Σ | 0..* | Reference(Resource) | What the observation is about, when it is not about the subject of record
encounter | Σ | 0..1 | Reference(Encounter) | Healthcare event during which this observation is made
effective[x] | Σ | 0..1 |  | Clinically relevant time/time-period for observation
effectiveDateTime |  |  | dateTime |
effectivePeriod |  |  | Period |
effectiveTiming |  |  | Timing |
effectiveInstant |  |  | instant |
issued | Σ | 0..1 | instant | Date/Time this version was made available
performer | Σ | 0..* | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) | Who is responsible for the observation
value[x] | Σ C | 0..1 |  | Actual result
valueQuantity |  |  | Quantity |
valueCodeableConcept |  |  | CodeableConcept |
valueString |  |  | string |
valueBoolean |  |  | boolean |
valueInteger |  |  | integer |
valueRange |  |  | Range |
valueRatio |  |  | Ratio |
valueSampledData |  |  | SampledData |
valueTime |  |  | time |
valueDateTime |  |  | dateTime |
valuePeriod |  |  | Period |
dataAbsentReason | C | 0..1 | CodeableConcept | Why the result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
interpretation |  | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
note |  | 0..* | Annotation | Comments about the observation
bodySite |  | 0..1 | CodeableConcept | Observed body part Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
method |  | 0..1 | CodeableConcept | How it was done Binding: ObservationMethods (example): Methods for simple observations.
specimen |  | 0..1 | Reference(Specimen) | Specimen used for this observation
device |  | 0..1 | Reference(Device | DeviceMetric) | (Measurement) Device
referenceRange | C | 0..* | BackboneElement | Provides guide for interpretation Constraints: obs-3
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
low | C | 0..1 | SimpleQuantity(4.0.1) | Low Range, if relevant
high | C | 0..1 | SimpleQuantity(4.0.1) | High Range, if relevant
type |  | 0..1 | CodeableConcept | Reference range qualifier Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range.
appliesTo |  | 0..* | CodeableConcept | Reference range population Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to.
age |  | 0..1 | Range | Applicable age range, if relevant
text |  | 0..1 | string | Text based reference range in an observation
hasMember | Σ | 0..* | Reference(Observation | QuestionnaireResponse | MolecularSequence) | Related resource that belongs to the Observation group
Slices for derivedFrom | Σ | 0..* | Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) | Related measurements the observation is made from Slice: Unordered, Open by profile:resolve()
derivedFrom:variant | Σ | 0..* | Reference(Variant) | Variant the biomarker is derived from
derivedFrom:genotype | Σ | 0..* | Reference(Genotype) | Genotype the biomarker is derived from
derivedFrom:haplotype | Σ | 0..* | Reference(Haplotype) | Haplotype the biomarker is derived from
Slices for component | Σ | 0..* | BackboneElement | Component results Slice: Unordered, Open by value:code
component:All Slices |  |  |  | Content/Rules for all slices
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code | Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations.
value[x] | Σ | 0..1 |  | Actual component result
valueQuantity |  |  | Quantity |
valueCodeableConcept |  |  | CodeableConcept |
valueString |  |  | string |
valueBoolean |  |  | boolean |
valueInteger |  |  | integer |
valueRange |  |  | Range |
valueRatio |  |  | Ratio |
valueSampledData |  |  | SampledData |
valueTime |  |  | time |
valueDateTime |  |  | dateTime |
valuePeriod |  |  | Period |
dataAbsentReason | C | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
interpretation |  | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
referenceRange |  | 0..* | See referenceRange (Observation) | Provides guide for interpretation of component result
component:gene-studied | Σ | 0..* | BackboneElement | Gene Studied
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code | Σ | 1..1 | CodeableConcept | 48018-6 Binding: LOINCCodes (example): Codes identifying names of simple observations. Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 48018-6
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text |  | 0..1 | string | Plain text representation of the concept
value[x] | Σ | 1..1 | CodeableConcept | The HGNC gene symbol is to be used as display text and the HGNC gene ID used as the code. If no HGNC code issued for this gene yet, NCBI gene IDs SHALL be used. Binding: HUGO Gene Nomenclature Committee Gene Names (HGNC) (extensible)
dataAbsentReason | C | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
interpretation |  | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
referenceRange |  | 0..* | See referenceRange (Observation) | Provides guide for interpretation of component result
component:biomarker-category | Σ | 0..* | BackboneElement | Biomarker Category
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code | Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://hl7.org/fhir/uv/genomics-reporting/CodeSystem/tbd-codes-cs
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: biomarker-category
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text |  | 0..1 | string | Plain text representation of the concept
value[x] | Σ | 1..1 | CodeableConcept | cell receptor | antigen | protein | immune stain Binding: Molecular Biomarker Categories (example)
dataAbsentReason | C | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
interpretation |  | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
referenceRange |  | 0..* | See referenceRange (Observation) | Provides guide for interpretation of component result
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Observation.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
Observation.status | Base | required | ObservationStatus | 📍4.0.1 | FHIR Std.
Observation.category | Base | preferred | Observation Category Codes | 📍4.0.1 | FHIR Std.
Observation.category:labCategory | Base | preferred | Observation Category Codes | 📍4.0.1 | FHIR Std.
Observation.category:mbCategory | Base | preferred | Observation Category Codes | 📍4.0.1 | FHIR Std.
Observation.category:geCategory | Base | preferred | Observation Category Codes | 📍4.0.1 | FHIR Std.
Observation.code | Base | example | Molecular Biomarker Codes | 📦4.0.0-cibuild | This IG
Observation.dataAbsentReason | Base | extensible | DataAbsentReason | 📍4.0.1 | FHIR Std.
Observation.interpretation | Base | extensible | Observation Interpretation Codes | 📍4.0.1 | FHIR Std.
Observation.bodySite | Base | example | SNOMED CT Body Structures | 📍4.0.1 | FHIR Std.
Observation.method | Base | example | Observation Methods | 📍4.0.1 | FHIR Std.
Observation.referenceRange.​type | Base | preferred | Observation Reference Range Meaning Codes | 📍4.0.1 | FHIR Std.
Observation.referenceRange.​appliesTo | Base | example | Observation Reference Range Applies To Codes | 📍4.0.1 | FHIR Std.
Observation.component.​code | Base | example | LOINC Codes | 📍4.0.1 | FHIR Std.
Observation.component.​dataAbsentReason | Base | extensible | DataAbsentReason | 📍4.0.1 | FHIR Std.
Observation.component.​interpretation | Base | extensible | Observation Interpretation Codes | 📍4.0.1 | FHIR Std.
Observation.component:gene-studied.​code | Base | example | LOINC Codes | 📍4.0.1 | FHIR Std.
Observation.component:gene-studied.​value[x] | Base | extensible | HUGO Gene Nomenclature Committee Gene Names (HGNC) | 📦4.0.0-cibuild | This IG
Observation.component:gene-studied.​dataAbsentReason | Base | extensible | DataAbsentReason | 📍4.0.1 | FHIR Std.
Observation.component:gene-studied.​interpretation | Base | extensible | Observation Interpretation Codes | 📍4.0.1 | FHIR Std.
Observation.component:biomarker-category.​code | Base | example | LOINC Codes | 📍4.0.1 | FHIR Std.
Observation.component:biomarker-category.​value[x] | Base | example | Molecular Biomarker Categories | 📦4.0.0-cibuild | This IG
Observation.component:biomarker-category.​dataAbsentReason | Base | extensible | DataAbsentReason | 📍4.0.1 | FHIR Std.
Observation.component:biomarker-category.​interpretation | Base | extensible | Observation Interpretation Codes | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
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()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
obs-3 | error | Observation.referenceRange | Must have at least a low or a high or text | `low.exists() or high.exists() or text.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()`

This structure is derived from Observation

Summary

Mandatory: 4 elements(3 nested mandatory elements)

Structures

This structure refers to these other structures:

- Variant (http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/variant)
- Genotype (http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/genotype)
- Haplotype (http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/haplotype)

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of Observation.category
- The element 1 is sliced based on the value of Observation.derivedFrom
- The element 1 is sliced based on the value of Observation.component

Maturity: 2

Other representations of profile: CSV, Excel, Schematron