HL7 FHIR Implementation Guide: minimal Common Oncology Data Elements (mCODE), v0.9.1

HL7 FHIR Implementation Guide: minimal Common Oncology Data Elements (mCODE), v0.9.1 - Local Development build (v0.9.1). See the Directory of published versions

Primary local value sets used in this Implementation Guide

Name Definition
BloodPressureBodyLocationVS

Body locations for blood pressure measurement

BloodPressureCuffSizeVS

Sizes of blood pressure cuffs.

BloodPressureMethodVS

Method used to determine blood pressure.

BodyHeightLengthMethodVS

Method used to determine body height or length.

BodyHeightPreconditionVS

Circumstance for measuring body height.

BodyLocationVS

Codes that describe normal and pathologic anatomic systems, regions, cavities, and spaces. The code set includes codes from the SNOMED CT hierarchy descending from 123037004 ‘Body Structure’.

Body location is a flexible structure that allows the location to be determined by a single code, or a code plus laterality and/or orientation. The body location can also be specified in relation to one or more body landmarks. SNOMED CT is used in all cases.

  • Code only: The code should include (precoordinate) laterality and/orientation to the degree necessary to completely specify the body location.
  • Code plus laterality and/or orientation: The basic code augmented by codes specifying the body side and/or anatomical orientation.
  • Relation to landmark: The location relative to a landmark is specified by:
  • Establishing the location and type of landmark using a body site code and optional laterality/orientation, and
  • Specifying the direction and distance from the landmark to the body location.

Note that BodyLocation is a data type (a reusable structure), not a stand-alone entity. The concept is similar to how a postal address can apply to a person, location, or organization. This contrasts with FHIR’s stand-alone BodySite (aka BodyStructure in r4) which ‘is not … intended for describing the type of anatomical location but rather a specific body site on a specific patient’ (FHIR 3.5).

BodyPositionVS

Human body positions associated with actions or observations.

BodyWeightMethodVS

Method used to determine body weight.

BodyWeightPreconditionVS

Circumstances for body weight measurement. The choices are limited by availability of SNOMED terms, and could contain terms like pre- and post-dialysis, mother ante- and post-delivery, etc.

CancerBodyLocationVS

Codes describing the location(s) of primary or secondary cancer. The value set includes all codes from the SNOMED-CT body structure hierarchy (codes descending from 123037004 ‘Body Structure’). The cancer body location may also be expressed using ICD-O-3 topography codes, however, those codes are not included here due to intellectual property restrictions. No other code systems are considered conformant.

CancerDiseaseStatusEvidenceTypeVS

The type of evidence backing up the clinical determination of cancer progression.

CancerDisorderVS

A broad cancer-related value set containing both primary and secondary tumor types, with codes from ICD-10 and SNOMED CT, including both diagnosis and histology/morphology/behavior codes. ICD-O-3 morphology codes may also be used and are considered conformant to the specification. For SNOMED, the value set includes all codes descending from 363346000 ‘Malignant neoplastic disease (disorder)’ and 108369006 ‘Neoplasm (morphologic abnormality)’.

CancerRelatedSurgicalProcedureVS

Includes selected SNOMED CT codes that may be used in the treatment of cancer tumors. Codes from ICD-10-PCS and CPT are acceptable. CPT codes are not listed here due to intellectual property restrictions. ICD-10-PCS codes are not listed because of a limitation in the FHIR Implementation Guide publisher. For CPT and ICD-10-PCS, only codes representing surgical procedures should be used.

CancerStagingSystemVS

System used for staging. Because SNOMED CT does not currently have a code representing AJCC Version 8, specify the exact text ‘AJCC Version 8’ in the text sub-field of the code structure, and omit the code.

CardiopulmonaryPreconditionVS

Circumstances for cardiopulmonary measurements.

ClinVarVS

Value set of human genetic variants, drawn from ClinVar.

ComorbidConditionVS

SNOMED and ICD-10 codes for common comorbid conditions. Aligns with Elixhauser comorbidity scale. ICD-10 codes are drawn from https://www.hcup-us.ahrq.gov/toolssoftware/comorbidityicd10/comformat_icd10cm_2019_1.txt

ConditionStatusTrendVS

Standardized value set that describes the trend or status of a disease, condition, or ability. Based on LOINC answer lists LL2751-7 and LL4721-8. The value SNOMED-CT 260415000 (Not Detected) should be used to express No Evidence of Disease (NED), condition resolved, or full remission.

ECOGPerformanceStatusVS

Value set for Eastern Cooperative Oncology Group performance status. Values range from grade 0 (Asymptomatic) to grade 5 (Dead).

GeneticSpecimenTypeVS

The type of specimen analyzed in a genetic test. The values are taken from code system http://terminology.hl7.org/CodeSystem/v2-0487, and represent a subset of HL7 Version 2 Table 0487 (http://hl7.org/fhir/v2/0487).

GeneticTestMethodVS

The method used to perform a genetic test, drawn from NCI Thesaurus. Examples include Fluorescent in situ hybridization (FISH), polymerase chain reaction-based assays (PCR), and next-generation sequencing (NGS).

FHIR is currently unable to handle values from NCI Thesaurus, so no values are listed in the Expansion, below. The values ARE in the downloads. For convenience, here is a listing of values in this value set: NCIT#C130179 ‘Allele Specific Primer Polymerase Chain Reaction’ NCIT#C18084 ‘Comparative Genomic Hybridization’ NCIT#C19641 ‘Dideoxy Chain Termination DNA Sequencing’ NCIT#C63328 ‘DNA Methylation Analysis’ NCIT#C17563 ‘Fluorescence In Situ Hybridization’ NCIT#C16768 ‘Karyotyping’ NCIT#C18477 ‘Microarray Analysis’ NCIT#C139286 ‘Microsatellite Stability Assessment’ NCIT#C116161 ‘Multiplex Ligation-dependent Probe Amplification’ NCIT#C101293 ‘Next Generation Sequencing’ NCIT#C17003 ‘Polymerase Chain Reaction’ NCIT#C51962 ‘Real Time PCR’ NCIT#C17093 ‘Restriction Fragment Length Polymorphism’ NCIT#C18136 ‘Reverse Transcriptase-Polymerase Chain Reaction’ NCIT#C18473 ‘RNA Analysis’ NCIT#C17565 ‘Sequence Analysis’ NCIT#C116151 ‘Single Nucleotide Polymorphism Array’ NCIT#C16356 ‘Southern Blotting’

GeneticTestVS

Value set containing codes representing genetic tests. Currently the best source of codes is the Genetic Test Registry. The user should be aware that the GTR cannot be a sole reliable source since the test data is voluntarily updated and there is no overarching data steward. This value set contains all codes from GTR.

GenomicSourceClassVS

The genomic class of the specimen being analyzed, for example, germline for inherited genome, somatic for cancer genome, and prenatal for fetal genome.

HistologyMorphologyBehaviorVS

Codes representing the structure, arrangement, and behavioral characteristics of tumors and cancer cells. Codes are preferrably taken from the SNOMED CT hierarchy under 108369006 Neoplasm (morphologic abnormality). ICD-O-3 morphology codes (including behavior suffix) can also be used, although they are not included in the value set for intellectual property reasons. For primary cancers, the ICD-O-3 behavior suffix should be /1, /2, or /3. For secondary cancers, the ICD-O-3 behavior suffix should be /6 or /9. Only SNOMED CT and ICD-O-3 are considered conformant to the specification.

KarnofskyPerformanceStatusVS

Value set for Karnofsky Performance Status, with codes for each decade from 100 to 0. Higher scores are associated with better functional status, with 100 representing no symptoms or evidence of disease, and 0 representing death. This value set corresponds to LOINC list LL4986-7

LateralityVS

Terms that specify the side of the body. The laterality value set is part of BodyLocation, a flexible structure that allows the location to be determined by a single code, or a code plus laterality and/or orientation. The body location can also be specified in relation to one or more body landmarks. SNOMED CT is used in all cases.

  • Code only: The code should include (precoordinate) laterality and/orientation to the degree necessary to completely specify the body location.
  • Code plus laterality and/or orientation: The basic code augmented by codes specifying the body side and/or anatomical orientation.
  • Relation to landmark: The location relative to a landmark is specified by:
  • Establishing the location and type of landmark using a body site code and optional laterality/orientation, and
  • Specifying the direction and distance from the landmark to the body location.

Note that BodyLocation is a data type (a reusable structure), not a stand-alone entity. The concept is similar to how a postal address can apply to a person, location, or organization. This contrasts with FHIR’s stand-alone BodySite (aka BodyStructure in r4) which ‘is not … intended for describing the type of anatomical location but rather a specific body site on a specific patient’ (FHIR 3.5).

OrientationVS

Terms that specify anatomical orientation. The orientation value set is part of BodyLocation, a flexible structure that allows the location to be determined by a single code, or a code plus laterality and/or orientation. The body location can also be specified in relation to one or more body landmarks. SNOMED CT is used in all cases.

  • Code only: The code should include (precoordinate) laterality and/orientation to the degree necessary to completely specify the body location.
  • Code plus laterality and/or orientation: The basic code augmented by codes specifying the body side and/or anatomical orientation.
  • Relation to landmark: The location relative to a landmark is specified by:
  • Establishing the location and type of landmark using a body site code and optional laterality/orientation, and
  • Specifying the direction and distance from the landmark to the body location.

Note that BodyLocation is a data type (a reusable structure), not a stand-alone entity. The concept is similar to how a postal address can apply to a person, location, or organization. This contrasts with FHIR’s stand-alone BodySite (aka BodyStructure in r4) which ‘is not … intended for describing the type of anatomical location but rather a specific body site on a specific patient’ (FHIR 3.5).

PositiveNegativeVS

Interpretation of a test result as positive, negative, equivocal, or indeterminate. Consolidates LOINC answer lists LL360-9, LL2329-2, LL2038-9, LL2021-5, LL2010-8, LL2009-0.

PrimaryCancerDisorderVS

Types of primary malignant neoplastic disease, coded in  in SNOMED CT or ICD-10-CM.

*SNOMED CT coding: Use a code from the disorder hierarchy under SNOMED CT 363346000 ‘Malignant neoplastic disease (disorder)’ exluding codes descending from SNOMED CT 128462008 ‘Secondary malignant neoplastic disease (disorder)’. If body location is not precoordinated (i.e., implied by the code), the site of the primary tumor should be specified in the body site attribute.

  • ICD-10-CM coding: Use one of the codes given in this value set representing primary malignant neoplasms and neoplasms of uncertain or unspecified behavior.

Note that ICD-O-3 specifies morphology and topography, not disorder. If ICD-O-3 is used, the primary cancer disorder code must be specifically be SNOMED-CT 363346000  ’Malignant neoplastic disease (disorder)’. The ICD-O-3 morphology and topography codes should be entered in the HistologyMorphologyBehavior and body location fields, respectively.

QuantitativeResultInterpretationVS

Interpretations of abnormal quantitative results.

RadiationProcedureVS

Codes describing radiation therapy procedures. The value set includes a limited set of radiation modality codes from SNOMED CT, however, ICD-10-PCS code from Section D (Radiation Therapy) and appropriate CPT radiation procedure codes are also considered compliant. CPT codes are not explicitly included due to licensing restrictions. ICD-10-PCS codes are not included because they are not currently supported by the FHIR IG Publishing tool.

RadiationTargetBodySiteVS

Codes for body sites that can be targets of radiation therapy. This list of sites is based on Commission on Cancer’s ‘Standards for Oncology Registry Entry  - STORE 2018’. This value set contains SNOMED CT equivalent terms.

SecondaryCancerDisorderVS

Types of secondary malignant neoplastic disease, coded in SNOMED CT or ICD-10-CM.

  • SNOMED CT coding: Use a code from the disorder hierarchy under secondary malignant neoplastic disease (SNOMED-CT 128462008).
  • ICD-10-CM coding: Use one of the codes given in this value set representing secondary malignant neoplasms and neoplasms of uncertain or unspecified behavior. If body site is not precoordinated (implied by the code), it should be specified separately using the body location.

Note that ICD-O-3 specifies morphology and topography, not disorder; in this case that the disorder code must be SNOMED-CT 128462008 (Secondary malignant neoplastic disease). The ICD-O-3 morphology and topography codes should be entered in the HistologyMorphologyBehavior and bodySite fields, respectively.

TNMDistantMetastasesCategoryVS

This value set is intended to contain allowable values for the M category, according to TNM staging rules. SNOMED CT codes or AJCC codes (preferrably, version 8 for current cancers) are allowed, but are not listed here due to AJCC intellectual property restrictions.

  • AJCC terminology: examples of M categories include ‘cM0’, denoting there is no evidence of distant metastases, and ‘pM1’, an indication that the cancer has metasticized. The full set of allowable clinical and pathologic M categories, along with its current descriptions, can be accessed through the AJCC Staging Manual and any applicable updates and corrections, as well as the AJCC API.

  • SNOMED CT: The SNOMED CT US Edition has content related to the M category under the hierarchy of 385380006 ‘Metastasis category finding’, such as 30893008 ‘M0 category’ and 443841006 ‘pM1a category’. If using SNOMED-CT to store M category findings, the use of codes that do not contain descriptions of the categories, such as the examples provided, is encouraged, as stage finding codes in SNOMED CT may not be up-to-date with current AJCC guidance. Note that SNOMED CT codes do not always make a distinction between clinical and pathological classifications (e.g. ‘cM0’ and ‘pM0’ may be represented by the same SNOMED CT code 30893008 ‘M0 category’). In addition, SNOMED CT may not have complete TNM staging terminology and may require supplementation with codes from another controlled vocabulary (e.g. NCI Thesaurus).

TNMPrimaryTumorCategoryVS

This value set is intended to contain allowable values for the T category, according to TNM staging rules. SNOMED CT codes or AJCC codes (preferrably, version 8 for current cancers) are allowed, but are not listed here due to AJCC intellectual property restrictions.

  • AJCC terminology: examples of T categories include ‘cTX’, used when the tumor primary tumor cannot be evaluated, ‘pT0’, denoting there is no evidence of a primary tumor, and ‘pTis’, referencing carcinoma in situ (with some cancer-specific exceptions). Other T categories refer to increasing size of the primary tumor. Please note allowable T categories may vary between clinical and pathologic classifications. The full set of allowable clinical and pathologic T categories, along with its current descriptions, can be accessed through the AJCC Staging Manual and any applicable updates and corrections, as well as the AJCC API.

  • SNOMED CT has content related to the T category under the hierarchy of 385356007 ‘Tumor stage finding’, such as 23351008 ‘T1 category’ and 261650005 ‘Tumor stage T1c’. If using SNOMED-CT to store T category findings, the use of codes that do not contain descriptions of the categories, such as the examples provided, is encouraged, as stage finding codes in SNOMED CT may not be up-to-date with current AJCC guidance. Note that SNOMED CT codes do not always make a distinction between clinical and pathological classifications (e.g. cT1 and pT1 may be represented by the same SNOMED CT code 23351008 ‘T1 category’). In addition, SNOMED CT may not have complete TNM staging terminology and may require supplementation with codes from another controlled vocabulary (e.g. NCI Thesaurus).

TNMRegionalNodesCategoryVS

This value set is intended to contain allowable values for the N category, according to TNM staging rules. SNOMED CT codes or AJCC codes (preferrably, version 8 for current cancers) are allowed, but are not listed here due to AJCC intellectual property restrictions.

  • AJCC terminology: examples of N categories include ‘cN0’, indicating no evidence of lymph node involvement, and ‘pN1’, indicating regional lymph node involvement to a small extent, with specific thresholds for the lymph node groups and number of lymph nodes involved. Other N categories refer to increasing lymph node involvement. Please note allowable N categories may vary between clinical and pathologic classifications. The full set of allowable clinical and pathologic N categories, along with its current descriptions, can be accessed through the AJCC Staging Manual and any applicable updates and corrections, as well as the AJCC API.

  • SNOMED CT has content related to the N category under the hierarchy of 385382003 ‘Node category finding’, such as 5856006 ‘N3 category’ and 277672002 ‘Node stage N1a’. If using SNOMED-CT to store N category findings, the use of codes that do not contain descriptions of the categories, such as the examples provided, is encouraged, as stage finding codes in SNOMED CT may not be up-to-date with current AJCC guidance. Note that SNOMED CT codes do not always make a distinction between clinical and pathological classifications (e.g. ‘cN1’ and ‘pN1’ may be represented by the same SNOMED CT code 53623008 ‘N1 category’). In addition, SNOMED CT may not have complete TNM staging terminology and may require supplementation with codes from another controlled vocabulary (e.g. NCI Thesaurus).

TNMStageGroupVS

This value set is intended to contain allowable values for Stage Group, according to TNM staging rules. SNOMED CT codes or AJCC codes (preferrably, version 8 for current cancers) are allowed, but are not listed here due to AJCC intellectual property restrictions.

*AJCC terminology: examples of stage groups include ‘Stage 0’ and ‘Stage IIA’. The full set of stage groups, as well rules on how to assign a stage group, can be accessed through the AJCC Staging Manual and any applicable updates and corrections, as well as the AJCC API.

  • SNOMED CT has content representing stage group under the hierarchy of 261612004 ‘Stages’, such as 258215001 ‘Stage 1’ and 261614003 ‘Stage2A’. In addition, SNOMED CT may not have complete TNM staging terminology and may require supplementation with codes from another controlled vocabulary (e.g. NCI Thesaurus).
TreatmentIntentVS

The purpose of a treatment. The value set includes ‘curative’ and ‘palliative’. Curative is defined as any treatment meant to reduce or control a disease process, even if a ‘cure’ is not anticipated. Palliative includes treatments meant to reduce symptoms and side effects, such as antiemetics.

TreatmentTerminationReasonVS

Values used to describe the reasons for stopping a treatment. Includes code for ‘treatment completed’ as well as codes for unplanned (early) stoppage. Applies to medications and other treatments that take place over a period of time, such as radiation treatments.

TumorMarkerTestVS

Codes representing tests for tumor markers. This value set of LOINC codes is not comprehensive and can be extended. LOINC codes are preferred. Other vocabularies can be used only if the test of interest is not covered by LOINC.

FHIR implementation note: At the current time, profiles for the specific LOINC tests mentioned here do not exist.

Primary external value sets used in this Implementation Guide

Name Definition
AdministrativeGender

The gender of a person used for administrative purposes.

AdministrativeGender

The gender of a person used for administrative purposes.

BodyLengthUnits

UCUM units for recording body length measures such as height and head circumference

BodyWeightUnits

UCUM units for recording Body Weight

CommonLanguages

This value set includes common codes from BCP-47 (http://tools.ietf.org/html/bcp47)

Condition/DiagnosisSeverity

Preferred value set for Condition/Diagnosis severity grading.

Condition/Problem/DiagnosisCodes

Example value set for Condition/Problem/Diagnosis codes.

ConditionClinicalStatusCodes

Preferred value set for Condition Clinical Status.

ConditionStage

Example value set for stages of cancer and other conditions.

ConditionStageType

Example value set for the type of stages of cancer and other conditions

ConditionVerificationStatus

The verification status to support or decline the clinical status of the condition or diagnosis.

DataAbsentReason

Used to specify why the normally expected content of the data element is missing.

DiagnosticReportStatus

The status of the diagnostic report.

EventStatus

Codes identifying the lifecycle stage of an event.

FHIRDeviceTypes

Codes used to identify medical devices. Includes concepts from SNOMED CT (http://www.snomed.org/) where concept is-a 49062001 (Device) and is provided as a suggestive example.

HGNC

HGNC: Human Gene Nomenclature Committee

LOINCCodes

This value set includes all LOINC codes

LanguageCodesWithLanguageAndOptionallyARegionModifier

This value set includes codes from BCP-47. This value set matches the ONC 2015 Edition LanguageCommunication data element value set within C-CDA to use a 2 character language code if one exists, and a 3 character code if a 2 character code does not exist. It points back to RFC 5646, however only the language codes are required, all other elements are optional.

LinkType

The type of link between this patient resource and another patient resource.

Marital Status Codes

This value set defines the set of codes that can be used to indicate the marital status of a person.

Medication Status Codes

Medication Status Codes

Medication Status Codes

Medication Status Codes

ObservationCategoryCodes

Observation Category codes.

ObservationInterpretationCodes

A categorical assessment, providing a rough qualitative interpretation of the observation value, such as “normal”/ “abnormal”,”low” / “high”, “better” / “worse”, “susceptible” / “resistant”, “expected”/ “not expected”. The value set is intended to be for ANY use where coded representation of an interpretation is needed.

Notes:

This is being communicated in v2.x in OBX-8 (Observation Interpretation), in v3 in ObservationInterpretation (CWE) in R1 (Representative Realm) and in FHIR in Observation.interpretation. Historically these values come from the laboratory domain, and these codes are extensively used. The value set binding is extensible, so codes outside the value set that are needed for interpretation concepts (i.e. particular meanings) that are not included in the value set can be used, and these new codes may also be added to the value set and published in a future version.

ObservationMethods

Observation Method codes from SNOMED CT where concept is-a 272394005 (Technique (qualifier value)) or is-a 129264002 (Action (qualifier value)) or is-a 386053000 (Evaluation procedure(procedure))

ObservationReferenceRangeAppliesToCodes

This value set defines a set of codes that can be used to indicate the particular target population the reference range applies to.

ObservationReferenceRangeMeaningCodes

This value set defines a set of codes that can be used to indicate the meaning/use of a reference range for a particular target population.

ObservationStatus

Codes providing the status of an observation.

ObservationStatus

Codes providing the status of an observation.

PatientContactRelationship

The nature of the relationship between the patient and the contact person.

ProcedureCategoryCodes(SNOMEDCT)

Procedure Category code: A selection of relevant SNOMED CT codes.

ProcedureDeviceActionCodes

Example codes indicating the change that happened to the device during the procedure. Note that these are in no way complete and might not even be appropriate for some uses.

ProcedureFollowUpCodes(SNOMEDCT)

Procedure follow up codes: A selection of SNOMED CT codes relevant to procedure follow up.

ProcedureNotPerformedReason(SNOMED-CT)

Situation codes describing the reason that a procedure, which might otherwise be expected, was not performed, or a procedure that was started and was not completed. Consists of SNOMED CT codes, children of procedure contraindicated (183932001), procedure discontinued (416406003), procedure not done (416237000), procedure not indicated (428119001), procedure not offered (416064006), procedure not wanted (416432009), procedure refused (183944003), and procedure stopped (394908001).

ProcedureOutcomeCodes(SNOMEDCT)

Procedure Outcome code: A selection of relevant SNOMED CT codes.

ProcedurePerformerRoleCodes

This example value set defines the set of codes that can be used to indicate a role of a procedure performer.

QuantityComparator

How the Quantity should be understood and represented.

SNOMEDCTClinicalFindings

This value set includes all the “Clinical finding” SNOMED CT codes - concepts where concept is-a 404684003 (Clinical finding (finding)).

SNOMEDCTDrugTherapyStatusCodes

This value set includes some taken and not taken reason codes from SNOMED CT - provided as an exemplar

USCoreConditionCategoryCodes

The US core Condition Category Codes support the separate concepts of problems and health concerns in Condition.category in order for API consumers to be able to separate health concerns and problems. However this is not mandatory for 2015 certification

USCoreDiagnosticReportCategory

The US Core Diagnostic Report Category Value Set is a ‘starter set’ of categories supported for fetching and Diagnostic Reports and notes.

USCoreMedicationCodes

All prescribable medication formulations represented using either a ‘generic’ or ‘brand-specific’ concept. This includes RxNorm codes whose Term Type is SCD (semantic clinical drug), SBD (semantic brand drug), GPCK (generic pack), BPCK (brand pack), SCDG (semantic clinical drug group), SBDG (semantic brand drug group), SCDF (semantic clinical drug form), or SBDF (semantic brand drug form)

VitalSigns

This value set indicates the allowed vital sign result types. The LOINC code for Vitals Signs panel (85353-1) is a grouping structure for a set of vital signs and includes related links (with type=has-member) to the Observations in this set (e.g. respiratory rate, heart rate, BP). The Blood pressure panel (85354-9) is used to group the component observations Systolic blood pressure (8480-6) and Diastolic blood pressure (8462-4).

VitalSignsUnits

Common UCUM units for recording Vital Signs

http://terminology.hl7.org/ValueSet/v2-0487