Endpoint Registry Example
The following examples show an instance of the Endpoint Registry domain - an Organization that uses an Endpoint that implements an API Specification. The instance exemplifies a healthcare provider that uses an endpoint conforming to two example API specifications: Vaccines and Restriction register.
Healthcare provider (Organization)
This example of Organization shows an organization with an organization identifier as seen in the identifier element with system "urn:oid:2.5.4.97". It has a reference to the logical ID of the Endpoint it uses (see Endpoint section below) in the endpoint element.
| Organization |
| id : 6868324d-2f57-40be-922a-934387d2117b |
| identifier |
| system : urn:oid:2.5.4.97 |
| value : 556987XXXX |
| endpoint |
| reference : Endpoint/af80d38e-1fd2-44f1-b751-8253d4ab8b52 |
Endpoint
This example of Endpoint shows an endpoint in active status that can be reached at the address "https://journalis.api.regiontornaland.se/fhir". It is a FHIR based endpoint as seen in the connectionType element.
| Endpoint |
| id : af80d38e-1fd2-44f1-b751-8253d4ab8b52 |
| status : active |
| connectionType |
| coding |
| system : http://terminology.hl7.org/CodeSystem/endpoint-connection-type |
| code : hl7-fhir-rest |
| address : https://fhir.journalis.regiontornaland.se/556987XXXX/R4 |
API (Device)
This example of Endpoint describes a FHIR API located in a fictive Swedish regions EHR system.
The two extensions in the element conformsTo shows that the API conforms to API specifications for vaccinations and restriction-register. The extensions has the url "http://electronichealth.se/fhir/NDI/StructureDefinition/endpoint-payload-api-specification-er" that points to an ActorDefinition (see section ActorDefinition below), using the ActorDefinition's canonical URL. The two API specifications are both FHIR, as seen in the conformsTo.specification element.
The API uses Oauth as security method and the URL for the authorization server is https://auth.journalis.api as seen in the two first properties. The third property defines that the API is configured with a template endpoint url where the parameter "orgid" changes depending on which organization is using it to share their data.
The API references to the logical ID:s of it's Endpoints in the endpoint element. In this case it references the endpoint instance in the example above, with id c933bcd8-ae65-41ce-ae6f-82477c770333
| Device |
| id : 144f7b94-d23b-4840-82ed-6a88f7955e1d |
| displayName : Region Tornalands Journalis FHIR API |
| status : active |
| conformsTo |
| extension |
| url : http://electronichealth.se/fhir/NDI/StructureDefinition/endpoint-payload-actor-definition-er |
| value : http://electronichealth.se/ntk/ActorDefinition/Utbildningsmiljo/exempel-vaccinationer-1 |
| specification |
| coding |
| code : hl7-fhir-rest |
| conformsTo |
| extension |
| url : http://electronichealth.se/fhir/NDI/StructureDefinition/endpoint-payload-actor-definition-er |
| value : https://electronichealth.se/ntk/ActorDefinition/NDI/restriction-register-1 |
| specification |
| coding |
| code : hl7-fhir-rest |
| property |
| type |
| coding |
| code : security-method |
| value |
| coding |
| system : http://hl7.org/fhir/restful-security-service |
| code : OAuth |
| property |
| type |
| coding |
| code : security-url |
| value : https://auth.journalis.api |
| property |
| type |
| coding |
| code : template-endpoint-url |
| value : https://fhir.journalis.regiontornaland.se/{orgid}/R4 |
| endpoint |
| reference : Endpoint/af80d38e-1fd2-44f1-b751-8253d4ab8b52 |
API Specifications (ActorDefinition)
Example 1
This example of an API Specification shows meta data about a fictive API specification that is referenced in the Device example above. An ActorDefinition that defines a system rather than a person has to have the type element set to "system".
The API specification has the human readable name "API-specifikation Vaccinationer utbildningsmiljö" as seen in the title element, as well as a machine readable name "ExempelVaccinationer" as seen in the name element.
This specific instance is for version 1 of the specification. The url element is the canonical URL of the ActorDefinition and is the identifier that should be used to reference it, as done in the Endpoint example above.
The useContext element has the code "topic" which declares that the valueCoding defines a high level category that the ActorDefinition is a part of, in this example the category "utb".
The actual API specification can be found at the URL provided in the reference element, i.e. "https://example.com/fhir/exempel-specifikation-vaccinationer" in this example.
| ActorDefinition |
| id : 597a4df4-d4ee-45c6-880b-6301a9369d32 |
| url : http://electronichealth.se/ntk/ActorDefinition/Utbildningsmiljo/exempel-vaccinationer-1 |
| version : 1 |
| name : ExempelVaccinationer |
| title : API-specifikation Vaccinationer utbildningsmiljö |
| status : active |
| description : API-specifikation Vaccinationer utbildningsmiljö |
| useContext |
| code |
| system : http://terminology.hl7.org/CodeSystem/usage-context-type |
| code : topic |
| value |
| coding |
| system : http://electronichealth.se/CodeSystem/specification-categories |
| code : utb |
| display : utbildningsmiljö |
| type : system |
| reference : https://example.com/fhir/exempel-specifikation-vaccinationer |
Example 2
This example of an API Specification shows meta data about another API specification that is referenced to in the Endpoint.payload example above.
The API specification has the human readable name "Spärregister" as seen in the title element, as well as a machine readable name "restriction-register" as seen in the name element. The publisher element declares that the API specification is published by NDI. This specific instance is for version 1 of the specification.
The useContext element has the code "topic" which declares that the valueCoding defines a high level category that the API specification is a part of, in this example the category "ndi-specifications".
The actual API specification can be found at the URL provided in the reference element, i.e. "https://simplifier.net/guide/swedishproxypermissionanddatarestrictionservice?version=current" in this example.
| ActorDefinition |
| id : 11f2f9c5-7ff0-4a3c-8e0d-2e678fc8079f |
| url : https://electronichealth.se/ntk/ActorDefinition/NDI/restriction-register-1 |
| version : 1 |
| name : restriction-register |
| title : Spärregister |
| status : active |
| publisher : NDI |
| description : Tar emot en eller flera spärrar för vidare hantering |
| useContext |
| code |
| system : http://terminology.hl7.org/CodeSystem/usage-context-type |
| code : topic |
| value |
| coding |
| system : http://electronichealth.se/CodeSystem/specification-categories |
| code : ndi-specifications |
| type : system |
| reference : https://simplifier.net/guide/swedishproxypermissionanddatarestrictionservice?version=current |