Prostate Cancer Message HL7 FHIR Guide

  1. Introduction
  2. Message description
    1. Table Columns description
    2. Table with Message description
      1. Tab template General Info
      2. Tab template Baseline
      3. Tab template Timepoints
      4. Tab template Treatment
      5. Tab template Histology - Mutations
      6. Tab template Lab Results
    3. Description mandatory/optional of variable

1. Introduction

This guide aims to explain the process to follow in order to read and understand the xml message “HL7FHIRMessageProstate.xml” based on prostate Excel template.

2. Message description

In this chapter describes the xml message content in a table containing these columns.

2.1. Table Columns description

Column Name Description
Tab Template Tab name included in excel file of Prostate Cancer
Variable Variable name included in Excel file
ID resource ID identification inside the assigned resource
FHIR message location Attribute used to inform the variable inside the bundle
Example value Example value used to inform the variable assigned
Required by FHIR specification Inform the variable is mandatory/optional in XML, based on compliance with the FHIR specification
INCISIVE profile URL of profiles created by INCISIVE
Condition Description term condition

2.2. Table with Message description

2.2.1. Tab template General Info
Variable ID resource FHIR message location Example value Required by FHIR specification INCISVE Profile Comments
Patient Number patient01 Patient.identifier.value 004-000001 Optional
Age at diagnosis diagnosticReport01 DiagnosticReport.extension.valueAge.value 56 Mandatory Extension
Ethnicity patient01 Patient.extension.valueCodeableConcept.coding.code 1 Optional Extension
Patient.extension.valueCodeableConcept.coding.display White Optional
Family history of Pca observation01 Observation.component.valueBoolean true Optional
Familial Cancer History Father observation01 Observation.component.valueBoolean true Optional
Familial Cancer History Mother observation01 Observation.component.valueBoolean true Optional
Medical History condition01 Condition.code.text MG30.10 Optional
Medication general info medication01 Medication.code.text Medication therapy Optional
Symptoms general info condition01 Condition.evidence.code.coding.code 1 Optional CodeSystem
Condition.evidence.code.coding.display Difficulty starting urination Optional
Clinical findings general info condition02 Condition.note.text Dysuria Mandatory If Clinical findings general info=null delete all condition02
Current state patient01 Patient.extension.valueCode 0 Optional Extension
Provider organization01 Organization.identifier.type.coding.code 001 Optional CodeSystem
Organization.identifier.type.coding.display AUTH Optional
Case - MessageHeader.eventCoding.display Malignant tumor of prostate (disorder) Mandatory
Delivery Time general info - Bundle.timestamp 2023-07-24T12:29:17.239+02:00 Optional
2.2.2. Tab template Baseline
Variable ID resource FHIR message location Example value Required by FHIR specification INCISVE Profile Comments
Computerized axial tomography (CT) baseline observation02 Observation.component.valueBoolean true Optional
Annotated CT baseline observation02 Observation.component.valueCodeableConcept.coding.code 1 Optional CodeSystem
Observation.component.valueCodeableConcept.coding.display Positive annotation Optional
Positron emission tomography (PET) baseline observation02 Observation.component.valueBoolean true Optional
Annotated PET baseline observation02 Observation.component.valueCodeableConcept.coding.code 1 Optional CodeSystem
Observation.component.valueCodeableConcept.coding.display Positive annotation Optional
Magnetic resonance imaging (MRI) baseline observation02 Observation.component.valueBoolean true Optional
Annotated MRI baseline observation02 Observation.component.valueCodeableConcept.coding.code 1 Optional CodeSystem
Observation.component.valueCodeableConcept.coding.display Positive annotation Optional
MRI type baseline observation02 Observation.component.valueCodeableConcept.coding.code 0 Optional CodeSystem
Observation.component.valueCodeableConcept.coding.display Prior biopsy Optional
Bone Scintigraphy Scan baseline observation02 Observation.component.valueBoolean true Optional
Annotated Bone Scintigraphy Scan baseline observation02 Observation.component.valueCodeableConcept.coding.code 1 Optional CodeSystem
Observation.component.valueCodeableConcept.coding.display Positive annotation Optional
Histopathology Image baseline observation02 Observation.component.valueBoolean true Optional
Annotated Histopathology Image baseline observation02 Observation.component.valueCodeableConcept.coding.code 1 Optional CodeSystem
Observation.component.valueCodeableConcept.coding.display Positive annotation Optional
Xray baseline observation02 Observation.component.valueBoolean true Optional
Annotated Xray baseline observation02 Observation.component.valueCodeableConcept.coding.code 1 Optional CodeSystem
Observation.component.valueCodeableConcept.coding.display Positive annotation Optional
Prostate volume observation02 Observation.component.valueQuantity.value 2 Optional
Side of tumor observation02 Observation.component.valueCodeableConcept.coding.code 0 Optional CodeSystem
Observation.component.valueCodeableConcept.coding.display Right Optional
Maximum PIRADS observation02 Observation.component.valueCodeableConcept.coding.code 1 Optional CodeSystem
Observation.component.valueCodeableConcept.coding.display PIRADS 1 Optional
Localization of PIRADS observation02 Observation.bodySite.coding.code 3 Optional CodeSystem
Observation.bodySite.coding.display pZp apex Optional
Extraprostatic extention observation02 Observation.component.valueBoolean true Optional
Seminal vesicle invasion baseline observation02 Observation.component.valueBoolean true Optional
PSA baseline observation02 Observation.component.valueQuantity.value 4.48 Optional
cT baseline observation02 Observation.component.valueCodeableConcept.coding.code 1 Optional CodeSystem
Observation.component.valueCodeableConcept.coding.display cT1 Optional
cN baseline observation02 Observation.component.valueCodeableConcept.coding.code 1 Optional CodeSystem
Observation.component.valueCodeableConcept.coding.display N1 Optional
cM baseline observation02 Observation.component.valueCodeableConcept.coding.code 1 Optional CodeSystem
Observation.component.valueCodeableConcept.coding.display M1 Optional
2.2.3. Tab template Timepoints
Variable ID resource FHIR message location Example value Required by FHIR specification INCISVE Profile Comments
Label timepoints observation08 Observation.code.coding.code 1 Mandatory CodeSystem
Observation.code.coding.display After 1st Treatment Mandatory
Define other if selected timepoints observation08 Observation.category.text Between 1st and 2nd dose of CT Optional
Date timepoints observation08 Observation.valueInteger 2 Optional
PSA 1 observation03 Observation.component.valueQuantity.value 4.26 Optional
Date - PSA 1 observation03 Observation.valueInteger 2 Optional
PSA 2 observation04 Observation.component.valueQuantity.value 3.5 Optional
Date - PSA 2 observation04 Observation.valueInteger 3 Optional
PSA 3 observation05 Observation.component.valueQuantity.value 4.1 Optional
Date - PSA 3 observation05 Observation.valueInteger 4 Optional
PSA 4 observation06 Observation.component.valueQuantity.value 2.7 Optional
Date - PSA 4 observation06 Observation.valueInteger 5 Optional
PSA 5 observation07 Observation.component.valueQuantity.value 5.8 Optional
Date - PSA 5 observation07 Observation.valueInteger 6 Optional
Biochemical recurrence observation08 Observation.component.valueBoolean true Optional
Date of biochemical recurrence observation08 Observation.component.valueInteger 2 Optional If Biochemical recurrence=true, else delete component Date of biochemical recurrence
Free period of BR observation08 Observation.component.valueInteger 4 Optional If Biochemical recurrence=true, else delete component Free period of BR
Magnetic resonance imaging (MRI) timepoints observation08 Observation.component.valueBoolean true Optional
Annotated MRI timepoints observation08 Observation.component.valueCodeableConcept.coding.code 1 Optional CodeSystem
Observation.component.valueCodeableConcept.coding.display Positive annotation Optional
Computerized axial tomography (CT) timepoints observation08 Observation.component.valueBoolean true Optional
Annotated CT timepoints observation08 Observation.component.valueCodeableConcept.coding.code 1 Optional CodeSystem
Observation.component.valueCodeableConcept.coding.display Positive annotation Optional
Bone Scintigraphy Scan timepoints observation08 Observation.component.valueBoolean true Optional
Annotated Bone Scintigraphy Scan timepoints observation08 Observation.component.valueCodeableConcept.coding.code 1 Optional CodeSystem
Observation.component.valueCodeableConcept.coding.display Positive annotation Optional
Positron emission tomography (PET-choline) timepoints observation08 Observation.component.valueBoolean true Optional
Annotated PET-choline timepoints observation08 Observation.component.valueCodeableConcept.coding.code 1 Optional CodeSystem
Observation.component.valueCodeableConcept.coding.display Positive annotation Optional
Histopathology Image timepoints observation08 Observation.component.valueBoolean true Optional
Annotated Histopathology Image timepoints observation08 Observation.component.valueCodeableConcept.coding.code 1 Optional CodeSystem
Observation.component.valueCodeableConcept.coding.display Positive annotation Optional
Xray timepoints observation08 Observation.component.valueBoolean true Optional
Annotated Xray timepoints observation08 Observation.component.valueCodeableConcept.coding.code 1 Optional CodeSystem
Observation.component.valueCodeableConcept.coding.display Positive annotation Optional
Salvage therapy with radiotherapy observation08 Observation.component.valueBoolean true Optional
PSA nadir post-RDT observation08 Observation.component.valueQuantity.value 4.26 Optional
Salvage therapy with ADT observation08 Observation.component.valueBoolean true Optional
Distance recurrence observation08 Observation.component.valueBoolean true Optional
2.2.4. Tab template Treatment
Variable ID resource FHIR message location Example value Required by FHIR specification INCISVE Profile Comments
Label treatment observation09 Observation.code.coding.code 1 Mandatory CodeSystem
Observation.code.coding.display After 1st Treatment-1st FollowUp Mandatory
Define other if selected treatment observation09 Observation.category.text Between 1st and 2nd dose of CT Optional
Treatment procedure01 Procedure.code.coding.code 1 Optional CodeSystem
Procedure.code.coding.display Active surveillance Optional
Date of treatment procedure01 Procedure.performedString 2 Optional
Type of therapy procedure01 Procedure.category.coding.code 0 Optional CodeSystem
Procedure.category.coding.display EBRT = External Beam Radiotherapy Optional
Lymph node dissection observation09 Observation.component.valueBoolean true Optional
Response to treatment observation09 Observation.component.valueCodeableConcept.coding.code 1 Optional CodeSystem
Observation.component.valueCodeableConcept.coding.display CR Optional
2.2.5. Tab template Histology - Mutations
Variable ID resource FHIR message location Example value Required by FHIR specification INCISVE Profile Comments
Biopsy label procedure02 Procedure.statusReason.coding.code 1 Optional CodeSystem
Procedure.statusReason.coding.display After 1st Treatment Optional
Date of Biopsy procedure02 Procedure.performedString 3 Optional
Type of Biopsy procedure02 Procedure.category.coding.code 1 Optional CodeSystem
Procedure.category.coding.display Randomized biopsy Optional
Define other if selected histology-mutations procedure02 Procedure.category.text Between 1st and 2nd dose of CT Optional
Max Gleason observation10 Observation.component.valueInteger 7 Optional
ISUP group observation10 Observation.component.valueInteger 4 Optional
% of affected cores in the right lobe observation10 Observation.component.valueQuantity.value 95 Optional
% of affected cores in the left lobe observation10 Observation.component.valueQuantity.value 60 Optional
Intraductal observation10 Observation.component.valueBoolean true Optional
Cribriform features observation10 Observation.component.valueBoolean true Optional
pT histology-mutations observation10 Observation.component.valueCodeableConcept.coding.code 1 Optional CodeSystem
Observation.component.valueCodeableConcept.coding.display pT1 Optional
Gleason Total PR observation10 Observation.component.valueInteger 6 Optional
Seminal vesicle invasion histology-mutations observation10 Observation.component.valueBoolean true Optional
Extraprostatic extension observation10 Observation.component.valueBoolean true Optional
pN histology-mutations observation10 Observation.component.valueCodeableConcept.coding.code 1 Optional CodeSystem
Observation.component.valueCodeableConcept.coding.display N1 Optional
Sampling observation11 Observation.component.valueString Light microscopy Optional
Staining/type of assay performed observation11 Observation.component.valueString Hematoxylin Optional
Magnification observation11 Observation.component.valueString x10 Optional
Other sample-related information observation11 Observation.component.valueString example Optional
2.2.6. Tab template Lab Results
Variable ID resource FHIR message location Example value Required by FHIR specification INCISVE Profile Comments
Exam label observation12 Observation.code.coding.code 1 Mandatory CodeSystem
Observation.code.coding.display After 1st Treatment Mandatory
Define other if selected lab results observation12 Observation.category.text Between 1st and 2nd dose of CT Optional
Date Laboratory observation12 Observation.valueInteger 2 Optional
Leukocytes observation12 Observation.component.valueQuantity.value 15.8 Optional
Hemoglobin (Hb) observation12 Observation.component.valueQuantity.value 16.7 Optional
Hematocrit (HCT) observation12 Observation.component.valueQuantity.value 47.4 Optional
Platelets (PLT) observation12 Observation.component.valueQuantity.value 287 Optional
Blood sugar level observation12 Observation.component.valueQuantity.value 87 Optional
Insulin observation12 Observation.component.valueQuantity.value 4 Optional
Urea observation12 Observation.component.valueQuantity.value 36 Optional
Creatinine observation12 Observation.component.valueQuantity.value 0.72 Optional
Uric acid observation12 Observation.component.valueQuantity.value 3.5 Optional
Potassium observation12 Observation.component.valueQuantity.value 4.8 Optional
Sodium observation12 Observation.component.valueQuantity.value 142 Optional
Calcium observation12 Observation.component.valueQuantity.value 9.31 Optional
Cholesterol observation12 Observation.component.valueQuantity.value 197 Optional
Triglycerides observation12 Observation.component.valueQuantity.value 59 Optional
HDL observation12 Observation.component.valueQuantity.value 60 Optional
Low density lipoprotein (LDL) observation12 Observation.component.valueQuantity.value 120 Optional
SGOT observation12 Observation.component.valueQuantity.value 19 Optional
SGPT observation12 Observation.component.valueQuantity.value 33 Optional
y-GT observation12 Observation.component.valueQuantity.value 14 Optional
ALP observation12 Observation.component.valueQuantity.value 227 Optional
LDH observation12 Observation.component.valueQuantity.value 270 Optional
TSH observation12 Observation.component.valueQuantity.value 0.73 Optional
Cortisol observation12 Observation.component.valueQuantity.value 22 Optional
CRP observation12 Observation.component.valueQuantity.value 0.5 Optional
BNP observation12 Observation.component.valueQuantity.value 120 Optional
HbA1c observation12 Observation.component.valueQuantity.value 5.1 Optional
Total protein in urine observation12 Observation.component.valueQuantity.value 80 Optional
Creatinine urine observation12 Observation.component.valueQuantity.value 100 Optional

In order to build the message for each patient, and to report the variables in the table above, the following steps must be followed:

  1. Search inside the message text with the same word that appears in the "Variable" column.
  2. Check that the resource to which it redirects us has the same id as in the “ID resource” column.
  3. Enter the desired value in the double quoted space of the attribute indicated in the "Fhirmessage location" column.
  4. Do not delete any part of the message, the whole structure must be the same, just change the example value, for the value you want to report. Do not change the order.
  5. If you don’t have the information of the element, you can delete the node, but validate XML to ensure the structure of the XML FHIR is still correct and has no errors (you can omit the warnings in the validation). The entire message structure is static except for the values given for the attributes in the "Fhir message location" column and the timestamp which is the current datatime.

2.3. Description mandatory/optional of term

There will be mandatory/optional for different scenarios, according to different scenarios corresponding to different rules. These scenarios are described separately below.

  • If the attribute is mandatory, all attribute structure information for this column must be reported. It cannot be deleted.
Label timepoints observation08 Observation.code.coding.code 1 Mandatory CodeSystem
Observation.code.coding.display After 1st Treatment Mandatory
  • If the attribute is mandatory with a comment reporting the condition of this variable, all attribute structure information for this column must be reported, unless the variable has not value for report, all resources must be deleted.
Clinical findings general info condition02 Condition.note.text Dysuria Mandatory If Clinical findings general info=null delete all condition02
  • If an optional attribute needs to be deleted, all attribute structures except for the primary resource (e.g., observation, procedure, condition, etc.) must be deleted if that primary resource has another variable. For example, for the variable Gender, you can delete the attribute gender from the resource Patient, while other attributes such as identifier have values and do not have to be deleted.
Current state patient01 Patient.extension.valueCode 0 Optional Extension
  • If the attribute is optional, this happens in observation.component because Observation.component has two parts inside, Observation.component.code and Observation.component.value (this value can be valueCodeableConcept, ValueBoolean, ValueSrting, valueInteger, valueQuantity, etc.). If the variable has a value that needs to be informed, then code is mandatory, that code is mostly the SNOMED CT code or LOINC code for that variable. This means that if you need to delete variable, then you need to delete all Observation.component and cannot delete the whole Observation resource, unless there are no other elements in the same Observation, then you can delete the whole Observation resource.
Annotated CT baseline observation02 Observation.component.valueCodeableConcept.coding.code 1 Optional CodeSystem
Observation.component.valueCodeableConcept.coding.display Positive annotation Optional
  • If the attribute is optional with a comment reporting the condition of this variable, you can delete all resource if the variable has not value for report.
Date of biochemical recurrence observation08 Observation.component.valueInteger 2 Optional If Biochemical recurrence=true, else delete component Date of biochemical recurrence