Skip to content

Data Transfer Process Start v0.7.0

Hauke Hund edited this page Oct 18, 2022 · 1 revision

Instructions

In order to start the data-send process, you could use the Task resources from below. Beforehand, adapt them by making some changes:

  • Replace the placeholder <REPLACE-WITH-YOUR-ORGANIZATION-IDENTIFIER> with your dic-identifier
  • Replace the placeholder <REPLACE-WITH-CURRENT-DATE-AND-TIME> with the current date and time in the form yyyy-MM-dd'T'HH:mm:ssX, e.g. 2022-07-12T12:00:00+01:00
  • Replace the placeholder <REPLACE-WITH-DATE-AND-TIME> with a date and time in the form yyyy-MM-dd'T'HH:mm:ssX based on the description of the input parameter
  • Replace the placeholder <REPLACE-WITH-PATIENT-PSN> with the dic-pseudonym of the patient provided by the fTTP in the form source/original
  • Replace the placeholder <REPLACE-WITH-PATIENT-URL> with the url of the patient resource in your local FHIR store, e.g. http://dic-fhir-store:8080/fhir/Patient/1

To send the Task resources to your local DSF FHIR server, put one of the provided resource from below in a file called start-send.xml (depending on using an identifier or an absolute URL to identify the patient) and use the following curl command:

curl -H "Accept: application/fhir+xml" -H "Content-Type: application/fhir+xml" -H "Prefer: return=OperationOutcome" \
--cert client_certificate.pem \
--key client_certificate_private-key.pem \
--data @start-send.xml \
https://your-fhir-server-dns.de/fhir/Task

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

To run the data-send process in dry-run mode, to abort after validation and before sending any actual data to the GECCO Transfer Hub (GTH), uncomment the appropriate input parameter from the xml.

Task Resources

When the pseudonym is already part of the patient resource in the local GECCO FHIR server, start with a logical reference to the patient resource using the pseudonym.

<Task xmlns="http://hl7.org/fhir">
   <meta>
      <profile value="http://www.netzwerk-universitaetsmedizin.de/fhir/StructureDefinition/task-start-data-send|0.7.0"/>
   </meta>
   <instantiatesUri value="http://www.netzwerk-universitaetsmedizin.de/bpe/Process/dataSend/0.7.0"/>
   <status value="requested"/>
   <intent value="order"/>
   <authoredOn value="<REPLACE-WITH-CURRENT-DATE-AND-TIME>"/>
   <requester>
      <type value="Organization"/>
      <identifier>
         <system value="http://highmed.org/sid/organization-identifier"/>
         <value value="<REPLACE-WITH-YOUR-ORGANIZATION-IDENTIFIER>"/>
      </identifier>
   </requester>
   <restriction>
      <recipient>
         <type value="Organization"/>
         <identifier>
            <system value="http://highmed.org/sid/organization-identifier"/>
            <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="startDataSend"/>
   </input>
   <!-- parameter defined the patient, for whom data should be transferred,
		specified using the dic-pseudonym NamingSystem in the form source/original 
		(source = fttp domain, original = DIC pseudonym) -->
   <input>
      <type>
         <coding>
            <system value="http://www.netzwerk-universitaetsmedizin.de/fhir/CodeSystem/data-transfer"/>
            <code value="patient"/>
         </coding>
      </type>
      <valueReference>
         <type value="Patient"></type>
         <identifier>
            <system value="http://www.netzwerk-universitaetsmedizin.de/sid/dic-pseudonym"/>
            <value value="<REPLACE-WITH-PATIENT-PSN>"/>
         </identifier>
      </valueReference>
   </input>
   <!-- parameter specifying GECCO resources should be send stopping at the 
		defined date, resources that have been modified after the specified date 
		will not be transmitted, typically this will be the current date time -->
   <input>
      <type>
         <coding>
            <system value="http://www.netzwerk-universitaetsmedizin.de/fhir/CodeSystem/data-transfer"/>
            <code value="export-to"/>
         </coding>
      </type>
      <valueInstant value="<REPLACE-WITH-DATE-AND-TIME>"/>
   </input>
   <!-- optional parameter specifying GECCO resources should be send starting 
		at the defined date, resources older than the specified date will not be 
		transported -->
   <!-- <input>
      <type>
         <coding>
            <system value="http://www.netzwerk-universitaetsmedizin.de/fhir/CodeSystem/data-transfer"/>
            <code value="export-from"/>
         </coding>
      </type>
      <valueDateTime value="<REPLACE-WITH-DATE-AND-TIME>"/>
   </input> -->
   <!-- optional parameter enabling a dry run of the data-send process. Specifying the
		'dry-run' parameter with value 'true' will result in the data-send process
		aborting before storing the encrypted transfer bundle in the local DSF FHIR server
		and sending a Task to start the data-translate process to the GTH -->
   <!-- <input>
      <type>
         <coding>
            <system value="http://www.netzwerk-universitaetsmedizin.de/fhir/CodeSystem/data-transfer"/>
            <code value="dry-run"/>
         </coding>
      </type>
      <valueBoolean value="true"/>
   </input> -->
</Task>

When requesting pseudonyms from the fTTP using the data transfer process. Start with an absolute reference to the patient resource in the local GECCO FHIR server.

<Task xmlns="http://hl7.org/fhir">
   <meta>
      <profile value="http://www.netzwerk-universitaetsmedizin.de/fhir/StructureDefinition/task-start-data-send|0.7.0"/>
   </meta>
   <instantiatesUri value="http://www.netzwerk-universitaetsmedizin.de/bpe/Process/dataSend/0.7.0"/>
   <status value="requested"/>
   <intent value="order"/>
   <authoredOn value="<REPLACE-WITH-CURRENT-DATE-AND-TIME>"/>
   <requester>
      <type value="Organization"/>
      <identifier>
         <system value="http://highmed.org/sid/organization-identifier"/>
         <value value="<REPLACE-WITH-YOUR-ORGANIZATION-IDENTIFIER>"/>
      </identifier>
   </requester>
   <restriction>
      <recipient>
         <type value="Organization"/>
         <identifier>
            <system value="http://highmed.org/sid/organization-identifier"/>
            <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="startDataSend"/>
   </input>
   <!-- parameter defined the patient, for whom data should be transferred,
		specified using an absolute reference -->
   <input>
      <type>
         <coding>
            <system value="http://www.netzwerk-universitaetsmedizin.de/fhir/CodeSystem/data-transfer"/>
            <code value="patient"/>
         </coding>
      </type>
      <valueReference>
         <reference value="<REPLACE-WITH-PATIENT-URL>"/>
      </valueReference>
   </input>
   <!-- parameter specifying GECCO resources should be send stopping at the 
		defined date, resources that have been modified after the specified date 
		will not be transmitted, typically this will be the current date time -->
   <input>
      <type>
         <coding>
            <system value="http://www.netzwerk-universitaetsmedizin.de/fhir/CodeSystem/data-transfer"/>
            <code value="export-to"/>
         </coding>
      </type>
      <valueInstant value="<REPLACE-WITH-DATE-AND-TIME>"/>
   </input>
   <!-- optional parameter specifying GECCO resources should be send starting 
		at the defined date, resources older than the specified date will not be 
		transported -->
   <!-- <input>
      <type>
         <coding>
            <system value="http://www.netzwerk-universitaetsmedizin.de/fhir/CodeSystem/data-transfer"/>
            <code value="export-from"/>
         </coding>
      </type>
      <valueDateTime value="<REPLACE-WITH-DATE-AND-TIME>"/>
   </input> -->
   <!-- optional parameter enabling a dry run of the data-send process. Specifying the
		'dry-run' parameter with value 'true' will result in the data-send process
		aborting before storing the encrypted transfer bundle in the local DSF FHIR server
		and sending a Task to start the data-translate process to the GTH -->
   <!-- <input>
      <type>
         <coding>
            <system value="http://www.netzwerk-universitaetsmedizin.de/fhir/CodeSystem/data-transfer"/>
            <code value="dry-run"/>
         </coding>
      </type>
      <valueBoolean value="true"/>
   </input> -->
</Task>

Trigger Process

Example Task resources to start and stop the Trigger process can be found in the repository at codex-processes-ap1/codex-process-data-transfer/src/test/resources/fhir/Task/.

Clone this wiki locally