Comments (4)
Hi @Lotili,
Thanks for getting in touch. I must warn you that although Snowstorm has been tested for hosting published SNOMED CT Extensions it has not yet been tested for creating and maintaining Extensions.
Identifiers
The immediate problem will be generating identifiers for your components. We use an external service for this called CIS which is capable of generating unique SCTID identifiers with the correct extension namespace and segment. The identifiers CIS generates are sequential which is not strictly required but preferred by some. This is the only current implementation of the IdentifierSource class within Snowstorm but you could always create your own depending on your requirements.
Code Systems
For authoring an extension I would recommend using the Code Systems within Snowstorm.
Start by importing an International Edition release snapshot (see loading SNOMED CT).
This will create the international code system SNOMEDCT listed under GET /codesystems
Next you should create a code system for your own extension. You can do this in the Swagger API page under POST /codesystems. For example: { "branchPath": "MAIN/SNOMEDCT-LOTILI", "shortName": "SNOMEDCT-LOTILI" }
This will create the MAIN/SNOMEDCT-LOTILI branch. You should do all of your authoring work on this branch. The new content will have a released flag of false until your authoring is complete and you are ready to do the first release of your extension. Concepts you create will be accessible straight away on this branch. The release flag on the content will be set to false but that's okay during the authoring cycle (period of time where you are creating the release content).
When you are ready to release your content use the REST API to create a new version of your extension code system using POST /codesystems/{shortName}/versions. For example: shortName: SNOMEDCT-LOTILI, input: { "description": "April 2019 Release", "effectiveDate": 20190401 }
This will give all your authored content an effectiveTime of 20190401 and set the release flag to true. It will also create a release branch MAIN/SNOMEDCT-LOTILI/2019-04-01 which will contain all your released content.
You can then start authoring for your next release on MAIN/SNOMEDCT-LOTILI and still see the version of your extension from your last release.
We use the SNOMED Release Service and Release Validation Framework to test the content and package the final release. Snowstorm can export the RF2 files for your extension in DELTA or SNAPSHOT format but there is no FULL export implemented because we rely on the release services to produce the final release package.
Final Notes
This is a brief outline of the process. As I said authoring of extensions has not been tested although SNOMED International does plan to complete and test this work during the last quarter of 2019.
As will all open source software we offer no guarantee. Please complete your own testing to satisfy yourselves that this will work for you.
Kind regards,
Kai Kewley
from snowstorm.
Thank you for your detailed answer !
I think the provided services are enough for a beginning, but I could come back to you if we encounter further issues during our tests.
I'm closing the issue :)
from snowstorm.
Great, thanks @Lotili. I hope it goes well.
from snowstorm.
Update: In the last year we have moved all our managed service customers to Snowstorm and are successfully maintaining 14 different codesystems in production, the International Edition plus 13 extensions.
Please see the documentation on setting up Snowstorm for extension authoring.
@Lotili I've added an Identifier Generation section to the doc above to answer your questions in this area.
from snowstorm.
Related Issues (20)
- Missing designation output when using Accept-language header and no displayLanguage HOT 2
- I would like to see the incoming HTTP requests in the snowstorm's docker container logs. HOT 3
- Question about Elastic fuzziness feature HOT 1
- Import failure org.springframework.dao.DataAccessResourceFailureException: 30,000 milliseconds timeout on connection http-outgoing-1 HOT 3
- Upgrading an extension on a daily-build server HOT 8
- What's the latest release? 8.3.0? 9.0.0? 9.2.0? HOT 14
- Loading SNOMED CT FULL in a Docker installation HOT 3
- FHIR API $lookup - query response with normalForm property HOT 2
- FHIR API $translate - include display (term) in response when possible HOT 3
- Documentation is not up to date for version 9.2.0 HOT 2
- FULL Import Failure on Snowstorm 9.2.0 HOT 7
- Germany Edition is missing from application.properties HOT 6
- Elasticsearch problem in Docker HOT 6
- Valueset expansion not returning translated values HOT 7
- Search feature - slow response HOT 5
- Difficulty Integrating SNOMED CT APIs into Healthcare Application HOT 2
- Application fails to start: No setter found for property: index-prefix HOT 2
- Is it possible for a concept to exist without having ancestors? HOT 2
- Default module id not working HOT 4
- MRCM Range search - wrong language HOT 8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from snowstorm.