-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsimplifier-package-api-openapi.yml
More file actions
233 lines (222 loc) · 7.95 KB
/
Copy pathsimplifier-package-api-openapi.yml
File metadata and controls
233 lines (222 loc) · 7.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
openapi: 3.0.0
info:
version: 1.0.1
title: Simplifier.net FHIR Package API
description: |
API to find and retrieve all publicly published FHIR packages.
* Serves all FHIR packages from Simplifier.net, HL7 International and other public feeds
* For humans there is the [FHIR Registry at registry.fhir.org](https://registry.fhir.org/) for searching the full package library.
Find the documentation for [other Simplifier.net APIs](https://docs.fire.ly/projects/Simplifier/api.html).
servers:
- url: 'https://packages.simplifier.net/'
- url: 'https://packages.fhir.org/'
- url: 'https://packages2.fhir.org/packages/'
- url: 'https://npm.fhir.org/packages/'
paths:
/catalog:
get:
summary: Search FHIR packages
description: |
Search for FHIR packages by name, canonical and other attributes.
* Can be used for populating intellisense dropdowns for package search.
* Does not intend to follow NPM in all aspects and adds extra FHIR specific searches, like canonicals and FHIR versions.
Known limitations:
* Packages from which all versions are marked as `unlisted` are not returned.
* The attribute names of the return value are documented here as camelCase, but are in fact currently PascalCase.
parameters:
- name: name
description: Search by (part of) a package name
in: query
schema:
type: string
examples:
hl7.fhir.us.core:
value: hl7.fhir.us.core
summary: Full package name
hl7.fhir:
value: hl7.fhir
summary: Partial package name
- name: version
description: Search for packages with a version containing this term
in: query
schema:
type: string
examples:
4.1.0:
value: 4.1.0
summary: Full semver package version
4.0:
value: 4.0
summary: Partial semver package version
- name: canonical
description: Search for packages or resource contained in it with this term in their canonical
in: query
schema:
type: string
examples:
full-canonical:
value: http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient
summary: Full canonical
partial-canonical:
value: http://hl7.org/fhir/
summary: Partial canonical
- name: pkgcanonical
description: Search for packages with this exact canonical
in: query
schema:
type: string
example: http://hl7.org/fhir/us/core
- name: fhirVersion
description: Limit search by FHIR version
in: query
schema:
type: string
enum:
- R2
- R3
- R4
- R4B
- R5
- name: prerelease
description: Whether to include or exclude prerelease package versions
in: query
schema:
type: boolean
default: false
responses:
'200':
description: A list of package objects
content:
application/json:
schema:
$ref: '#/components/schemas/PackageList'
'404':
description: No packages found for the package name
/{package-name}:
get:
summary: List package versions.
description: |
Endpoint to retrieve all versions for a package name.
* The payload is compliant with the NPM package version listing.
* The `dist-tags` element will provide tags on certain versions, like the label of which version is the `latest`.
* In calculating `latest` the highest stable semver version is used, not the most recently published version.
* If an author has indicated that the package should no longer be used, the element `unlisted` will be populated for a version.
parameters:
- name: package-name
in: path
description: Name of the package
required: true
schema:
type: string
example: hl7.fhir.us.core
responses:
'200':
description: A package object with all available versions
content:
application/json:
schema:
$ref: '#/components/schemas/PackageVersionsObject'
'404':
description: No packages found for the package name
/{package-name}/{package-version}:
get:
summary: Download package version
description: |
Download a specific package version.
parameters:
- name: package-name
in: path
description: Name of the package
required: true
schema:
type: string
example: hl7.fhir.us.core
- name: package-version
in: path
description: Version of the package
required: true
schema:
type: string
example: 3.1.1
responses:
'200':
description: A package object with all available versions
content:
application/tar+gzip:
schema:
type: string
format: binary
'404':
description: No packages found for the package name or version
components:
schemas:
PackageVersionsObject:
description: An object listing package metadata and all individual versions
properties:
_id:
description: Package Id
type: string
example: hl7.fhir.us.core
name:
description: Package name
type: string
example: hl7.fhir.us.core
dist-tags:
title: Distribution tags
description: Tags describing specific package versions
type: object
properties:
latest:
title: latest
description: A pointer to the latest package version
type: string
example: 1.0.0
versions:
title: Package versions
description: Dictionary object of package versions
type: object
additionalProperties:
$ref: '#/components/schemas/PackageVersion'
PackageList:
description: A list of Package objects
type: array
items:
$ref: '#/components/schemas/Package'
PackageVersion:
description: An object describing a specific version of a package
allOf:
- $ref: '#/components/schemas/Package'
- type: object
properties:
version:
type: string
description: Package version
example: 1.0.0
dist:
type: object
properties:
shasum:
type: string
example: 8dd6ac852c1d2cb4ac7312188d8d6ef7ccb65da6
tarball:
type: string
example: https://packages.simplifier.net/hl7.fhir.us.core/1.0.0
url:
type: string
description: Url for downloading this package
example: https://packages.simplifier.net/hl7.fhir.us.core/1.0.0
Package:
description: An object describing a package
properties:
name:
type: string
description: Package name
example: hl7.fhir.us.core
description:
type: string
description: Package description
example: "The US Core Implementation Guide is based on FHIR Version R4 and defines the minimum conformance requirements for accessing patient data. The Argonaut pilot implementations, ONC 2015 Edition Common Clinical Data Set (CCDS), and ONC U.S. Core Data for Interoperability (USCDI) v1 provided the requirements for this guide."
fhirVersion:
type: string
description: Package FHIR version
example: R4