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,
};
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,
),
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,
),
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],
),
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],
),
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,
),
];