Skip to content

Commit dd424c9

Browse files
committed
Add Java and Scala examples to FHIRPath query documentation
1 parent 42c3256 commit dd424c9

File tree

1 file changed

+108
-0
lines changed

1 file changed

+108
-0
lines changed

site/docs/libraries/fhirpath-query.md

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -318,6 +318,114 @@ result = data.view(
318318
display(result)
319319
```
320320

321+
</TabItem>
322+
<TabItem value="java" label="Java">
323+
324+
```java
325+
import au.csiro.pathling.library.PathlingContext;
326+
import org.apache.spark.sql.Dataset;
327+
import org.apache.spark.sql.Row;
328+
import org.hl7.fhir.r4.model.Enumerations.ResourceType;
329+
import au.csiro.pathling.library.io.source.NdjsonSource;
330+
331+
class MyApp {
332+
333+
public static void main(String[] args) {
334+
PathlingContext pc = PathlingContext.create();
335+
NdjsonSource data = pc.read.ndjson("s3://somebucket/synthea/ndjson");
336+
337+
Dataset<Row> result = data.view(ResourceType.PATIENT)
338+
.json("{\n" +
339+
" \"resource\": \"Patient\",\n" +
340+
" \"select\": [\n" +
341+
" {\n" +
342+
" \"column\": [\n" +
343+
" {\n" +
344+
" \"path\": \"getResourceKey()\",\n" +
345+
" \"name\": \"patient_id\"\n" +
346+
" }\n" +
347+
" ]\n" +
348+
" },\n" +
349+
" {\n" +
350+
" \"forEach\": \"address\",\n" +
351+
" \"column\": [\n" +
352+
" {\n" +
353+
" \"path\": \"line.join('\\\\n')\",\n" +
354+
" \"name\": \"street\"\n" +
355+
" },\n" +
356+
" {\n" +
357+
" \"path\": \"use\",\n" +
358+
" \"name\": \"use\"\n" +
359+
" },\n" +
360+
" {\n" +
361+
" \"path\": \"city\",\n" +
362+
" \"name\": \"city\"\n" +
363+
" },\n" +
364+
" {\n" +
365+
" \"path\": \"postalCode\",\n" +
366+
" \"name\": \"zip\"\n" +
367+
" }\n" +
368+
" ]\n" +
369+
" }\n" +
370+
" ]\n" +
371+
"}")
372+
.execute();
373+
374+
result.show();
375+
}
376+
}
377+
```
378+
379+
</TabItem>
380+
<TabItem value="scala" label="Scala">
381+
382+
```scala
383+
import au.csiro.pathling.library.PathlingContext
384+
import org.hl7.fhir.r4.model.Enumerations.ResourceType
385+
386+
val pc = PathlingContext.create()
387+
val data = pc.read.ndjson("s3://somebucket/synthea/ndjson")
388+
389+
val result = data.view(ResourceType.PATIENT)
390+
.json("""{
391+
"resource": "Patient",
392+
"select": [
393+
{
394+
"column": [
395+
{
396+
"path": "getResourceKey()",
397+
"name": "patient_id"
398+
}
399+
]
400+
},
401+
{
402+
"forEach": "address",
403+
"column": [
404+
{
405+
"path": "line.join('\\n')",
406+
"name": "street"
407+
},
408+
{
409+
"path": "use",
410+
"name": "use"
411+
},
412+
{
413+
"path": "city",
414+
"name": "city"
415+
},
416+
{
417+
"path": "postalCode",
418+
"name": "zip"
419+
}
420+
]
421+
}
422+
]
423+
}""")
424+
.execute()
425+
426+
display(result)
427+
```
428+
321429
</TabItem>
322430
</Tabs>
323431

0 commit comments

Comments
 (0)