From bf1a6885387244561e757adc7461e98db8bd6cf4 Mon Sep 17 00:00:00 2001 From: Nick George Date: Tue, 11 Aug 2020 13:51:31 -0700 Subject: [PATCH] Adds id to generated terminology. Like with profiles, this reuses `name` rather than introducing a new unique identifier. PiperOrigin-RevId: 326094329 --- .../fhir/protogen/TerminologyGenerator.java | 2 ++ testdata/r4/profiles/test_terminologies.json | 21 ++++++++++++------- .../stu3/profiles/test_terminologies.json | 1 + 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/java/src/main/java/com/google/fhir/protogen/TerminologyGenerator.java b/java/src/main/java/com/google/fhir/protogen/TerminologyGenerator.java index 2b0e0a1ed..44bcdbbe5 100644 --- a/java/src/main/java/com/google/fhir/protogen/TerminologyGenerator.java +++ b/java/src/main/java/com/google/fhir/protogen/TerminologyGenerator.java @@ -70,6 +70,7 @@ Bundle generateTerminologies(Terminologies terminologies) { private CodeSystem buildCodeSystem(CodeSystemConfig config) { CodeSystem.Builder builder = CodeSystem.newBuilder(); builder.getNameBuilder().setValue(config.getName()); + builder.getIdBuilder().setValue(config.getName()); builder.getTitleBuilder().setValue(config.getName()); if (!config.getDescription().isEmpty()) { builder.getDescriptionBuilder().setValue(config.getDescription()); @@ -117,6 +118,7 @@ private ValueSet buildValueSet(ValueSetConfig config) { ValueSet.Builder builder = ValueSet.newBuilder(); builder.getNameBuilder().setValue(config.getName()); + builder.getIdBuilder().setValue(config.getName()); builder.getTitleBuilder().setValue(config.getName()); if (!config.getDescription().isEmpty()) { builder.getDescriptionBuilder().setValue(config.getDescription()); diff --git a/testdata/r4/profiles/test_terminologies.json b/testdata/r4/profiles/test_terminologies.json index 2f826ea87..6538edee6 100755 --- a/testdata/r4/profiles/test_terminologies.json +++ b/testdata/r4/profiles/test_terminologies.json @@ -5,11 +5,12 @@ { "resource": { "resourceType": "CodeSystem", + "id": "Brewery", "url": "http://test/url/base/Brewery", "name": "Brewery", "title": "Brewery", "status": "draft", - "date": "2020-07-29", + "date": "2020-08-04", "publisher": "Testington Inc.", "description": "The brewery of origin.", "content": "complete", @@ -36,11 +37,12 @@ { "resource": { "resourceType": "CodeSystem", + "id": "FootballTeams", "url": "http://test/url/base/FootballTeams", "name": "FootballTeams", "title": "FootballTeams", "status": "draft", - "date": "2020-07-29", + "date": "2020-08-04", "publisher": "Testington Inc.", "description": "NFL Football Teams", "content": "complete", @@ -57,11 +59,12 @@ { "resource": { "resourceType": "ValueSet", + "id": "Brewery", "url": "http://test/url/base/ValueSet/Brewery", "name": "Brewery", "title": "Brewery", "status": "draft", - "date": "2020-07-29", + "date": "2020-08-04", "publisher": "Testington Inc.", "description": "ValueSet for Brewery Code System.", "compose": { @@ -76,11 +79,12 @@ { "resource": { "resourceType": "ValueSet", + "id": "CaliforniaBreweries", "url": "http://test/url/base/ValueSet/CaliforniaBreweries", "name": "CaliforniaBreweries", "title": "CaliforniaBreweries", "status": "draft", - "date": "2020-07-29", + "date": "2020-08-04", "publisher": "Testington Inc.", "description": "ValueSet for California breweries.", "compose": { @@ -103,11 +107,12 @@ { "resource": { "resourceType": "ValueSet", + "id": "AmericanBreweries", "url": "http://test/url/base/ValueSet/AmericanBreweries", "name": "AmericanBreweries", "title": "AmericanBreweries", "status": "draft", - "date": "2020-07-29", + "date": "2020-08-04", "publisher": "Testington Inc.", "description": "ValueSet for Brewery Code System.", "compose": { @@ -132,11 +137,12 @@ { "resource": { "resourceType": "ValueSet", + "id": "Californians", "url": "http://test/url/base/ValueSet/Californians", "name": "Californians", "title": "Californians", "status": "draft", - "date": "2020-07-29", + "date": "2020-08-04", "publisher": "Testington Inc.", "description": "California businesses", "compose": { @@ -167,11 +173,12 @@ { "resource": { "resourceType": "ValueSet", + "id": "SomeSnomedCodes", "url": "http://test/url/base/ValueSet/SomeSnomedCodes", "name": "SomeSnomedCodes", "title": "SomeSnomedCodes", "status": "draft", - "date": "2020-07-29", + "date": "2020-08-04", "publisher": "Testington Inc.", "description": "ValueSet with codes from a CodeSystem that has a defining resource but no defined codes", "compose": { diff --git a/testdata/stu3/profiles/test_terminologies.json b/testdata/stu3/profiles/test_terminologies.json index fb775cfc3..69d1e708c 100755 --- a/testdata/stu3/profiles/test_terminologies.json +++ b/testdata/stu3/profiles/test_terminologies.json @@ -5,6 +5,7 @@ { "resource": { "resourceType": "CodeSystem", + "id": "Brewery", "url": "http://test/url/base/Brewery", "name": "Brewery", "title": "Brewery",