Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
188 commits
Select commit Hold shift + click to select a range
9b0fb18
Adds testData
bwalsh Aug 23, 2022
49ce771
Updates doc
bwalsh Aug 23, 2022
c49cfa2
Updates metadata service
bwalsh Aug 23, 2022
deb7bd4
Creates test fixtures
bwalsh Aug 25, 2022
086f28c
Adds etl tools
bwalsh Aug 25, 2022
bf812ef
ignore dev resources
bwalsh Aug 25, 2022
a443005
Updates docs
bwalsh Aug 25, 2022
44818ae
project param no longer required
bwalsh Sep 4, 2022
b686f16
Adds tube_lite, a spark/tube replacement
bwalsh Sep 4, 2022
e9d39e6
Adds minio
bwalsh Sep 7, 2022
e9cfec1
Refactor array config
bwalsh Sep 7, 2022
87bed1c
Improve logging
bwalsh Sep 9, 2022
ea3f5cd
ignore credentials and DATA
bwalsh Sep 9, 2022
47c8dc1
ignore credentials and DATA
bwalsh Sep 9, 2022
11b3618
Adds minio
bwalsh Sep 9, 2022
31321c3
Adds synthetic data files
bwalsh Sep 12, 2022
1a15ab1
Adds minio webhook observer
bwalsh Sep 12, 2022
79e1857
Use metadata records as manifest
bwalsh Sep 12, 2022
ff2f8ce
misc.
bwalsh Sep 12, 2022
742f676
Use object_id
bwalsh Sep 12, 2022
d6c5de5
Adds upload, mino-webhook, and end to end automation
bwalsh Sep 12, 2022
73255ae
misc.
bwalsh Sep 12, 2022
b390f68
trace data oriented setup
bwalsh Sep 16, 2022
5edf0b8
example of discovery loading
bwalsh Sep 16, 2022
b380870
Adds DRS path
bwalsh Sep 16, 2022
07480d7
Adds discovery (metadata)
bwalsh Sep 16, 2022
ef53526
DRS object_id added to datanodes
bwalsh Sep 16, 2022
0be1103
adds minio webhook to setup
bwalsh Sep 16, 2022
c1373a4
Adds stub drs_download
bwalsh Sep 16, 2022
4059021
Improve comment
bwalsh Sep 16, 2022
4393bee
Improves doc
bwalsh Sep 16, 2022
3ab6035
Customizes fence
bwalsh Sep 18, 2022
73fefa5
Adds debugging info to startup
bwalsh Sep 18, 2022
45ab6e3
Customizes fence
bwalsh Sep 18, 2022
e587f78
Customizes fence
bwalsh Sep 18, 2022
0afb945
Adds discovery
bwalsh Sep 18, 2022
60f9971
Adds discovery
bwalsh Sep 18, 2022
dcb3860
Documents fence customization and discovery
bwalsh Sep 18, 2022
d4f5d72
Adds 'Content-MD5'
bwalsh Sep 19, 2022
18eefe5
Latest upload
bwalsh Sep 19, 2022
b958ad0
Update labels to diff code blocks for enhanced highlighting.
lbeckman314 Sep 20, 2022
cdf208d
Update commands and code block labels.
lbeckman314 Sep 27, 2022
6b33ffc
Add metadata load command in data upload section.
lbeckman314 Sep 27, 2022
6d589b0
Small update with microservices.
lbeckman314 Sep 30, 2022
b274db5
Update Aced.md documentation with added TOC and sections.
lbeckman314 Oct 3, 2022
805aaa0
Merge pull request #2 from ACED-IDP/ACED-documentation
bwalsh Oct 3, 2022
627e338
Update Minio root console credentials and documentation.
lbeckman314 Oct 3, 2022
9368775
Adds comments
bwalsh Oct 3, 2022
5070b49
Adds faker
bwalsh Oct 3, 2022
7b15776
Adds async downloader
bwalsh Oct 3, 2022
444e370
Add instructions for SSL certification through Let's Encrypt.
Oct 4, 2022
0fa3777
Adds data dictionary instructions
bwalsh Oct 5, 2022
4197083
TEMPORARY: comment out guppy
bwalsh Oct 5, 2022
bb8197d
Implement FHIR based data model
bwalsh Oct 5, 2022
9472acf
Example of portal change
bwalsh Oct 5, 2022
1cf06c8
Merge pull request #8 from ACED-IDP/data-dictionary
bwalsh Oct 5, 2022
c3b6e28
Merge pull request #7 from ACED-IDP/lets-encrypt-docs
bwalsh Oct 5, 2022
60566c3
Add .env-example file for Minio admin credentials.
Oct 5, 2022
e8e94f3
new fence: ALLOWED_DATA_UPLOAD_BUCKETS
bwalsh Oct 7, 2022
da3182f
Add rules to nginx.conf to redirect all http requests to https.
lbeckman314 Oct 7, 2022
7f90326
Coherent data set
bwalsh Oct 10, 2022
f6b9069
Development util: expose postgres to host os
bwalsh Oct 10, 2022
eef4b50
Merge pull request #6 from ACED-IDP/downloader
bwalsh Oct 10, 2022
a7aa0ac
Enables upload from coherent data set & pfb
bwalsh Oct 10, 2022
4673be5
added the setup-minio.sh documentation to the Aced.md file
Oct 10, 2022
866fea2
Merge pull request #10 from ACED-IDP/https-redirect
bwalsh Oct 10, 2022
cdd3c61
Merge pull request #5 from ACED-IDP/minio-admin-credentials
bwalsh Oct 10, 2022
1501ca2
Add fence git clone example
lbeckman314 Oct 10, 2022
f0c143a
Merge branch 'ohsu-training' of github.com:ACED-IDP/compose-services-…
lbeckman314 Oct 10, 2022
28830f3
Rollback changed in error
bwalsh Oct 10, 2022
1f0389c
Adds doc for cohesive data set
bwalsh Oct 10, 2022
81e9c35
Quick way to delete all imported data
bwalsh Oct 10, 2022
5c72d07
link object_id from indexd to DocumentReference
bwalsh Oct 10, 2022
6d3fb15
Backout errant change
bwalsh Oct 11, 2022
750ee14
Backout errant change
bwalsh Oct 11, 2022
7a04d57
Fixes pelican dependency; Adds commentary on testing
bwalsh Oct 12, 2022
56440e5
Uses aced-test
bwalsh Oct 20, 2022
6854fd4
lower case tables
bwalsh Oct 20, 2022
b4f31ba
WIP
bwalsh Oct 20, 2022
1959b4e
Uses lower case names
bwalsh Oct 20, 2022
0280c04
new data model
bwalsh Oct 20, 2022
0a22769
new data model
bwalsh Oct 20, 2022
b9b1624
Enables guppy
bwalsh Oct 20, 2022
9d9ee92
Merge pull request #9 from ACED-IDP/feature/new-fence
bwalsh Oct 20, 2022
cafbad9
Merge pull request #11 from ACED-IDP/feat/data_model_change
bwalsh Oct 20, 2022
98650d3
New schema
bwalsh Oct 20, 2022
9d6aeff
Merge pull request #14 from ACED-IDP/feat/data_model_change
bwalsh Oct 20, 2022
5e32862
Improves ES stability by increasing memory
bwalsh Oct 21, 2022
8d8d0b9
Merge pull request #15 from ACED-IDP/bug/elasticsearch-memory
bwalsh Oct 26, 2022
cd8ab42
Adds server_names_hash_bucket_size
bwalsh Oct 27, 2022
550e7f2
New portal release
bwalsh Oct 27, 2022
d73deba
Adds staging to hostnames
bwalsh Oct 27, 2022
66ec6eb
Adds shortcuts documentation
bwalsh Oct 27, 2022
10fa6e5
Removes pfb_path
bwalsh Oct 27, 2022
5a62ab9
Improves performance
bwalsh Oct 27, 2022
2e59ff9
Adds aced-public
bwalsh Oct 27, 2022
c94e10f
Adds batch size
bwalsh Oct 27, 2022
bb98c54
Fix password
bwalsh Oct 27, 2022
a1d105a
Merge branch 'feature/staging' into ohsu-training
bwalsh Oct 27, 2022
fe17480
Use docker-space-compose
bwalsh Oct 27, 2022
9b6246c
Adds logging limit and restart
bwalsh Oct 27, 2022
adeedd7
python 3.9 not 3.10
bwalsh Oct 27, 2022
3e20b33
Merge pull request #18 from ACED-IDP/feature/staging-changes
bwalsh Oct 27, 2022
61326af
Adds indexd truncate
bwalsh Oct 31, 2022
51742a1
Adds misc notes
bwalsh Oct 31, 2022
1850893
Improves throughput
bwalsh Oct 31, 2022
e46ee4f
Adds fence image w/ bucket
bwalsh Nov 2, 2022
d4ff1d3
Re-adds minio conf
bwalsh Nov 2, 2022
ecb6237
Adds start
bwalsh Nov 2, 2022
7308d5b
Adds project_id to observation index
bwalsh Nov 2, 2022
d8604fc
New exploration page
bwalsh Nov 2, 2022
0581c28
Logo
bwalsh Nov 2, 2022
0770059
staging minio
bwalsh Nov 3, 2022
6ac4343
Adds better discovery (WIP)
bwalsh Nov 3, 2022
5c37e23
Populates discovery
bwalsh Nov 5, 2022
5a91646
Merge branch 'feature/staging' of github.com:ACED-IDP/compose-service…
bwalsh Nov 5, 2022
e7bb3ca
Update user.yaml
bwalsh Nov 22, 2022
78615a8
Merge pull request #23 from ACED-IDP/bwalsh-users
matthewpeterkort Nov 22, 2022
fda3cd9
Adds an ES for mac silicon
bwalsh Nov 23, 2022
ed5cc14
Create New_Setup.md
matthewpeterkort Nov 24, 2022
e97e55c
Merge pull request #25 from ACED-IDP/feature/elasticsearch-mac
bwalsh Nov 24, 2022
7bf894f
Rename docker-compose to 'docker compose'
bwalsh Nov 23, 2022
a8a3d1d
Adds FHIR Service
bwalsh Dec 6, 2022
049c03f
Adds FHIR
bwalsh Dec 6, 2022
045d97b
Adds host setup commands
bwalsh Dec 27, 2022
0965d52
Pins hapi release
bwalsh Dec 27, 2022
1667153
python3.9
bwalsh Dec 27, 2022
58273d9
Adds create_program
bwalsh Dec 27, 2022
84e32b9
Added new quay images to docker-compose.yml. No obvious breaks
matthewpeterkort Jan 5, 2023
10ff026
Added an AMD img for indexd
matthewpeterkort Jan 5, 2023
22ec56e
Adds comments
bwalsh Oct 3, 2022
811393b
Adds faker
bwalsh Oct 3, 2022
dbfb417
Adds async downloader
bwalsh Oct 3, 2022
bcc77e4
Adds data dictionary instructions
bwalsh Oct 5, 2022
54f1be3
TEMPORARY: comment out guppy
bwalsh Oct 5, 2022
f7ca3c3
Implement FHIR based data model
bwalsh Oct 5, 2022
5a61146
Example of portal change
bwalsh Oct 5, 2022
cae2fd0
Coherent data set
bwalsh Oct 10, 2022
8d04a2a
Development util: expose postgres to host os
bwalsh Oct 10, 2022
f781b8a
Enables upload from coherent data set & pfb
bwalsh Oct 10, 2022
913f76f
Rollback changed in error
bwalsh Oct 10, 2022
974b87c
Adds doc for cohesive data set
bwalsh Oct 10, 2022
9d8a564
Quick way to delete all imported data
bwalsh Oct 10, 2022
1c6f5e8
link object_id from indexd to DocumentReference
bwalsh Oct 10, 2022
3e0973e
Backout errant change
bwalsh Oct 11, 2022
d996222
Backout errant change
bwalsh Oct 11, 2022
b658664
Fixes pelican dependency; Adds commentary on testing
bwalsh Oct 12, 2022
3641bd8
Uses aced-test
bwalsh Oct 20, 2022
0f2c170
lower case tables
bwalsh Oct 20, 2022
01b4299
WIP
bwalsh Oct 20, 2022
889d889
Uses lower case names
bwalsh Oct 20, 2022
565cd00
new data model
bwalsh Oct 20, 2022
b309328
new data model
bwalsh Oct 20, 2022
85a810e
Enables guppy
bwalsh Oct 20, 2022
d869f02
New schema
bwalsh Oct 20, 2022
fb71044
Improves ES stability by increasing memory
bwalsh Oct 21, 2022
66e64d0
Adds shortcuts documentation
bwalsh Oct 27, 2022
ff81944
Removes pfb_path
bwalsh Oct 27, 2022
0e8c989
Improves performance
bwalsh Oct 27, 2022
53fa7b3
Adds aced-public
bwalsh Oct 27, 2022
804ae68
Adds batch size
bwalsh Oct 27, 2022
6658d99
Adds indexd truncate
bwalsh Oct 31, 2022
7949ecc
Adds misc notes
bwalsh Oct 31, 2022
65cdebc
Improves throughput
bwalsh Oct 31, 2022
f233851
Adds fence image w/ bucket
bwalsh Nov 2, 2022
5ae0119
Re-adds minio conf
bwalsh Nov 2, 2022
8c445a4
Adds start
bwalsh Nov 2, 2022
427d8b1
Adds project_id to observation index
bwalsh Nov 2, 2022
786e3e3
New exploration page
bwalsh Nov 2, 2022
7f374ea
Logo
bwalsh Nov 2, 2022
a662046
Populates discovery
bwalsh Nov 5, 2022
c0f76a9
staging minio
bwalsh Nov 3, 2022
9665efb
Adds better discovery (WIP)
bwalsh Nov 3, 2022
0aefebd
rebase
bwalsh Jan 6, 2023
eda9ab1
Adds dash service
bwalsh Jan 6, 2023
6fd3bfa
Fixes volume mount permissions error
bwalsh Jan 6, 2023
23622da
Add setup steps for new data model
lbeckman314 Jan 9, 2023
82f482c
Add certbot container for SSL certificate creation and renewal
lbeckman314 Jan 18, 2023
3fdc3b5
Merge pull request #30 from ACED-IDP/feature/new_images
matthewpeterkort Jan 30, 2023
2ac7de2
Add updated staging SSL certifications
lbeckman314 Jan 30, 2023
1fb0f78
Merge pull request #36 from ACED-IDP/feature/certbot
lbeckman314 Jan 30, 2023
4663c39
Merge pull request #33 from ACED-IDP/bugfix/elasticsearch-mac
bwalsh Jan 30, 2023
a5b3be3
Adds setup-minio
bwalsh Jan 30, 2023
e4862fe
removes setting gen3_logger's level
bwalsh Jan 30, 2023
a4a1d6e
Merge branch 'feature/staging' of github.com:ACED-IDP/compose-service…
bwalsh Jan 30, 2023
8931440
Update docs
bwalsh Feb 1, 2023
b1096bd
Merge branch 'ohsu-training' into feature/staging
bwalsh Feb 1, 2023
cd9a5db
Merge pull request #21 from ACED-IDP/feature/staging
bwalsh Feb 1, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 11 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
Secrets/
*.lock*
*.env
*.bak
Expand All @@ -10,4 +9,14 @@ Secrets/
*.pytest_cache
*.cache
*pyc
docker-compose.override.yml
#docker-compose.override.yml
# for local dev
credential*.json
venv/
.idea/

/fence/

/output/


11 changes: 11 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,17 @@

ACED - Training
===
> This repo was established as a sandbox to introduce Gen3 in a local, docker-compose laptop friendly environment.

Follow the instructions below to introduce Gen3. Then, see ACED specific steps [here](docs/aced.md)



Compose-Services
===



Docker-compose setup for experimental commons, small commons, or local development of the Gen3 stack. Production use should use [cloud-automation](https://github.com/uc-cdis/cloud-automation).

This setup uses Docker containers for the [Gen3 microservices](https://github.com/uc-cdis/) and nginx. The microservices and nginx images are pulled from quay.io (master), while Postgres (9.5) images are pulled from Docker Hub. Nginx is used as a reverse proxy to each of the services.
Expand Down
12 changes: 12 additions & 0 deletions datadictionary/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@


ACED - Training
===
> This repo was established as a sandbox to introduce Gen3 in a local, docker-compose laptop friendly environment.

```commandline
cp ../data_model/DATA/gen3/*.yaml datadictionary/gdcdictionary/schemas/


```

# Data Dictionary

The data dictionary provides the first level of validation for all data
Expand Down
1 change: 1 addition & 0 deletions datadictionary/aced.json

Large diffs are not rendered by default.

24 changes: 0 additions & 24 deletions datadictionary/gdcdictionary/schemas/README.md

This file was deleted.

140 changes: 140 additions & 0 deletions datadictionary/gdcdictionary/schemas/_core_metadata_collection.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,140 @@
$schema: "http://json-schema.org/draft-04/schema#"

#
# included because of windmill portal.
# portal wont build unless this entity exists
#

id: "core_metadata_collection"
title: Core Metadata Collection
type: object
nodeTerms: null
namespace: https://data.midrc.org
category: administrative
program: '*'
project: '*'
description: A collection of data files in a project. DEPRECATED - included for portal compatibility
additionalProperties: false
submittable: true
validators: null

systemProperties:
- id
- project_id
- state
- created_datetime
- updated_datetime

links:
- name: projects
backref: core_metadata_collections
label: data_from
target_type: project
multiplicity: many_to_one
required: true

required:
- submitter_id
- type
- projects

uniqueKeys:
- [id]
- [project_id, submitter_id]

properties:

$ref: "_definitions.yaml#/ubiquitous_properties"

contributor:
description: An entity responsible for making contributions to the resource. Examples
of a Contributor include a person, an organization, or a service. Typically,
the name of a Contributor should be used to indicate the entity.
type: string

coverage:
description: The spatial or temporal topic of the resource, the spatial applicability
of the resource, or the jurisdiction under which the resource is relevant. Spatial
topic and spatial applicability may be a named place or a location specified
by its geographic coordinates. Temporal topic may be a named period, date, or
date range. A jurisdiction may be a named administrative entity or a geographic
place to which the resource applies. Recommended best practice is to use a controlled
vocabulary such as the Thesaurus of Geographic Names [TGN] (http-//www.getty.edu/research/tools/vocabulary/tgn/index.html).
Where appropriate, named places or time periods can be used in preference to
numeric identifiers such as sets of coordinates or date ranges.
type: string

creator:
description: An entity primarily responsible for making the resource. Examples
of a Creator include a person, an organization, or a service. Typically, the
name of a Creator should be used to indicate the entity.
type: string

data_type:
description: The nature or genre of the resource. Recommended best practice is
to use a controlled vocabulary such as the DCMI Type Vocabulary [DCMITYPE].
To describe the file format, physical medium, or dimensions of the resource,
use the Format element.
type: string

date:
description: The date the collection of data was created.
type: string

description:
description: An account of the resource. Description may include but is not limited
to- an abstract, a table of contents, a graphical representation, or a free-text
account of the resource.
type: string

format:
description: The file format, physical medium, or dimensions of the resource.
Examples of dimensions include size and duration. Recommended best practice
is to use a controlled vocabulary such as the list of Internet Media Types [MIME]
(http-//www.iana.org/assignments/media-types/).
type: string

language:
description: A language of the resource. Recommended best practice is to use a
controlled vocabulary such as RFC 4646 (http-//www.ietf.org/rfc/rfc4646.txt).
type: string

publisher:
description: An entity responsible for making the resource available. Examples
of a Publisher include a person, an organization, or a service. Typically, the
name of a Publisher should be used to indicate the entity.
type: string

relation:
description: A related resource. Recommended best practice is to identify the
related resource by means of a string conforming to a formal identification
system.
type: string

rights:
description: Information about rights held in and over the resource. Typically,
rights information includes a statement about various property rights associated
with the resource, including intellectual property rights.
type: string

source:
description: A related resource from which the described resource is derived.
The described resource may be derived from the related resource in whole or
in part. Recommended best practice is to identify the related resource by means
of a string conforming to a formal identification system.
type: string

subject:
description: The topic of the resource. Typically, the subject will be represented
using keywords, key phrases, or classification codes. Recommended best practice
is to use a controlled vocabulary.
type: string

title:
description: A name given to the resource. Typically, a Title will be a name by
which the resource is formally known.
type: string

projects:
description: The project code for the record in the project node that this core_metadata_collection belongs to, i.e., a link to the parent node.
$ref: "_definitions.yaml#/to_one_project"
82 changes: 34 additions & 48 deletions datadictionary/gdcdictionary/schemas/_definitions.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ foreign_key_project:
# Allow true here because we can have other unique keys defined on
# a target type
additionalProperties: true
# Can either use 'id' which are Gen3 IDs (UUID) or 'code'
# which is the user defined ID for project
#Can either use 'id' which are Gen3 IDs (UUID) or 'code'
#which is the user defined ID for project
properties:
id:
$ref: "#/UUID"
Expand Down Expand Up @@ -48,8 +48,8 @@ foreign_key:
# Allow true here because we can have other unique keys defined on
# a target type
additionalProperties: True
# Can either use 'id' which are GDC IDs (UUID) or 'submitter_id'
# which are user defined IDs ("submitter IDs in the backend")
#Can either use 'id' which are GDC IDs (UUID) or 'submitter_id'
#which are user defined IDs ("submitter IDs in the backend")
properties:
id:
$ref: "#/UUID"
Expand Down Expand Up @@ -88,19 +88,24 @@ file_name:

file_size:
type: integer
term:
term:
$ref: "_terms.yaml#/file_size"

file_format:
type: string
term:
$ref: "_terms.yaml#/file_format"

ga4gh_drs_uri:
type: string
term:
$ref: "_terms.yaml#/ga4gh_drs_uri"

md5sum:
type: string
pattern: "^[a-f0-9]{32}$"
term:
$ref: "_terms.yaml#/md5sum"
pattern: "^[a-f0-9]{32}$"

object_id:
type: string
Expand Down Expand Up @@ -135,7 +140,7 @@ data_file_error_type:

state:
term:
$ref: "_terms.yaml#/state"
$ref: "_terms.yaml#/state"
default: validated
downloadable:
- uploaded
Expand Down Expand Up @@ -166,7 +171,7 @@ state:

file_state:
term:
$ref: "_terms.yaml#/file_state"
$ref: "_terms.yaml#/file_state"
default: registered
enum:
- registered
Expand Down Expand Up @@ -194,49 +199,26 @@ project_id:
$ref: "_terms.yaml#/project_id"

data_file_properties:
id:
$ref: "#/UUID"
systemAlias: node_id
submitter_id:
type:
- string
- "null"
description: "The file ID assigned by the submitter." # TOREVIEW
$ref: "#/ubiquitous_properties"
file_name:
$ref: "#/file_name"
file_size:
$ref: "#/file_size"
file_format:
$ref: "#/file_format"
md5sum:
$ref: "#/md5sum"
file_state:
$ref: "#/file_state"
$ref: "#/md5sum"
object_id:
$ref: "#/object_id"
state:
$ref: "#/state"
file_state:
$ref: "#/file_state"
error_type:
$ref: "#/data_file_error_type"
state_comment:
type: string
description: >
Optional comment about why the file is in the
current state, mainly for invalid state.
project_id:
$ref: "#/project_id"
created_datetime:
$ref: "#/datetime"
updated_datetime:
$ref: "#/datetime"
ga4gh_drs_uri:
$ref: "#/ga4gh_drs_uri"

workflow_properties:
id:
$ref: "#/UUID"
systemAlias: node_id
submitter_id:
type:
- string
- "null"
description: "The file ID assigned by the submitter." # TOREVIEW
$ref: "#/ubiquitous_properties"
workflow_link:
description: "Link to Github hash for the CWL workflow used."
type: string
Expand All @@ -247,14 +229,6 @@ workflow_properties:
$ref: "#/datetime"
workflow_end_datetime:
$ref: "#/datetime"
state:
$ref: "#/state"
project_id:
$ref: "#/project_id"
created_datetime:
$ref: "#/datetime"
updated_datetime:
$ref: "#/datetime"

ubiquitous_properties:
type:
Expand All @@ -276,3 +250,15 @@ ubiquitous_properties:
$ref: "#/datetime"
updated_datetime:
$ref: "#/datetime"


fhir_resource:
type: object
# Allow true here because we can have other unique keys defined on
# a target type
additionalProperties: true
properties:
id:
$ref: "#/UUID"
resource_type:
type: string
Loading