允许 Cerner Bunsen 加载 FHIR R4 (ukcore) 的依赖项是什么?

What are the dependencies that will allow Cerner Bunsen to load FHIR R4 (ukcore)?

有谁知道 Cerner Bunsen 库(https://github.com/cerner/bunsen) will load FHIR R4 bundles and persist the data to spark sql databases? If anyone can offer any guidance or point me to any, that would be great. At the moment I'm just trying to load a bundled sample from https://simplifier.net/ukcore。最终 objective 是将传入的 Bundle 保存到 Hive 数据库以供 Apache Spark 集群访问。

尝试加载单个条目 Bundle 的示例代码是:

Bundles bundles = Bundles.forR4();
URL fileUrl = R4Test.class.getClassLoader().getResource("ukcore/UKCore-AllergyIntolerance-Amoxicillin-Example.json");
JavaRDD bundlesRdd = bundles.loadFromDirectory(spark, fileUrl.toExternalForm(), 200);
Object c = bundlesRdd.collect();
bundles.saveAsDatabase(spark, bundlesRdd, "r4database", "AllergyIntolerance");

bundlesRdd.collect() 上,我收到以下警告:

INFO WholeTextFileRDD: Input split: Paths:/path/to/ukcore/UKCore-AllergyIntolerance-Amoxicillin-Example.json:0+2017
WARN LenientErrorHandler: Unknown element 'meta' found while parsing
WARN LenientErrorHandler: Unknown element 'clinicalStatus' found while parsing
WARN LenientErrorHandler: Unknown element 'verificationStatus' found while parsing
WARN LenientErrorHandler: Unknown element 'type' found while parsing
WARN LenientErrorHandler: Unknown element 'category' found while parsing
WARN LenientErrorHandler: Unknown element 'code' found while parsing
WARN LenientErrorHandler: Unknown element 'patient' found while parsing
WARN LenientErrorHandler: Unknown element 'encounter' found while parsing
WARN LenientErrorHandler: Unknown element 'recordedDate' found while parsing
WARN LenientErrorHandler: Unknown element 'recorder' found while parsing
WARN LenientErrorHandler: Unknown element 'asserter' found while parsing
WARN LenientErrorHandler: Unknown element 'reaction' found while parsing

并且在尝试 saveAsDatabase() 时失败了:

java.lang.IllegalArgumentException: Unsupported FHIR version: R4
    at com.cerner.bunsen.definitions.StructureDefinitions.create(StructureDefinitions.java:120)
    at com.cerner.bunsen.spark.SparkRowConverter.forResource(SparkRowConverter.java:75)
    at com.cerner.bunsen.spark.SparkRowConverter.forResource(SparkRowConverter.java:54)
    at com.cerner.bunsen.spark.Bundles.extractEntry(Bundles.java:211)
    at com.cerner.bunsen.spark.Bundles.saveAsDatabase(Bundles.java:290)

我目前运行以下依赖项:

    <dependencies>
        <dependency>
            <groupId>com.cerner.bunsen</groupId>
            <artifactId>bunsen-r4</artifactId>
            <version>0.4.5</version>
        </dependency>

        <dependency>
            <groupId>com.cerner.bunsen</groupId>
            <artifactId>bunsen-core</artifactId>
            <version>0.5.7</version>
        </dependency>
        <dependency>
            <groupId>com.cerner.bunsen</groupId>
            <artifactId>bunsen-spark</artifactId>
            <version>0.5.7</version>
        </dependency>

        <!--
        to resolve java.lang.IllegalAccessError:
        "tried to access method com.google.common.base.Stopwatch.<init>()V from class
        org.apache.hadoop.mapreduce.lib.input.FileInputFormat"
        -->
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-mapreduce-client-core</artifactId>
            <version>2.7.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-common</artifactId>
            <version>2.7.2</version>
        </dependency>

        <!-- Spark dependencies -->
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-sql_2.11</artifactId>
            <version>2.4.5</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-core_2.11</artifactId>
            <version>2.4.5</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-hive_2.11</artifactId>
            <version>2.4.5</version>
        </dependency>
    </dependencies>

非常感谢,

戴夫

目前不支持 R4 版本,因为在 0.5.X 版本中做了重大更改,它在我们的路线图中,但我们还没有 ETA。

如果您正在尝试探索示例数据,请使用同时支持 STU3 和 R4 的 0.4.6 版本进行测试。请注意不再维护旧版本。

谢谢, 阿玛瑞斯