Skip to content

Commit ccc6b90

Browse files
committed
updated ig.ini
1 parent dcd64cc commit ccc6b90

File tree

5 files changed

+214
-1
lines changed

5 files changed

+214
-1
lines changed

README.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,18 @@
11
# nuts-knooppunt-specs
22
Specifications of the Nuts Knooppunt
3+
4+
5+
# FHIR Implementation Guide Auto-Builder
6+
7+
This FHIR IG is setup to auto-build to https://build.fhir.org/ig/nuts-foundation/nl-generic-functions-ig or https://build.fhir.org/ig/nuts-foundation/nl-generic-functions-ig/branches/<your-branch>
8+
9+
The build-logs of this auto-build ae published on https://chat.fhir.org/#narrow/stream/179297-committers.2Fnotification/topic/ig-build (could take 2-3 minutes after a commit to the repo)
10+
In the ./build.log you can find the build log. Validation tests are in ./output/qa.html
11+
12+
This IG can also be triggerred manually using the FHIR Implementation Guide Auto-Builder. To trigger a build, use this curl statement (change to branchname 'main' to whatever branch you're trying to build):
13+
14+
curl -X POST "https://us-central1-fhir-org-starter-project.cloudfunctions.net/ig-commit-trigger" \
15+
-H "Content-Type:application/json" \
16+
--data '{"ref": "refs/heads/main", "repository": {"full_name": "nuts-foundation/nl-generic-functions-ig"}}'
17+
18+

ig.ini

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[IG]
2-
ig = fsh-generated/resources/ImplementationGuide-fhir.fhir.nl.generic-functions-ig.json
2+
ig = fsh-generated/resources/ImplementationGuide-fhir.nl.generic-functions-ig.json
33
template = fhir.base.template#current
44
; template = ihe.fhir.template
55
# For more template examples: https://raw.githubusercontent.com/FHIR/sample-ig/master/ig.ini

input/fsh/aliases.fsh

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
Alias: $sct = http://snomed.info/sct
2+
Alias: $loinc = http://loinc.org
3+
Alias: $task-status = http://hl7.org/fhir/task-status
4+
Alias: $task-intent = http://hl7.org/fhir/request-intent
5+
Alias: $task-code = http://hl7.org/fhir/CodeSystem/task-code
6+
Alias: $task-input-type = http://terminology.hl7.org/CodeSystem/task-input-type
7+
Alias: $bsn = http://fhir.nl/fhir/NamingSystem/bsn
8+
Alias: $ura = http://fhir.nl/fhir/NamingSystem/ura
9+
Alias: $uzi = http://fhir.nl/fhir/NamingSystem/uzi
10+
Alias: $yesnodontknow = http://hl7.org/fhir/ValueSet/yesnodontknow
11+
Alias: $condition-code = http://hl7.org/fhir/ValueSet/condition-code
12+
Alias: $usage-context-type = http://terminology.hl7.org/CodeSystem/usage-context-type
13+
Alias: $FHIR-version = http://hl7.org/fhir/FHIR-version
14+
Alias: $v3-AdministrativeGender = http://terminology.hl7.org/CodeSystem/v3-AdministrativeGender
15+
Alias: $v3-ActCode = http://terminology.hl7.org/CodeSystem/v3-ActCode
16+
Alias: $v3-ActReason = http://terminology.hl7.org/CodeSystem/v3-ActReason
17+
Alias: $v3-DataOperation = http://terminology.hl7.org/CodeSystem/v3-DataOperation
18+
Alias: $v3-NullFlavor = http://terminology.hl7.org/CodeSystem/v3-NullFlavor
19+
Alias: $launchContext = http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext
20+
Alias: $questionnaire-item-control = http://hl7.org/fhir/questionnaire-item-control
21+
Alias: $uuid = urn:ietf:rfc:3986
22+
Alias: $provenance-participant-type = http://terminology.hl7.org/CodeSystem/provenance-participant-type
23+
Alias: $unitsofmeasure = http://unitsofmeasure.org
24+
Alias: $audit-event-type = http://terminology.hl7.org/CodeSystem/audit-event-type
25+
Alias: $restful-interaction = http://hl7.org/fhir/restful-interaction
26+
// Alias: $orpha = http://www.orpha.net
27+
// Alias: $atc = http://www.whocc.no/atc
28+
29+
// Alias: $v3-AddressUse = http://terminology.hl7.org/CodeSystem/v3-AddressUse
30+
// Alias: $consentscope = http://terminology.hl7.org/CodeSystem/consentscope
31+
// Alias: $consentcategorycodes = http://terminology.hl7.org/CodeSystem/consentcategorycodes
32+
// Alias: $v3-RoleCode = http://terminology.hl7.org/CodeSystem/v3-RoleCode
33+
// Alias: $condition-clinical = http://terminology.hl7.org/CodeSystem/condition-clinical
34+
// Alias: $condition-ver-status = http://terminology.hl7.org/CodeSystem/condition-ver-status
35+
36+
// Alias: $data-absent-reason = http://terminology.hl7.org/CodeSystem/data-absent-reason
37+
// Alias: $allergyintolerance-verification = http://terminology.hl7.org/CodeSystem/allergyintolerance-verification
38+
// Alias: $allergyintolerance-clinical = http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical
39+
// Alias: $observation-category = http://terminology.hl7.org/CodeSystem/observation-category
40+
// Alias: $organization-type = http://nictiz.nl/fhir/NamingSystem/organization-type
41+
// Alias: $icpc-1-nl = http://hl7.org/fhir/sid/icpc-1-nl
42+
// Alias: $uzi-rolcode = http://fhir.nl/fhir/NamingSystem/uzi-rolcode
43+
// Alias: $v3-ObservationInterpretation = http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation
44+
// Alias: $icd-10-nl = http://hl7.org/fhir/sid/icd-10-nl
45+
// Alias: $v3-AdministrativeGender = http://terminology.hl7.org/CodeSystem/v3-AdministrativeGender
46+
// Alias: $v3-MaritalStatus = http://terminology.hl7.org/CodeSystem/v3-MaritalStatus
47+
// Alias: $v3-LanguageAbilityProficiency = http://terminology.hl7.org/CodeSystem/v3-LanguageAbilityProficiency
48+
// Alias: $v3-LanguageAbilityMode = http://terminology.hl7.org/CodeSystem/v3-LanguageAbilityMode
49+
// Alias: $coverage-selfpay = http://terminology.hl7.org/CodeSystem/coverage-selfpay
50+
51+
// Alias: $v2-0443 = http://terminology.hl7.org/CodeSystem/v2-0443
52+
// Alias: $immunization-recommendation-status = http://terminology.hl7.org/CodeSystem/immunization-recommendation-status
53+
//

input/fsh/rulesets.fsh

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
RuleSet: SupportResource (resource)
2+
* rest.resource[+].type = #{resource}
3+
// * rest.resource[=].extension[0].url = $exp
4+
// * rest.resource[=].extension[0].valueCode = {expectation}
5+
6+
RuleSet: SupportProfile (profile)
7+
* rest.resource[=].supportedProfile[+] = "{profile}"
8+
// * rest.resource[=].supportedProfile[=].extension[0].url = $exp
9+
// * rest.resource[=].supportedProfile[=].extension[0].valueCode = {expectation}
10+
11+
RuleSet: SupportInteraction (interaction)
12+
* rest.resource[=].interaction[+].code = {interaction}
13+
// * rest.resource[=].interaction[=].extension[0].url = $exp
14+
// * rest.resource[=].interaction[=].extension[0].valueCode = {expectation}
15+
16+
RuleSet: SupportSearchParam (name, type)
17+
* rest.resource[=].searchParam[+].name = "{name}"
18+
* rest.resource[=].searchParam[=].type = {type}
19+
// * rest.resource[=].searchParam[=].extension[0].url = $exp
20+
// * rest.resource[=].searchParam[=].extension[0].valueCode = {expectation}
21+
22+
RuleSet: SupportCustomSearchParam (name, canonical, type)
23+
* rest.resource[=].searchParam[+].name = "{name}"
24+
* rest.resource[=].searchParam[=].definition = "{canonical}"
25+
* rest.resource[=].searchParam[=].type = {type}
26+
27+
RuleSet: BundleEntry (resource, method, url)
28+
* entry[+].resource = {resource}
29+
* entry[=].request.method = {method}
30+
* entry[=].request.url = "{url}"
31+
32+
RuleSet: BundleEntryPUT (resource, method, url, etag)
33+
* entry[+].resource = {resource}
34+
* entry[=].request.method = {method}
35+
* entry[=].request.url = "{url}"
36+
* entry[=].request.ifMatch = "W/\"{etag}\""
37+
38+
RuleSet: BundleEntryWithFullurl (fullUrl, resource, method, url)
39+
* entry[+].fullUrl = "{fullUrl}"
40+
* entry[=].resource = {resource}
41+
* entry[=].request.method = {method}
42+
* entry[=].request.url = "{url}"
43+
44+
// RuleSet: ParticipantMember (identifier-system, identifier-value, startdate)
45+
// * participant[+].member.identifier.system = {identifier-system}
46+
// * participant[=].member.identifier.value = "{identifier-value}"
47+
// * participant[=].period.start = "{startdate}"
48+
49+
RuleSet: ParticipantMember (startdate, resource-type, instance-number, identifier-system, identifier-value, assigner-system, assigner-value, source)
50+
* participant[+].period.start = "{startdate}"
51+
* participant[=].member = Reference({{{source}-fhir-url}}{resource-type}/{{{resource-type}{instance-number}}})
52+
* participant[=].member.type = "{resource-type}"
53+
* participant[=].member.identifier.system = {identifier-system}
54+
* participant[=].member.identifier.value = "{identifier-value}"
55+
* participant[=].member.identifier.assigner.identifier.system = {assigner-system}
56+
* participant[=].member.identifier.assigner.identifier.value = "{assigner-value}"
57+
58+
59+
RuleSet: RefIdentifier (resource-element, resource-type, instance-number, identifier-system, identifier-value, assigner-system, assigner-value, source)
60+
* {resource-element} = Reference({{{source}-fhir-url}}{resource-type}/{{{resource-type}{instance-number}}})
61+
* {resource-element}.type = "{resource-type}"
62+
* {resource-element}.identifier.system = {identifier-system}
63+
* {resource-element}.identifier.value = "{identifier-value}"
64+
* {resource-element}.identifier.assigner.identifier.system = {assigner-system}
65+
* {resource-element}.identifier.assigner.identifier.value = "{assigner-value}"
66+
67+
RuleSet: RefIdentifierContained (resource-element, resource-type, id, identifier-system, identifier-value, assigner-system, assigner-value)
68+
* {resource-element} = Reference({id})
69+
* {resource-element}.type = "{resource-type}"
70+
* {resource-element}.identifier.system = {identifier-system}
71+
* {resource-element}.identifier.value = "{identifier-value}"
72+
* {resource-element}.identifier.assigner.identifier.system = {assigner-system}
73+
* {resource-element}.identifier.assigner.identifier.value = "{assigner-value}"

input/fsh/structuredefinitions.fsh

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
Profile: SCPCareplan
2+
Parent: CarePlan
3+
Title: "Shared Care Planning: CarePlan Profile"
4+
Description: "A care plan for a patient that is shared between multiple care providers."
5+
* category = $sct#135411000146103 // Multidisciplinary care regime
6+
* subject only Reference(Patient)
7+
* subject 1..1
8+
* careTeam only Reference(CareTeam)
9+
* careTeam 1..1
10+
* author only Reference(PractitionerRole)
11+
* author 1..1
12+
* contained only CareTeam
13+
* contained 1..1
14+
15+
16+
// Profile: SCPCareTeam
17+
// Parent: CareTeam
18+
// Title: "Shared Care Planning: CareTeam Profile"
19+
// Description: "A care team for a patient that is shared between multiple care providers."
20+
// * subject only Reference(Patient)
21+
// * subject 1..1
22+
// * participant.member 1..1
23+
// * participant.period.start 1..1
24+
// * participant.period.end 0..1
25+
26+
27+
Profile: SCPTask
28+
Parent: Task
29+
Title: "Shared Care Planning: Task Profile"
30+
Description: "A task for a patient that is shared between multiple care providers."
31+
* ^status = #draft
32+
* ^experimental = true
33+
* basedOn only Reference(SCPCareplan)
34+
* basedOn MS
35+
* status from SCPTaskStatus (required)
36+
//rule: only if focal-resource is of type Questionnaire, state-transistion request->completed is allowed
37+
* focus MS
38+
* for only Reference(Patient)
39+
* for 1..1
40+
* requester.identifier.system 1..1
41+
* requester.identifier.value 1..1
42+
* owner.identifier.system 1..1
43+
* owner.identifier.value 1..1
44+
45+
46+
Instance: ActivityDefinition-SCPTask
47+
InstanceOf: ActivityDefinition
48+
Usage: #definition
49+
* meta.tag = $FHIR-version#4.0.1
50+
* url = "http://santeonnl.github.io/shared-care-planning/ActivityDefinition/SCPTask.json"
51+
* name = "activitydefinition-scp-task"
52+
* status = #active
53+
* version = "0.1"
54+
* title = "Shared Care Planning: Task ActivityDefinition"
55+
* description = "An ActivityDefinition for a task for a patient that is shared between multiple care providers."
56+
* kind = #Task
57+
* profile = "http://santeonnl.github.io/shared-care-planning/StructureDefinition/SCPTask"
58+
59+
60+
ValueSet: SCPTaskStatus
61+
Id: scp-task-status
62+
Title: "Shared Care Planning: Task Status"
63+
* ^status = #active
64+
* include codes from valueset http://hl7.org/fhir/ValueSet/task-status
65+
* exclude $task-status#draft
66+
67+
// Invariant: SCPTask-state-change
68+
// Severity: #error
69+
// Description: "Only the 'requester' can create an SCPTask in state 'ready' or 'requested'.
70+
// Only the 'owner' can update an SCPTask for state transitions requested->received, requested->accepted, requested->rejected, received->accepted, received->rejected, accepted->in-progress, in-progress->completed, in-progress->failed, ready->completed and ready->failed.
71+
// Both the 'requester' and 'owner' can update an SCPTask for state transitions requested->cancelled, received->cancelled, accepted->cancelled, in-progress->on-hold and on-hold->in-progress"

0 commit comments

Comments
 (0)