WHO-UMC IDMP Management and Publish API, published by Uppsala Monitoring Centre. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/Uppsala-Monitoring-Centre/WHO-UMC-IDMP-Service/ and changes regularly. See the Directory of published versions
This part of the specification is only available in the preview API
In this section it is described how the WHO-UMC IDMP service (API) is used to request a new SubstanceDefinition
representing a GSID in an asynchronous way.
The reason for using an asynchronous request model is that the process for generating a GSID includes a manual data validation step which can not be done instantly.
The asynchronous nature of the request is achieved by using a FHIR Task
. In the Task
a draft SubstanceDefinition
resource without an Identifier is used as input, placed in the contained section of the Task.
Upon a successful request, a GSID is generated and a new SubstanceDefinition
resource representing it will be available, referenced in the output section of the Task
.
SubstanceDefinition
(SD) resource with the information available for GSID generation. The resource should only have an id for internal references in the Task
and no Identifier since it is the Identifier (the GSID) that will be generated.Task
resource and reference it in the input section specifying the appropriate type using the TaskInputType code system.POST
the Task
to the maintenance organization. Before POST
ing the Task
it should be validated using a Task/$validate
POST
callGET
the status of the Task
by using the 'Content-Location' header returned from the POST
call. It is also possible to get the status by requesting the Task given the id of the Task returned as response of the POST
.
Repeat step (4) until the status is Completed. Not to overload the server a exponential back-off approach should be used starting from four seconds up to 4096 seconds between the requests.GET
call will display status 'completed' and the body of the GET
will contain the Task with a reference to the generated SubstanceDefinition resource (including a GSID) in the output section.