-
Notifications
You must be signed in to change notification settings - Fork 1
2.0.0.1 Starting the Process
After installing, the ping pong process may be started either by using the DSF FHIR Server's UI reachable under its URL or by using curl. This requires an authorized user. Depending on the configuration of the DSF FHIR Server, this requires either a client certificate or OpenID Connect credentials. The DSF FHIR Server is guaranteed to be reachable by using the client certificate whose thumbprint is configured under DEV_DSF_FHIR_SERVER_ORGANIZATION_THUMBPRINT.
Navigate to the DSF FHIR Server's endpoint for draft Task resources:
/fhir/Task?_sort=_profile,identifier&status=draft
Select the Task resource with message-name startPing or startPingAutoStart, depending on whether the process should run once or repeatedly in certain intervals. Keep in mind to select the right version of the Task resource.
Fill in the input parameters according to the configuration and click Start Process.
Curl requires a client certificate, its private key and a ca certificate in addition to a Task resource to send to the DSF FHIR Server. The following example uses XML but JSON will work analogously.
curl -k -X POST -d @ping-task.xml https://my.fhir.sever/fhir/Task --cert /path/to/client-cert.pem --key /path/to/client-cert-private-key.pem -H "Content-Type: application/fhir+xml"Depending on the use case -k should be replaced by --cacert /path/to/ca-certificate.pem.
Organization identifiers have to be the identifier of the local organization and can be queried at the /fhir/Organization endpoint of the DSF FHIR Server.
<Task xmlns="http://hl7.org/fhir">
<meta>
<profile value="http://dsf.dev/fhir/StructureDefinition/task-start-ping|2.0" />
</meta>
<instantiatesCanonical value="http://dsf.dev/bpe/Process/ping|2.0" />
<status value="requested" />
<intent value="order" />
<authoredOn value="2025-10-17" />
<requester>
<type value="Organization" />
<identifier>
<system value="http://dsf.dev/sid/organization-identifier" />
<value value="My_Org" /> <!-- replace value -->
</identifier>
</requester>
<restriction>
<recipient>
<type value="Organization" />
<identifier>
<system value="http://dsf.dev/sid/organization-identifier" />
<value value="My_Org" /> <!-- replace value -->
</identifier>
</recipient>
</restriction>
<input>
<type>
<coding>
<system value="http://dsf.dev/fhir/CodeSystem/bpmn-message" />
<code value="message-name" />
</coding>
</type>
<valueString value="startPing" />
</input>
<input>
<type>
<coding>
<system value="http://dsf.dev/fhir/CodeSystem/ping"/>
<version value="2.0" />
<code value="target-endpoints"/>
</coding>
</type>
<valueString value="Endpoint?status=active&identifier=http://dsf.dev/sid/endpoint-identifier|"/>
</input>
<input>
<type>
<coding>
<system value="http://dsf.dev/fhir/CodeSystem/ping" />
<version value="2.0" />
<code value="download-resource-size-bytes" />
</coding>
</type>
<valueDecimal value="10000000" />
</input>
<input>
<type>
<coding>
<system value="http://dsf.dev/fhir/CodeSystem/ping" />
<version value="2.0" />
<code value="pong-timeout-duration" />
</coding>
</type>
<valueString value="PT30S" />
</input>
</Task>Organization identifiers have to be the identifier of the local organization and can be queried at the /fhir/Organization endpoint of the DSF FHIR Server.
<Task xmlns="http://hl7.org/fhir">
<meta>
<profile value="http://dsf.dev/fhir/StructureDefinition/task-start-ping-autostart|2.0" />
</meta>
<instantiatesCanonical value="http://dsf.dev/bpe/Process/pingAutostart|2.0" />
<status value="requested" />
<intent value="order" />
<authoredOn value="2025-10-17" />
<requester>
<type value="Organization" />
<identifier>
<system value="http://dsf.dev/sid/organization-identifier" />
<value value="My_Org" /> <!-- replace value -->
</identifier>
</requester>
<restriction>
<recipient>
<type value="Organization" />
<identifier>
<system value="http://dsf.dev/sid/organization-identifier" />
<value value="My_Org" /> <!-- replace value -->
</identifier>
</recipient>
</restriction>
<input>
<type>
<coding>
<system value="http://dsf.dev/fhir/CodeSystem/bpmn-message" />
<code value="message-name" />
</coding>
</type>
<valueString value="startPingAutostart" />
</input>
<input>
<type>
<coding>
<system value="http://dsf.dev/fhir/CodeSystem/ping"/>
<version value="2.0" />
<code value="target-endpoints"/>
</coding>
</type>
<valueString value="Endpoint?status=active&identifier=http://dsf.dev/sid/endpoint-identifier|"/>
</input>
<input>
<type>
<coding>
<system value="http://dsf.dev/fhir/CodeSystem/ping" />
<version value="2.0" />
<code value="timer-interval" />
</coding>
</type>
<valueString value="PT24H" />
</input>
<input>
<type>
<coding>
<system value="http://dsf.dev/fhir/CodeSystem/ping" />
<version value="2.0" />
<code value="download-resource-size-bytes" />
</coding>
</type>
<valueDecimal value="10000000" />
</input>
<input>
<type>
<coding>
<system value="http://dsf.dev/fhir/CodeSystem/ping" />
<version value="2.0" />
<code value="pong-timeout-duration" />
</coding>
</type>
<valueString value="PT30S" />
</input>
</Task>