PTS Registry API - Release Notes
All notable changes to the PTS Registry API will be documented in this file.
Subscribe to notifications on #ext-utv-pts on Slack to be notified when we announce new releases.
You'll also notice we often use icons to visualize our changes and their effect, but we've limited ourselves to the following;
- 🌱 New Feature
- 🍃 Improvement
- 🔧 Bug Fix
- 💥 Breaking Change
- 🔒 Security
Only changes that reach a public surface are listed.
v1.0.1
A target now says which domain a resource belongs to and what kind of thing it is, so that two resources sharing an identifier are no longer one target.
REST API
POST /api/v1/restrictions- 💥 A target is
domainplusresource, whereresourcecarriestype,systemandvalue, replacing a singlesystemandvalue - 💥
domainandresource.typeare required concepts, from theDomainand the newResourceTypecode systems - 💥 All three parts decide supersession, so the same identifier as a
ServiceRequestand as aDiagnosticReportare two targets - 💥
restriction.target.system_not_allowedis replaced byrestriction.target.whole_type_not_allowed
- 💥 A target is
POST /api/v1/restrictions/resolve- 💥 The target is a query: every part optional, at least one required, rejected with
restriction.resolve.target_required - 💥 The target moved off the response root and onto every entry, since one query can match several targets
- 🍃 A restriction covering a whole resource type in a domain now answers a question about one resource of that type
- 💥 The target is a query: every part optional, at least one required, rejected with
POST /api/v1/restrictions/revoke- 💥 The target takes the same shape as on create
POST /api/v1/restrictions/query,POST /api/v1/restrictions/compact,GET /api/v1/restrictions,GET /api/v1/restrictions/{restrictionId}- 💥 Every returned target carries
domainandresource
- 💥 Every returned target carries
v1.0.0
This is the first version for which we started tracking changes.
REST API
/api/v1/restrictions- 💥
principalis renamed tosubjecton every request and response - 💥 A restriction's
subjectis renamed toactor - 💥 Code system URNs lost their middle segment, so
...:restriction:target:Resourceis now...:restriction:Resource - 💥 The actor role code system is
urn:nhn:pts:registry:restriction:ActorRole, was...:restriction:subject:Role - 💥 Actor role values are PascalCase:
Self,Practitioner,Representative
- 💥
POST /api/v1/restrictions- 💥 A period whose start equals its end is rejected
- 💥 Target values are compared case-sensitively, so
QuAcK123andquack123are two targets