Skip to content
This repository was archived by the owner on May 1, 2024. It is now read-only.

Commit 6ea6748

Browse files
committed
Support OID data type
1 parent 1d91b95 commit 6ea6748

File tree

5 files changed

+45
-0
lines changed

5 files changed

+45
-0
lines changed

bunsen-stu3/src/main/scala/com/cerner/bunsen/stu3/Stu3DataTypeMappings.scala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ class Stu3DataTypeMappings extends DataTypeMappings {
3939
classOf[CodeType] -> DataTypes.StringType,
4040
classOf[StringType] -> DataTypes.StringType,
4141
classOf[UriType] -> DataTypes.StringType,
42+
classOf[OidType] -> DataTypes.StringType,
4243
classOf[IntegerType] -> DataTypes.IntegerType,
4344
classOf[UnsignedIntType] -> DataTypes.IntegerType,
4445
classOf[PositiveIntType] -> DataTypes.IntegerType,

bunsen-stu3/src/test/java/com/cerner/bunsen/stu3/FhirEncodersTest.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import org.hl7.fhir.dstu3.model.Coding;
1919
import org.hl7.fhir.dstu3.model.Condition;
2020
import org.hl7.fhir.dstu3.model.DateTimeType;
21+
import org.hl7.fhir.dstu3.model.ImagingStudy;
2122
import org.hl7.fhir.dstu3.model.IntegerType;
2223
import org.hl7.fhir.dstu3.model.Medication;
2324
import org.hl7.fhir.dstu3.model.MedicationRequest;
@@ -60,6 +61,10 @@ public class FhirEncodersTest {
6061
private static Dataset<MedicationRequest> medDataset;
6162
private static MedicationRequest decodedMedRequest;
6263

64+
private static ImagingStudy imagingStudy = TestData.newImagingStudy();
65+
private static Dataset<ImagingStudy> imagingStudyDataset;
66+
private static ImagingStudy decodedImagingStudy;
67+
6368
/**
6469
* Set up Spark.
6570
*/
@@ -85,6 +90,10 @@ public static void setUp() {
8590
medDataset = spark.createDataset(ImmutableList.of(medRequest),
8691
encoders.of(MedicationRequest.class, Medication.class, Provenance.class));
8792
decodedMedRequest = medDataset.head();
93+
94+
imagingStudyDataset = spark
95+
.createDataset(ImmutableList.of(imagingStudy), encoders.of(ImagingStudy.class));
96+
decodedImagingStudy = imagingStudyDataset.head();
8897
}
8998

9099
/**
@@ -333,4 +342,12 @@ public void testEncoderCached() throws IOException {
333342
Assert.assertSame(encoders.of(Patient.class),
334343
encoders.of(Patient.class));
335344
}
345+
346+
@Test
347+
public void testOid() {
348+
Assert.assertEquals(imagingStudy.getUid(),
349+
imagingStudyDataset.select("uid").head().get(0));
350+
Assert.assertEquals(imagingStudy.getUid(),
351+
decodedImagingStudy.getUid());
352+
}
336353
}

bunsen-stu3/src/test/java/com/cerner/bunsen/stu3/TestData.java

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,24 @@
11
package com.cerner.bunsen.stu3;
22

33
import com.google.common.collect.ImmutableList;
4+
import java.util.ArrayList;
5+
import java.util.List;
46
import org.hl7.fhir.dstu3.model.Annotation;
57
import org.hl7.fhir.dstu3.model.CodeableConcept;
8+
import org.hl7.fhir.dstu3.model.Coding;
69
import org.hl7.fhir.dstu3.model.Condition;
710
import org.hl7.fhir.dstu3.model.DateTimeType;
811
import org.hl7.fhir.dstu3.model.Identifier;
12+
import org.hl7.fhir.dstu3.model.ImagingStudy;
13+
import org.hl7.fhir.dstu3.model.ImagingStudy.ImagingStudySeriesComponent;
914
import org.hl7.fhir.dstu3.model.IntegerType;
1015
import org.hl7.fhir.dstu3.model.Medication;
1116
import org.hl7.fhir.dstu3.model.Medication.MedicationIngredientComponent;
1217
import org.hl7.fhir.dstu3.model.Medication.MedicationStatus;
1318
import org.hl7.fhir.dstu3.model.MedicationRequest;
1419
import org.hl7.fhir.dstu3.model.Narrative;
1520
import org.hl7.fhir.dstu3.model.Observation;
21+
import org.hl7.fhir.dstu3.model.OidType;
1622
import org.hl7.fhir.dstu3.model.Patient;
1723
import org.hl7.fhir.dstu3.model.Procedure;
1824
import org.hl7.fhir.dstu3.model.Provenance;
@@ -192,4 +198,23 @@ public static MedicationRequest newMedRequest() {
192198

193199
return medReq;
194200
}
201+
202+
/**
203+
* Returns a FHIR ImagingStudy resource for testing purposes.
204+
*/
205+
public static ImagingStudy newImagingStudy() {
206+
ImagingStudy imagingStudy = new ImagingStudy();
207+
208+
imagingStudy.setId("test-imaging-study");
209+
imagingStudy.setUid("1.3.12.2.1107.5.1.4.45533.30000008102706401187500000052");
210+
imagingStudy.setPatient(new Reference("Patient/test-patient"));
211+
List<ImagingStudySeriesComponent> series = new ArrayList<>();
212+
ImagingStudySeriesComponent seriesComponent = new ImagingStudySeriesComponent(
213+
new OidType("1.3.12.2.1107.5.1.4.45533.30000008102706401187500000053"),
214+
new Coding("http://dicom.nema.org/resources/ontology/DCM", "HD", "Hemodynamic Waveform"));
215+
series.add(seriesComponent);
216+
imagingStudy.setSeries(series);
217+
218+
return imagingStudy;
219+
}
195220
}

python/tests/test_bunsen_r4.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ def spark_session(request):
5050
spark = SparkSession.builder \
5151
.appName('bunsen-test') \
5252
.master('local[2]') \
53+
.config('spark.driver.host', 'localhost') \
5354
.config('spark.jars', shaded_jar) \
5455
.config('hive.exec.dynamic.partition.mode', 'nonstrict') \
5556
.config('spark.sql.warehouse.dir', mkdtemp()) \

python/tests/test_bunsen_stu3.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ def spark_session(request):
5050
spark = SparkSession.builder \
5151
.appName('bunsen-test') \
5252
.master('local[2]') \
53+
.config('spark.driver.host', 'localhost') \
5354
.config('spark.jars', shaded_jar) \
5455
.config('hive.exec.dynamic.partition.mode', 'nonstrict') \
5556
.config('spark.sql.warehouse.dir', mkdtemp()) \

0 commit comments

Comments
 (0)