Skip to content

Commit 4f50387

Browse files
bramwesselorolandgroenreinkrul
authored
Careservices and routing testdata (#4)
* healthcareservice profile * signed commit * datamodel, typos, layout * added copy of TA routing * layout * table layout * sequence diagram routing * daigrams aangepast * renaming files * Fix inconsistencies in grammar, punctuation, and style across care-services.md and routing.md for improved clarity and adherence to guidelines. * add required elements in testdata * valid testset * examples for care services and routing * array fix * naming * example data titels edited for atrifact overview * adr-link-examples * ADR-links, topology, payloadType-update and roadmap * typos * leestekens * reference routing-examples * added items on roadmap * minor text changes * description updated * Apply suggestions from code review Co-authored-by: reinkrul <[email protected]> --------- Co-authored-by: Roland Groen <[email protected]> Co-authored-by: reinkrul <[email protected]>
1 parent 82acc52 commit 4f50387

18 files changed

+2943
-619
lines changed
Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
# 1) To use requests in this file, you need to install the REST Client extension in Visual Studio Code
2+
3+
# 2) In the settings.json of the REST Client extension, add these environment variables like so:
4+
# "rest-client.environmentVariables": {
5+
# "$shared": {
6+
# "path-to-data": "./fsh-generated/resources/"
7+
# },
8+
# "poc-vws-gf": {
9+
# "lrza-fhir-url": "http://localhost:8080/fhir/",
10+
# "lrza-access-token": "Bearer your-token-here",
11+
# "org1-fhir-url": "http://localhost:8080/fhir/",
12+
# "org1-access-token": "Bearer your-token-here",
13+
# "org2-fhir-url": "http://localhost:8080/fhir/",
14+
# "org2-access-token": "Bearer your-token-here",
15+
# "org3-fhir-url": "http://localhost:8080/fhir/",
16+
# "org3-access-token": "Bearer your-token-here",
17+
# "querydirectory-fhir-url": "http://localhost:8080/fhir/",
18+
# "querydirectory-access-token": "Bearer your-token-here",
19+
20+
# }
21+
# }
22+
23+
# 3) Switch between environments by clicking on the environment name in the status bar at the bottom right of the window
24+
25+
# 4) Make sure you have a FHIR server running that allows external references. You can use the HAPI FHIR server like so:
26+
# sudo docker pull hapiproject/hapi:latest
27+
# sudo docker run -p 8080:8080 -e hapi.fhir.allow_external_references=true -e hapi.fhir.store_meta_source_information=SOURCE_URI hapiproject/hapi:latest
28+
# 5) to stop the server, use: sudo docker stop <container-id> (you can find the container id by using 'sudo docker ps')
29+
30+
### POST data of services in LRZa
31+
32+
POST {{lrza-fhir-url}}
33+
Content-Type: application/fhir+json
34+
Authorization: {{lrza-access-token}}
35+
36+
<@ {{path-to-data}}Bundle-admin-directory-lrza.json
37+
38+
39+
###
40+
41+
POST {{lrza-fhir-url}}$reindex
42+
43+
### POST data of services in HIS of Organization 1
44+
45+
###
46+
47+
48+
POST {{org1-fhir-url}}
49+
Content-Type: application/fhir+json
50+
Authorization: {{org1-access-token}}
51+
52+
<@ {{path-to-data}}Bundle-admin-directory-org1.json
53+
54+
###
55+
56+
POST {{org1-fhir-url}}$reindex
57+
58+
###
59+
60+
POST {{org1-fhir-url}}
61+
Content-Type: application/fhir+json
62+
Authorization: {{org1-access-token}}
63+
64+
<@ {{path-to-data}}Bundle-phi-org1.json
65+
66+
### POST existing data in EHR of Organization 2
67+
68+
POST {{org2-fhir-url}}
69+
Content-Type: application/fhir+json
70+
Authorization: {{org2-access-token}}
71+
72+
<@ {{path-to-data}}Bundle-admin-directory-org2.json
73+
74+
###
75+
76+
POST {{org2-fhir-url}}$reindex
77+
78+
###
79+
80+
POST {{org2-fhir-url}}
81+
Content-Type: application/fhir+json
82+
Authorization: {{org2-access-token}}
83+
84+
<@ {{path-to-data}}Bundle-phi-org2.json
85+
86+
87+
### POST existing data in ECD of Organization 3
88+
89+
90+
POST {{org3-fhir-url}}
91+
Content-Type: application/fhir+json
92+
Authorization: {{org3-access-token}}
93+
94+
<@ {{path-to-data}}Bundle-admin-directory-org3.json
95+
96+
###
97+
98+
POST {{org3-fhir-url}}$reindex
99+
100+
101+
###
102+
103+
POST {{org3-fhir-url}}
104+
Content-Type: application/fhir+json
105+
Authorization: {{org3-access-token}}
106+
107+
<@ {{path-to-data}}Bundle-phi-org3.json
108+
109+
110+
111+
112+
### The result of all the above data of the admin directories should result in the bundle of the Query Directory below.
113+
114+
POST {{querydirectory-fhir-url}}
115+
Content-Type: application/fhir+json
116+
Authorization: {{querydirectory-access-token}}
117+
118+
<@ {{path-to-data}}Bundle-query-directory.json
119+
120+
121+
###
122+
123+
POST {{querydirectory-fhir-url}}$reindex
124+
125+
126+
127+
128+
# ###
129+
130+
# POST {{org4-fhir-url}}/$expunge
131+
# Content-Type: application/fhir+json
132+
133+
# {
134+
# "resourceType": "Parameters",
135+
# "parameter": [
136+
# {
137+
# "name": "expungeEverything",
138+
# "valueBoolean": true
139+
# }
140+
# ]
141+
# }

input/fsh/aliases.fsh

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,26 @@ Alias: $provenance-participant-type = http://terminology.hl7.org/CodeSystem/prov
2828
Alias: $unitsofmeasure = http://unitsofmeasure.org
2929
Alias: $audit-event-type = http://terminology.hl7.org/CodeSystem/audit-event-type
3030
Alias: $restful-interaction = http://hl7.org/fhir/restful-interaction
31+
Alias: $service-type = http://terminology.hl7.org/CodeSystem/service-type
32+
Alias: $endpoint-payload-type = http://terminology.hl7.org/CodeSystem/endpoint-payload-type
33+
Alias: $endpoint-connection-type = http://terminology.hl7.org/CodeSystem/endpoint-connection-type
3134
// Alias: $orpha = http://www.orpha.net
32-
// Alias: $atc = http://www.whocc.no/atc
35+
36+
37+
Alias: $nl-core-Patient = http://nictiz.nl/fhir/StructureDefinition/nl-core-Patient
38+
Alias: $organization-type = http://nictiz.nl/fhir/NamingSystem/organization-type
39+
Alias: $consentscope = http://terminology.hl7.org/CodeSystem/consentscope
40+
Alias: $v3-ParticipationType = http://terminology.hl7.org/CodeSystem/v3-ParticipationType
41+
Alias: $consentaction = http://terminology.hl7.org/CodeSystem/consentaction
42+
Alias: $v3-Confidentiality = http://terminology.hl7.org/CodeSystem/v3-Confidentiality
43+
Alias: $atc = http://www.whocc.no/atc
3344

3445
// Alias: $v3-AddressUse = http://terminology.hl7.org/CodeSystem/v3-AddressUse
3546
// Alias: $consentscope = http://terminology.hl7.org/CodeSystem/consentscope
3647
// Alias: $consentcategorycodes = http://terminology.hl7.org/CodeSystem/consentcategorycodes
3748
// Alias: $v3-RoleCode = http://terminology.hl7.org/CodeSystem/v3-RoleCode
38-
// Alias: $condition-clinical = http://terminology.hl7.org/CodeSystem/condition-clinical
39-
// Alias: $condition-ver-status = http://terminology.hl7.org/CodeSystem/condition-ver-status
49+
Alias: $condition-clinical = http://terminology.hl7.org/CodeSystem/condition-clinical
50+
Alias: $condition-ver-status = http://terminology.hl7.org/CodeSystem/condition-ver-status
4051

4152
// Alias: $data-absent-reason = http://terminology.hl7.org/CodeSystem/data-absent-reason
4253
// Alias: $allergyintolerance-verification = http://terminology.hl7.org/CodeSystem/allergyintolerance-verification
Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
Instance: 3f39dca9-a392-4eb3-8366-0c7ff53ab3a9
2+
InstanceOf: NlGfOrganization
3+
Usage: #example
4+
Title: "LRZa - Organization 1 - Organization"
5+
* meta.profile = "http://nictiz.nl/fhir/StructureDefinition/nl-core-HealthcareProvider-Organization"
6+
* identifier[+].system = "http://fhir.nl/fhir/NamingSystem/ura"
7+
* identifier[=].value = "11111111"
8+
* name = "example General Practice"
9+
* type[+] = $organization-type#Z3 "Huisartspraktijk (zelfstandig of groepspraktijk)"
10+
* telecom[0].system = #phone
11+
* telecom[=].value = "+3131599991"
12+
* telecom[=].use = #work
13+
* telecom[+].system = #email
14+
* telecom[=].value = "[email protected]"
15+
* telecom[=].use = #work
16+
* address.line = "Vogelenzangweg 31"
17+
* address.line[+].extension[0].url = "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName"
18+
* address.line[=].extension[0].valueString = "Vogelenzangweg"
19+
* address.line[+].extension[0].url = "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber"
20+
* address.line[=].extension[0].valueString = "31"
21+
* address.city = "Ulft"
22+
* address.postalCode = "7071 PT"
23+
* endpoint[+] = Reference(Endpoint/ffa3e969-3dfd-45d3-9d2c-f4e3795e1bf4)
24+
25+
Instance: ffa3e969-3dfd-45d3-9d2c-f4e3795e1bf4
26+
InstanceOf: NlGfEndpoint
27+
Usage: #example
28+
Title: "LRZa - Organization 1 - Endpoint"
29+
* status = #active
30+
* payloadType[+].coding = nl-gf-data-exchange-capabilities#http://nuts-foundation.github.io/nl-generic-functions-ig/CapabilityStatement/nl-gf-admin-directory-update-client "Care Services Directory for Update Client"
31+
* payloadMimeType[+] = #application/fhir+json
32+
* connectionType = $endpoint-connection-type#hl7-fhir-rest
33+
* name = "FHIR Endpoint 1"
34+
* managingOrganization.identifier.system = "http://fhir.nl/fhir/NamingSystem/kvk"
35+
* managingOrganization.identifier.value = "51494752" //Pharmapartners B.V.
36+
* contact[0].system = #phone
37+
* contact[=].value = "+3131599991"
38+
* contact[=].use = #work
39+
* contact[+].system = #email
40+
* contact[=].value = "[email protected]"
41+
* contact[=].use = #work
42+
* address = "https://cp1-test.example.org/fhirr4"
43+
44+
Instance: 4815bbe6-9fea-4875-a16c-a168d63054d4
45+
InstanceOf: NlGfOrganization
46+
Usage: #example
47+
Title: "LRZa - Organization 2 - Organization"
48+
* meta.profile = "http://nictiz.nl/fhir/StructureDefinition/nl-core-HealthcareProvider-Organization"
49+
* identifier[+].system = "http://fhir.nl/fhir/NamingSystem/ura"
50+
* identifier[=].value = "22222222"
51+
* name = "example Hospital"
52+
* type[+] = $organization-type#V4 "Ziekenhuis"
53+
* type[+] = $sct#22232009 "Hospital"
54+
* telecom[0].system = #phone
55+
* telecom[=].value = "+31301234567"
56+
* telecom[=].use = #work
57+
* telecom[+].system = #email
58+
* telecom[=].value = "[email protected]"
59+
* telecom[=].use = #work
60+
* address.line = "Catharinastraat 21"
61+
* address.line.extension[0].url = "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName"
62+
* address.line.extension[=].valueString = "Catharinastraat"
63+
* address.line.extension[+].url = "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber"
64+
* address.line.extension[=].valueString = "21"
65+
* address.city = "Doetinchem"
66+
* address.postalCode = "7001 BZ"
67+
* endpoint[+] = Reference(Endpoint/960a4f8c-74d8-482c-97ab-e2a025869fee)
68+
69+
70+
Instance: 960a4f8c-74d8-482c-97ab-e2a025869fee
71+
InstanceOf: NlGfEndpoint
72+
Usage: #example
73+
Title: "LRZa - Organization 2 - Endpoint"
74+
* status = #active
75+
* payloadType[+].coding = nl-gf-data-exchange-capabilities#http://nuts-foundation.github.io/nl-generic-functions-ig/CapabilityStatement/nl-gf-admin-directory-update-client "Care Services Directory for Update Client"
76+
* payloadMimeType[+] = #application/fhir+json
77+
* connectionType = $endpoint-connection-type#hl7-fhir-rest
78+
* name = "FHIR Endpoint 2"
79+
* managingOrganization.identifier.system = "http://fhir.nl/fhir/NamingSystem/kvk"
80+
* managingOrganization.identifier.value = "08013836" //Nedap N.V.
81+
* contact[0].system = #phone
82+
* contact[=].value = "+3131599991"
83+
* contact[=].use = #work
84+
* contact[+].system = #email
85+
* contact[=].value = "[email protected]"
86+
* contact[=].use = #work
87+
* address = "https://cp2-test.example.org/fhirr4"
88+
89+
Instance: fcf55b06-f22c-4058-9051-b77368bdd26b
90+
InstanceOf: NlGfOrganization
91+
Usage: #example
92+
Title: "LRZa - Organization 3 - Organization"
93+
* meta.profile = "http://nictiz.nl/fhir/StructureDefinition/nl-core-HealthcareProvider-Organization"
94+
* identifier[+].system = "http://fhir.nl/fhir/NamingSystem/ura"
95+
* identifier[=].value = "33333333"
96+
* name = "example Care Institution"
97+
* type[+] = $organization-type#X3 "Verplegings- of verzorgingsinstelling"
98+
* telecom[0].system = #phone
99+
* telecom[=].value = "+31301234567"
100+
* telecom[=].use = #work
101+
* telecom[+].system = #email
102+
* telecom[=].value = "[email protected]"
103+
* telecom[=].use = #work
104+
* address.line = "Smidsstraat 10"
105+
* address.line.extension[0].url = "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName"
106+
* address.line.extension[=].valueString = "Smidsstraat"
107+
* address.line.extension[+].url = "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber"
108+
* address.line.extension[=].valueString = "10"
109+
* address.city = "Zelhem"
110+
* address.postalCode = "7021 AC"
111+
* endpoint[+] = Reference(Endpoint/553416dd-da12-40f7-a9bd-eb3e193177bd)
112+
113+
Instance: 553416dd-da12-40f7-a9bd-eb3e193177bd
114+
InstanceOf: NlGfEndpoint
115+
Usage: #example
116+
Title: "LRZa - Organization 3 - Endpoint"
117+
* status = #active
118+
* payloadType[+].coding = nl-gf-data-exchange-capabilities#http://nuts-foundation.github.io/nl-generic-functions-ig/CapabilityStatement/nl-gf-admin-directory-update-client "Care Services Directory for Update Client"
119+
* payloadMimeType[+] = #application/fhir+json
120+
* connectionType = $endpoint-connection-type#hl7-fhir-rest
121+
* name = "FHIR Endpoint 3"
122+
* managingOrganization.identifier.system = "http://fhir.nl/fhir/NamingSystem/kvk"
123+
* managingOrganization.identifier.value = "34270859" //Gerimedica
124+
* contact[0].system = #phone
125+
* contact[=].value = "+3131599991"
126+
* contact[=].use = #work
127+
* contact[+].system = #email
128+
* contact[=].value = "[email protected]"
129+
* contact[=].use = #work
130+
* address = "https://cp3-test.example.org/fhirr4"
131+
132+
133+
Instance: admin-directory-lrza
134+
InstanceOf: Bundle
135+
Usage: #example
136+
Title: "Bundle of care services in LRZa"
137+
Description: "This bundle contains all care services for the LRZa Administration Directory example"
138+
* type = #transaction
139+
* insert BundleEntryPUT(Organization, 3f39dca9-a392-4eb3-8366-0c7ff53ab3a9)
140+
* insert BundleEntryPUT(Endpoint, ffa3e969-3dfd-45d3-9d2c-f4e3795e1bf4)
141+
* insert BundleEntryPUT(Organization, 4815bbe6-9fea-4875-a16c-a168d63054d4)
142+
* insert BundleEntryPUT(Endpoint, 960a4f8c-74d8-482c-97ab-e2a025869fee)
143+
* insert BundleEntryPUT(Organization, fcf55b06-f22c-4058-9051-b77368bdd26b)
144+
* insert BundleEntryPUT(Endpoint, 553416dd-da12-40f7-a9bd-eb3e193177bd)

0 commit comments

Comments
 (0)