Page History
...
Det er op til anvenderen/udvikleren selv at vælge platform og frameworks, der passer til resten af dennes løsning. Fra et udvikler perspektiv kan man enten vælge selv at generere stubkode udfra de standardiserede WSDL filer eller at anvende et tredjepartsprodukt. Nedenfor gives et forslag til, hvordan det kan gribes an med tredjepartsproduktet IPF Open eHealth Integration Platform, som forudsætter man arbejder på en java platform. Andre platforme kan have tilsvarende værktøjer og muligheder.
...
- Opret kald i OpeneHealth code model
- For ITI41 kald indebærer det blandt andet opret/indlæs af dokument samt opret af metadata til documententry
- For ITI42, 57 og 61 indebærer det oprettelse af metadata
- For ITI18 skal søge kriterierne sættes op
- For ITI43 skal dokumentiderne sættes op
- Udfør kald - det transformeres til RIM formatet format på vej ud, og tilbage til core model ved returnering automatisk vha. openeHealth frameworket
- Aflæs kaldets svar og håndter eventuelle fejl returneret. For ITI-18 og ITI-43 er der ligeledes dokument id'er henholdsvis dokumenter, der skal håndteres.
...
Og her tilsvarende RIM format, som openeHealth automatisk oversætter det til og som anvendes ved ITI kaldet:
| Code Block | ||||
|---|---|---|---|---|
| ||||
<ns2:Classification classificationScheme="urn:uuid:f4f85eac-e6cb-4883-b524-f2705394840f" classifiedObject="urn:uuid:69d3b9f3-7919-40e0-8731-32fb339216c2" nodeRepresentation="N" id="urn:uuid:9068bc2b-1717-4337-abfb-027f303b20c6">
<ns2:Slot name="codingScheme">
<ns2:ValueList>
<ns2:Value>2.16.840.1.113883.5.25</ns2:Value>
</ns2:ValueList>
</ns2:Slot>
<ns2:Name>
<ns2:LocalizedString xml:lang="en-US" charset="UTF-8" value="N"/>
</ns2:Name>
</ns2:Classification>
<ns2:ExternalIdentifier registryObject="urn:uuid:69d3b9f3-7919-40e0-8731-32fb339216c2" identificationScheme="urn:uuid:58a6f841-87b3-4a3e-92fd-a8ffeff98427" value="2512489996^^^&1.2.208.176.1.2&ISO" id="urn:uuid:6dc240d8-d871-4df1-b8c6-3414f1415022">
<ns2:Name>
<ns2:LocalizedString value="XDSDocumentEntry.patientId"/>
</ns2:Name>
</ns2:ExternalIdentifier> |
Vigtige Objekter og
...
id'er
TODO: bedre overskrift
Når man arbejder med OpeneHealth core model er der nogle centrale klasser/objekter man arbejder med. 3 af dem er SubmissionSet, DocumentEntry og Relation:
...
Når man udfylder documentEntry med metadata skal man huske de førnævnte CDA standarder. Er der tale om et stable dokument, kan man overveje, om man ikke med fordel kan hente meget af metadata informationen fra dokumentet selv, ved at deserialisere det.
I forbindelse med, at man opretter associationer, skal der angives en source og target entryuuid, udover associationens egen entryUuid. Her gælder
...
TODO: indsæt requst og response på iti41 og 18
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
---------------------------
ID: 4
Address: https://dros-url/dros/iti41
Encoding: UTF-8
Http-Method: POST
Content-Type: multipart/related; type="application/xop+xml"; boundary="uuid:2f4c8aeb-3158-4730-acaf-d113802064c9"; start="<root.message@cxf.apache.org>"; start-info="application/soap+xml"
Headers: {Accept=[*/*]}
Payload: --uuid:2f4c8aeb-3158-4730-acaf-d113802064c9
Content-Type: application/xop+xml; charset=UTF-8; type="application/soap+xml"
Content-Transfer-Encoding: binary
Content-ID: <root.message@cxf.apache.org>
Payload:
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
.. soap headers fjernet for overskueligehed...
</soap:Header>
<soap:Body>
<ns4:ProvideAndRegisterDocumentSetRequest xmlns:ns6="urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0" xmlns:ns5="urn:oasis:names:tc:ebxml-regrep:xsd:lcm:3.0" xmlns:ns4="urn:ihe:iti:xds-b:2007" xmlns:ns3="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0" xmlns:ns2="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0">
<ns5:SubmitObjectsRequest>
<ns2:RegistryObjectList>
<ns2:ExtrinsicObject mimeType="text/xml" lid="8438472030670286734.7450729509229840524.1645439411709" objectType="urn:uuid:7edca82f-054d-47f2-a032-9b2a5b5186c1" status="urn:oasis:names:tc:ebxml-regrep:StatusType:Approved" id="urn:uuid:cfe0c274-170c-457e-8db4-978ef88cbc67">
<ns2:Slot name="creationTime">
<ns2:ValueList>
<ns2:Value>20220221113011</ns2:Value>
</ns2:ValueList>
</ns2:Slot>
<ns2:Slot name="languageCode">
<ns2:ValueList>
<ns2:Value>da-DK</ns2:Value>
</ns2:ValueList>
</ns2:Slot>
<ns2:Slot name="serviceStartTime">
<ns2:ValueList>
<ns2:Value>20220221113011</ns2:Value>
</ns2:ValueList>
</ns2:Slot>
<ns2:Slot name="serviceStopTime">
<ns2:ValueList>
<ns2:Value>20220221113011</ns2:Value>
</ns2:ValueList>
</ns2:Slot>
<ns2:Slot name="sourcePatientId">
<ns2:ValueList>
<ns2:Value>2512489996^^^&1.2.208.176.1.2&ISO</ns2:Value>
</ns2:ValueList>
</ns2:Slot>
<ns2:Slot name="sourcePatientInfo">
<ns2:ValueList>
<ns2:Value>PID-5|Berggren^Nancy^Ann</ns2:Value>
<ns2:Value>PID-7|19481225</ns2:Value>
<ns2:Value>PID-8|F</ns2:Value>
</ns2:ValueList>
</ns2:Slot>
<ns2:Name>
<ns2:LocalizedString xml:lang="en-US" charset="UTF-8" value="Dato og tidspunkt for møde mellem patient og sundhedsperson"/>
</ns2:Name>
<ns2:Classification classificationScheme="urn:uuid:93606bcf-9494-43ec-9b4e-a7748d1a838d" classifiedObject="urn:uuid:cfe0c274-170c-457e-8db4-978ef88cbc67" nodeRepresentation="" id="urn:uuid:5d10bc50-f8fc-4209-9b5b-9ae7e3ec9c16">
<ns2:Slot name="authorInstitution">
<ns2:ValueList>
<ns2:Value>DROS Testafdeling^^^^^&1.2.208.176.1.1&ISO^^^^12345679999</ns2:Value>
</ns2:ValueList>
</ns2:Slot>
</ns2:Classification>
<ns2:Classification classificationScheme="urn:uuid:41a5887f-8865-4c09-adf7-e362475b143a" classifiedObject="urn:uuid:cfe0c274-170c-457e-8db4-978ef88cbc67" nodeRepresentation="001" id="urn:uuid:fc8d7a57-1ca4-492d-ab01-69306d007f09">
<ns2:Slot name="codingScheme">
<ns2:ValueList>
<ns2:Value>1.2.208.184.100.9</ns2:Value>
</ns2:ValueList>
</ns2:Slot>
<ns2:Name>
<ns2:LocalizedString xml:lang="en-US" charset="UTF-8" value="Klinisk rapport"/>
</ns2:Name>
</ns2:Classification>
<ns2:Classification classificationScheme="urn:uuid:a09d5840-386c-46f2-b5ad-9c3699a4309d" classifiedObject="urn:uuid:cfe0c274-170c-457e-8db4-978ef88cbc67" nodeRepresentation="urn:ad:dk:medcom:appointmentsummary:full" id="urn:uuid:1ad9b3b9-163a-401d-9bb8-087b14fad7ab">
<ns2:Slot name="codingScheme">
<ns2:ValueList>
<ns2:Value>1.2.208.184.100.10</ns2:Value>
</ns2:ValueList>
</ns2:Slot>
<ns2:Name>
<ns2:LocalizedString xml:lang="en-US" charset="UTF-8" value="DK Appointment Summary Document schema"/>
</ns2:Name>
</ns2:Classification>
<ns2:Classification classificationScheme="urn:uuid:f33fb8ac-18af-42cc-ae0e-ed0b0bdb91e1" classifiedObject="urn:uuid:cfe0c274-170c-457e-8db4-978ef88cbc67" nodeRepresentation="22232009" id="urn:uuid:9e659080-2238-43b7-bc6d-6705596e9451">
<ns2:Slot name="codingScheme">
<ns2:ValueList>
<ns2:Value>2.16.840.1.113883.6.96</ns2:Value>
</ns2:ValueList>
</ns2:Slot>
<ns2:Name>
<ns2:LocalizedString xml:lang="en-US" charset="UTF-8" value="hospital"/>
</ns2:Name>
</ns2:Classification>
<ns2:Classification classificationScheme="urn:uuid:cccf5598-8b07-4b77-a05e-ae952c785ead" classifiedObject="urn:uuid:cfe0c274-170c-457e-8db4-978ef88cbc67" nodeRepresentation="408443003" id="urn:uuid:4c1de4ab-f396-4d40-aa0f-5cd48e9fbf46">
<ns2:Slot name="codingScheme">
<ns2:ValueList>
<ns2:Value>2.16.840.1.113883.6.96</ns2:Value>
</ns2:ValueList>
</ns2:Slot>
<ns2:Name>
<ns2:LocalizedString xml:lang="en-US" charset="UTF-8" value="almen medicin"/>
</ns2:Name>
</ns2:Classification>
<ns2:Classification classificationScheme="urn:uuid:f0306f51-975f-434e-a61c-c59651d33983" classifiedObject="urn:uuid:cfe0c274-170c-457e-8db4-978ef88cbc67" nodeRepresentation="39289-4" id="urn:uuid:e80eacf0-9047-47de-9d7a-7b37ae7fb749">
<ns2:Slot name="codingScheme">
<ns2:ValueList>
<ns2:Value>2.16.840.1.113883.6.1</ns2:Value>
</ns2:ValueList>
</ns2:Slot>
<ns2:Name>
<ns2:LocalizedString xml:lang="en-US" charset="UTF-8" value="Follow-up (referred to) provider &or specialist, appointment date"/>
</ns2:Name>
</ns2:Classification>
<ns2:Classification classificationScheme="urn:uuid:f4f85eac-e6cb-4883-b524-f2705394840f" classifiedObject="urn:uuid:cfe0c274-170c-457e-8db4-978ef88cbc67" nodeRepresentation="N" id="urn:uuid:4274843e-3550-4234-877b-9b70ed5ec1ef">
<ns2:Slot name="codingScheme">
<ns2:ValueList>
<ns2:Value>2.16.840.1.113883.5.25</ns2:Value>
</ns2:ValueList>
</ns2:Slot>
<ns2:Name>
<ns2:LocalizedString xml:lang="en-US" charset="UTF-8" value="N"/>
</ns2:Name>
</ns2:Classification>
<ns2:ExternalIdentifier registryObject="urn:uuid:cfe0c274-170c-457e-8db4-978ef88cbc67" identificationScheme="urn:uuid:58a6f841-87b3-4a3e-92fd-a8ffeff98427" value="ABCDE^^^&1.2.208.176.1.2&ISO" id="urn:uuid:90e4671c-fed6-4b01-9b23-efbdad59a90a">
<ns2:Name>
<ns2:LocalizedString value="XDSDocumentEntry.patientId"/>
</ns2:Name>
</ns2:ExternalIdentifier>
<ns2:ExternalIdentifier registryObject="urn:uuid:cfe0c274-170c-457e-8db4-978ef88cbc67" identificationScheme="urn:uuid:2e82c1f6-a085-4c72-9da3-8640a32e42ab" value="8438472030670286734.7450729509229840524.1645439411709" id="urn:uuid:6d5fe954-401e-4e44-b9a7-ea69713d55fb">
<ns2:Name>
<ns2:LocalizedString value="XDSDocumentEntry.uniqueId"/>
</ns2:Name>
</ns2:ExternalIdentifier>
</ns2:ExtrinsicObject>
<ns2:RegistryPackage status="urn:oasis:names:tc:ebxml-regrep:StatusType:Approved" id="6610087827968212831.3203050515460410630.1645439455555">
<ns2:Slot name="submissionTime">
<ns2:ValueList>
<ns2:Value>20220221113011</ns2:Value>
</ns2:ValueList>
</ns2:Slot>
<ns2:Classification classificationScheme="urn:uuid:aa543740-bdda-424e-8c96-df4873be8500" classifiedObject="6610087827968212831.3203050515460410630.1645439455555" nodeRepresentation="39289-4" id="urn:uuid:5901c10c-427c-4e9f-bd02-f722bbe682cc">
<ns2:Slot name="codingScheme">
<ns2:ValueList>
<ns2:Value>2.16.840.1.113883.6.1</ns2:Value>
</ns2:ValueList>
</ns2:Slot>
<ns2:Name>
<ns2:LocalizedString xml:lang="en-US" charset="UTF-8" value="Follow-up (referred to) provider &or specialist, appointment date"/>
</ns2:Name>
</ns2:Classification>
<ns2:ExternalIdentifier registryObject="6610087827968212831.3203050515460410630.1645439455555" identificationScheme="urn:uuid:6b5aea1a-874d-4603-a4bc-96a0a7b38446" value="2512489996^^^&1.2.208.176.1.2&ISO" id="urn:uuid:455d6c19-04a8-4abc-86a7-b4610879f9bb">
<ns2:Name>
<ns2:LocalizedString value="XDSSubmissionSet.patientId"/>
</ns2:Name>
</ns2:ExternalIdentifier>
<ns2:ExternalIdentifier registryObject="6610087827968212831.3203050515460410630.1645439455555" identificationScheme="urn:uuid:96fdda7c-d067-4183-912e-bf5ee74998a8" value="6610087827968212831.3203050515460410630.1645439455555" id="urn:uuid:d86cc2f3-726d-4e67-8d5b-65ddcb244607">
<ns2:Name>
<ns2:LocalizedString value="XDSSubmissionSet.uniqueId"/>
</ns2:Name>
</ns2:ExternalIdentifier>
<ns2:ExternalIdentifier registryObject="6610087827968212831.3203050515460410630.1645439455555" identificationScheme="urn:uuid:554ac39e-e3fe-47fe-b233-965d2a147832" value="6610087827968212831.3203050515460410630.1645439455555" id="urn:uuid:995d3638-f9b9-4cf7-99da-396b2c15b82c">
<ns2:Name>
<ns2:LocalizedString value="XDSSubmissionSet.sourceId"/>
</ns2:Name>
</ns2:ExternalIdentifier>
</ns2:RegistryPackage>
<ns2:Classification classifiedObject="6610087827968212831.3203050515460410630.1645439455555" classificationNode="urn:uuid:a54d6aa5-d40d-43f9-88c5-b4633d873bdd" id="urn:uuid:71497627-476c-492c-8dac-b1532e4fcdb0"/>
<ns2:Association associationType="urn:oasis:names:tc:ebxml-regrep:AssociationType:HasMember" sourceObject="6610087827968212831.3203050515460410630.1645439455555" targetObject="urn:uuid:cfe0c274-170c-457e-8db4-978ef88cbc67" status="urn:oasis:names:tc:ebxml-regrep:StatusType:Approved" id="d5d9f096-a2d2-4029-86cc-6a19e3af30e4">
<ns2:Slot name="SubmissionSetStatus">
<ns2:ValueList>
<ns2:Value>Original</ns2:Value>
</ns2:ValueList>
</ns2:Slot>
</ns2:Association>
</ns2:RegistryObjectList>
</ns5:SubmitObjectsRequest>
<ns4:Document id="urn:uuid:cfe0c274-170c-457e-8db4-978ef88cbc67">
<xop:Include xmlns:xop="http://www.w3.org/2004/08/xop/include" href="cid:5cc72a7d-d08c-4a24-aecb-ada368be561d-1@urn%3Aihe%3Aiti%3Axds-b%3A2007"/>
</ns4:Document>
</ns4:ProvideAndRegisterDocumentSetRequest>
</soap:Body>
</soap:Envelope>
--uuid:2f4c8aeb-3158-4730-acaf-d113802064c9
Content-Type: text/xml
Content-Transfer-Encoding: binary
Content-ID: <5cc72a7d-d08c-4a24-aecb-ada368be561d-1@urn:ihe:iti:xds-b:2007>
<ClinicalDocument xmlns="urn:hl7-org:v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" classCode="DOCCLIN" moodCode="EVN" xsi:schemaLocation="urn:hl7-org:v3 ../../PHMR/Schema/CDA_SDTC.xsd">
... resten af dokumetet er fjernet for overskuelighed ...
</ClinicalDocument>
--uuid:2f4c8aeb-3158-4730-acaf-d113802064c9--
-------------------------------------- |
| Code Block | ||||
|---|---|---|---|---|
| ||||
----------------------------
ID: 4
Response-Code: 200
Encoding: ISO-8859-1
Content-Type: multipart/related; type="application/xop+xml"; boundary="uuid:bd72b204-e4ba-4cc8-86a6-9f1a1b18adfe"; start="<root.message@cxf.apache.org>"; start-info="text/xml"
Headers: {connection=[keep-alive], content-type=[multipart/related; type="application/xop+xml"; boundary="uuid:bd72b204-e4ba-4cc8-86a6-9f1a1b18adfe"; start="<root.message@cxf.apache.org>"; start-info="text/xml"], Date=[Mon, 21 Feb 2022 10:30:57 GMT], Server=[WildFly/8], transfer-encoding=[chunked], X-Powered-By=[Undertow/1]}
Payload: --uuid:bd72b204-e4ba-4cc8-86a6-9f1a1b18adfe
Content-Type: application/xop+xml; charset=UTF-8; type="text/xml"
Content-Transfer-Encoding: binary
Content-ID: <root.message@cxf.apache.org>
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
...soapheaders fjernet for overskuelighed ...
</soap:Header>
<soap:Body>
<ns3:RegistryResponse xmlns:ns6="urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0" xmlns:ns5="urn:oasis:names:tc:ebxml-regrep:xsd:lcm:3.0" xmlns:ns4="urn:ihe:iti:xds-b:2007" xmlns:ns3="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0" xmlns:ns2="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0" status="urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Success"/>
</soap:Body>
</soap:Envelope>
--uuid:bd72b204-e4ba-4cc8-86a6-9f1a1b18adfe--
-------------------------------------- |
Biblioteker til .Net
TODO: find noget
...