eehrxf 0.2.0

The European interoperability software component of an EHR system under Regulation (EU) 2025/327: the format-neutral dataset model of the priority categories read from the Xt-EHR EHDS logical models, and the European electronic health record exchange format in FHIR R4, mapped from openEHR by FHIRconnect
Documentation
// SPDX-FileCopyrightText: Cadasto B.V.
// SPDX-License-Identifier: BUSL-1.1

//! The rows of the imaging report crosswalk.

use crate::crosswalk::Row;

use super::{
    ADVERSE_EVENT, ASSEMBLED, CARE_PLAN, CONDITION, DEVICE, FINDING, MEDICATION_ADMINISTRATION,
    NONE, OBSERVATION, ORDERED, PROCEDURE, RADIATION_DOSE, SHALL, SHOULD, SPECIMEN, STUDY, row,
};

/// The imaging report rows: the header elements, then the body in model
/// order.
pub(super) const ROWS: &[Row] = &[
    row(
        "EHDSImagingReport.header",
        &["A.1"],
        SHALL,
        "Composition",
        ASSEMBLED,
    ),
    row(
        "EHDSImagingReport.header.subject",
        &["A.1.1", "A.1.2"],
        SHALL,
        "Composition.subject",
        ASSEMBLED,
    ),
    row(
        "EHDSImagingReport.header.identifier",
        &["A.1.8.0"],
        SHALL,
        "Composition.identifier",
        ASSEMBLED,
    ),
    row(
        "EHDSImagingReport.header.author[x]",
        &["A.1.5"],
        SHALL,
        "Composition.author",
        ASSEMBLED,
    ),
    row(
        "EHDSImagingReport.header.date",
        &["A.1.8.3"],
        SHALL,
        "Composition.date",
        ASSEMBLED,
    ),
    row(
        "EHDSImagingReport.header.status",
        &["A.1.8.2"],
        SHALL,
        "Composition.status",
        ASSEMBLED,
    ),
    row(
        "EHDSImagingReport.header.language",
        &["A.1.8.8"],
        SHALL,
        "Composition.language",
        ASSEMBLED,
    ),
    row(
        "EHDSImagingReport.header.documentType",
        &["A.1.8.1"],
        SHALL,
        "Composition.type",
        ASSEMBLED,
    ),
    row(
        "EHDSImagingReport.header.documentTitle",
        &["A.1.8.4"],
        SHALL,
        "Composition.title",
        ASSEMBLED,
    ),
    row(
        "EHDSImagingReport.header.period",
        NONE,
        SHOULD,
        "Composition.event.period",
        ASSEMBLED,
    ),
    row(
        "EHDSImagingReport.header.attestation",
        &["A.1.7"],
        SHALL,
        "Composition.attester:resultValidator",
        ASSEMBLED,
    ),
    row(
        "EHDSImagingReport.header.attestation.attester[x]",
        &["A.1.7"],
        SHALL,
        "Composition.attester:resultValidator.party",
        ASSEMBLED,
    ),
    row(
        "EHDSImagingReport.header.attestation.datetime",
        &["A.1.7.4"],
        SHALL,
        "Composition.attester:resultValidator.time",
        ASSEMBLED,
    ),
    row(
        "EHDSImagingReport.header.legalAuthentication",
        &["A.1.6"],
        SHALL,
        "Composition.attester:legalAuthenticator",
        ASSEMBLED,
    ),
    row(
        "EHDSImagingReport.header.legalAuthentication.legalAuthenticator[x]",
        &["A.1.6"],
        SHALL,
        "Composition.attester:legalAuthenticator.party",
        ASSEMBLED,
    ),
    row(
        "EHDSImagingReport.header.legalAuthentication.datetime",
        &["A.1.6.4"],
        SHALL,
        "Composition.attester:legalAuthenticator.time",
        ASSEMBLED,
    ),
    row(
        "EHDSImagingReport.header.eventType",
        &["A.1.8.5"],
        SHOULD,
        "Composition.event.code",
        ASSEMBLED,
    ),
    row(
        "EHDSImagingReport.header.serviceSpecialty",
        NONE,
        None,
        "Composition.category",
        ASSEMBLED,
    ),
    row(
        "EHDSImagingReport.header.custodian",
        &["A.1.8.6"],
        SHOULD,
        "Composition.custodian",
        ASSEMBLED,
    ),
    row(
        "EHDSImagingReport.header.accessionNumber",
        &["A.1.8.11"],
        SHALL,
        "DiagnosticReport.basedOn:ServiceRequestOrderEuImagingaccession",
        ORDERED,
    ),
    row(
        "EHDSImagingReport.header.intendedRecipient[x]",
        &["A.1.4"],
        SHOULD,
        "Composition.extension:informationRecipient",
        ASSEMBLED,
    ),
    row(
        "EHDSImagingReport.presentedForm",
        &["A.8"],
        SHOULD,
        "DiagnosticReport.presentedForm",
        ASSEMBLED,
    ),
    row(
        "EHDSImagingReport.body",
        NONE,
        SHALL,
        "Composition.section",
        ASSEMBLED,
    ),
    // The orders, in the order section.
    row(
        "EHDSImagingReport.body.orderInformation",
        &["A.2"],
        SHOULD,
        "Composition.section:order",
        ASSEMBLED,
    ),
    row(
        "EHDSImagingReport.body.orderInformation.orderId",
        &["A.2.1"],
        SHALL,
        "Composition.section:order.entry:order",
        ORDERED,
    ),
    row(
        "EHDSImagingReport.body.orderInformation.orderDateAndTime",
        &["A.2.2"],
        None,
        "Composition.section:order.entry:order",
        ORDERED,
    ),
    row(
        "EHDSImagingReport.body.orderInformation.orderPlacer[x]",
        NONE,
        None,
        "Composition.section:order.entry:order",
        ORDERED,
    ),
    row(
        "EHDSImagingReport.body.orderInformation.orderReason[x]",
        &["A.3"],
        SHOULD,
        "Composition.section:order.entry:order",
        ORDERED,
    ),
    row(
        "EHDSImagingReport.body.orderInformation.clinicalQuestion",
        &["A.3.3"],
        SHALL,
        "Composition.section:order.entry:order",
        ORDERED,
    ),
    // The supporting information, in the history section.
    row(
        "EHDSImagingReport.body.supportingInformation",
        NONE,
        SHOULD,
        "Composition.section:history",
        ASSEMBLED,
    ),
    row(
        "EHDSImagingReport.body.supportingInformation.observation",
        NONE,
        SHOULD,
        "Composition.section:history.entry:vitals",
        &[OBSERVATION],
    ),
    row(
        "EHDSImagingReport.body.supportingInformation.condition",
        NONE,
        SHOULD,
        "Composition.section:history.entry:problemlist",
        &[CONDITION],
    ),
    row(
        "EHDSImagingReport.body.supportingInformation.priorMedicationAdministration",
        NONE,
        SHOULD,
        "Composition.section:history.entry:medication",
        &[MEDICATION_ADMINISTRATION],
    ),
    row(
        "EHDSImagingReport.body.supportingInformation.device",
        NONE,
        SHOULD,
        "Composition.section:history.entry:implants",
        &[DEVICE],
    ),
    row(
        "EHDSImagingReport.body.supportingInformation.pregnancyStatus",
        NONE,
        SHOULD,
        "Composition.section:history.entry",
        &[OBSERVATION],
    ),
    row(
        "EHDSImagingReport.body.supportingInformation.sexForClinicalUse",
        NONE,
        SHOULD,
        "Composition.section:history.text",
        ASSEMBLED,
    ),
    row(
        "EHDSImagingReport.body.specimen",
        &["A.4"],
        SHOULD,
        "DiagnosticReport.specimen",
        &[SPECIMEN],
    ),
    row(
        "EHDSImagingReport.body.exposureInformation",
        NONE,
        SHOULD,
        "Composition.section:procedure.entry:radiation-dose",
        &[RADIATION_DOSE],
    ),
    // The examination, in the procedure, findings and impression sections.
    row(
        "EHDSImagingReport.body.examinationReport",
        &["A.5"],
        SHALL,
        "Composition.section:procedure",
        ASSEMBLED,
    ),
    row(
        "EHDSImagingReport.body.examinationReport.modality",
        &["A.5.1.1"],
        SHALL,
        "Composition.section:imagingstudy.entry:imagingstudy",
        STUDY,
    ),
    row(
        "EHDSImagingReport.body.examinationReport.bodySite",
        &["A.5.1.6"],
        SHALL,
        "DiagnosticReport.extension:anatomical-region",
        ASSEMBLED,
    ),
    row(
        "EHDSImagingReport.body.examinationReport.imagingProcedures",
        &["A.5.1"],
        SHALL,
        "Composition.section:procedure.entry:procedure",
        &[PROCEDURE],
    ),
    row(
        "EHDSImagingReport.body.examinationReport.medicationAdministration",
        &["A.5.2"],
        SHALL,
        "Composition.section:procedure.entry",
        &[MEDICATION_ADMINISTRATION],
    ),
    row(
        "EHDSImagingReport.body.examinationReport.adverseReaction",
        &["A.5.3"],
        SHALL,
        "Composition.section:procedure.entry:adverse-event",
        &[ADVERSE_EVENT],
    ),
    row(
        "EHDSImagingReport.body.examinationReport.results[x]",
        &["A.5.4"],
        SHALL,
        "Composition.section:findings.entry:finding",
        &[OBSERVATION],
    ),
    row(
        "EHDSImagingReport.body.examinationReport.conclusion",
        &["A.5.5"],
        SHALL,
        "Composition.section:impression",
        ASSEMBLED,
    ),
    row(
        "EHDSImagingReport.body.examinationReport.conclusion.impression",
        &["A.5.5.1"],
        SHALL,
        "Composition.section:impression.text",
        ASSEMBLED,
    ),
    row(
        "EHDSImagingReport.body.examinationReport.conclusion.conditionOrFinding[x]",
        &["A.5.5.2"],
        SHALL,
        "Composition.section:impression.entry",
        &[CONDITION, FINDING],
    ),
    // The recommendation, the comparison and the study.
    row(
        "EHDSImagingReport.body.recommendation",
        &["A.5.6"],
        SHOULD,
        "Composition.section:recommendation",
        ASSEMBLED,
    ),
    row(
        "EHDSImagingReport.body.recommendation.description",
        &["A.5.6.1"],
        SHALL,
        "Composition.section:recommendation.text",
        ASSEMBLED,
    ),
    row(
        "EHDSImagingReport.body.recommendation.carePlan",
        &["A.5.6.2"],
        SHOULD,
        "Composition.section:recommendation.entry:suggestion",
        &[CARE_PLAN],
    ),
    row(
        "EHDSImagingReport.body.comparisonStudy",
        &["A.7"],
        SHALL,
        "Composition.section:comparison.entry:comparedstudy",
        STUDY,
    ),
    row(
        "EHDSImagingReport.dicomStudyMetadata",
        &["B.1"],
        SHALL,
        "Composition.section:imagingstudy",
        ASSEMBLED,
    ),
    row(
        "EHDSImagingReport.attachments",
        NONE,
        SHOULD,
        "Composition.section:report.entry",
        ASSEMBLED,
    ),
];