Guten Morgen,
nachdem ihr mir bei diesem vertrackten XML schon über einige Hürden geholfen habt, tut sich jetzt die nächste auf.
Wie schon geschrieben, verändere ich ein Vorlagen-Xml, um es dann an den Server zu senden. Z.B. so ersetze ich den TimeStamp:
Die Punktschreibweise (<>.<>) liegt mir sehr, da es für mich so am einfachsten ist. Und alles läuft mit diesem Beispielcode soweit perfekt:
Nun habe ich bis hierher den Namespace ausser acht gelassen. Und der muss nun noch an 3 Stellen in der Form <Bundle xmlns="http://hl7.org/fhir"> ins Dokument rein, bzw. ich will das gleich in der Vorlage ändern. Danach bringt der Zugriff auf die Elemente aber Fehler. Z.B.
wirft jetzt (mit eingefügtem Namespace) die Exception "Das angegebene Argument liegt außerhalb des gültigen Wertebereichs". Unten habe ich das gesamte XML angefügt, mit den 3 Namespace-Angaben (wie von der Telematik gefordert).
Im Netz konnte ich sehen, dass ich
1. einen Import machen muss (Imports <xmlns:xsi="http://hl7.org/fhir">)
2. ein GetNamespace machen muss (Private xsi As XNamespace = GetXmlNamespace(xsi))
3. beim Zugriff auf ein XElement den Namespace angeben muss
Ich habe damit experimentiert (ohne zu wissen, was ich da eigentlich tue). Es bringt nix. Das ist für mich Hobbyprogrammierer zu starker Tobak. Das schnall ich nicht. Könnt ihr mir nochmal helfen?
Viele Grüße
Norbert
nachdem ihr mir bei diesem vertrackten XML schon über einige Hürden geholfen habt, tut sich jetzt die nächste auf.
Wie schon geschrieben, verändere ich ein Vorlagen-Xml, um es dann an den Server zu senden. Z.B. so ersetze ich den TimeStamp:
Code:
doc.<entry>.<resource>.<MessageHeader>.<timestamp>.@value = DateTime.Now.ToString("yyyy-MM-ddTHH:mm:sszzzz")
Code:
File.Copy("TerminService\Codeanfordern06.xml", mFile) doc = XElement.Load(mFile) doc.Save(mFile) doc.<entry>.<resource>.<MessageHeader>.<timestamp>.@value = DateTime.Now.ToString("yyyy-MM-ddTHH:mm:sszzzz") doc.<entry>.<resource>.<MessageHeader>.<source>.<endpoint>.@value = "mailto:" & MailAddrFrom doc.<entry>.<resource>.<ReferralRequest>.<requester>.<agent>.<identifier>.<value>.@value = mBsnr doc.<entry>.<resource>.<ReferralRequest>.<requester>.<onBehalfOf>.<identifier>.<value>.@value = mLanr If chbDring.Checked Then doc.<entry>.<resource>.<ReferralRequest>.<priority>.@value = "urgent" Else doc.<entry>.<resource>.<ReferralRequest>.<priority>.@value = "routine" End If
Code:
Dim specialty As XElement = doc.<entry>.<resource>.<ReferralRequest>.<specialty>.ElementAt(0)
Im Netz konnte ich sehen, dass ich
1. einen Import machen muss (Imports <xmlns:xsi="http://hl7.org/fhir">)
2. ein GetNamespace machen muss (Private xsi As XNamespace = GetXmlNamespace(xsi))
3. beim Zugriff auf ein XElement den Namespace angeben muss
Ich habe damit experimentiert (ohne zu wissen, was ich da eigentlich tue). Es bringt nix. Das ist für mich Hobbyprogrammierer zu starker Tobak. Das schnall ich nicht. Könnt ihr mir nochmal helfen?
Viele Grüße
Norbert
Code:
<Bundle xmlns="http://hl7.org/fhir"> <id value="d753473c-34f2-4576-a4e8-e74e555ef14e" /> <meta> <profile value="https://fhir.kbv.de/StructureDefinition/74_PR_ETS_Bundle" /> </meta> <type value="message" /> <entry> <fullUrl value="urn:uuid:e3ddbded-31d3-4505-805a-03b0d941621e" /> <resource> <MessageHeader xmlns="http://hl7.org/fhir"> <id value="e3ddbded-31d3-4505-805a-03b0d941621e" /> <meta> <profile value="https://fhir.kbv.de/StructureDefinition/74_PR_ETS_MH_Vermittlungscodes-anfordern_Request" /> </meta> <event> <system value="https://fhir.kbv.de/CodeSystem/74_CS_ETS_Events" /> <code value="vermittlungscode-anfordern" /> </event> <timestamp value="2018-11-14T08:00:00+01:00" /> <source> <endpoint value="mailto:[email protected]" /> </source> <focus> <reference value="urn:uuid:b777414e-7a7f-4391-9f46-7d0c9fb6a42b" /> </focus> </MessageHeader> </resource> </entry> <entry> <fullUrl value="urn:uuid:b777414e-7a7f-4391-9f46-7d0c9fb6a42b" /> <resource> <ReferralRequest xmlns="http://hl7.org/fhir"> <id value="b777414e-7a7f-4391-9f46-7d0c9fb6a42b" /> <meta> <profile value="https://fhir.kbv.de/StructureDefinition/74_PR_ETS_Referralrequest_anforderung_muster06" /> </meta> <status value="draft" /> <intent value="order" /> <type> <coding> <system value="http://www.kbv.de/fhir/CodeSystem/74_CS_AW_Anlagetyp" /> <code value="KV-Muster_6" /> </coding> </type> <priority value="routine" /> <subject> <display value="-" /> </subject> <requester> <agent> <identifier> <system value="http://fhir.de/NamingSystem/kbv/lanr" /> <value value="123456400" /> </identifier> </agent> <onBehalfOf> <identifier> <system value="http://fhir.de/NamingSystem/kbv/bsnr" /> <value value="991234500" /> </identifier> </onBehalfOf> </requester> <specialty> <extension url="https://fhir.kbv.de/StructureDefinition/74_EX_ETS_AdditionalQualification"> <valueCoding> <system value="https://fhir.kbv.de/CodeSystem/74_CS_SFHIR_BAR_ZUSATZBEZEICHNUNG" /> <code value="009" /> </valueCoding> </extension> <extension url="https://fhir.kbv.de/StructureDefinition/74_EX_ETS_AdditionalQualification"> <valueCoding> <system value="https://fhir.kbv.de/CodeSystem/74_CS_SFHIR_BAR_ZUSATZBEZEICHNUNG" /> <code value="015" /> </valueCoding> </extension> <extension url="https://fhir.kbv.de/StructureDefinition/74_EX_ETS_AdditionalQualification"> <valueCoding> <system value="https://fhir.kbv.de/CodeSystem/74_CS_SFHIR_BAR_ZUSATZBEZEICHNUNG" /> <code value="027" /> </valueCoding> </extension> <coding> <system value="https://fhir.kbv.de/CodeSystem/74_CS_SFHIR_BPL_ARZTGRUPPE" /> <code value="04" /> </coding> </specialty> </ReferralRequest> </resource> </entry> </Bundle>
Comment