diff --git a/.github/workflows/pages.yaml b/.github/workflows/pages.yaml
index 6cdfc17..60d1fad 100644
--- a/.github/workflows/pages.yaml
+++ b/.github/workflows/pages.yaml
@@ -28,9 +28,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Setup Pages
- uses: actions/configure-pages@v3
+ uses: actions/configure-pages@v5
- name: Pull external sources
run: ./prep.sh
- name: Build with Jekyll
@@ -39,7 +39,7 @@ jobs:
source: ./docs
destination: ./_site
- name: Upload artifact
- uses: actions/upload-pages-artifact@v1
+ uses: actions/upload-pages-artifact@v3
# Deployment job
deploy:
@@ -51,4 +51,4 @@ jobs:
steps:
- name: Deploy to GitHub Pages
id: deployment
- uses: actions/deploy-pages@v2
+ uses: actions/deploy-pages@v4
diff --git a/.gitignore b/.gitignore
index 3da27c3..4984572 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,5 +5,7 @@
.jekyll-metadata
vendor
+/docs/aggregator/
+/docs/chart-review/
/docs/etl/
/docs/library/
diff --git a/docs/resources.md b/docs/resources.md
new file mode 100644
index 0000000..4f69631
--- /dev/null
+++ b/docs/resources.md
@@ -0,0 +1,65 @@
+---
+title: Supported Resources
+_parent: Overview
+nav_order: 2
+# audience: non-programmers vaguely familiar with Cumulus
+# type: explanation
+---
+
+# Supported FHIR Resources
+
+## What's a Resource?
+
+The [FHIR specification](https://www.hl7.org/fhir/R4/) describes many kinds of _resources_,
+which are individual logical bundles of data.
+For example: [Patients](https://www.hl7.org/fhir/R4/patient.html),
+[Encounters](https://www.hl7.org/fhir/R4/encounter.html),
+or [Devices](https://www.hl7.org/fhir/R4/device.html).
+
+Resources are the atomic units of data that flow through the Cumulus pipeline.
+
+You can bulk export them from your EHR.
+You can feed them through Cumulus ETL.
+And you can query them with Cumulus Library.
+
+## Levels of Support
+
+Only a subset of the FHIR resources are supported by Cumulus.
+And not every resource enjoys the same level of support.
+
+For a resource to enter the Cumulus pipeline, Cumulus ETL must support it.
+Any resource that the ETL supports can be directly queried in Athena.
+
+But for more convenient querying,
+the Cumulus Library's `core` study has additional support for some resources.
+For example, the `core` study abstracts the complexities of querying medication
+codes for you, because it has special knowledge of MedicationRequests and
+Medications.
+
+If a resource isn't supported by the `core` study, it can still be queried!
+It just may not be as convenient,
+as you'll have to handle directly querying FHIR nested layouts yourself.
+
+Over time, more resources will be added to the `core` study.
+
+## Support List
+
+| Resource | ETL | `core` |
+|--------------------|---------------|--------|
+| AllergyIntolerance | ✅ | ❌ |
+| Condition | ✅ | ✅ |
+| Device | ✅ | ❌ |
+| DiagnosticReport | ✅ | ❌ |
+| DocumentReference | ✅ | ✅ |
+| Encounter | ✅ | ✅ |
+| Immunization | ✅ | ❌ |
+| Medication | ✅1 | ✅ |
+| MedicationRequest | ✅ | ✅ |
+| Observation | ✅ | ✅ |
+| Patient | ✅ | ✅ |
+| Procedure | ✅ | ❌ |
+| ServiceRequest | ✅ | ❌ |
+
+1. Medications are not usually bulk-exportable.
+Instead, as the ETL processes MedicationRequest resources,
+it downloads any linked Medication resources as well.
diff --git a/prep.sh b/prep.sh
index 507fa4b..27f435b 100755
--- a/prep.sh
+++ b/prep.sh
@@ -45,6 +45,13 @@ copy_docs()
set_nav_order $TARGET_PATH/index.md $ORDER
}
+rewind_submodule_to_last_tag()
+{
+ REPO=sources/$1
+ LATEST_TAG=$(git -C $REPO describe --abbrev=0 --tags)
+ git -C $REPO checkout "$LATEST_TAG"
+}
+
while getopts ":d" option; do
case $option in
d) # dev (local) mode, assumes that we are siblings of other source packages
@@ -55,6 +62,13 @@ done
git submodule update --init --remote
+# Some projects do proper releases, and for those we should only
+# reference the latest tagged release. Other projects (like the
+# ETL or aggregator) don't do normal releases and so can just
+# pull from main.
+rewind_submodule_to_last_tag cumulus-library
+rewind_submodule_to_last_tag chart-review
+
# Only use nav_order 10-20 for submodules
copy_docs cumulus-etl etl 10
copy_docs cumulus-library library 11
diff --git a/sources/chart-review b/sources/chart-review
index a332de8..db64204 160000
--- a/sources/chart-review
+++ b/sources/chart-review
@@ -1 +1 @@
-Subproject commit a332de87c98298853fa041be1bdb7ef24d350081
+Subproject commit db64204d9a29f8ca62cd3e221313d3f170805853
diff --git a/sources/cumulus-aggregator b/sources/cumulus-aggregator
index 2dea9d6..eb2fff4 160000
--- a/sources/cumulus-aggregator
+++ b/sources/cumulus-aggregator
@@ -1 +1 @@
-Subproject commit 2dea9d62104e919c39b15e046ec74a85ab054eae
+Subproject commit eb2fff4589932fa876391b88fd36c75bc625d750
diff --git a/sources/cumulus-etl b/sources/cumulus-etl
index 0d0db81..93c33ad 160000
--- a/sources/cumulus-etl
+++ b/sources/cumulus-etl
@@ -1 +1 @@
-Subproject commit 0d0db8150beea876fe7cd3d0383eb72a69d52816
+Subproject commit 93c33ad24a021740672aecd8db723b50b427be5f
diff --git a/sources/cumulus-library b/sources/cumulus-library
index e637633..5caa1d2 160000
--- a/sources/cumulus-library
+++ b/sources/cumulus-library
@@ -1 +1 @@
-Subproject commit e637633b6af1850514fc06eb4d41a31654db9c1f
+Subproject commit 5caa1d28d14e8d578165b71413660dfabe12983f