FHIR HL7 PDQ Service - dcm4che/dcm4chee-arc-light GitHub Wiki
A FHIR HL7 PDQ Service searches for patient demographics for patient(s) available on an external patient demographics supplier capable of responding to (GET) FHIR HTTP requests addressing the Patient Resource type.
Example of FHIR Patient Demographics Supplier - HAPI FHIR Server
- Create an own device.
- Accessible from archive UI Configuration page - Devices tab - More Functions dropdown - Create Device
- Create a Network Connection
- Accessible from archive UI Configuration page - Devices tab - Edit eg. test-hapi - Child Objects - Network Connections
- Reference Protocol as HTTP in its Network Connection Extension
- Create a Web Application in the same device (created above)
- Accessible from archive UI Configuration page - Devices tab - Edit eg. test-hapi - Device Extension (Edit) - Child Objects - Web Applications
- Select the above created network connection in Web Application Network Connections
- Select FHIR as the Web Service Class
- Configure the relative resource path of external patient demographics supplier FHIR server in Web Service Path
- In archive device dcm4chee-arc, Create a PDQ Service Descriptor
- Accessible from archive UI Configuration page - Devices tab - Edit eg. dcm4chee-arc - Device Extension (Edit) - Archive Device Extension (Edit) - Child Objects - PDQ Service
- Refer the above Web Application in PDQ Service URI
as
pdq-fhir:<your-web-app-name>
- Some mandatory PDQ Service Property(s)
shall be configured as indicated below
Note :
dcmProperty: XSLStylesheetURI=${jboss.server.temp.url}/dcm4chee-arc/fhir-pat2dcm.xsl dcmProperty: search._format=xml dcmProperty: search.identifier.system=https://github.com/synthetichealth/synthea
https://github.com/synthetichealth/synthea
is an example. Replace with System portion of identifier search parameter
Complete list of configurable PDQ service properties and their descriptions
Property | Description |
---|---|
XSLStylesheetURI | Stylesheet used to transcode Patient information from received HL7 FHIR R4 Patient Resource Bundle , ${jboss.server.temp.url}/dcm4chee-arc/fhir-pat2dcm.xsl by default |
search._format |
_format search parameter (xml , text/xml , application/xml or application/fhir+xml) . Alternatively a corresponding Accept header parameter (header.Accept) may be specified to ensure that the response is encoded in XML. |
search.identifier.system | System portion of identifier search parameter. Gets overwritten by search.identifier.system.issuer.{issuer} and search.identifier.system.type.{type} . If not specified DICOM attribute Patient ID (0010,0020) with no system portion is passed as identifier search parameter. |
search.identifier.system.issuer.{issuer} | System portion of identifier search parameter for Patient IDs which Issuer of Patient ID (0010,0021) = {issuer}. Gets overwritten by search.identifier.system.type.{type}
|
search.identifier.system.type.ISO | Prefix (urn:oid: ) for System portion of identifier search parameter derived from Universal Entity ID (0040,0032) of the item of the Issuer of Patient ID Qualifiers Sequence (0010,0024) if Universal Entity ID Type (0040,0033) = ISO . |
search.identifier.system.type.UUID | Prefix (urn:uuid: ) for System portion of identifier search parameter derived from Universal Entity ID (0040,0032) of the item of the Issuer of Patient ID Qualifiers Sequence (0010,0024) if Universal Entity ID Type (0040,0033) = UUID . |
search.identifier.system.type.URI | Prefix (NONE ) for System portion of identifier search parameter derived from Universal Entity ID (0040,0032) of the item of the Issuer of Patient ID Qualifiers Sequence (0010,0024) if Universal Entity ID Type (0040,0033) = URI . |
search.identifier.system.type.{type} | Prefix for System portion of identifier search parameter derived from Universal Entity ID (0040,0032) of the item of the Issuer of Patient ID Qualifiers Sequence (0010,0024) if Universal Entity ID Type (0040,0033) = {type}. |
header.Accept | Accept HTTP header (text/xml , application/xml or application/fhir+xml ). Alternatively a corresponding _format search parameter (search._format) may be specified to ensure that the response is encoded in XML. May include FHIR Version Parameter ; fhirVersion=4.0 . |
header.{name} | any other HTTP header included in the request |
search.{name} | any other search parameter included in the request |
Alternatively, same steps indicated above can be directly imported into LDAP using following ldif
version: 1
dn: dcmPDQServiceID=testHAPI,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
objectClass: dcmPDQService
dcmPDQServiceID: testHAPI
dcmURI: pdq-fhir:HAPI
dicomDescription: Test PDQ with FHIR HL7 External Patient Demographics Supplier - HAPI Server
dcmProperty: XSLStylesheetURI=${jboss.server.temp.url}/dcm4chee-arc/fhir-pat2dcm.xsl
dcmProperty: search._format=xml
dcmProperty: search.identifier.system=https://github.com/synthetichealth/synthea
dn: dicomDeviceName=hapi-server,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
objectClass: dcmDevice
objectClass: dicomDevice
dicomDeviceName: hapi-server
dicomInstalled: TRUE
dn: cn=http,dicomDeviceName=hapi-server,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
objectClass: dcmNetworkConnection
objectClass: dicomNetworkConnection
dicomHostname: localhost
cn: http
dcmProtocol: HTTP
dicomPort: 8780
dn: dcmWebAppName=HAPI,dicomDeviceName=hapi-server,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
objectClass: dcmWebApp
dcmWebAppName: HAPI
dcmWebServiceClass: FHIR
dcmWebServicePath: /hapi-fhir-jpaserver/fhir/Patient
dicomNetworkConnectionReference: cn=http,dicomDeviceName=hapi-server,cn=Devi
ces,cn=DICOM Configuration,dc=dcm4che,dc=org
with help of Apache Directory Studio or LDAP Command Line Tools
For the configuration to be effective - if configured using ldif snippet - use archive UI to reload the configuration.
- Accessible from Configuration page - Control tab