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)
- Refset bulk update HOT 2
- Unable to load SNOMED CT into Docker instance HOT 3
- HTTPS Configuration for Apache Server and Swagger HOT 6
- CORS issue with Snowstorm despite updating nginx setup and application.properties HOT 1
- Loading data: Failed RF2 SNAPSHOT import on branch MAIN HOT 2
- SNOMED CT Browser makes API request without branch HOT 3
- Request for Clarification on Unlimited Pagination for {branch}/concepts Endpoint HOT 2
- Issue with updating DependantVersionEffectiveTime in CodeSystem Version HOT 4
- Own extension in FHIR CodeSystem HOT 2
- Clean install on Kubernetes failes HOT 13
- Missing @ApiResponse causes issues when trying to generate client HOT 1
- No release package is set for version HOT 2
- Import is getting rollbacked with 8.2.2 jar file HOT 10
- Loinc Codes Not found After uploading FHIR Terminology package HOT 5
- ECL versión supported HOT 2
- Error for local language code sent by browsers in Latin America HOT 5
- Expanding Valueset on extension work with ECL of parent branch (SNOMED CT India DRUG Extension) HOT 1
- Import error using docker setup for SnomedCT_InternationalRF2_PRODUCTION_20240701T12 HOT 3
- Write With Authentication Mode HOT 4
- Python access leads to IP blacklisting? HOT 4
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.