Convert your FHIR JSON -> XML and back here. The CDA Book is sometimes listed for Kindle here and it is also SHIPPING from Amazon! See here for Errata.

Tuesday, May 3, 2011

An HL7 V3 and CDA Model for Cancer Diagnoses for Registries

The IHE Quality, Research and Public Health domain is working on a profile for reporting information about cancer diagnoses to a Cancer Registry.  They needed some modeling help this morning.

My job was to help them put together a model; so I got an education this morning in histology, morphology, stage, grade and behavior as used by Cancer Registries.  This is what I got out of the discussion.

Morphology has a component that is histology, which is effectively what we would consider the diagnosis.  It includes the type of cell affected (e.g., carcinoma, sarcoma, melanoma, leukemia, and lymphoma), the behavior (in situ vs. invasive).  Several different vocabularies are available to describe morphology, including ICD-9-CM, ICD-10-CM, ICD-O and SNOMED CT.  All rely on the ICD-O as the principal source of classification and can be mapped back to it.

Stage is an assessment of the progression of the disease based on an evaluation of the tumor, its nodes and metastatis (TNM).  The assessment is simply an ordinal value, stage 1, stage 2 or stage 3.  It is based on three different pieces of data (TNM) which go into the evaluation.  So, I followed the HL7 assessment model here, treating the evaluation of each piece as a component of the stage assessment.

You'll note in the following that we never addressed grade.  That's because we decided it wasn't going to be encountered in their use case in the context we were working on.  Grade has to do with how well or poorly differentiated the cells are.

The picture above shows the model we came up with, and below you see a brief description of the important components.

QRPH Cancer Diagnosis
This is an observation that has occurred (classCode=OBS moodCode=EVN).
The QRPH Cancer Diagnosis template would derive from the IHE Problem Observation Entry.  So it would contain two templateId elements, first identifying the
The code element would indicate that this is a diagnosis (rather than a complaint or finding).
The value would be a code (xsi:type='CD') that comes from the QRPH Cancer Diagnosis value set.
The targetSiteCode would indicate the target site using the QRPH Target Site Value set (likely from SNOMED CT).  It might be uncoded, in which case orginalText/reference would point to the text describing the body site.
entryRelationship typeCode='SUBJ' inversionInd='true'
The observation would (shall, should, may not clear here) contain a QRPH Cancer Stage observation, whose subject is the Cancer Diagnosis.

QRPH Cancer Stage Observation
The stage observation is an event that has occured.  This is an assessment of the cancer stage based on an evaluation the tumor, and its nodes and metastases.
The code would identify this observation as an assessment of the cancer stage
The value indicates the result of the assessment (Stage 1, 2 or 3) and could (should) be a coded ordinal (CO).

entryRelationship typeCode='COMP'
The stage assessment (shall/should/may ?) include component evaluations of the tumor, its nodes and assessments as simple observations using an appropriate vocabulary term to identify what was evaluated (in code) and the result (in value).

About halfway through the analysis, I came to find out that there's a model for this used in Germany.  We haven't yet gotten a translation of it yet (as it only appeared in one of the editor's inboxes this morning).  We'll need to do a comparison with what we came up with.