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
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.
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:
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:
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:
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: