NCPI FHIR Implementation Guide v2
0.1.0 - ci-build

NCPI FHIR Implementation Guide v2 - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: VCF or gVCF file profile

Official URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/ncpi-vcf Version: 0.1.0
Draft as of 2025-03-24 Computable Name: NcpiVCF

VCF or gVCF file profile

VCF File Metadata

Logical Model Property Cardinality NCPI FHIR Resource Value Set or Example
parent_file 1..1 Observation.focus NCPI File Metadata
assay_strategy 1..1 Observation.component e.g., Whole Genome Sequencing
platform_instrument 1..1 Observation.component e.g., Illumina HiSeq2000
library_prep 0..1 Observation.component e.g., polyA
library_selection 0..1 Observation.component  
strandedness 0..1 Observation.component stranded, unstranded
target_region 1..1 Observation.component  
is_paired_end 0..1 Observation.component True, False
adaptor_trimmed 0..1 Observation.component True, False
reference_genome 1..1 Observation.component GRCh37, GRCh38
workflow_type 1..1 Observation.component e.g., alignment, somatic
workflow_tool 1..1 Observation.component e.g., BAM-MEM, GATK-Haplotype Caller
related_samples 0..* Extension Reference(Any) e.g., Reference(Participant_ID)

Usage:

  • This Resource Profile is not used by any profiles in this Implementation Guide

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C 0..* NcpiFileMetadata Measurements and simple assertions
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-3: 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
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
dom-6: A resource should have narrative for robust management
obs-6: dataAbsentReason SHALL only be present if Observation.value[x] is not present
obs-7: If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
ele-1: All FHIR elements must have a @value or children
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:specimen-collection 0..* Reference() Linkage for related samples
URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/specimen-collection
ele-1: All FHIR elements must have a @value or children unless an empty Parameters resource
ext-1: Must have either extensions or value[x], not both
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... code Σ 1..1 CodeableConcept Type of observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.


ele-1: All FHIR elements must have a @value or children
... focus Σ 1..1 Reference(Resource) What the observation is about, when it is not about the subject of record
ele-1: All FHIR elements must have a @value or children
... Slices for component Σ 5..* BackboneElement Component results
Slice: Unordered, Open by value:code
ele-1: All FHIR elements must have a @value or children unless an empty Parameters resource
.... component:All Slices Content/Rules for all slices
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... code Σ 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.


ele-1: All FHIR elements must have a @value or children
.... component:assay_strategy Σ 1..1 BackboneElement Component results
ele-1: All FHIR elements must have a @value or children unless an empty Parameters resource
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... code Σ 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.


ele-1: All FHIR elements must have a @value or children
Required Pattern: At least the following
...... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: AssayStrategy
..... value[x] Σ 0..1 CodeableConcept Actual component result
ele-1: All FHIR elements must have a @value or children
.... component:platform_instrument Σ 1..1 BackboneElement Component results
ele-1: All FHIR elements must have a @value or children unless an empty Parameters resource
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... code Σ 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.


ele-1: All FHIR elements must have a @value or children
Required Pattern: At least the following
...... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: PlatformInstrument
..... value[x] Σ 0..1 CodeableConcept Actual component result
ele-1: All FHIR elements must have a @value or children
.... component:library_prep Σ 0..1 BackboneElement Component results
ele-1: All FHIR elements must have a @value or children unless an empty Parameters resource
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... code Σ 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.


ele-1: All FHIR elements must have a @value or children
Required Pattern: At least the following
...... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: LibraryPrep
..... value[x] Σ 0..1 CodeableConcept Actual component result
ele-1: All FHIR elements must have a @value or children
.... component:library_selection Σ 0..1 BackboneElement Component results
ele-1: All FHIR elements must have a @value or children unless an empty Parameters resource
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... code Σ 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.


ele-1: All FHIR elements must have a @value or children
Required Pattern: At least the following
...... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: LibrarySelection
..... value[x] Σ 0..1 CodeableConcept Actual component result
ele-1: All FHIR elements must have a @value or children
.... component:strandedness Σ 0..1 BackboneElement Component results
ele-1: All FHIR elements must have a @value or children unless an empty Parameters resource
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... code Σ 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.


ele-1: All FHIR elements must have a @value or children
Required Pattern: At least the following
...... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: Strandedness
..... value[x] Σ 0..1 CodeableConcept Actual component result
ele-1: All FHIR elements must have a @value or children
.... component:target_region Σ 0..1 BackboneElement Component results
ele-1: All FHIR elements must have a @value or children unless an empty Parameters resource
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... code Σ 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.


ele-1: All FHIR elements must have a @value or children
Required Pattern: At least the following
...... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: TargetRegion
..... value[x] Σ 0..1 CodeableConcept Actual component result
ele-1: All FHIR elements must have a @value or children
.... component:is_paired_end Σ 0..1 BackboneElement Component results
ele-1: All FHIR elements must have a @value or children unless an empty Parameters resource
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... code Σ 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.


ele-1: All FHIR elements must have a @value or children
Required Pattern: At least the following
...... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: IsPairedEnd
..... value[x] Σ 0..1 Actual component result
ele-1: All FHIR elements must have a @value or children
...... valueCodeableConcept CodeableConcept
...... valueBoolean boolean
.... component:adaptor_trimmed Σ 0..1 BackboneElement Component results
ele-1: All FHIR elements must have a @value or children unless an empty Parameters resource
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... code Σ 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.


ele-1: All FHIR elements must have a @value or children
Required Pattern: At least the following
...... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: AdaptorTrimmed
..... value[x] Σ 0..1 Actual component result
ele-1: All FHIR elements must have a @value or children
...... valueCodeableConcept CodeableConcept
...... valueBoolean boolean
.... component:reference_genome Σ 1..1 BackboneElement Component results
ele-1: All FHIR elements must have a @value or children unless an empty Parameters resource
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... code Σ 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.


ele-1: All FHIR elements must have a @value or children
Required Pattern: At least the following
...... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: ReferenceGenome
..... value[x] Σ 0..1 CodeableConcept Actual component result
ele-1: All FHIR elements must have a @value or children
.... component:workflow_type Σ 1..1 BackboneElement Component results
ele-1: All FHIR elements must have a @value or children unless an empty Parameters resource
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... code Σ 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.


ele-1: All FHIR elements must have a @value or children
Required Pattern: At least the following
...... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: WorkflowType
..... value[x] Σ 0..1 CodeableConcept Actual component result
ele-1: All FHIR elements must have a @value or children
.... component:workflow_tool Σ 1..1 BackboneElement Component results
ele-1: All FHIR elements must have a @value or children unless an empty Parameters resource
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... code Σ 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.


ele-1: All FHIR elements must have a @value or children
Required Pattern: At least the following
...... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: WorkflowTool
..... value[x] Σ 0..1 CodeableConcept Actual component result
ele-1: All FHIR elements must have a @value or children

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Observation.statusrequiredObservationStatus
http://hl7.org/fhir/ValueSet/observation-status|4.3.0
from the FHIR Standard
Observation.codeexampleLOINCCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.component.codeexampleLOINCCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.component:assay_strategy.codeexamplePattern: AssayStrategy
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.component:platform_instrument.codeexamplePattern: PlatformInstrument
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.component:library_prep.codeexamplePattern: LibraryPrep
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.component:library_selection.codeexamplePattern: LibrarySelection
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.component:strandedness.codeexamplePattern: Strandedness
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.component:target_region.codeexamplePattern: TargetRegion
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.component:is_paired_end.codeexamplePattern: IsPairedEnd
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.component:adaptor_trimmed.codeexamplePattern: AdaptorTrimmed
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.component:reference_genome.codeexamplePattern: ReferenceGenome
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.component:workflow_type.codeexamplePattern: WorkflowType
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.component:workflow_tool.codeexamplePattern: WorkflowTool
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorObservationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorObservationIf 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.exists() and ('#'+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(uri) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorObservationIf 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-5errorObservationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceObservationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
obs-6errorObservationdataAbsentReason SHALL only be present if Observation.value[x] is not present
: dataAbsentReason.empty() or value.empty()
obs-7errorObservationIf 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()