Implementation Guide
This is a FHIR resource that is used for version management of the application. Currently an Implementation Guide should point to a Composition resource.
The idea is that a given app version should use the resources that a given Composition resource is pointing to.
In the sample JSON below, the Implementation Guide points to a composition with an id 8294.
The valueRange object implies that the composition resource in this Implementation guide supports applications with version_code
between 1 to 10.
Fetching an Implementation Guide.
We need to get an Implementation Guide before user authentication. And for this to work, your project should have a version of fhir-gateway that has the ImplementationGuide endpoint whitelisted.
The ideal query to use to fetch an implementation guide is ImplementationGuide?name=zeir&context-quantity=le10&_sort=-context-quantity&_count=1
. The url queries
context-quantity=le10&_sort=-context-quantity&_count=1
ensures that you get the Implementation Guide whose useContext.valueRange.high.value is 10 or highest value near 10.
Sample JSON
{
"resourceType": "ImplementationGuide",
"id": "12967310",
"url": "https://fhir.zeir.smartregister.org/fhir/ImplementationGuide/quest",
"version": "1.1.0",
"name": "quest",
"title": "Quest Implementation Guide",
"status": "draft",
"packageId": "org.smartregister.fhircore",
"date": "2024-04-01",
"publisher": "Ona Systems, Inc.",
"fhirVersion": [
{
"code": {
"coding": [
{
"system": "http://hl7.org/fhir/FHIR-version",
"code": "4.3.0",
"display": "4.3.0"
}
],
"text": "FHIR Release 4B."
}
}
],
"useContext": {
"code": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/usage-context-type",
"code": "program",
"display": "Program"
}
],
"text": "Program"
},
"valueRange": {
"low": {
"value": 1
},
"high": {
"value": 10
}
}
},
"definition": {
"resource": [
{
"reference": {
"reference": "Composition/8294"
}
}
]
}
}