friendly-snippets/snippets/fsh.json
2023-05-30 19:08:03 -03:00

126 lines
4.7 KiB
JSON

{
"FSH Profile": {
"prefix": ["pro", "Pro"],
"body": [
"Profile: $1",
"Parent: $2",
"Id: ${3:${1/(([A-Z]*)[_]([A-Z]*))|(([A-Z]*[a-z0-9]+)([A-Z]+))|(([A-Z]+)([A-Z0-9])([a-z]))/${2:/downcase}${5:/downcase}${8:/downcase}-${3:/downcase}${6:/downcase}${9:/downcase}$10/g}}",
"Title: \"${4:${1/[_]|(([a-z0-9])([A-Z]))|(([A-Z])([A-Z0-9])([a-z]))/$2$5 $3$6$7/g}}\"",
"Description: \"$5\"",
"* $0"
],
"description": "Create a FSH Profile"
},
"FSH Extension": {
"prefix": ["ext", "Ext"],
"body": [
"Extension: $1",
"Id: ${2:${1/(([A-Z]*)[_]([A-Z]*))|(([A-Z]*[a-z0-9]+)([A-Z]+))|(([A-Z]+)([A-Z0-9])([a-z]))/${2:/downcase}${5:/downcase}${8:/downcase}-${3:/downcase}${6:/downcase}${9:/downcase}$10/g}}",
"Title: \"${3:${1/[_]|(([a-z0-9])([A-Z]))|(([A-Z])([A-Z0-9])([a-z]))/$2$5 $3$6$7/g}}\"",
"Description: \"$4\"",
"* $0"
],
"description": "Create a FSH Extension"
},
"FSH Logical": {
"prefix": ["log", "Log"],
"body": [
"Logical: $1",
"Parent: ${2:Base}",
"Id: ${3:$1}",
"Title: \"${4:${1/[_]|(([a-z0-9])([A-Z]))|(([A-Z])([A-Z0-9])([a-z]))/$2$5 $3$6$7/g}}\"",
"Description: \"$5\"",
"* $0"
],
"description": "Create a FSH Resource"
},
"FSH Resource": {
"prefix": ["res", "Res"],
"body": [
"Resource: $1",
"Parent: ${2|DomainResource,Resource|}",
"Id: ${3:$1}",
"Title: \"${4:${1/[_]|(([a-z0-9])([A-Z]))|(([A-Z])([A-Z0-9])([a-z]))/$2$5 $3$6$7/g}}\"",
"Description: \"$5\"",
"* $0"
],
"description": "Create a FSH Resource"
},
"FSH Value Set": {
"prefix": ["vs", "VS", "val", "Val"],
"body": [
"ValueSet: $1",
"Id: ${2:${1/(([A-Z]*)[_]([A-Z]*))|(([A-Z]*[a-z0-9]+)([A-Z]+))|(([A-Z]+)([A-Z0-9])([a-z]))/${2:/downcase}${5:/downcase}${8:/downcase}-${3:/downcase}${6:/downcase}${9:/downcase}$10/g}}",
"Title: \"${3:${1/[_]|(([a-z0-9])([A-Z]))|(([A-Z])([A-Z0-9])([a-z]))/$2$5 $3$6$7/g}}\"",
"Description: \"$4\"",
"* $0"
],
"description": "Create a FSH ValueSet"
},
"FSH Code System": {
"prefix": ["cs", "CS", "cod", "Cod"],
"body": [
"CodeSystem: $1",
"Id: ${2:${1/(([A-Z]*)[_]([A-Z]*))|(([A-Z]*[a-z0-9]+)([A-Z]+))|(([A-Z]+)([A-Z0-9])([a-z]))/${2:/downcase}${5:/downcase}${8:/downcase}-${3:/downcase}${6:/downcase}${9:/downcase}$10/g}}",
"Title: \"${3:${1/[_]|(([a-z0-9])([A-Z]))|(([A-Z])([A-Z0-9])([a-z]))/$2$5 $3$6$7/g}}\"",
"Description: \"$4\"",
"* $0"
],
"description": "Create a FSH Code System"
},
"FSH Instance": {
"prefix": ["inst", "Inst"],
"body": [
"Instance: $1",
"InstanceOf: $2",
"Usage: ${3|#example,#definition,#inline|}",
"Title: \"${4:${1/[_]|(([a-z0-9])([A-Z]))|(([A-Z])([A-Z0-9])([a-z]))/$2$5 $3$6$7/g}}\"",
"Description: \"$5\"",
"* $0"
],
"description": "Create a FSH Instance"
},
"FSH Invariant": {
"prefix": ["inv", "Inv"],
"body": [
"Invariant: $1",
"Description: \"$2\"",
"Expression: \"$3\"",
"Severity: ${4|#error,#warning|}",
"XPath: \"$5\"",
"",
"$0"
],
"description": "Create a FSH Invariant"
},
"FSH Mapping": {
"prefix": ["map", "Map"],
"body": [
"Mapping: $1",
"Source: $2",
"Target: \"$3\"",
"Id: $4",
"Title: \"$5\"",
"Description: \"$6\"",
"* $0"
],
"description": "Create a FSH Invariant"
},
"FSH RuleSet": {
"prefix": ["RS", "rs", "rule", "Rule"],
"body": ["RuleSet: $1", "* $0"],
"description": "Create a FSH RuleSet"
},
"Slicing rules": {
"prefix": ["^slicing"],
"body": [
"^slicing.discriminator.type = ${1|#value,#exists,#pattern,#type,#profile|}",
"${TM_CURRENT_LINE/\\s*([^\\^]+).*/$1/}^slicing.discriminator.path = \"$2\"",
"${TM_CURRENT_LINE/\\s*([^\\^]+).*/$1/}^slicing.rules = ${3|#open,#closed,#openAtEnd|}",
"${TM_CURRENT_LINE/\\s*([^\\^]+).*/$1/}^slicing.description = \"$4\"",
"${TM_CURRENT_LINE/\\s*([^\\^]+).*/$1/}^slicing.ordered = ${5|false,true|}",
"$0"
],
"description": "Add slicing rules"
}
}