Enhancing Oncology Model
1.0.1

Publish Box goes here

Validations and Errors

This page provides additional information about the data validations that will be performed on the data submitted for the EOM Model via the EOM IG. In addition to standard FHIR validations, there are Model-specific validations that will also be conducted to ensure that the data submitted are not only conformant with the IG but also consistent with EOM requirements. For more information about EOM requirements for PP1 Clinical Data Element (CDE) submissions, review the EOM Clinical Data Elements Guide v2.2 (June 4, 2024). Errors that could be received are also noted below.

Validations

EOM Data Element Name Profile EOM FHIR IG Data Element Required FHIR Validator Coverage OO (OperationOutcome) Expression Custom Validation for EOM OO Code OO details.text Custom Validation Sequence
Cancer Patient Cancer Patient profile data shall be submitted for all beneficiaries, for all attributed cancer types. invalid Cancer Patient profile  is required. Preliminary validation before accepting submission.
MBI Cancer Patient Patient.identifier.value Required MBI identifier.MBI is missing
MBI identifier.MBI.value is missing
MBI identifier.MBI.system is missing
Patient.identifier[0].value Must be the 11 character Member Beneficiary Identifier (MBI) for the beneficiary. The 1st, 4th, 7th, 10th, and 11th characters will always be numbers. The 2nd, 5th, 8th, and 9th characters will always be uppercase letters, except for S, L, O, I, B, and Z. The 3rd and 6th characters will be letters or numbers. invalid Unsupported value "XXXXX" for the Medicare Beneficiary Identifier (MBI). Refer to https://www.cms.gov/medicare/new-medicare-card/understanding-the-mbi-with-format.pdf for valid MBI format. Preliminary validation before accepting submission.
Patient.identifier.system Required http://hl7.org/fhir/sid/us-mbi
First Name Cancer Patient Patient.name.given Required
Last Name Cancer Patient Patient.name.family Required
Date of Birth Cancer Patient Patient.birthDate Required If present, FHIR Validator will validate date format (YYYY-MM-DD).
Sex Cancer Patient Patient.gender Required Patient.code is missing
Patient.code is not correct value
Binding: AdministrativeGender
Primary Cancer Condition Primary Cancer Condition profile data shall be submitted for all beneficiaries, for all attributed cancer types. invalid Primary Cancer Condition profile  is required. Preliminary validation before accepting submission.
ICD-10 Diagnosis Code Primary Cancer Condition Condition.code Required Condition.code is missing
Condition.code is not correct value
Binding: Primary Cancer Disorder Value Set
Condition.code The value shall be from one of the ICD-10 codes listed for each attributed cancer type. If there are  multiple codes, any secondary codes submitted cannot be a valid primary condition code for any attributed cancer type. code-invalid Primary Cancer Condition code is required. Refer to https://build.fhir.org/ig/FirelyTeam/enhancing-oncology-model-ig/primary_cancer_condition.html for valid values.

Unsupported code "XXXXX" for  EOM. Refer to https://build.fhir.org/ig/FirelyTeam/enhancing-oncology-model-ig/primary_cancer_condition.html for valid values.
Preliminary validation before accepting submission.
Initial Date of Diagnosis Primary Cancer Condition Condition.extension:assertedDate Required If present, FHIR Validator will validate date format (YYYY-MM-DD). Condition.extension:assertedDate Condition.extension:assertedDate shall be present. required Condition.extension:assertedDate is required and must be a date before or  within the attributed episode dates for the beneficiary. Preliminary validation before accepting submission.
Date Patient Died Cancer Patient Patient.deceased[DateTime] Required if applicable If present, FHIR Validator will validate date format (YYYY-MM-DD).
Recurrence or Relapse Verification Status Primary Cancer Condition Condition.verificationStatus Required If present, FHIR Validator will validate value against ConditionVerificationStatus. Condition.verificationStatus The value of Condition.verificationStatus shall be:
confirmed.
code-invalid Condition.verificationStatus must be 'confirmed' for EOM. After standard FHIR validation.
Recurrence or Relapse Clinical Status Primary Cancer Condition Condition.clinicalStatus Required If present, FHIR Validator will validate value against ConditionClinicalStatusCodes. Condition.clinicalStatus Condition.clinicalStatus shall be present. required Condition.clinicalStatus is required. After standard FHIR validation.
Current Clinical Status Trend Cancer Disease Status observation.value[CodeableConcept] Required if present, FHIR Validator will validate value against Condition Status Trend Value Set and Condition Status Trend Maximum Value Set. Observation.value.ofType(CodeableConcept).coding The value shall be one of these SNOMED-CT codes:
268910001 Patient's condition improved (finding)
359746009 Patient's condition stable (finding)
271299001 Patient's condition worsened (finding)
709137006 Patient's condition undetermined (finding)
103338009 In full remission (qualifier value)
103337004 In partial remission (qualifier value)
399409002 Distant metastasis present (finding)
code-invalid Observation.value[CodeableConcept]  must be a valid code from the Condition Status Trend Value Set. After standard FHIR validation.
Cancer Disease Status Observation.status Required Observation.status is missing
If present, FHIR Validator will validate value against ObservationStatus.
Observation.status The value shall be:
final
invalid Observation.status must be "final" for EOM. After standard FHIR validation.
Current or History of Metastatic Disease History of Metastatic Cancer Required if applicable History of Metastatic Cancer profile data shall be submitted only if attributed cancer type is one of the following:
Breast_Cancer
Lung_Cancer
Prostrate_Cancer
Small_Intestine/Colorectal_Cancer
invalid History of Metastatic Cancer profile  is required for this beneficiary's attributed cancer type. Preliminary validation before accepting submission.
Current or History of Metastatic Disease History of Metastatic Cancer Observation.value[Boolean] Required if applicable If present, FHIR Validator will validate boolean value (true/false).

Note:
If present and True, Observation.code must be present. (History of Metastatic Cancer Profile has a Cardinality of 1..1, so element will be present regardless of Obsevration.valueBoolean's value.)
Observation.value.ofType(boolean) The value shall be one of these indicating history of metastatic cancer as Yes or No respectively:
true
false
invalid Observation.value[Boolean] must be true or false for EOM. After standard FHIR validation.
History of Metastatic Cancer Observation.status Required if applicable Observation.status is missing
If present, FHIR Validator will validate value against ObservationStatus.
Observation.status The value shall be:
final
invalid Observation.status must be "final" for EOM. After standard FHIR validation.
History of Metastatic Cancer Observation.code Required if applicable Observation.code is missing
If present, FHIR Validator will validate value against  History of Metastatic Malignant Neoplasm Value Set.
Current Clinical Status Date Cancer Disease Status Observation.effective[DateTime] Required If present, FHIR Validator will validate date format (YYYY-MM-DD). Observation.effective.ofType(dateTime) The value shall be within the attributed beneficiary episode dates. invalid Observation.effective[DateTime] is required and must be a valid date within the attributed beneficiary's episode dates. Preliminary validation before accepting submission.
TNM Categories TNM Primary Tumor Category
TNM Regional Nodes Category
TNM Distant Metastases Category
Required if applicable TNM profiles data shall be submitted only if attributed cancer type is one of the following:
Breast_Cancer
Lung_Cancer
Prostrate_Cancer
Small_Intestine/Colorectal_Cancer
Lymphoma (optional)
invalid TNM Primary Tumor, Regional Nodes, and Distant Metastases Category profiles are required for this beneficiary's attributed cancer type. Preliminary validation before accepting submission.
Primary Tumor (T) TNM Primary Tumor Category Observation.code Required if applicable: attributed cancer type = breast, lung, prostate, or small intestine / colorectal cancer Observation.code is missing
If present, FHIR Validator will validate value against TNM Primary Tumor Staging Type Value Set and TNM Primary Tumor Staging Type Maximum Value Set.
Observation.code.coding The value shall be one of these SNOMED-CT codes:
78873005 T category
399504009 cT category
384625004 pT category
code-invalid Observation.code must be a valid value from the TNM Primary Tumor Staging Type Value Set. After standard FHIR validation.
TNM Primary Tumor Category Observation.status Required if applicable Observation.status is missing
If present, FHIR Validator will validate value against ObservationStatus.
Observation.status The value shall be:
final
invalid Observation.status must be "final" for EOM. After standard FHIR validation.
TNM Primary Tumor Category Observation.value[CodeableConcept] Required if applicable If present, FHIR Validator will validate value against TNM Primary Tumor Category Value Set and TNM Primary Tumor Maximum Value Set. Observation.value.ofType(CodeableConcept).coding The value shall be one of the permitted SNOMED-CT codes from the TNM Primary Tumor Category Value Set as indicated by EOM specific to each ICD-10 diagnosis code. code-invalid Observation.value[CodeableConcept]  must be a valid value from the TNM Primary Tumor Category Value Set associated with this beneficiary's primary cancer ICD-10 code. After standard FHIR validation.
TNM Primary Tumor Category Observation.method Required if applicable Observation.method is missing
If present, FHIR Validator will validate value against TNM Staging Method Value Set.
Nodal Disease (N) TNM Regional Nodes Category Observation.code Required if applicable: attributed cancer type = breast, lung, prostate, or small intestine / colorectal cancer Observation.code is missing
If present, FHIR Validator will validate value against TNM Regional Nodes Staging Type Value Set and TNM Regional Node Staging Type Maximum Value Set.
Observation.code The value shall be one of these SNOMED-CT codes:
277206009 N category
399534004 cN category
371494008 pN category
code-invalid Observation.code must be a valid value from the TNM Regional Nodes Staging Type Value Set. After standard FHIR validation.
TNM Regional Nodes Category Observation.status Required if applicable Observation.status is missing
If present, FHIR Validator will validate value against ObservationStatus.
Observation.status The value shall be:
final
invalid Observation.status must be "final" for EOM. After standard FHIR validation.
TNM Regional Nodes Category Observation.value[CodeableConcept] Required if applicable If present, FHIR Validator will validate value against TNM Regional Nodes Category Value Set and TNM Regional Nodes Maximum Value Set. Observation.value.ofType(CodeableConcept).coding The value shall be one of the permitted SNOMED-CT codes from the TNM Regional Nodes Category Value Set as indicated by EOM specific to each ICD-10 diagnosis code. code-invalid Observation.value[CodeableConcept]  must be a valid value from the TNM Regional Nodes Category Value Set associated with this beneficiary's primary cancer code. After standard FHIR validation.
TNM Regional Nodes Category Observation.method Required if applicable Observation.method is missing
If present, FHIR Validator will validate value against TNM Staging Method Value Set.
Metastasis (M) TNM Distant Metastasis Category Observation.code Required if applicable: attributed cancer type = breast, lung, prostate, or small intestine / colorectal cancer Observation.code is missing
If present, FHIR Validator will validate value against TNM Distant Metastases Staging Type Value Set and TNM Distant Metastases Staging Type Maximum Value Set.
Observation.code The value shall be one of these SNOMED-CT codes:
277208005 M category
399387003 cM category
371497001 pM category
code-invalid Observation.code must be a valid value from the TNM Distant Metastases  Staging Type Value Set. After standard FHIR validation.
TNM Distant Metastasis Category Observation.status Required if applicable Observation.status is missing
If present, FHIR Validator will validate value against ObservationStatus.
Observation.status The value shall be:
final
invalid Observation.status must be "final" for EOM. After standard FHIR validation.
TNM Distant Metastasis  Category Observation.value[CodeableConcept] Required if applicable If present, FHIR Validator will validate value against TNM Distant Metastases  Category Value Set and TNM Distant Metastases Maximum Value Set. Observation.value.ofType(CodeableConcept).coding[0] The value shall be one of the permitted SNOMED-CT codes from the TNM Distant Metastases Category Value Set as indicated by EOM specific to each ICD-10 diagnosis code. code-invalid Observation.value[CodeableConcept]  must be a valid value from the TNM Distant Metastases Category Value Set associated with this beneficiary's primary cancer code. After standard FHIR validation.
TNM Distant Metastasis Category
Observation.method
Required if applicable Observation.method is missing
If present, FHIR Validator will validate value against TNM Staging Method Value Set.
Result of ER/PR/HER2 tumor marker tests Tumor Marker Test Required if applicable; Breast Cancer Only The tumor marker test profiles data shall be submitted only if the attributed cancer type is Breast Cancer. invalid The Tumor Marker Test Profile is required  for this beneficiary's attributed cancer type. Preliminary validation before accepting submission.
Result of ER Test (Qualitative) Tumor Marker Test observation.value[CodeableConcept] Required, if applicable:
Breast Cancer only
Observation.valueCodeableConcept is missing Observation.value.ofType(CodeableConcept).coding[0] If present,  the value shall be one of these LOINC codes:
Positive LA6576-8
Negative LA6577-6
Indeterminate LA11884-6
Not Tested LA13538-6
code-invalid Observation.value[CodeableConcept] must be one of the designated LOINC codes as noted in the EOM IG. After standard FHIR validation.
ER Test Specified (Optional) Tumor Marker Test Observation.code Optional (Breast Cancer only) Observation.code is missing
If present, FHIR Validator will validate value against Tumor Marker Test Value Set.
Observation.code The value shall be one of these LOINC codes:
16112-5 Estrogen receptor [Interpretation] in Tissue
14130-9 Estrogen receptor [Moles/mass] in Tissue
40556-3 Estrogen receptor Ag [Presence] in Tissue by Immune stain
85337-4 Estrogen receptor Ag[presence] in Breast cancer specimen by Immune stain
85310-1 Estrogen receptor fluorescence intensity [Type] in Breast cancer specimen by Immune stain
14228-1 Cells.estrogen receptor/100 cells in Tissue by Immune stain
85329-1 Cells.estrogen receptor/100 cells in Breast cancer specimen by Immune stain
code-invalid Observation.code must be one of the valid LOINC codes EOM has designated as valid for this data element as noted in the EOM IG. After standard FHIR validation.
Observation.status Observation.status is missing
If present, FHIR Validator will validate value against ObservationStatus.
Observation.status The value shall be:
final
invalid Observation.status must be "final" for EOM. After standard FHIR validation.
Observation.dataAbsentReason If present, FHIR Validator will validate value against DataAbsentReason Observation.dataAbsentReason If neither Observation.value (CodeableConcept) nor Observation.value (Quantity) is present, then dataAbsentReason shall be present and the values shall be one of:
unknown
not-applicable
invalid If both Observation.value[CodeableConcept] and Observation.value[Quantity] are blank, then Observation.dataAbsentReason must be set to either "unknown" or "not applicable" for EOM. After standard FHIR validation.
ER Test Quantity (Optional) Tumor Marker Test observation.value[Quantity] Optional (Breast Cancer only) Observation.valueQuantity is missing observation.value.ofType(Quantity) If neither Observation.value (CodeableConcept) nor Observation.dataAbsentReason is present, then Observation.value (Quantity) shall be present. invalid If both Observation.value[CodeableConcept] and Observation.dataAbsentReason are blank, then  Observation.value[Quantity] must a valid value for EOM. After standard FHIR validation.
Result of PR Test (Qualitative) Tumor Marker Test observation.value[CodeableConcept] Required, if applicable:
Breast Cancer only
Observation.valueCodeableConcept is missing Observation.value.ofType(CodeableConcept).coding[0] If present, the value shall be one of these LOINC codes:
Positive LA6576-8
Negative LA6577-6
Indeterminate LA11884-6
Not Tested LA13538-6
code-invalid Observation.value[CodeableConcept] must be one of the designated LOINC codes as noted in the EOM IG. After standard FHIR validation.
PR Test Specified (Optional) Tumor Marker Test Observation.code Optional (Breast Cancer only) Observation.code is missing
If present, FHIR Validator will validate value against Tumor Marker Test Value Set.
Observation.code The value shall be one of these LOINC codes:
16113-3 Progesterone receptor [Interpretation] in Tissue
10861-3 Progesterone receptor [Mass/mass] in Tissue
31207-4 Progesterone receptor [Moles/mass] in Tissue
40557-1 Progesterone receptor Ag [Presence] in Tissue by Immune stain
85339-0 Progesterone receptor Ag[presence] in Breast cancer specimen by Immune stain
85331-7 Progesterone receptor fluorescence intensity [Type] in Breast cancer specimen by Immune stain
14230-7 Cells.progesterone receptor/100 cells in Tissue by Immune stain
85325-9 Cells.progesterone receptor/100 cells in Breast cancer specimen by Immune stain
code-invalid Observation.code must be one of the valid LOINC codes EOM has designated as valid for this data element as noted in the EOM IG. After standard FHIR validation.
Observation.status Observation.status is missing
If present, FHIR Validator will validate value against ObservationStatus.
Observation.status The value shall be:
final
invalid Observation.status must be "final" for EOM. After standard FHIR validation.
Observation.dataAbsentReason If present, FHIR Validator will validate value against DataAbsentReason. Observation.dataAbsentReason If neither Observation.value (CodeableConcept) nor Observation.value (Quantity) is present, then dataAbsentReason shall be present and the values shall be one of:
unknown
not-applicable
invalid If both Observation.value[CodeableConcept] and Observation.value[Quantity] are blank, then Observation.dataAbsentReason must be set to either "unknown" or "not applicable" for EOM. After standard FHIR validation.
PR Test Quantity (Optional) Tumor Marker Test observation.value[Quantity] Optional (Breast Cancer only) Observation.valueQuantity is missing observation.value.ofType(Quantity) If neither Observation.value (CodeableConcept) nor Observation.dataAbsentReason is present, then Observation.value (Quantity) shall be present. invalid If both Observation.value[CodeableConcept] and Observation.dataAbsentReason are blank, then  Observation.value[Quantity] must a valid value for EOM. After standard FHIR validation.
Result of HER2 Test (Qualitative) Tumor Marker Test observation.value[CodeableConcept] Required, if applicable:
Breast Cancer only
Observation.valueCodeableConcept is missing Observation.value.ofType(CodeableConcept).coding[0] If present, the value shall be one of these LOINC codes:
Positive LA6576-8
Negative LA6577-6
Indeterminate LA11884-6
Not Tested LA13538-6
code-invalid Observation.value[CodeableConcept] must be one of the designated LOINC codes as noted in the EOM IG. After standard FHIR validation.
HER2 Test Specified (Optional) Tumor Marker Test Observation.code Optional (Breast Cancer only) Observation.code is missing
If present, FHIR Validator will validate value against Tumor Marker Test Value Set.
Observation.code The value shall be one of:
32996-1 HER2 [Mass/volume] in Serum
48676-1 HER2 [Interpretation] in Tissue
72382-5 HER2 [Units/volume] in Tissue by Immunoassay
51981-9 HER2 [Presence] in Serum by Immunoassay
72383-3 HER2 [Presence] in Tissue by Immunoassay
429142 HER2 [Mass/volume] in Serum by Immunoassay
85319-2 HER2 [Presence] in Breast cancer specimen by Immune stain
74885-5 ERBB2 gene (HER2) duplication associated observations panel - Tissue by FISH
74860-8 ERBB2 gene copy number/nucleus in Tissue by FISH
49683-6 ERBB2 gene copy number/Chromosome 17 copy number in Tissue by FISH
96893-3 ERBB2 gene duplication in Tumor by FISH
31150-6 ERBB2 gene duplication [Presence] in Tissue by FISH
85318-4 ERBB2 gene duplication [Presence] in Breast cancer specimen by FISH
code-invalid+Q50 Observation.code must be one of the valid LOINC codes EOM has designated as valid for this data element as noted in the EOM IG. After standard FHIR validation.
Observation.status Observation.status is missing
If present, FHIR Validator will validate value against ObservationStatus.
Observation.status The value shall be:
final
invalid Observation.status must be "final" for EOM. After standard FHIR validation.
Observation.dataAbsentReason If present, FHIR Validator will validate value against DataAbsentReason. Observation.dataAbsentReason If neither Observation.value (CodeableConcept) nor Observation.value (Quantity) is present, then dataAbsentReason shall be present and the values shall be one of:
unknown
not-applicable
invalid If both Observation.value[CodeableConcept] and Observation.value[Quantity] are blank, then Observation.dataAbsentReason must be set to either "unknown" or "not applicable" for EOM. After standard FHIR validation.
HER2 Test Quantity (optional) Tumor Marker Test observation.value[Quantity] Optional Observation.valueQuantity is missing. observation.value.ofType(Quantity) If neither Observation.value (CodeableConcept) nor Observation.dataAbsentReason is present, then Observation.value (Quantity) shall be present. invalid If both Observation.value[CodeableConcept] and Observation.dataAbsentReason are blank, then  Observation.value[Quantity] must a valid value for EOM. After standard FHIR validation.
Histology Primary Cancer Condition condition.extension:histologyMorphologyBehavior Required If present, FHIR Validator will validate value against the Histology Morphology Behavior Value Set. condition.extension:histologyMorphologyBehavior condition.extension:histologyMorphologyBehavior shall be present. invalid Condition.extension:histologyMorphologyBehavior is required. After standard FHIR validation.

Errors

API Endpoint Validation Rule Internal ErrorName Http Status Code OperationOutcome
Issue.severity
OperationOutcome
Issue.code
OperationOutcome
Issue.details.text
POST /fhir/Bundle/$submit Entity ID and Model ID must be present in the request URL as query string parameters. MISSING_QUERY_PARAMS 400 NA NA NA
Valid Entity ID and Model ID must be provided. Model ID must always be "EOM". Entity ID must be in the format "EOM-PGP-XXXX". INVALID_QUERY_PARAMS      400 fatal invalid Unsupported value(s) for 'entityId' and/or 'modelId' in the request URL.
Input payload must be a valid JSON. INVALID_FHIR_JSON   400 NA NA NA
Payload must be free of any security vulnerabilities. VIRUS_SCAN_FAILED 409 fatal security Payload failed virus scan and cannot be processed for security reasons.
Resource bundle must contain at least one resource. NO_RESOURCES_FOUND 400 fatal structure Resource bundle has no entries. A FHIR resource bundle must contain at least one entry.
Custom validation on the payload content. PAYLOAD_VALIDATION_FAILED 422 error invalid Payload validation failed with the following errors: [<Invalid field1, Invalid field2,...>]
Requests must be submitted only for attributed beneficiaries. ATTRIBUTION_NOT_FOUND 422 error not-found Beneficiary attribution data not found for the entityId: <value> for the beneficiary <mbi>
Beneficiary MBI must be present in the Patient resource. MISSING_MBI 422 error required Patient.MBI is missing.
Beneficiary MBI must be a valid format. INVALID_MBI 422 error value The value of Patient.MBI does not match the expected format.
Resource bundle must contain only  resource types supported by the model. UNSUPPORTED_RESOURCES_FOUND   400 error not-supported Resource bundle contains unsupported resources [<dataType1>, <dataType2>, ...].
Unknown error while processing the request. INTERNAL_SERVER_ERROR 500 error exception Internal Server Error. Please try again later.
GET /fhir/Bundle/$submission-status/<submission-id> Unknown error while processing the request. INTERNAL_SERVER_ERROR 500 error exception
Submission status must be requested for a valid submission. SUBMISSION_ID_NOT_VALID 404 error not-found The requested submission with ID <submissionId> is not found.
GET /$prefill-data Prefill data shall be returned only if the requesting entity has attributed beneficiaries. ATTRIBUTION_NOT_FOUND 404 error not-found Beneficiary attribution data not found for the entityId: <value>.
Unknown error while processing the request. INTERNAL_ERROR 500 error exception
Valid Entity ID and Model ID must be provided. Model ID must always be "EOM". Entity ID must be of format "EOM-PGP-XXXX". INVALID_QUERY_PARAMS      400 error invalid Unsupported value(s) for 'entityId' and/or 'modelId' in the request URL.
Entity ID and Model ID must be present in the request URL as query string parameters. MISSING_QUERY_PARAMS 400 NA NA NA