Git Product home page Git Product logo

Comments (4)

kaicode avatar kaicode commented on August 10, 2024

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.

Lotili avatar Lotili commented on August 10, 2024

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.

kaicode avatar kaicode commented on August 10, 2024

Great, thanks @Lotili. I hope it goes well.

from snowstorm.

kaicode avatar kaicode commented on August 10, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.