minimal Common Oncology Data Elements (mCODE) Implementation Guide
1.16.0 - STU Release 2 (Ballot Version)

This page is part of the HL7 FHIR Implementation Guide: minimal Common Oncology Data Elements (mCODE) Release 1 - US Realm | STU1 (v1.16.0: STU 2 Ballot 1) based on FHIR R4. The current version which supercedes this version is 2.0.0. For a full list of available versions, see the Directory of published versions

Identifying mCODE Patients

To facilitate conformance testing, testing software must be able to determine which patients are “mCODE Patients” – those in scope for mCODE. In general, all patients with confirmed cancer diagnoses SHOULD be covered by mCODE. In FHIR terms, these are patients who have a Condition where Condition.code is a member of the value set PrimaryOrUncertainBehaviorCancerDisorderVS and Condition.verificationStatus is confirmed.

However, due to technical, organizational, or legal reasons, mCODE Data Senders MAY exclude some cancer patients from mCODE. In that case, the mCODE Data Sender MUST define a Group resource to identify ALL mCODE patients in their system. This Group resource MUST set Group.code to mcode-patient with code system http://hl7.org/fhir/us/mcode/CodeSystem/mcode-resource-identifier-cs. Data Senders that do not exclude any cancer patients from mCODE MAY still populate a mcode-patient Group resource.

All mCODE Data Senders MUST respond to GET [base]/Group?code=mcode-patient with either zero or one Group resource. If no Group resource is returned, all patients with cancer diagnoses (as defined above) will be considered to be “mCODE Patients.” If a Group resource is returned, patients not referenced in the Group resource are assumed to be out of scope, independent of any cancer diagnosis. This requirement is reflected in ALL CapabilityStatements referenced in this section.

The following CapabilityStatements define the various methods participants can use to identify mCODE Patients. Participants implementing a pull architecture MUST support at least one of the CapabilityStatements listed from most to least preferable, below.

Patients-in-Group Approach

In this approach, Senders respond to the following request with a Group resource referencing the Patient resources for all mCODE Patients, AND allow the Receiver to retrieve a Bundle of the Patient resources referenced in the first response using composite search parameters:

GET [base]/Group?code=mcode-patients

GET [base]/Patient?_id=some_patient_id_1,some_patient_id_2,...,some_patient_id_n

CapabilityStatements:

Identifying mCODE Patients: Patients-in-group approachmCODE Data ReceivermCODE Data SenderGet Patients via_profileGET [base]/Group/mcode-patientsHTTP response containing Group referencing relevant PatientsReceiver extracts referencesto Patients from Group togenerate a second request:GET [base]/Patient?_id=id_1,id_2,...,id_nHTTP response containing Bundle of Patients

Patients-With-Cancer-Condition Approach

In this approach, Senders respond to the following request with a FHIR Bundle of Patient resources for all mCODE Patients. This method is preferred over the approaches below UNLESS reverse chaining is entirely unsupported on the system.

GET [base]/Patient?_has:Condition:subject:code:in=http://hl7.org/fhir/us/mcode/ValueSet/mcode-primary-or-uncertain-behavior-cancer-disorder-vs

Capability Statements:

Identifying mCODE Patients: Patients-with-cancer-condition approachmCODE Data ReceivermCODE Data SenderGet Patients via reverse chainingGET [base]/Patient?_has:Condition:subject:code:in=...HTTP response containing Bundle of relevant Patients

Patient-Then-Cancer-Conditions Approach

In this approach, Senders can respond to a request using _include to get a Bundle of the relevant Patient resources along with the subset of Condition resources with Condition.code in Primary or Uncertain Behavior Cancer Disorder Value Set in a single request. Preferred over the approach below UNLESS _include is entirely unsupported on the system.

GET [base]/Condition?code:in=http://hl7.org/fhir/us/mcode/ValueSet/mcode-primary-or-uncertain-behavior-cancer-disorder-vs&_include=Condition:subject

Capability Statements:

Identifying mCODE Patients: Patients-and-cancer-conditions approachmCODE Data ReceivermCODE Data SenderGet Patients via reverse chainingGET [base]/Condition?_has:Condition:subject:code:in=...HTTP response containing Bundle of relevant Patients

Conditions-Then-Patients Approach

In this approach, Senders return a Bundle with the subset of Condition resources with a code in the Primary or Uncertain Behavior Cancer Disorder Value Set in a single request, AND allow the Receiver to retrieve a Bundle of the Patient resources referenced in the first response using composite search parameters:

GET [base]/Condition?code:in=http://hl7.org/fhir/us/mcode/ValueSet/mcode-primary-or-uncertain-behavior-cancer-disorder-vs

GET [base]/Patient?_id=some_patient_id_1,some_patient_id_2,...,some_patient_id_n

Capability Statements:

Identifying mCODE Patients: Conditions-then-patients approachmCODE Data ReceivermCODE Data SenderGet Conditions, then PatientsGET [base]/Condition?code:in=...HTTP response containing Bundle of relevant ConditionsReceiver extracts uniquepatient IDs from Conditions togenerate a second request:GET [base]/Patient?_id=id_1,id_2,...,id_nHTTP response containing Bundle of Patients