Skip to content
This repository has been archived by the owner on Mar 22, 2024. It is now read-only.

Process KDS Report Start v0.3.0

Reto Wettstein edited this page Nov 16, 2022 · 1 revision

This page lists a FHIR resources that can be used to prepare the HRP DSF FHIR server as well as to start/stop the KDS report autostart process and to start the KDS report send process at a DIC. The following needs to be known beforehand:

  • The DIC identifier of the local organization

It is important to differentiate between the DSF FHIR server and the KDS FHIR store. The DSF FHIR server contains all FHIR resources of the DSF needed for process flow and the KDS FHIR store contains the project results (i.e. the actual data) to be transmitted. These are two different FHIR servers.

HRP: Prepare DSF FHIR Server

The HRP DSF FHIR server needs to be prepared with the Search Bundle on which the KDS report should be based.

To send the Search Bundle resource to the HRP DSF FHIR server, the following cURL command could be used:

curl -X PUT \
--cert client-certificate.pem \
--key client-certificate_private-key.pem \
-H "Accept: application/fhir+xml" -H "Content-Type: application/fhir+xml" \
-d @search-bundle.xml \
https://<dsf-fhir-base-url>/fhir/Bundle?identifier=http://medizininformatik-initiative.de/fhir/CodeSystem/kds-report|search-bundle

Notice: On Windows you need to remove the \ multi-line command seperators.

The individual parts of the command have the following meaning:

  • search-bundle.xml contains the corresponding Search Bundle resource that can be found here
  • client-certificate.pem contains your client-certificate
  • client-certificate_private-key.pem contains the private-key belonging to your client-certificate
  • <dsf-fhir-base-url> needs to be replaced with the base url of your DSF FHIR server

DIC: Start Send Process

To start/stop the KDS report autostart process and to start the KDS report send process, a Task resource like the following example to the DIC DSF FHIR server. Please replace all placeholders in the form <REPLACE-WITH-...>.

To send the Task resource to the DIC DSF FHIR server, the following cURL command could be used:

curl \
--cert client-certificate.pem \
--key client-certificate_private-key.pem \
-H "Accept: application/fhir+xml" -H "Content-Type: application/fhir+xml" \
-d @task.xml \
https://<dsf-fhir-base-url>/fhir/Task

Notice: On Windows you need to remove the \ multi-line command seperators.

The individual parts of the command have the following meaning:

  • task.xml contains the corresponding Task resource from below
  • client-certificate.pem contains your client-certificate
  • client-certificate_private-key.pem contains the private-key belonging to your client-certificate
  • <dsf-fhir-base-url> needs to be replaced with the base url of your DSF FHIR server

Task: KDS Report Autostart Send Process

<Task xmlns="http://hl7.org/fhir">
	<meta>
		<profile value="http://medizininformatik-initiative.de/fhir/StructureDefinition/mii-kds-report-task-send-start|0.3.0"/>
	</meta>
	<instantiatesUri value="http://medizininformatik-initiative.de/bpe/Process/kdsReportSend/0.3.0"/>
	<status value="requested"/>
	<intent value="order"/>
	<!-- Example: <authoredOn value="2022-10-21T15:00:00+02:00"/> -->
	<authoredOn value="<REPLACE-WITH-DATE-AND-TIME>"/>
	<requester>
		<type value="Organization"/>
		<identifier>
			<system value="http://highmed.org/sid/organization-identifier"/>
			<!-- Example: <value value="ukhd.de"/> -->
			<value value="<REPLACE-WITH-YOUR-ORGANIZATION-IDENTIFIER>"/>
		</identifier>
	</requester>
	<restriction>
		<recipient>
			<type value="Organization"/>
			<identifier>
				<system value="http://highmed.org/sid/organization-identifier"/>
				<!-- Example: <value value="ukhd.de"/> -->
				<value value="<REPLACE-WITH-YOUR-ORGANIZATION-IDENTIFIER>"/>
			</identifier>
		</recipient>
	</restriction>
	<input>
		<type>
			<coding>
				<system value="http://highmed.org/fhir/CodeSystem/bpmn-message"/>
				<code value="message-name"/>
			</coding>
		</type>
		<valueString value="kdsReportSendStart"/>
	</input>
</Task>

Task: KDS Report Autostart Start Process

<Task xmlns="http://hl7.org/fhir">
	<meta>
		<profile value="http://medizininformatik-initiative.de/fhir/StructureDefinition/mii-kds-report-task-autostart-start|0.3.0"/>
	</meta>
	<instantiatesUri value="http://medizininformatik-initiative.de/bpe/Process/kdsReportAutostart/0.3.0"/>
	<status value="requested"/>
	<intent value="order"/>
	<!-- Example: <authoredOn value="2022-10-21T15:00:00+02:00"/> -->
	<authoredOn value="<REPLACE-WITH-DATE-AND-TIME>"/>
	<requester>
		<type value="Organization"/>
		<identifier>
			<system value="http://highmed.org/sid/organization-identifier"/>
			<!-- Example: <value value="ukhd.de"/> -->
			<value value="<REPLACE-WITH-YOUR-ORGANIZATION-IDENTIFIER>"/>
		</identifier>
	</requester>
	<restriction>
		<recipient>
			<type value="Organization"/>
			<identifier>
				<system value="http://highmed.org/sid/organization-identifier"/>
				<!-- Example: <value value="ukhd.de"/> -->
				<value value="<REPLACE-WITH-YOUR-ORGANIZATION-IDENTIFIER>"/>
			</identifier>
		</recipient>
	</restriction>
	<input>
		<type>
			<coding>
				<system value="http://highmed.org/fhir/CodeSystem/bpmn-message"/>
				<code value="message-name"/>
			</coding>
		</type>
		<valueString value="kdsReportAutostartStart"/>
	</input>
	<!-- Uncomment to define another KDS report interval as the default value once a week (every 7 days) -->
	<!-- Example: <valueString value="P28D"/> creates and sends a KDS report a HRP once a month (every 28 days) />
	<!--
	<input>
      <type>
         <coding>
            <system value="http://medizininformatik-initiative.de/fhir/CodeSystem/kds-report"/>
            <code value="timer-interval"/>
         </coding>
      </type>
      <valueString value="<REPLACE-WITH-SENDING-INTERVAL>"/>
   </input>
   -->
</Task>

Task: KDS Report Autostart Stop Process

<Task xmlns="http://hl7.org/fhir">
	<meta>
		<profile value="http://medizininformatik-initiative.de/fhir/StructureDefinition/mii-kds-report-task-autostart-stop|0.3.0"/>
	</meta>
	<instantiatesUri value="http://medizininformatik-initiative.de/bpe/Process/kdsReportAutostart/0.3.0"/>
	<status value="requested"/>
	<intent value="order"/>
	<!-- Example: <authoredOn value="2022-10-21T15:00:00+02:00"/> -->
	<authoredOn value="<REPLACE-WITH-DATE-AND-TIME>"/>
	<requester>
		<type value="Organization"/>
		<identifier>
			<system value="http://highmed.org/sid/organization-identifier"/>
			<!-- Example: <value value="ukhd.de"/> -->
			<value value="<REPLACE-WITH-YOUR-ORGANIZATION-IDENTIFIER>"/>
		</identifier>
	</requester>
	<restriction>
		<recipient>
			<type value="Organization"/>
			<identifier>
				<system value="http://highmed.org/sid/organization-identifier"/>
				<!-- Example: <value value="ukhd.de"/> -->
				<value value="<REPLACE-WITH-YOUR-ORGANIZATION-IDENTIFIER>"/>
			</identifier>
		</recipient>
	</restriction>
	<input>
		<type>
			<coding>
				<system value="http://highmed.org/fhir/CodeSystem/bpmn-message"/>
				<code value="message-name"/>
			</coding>
		</type>
		<valueString value="kdsReportAutostartStop"/>
	</input>
</Task>
Clone this wiki locally