Genomics Reporting Implementation Guide
4.0.0-cibuild - CI Build International flag

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 molecule type

Molecular biomarker categorized by method

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:

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.

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Observation C 0..* Observation Measurements and simple assertions
Constraints: obs-6, obs-7
Observation.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Observation.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Observation.status This element is a modifier element. This element is included in summaries. 1..1 code registered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an observation.
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.
Observation.Slices for category.category:labCategory 1..1 CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
Observation.Slices for category.category:labCategory.coding This element is included in summaries. 1..1 Coding Code defined by a terminology system

Required Pattern:
{
  "system" : "http://terminology.hl7.org/CodeSystem/observation-category",
  "code" : "laboratory"
}
Observation.Slices for category.category:mbCategory 1..1 CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
Observation.Slices for category.category:mbCategory.coding This element is included in summaries. 1..1 Coding Code defined by a terminology system

Required Pattern:
{
  "system" : "http://hl7.org/fhir/uv/genomics-reporting/CodeSystem/tbd-codes-cs",
  "code" : "biomarker-category"
}
Observation.Slices for category.category:geCategory 0..1 CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
Observation.Slices for category.category:geCategory.coding This element is included in summaries. 1..1 Coding Code defined by a terminology system

Required Pattern:
{
  "system" : "http://terminology.hl7.org/CodeSystem/v2-0074",
  "code" : "GE"
}
Observation.code This element is included in summaries. 1..1 CodeableConcept Code for the biomarker
Binding: Molecular Biomarker Codes (example)
Observation.Slices for derivedFrom This element is included in summaries. 0..* Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) Related measurements the observation is made from
Slice: Unordered, Open by profile:resolve()
Observation.Slices for derivedFrom.derivedFrom:variant This element is included in summaries. 0..* Reference(Variant) Variant the biomarker is derived from
Observation.Slices for derivedFrom.derivedFrom:genotype This element is included in summaries. 0..* Reference(Genotype) Genotype the biomarker is derived from
Observation.Slices for derivedFrom.derivedFrom:haplotype This element is included in summaries. 0..* Reference(Haplotype) Haplotype the biomarker is derived from
Observation.Slices for component This element is included in summaries. 0..* BackboneElement Component results
Slice: Unordered, Open by value:code
Observation.Slices for component.component:All Slices Content/Rules for all slices
Observation.Slices for component.component:All Slices.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Observation.Slices for component.component:All Slices.code This element is included in summaries. 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.
Observation.Slices for component.component:gene-studied This element is included in summaries. 0..* BackboneElement Gene Studied
Observation.Slices for component.component:gene-studied.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Observation.Slices for component.component:gene-studied.code This element is included in summaries. 1..1 CodeableConcept 48018-6
Binding: LOINCCodes (example): Codes identifying names of simple observations.
Required Pattern:
{
  "coding" : [
    {
      "system" : "http://loinc.org",
      "code" : "48018-6"
    }
  ]
}
Observation.Slices for component.component:gene-studied.value[x] This element is included in summaries. 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)
Observation.Slices for component.component:biomarker-category This element is included in summaries. 0..* BackboneElement Biomarker Category
Observation.Slices for component.component:biomarker-category.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Observation.Slices for component.component:biomarker-category.code This element is included in summaries. 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.
Required Pattern:
{
  "coding" : [
    {
      "system" : "http://hl7.org/fhir/uv/genomics-reporting/CodeSystem/tbd-codes-cs",
      "code" : "biomarker-category"
    }
  ]
}
Observation.Slices for component.component:biomarker-category.value[x] This element is included in summaries. 1..1 CodeableConcept cell receptor | antigen | protein | immune stain
Binding: Molecular Biomarker Categories (example)

doco 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

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Observation 0..* Observation Measurements and simple assertions
Observation.Slices for category 2..* CodeableConcept Classification of type of observation
Slice: Unordered, Open by value:coding
Observation.Slices for category.category:labCategory 1..1 CodeableConcept Classification of type of observation
Observation.Slices for category.category:labCategory.coding 1..1 Coding Code defined by a terminology system
Required Pattern:
{
  "system" : "http://terminology.hl7.org/CodeSystem/observation-category",
  "code" : "laboratory"
}
Observation.Slices for category.category:mbCategory 1..1 CodeableConcept Classification of type of observation
Observation.Slices for category.category:mbCategory.coding 1..1 Coding Code defined by a terminology system
Required Pattern:
{
  "system" : "http://hl7.org/fhir/uv/genomics-reporting/CodeSystem/tbd-codes-cs",
  "code" : "biomarker-category"
}
Observation.Slices for category.category:geCategory 0..1 CodeableConcept Classification of type of observation
Observation.Slices for category.category:geCategory.coding 1..1 Coding Code defined by a terminology system
Required Pattern:
{
  "system" : "http://terminology.hl7.org/CodeSystem/v2-0074",
  "code" : "GE"
}
Observation.code 1..1 CodeableConcept Code for the biomarker
Binding: Molecular Biomarker Codes (example)
Observation.Slices for derivedFrom 0..* Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) Related measurements the observation is made from
Slice: Unordered, Open by profile:resolve()
Observation.Slices for derivedFrom.derivedFrom:variant 0..* Reference(Variant) Variant the biomarker is derived from
Observation.Slices for derivedFrom.derivedFrom:genotype 0..* Reference(Genotype) Genotype the biomarker is derived from
Observation.Slices for derivedFrom.derivedFrom:haplotype 0..* Reference(Haplotype) Haplotype the biomarker is derived from
Observation.Slices for component.component:gene-studied 0..* BackboneElement Gene Studied
Observation.Slices for component.component:gene-studied.code 1..1 CodeableConcept 48018-6
Required Pattern:
{
  "coding" : [
    {
      "system" : "http://loinc.org",
      "code" : "48018-6"
    }
  ]
}
Observation.Slices for component.component:gene-studied.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)
Observation.Slices for component.component:biomarker-category 0..* BackboneElement Biomarker Category
Observation.Slices for component.component:biomarker-category.code 1..1 CodeableConcept Type of component observation (code / type)
Required Pattern:
{
  "coding" : [
    {
      "system" : "http://hl7.org/fhir/uv/genomics-reporting/CodeSystem/tbd-codes-cs",
      "code" : "biomarker-category"
    }
  ]
}
Observation.Slices for component.component:biomarker-category.value[x] 1..1 CodeableConcept cell receptor | antigen | protein | immune stain
Binding: Molecular Biomarker Categories (example)

doco 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
NameFlagsCard.TypeDescription & Constraints    Filter: doco
Observation C 0..* Observation Measurements and simple assertions
Constraints: obs-6, obs-7
Observation.id This element is included in summaries. 0..1 id Logical id of this artifact
Observation.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Observation.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Observation.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
Observation.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
Observation.contained 0..* Resource Contained, inline Resources
Observation.extension 0..* Extension Additional content defined by implementations
Observation.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Observation.identifier This element is included in summaries. 0..* Identifier Business Identifier for observation
Observation.basedOn This element is included in summaries. 0..* Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) Fulfills plan, proposal or order
Observation.partOf This element is included in summaries. 0..* Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) Part of referenced event
Observation.status This element is a modifier element. This element is included in summaries. 1..1 code registered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an observation.
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.
Observation.Slices for category.category:labCategory 1..1 CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
Observation.Slices for category.category:labCategory.id 0..1 string Unique id for inter-element referencing
Observation.Slices for category.category:labCategory.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.Slices for category.category:labCategory.coding This element is included in summaries. 1..1 Coding Code defined by a terminology system

Required Pattern:
{
  "system" : "http://terminology.hl7.org/CodeSystem/observation-category",
  "code" : "laboratory"
}
Observation.Slices for category.category:labCategory.text This element is included in summaries. 0..1 string Plain text representation of the concept
Observation.Slices for category.category:mbCategory 1..1 CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
Observation.Slices for category.category:mbCategory.id 0..1 string Unique id for inter-element referencing
Observation.Slices for category.category:mbCategory.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.Slices for category.category:mbCategory.coding This element is included in summaries. 1..1 Coding Code defined by a terminology system

Required Pattern:
{
  "system" : "http://hl7.org/fhir/uv/genomics-reporting/CodeSystem/tbd-codes-cs",
  "code" : "biomarker-category"
}
Observation.Slices for category.category:mbCategory.text This element is included in summaries. 0..1 string Plain text representation of the concept
Observation.Slices for category.category:geCategory 0..1 CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
Observation.Slices for category.category:geCategory.id 0..1 string Unique id for inter-element referencing
Observation.Slices for category.category:geCategory.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.Slices for category.category:geCategory.coding This element is included in summaries. 1..1 Coding Code defined by a terminology system

Required Pattern:
{
  "system" : "http://terminology.hl7.org/CodeSystem/v2-0074",
  "code" : "GE"
}
Observation.Slices for category.category:geCategory.text This element is included in summaries. 0..1 string Plain text representation of the concept
Observation.code This element is included in summaries. 1..1 CodeableConcept Code for the biomarker
Binding: Molecular Biomarker Codes (example)
Observation.subject This element is included in summaries. 0..1 Reference(Patient | Group | Device | Location) Who and/or what the observation is about
Observation.focus This element is included in summaries. 0..* Reference(Resource) What the observation is about, when it is not about the subject of record
Observation.encounter This element is included in summaries. 0..1 Reference(Encounter) Healthcare event during which this observation is made
Observation.effective[x] This element is included in summaries. 0..1 Clinically relevant time/time-period for observation
Observation.effective[x].effectiveDateTime dateTime
Observation.effective[x].effectivePeriod Period
Observation.effective[x].effectiveTiming Timing
Observation.effective[x].effectiveInstant instant
Observation.issued This element is included in summaries. 0..1 instant Date/Time this version was made available
Observation.performer This element is included in summaries. 0..* Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) Who is responsible for the observation
Observation.value[x] This element is included in summaries. C 0..1 Actual result
Observation.value[x].valueQuantity Quantity
Observation.value[x].valueCodeableConcept CodeableConcept
Observation.value[x].valueString string
Observation.value[x].valueBoolean boolean
Observation.value[x].valueInteger integer
Observation.value[x].valueRange Range
Observation.value[x].valueRatio Ratio
Observation.value[x].valueSampledData SampledData
Observation.value[x].valueTime time
Observation.value[x].valueDateTime dateTime
Observation.value[x].valuePeriod Period
Observation.dataAbsentReason C 0..1 CodeableConcept Why the result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
Observation.interpretation 0..* CodeableConcept High, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
Observation.note 0..* Annotation Comments about the observation
Observation.bodySite 0..1 CodeableConcept Observed body part
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
Observation.method 0..1 CodeableConcept How it was done
Binding: ObservationMethods (example): Methods for simple observations.
Observation.specimen 0..1 Reference(Specimen) Specimen used for this observation
Observation.device 0..1 Reference(Device | DeviceMetric) (Measurement) Device
Observation.referenceRange C 0..* BackboneElement Provides guide for interpretation
Constraints: obs-3
Observation.referenceRange.id 0..1 string Unique id for inter-element referencing
Observation.referenceRange.extension 0..* Extension Additional content defined by implementations
Observation.referenceRange.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Observation.referenceRange.low C 0..1 SimpleQuantity(4.0.1) Low Range, if relevant
Constraints: sqty-1
Observation.referenceRange.high C 0..1 SimpleQuantity(4.0.1) High Range, if relevant
Constraints: sqty-1
Observation.referenceRange.type 0..1 CodeableConcept Reference range qualifier
Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range.
Observation.referenceRange.appliesTo 0..* CodeableConcept Reference range population
Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to.
Observation.referenceRange.age 0..1 Range Applicable age range, if relevant
Observation.referenceRange.text 0..1 string Text based reference range in an observation
Observation.hasMember This element is included in summaries. 0..* Reference(Observation | QuestionnaireResponse | MolecularSequence) Related resource that belongs to the Observation group
Observation.Slices for derivedFrom This element is included in summaries. 0..* Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) Related measurements the observation is made from
Slice: Unordered, Open by profile:resolve()
Observation.Slices for derivedFrom.derivedFrom:variant This element is included in summaries. 0..* Reference(Variant) Variant the biomarker is derived from
Observation.Slices for derivedFrom.derivedFrom:genotype This element is included in summaries. 0..* Reference(Genotype) Genotype the biomarker is derived from
Observation.Slices for derivedFrom.derivedFrom:haplotype This element is included in summaries. 0..* Reference(Haplotype) Haplotype the biomarker is derived from
Observation.Slices for component This element is included in summaries. 0..* BackboneElement Component results
Slice: Unordered, Open by value:code
Observation.Slices for component.component:All Slices Content/Rules for all slices
Observation.Slices for component.component:All Slices.id 0..1 string Unique id for inter-element referencing
Observation.Slices for component.component:All Slices.extension 0..* Extension Additional content defined by implementations
Observation.Slices for component.component:All Slices.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Observation.Slices for component.component:All Slices.code This element is included in summaries. 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.
Observation.Slices for component.component:All Slices.value[x] This element is included in summaries. 0..1 Actual component result
Observation.Slices for component.component:All Slices.value[x].valueQuantity Quantity
Observation.Slices for component.component:All Slices.value[x].valueCodeableConcept CodeableConcept
Observation.Slices for component.component:All Slices.value[x].valueString string
Observation.Slices for component.component:All Slices.value[x].valueBoolean boolean
Observation.Slices for component.component:All Slices.value[x].valueInteger integer
Observation.Slices for component.component:All Slices.value[x].valueRange Range
Observation.Slices for component.component:All Slices.value[x].valueRatio Ratio
Observation.Slices for component.component:All Slices.value[x].valueSampledData SampledData
Observation.Slices for component.component:All Slices.value[x].valueTime time
Observation.Slices for component.component:All Slices.value[x].valueDateTime dateTime
Observation.Slices for component.component:All Slices.value[x].valuePeriod Period
Observation.Slices for component.component:All Slices.dataAbsentReason C 0..1 CodeableConcept Why the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
Observation.Slices for component.component:All Slices.interpretation 0..* CodeableConcept High, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
Observation.Slices for component.component:All Slices.referenceRange 0..* See referenceRange (Observation) Provides guide for interpretation of component result
Observation.Slices for component.component:gene-studied This element is included in summaries. 0..* BackboneElement Gene Studied
Observation.Slices for component.component:gene-studied.id 0..1 string Unique id for inter-element referencing
Observation.Slices for component.component:gene-studied.extension 0..* Extension Additional content defined by implementations
Observation.Slices for component.component:gene-studied.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Observation.Slices for component.component:gene-studied.code This element is included in summaries. 1..1 CodeableConcept 48018-6
Binding: LOINCCodes (example): Codes identifying names of simple observations.
Required Pattern:
{
  "coding" : [
    {
      "system" : "http://loinc.org",
      "code" : "48018-6"
    }
  ]
}
Observation.Slices for component.component:gene-studied.value[x] This element is included in summaries. 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)
Observation.Slices for component.component:gene-studied.dataAbsentReason C 0..1 CodeableConcept Why the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
Observation.Slices for component.component:gene-studied.interpretation 0..* CodeableConcept High, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
Observation.Slices for component.component:gene-studied.referenceRange 0..* See referenceRange (Observation) Provides guide for interpretation of component result
Observation.Slices for component.component:biomarker-category This element is included in summaries. 0..* BackboneElement Biomarker Category
Observation.Slices for component.component:biomarker-category.id 0..1 string Unique id for inter-element referencing
Observation.Slices for component.component:biomarker-category.extension 0..* Extension Additional content defined by implementations
Observation.Slices for component.component:biomarker-category.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Observation.Slices for component.component:biomarker-category.code This element is included in summaries. 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.
Required Pattern:
{
  "coding" : [
    {
      "system" : "http://hl7.org/fhir/uv/genomics-reporting/CodeSystem/tbd-codes-cs",
      "code" : "biomarker-category"
    }
  ]
}
Observation.Slices for component.component:biomarker-category.value[x] This element is included in summaries. 1..1 CodeableConcept cell receptor | antigen | protein | immune stain
Binding: Molecular Biomarker Categories (example)
Observation.Slices for component.component:biomarker-category.dataAbsentReason C 0..1 CodeableConcept Why the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
Observation.Slices for component.component:biomarker-category.interpretation 0..* CodeableConcept High, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
Observation.Slices for component.component:biomarker-category.referenceRange 0..* See referenceRange (Observation) Provides guide for interpretation of component result

doco 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()
sqty-1 error Observation.referenceRange.low, Observation.referenceRange.high The comparator is not used on a SimpleQuantity comparator.empty()

This structure is derived from Observation

Summary

Mandatory: 4 elements(3 nested mandatory elements)

Structures

This structure refers to these other structures:

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

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Observation C 0..* Observation Measurements and simple assertions
Constraints: obs-6, obs-7
Observation.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Observation.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Observation.status This element is a modifier element. This element is included in summaries. 1..1 code registered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an observation.
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.
Observation.Slices for category.category:labCategory 1..1 CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
Observation.Slices for category.category:labCategory.coding This element is included in summaries. 1..1 Coding Code defined by a terminology system

Required Pattern:
{
  "system" : "http://terminology.hl7.org/CodeSystem/observation-category",
  "code" : "laboratory"
}
Observation.Slices for category.category:mbCategory 1..1 CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
Observation.Slices for category.category:mbCategory.coding This element is included in summaries. 1..1 Coding Code defined by a terminology system

Required Pattern:
{
  "system" : "http://hl7.org/fhir/uv/genomics-reporting/CodeSystem/tbd-codes-cs",
  "code" : "biomarker-category"
}
Observation.Slices for category.category:geCategory 0..1 CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
Observation.Slices for category.category:geCategory.coding This element is included in summaries. 1..1 Coding Code defined by a terminology system

Required Pattern:
{
  "system" : "http://terminology.hl7.org/CodeSystem/v2-0074",
  "code" : "GE"
}
Observation.code This element is included in summaries. 1..1 CodeableConcept Code for the biomarker
Binding: Molecular Biomarker Codes (example)
Observation.Slices for derivedFrom This element is included in summaries. 0..* Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) Related measurements the observation is made from
Slice: Unordered, Open by profile:resolve()
Observation.Slices for derivedFrom.derivedFrom:variant This element is included in summaries. 0..* Reference(Variant) Variant the biomarker is derived from
Observation.Slices for derivedFrom.derivedFrom:genotype This element is included in summaries. 0..* Reference(Genotype) Genotype the biomarker is derived from
Observation.Slices for derivedFrom.derivedFrom:haplotype This element is included in summaries. 0..* Reference(Haplotype) Haplotype the biomarker is derived from
Observation.Slices for component This element is included in summaries. 0..* BackboneElement Component results
Slice: Unordered, Open by value:code
Observation.Slices for component.component:All Slices Content/Rules for all slices
Observation.Slices for component.component:All Slices.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Observation.Slices for component.component:All Slices.code This element is included in summaries. 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.
Observation.Slices for component.component:gene-studied This element is included in summaries. 0..* BackboneElement Gene Studied
Observation.Slices for component.component:gene-studied.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Observation.Slices for component.component:gene-studied.code This element is included in summaries. 1..1 CodeableConcept 48018-6
Binding: LOINCCodes (example): Codes identifying names of simple observations.
Required Pattern:
{
  "coding" : [
    {
      "system" : "http://loinc.org",
      "code" : "48018-6"
    }
  ]
}
Observation.Slices for component.component:gene-studied.value[x] This element is included in summaries. 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)
Observation.Slices for component.component:biomarker-category This element is included in summaries. 0..* BackboneElement Biomarker Category
Observation.Slices for component.component:biomarker-category.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Observation.Slices for component.component:biomarker-category.code This element is included in summaries. 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.
Required Pattern:
{
  "coding" : [
    {
      "system" : "http://hl7.org/fhir/uv/genomics-reporting/CodeSystem/tbd-codes-cs",
      "code" : "biomarker-category"
    }
  ]
}
Observation.Slices for component.component:biomarker-category.value[x] This element is included in summaries. 1..1 CodeableConcept cell receptor | antigen | protein | immune stain
Binding: Molecular Biomarker Categories (example)

doco 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

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Observation 0..* Observation Measurements and simple assertions
Observation.Slices for category 2..* CodeableConcept Classification of type of observation
Slice: Unordered, Open by value:coding
Observation.Slices for category.category:labCategory 1..1 CodeableConcept Classification of type of observation
Observation.Slices for category.category:labCategory.coding 1..1 Coding Code defined by a terminology system
Required Pattern:
{
  "system" : "http://terminology.hl7.org/CodeSystem/observation-category",
  "code" : "laboratory"
}
Observation.Slices for category.category:mbCategory 1..1 CodeableConcept Classification of type of observation
Observation.Slices for category.category:mbCategory.coding 1..1 Coding Code defined by a terminology system
Required Pattern:
{
  "system" : "http://hl7.org/fhir/uv/genomics-reporting/CodeSystem/tbd-codes-cs",
  "code" : "biomarker-category"
}
Observation.Slices for category.category:geCategory 0..1 CodeableConcept Classification of type of observation
Observation.Slices for category.category:geCategory.coding 1..1 Coding Code defined by a terminology system
Required Pattern:
{
  "system" : "http://terminology.hl7.org/CodeSystem/v2-0074",
  "code" : "GE"
}
Observation.code 1..1 CodeableConcept Code for the biomarker
Binding: Molecular Biomarker Codes (example)
Observation.Slices for derivedFrom 0..* Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) Related measurements the observation is made from
Slice: Unordered, Open by profile:resolve()
Observation.Slices for derivedFrom.derivedFrom:variant 0..* Reference(Variant) Variant the biomarker is derived from
Observation.Slices for derivedFrom.derivedFrom:genotype 0..* Reference(Genotype) Genotype the biomarker is derived from
Observation.Slices for derivedFrom.derivedFrom:haplotype 0..* Reference(Haplotype) Haplotype the biomarker is derived from
Observation.Slices for component 0..* BackboneElement Component results
Slice: Unordered, Open by value:code
Observation.Slices for component.component:gene-studied 0..* BackboneElement Gene Studied
Observation.Slices for component.component:gene-studied.code 1..1 CodeableConcept 48018-6
Required Pattern:
{
  "coding" : [
    {
      "system" : "http://loinc.org",
      "code" : "48018-6"
    }
  ]
}
Observation.Slices for component.component:gene-studied.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)
Observation.Slices for component.component:biomarker-category 0..* BackboneElement Biomarker Category
Observation.Slices for component.component:biomarker-category.code 1..1 CodeableConcept Type of component observation (code / type)
Required Pattern:
{
  "coding" : [
    {
      "system" : "http://hl7.org/fhir/uv/genomics-reporting/CodeSystem/tbd-codes-cs",
      "code" : "biomarker-category"
    }
  ]
}
Observation.Slices for component.component:biomarker-category.value[x] 1..1 CodeableConcept cell receptor | antigen | protein | immune stain
Binding: Molecular Biomarker Categories (example)

doco 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

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Observation C 0..* Observation Measurements and simple assertions
Constraints: obs-6, obs-7
Observation.id This element is included in summaries. 0..1 id Logical id of this artifact
Observation.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Observation.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Observation.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
Observation.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
Observation.contained 0..* Resource Contained, inline Resources
Observation.extension 0..* Extension Additional content defined by implementations
Observation.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Observation.identifier This element is included in summaries. 0..* Identifier Business Identifier for observation
Observation.basedOn This element is included in summaries. 0..* Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) Fulfills plan, proposal or order
Observation.partOf This element is included in summaries. 0..* Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) Part of referenced event
Observation.status This element is a modifier element. This element is included in summaries. 1..1 code registered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an observation.
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.
Observation.Slices for category.category:labCategory 1..1 CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
Observation.Slices for category.category:labCategory.id 0..1 string Unique id for inter-element referencing
Observation.Slices for category.category:labCategory.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.Slices for category.category:labCategory.coding This element is included in summaries. 1..1 Coding Code defined by a terminology system

Required Pattern:
{
  "system" : "http://terminology.hl7.org/CodeSystem/observation-category",
  "code" : "laboratory"
}
Observation.Slices for category.category:labCategory.text This element is included in summaries. 0..1 string Plain text representation of the concept
Observation.Slices for category.category:mbCategory 1..1 CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
Observation.Slices for category.category:mbCategory.id 0..1 string Unique id for inter-element referencing
Observation.Slices for category.category:mbCategory.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.Slices for category.category:mbCategory.coding This element is included in summaries. 1..1 Coding Code defined by a terminology system

Required Pattern:
{
  "system" : "http://hl7.org/fhir/uv/genomics-reporting/CodeSystem/tbd-codes-cs",
  "code" : "biomarker-category"
}
Observation.Slices for category.category:mbCategory.text This element is included in summaries. 0..1 string Plain text representation of the concept
Observation.Slices for category.category:geCategory 0..1 CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
Observation.Slices for category.category:geCategory.id 0..1 string Unique id for inter-element referencing
Observation.Slices for category.category:geCategory.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.Slices for category.category:geCategory.coding This element is included in summaries. 1..1 Coding Code defined by a terminology system

Required Pattern:
{
  "system" : "http://terminology.hl7.org/CodeSystem/v2-0074",
  "code" : "GE"
}
Observation.Slices for category.category:geCategory.text This element is included in summaries. 0..1 string Plain text representation of the concept
Observation.code This element is included in summaries. 1..1 CodeableConcept Code for the biomarker
Binding: Molecular Biomarker Codes (example)
Observation.subject This element is included in summaries. 0..1 Reference(Patient | Group | Device | Location) Who and/or what the observation is about
Observation.focus This element is included in summaries. 0..* Reference(Resource) What the observation is about, when it is not about the subject of record
Observation.encounter This element is included in summaries. 0..1 Reference(Encounter) Healthcare event during which this observation is made
Observation.effective[x] This element is included in summaries. 0..1 Clinically relevant time/time-period for observation
Observation.effective[x].effectiveDateTime dateTime
Observation.effective[x].effectivePeriod Period
Observation.effective[x].effectiveTiming Timing
Observation.effective[x].effectiveInstant instant
Observation.issued This element is included in summaries. 0..1 instant Date/Time this version was made available
Observation.performer This element is included in summaries. 0..* Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) Who is responsible for the observation
Observation.value[x] This element is included in summaries. C 0..1 Actual result
Observation.value[x].valueQuantity Quantity
Observation.value[x].valueCodeableConcept CodeableConcept
Observation.value[x].valueString string
Observation.value[x].valueBoolean boolean
Observation.value[x].valueInteger integer
Observation.value[x].valueRange Range
Observation.value[x].valueRatio Ratio
Observation.value[x].valueSampledData SampledData
Observation.value[x].valueTime time
Observation.value[x].valueDateTime dateTime
Observation.value[x].valuePeriod Period
Observation.dataAbsentReason C 0..1 CodeableConcept Why the result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
Observation.interpretation 0..* CodeableConcept High, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
Observation.note 0..* Annotation Comments about the observation
Observation.bodySite 0..1 CodeableConcept Observed body part
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
Observation.method 0..1 CodeableConcept How it was done
Binding: ObservationMethods (example): Methods for simple observations.
Observation.specimen 0..1 Reference(Specimen) Specimen used for this observation
Observation.device 0..1 Reference(Device | DeviceMetric) (Measurement) Device
Observation.referenceRange C 0..* BackboneElement Provides guide for interpretation
Constraints: obs-3
Observation.referenceRange.id 0..1 string Unique id for inter-element referencing
Observation.referenceRange.extension 0..* Extension Additional content defined by implementations
Observation.referenceRange.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Observation.referenceRange.low C 0..1 SimpleQuantity(4.0.1) Low Range, if relevant
Constraints: sqty-1
Observation.referenceRange.high C 0..1 SimpleQuantity(4.0.1) High Range, if relevant
Constraints: sqty-1
Observation.referenceRange.type 0..1 CodeableConcept Reference range qualifier
Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range.
Observation.referenceRange.appliesTo 0..* CodeableConcept Reference range population
Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to.
Observation.referenceRange.age 0..1 Range Applicable age range, if relevant
Observation.referenceRange.text 0..1 string Text based reference range in an observation
Observation.hasMember This element is included in summaries. 0..* Reference(Observation | QuestionnaireResponse | MolecularSequence) Related resource that belongs to the Observation group
Observation.Slices for derivedFrom This element is included in summaries. 0..* Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) Related measurements the observation is made from
Slice: Unordered, Open by profile:resolve()
Observation.Slices for derivedFrom.derivedFrom:variant This element is included in summaries. 0..* Reference(Variant) Variant the biomarker is derived from
Observation.Slices for derivedFrom.derivedFrom:genotype This element is included in summaries. 0..* Reference(Genotype) Genotype the biomarker is derived from
Observation.Slices for derivedFrom.derivedFrom:haplotype This element is included in summaries. 0..* Reference(Haplotype) Haplotype the biomarker is derived from
Observation.Slices for component This element is included in summaries. 0..* BackboneElement Component results
Slice: Unordered, Open by value:code
Observation.Slices for component.component:All Slices Content/Rules for all slices
Observation.Slices for component.component:All Slices.id 0..1 string Unique id for inter-element referencing
Observation.Slices for component.component:All Slices.extension 0..* Extension Additional content defined by implementations
Observation.Slices for component.component:All Slices.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Observation.Slices for component.component:All Slices.code This element is included in summaries. 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.
Observation.Slices for component.component:All Slices.value[x] This element is included in summaries. 0..1 Actual component result
Observation.Slices for component.component:All Slices.value[x].valueQuantity Quantity
Observation.Slices for component.component:All Slices.value[x].valueCodeableConcept CodeableConcept
Observation.Slices for component.component:All Slices.value[x].valueString string
Observation.Slices for component.component:All Slices.value[x].valueBoolean boolean
Observation.Slices for component.component:All Slices.value[x].valueInteger integer
Observation.Slices for component.component:All Slices.value[x].valueRange Range
Observation.Slices for component.component:All Slices.value[x].valueRatio Ratio
Observation.Slices for component.component:All Slices.value[x].valueSampledData SampledData
Observation.Slices for component.component:All Slices.value[x].valueTime time
Observation.Slices for component.component:All Slices.value[x].valueDateTime dateTime
Observation.Slices for component.component:All Slices.value[x].valuePeriod Period
Observation.Slices for component.component:All Slices.dataAbsentReason C 0..1 CodeableConcept Why the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
Observation.Slices for component.component:All Slices.interpretation 0..* CodeableConcept High, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
Observation.Slices for component.component:All Slices.referenceRange 0..* See referenceRange (Observation) Provides guide for interpretation of component result
Observation.Slices for component.component:gene-studied This element is included in summaries. 0..* BackboneElement Gene Studied
Observation.Slices for component.component:gene-studied.id 0..1 string Unique id for inter-element referencing
Observation.Slices for component.component:gene-studied.extension 0..* Extension Additional content defined by implementations
Observation.Slices for component.component:gene-studied.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Observation.Slices for component.component:gene-studied.code This element is included in summaries. 1..1 CodeableConcept 48018-6
Binding: LOINCCodes (example): Codes identifying names of simple observations.
Required Pattern:
{
  "coding" : [
    {
      "system" : "http://loinc.org",
      "code" : "48018-6"
    }
  ]
}
Observation.Slices for component.component:gene-studied.value[x] This element is included in summaries. 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)
Observation.Slices for component.component:gene-studied.dataAbsentReason C 0..1 CodeableConcept Why the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
Observation.Slices for component.component:gene-studied.interpretation 0..* CodeableConcept High, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
Observation.Slices for component.component:gene-studied.referenceRange 0..* See referenceRange (Observation) Provides guide for interpretation of component result
Observation.Slices for component.component:biomarker-category This element is included in summaries. 0..* BackboneElement Biomarker Category
Observation.Slices for component.component:biomarker-category.id 0..1 string Unique id for inter-element referencing
Observation.Slices for component.component:biomarker-category.extension 0..* Extension Additional content defined by implementations
Observation.Slices for component.component:biomarker-category.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Observation.Slices for component.component:biomarker-category.code This element is included in summaries. 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.
Required Pattern:
{
  "coding" : [
    {
      "system" : "http://hl7.org/fhir/uv/genomics-reporting/CodeSystem/tbd-codes-cs",
      "code" : "biomarker-category"
    }
  ]
}
Observation.Slices for component.component:biomarker-category.value[x] This element is included in summaries. 1..1 CodeableConcept cell receptor | antigen | protein | immune stain
Binding: Molecular Biomarker Categories (example)
Observation.Slices for component.component:biomarker-category.dataAbsentReason C 0..1 CodeableConcept Why the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
Observation.Slices for component.component:biomarker-category.interpretation 0..* CodeableConcept High, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
Observation.Slices for component.component:biomarker-category.referenceRange 0..* See referenceRange (Observation) Provides guide for interpretation of component result

doco 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()
sqty-1 error Observation.referenceRange.low, Observation.referenceRange.high The comparator is not used on a SimpleQuantity comparator.empty()

This structure is derived from Observation

Summary

Mandatory: 4 elements(3 nested mandatory elements)

Structures

This structure refers to these other structures:

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