In the box

Oncology data from the EHR, with biomarkers and staging as named columns.

Clinical Extract reads biomarker and staging Observations by their LOINC codes, and genomic results by the gene studied. Each result lands in a named column: ER, PR, HER2, PD-L1, EGFR, KRAS, BRAF, ALK, MSI and TNM, ready to analyze.

1 Biomarkers

Each biomarker result becomes a named column.

Oncology data extraction from an EHR is mostly Observations: a receptor status here, a mutation there, each a coded resource with its own LOINC code. The oncology lens reads them by code and by gene and writes each result to a named column with the code system in its description. A study's biomarker data extraction ends as a set of columns, one per marker.

Biomarkers as columnsTwo panels. Panel a shows one exported Observation, abridged: code LOINC 69548-6, genetic variant assessment; subject Patient/Qm7t2VdB; value LOINC answer LA9633-4, Present; and a component with code LOINC 48018-6, gene studied, whose value is HGNC:3236, EGFR. An arrow runs from it to its column in panel b. Panel b lists the named columns the oncology lens writes to study.csv, each with the code it is read from and an example value. Protein, by immunohistochemistry: er_status from LOINC 16112-5, Positive; pr_status from 16113-3, Positive; her2_status from 48676-1, Negative; pdl1_status from 83052-1, clone 22C3, Positive. Genomic: egfr_status from 69548-6 with gene HGNC:3236, Present, highlighted; kras_status with HGNC:6407, Absent; braf_status with HGNC:1097, Absent; alk_status with HGNC:427, Absent; msi_status from 81695-9, MSI-H. TNM staging, clinical: clin_t from 21905-5, cT2; clin_n from 21906-3, cN1; clin_m from 21907-1, cM0; clin_stage from 21908-9, IIB. TNM staging, pathologic: path_t from 21899-0, pT2; path_n from 21900-6, pN1a; path_m from 21901-4, cM0; path_stage from 21902-2, IIB.aOne exported ObservationNDJSON, abridged{"resourceType": "Observation", "status": "final", "code": {"coding": [{   "system": "http://loinc.org",   "code": "69548-6",   "display": "Genetic variant assessment"}]}, "subject": {"reference": "Patient/Qm7t2VdB"}, "valueCodeableConcept": {"coding": [{   "system": "http://loinc.org",   "code": "LA9633-4", "display": "Present"}]}, "component": [{   "code": {"coding": [{     "system": "http://loinc.org",     "code": "48018-6",     "display": "Gene studied [ID]"}]},   "valueCodeableConcept": {"coding": [{     "system": "http://www.genenames.org/geneId",     "code": "HGNC:3236", "display": "EGFR"}]}}]}bNamed columns in study.csvwritten by the oncology lensCOLUMNREAD FROMEXAMPLEPROTEIN, IHCer_statusLOINC 16112-5Positivepr_statusLOINC 16113-3Positiveher2_statusLOINC 48676-1Negativepdl1_statusLOINC 83052-1 (22C3)PositiveGENOMICegfr_statusLOINC 69548-6 + HGNC:3236Presentkras_statusLOINC 69548-6 + HGNC:6407Absentbraf_statusLOINC 69548-6 + HGNC:1097Absentalk_statusLOINC 69548-6 + HGNC:427Absentmsi_statusLOINC 81695-9MSI-HTNM, CLINICALclin_tLOINC 21905-5cT2clin_nLOINC 21906-3cN1clin_mLOINC 21907-1cM0clin_stageLOINC 21908-9IIBTNM, PATHOLOGICpath_tLOINC 21899-0pT2path_nLOINC 21900-6pN1apath_mLOINC 21901-4cM0path_stageLOINC 21902-2IIBHOW THE LENS READS ITprotein, MSI, TNMObservation.code, LOINCgenomiccode 69548-6, plus component48018-6: the gene studied, HGNCvalueObservation.valueCodeableConceptpatientObservation.subject, joinedto patient_ref
Biomarkers as columnsTwo panels. Panel a shows one exported Observation, abridged: code LOINC 69548-6, genetic variant assessment; subject Patient/Qm7t2VdB; value LOINC answer LA9633-4, Present; and a component with code LOINC 48018-6, gene studied, whose value is HGNC:3236, EGFR. An arrow runs from it to its column in panel b. Panel b lists the named columns the oncology lens writes to study.csv, each with the code it is read from and an example value. Protein, by immunohistochemistry: er_status from LOINC 16112-5, Positive; pr_status from 16113-3, Positive; her2_status from 48676-1, Negative; pdl1_status from 83052-1, clone 22C3, Positive. Genomic: egfr_status from 69548-6 with gene HGNC:3236, Present, highlighted; kras_status with HGNC:6407, Absent; braf_status with HGNC:1097, Absent; alk_status with HGNC:427, Absent; msi_status from 81695-9, MSI-H. TNM staging, clinical: clin_t from 21905-5, cT2; clin_n from 21906-3, cN1; clin_m from 21907-1, cM0; clin_stage from 21908-9, IIB. TNM staging, pathologic: path_t from 21899-0, pT2; path_n from 21900-6, pN1a; path_m from 21901-4, cM0; path_stage from 21902-2, IIB.aOne exported ObservationNDJSON, abridged{"resourceType": "Observation", "status": "final", "code": {"coding": [{   "system": "http://loinc.org",   "code": "69548-6",   "display": "Genetic variant assessment"}]}, "subject": {"reference": "Patient/Qm7t2VdB"}, "valueCodeableConcept": {"coding": [{   "system": "http://loinc.org",   "code": "LA9633-4", "display": "Present"}]}, "component": [{   "code": {"coding": [{     "system": "http://loinc.org",     "code": "48018-6",     "display": "Gene studied [ID]"}]},   "valueCodeableConcept": {"coding": [{     "system": "http://www.genenames.org/geneId",     "code": "HGNC:3236", "display": "EGFR"}]}}]}The lens writes it to egfr_statusbNamed columns in study.csvwritten by the oncology lensCOLUMNLOINC, GENEEXAMPLEPROTEIN, IHCer_status16112-5Positivepr_status16113-3Positiveher2_status48676-1Negativepdl1_status83052-1 (22C3)PositiveGENOMICegfr_status69548-6 + HGNC:3236Presentkras_status69548-6 + HGNC:6407Absentbraf_status69548-6 + HGNC:1097Absentalk_status69548-6 + HGNC:427Absentmsi_status81695-9MSI-HTNM, CLINICALclin_t21905-5cT2clin_n21906-3cN1clin_m21907-1cM0clin_stage21908-9IIBTNM, PATHOLOGICpath_t21899-0pT2path_n21900-6pN1apath_m21901-4cM0path_stage21902-2IIB
Figure 1. Biomarkers as columns. The oncology lens reads biomarker and staging Observations by their LOINC codes, and genomic results by the gene studied, and writes each one to a named column: ER, PR, HER2, PD-L1, EGFR, KRAS, BRAF, ALK, MSI and TNM clinical and pathologic, ready to analyze. Example values are synthetic.

2 Staging

TNM staging data, clinical and pathologic.

Clinical stage
cT, cN, cM and the clinical stage group (LOINC 21908-9), from the staging Observations at diagnosis.
Pathologic stage
pT, pN, pM and the pathologic stage group, from the post-surgical staging Observations.
Edition and date
The AJCC edition where the record carries it, and the date of each staging Observation, as their own columns.
Histology and grade
The morphology code from Condition and the grade Observation, beside the stage.

3 Treatment

The first course, coded.

Systemic therapy comes from MedicationRequest by RxNorm: the first chemotherapy agent ordered and its date, the regimen's agents as their own columns. Surgery comes from Procedure by SNOMED CT or CPT; radiation from the procedure and its dates. A registry maps them to its first-course items through the crosswalk on the registry page. The same columns pre-fill a registry abstract, as in abstracting a breast case from coded fields.

4 mCODE

Reads mCODE FHIR profiles and plain LOINC-coded Observations.

mCODE, HL7's minimal Common Oncology Data Elements, profiles the cancer diagnosis, staging, biomarkers, treatment and outcomes on FHIR resources. An EHR that writes mCODE-profiled Observations is read by profile; one that writes plain LOINC-coded Observations is read by code; the columns fill either way. For questions about FHIR versions themselves, our comparison of the FHIR releases is the reference.

5 Questions

Questions about oncology data

What is biomarker data extraction?

Pulling the biomarker results a study or a registry needs out of the EHR as structured values: the receptor statuses, the molecular markers, the gene results. In FHIR they are Observations; the oncology lens reads them by LOINC code or by the gene studied and writes each one to a named column.

Which biomarkers come out as columns?

ER, PR, HER2 and PD-L1 from protein results; EGFR, KRAS, BRAF, ALK and MSI from genomic results; plus the tumor markers the protocol names. Each column’s LOINC code and source are in the data dictionary.

What TNM staging data is exported?

Clinical and pathologic T, N and M with the stage group, from the staging Observations (LOINC 21908-9 for the clinical stage group among them), with the AJCC edition where the record carries it, each as its own column.

What is mCODE?

HL7’s minimal Common Oncology Data Elements, a FHIR implementation guide that profiles the cancer diagnosis, staging, biomarkers, treatment and outcomes. The oncology lens reads mCODE-profiled Observations and plain LOINC-coded ones alike, so a site’s columns fill whether or not its EHR writes mCODE.

Does it cover genomic results?

Genomic Observations are read by the gene studied (EGFR, KRAS, BRAF, ALK, MSI) and written to their own columns, with the source and an example in the dictionary.

Next

See Clinical Extract run on one of your studies.

Tell us which EHR you run and what the study or registry needs. We reply within one business day to set a meeting time.

Request a demo