Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
java -version
echo $JAVA_HOMEcurl -L -O https://github.com/b2ihealthcare/snow-owl/releases/download/<version>/snow-owl-oss-<version>.zipunzip snow-owl-oss-<version>.zipcd snow-owl-oss-<version>/bin./startupTODO example outputcurl 'http://localhost:8080/snowowl/snomedct/MAIN/concepts/138875005'{
"id": "138875005",
"released": true,
"active": true,
"effectiveTime": "20020131",
"moduleId": "900000000000207008",
"iconId": "138875005",
"definitionStatus": "PRIMITIVE",
"subclassDefinitionStatus": "NON_DISJOINT_SUBCLASSES"
}curl 'http://localhost:8080/snowowl/snomedct/MAIN/concepts?active=true&ecl=%3C!138875005&limit=1'nofile65536/etc/security/limits.conf{
"items": [
{
"id": "308916002",
"released": true,
"active": true,
"effectiveTime": "20020131",
"moduleId": "900000000000207008",
"iconId": "138875005",
"definitionStatus": "PRIMITIVE",
"subclassDefinitionStatus": "NON_DISJOINT_SUBCLASSES"
}
],
"searchAfter": "AoE_BWVlYzI3Mjc0LTYyZTctNDg3NS05NmVlLThhNTk3OTcxOTJiNw==",
"limit": 1,
"total": 19
}snowowlsnowowlidentity:
providers:
- file:
name: users$ ./bin/shutdownexport SO_JAVA_OPTS="$SO_JAVA_OPTS -Djava.io.tmpdir=/path/to/temp/dir"
./bin/startupcurl -v http://localhost:8080/snowowl/snomedct/SNOMEDCT/import?type=snapshot\&createVersions=false \
-F file=@SnomedCT_RF2Release_INT_20170731.zip< HTTP/1.1 201 Created
< Location: http://localhost:8080/snowowl/snomedct/SNOMEDCT/import/107f6efa69886bfdd73db5586dcf0e15f738efedsudo swapoff -a# sysctl settings, to be added to /etc/sysctl.conf or equivalent
vm.swappiness = 1
vm.max_map_count = 262144curl http://localhost:8080/snowowl/snomedct/SNOMEDCT/import/107f6efa69886bfdd73db5586dcf0e15f738efed?pretty{
"id" : "107f6efa69886bfdd73db5586dcf0e15f738efed",
"status" : "RUNNING"
}{
"id" : "107f6efa69886bfdd73db5586dcf0e15f738efed",
"status" : "FINISHED",
"response" : {
"visitedComponents" : [ ... ],
"defects" : [ ],
"success" : true
}
} /CodeSystem/$lookup?system=http://snomed.info/sct&code=128927009&_format=json&property=inactive&property=http://snomed.info/id/260686004/CodeSystem/SNOMEDCT/2021-07-31/$validate-code?code=128927009/CodeSystem/$subsumes?codeA=409822003&codeB=264395009&system=http://snomed.info/sct/900000000000207008/version/20210731./mvnw clean package./mvnw clean verify"GREEN"curl http://localhost:8080/snowowl/info?prettycurl http://localhost:8080/snowowl/snomedct/SNOMEDCT/concepts?pretty{
"items": [ ],
"limit": 50,
"total": 0
}POST /members/:id/actions
{
"commitComment": "Sync member's target reference set",
"action": "sync"
}PUT /:path/refsets/:id/members{
"commitComment": "Updating members of my simple type reference set",
"requests": [
{
"action": "create|update|delete|sync",
"action-specific-props": ...
}
]
}{
"version": "<version>",
"description": "You Know, for Terminologies",
"repositories": {
"items": [ {
"id" : "snomed",
"health" : "GREEN",
"diagnosis" : "",
"indices" : [ {
"index" : "snomed-relationship",
"status" : "GREEN"
}, {
"index" : "snomed-commit",
"status" : "GREEN"
}, ...
} ]
}
}./bin/startupnohup ./bin/startup > /dev/null &ps -p 1sudo chkconfig --add snowowlsudo -i service snowowl start
sudo -i service snowowl stopsudo /bin/systemctl daemon-reload
sudo /bin/systemctl enable snowowl.servicesudo systemctl start snowowl.service
sudo systemctl stop snowowl.servicePOST /compare
{
"baseBranch": "MAIN",
"compareBranch": "MAIN/a",
"limit": 100
}Status: 200 OK
{
"baseBranch": "MAIN",
"compareBranch": "MAIN/a",
"compareHeadTimestamp": 1567282434400,
"newComponents": [],
"changedComponents": ["138875005"],
"deletedComponents": [],
"totalNew": 0,
"totalChanged": 1,
"totalDeleted": 0
}GET /snomedct/MAIN@1567282434400/concepts/138875005Status: 200 OK
{
"id": "138875005",
...
}GET /snomedct/MAIN/concepts/138875005Status: 200 OK
{
"id": "138875005",
...
}GET /snomedct/MAIN/a^/concepts/138875005Status: 200 OK
{
"id": "138875005",
...
}curl http://localhost:8080/snowowl/codesystems?prettyGET /snomedct/branches{
"items" : [ ],
"limit" : 0,
"total" : 0
}curl -X POST \
-H "Content-type: application/json" \
http://localhost:8080/snowowl/codesystems \
-d '{
"id": "SNOMEDCT",
"url": "http://snomed.info/sct/900000000000207008",
"title": "SNOMED CT International Edition",
"language": "en",
"description": "SNOMED CT International Edition",
"status": "active",
"copyright": "(C) 2022 International Health Terminology Standards Development Organisation 2002-2022. All rights reserved.",
"owner": "snowowl",
"contact": "https://snomed.org",
"oid": "2.16.840.1.113883.6.96",
"toolingId": "snomed",
"settings": {
"moduleIds": [
"900000000000207008",
"900000000000012004"
],
"locales": [
"en-x-900000000000508004",
"en-x-900000000000509007"
],
"languages": [
{
"languageTag": "en",
"languageRefSetIds": [
"900000000000509007",
"900000000000508004"
]
},
{
"languageTag": "en-us",
"languageRefSetIds": [
"900000000000509007"
]
},
{
"languageTag": "en-gb",
"languageRefSetIds": [
"900000000000508004"
]
}
],
"publisher": "SNOMED International",
"namespace": "373872000",
"maintainerType": "SNOMED_INTERNATIONAL"
}
}'



curl http://localhost:8080/snowowl/codesystems/SNOMEDCT?pretty{
"id": "SNOMEDCT",
"url": "http://snomed.info/sct/900000000000207008",
"title": "SNOMED CT International Edition",
"language": "en",
...
"branchPath": "MAIN/SNOMEDCT",
...
}repository:
index:
clusterUrl: http://your.es.cluster:9200 # the ES cluster URL
clusterUsername: snowowl # Optional username to connect to a protected ES cluster
clusterPassword: snowowl_password # Optional password to connect to a protected ES clusterpath:
data: /var/data/snowowl# Set the minimum and maximum heap size to 12 GB.
SO_JAVA_OPTS="-Xms12g -Xmx12g" ./bin/startupSNOMEDCT-UK-CLSNOMEDCT-UK-DR
wget https://github.com/b2ihealthcare/snow-owl/releases/download/<version>/snow-owl-oss-<version>.deb
wget https://github.com/b2ihealthcare/snow-owl/releases/download/<version>/snow-owl-oss-<version>.deb.sha512
shasum -a 512 -c snow-owl-oss-<version>.deb.sha512 # Compares the SHA of the downloaded Debian package and the published checksum, which should output `snow-owl-oss-<version>.deb: OK`.
sudo dpkg -i snow-owl-oss-<version>.deb
GET /branches/:pathStatus: 200 OK
{
"name": "MAIN",
"baseTimestamp": 1431957421204,
"headTimestamp": 1431957421204,
"deleted": false,
"path": "MAIN",
"state": "UP_TO_DATE"
}GET /branchesStatus: 200 OK
{
"items": [
{
"name": "MAIN",
"baseTimestamp": 1431957421204,
"headTimestamp": 1431957421204,
"deleted": false,
"path": "MAIN",
"state": "UP_TO_DATE"
}
]
}POST /branches{
"parent" : "MAIN",
"name" : "branchName",
"metadata": {}
}Status: 201 Created
Location: http://localhost:8080/snowowl/snomedct/branches/MAIN/branchNameDELETE /branches/:pathStatus: 204 No contentPOST /merges{
"source" : "MAIN/branchName",
"target" : "MAIN"
}Status: 202 Accepted
Location: http://localhost:8080/snowowl/snomedct/merges/2f4d3b5b-3020-4e8e-b046-b8266967d7dcPOST /merges{
"source" : "MAIN",
"target" : "MAIN/branchName"
}Status: 202 Accepted
Location: http://localhost:8080/snowowl/snomedct/merges/c82c443d-f3f4-4409-9cdb-a744da336936GET /merges/c82c443d-f3f4-4409-9cdb-a744da336936{
"id": "c82c443d-f3f4-4409-9cdb-a744da336936",
"source": "MAIN",
"target": "MAIN/branchName",
"status": "COMPLETED",
"scheduledDate": "2016-02-29T13:52:45Z",
"startDate": "2016-02-29T13:52:45Z",
"endDate": "2016-02-29T13:53:06Z"
}DELETE /merges/c82c443d-f3f4-4409-9cdb-a744da336936Status: 204 No contentsudo su # Become `root`
ulimit -n 65536 # Change the max number of open files
su snowowl # Become the `snowowl` user in order to start Snow Owlsnowowl - nofile 65536[Service]
LimitMEMLOCK=infinitysudo systemctl daemon-reload# session required pam_limits.sowget https://github.com/b2ihealthcare/snow-owl/releases/download/<version>/snow-owl-oss-<version>.rpm
wget https://github.com/b2ihealthcare/snow-owl/releases/download/<version>/snow-owl-oss-<version>.rpm.sha512
shasum -a 512 -c snow-owl-oss-<version>.rpm.sha512 # Compares the SHA of the downloaded RPM and the published checksum, which should output `snow-owl-oss-<version>.rpm: OK`.
sudo rpm --install snow-owl-oss-<version>.rpmsudo chkconfig --add snowowlsudo -i service snowowl start
sudo -i service snowowl stopsudo /bin/systemctl daemon-reload
sudo /bin/systemctl enable snowowl.servicesudo systemctl start snowowl.service
sudo systemctl stop snowowl.servicecurl http://localhost:8080/snowowl/admin/info{
"version": "7.2.0",
"description": "You Know, for Terminologies",
"repositories": {
"items": [
{
"id": "snomedStore",
"health": "GREEN"
}
]
}
}wget https://github.com/b2ihealthcare/snow-owl/releases/download/<version>/snow-owl-oss-<version>.zip
wget https://github.com/b2ihealthcare/snow-owl/releases/download/<version>/snow-owl-oss-<version>.zip.sha512
shasum -a 512 -c snowowl-oss-<version>.zip.sha512 # compares the SHA of the downloaded archive, should output: `snowowl-oss-<version>.zip: OK.`
unzip snowowl-oss-<version>.zip
cd snowowl-oss-<version>/ # This directory is known as `$SO_HOME`wget https://github.com/b2ihealthcare/snow-owl/releases/download/<version>/snow-owl-oss-<version>.tar.gz
wget https://github.com/b2ihealthcare/snow-owl/releases/download/<version>/snow-owl-oss-<version>.tar.gz.sha512
shasum -a 512 -c snowowl-oss-<version>.tar.gz.sha512 # compares the SHA of the downloaded archive, should output: `snowowl-oss-<version>.tar.gz: OK.`
tar -xzf snowowl-oss-<version>.tar.gz
cd snowowl-oss-<version>/ # This directory is known as `$SO_HOME`./bin/startupcurl http://localhost:8080/snowowl/admin/info{
"version": "7.0.0",
"description": "You Know, for Terminologies",
"repositories": {
"items": [
{
"id": "snomedStore",
"health": "GREEN"
}
]
}
}nohup ./bin/startup > /dev/null &kill <pid>./bin/shutdownsudo update-rc.d snowowl defaults 95 10sudo -i service snowowl start
sudo -i service snowowl stopsudo /bin/systemctl daemon-reload
sudo /bin/systemctl enable snowowl.servicesudo systemctl start snowowl.service
sudo systemctl stop snowowl.servicecurl http://localhost:8080/snowowl/admin/info{
"version": "7.2.0",
"description": "You Know, for Terminologies",
"repositories": {
"items": [
{
"id": "snomedStore",
"health": "GREEN"
}
]
}
}identity:
providers:
- ldap:
uri: <ldap_uri>
bindDn: cn=admin,dc=snowowl,dc=b2international,dc=com
bindDnPassword: <adminpwd>
baseDn: dc=snowowl,dc=b2international,dc=com
roleBaseDn: {baseDn}
userFilter: (objectClass={userObjectClass})
roleFilter: (objectClass={roleObjectClass})
userObjectClass: inetOrgPerson
roleObjectClass: groupOfUniqueNames
userIdProperty: uid
permissionProperty: description
memberProperty: uniqueMember
usePool: false

sysctl -w vm.max_map_count=262144$ curl -XPUT localhost:9200/_snapshot/snowowl-snapshots -d
{
"type": "fs",
"settings": {
"location": "/path/to/shared/mount",
"compress": true
}
}client:
hosts:
- 127.0.0.1
port: 9200
url_prefix:
use_ssl: False
certificate:
client_cert:
client_key:
ssl_no_validate: False
http_auth:
timeout: 30
master_only: False
logging:
loglevel: INFO
logfile:
logformat: default
blacklist: ['elasticsearch', 'urllib3']actions:
1:
action: snapshot
description: >-
Snapshot all indices. Wait for the snapshot to complete. Do not skip
the repository filesystem access check.
options:
repository: snowowl-snapshots
name:
ignore_unavailable: False
include_global_state: True
partial: False
wait_for_completion: True
skip_repo_fs_check: False
disable_action: False
filters:
- filtertype: none
2:
action: delete_snapshots
description: >-
Keep 10 most recent snapshots in the selected repository
(based on creation_date), for 'curator-' prefixed snapshots. Ordering
is age-based and reversed by default for the 'count' filter.
options:
repository: snowowl-snapshots
disable_action: False
ignore_empty_list: True
filters:
- filtertype: pattern
kind: prefix
value: curator-
exclude:
- filtertype: count
count: 10
use_age: True
source: creation_date$ curator --config curator.yml snowowl_snapshot.ymlactions:
1:
action: restore
description: >-
Restore all indices in the most recent curator-* snapshot with state SUCCESS. Wait
for the restore to complete before continuing. Do not skip the repository
filesystem access check.
options:
repository: snowowl-snapshots
# If name is blank, the most recent snapshot by age will be selected
name:
# If indices is blank, all indices in the snapshot will be restored
indices:
include_aliases: False
ignore_unavailable: False
include_global_state: False
partial: False
rename_pattern:
rename_replacement:
extra_settings:
wait_for_completion: True
skip_repo_fs_check: False
disable_action: False
filters:
- filtertype: pattern
kind: prefix
value: curator-
- filtertype: state
state: SUCCESS$ curator --config curator.yml snowowl_restore.yml0 3 * * * /path/to/curator --config /path/to/snowowl/configs/curator.yml /path/to/snowowl/configs/curator/snowowl_snapshot.yml > /var/log/backup.log 2>&1dn: cn=John [email protected],dc=snowowl,dc=b2international,dc=com
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: person
objectClass: top
cn: John Doe
sn: Doe
uid: [email protected]
userPassword: <encrypted_password> dn: cn=Browser,dc=snowowl,dc=b2international,dc=com
objectClass: top
objectClass: groupOfUniqueNames
cn: Browser
description: browse:*
description: export:*
uniqueMember: cn=John [email protected],dc=snowowl,dc=b2international,dc=com 


resourceId[/version] LOINC/v2.64

YYYY-MM-DDTHH:MM:SSZyyyyMMddhttp://example.com/snowowl/snomedct/MAIN/concepts/123456789GET /snowowl/snomedct/MAIN/concepts?offset=0&limit=50&expand=fsn(),descriptions(){
"items": [
{
"id": "100005",
"released": true,
...
"fsn": {
"id": "2709997016",
"term": "SNOMED RT Concept (special concept)",
...
},
"descriptions": {
"items": [
{
"id": "208187016",
"released": true,
...
},
],
"offset": 0,
"limit": 5,
"total": 5
}
},
...
],
"offset": 0,
"limit": 50,
"total": 421657
}Status: 400 Bad Request
{
"status" : "400",
"message" : "Invalid JSON representation",
"developerMessage" : "detailed information about the error for developers"
}Status: 400 Bad Request
{
"status" : "400",
"message" : "2 Validation errors",
"developerMessage" : "Input representation syntax or validation errors. Check input values.",
"violations" : ["violation_message_1", "violation_message_2"]
}Status: 409 Conflict
{
"status" : "409",
"message" : "Cannot merge source 'branch1' into target 'MAIN'."
}Status: 500 Internal Server Error
{
"status" : "500",
"message" : "Something went wrong during the processing of your request.",
"developerMessage" : "detailed information about the error for developers"
}GET /snomedct/MAIN/2021-01-31/SNOMEDCT-UK-CL/concepts
{
"items": [
{
"id": "100000000",
"released": true,
"active": false,
"effectiveTime": "20090731",
[...]GET /snomedct/SNOMEDCT-UK-CL/100/conceptsGET /snomedct/MAIN/2021-01-31/SNOMEDCT-UK-CL/100/conceptsGET /snomedct/MAIN/2019-07-31/SNOMEDCT-UK-CL/2020-08-05...MAIN/2021-01-31/SNOMEDCT-UK-CL/conceptsGET /snomedct/MAIN@1630504199999/conceptsGET /snomedct/MAIN/2019-07-31/SNOMEDCT-UK-CL/101^/concepts
SO_PATH_CONF=/path/to/my/config ./bin/startuppath:
data: /var/lib/snowowlpath.data: /var/lib/snowowlrepository.host: ${HOSTNAME}
repository.port: ${SO_REPOSITORY_PORT}

docker rundocker pull snow-owl-oss:latestdocker run -p 8080:8080 snow-owl-oss:latestdocker-compose up-v full_path_to/custom_snowowl.yml:/usr/share/snowowl/configuration/snowowl.ymlFROM snow-owl-oss:{version}
COPY --chown=snowowl:snowowl snowowl.yml /usr/share/snowowl/configuration/docker build --tag=snow-owl-oss-custom .
docker run -ti -v /usr/share/snowowl/resources snow-owl-oss-custom mkdir sodatadir
chmod g+rwx sodatadir
chgrp 1000 sodatadir --ulimit nofile=65535:65535 docker run --rm centos:7 /bin/bash -c 'ulimit -Hn && ulimit -Sn && ulimit -Hu && ulimit -Su'referenceSet()preferredDescriptions()semanticTags()inactivationProperties()members()module()definitionStatus()pt() and fsn()descriptions()relationships()inboundRelationships()descendants() / statedDescendants()ancestors() / statedAncestors()ethnic_groupeventfindinggeographic_locationinactive_conceptintended_sitelife_stylelink_assertionlinkage_conceptmedicinal_productmedicinal_product_formmetadatamorphologic_abnormalitynamespace_conceptnavigational_conceptobservable_entityoccupationorganismowl_metadata_conceptpersonphysical_forcephysical_objectprocedureproductproduct_namequalifier_valueracial_grouprecord_artifactregime_therapyrelease_characteristicreligion_philosophyrolesituationsnomed_rt_ctv3social_conceptspecial_conceptspecimenstaging_scalestate_of_mattersubstancesuppliertransformationtumor_stagingunit_of_presentationYYYYmmdd{
"id": "138875005",
"released": true,
"active": true,
"effectiveTime": "20020131",
"moduleId": "900000000000207008",
"iconId": "snomed_rt_ctv3",
"definitionStatus": {
"id": "900000000000074008"
},
"subclassDefinitionStatus": "NON_DISJOINT_SUBCLASSES",
"ancestorIds": [],
"parentIds": [
"-1"
],
"statedAncestorIds": [],
"statedParentIds": [
"-1"
],
"definitionStatusId": "900000000000074008"
}GET /snomedct/MAIN/concepts/425758004 // Diagnostic blood test
{
[...]
"ancestorIds": [
"-1", // Special value for taxonomy root
"15220000", // Laboratory test
"71388002", // Procedure
"108252007", // Laboratory procedure (not pictured below)
"128927009", // Procedure by method
"138875005", // SNOMED CT Concept
"362961001", // Procedure by intent
"386053000" // Evaluation procedure
],
"parentIds": [
"103693007", // Diagnostic procedure
"396550006" // Blood test
],
[...]
}GET /snomedct/MAIN/concepts/900000000000497000?expand=referenceSet() // CTV3 simple map
{
"id": "900000000000497000",
"active": true,
[...]
"referenceSet": {
"id": "900000000000497000",
"released": true,
"active": true,
"effectiveTime": "20020131",
"moduleId": "900000000000012004",
"iconId": "900000000000496009",
"type": "SIMPLE_MAP", // Reference set type
"referencedComponentType": "concept", // Referenced component type
"mapTargetComponentType": "__UNKNOWN__" // Map target component type
// (applicable to map type reference sets only)
},
[...]
}GET /snomedct/MAIN/concepts/900000000000497000?expand=referenceSet(expand(members()))
{
"id": "900000000000497000",
[...]
"referenceSet": {
[...]
"type": "SIMPLE_MAP",
"referencedComponentType": "concept",
"mapTargetComponentType": "__UNKNOWN__",
"members": {
"items": [
{
"id": "00000193-e889-4d3f-b07f-e0f45eb77940",
"released": true,
"active": true,
"effectiveTime": "20190131",
"moduleId": "900000000000207008",
"iconId": "776792002",
"referencedComponent": {
"id": "776792002"
},
"refsetId": "900000000000497000", // Reference set ID matches the identifier concept's ID
// for all members of the reference set
"referencedComponentId": "776792002",
"mapTarget": "XV8E7"
},
[...]
],
"searchAfter": "AoE_BTAwMDcyYWIzLWM5NDgtNTVhYy04MTBkLTlhOGNhMmU5YjQ5Yg==",
"limit": 50,
"total": 481508
}
},
}GET /snomedct/MAIN/2011-07-31/concepts/86299006?expand=preferredDescriptions()
{
"id": "86299006", // Concept SCTID
[...]
"preferredDescriptions": {
"items": [
{
"id": "828532012", // Description SCTID
"term": "Tetralogy of Fallot (disorder)", // Description term
"concept": {
"id": "86299006"
},
"type": {
"id": "900000000000003001"
},
"typeId": "900000000000003001", // Type: Fully Specified Name
"conceptId": "86299006", // "conceptId" matches the returned concept's SCTID
"acceptability": {
"900000000000509007": "PREFERRED", // Acceptability in reference set "US English"
"900000000000508004": "PREFERRED" // Acceptability in reference set "GB English"
}
},
{
"id": "143123019",
"term": "Tetralogy of Fallot",
"concept": {
"id": "86299006"
},
"type": {
"id": "900000000000013009"
},
"typeId": "900000000000013009", // Type: Synonym
"conceptId": "86299006",
"acceptability": {
"900000000000509007": "PREFERRED",
"900000000000508004": "PREFERRED"
}
}
],
"limit": 2,
"total": 2
},
[...]
}GET /snomedct/MAIN/concepts/103981000119101?expand=preferredDescriptions(),semanticTags()
{
"id": "103981000119101",
"released": true,
"active": true,
"effectiveTime": "20200131",
"preferredDescriptions": {
"items": [
{
"id": "3781804016",
"term": "Proliferative retinopathy following surgery due to diabetes mellitus (disorder)",
[...]
},
[...]
]
}
[...]
"semanticTags": [ "disorder" ], // Extracted from the Fully Specified Name; see term above
[...]
}GET /snomedct/MAIN/concepts/99999003?expand=inactivationProperties()
{
"id": "99999003",
"active": false,
"effectiveTime": "20090731",
[...]
"inactivationProperties": {
"inactivationIndicator": {
"id": "900000000000487009"
},
"associationTargets": [
{
"referenceSet": {
"id": "900000000000524003"
},
"targetComponent": {
"id": "416516009"
},
"referenceSetId": "900000000000524003", // MOVED TO association reference set
"targetComponentId": "416516009" // Extension Namespace 1000009
}
],
"inactivationIndicatorId": "900000000000487009" // Moved elsewhere
},
[...]
}GET /snomedct/MAIN/concepts/99999003?expand=members()
{
"id": "99999003",
[...]
"members": {
"items": [
{
"id": "f2b12ff9-794a-5a05-8027-88f0492f3766",
"released": true,
"active": true,
"effectiveTime": "20020131",
"moduleId": "900000000000207008",
"iconId": "99999003",
"referencedComponent": {
"id": "99999003"
},
"refsetId": "900000000000497000", // CTV3 simple map
"referencedComponentId": "99999003", // all referencedComponentIds match the concept's SCTID
"mapTarget": "XUPhG" // additional properties are displayed depending on the
// reference set type
},
{
"id": "5e9787df-11af-54ed-ae92-0ea3bc83f2ac",
"released": true,
"active": true,
"effectiveTime": "20090731",
"moduleId": "900000000000207008",
"iconId": "99999003",
"referencedComponent": {
"id": "99999003"
},
"refsetId": "900000000000524003", // MOVED TO association reference set
"referencedComponentId": "99999003",
"targetComponentId": "416516009" // Extension Namespace 1000009
},
{
"id": "9ffd949a-27d0-5811-ad48-47ff43e1bded",
"released": true,
"active": true,
"effectiveTime": "20090731",
"moduleId": "900000000000207008",
"iconId": "99999003",
"referencedComponent": {
"id": "99999003"
},
"refsetId": "900000000000489007", // Concept inactivation indicator reference set
"referencedComponentId": "99999003",
"valueId": "900000000000487009" // Moved elsewhere
}
],
"limit": 3,
"total": 3
},
[...]
}GET /snomedct/MAIN/concepts/99999003?expand=members(active:true, refSetType:["ASSOCIATION","ATTRIBUTE_VALUE"])
{
"id": "99999003",
[...]
"members": {
[
{
"id": "5e9787df-11af-54ed-ae92-0ea3bc83f2ac",
"released": true,
"active": true,
"effectiveTime": "20090731",
"moduleId": "900000000000207008",
"iconId": "99999003",
"referencedComponent": {
"id": "99999003"
},
"refsetId": "900000000000524003", // MOVED TO association reference set
"referencedComponentId": "99999003",
"targetComponentId": "416516009" // Extension Namespace 1000009
},
{
"id": "9ffd949a-27d0-5811-ad48-47ff43e1bded",
"released": true,
"active": true,
"effectiveTime": "20090731",
"moduleId": "900000000000207008",
"iconId": "99999003",
"referencedComponent": {
"id": "99999003"
},
"refsetId": "900000000000489007", // Concept inactivation indicator reference set
"referencedComponentId": "99999003",
"valueId": "900000000000487009" // Moved elsewhere
}
],
"limit": 2,
"total": 2
},
[...]
}GET /snomedct/MAIN/concepts/138875005?expand=module()
{
"id": "138875005",
"active": true,
[...]
// The moduleId of the requested concept
"moduleId": "900000000000207008",
"module": { // Expanded module concept resource
"id": "900000000000207008", // SCTID matches 138875005's moduleId
"released": true,
"active": true,
"effectiveTime": "20020131",
// The moduleId of the module concept
"moduleId": "900000000000012004",
"iconId": "900000000000445007",
"definitionStatus": {
"id": "900000000000074008"
},
"subclassDefinitionStatus": "NON_DISJOINT_SUBCLASSES",
"ancestorIds": [...],
[...]
"definitionStatusId": "900000000000074008"
},
[...]
"definitionStatusId": "900000000000074008"
}GET /snomedct/MAIN/concepts/138875005?expand=definitionStatus()
{
"id": "138875005",
"active": true,
// The definitionStatusId of the requested concept
"definitionStatusId": "900000000000074008",
"definitionStatus": { // Expanded definition status concept resource
"id": "900000000000074008", // SCTID matches 138875005's definitionStatusId
"active": true,
"effectiveTime": "20020131",
[...]
// The definitionStatusId of the definition status concept
"definitionStatusId": "900000000000074008"
},
[...]
}GET /codesystems/SNOMEDCT-UK-CL
{
"id": "SNOMEDCT-UK-CL",
"title": "SNOMED CT UK Clinical Extension",
[...]
"settings": {
"languages": [
{
"languageTag": "en", // the language tag
"languageRefSetIds": [ // the corresponding language reference sets, in order of preference
"900000000000509007",
"900000000000508004",
"999001261000000100",
"999000691000001104"
]
},
{
"languageTag": "en-us",
"languageRefSetIds": [
"900000000000509007"
]
},
{
"languageTag": "en-gb",
"languageRefSetIds": [
"900000000000508004",
"999001261000000100",
"999000691000001104"
]
},
{
"languageTag": "en-nhs-pharmacy",
"languageRefSetIds": [
"999000691000001104"
]
},
{
"languageTag": "en-nhs-clinical",
"languageRefSetIds": [
"999001261000000100"
]
}
],
[...]
},
[...]
}GET /snomedct/MAIN/concepts/703247007?expand=pt()
// Accept-Language: en-US
{
"id": "703247007",
[...]
"pt": {
"id": "3007370016",
"term": "Color",
[...]
"conceptId": "703247007", // conceptId matches the concept's SCTID
"acceptability": {
// Use of "Color" is preferred in the US English language reference set,
// but not acceptable in others
"900000000000509007": "PREFERRED"
}
},
[...]
}GET /snomedct/MAIN/concepts/703247007?expand=pt()
// Accept-Language: en-x-900000000000508004
{
"id": "703247007",
[...]
"pt": {
"id": "3007469016",
"term": "Colour",
[...]
"conceptId": "703247007",
"acceptability": {
// Use of "Colour" is preferred in the GB English language reference set,
// but not acceptable in others
"900000000000508004": "PREFERRED"
}
},
[...]
}GET /snomedct/MAIN/concepts/86299006?expand=descriptions(active: true, sort: "term.exact:asc")
{
"id": "86299006",
[...]
"descriptions": {
"items": [
{
"id": "1235125018",
"released": true,
"active": true,
"effectiveTime": "20070731",
"moduleId": "900000000000207008",
"iconId": "900000000000013009",
"term": "Fallot's tetralogy", // Descriptions are sorted by term (case insensitive)
"semanticTag": "",
"languageCode": "en",
"caseSignificance": {
"id": "900000000000017005"
},
"concept": {
"id": "86299006"
},
"type": {
"id": "900000000000013009"
},
"typeId": "900000000000013009", // Synonym
"conceptId": "86299006", // conceptId property matches the concept's SCTID
"caseSignificanceId": "900000000000017005",
"acceptability": {
"900000000000509007": "ACCEPTABLE",
"900000000000508004": "ACCEPTABLE"
}
},
{
"id": "143125014",
"active": true,
"term": "Subpulmonic stenosis, ventricular septal defect, overriding aorta, AND right ventricular hypertrophy",
[...]
},
{
"id": "143123019",
"active": true,
"term": "Tetralogy of Fallot",
[...]
},
{
"id": "828532012",
"active": true,
"term": "Tetralogy of Fallot (disorder)",
"typeId": "900000000000003001", // Fully Specified Name
[...]
},
{
"id": "1235124019",
"active": true,
"term": "TOF - Tetralogy of Fallot",
[...]
}
],
"limit": 5,
"total": 5
},
[...]
}GET /snomedct/MAIN/concepts/404684003?expand=relationships(active: true)
{
"id": "404684003", // Clinical finding
"active": true,
[...]
"relationships": {
"items": [
{
"id": "2472459022",
"released": true,
"active": true,
"effectiveTime": "20040131",
"moduleId": "900000000000207008",
"iconId": "116680003",
"destinationNegated": false,
"relationshipGroup": 0,
"unionGroup": 0,
"characteristicType": {
"id": "900000000000011006"
},
"modifier": {
"id": "900000000000451002"
},
"source": {
"id": "404684003"
},
"type": {
"id": "116680003"
},
"destination": {
"id": "138875005"
},
"typeId": "116680003",
"modifierId": "900000000000451002",
"sourceId": "404684003", // sourceId property matches concept's SCTID
"destinationId": "138875005",
"characteristicTypeId": "900000000000011006"
}
],
"limit": 1,
"total": 1
},
[...]
}GET /snomedct/MAIN/concepts/138875005?expand=descendants(direct: true)
{
"id": "138875005", // SNOMED CT Concept
"active": true,
[...]
"descendants": {
"items": [
{
"id": "105590001", // Substance
"released": true,
"active": true,
"effectiveTime": "20020131",
"moduleId": "900000000000207008",
"iconId": "substance",
"definitionStatus": {
"id": "900000000000074008"
},
"subclassDefinitionStatus": "NON_DISJOINT_SUBCLASSES",
"ancestorIds": [
"-1"
],
"parentIds": [
"138875005" // parentIds contains SNOMED CT Concept's SCTID, meaning this concept
// is a direct (inferred) descendant of it
],
"statedAncestorIds": [
"-1"
],
"statedParentIds": [
"138875005"
],
"definitionStatusId": "900000000000074008"
},
[...]
],
"limit": 50,
"total": 19 // Total number of descendants
},
[...]
}GET /snomedct/MAIN/2019-07-31/concepts/138875005GET /snomedct/MAIN/2019-07-31/concepts/138875005?field=xyz
{
"status": 400,
"code": 0,
"message": "Unrecognized concept model property '[xyz]'.",
"developerMessage": "Supported properties are '[active, activeMemberOf, ancestors, ...]'.",
"errorCode": 0,
"statusCode": 400
}GET /snomedct/MAIN/2019-07-31/concepts/138875005?field=id,active,score
{
"id": "138875005",
"active": true
// score was not calculated, and so is not present
}GET /snomedct/MAIN/2019-07-31/concepts/138875005?expand=fsn()
// Accept-Language: hu-HU
{
"status": 400,
"code": 0,
"message": "Don't know how to convert extended locale [hu-hu] to a language reference set identifier.",
"developerMessage": "Input representation syntax or validation errors. Check input values.",
"errorCode": 0,
"statusCode": 400
}GET /snomedct/SNOMEDCT/2021-01-31/concepts
{
"items": [
{
"id": "100000000", // Each item represents a concept resource
"released": true,
"active": false,
"effectiveTime": "20090731",
"moduleId": "900000000000207008",
"iconId": "138875005",
"definitionStatus": {
"id": "900000000000074008"
},
"subclassDefinitionStatus": "NON_DISJOINT_SUBCLASSES",
"ancestorIds": [],
"parentIds": [
"-1"
],
"statedAncestorIds": [],
"statedParentIds": [
"-1"
],
"definitionStatusId": "900000000000074008"
},
[...] // at most 50 items are returned when no limit is specified
],
"searchAfter": "AoEpMTAwMDQyMDAz", // key can be used for paged results
"limit": 50, // the limit given in the original request
// (or the default limit if not specified)
"total": 481509 // the total number of concept matches
}GET /snomedct/SNOMEDCT/2021-01-31/concepts?ecl=<<404684003|Clinical finding|:363698007|Finding site|=40238009|Hand joint structure|
{
"items": [
[...]
{
"id": "129157005",
"active": true,
[...]
"pt": {
"id": "2664900016",
"term": "Traumatic dislocation of joint of hand", // Concept match based on ECL expression
[...]
},
[...]
},
[...]
],
"searchAfter": "AoEpNDQ4NDUzMDA0",
"limit": 50,
"total": 58
}Search term → Term of matched description
----------------- ---------------------------
"Ångström" "angstrom" (case insensitive, ASCII-folding)
"sys blo pre" "Systolic blood pressure" (prefix of each word, matching order)
"broken arm" "Fracture of arm" (synonym filter, ignored stopwords)
"greenstick frac" "Greenstick fracture" (prefix match for final query keyword,
exact match for all others)GET /snomedct/SNOMEDCT/2021-01-31/concepts?parent=138875005&field=id
{
"items": [
// Inferred direct descendants of 138875005|Snomed CT Concept|
{ "id": "105590001" }, // Substance
{ "id": "123037004" }, // Body structure
{ "id": "123038009" }, // Specimen
[...]
],
"searchAfter": "AoEyOTAwMDAwMDAwMDAwNDQxMDAz",
"limit": 50,
"total": 19 // 19 top-level concepts returned in total
}GET /snomedct/SNOMEDCT-UK-CL/concepts?namespaceConceptId=370138007&field=id
{
"items": [
// Concept IDs with a namespace identifier of "1000001", corresponding to
// namespace concept 370138007|Extension Namespace {1000001}|
{
"id": "999000011000001104" // 99900001>>1000001<<104
},
[...]
],
"searchAfter": "AoEyOTk5MDAwODcxMDAwMDAxMTAy",
"limit": 50,
"total": 4
}GET /snomedct/SNOMEDCT/2021-01-31/concepts?effectiveTime=20170131&field=id,effectiveTime
{
"items": [
{
"id": "10151000132103",
"effectiveTime": "20170131" // Concept effective time matches query parameter
},
{
"id": "10231000132102",
"effectiveTime": "20170131"
},
[...]
],
"searchAfter": "AoEwMTA3NTQ3MTAwMDExOTEwNw==",
"limit": 50,
"total": 5580 // Total number of concepts with effective time 2017-01-31
}GET /snomedct/SNOMEDCT/2021-01-31/concepts?effectiveTime=20170131&field=id,effectiveTime
{
"items": [
{
"id": "10151000132103",
"effectiveTime": "20170131"
},
{
"id": "10231000132102",
"effectiveTime": "20170131"
},
[...]
],
// Key to use in the request for the second page
"searchAfter": "AoEwMTA3NTQ3MTAwMDExOTEwNw==",
"limit": 50,
"total": 5580
}
GET /snomedct/SNOMEDCT/2021-01-31/concepts?effectiveTime=20170131&field=id,effectiveTime&searchAfter=AoEwMTA3NTQ3MTAwMDExOTEwNw==
{
"items": [
// List continues from the last item of the previous request
// (but the item itself is not included)
{
"id": "1075481000119105",
"effectiveTime": "20170131"
},
{
"id": "10759271000119104",
"effectiveTime": "20170131"
},
[...]
],
// Different key returned for the third page
"searchAfter": "AoEwMTA4MTgxMTAwMDExOTEwNw==",
"limit": 50,
"total": 5580
}POST /snomedct/SNOMEDCT/2021-01-31/concepts/search
// Request body
{
// Query parameters allowing multiple values must be passed as arrays
"expand": [ "pt()" ],
"field": [ "id", "preferredDescriptions" ],
"limit": 100,
"active": true,
"module": [ "900000000000012004" ]
}
// Response
{
"items": [
{
"id": "1003316002",
"moduleId": "900000000000012004",
"pt": {
"id": "4167978019",
"term": "Extension Namespace 1000256",
[...]
}
},
{
"id": "1003317006",
"moduleId": "900000000000012004",
"pt": {
"id": "4167981012",
"term": "Extension Namespace 1000257",
[...]
}
}
],
"searchAfter": "AoEqMTAwMzMxNzAwNg==",
"limit": 2,
"total": 1802
}// Create a concept on the working branch of code system SNOMEDCT-B2I
POST /snomedct/SNOMEDCT-B2I/concepts
// Request body
{
"active": true,
"moduleId": "636635721000154103", // SNOMED CT B2i extension module
"namespaceId": "1000154", // B2i Healthcare's namespace identifier
"definitionStatusId": "900000000000074008", // Primitive
"descriptions": [
// Create mandatory FSN and PT
{
"active": true,
// "moduleId", "namespaceId" will be set from the concept
// "id" will be generated for the description
// "conceptId" will be automatically populated with the new concept's SCTID
"typeId": "900000000000003001", // Fully specified name
"term": "Example concept (disorder)",
"languageCode": "en",
"caseSignificanceId": "900000000000448009", // Case insensitive
"acceptability": {
/*
Acceptability map entries are keyed by language reference set ID.
Allowed values are "PREFERRED" and "ACCEPTABLE".
*/
"900000000000509007": "PREFERRED" // US English
}
},
{
"active": true,
"typeId": "900000000000013009", // Synonym
"term": "Example concept",
"languageCode": "en",
"caseSignificanceId": "900000000000448009", // Case insensitive
"acceptability": {
"900000000000509007": "PREFERRED" // US English
}
}
],
"relationships": [
/*
Including relationships on a new concept request is optional.
However, when no inferred IS A relationship is created, the concept will not
be visible in the inferred hierarchy (and not show up in eg. ECL evaluations)
until a classification is run on the branch, and suggested changes are saved.
*/
{
"active": true,
// "moduleId", "namespaceId" will be set from the concept
// "id" will be generated for the relationship
// "sourceId" will be automatically populated with the new concept's SCTID
"typeId": "116680003", // IS A
"destinationId": "64572001", // Disease
"destinationNegated": false,
"relationshipGroup": 0,
"unionGroup": 0,
"characteristicTypeId": "900000000000011006", // Inferred relationship
"modifierId": "900000000000451002" // Some (existential restriction)
}
],
"members": [
{
// "id" is an UUID, will be automatically generated when not given
"active": true,
// "moduleId" needs to be set for reference set members; it is not propagated
"moduleId": "636635721000154103",
// "referencedComponentId" will be automatically populated with the new concept's SCTID
"refsetId": "733073007",
/*
Additional properties of the reference set should be added here. For an OWL
axiom reference set member, the property to the reference set type is called
"owlExpression".
At the moment we can not create an OWL axiom member for concepts that do not include
a concept ID in advance.
*/
"owlExpression": "SubClassOf(:<conceptId> :64572001)"
}
],
"commitComment": "Create new example concept"
}
// Response: 201 Created
// Location: /snomedct/SNOMEDCT-B2I/concepts/<SCTID of created concept>PUT /snomed-ct/v3/SNOMEDCT/concepts/69949008
// Request body
{
"active": false,
"inactivationProperties": {
"inactivationIndicatorId": "900000000000482003", // Duplicate
"associationTargets": [
{
"referenceSetId": "900000000000527005", // SAME AS association reference set
"targetComponentId": "273999003" // Neuroplasty
}
]
},
"commitComment": "Inactivate duplicate concept"
}
// Response: 204 No ContentPUT /snomed-ct/v3/SNOMEDCT/concepts/69949008
// Request body
{
"active": true,
"commitComment": "Reactivate concept"
}GET /snomed-ct/v3/SNOMEDCT/concepts/69949008
{
"id": "69949008",
"active": true,
[...]
"inactivationProperties": {
"associationTargets": []
},
[...]
}
// Response: 204 No ContentDELETE /snomedct/SNOMEDCT/2021-01-31/concepts/138875005
{
"status": 409,
"code": 0,
"message": "'concept' '138875005' cannot be deleted.",
"developerMessage": "'concept' '138875005' cannot be deleted.",
"errorCode": 0,
"statusCode": 409
}