Skip to content
This repository was archived by the owner on Oct 6, 2025. It is now read-only.

Commit 19c8909

Browse files
committed
added basic support for Specimen resource
1 parent 40f5b9b commit 19c8909

1 file changed

Lines changed: 12 additions & 23 deletions

File tree

  • codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send

codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/ReadData.java

Lines changed: 12 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -25,51 +25,30 @@
2525

2626
import org.camunda.bpm.engine.delegate.BpmnError;
2727
import org.camunda.bpm.engine.delegate.DelegateExecution;
28-
import org.hl7.fhir.r4.model.Bundle;
28+
import org.hl7.fhir.r4.model.*;
2929
import org.hl7.fhir.r4.model.Bundle.BundleEntryComponent;
3030
import org.hl7.fhir.r4.model.Bundle.BundleType;
3131
import org.hl7.fhir.r4.model.Bundle.HTTPVerb;
32-
import org.hl7.fhir.r4.model.CanonicalType;
33-
import org.hl7.fhir.r4.model.Condition;
3432
import org.hl7.fhir.r4.model.Condition.ConditionEvidenceComponent;
3533
import org.hl7.fhir.r4.model.Condition.ConditionStageComponent;
36-
import org.hl7.fhir.r4.model.Consent;
3734
import org.hl7.fhir.r4.model.Consent.ConsentVerificationComponent;
3835
import org.hl7.fhir.r4.model.Consent.provisionActorComponent;
3936
import org.hl7.fhir.r4.model.Consent.provisionComponent;
4037
import org.hl7.fhir.r4.model.Consent.provisionDataComponent;
41-
import org.hl7.fhir.r4.model.DateTimeType;
42-
import org.hl7.fhir.r4.model.DiagnosticReport;
4338
import org.hl7.fhir.r4.model.DiagnosticReport.DiagnosticReportMediaComponent;
44-
import org.hl7.fhir.r4.model.DomainResource;
45-
import org.hl7.fhir.r4.model.Encounter;
4639
import org.hl7.fhir.r4.model.Encounter.DiagnosisComponent;
4740
import org.hl7.fhir.r4.model.Encounter.EncounterHospitalizationComponent;
4841
import org.hl7.fhir.r4.model.Encounter.EncounterLocationComponent;
4942
import org.hl7.fhir.r4.model.Encounter.EncounterParticipantComponent;
50-
import org.hl7.fhir.r4.model.IdType;
51-
import org.hl7.fhir.r4.model.Identifier;
52-
import org.hl7.fhir.r4.model.Immunization;
5343
import org.hl7.fhir.r4.model.Immunization.ImmunizationPerformerComponent;
5444
import org.hl7.fhir.r4.model.Immunization.ImmunizationProtocolAppliedComponent;
5545
import org.hl7.fhir.r4.model.Immunization.ImmunizationReactionComponent;
56-
import org.hl7.fhir.r4.model.InstantType;
57-
import org.hl7.fhir.r4.model.Medication;
5846
import org.hl7.fhir.r4.model.Medication.MedicationIngredientComponent;
59-
import org.hl7.fhir.r4.model.MedicationAdministration;
6047
import org.hl7.fhir.r4.model.MedicationAdministration.MedicationAdministrationPerformerComponent;
61-
import org.hl7.fhir.r4.model.MedicationStatement;
62-
import org.hl7.fhir.r4.model.Meta;
63-
import org.hl7.fhir.r4.model.Observation;
64-
import org.hl7.fhir.r4.model.Patient;
6548
import org.hl7.fhir.r4.model.Patient.ContactComponent;
6649
import org.hl7.fhir.r4.model.Patient.PatientLinkComponent;
67-
import org.hl7.fhir.r4.model.Procedure;
6850
import org.hl7.fhir.r4.model.Procedure.ProcedureFocalDeviceComponent;
6951
import org.hl7.fhir.r4.model.Procedure.ProcedurePerformerComponent;
70-
import org.hl7.fhir.r4.model.Reference;
71-
import org.hl7.fhir.r4.model.Resource;
72-
import org.hl7.fhir.r4.model.Task;
7352
import org.slf4j.Logger;
7453
import org.slf4j.LoggerFactory;
7554

@@ -645,7 +624,6 @@ else if (resource instanceof Observation o)
645624
cleanUnsupportedReferences(o, "Observation.focus", Observation::hasFocus, Observation::setFocus);
646625
cleanUnsupportedReferences(o, "Observation.performer", Observation::hasPerformer,
647626
Observation::setPerformer);
648-
cleanUnsupportedReference(o, "Observation.specimen", Observation::hasSpecimen, Observation::setSpecimen);
649627
cleanUnsupportedReference(o, "Observation.device", Observation::hasDevice, Observation::setDevice);
650628
cleanUnsupportedReferences(o, "Observation.derivedFrom", Observation::hasDerivedFrom,
651629
Observation::setDerivedFrom);
@@ -674,6 +652,11 @@ else if (resource instanceof Procedure p)
674652
cleanUnsupportedReferences(p, "Procedure.usedReference", Procedure::hasUsedReference,
675653
Procedure::setUsedReference);
676654
}
655+
else if (resource instanceof Specimen s)
656+
{
657+
// todo
658+
659+
}
677660
else
678661
throw new RuntimeException("Resource of type " + resource.getResourceType().name() + " not supported");
679662
}
@@ -741,6 +724,12 @@ else if (resource instanceof Procedure p)
741724
p.setIdentifier(Collections.emptyList());
742725
p.setSubject(patientRef);
743726
}
727+
else if (resource instanceof Specimen s)
728+
{
729+
s.setIdentifier(Collections.emptyList());
730+
s.setAccessionIdentifier(null);
731+
s.setSubject(patientRef);
732+
}
744733
else
745734
throw new RuntimeException("Resource of type " + resource.getResourceType().name() + " not supported");
746735
}

0 commit comments

Comments
 (0)