User Tools

Site Tools


fmk:1.6.0:xml-elementer:alternativ_request_response_header

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
fmk:1.6.0:xml-elementer:alternativ_request_response_header [2026-08-13 11:53] andmfmk:1.6.0:xml-elementer:alternativ_request_response_header [2026-09-03 09:13] (current) andm
Line 11: Line 11:
 <code xml> <code xml>
 <soap:Header  ... > <soap:Header  ... >
 +    <!-- Alle disse elementer var tidligere en del af "FMKRequestHeader", men er nu enkeltelementer -->
     <OnBehalfOfHeader> ... </OnBehalfOfHeader>     <OnBehalfOfHeader> ... </OnBehalfOfHeader>
     <WhitelistingHeader> ... </WhitelistingHeader>     <WhitelistingHeader> ... </WhitelistingHeader>
     <ConsentHeader> ... </ConsentHeader>     <ConsentHeader> ... </ConsentHeader>
     <MinLogSessionId>...</MinLogSessionId>     <MinLogSessionId>...</MinLogSessionId>
 +    <FMKConfigurationLastUpdated>...</FMKConfigurationLastUpdated>
     <PreflightOnly/>     <PreflightOnly/>
     <PartOfBatchOperation/>     <PartOfBatchOperation/>
Line 20: Line 22:
  
 <soap:Body> <soap:Body>
-    <FMKRequestHeader+    <Request-body
-        <Paging> ... </Paging> +        <!-- Flyttet fra header --> 
-        <ExtendedValidationHeader> ... </ExtendedValidationHeader> +        <FMKRequestHeader> 
-    <FMKRequestHeader>+            <Paging> ... </Paging> 
 +            <ExtendedValidationHeader> ... </ExtendedValidationHeader> 
 +        <FMKRequestHeader
 +        <!-- Resterende request --> 
 +    </Request-body>
  
-    <Request-body> ... </Request-body> 
 </soap:Body> </soap:Body>
 </code> </code>
Line 225: Line 230:
 <code xml> <code xml>
     <soap:Header>     <soap:Header>
-        <mc160:KnownPersonIdentifier> ... </mc160:KnownPersonIdentifier> +        <!-- Tidligere en del af "FMKResponseHeader", men er nu enkeltelementer --> 
-        <mc160:FMKConfigurationUpdatedWarning>...</mc160:FMKConfigurationUpdatedWarning>+        <KnownPersonIdentifier> ... </KnownPersonIdentifier> 
 +        <FMKConfigurationUpdatedWarning>...</FMKConfigurationUpdatedWarning>
     </soap:Header>     </soap:Header>
          
     <soap:Body>     <soap:Body>
-        <FMKResponseHeader+        <Response
-        <mc160:FMKResponseHeader+            <!-- Flyttet fra header --
-            <mc160:MedicinecardInvalid> ...</mc160:MedicinecardInvalid> +            <FMKResponseHeader> 
-            <mc160:VersionMismatchWarning/> +                <MedicinecardInvalid> ...</MedicinecardInvalid> 
-            <mc160:HiddenData> ...</mc160:HiddenData> +                <VersionMismatchWarning/> 
-            <mc160:Paging> ...</mc160:Paging> +                <HiddenData> ...</HiddenData> 
-            <mc160:Warnings> ... </mc160:Warnings> +                <Paging> ...</Paging> 
-            <mc160:Informations> ... </mc160:Informations> +                <Warnings> ... </Warnings> 
-        <mc160:FMKResponseHeader> +                <Informations> ... </Informations> 
- +            <FMKResponseHeader> 
-        <GetHandoversResponse> ... </GetHandoversResponse>+            <!-- Resterende respons --> 
 +        </Response>
     </soap:Body>     </soap:Body>
  
Line 273: Line 280:
 </code> </code>
  
-===== Elementer i FMK-request header ===== +===== Elementer i FMK-responseheader ===== 
-MedicineCardInvalid +==== MedicineCardInvalid ====
-VersionMismatchWarning +
-HiddenData +
-Paging +
-Warnings +
-Informations+
  
 +Response headeren kan indeholde en markering af at medicinkortet for den pågældende person er ugyldigt, vha. ''MedicineCardInvalid''-elementet. Markeringen kan sættes og fjernes af den dataansvarlige (SDS), eventuelt på opfordring af en læge, og betyder at der er sket en fejl under opdatering af medicinkortet således at det ikke længere er retvisende. 
 +
 +Medicinkortet skal efterfølgende enten ignoreres eller bringes tilbage i korrekt stand. Af hensyn til sidstnævnte er det derfor muligt at hente og opdatere ugyldige medicinkort. 
 +
 +Se [[fmk:generel:ugyldig-markering_af_data|Ugyldig-markering og administrativ sletning af data]]
 +
 +==== VersionMismatchWarning ====
 +Markering af at opdatering er sket på baggrund af forkert medicinkort-version, svarende til den tidligere ‘VersionMismatchWarning’ som fandtes på en lang række 1.4.x responses fra FMK.
 +
 +==== HiddenData ====
 +Information omkring privatmarkering eller af andre årsager skjulte data. Dette felt er generaliseret i forhold til tidligere af hensyn til en evt. kommende MinSpærring integration. I tilfælde af udeladte data angives nu et element ''<HiddenData>'' med yderligere underelement der beskriver årsagen. P.t. vil kun ''<NegativeConsent>'' være implementeret, men altså med mulighed for udvidelser. Eksempel:
 +
 +<code xml>
 +<HiddenData>
 +  <PersonIdentifier source="CPR">2512489996</PersonIdentifier>
 +  <HasNegativeConsent/>
 +</HiddenData>
 +</code>
 +
 +==== Paging ====
 +
 +Paginering anvendes i tilfælde af, at der skal returneres et stort antal resultater i et svar. Klienten har i request headeren mulighed for at angive pagineringssidestørrelsen, d.v.s. antal svar der max returneres, men i visse tilfælde overtrumfer FMK's interne grænser for pagineringsstørrelser denne parameter, for at undgå problemer med at danne meget store svar.  I svaret returneres information om resultatstørrelse, hvilket objekttype der pagineres over, samt hvilket parent object, d.v.s. "ejer" af objekterne der pagineres over, fx. "Warrant" hvis der pagineres over "Handover" objekter. Se [[fmk:1.6.0:xml-elementer:request_response_headers#paging|Paging]] afsnittet herover vedr. request headeren, for et eksempel på anvendelse af paginering.
 +
 +
 +
 +==== Warnings =====
 +Advarsler vedrørende potentielle problemer eller andet, som brugeren bør være opmærksom på, i lighed med de eksisterende advarsler på dosisdispenserings-kortet.  Advarslerne er på samme form som fejlkoder og udvidede valideringer, d.v.s. med en fejlkode, -tekst og detaljer, hvorunder ElementPath til det element i request'et som advarslen vedrører, er angivet. Der vil senere blive publiceret en liste over hvilke advarsler FMK vil kunne returnere i et svar.
 +
 +Bemærk i øvrigt, at det ikke har været vurderet som hensigtsmæssigt at flytte DD advarslerne til headeren, idet de typisk knytter sig til et specifikt element i selve DD kortet. Et eksempel på dette er advarslen til lægen om en igangværende ekspedition, ifm annullering af recepten. 
 +
 +Eksempel:
 +<code xml>
 +<Warnings>
 +  <Warning>
 +    <FaultCode>10800</FaultCode>
 +    <FaultText>Advarselstekst vedr. klausuleret tilskud</FaultText>
 +    <FaultDetails>
 +      <KeyValueSet>
 +      <Key>DrugMedicationIdentifier[1]</Key>
 +        <Value>2190751217130</Value>
 +      </KeyValueSet>
 +    </FaultDetails>
 +  </Warning>
 +</Warnings>
 +</code>
 +
 +==== FMKConfigurationUpdatedWarning ====
 +Der returneres information om FMK's senest ændrede konfigurationsdato, hvis den har ændret sig siden den i request headeren angivne [[fmk:1.6.0:xml-elementer:request_response_headers#fmkconfigurationlastupdated|FMKConfigurationLastUpdated]] dato. Med "konfiguration" menes her egenskaber som gør, at FMK's semantik vedr. en eller flere services ændrer sig. Det kunne eksempelvis være ny funktionalitet, som kun er delvis implementeret og på vej mod en endelig implementationsfase (fx overgang fra 1.6.0 fase 1 til fase 2). 
 +
 +Eksempel:
 +<code xml><FMKConfigurationUpdatedWarning>2026-01-12T17:14:00</FMKConfigurationUpdatedWarning>
 +</code>
 +
 +==== Informations ====
 +Dette element er indtil videre reserveret til fremtidigt brug!
 +
 +Det er tiltænkt som værende en måde dynamisk at kunne tilføje yderligere information til responses via response headeren, uden påkrævede snitfladeændringer.
 +
 +Eksempel:
 +
 +<code xml>
 +<Informations>
 +  <Information>
 +    <Text>AdditionalHeaderData</Text>
 +    <KeyValuePair>
 +      <Key>NewDrugMedicationState</Key>
 +      <Value>2190751217130</Value>
 +    </KeyValuePair>
 +    <KeyValuePair>
 +      <Key>State</Key>
 +      <Value>29</Value>
 +    </KeyValuePair>
 +  </Information>
 +  <Information>
 +    <Text>Some flag'ish type of information without KeyValuePair</Text>
 +  </Information>
 +</Informations>
 +</code>
 ====== Eksempel på nyt komplet request (GetHandoversRequest) ====== ====== Eksempel på nyt komplet request (GetHandoversRequest) ======
  
Line 287: Line 367:
     <!-- Header-element -->     <!-- Header-element -->
     <soap:Header>     <soap:Header>
-            <!-- NYT: Alle elementer i soapheader var i tidligere forslag indkapslet i 'FMKRequestHeader'-element --> +            <!-- NYT: Alle elementer i denne soapheader var i tidligere forslag indkapslet i 'FMKRequestHeader'-element --> 
-            <mc160:OnBehalfOfHeader> +            <mc160:OnBehalfOfHeader> ... </mc160:OnBehalfOfHeader> 
-                ... +            <mc160:WhitelistingHeader> ... </mc160:WhitelistingHeader> 
-            </mc160:OnBehalfOfHeader> +            <mc160:ConsentHeader> ... </mc160:ConsentHeader>
-            <mc160:WhitelistingHeader> +
-                ... +
-            </mc160:WhitelistingHeader> +
-            <mc160:ConsentHeader> +
-                ... +
-            </mc160:ConsentHeader>+
             <mc160:MinLogSessionId>...</mc160:MinLogSessionId>             <mc160:MinLogSessionId>...</mc160:MinLogSessionId>
             <mc160:PreflightOnly/>             <mc160:PreflightOnly/>
Line 304: Line 378:
     <!-- Body-element -->     <!-- Body-element -->
     <soap:Body>     <soap:Body>
 +        <!-- Request-body -->
 +        <mc160:GetHandoversRequest>
 +    
         <!-- NYT: Tidligere under soapheader -->         <!-- NYT: Tidligere under soapheader -->
-        <mc160:FMKRequestHeader> +            <mc160:FMKRequestHeader> 
-            <mc160:Paging> +                <mc160:Paging> 
-                <mc160:PagingObject>Handovers</mc160:PagingObject> +                    <mc160:PagingObject>Handovers</mc160:PagingObject> 
-                <mc160:PageSize>50</mc160:PageSize> +                    <mc160:PageSize>50</mc160:PageSize> 
-                <mc160:LastReceived> +                    <mc160:LastReceived> 
-                    <mc160:Field name="HandoverId">123456</mc160:Field> +                        <mc160:Field name="HandoverId">123456</mc160:Field> 
-                </mc160:LastReceived> +                    </mc160:LastReceived> 
-            </mc160:Paging> +                </mc160:Paging> 
-            <mc160:ExtendedValidationHeader> +                <mc160:ExtendedValidationHeader> 
-                <mc160:ApplyAllOptionalValidations/> +                    <mc160:ApplyAllOptionalValidations/> 
-                <mc160:SkipValidations> +                    <mc160:SkipValidations> 
-                    <mc160:ExtendedValidation> +                        <mc160:ExtendedValidation> 
-                        <mc160:ErrorCode>4022</mc160:ErrorCode> +                            <mc160:ErrorCode>4022</mc160:ErrorCode> 
-                        <mc160:ElementPath>/GetHandoversRequest/PersonIdentifier</mc160:ElementPath> +                            <mc160:ElementPath>/GetHandoversRequest/PersonIdentifier</mc160:ElementPath> 
-                    </mc160:ExtendedValidation> +                        </mc160:ExtendedValidation> 
-                </mc160:SkipValidations> +                    </mc160:SkipValidations> 
-            </mc160:ExtendedValidationHeader>+                </mc160:ExtendedValidationHeader
 +            </mc160:FMKRequestHeader>
             <!-- Slut på nyt -->             <!-- Slut på nyt -->
  
-        <!-- Request-body --> 
-        <mc160:GetHandoversRequest> 
             <mc160:PersonIdentifier source="CPR">0101901234</mc160:PersonIdentifier>             <mc160:PersonIdentifier source="CPR">0101901234</mc160:PersonIdentifier>
             <mc160:FromDateTime>2026-01-01T00:00:00Z</mc160:FromDateTime>             <mc160:FromDateTime>2026-01-01T00:00:00Z</mc160:FromDateTime>
Line 333: Line 409:
         </mc160:GetHandoversRequest>         </mc160:GetHandoversRequest>
     </soap:Body>     </soap:Body>
 +    
 </soap:Envelope> </soap:Envelope>
 </code> </code>
Line 343: Line 420:
     <!-- Header-element -->     <!-- Header-element -->
     <soap:Header>     <soap:Header>
-        <!-- NYT: Alle elementer i soapheader var i tidligere forslag indkapslet i 'FMKResponseHeader'-element -->+        <!-- NYT: Alle elementer i denne soapheader var i tidligere forslag indkapslet i et 'FMKResponseHeader'-element -->
             <mc160:KnownPersonIdentifiers>             <mc160:KnownPersonIdentifiers>
                 <mc160:KnownPersonIdentifier>                 <mc160:KnownPersonIdentifier>
Line 351: Line 428:
             <mc160:FMKConfigurationUpdatedWarning>...</mc160:FMKConfigurationUpdatedWarning>             <mc160:FMKConfigurationUpdatedWarning>...</mc160:FMKConfigurationUpdatedWarning>
     </soap:Header>     </soap:Header>
 +    
     <!-- Body-element -->     <!-- Body-element -->
     <soap:Body>     <soap:Body>
-        <!-- NYT! Tidligere under soapheader --> 
-        <mc160:FMKResponseHeader> 
-            <mc160:MedicinecardInvalid> 
-                <mc160:PersonIdentifier source="CPR">0101901234</mc160:PersonIdentifier> 
-            </mc160:MedicinecardInvalid> 
-            <mc160:VersionMismatchWarning/> 
-            <mc160:HiddenData> 
-                <mc160:PersonIdentifier source="CPR">0101901234</mc160:PersonIdentifier> 
-                <mc160:HasNegativeConsent/> 
-            </mc160:HiddenData> 
-            <mc160:Paging> 
-                <mc160:PagingObject>Handovers</mc160:PagingObject> 
-                <mc160:ParentObjectIdentifier type="Handovers">123456</mc160:ParentObjectIdentifier> 
-                <mc160:PageSize>50</mc160:PageSize> 
-                <mc160:TotalSize>187</mc160:TotalSize> 
-                <mc160:LastReceived> 
-                    <mc160:Field name="HandoverId">123506</mc160:Field> 
-                </mc160:LastReceived> 
-            </mc160:Paging> 
-            <mc160:Warnings> 
-                <mc160:Warning> 
-                    <mc160:FaultCode>1234</mc160:FaultCode> 
-                    <mc160:FaultText>Some handovers were excluded due to a soft validation rule</mc160:FaultText> 
-                    <mc160:FaultDetails> 
-                        <mc160:KeyValueSet> 
-                            <mc160:Key>WarrantIdentifier</mc160:Key> 
-                            <mc160:Value>456789</mc160:Value> 
-                        </mc160:KeyValueSet> 
-                    </mc160:FaultDetails> 
-                </mc160:Warning> 
-            </mc160:Warnings> 
-            <mc160:Informations> 
-                <mc160:Information> 
-                    <mc160:Text>Additional handovers may exist on a related medicine card version</mc160:Text> 
-                </mc160:Information> 
-            </mc160:Informations> 
-        <mc160:FMKResponseHeader> 
-        <!-- Slut på nyt --> 
- 
         <!-- Response-body -->         <!-- Response-body -->
         <mc160:GetHandoversResponse>         <mc160:GetHandoversResponse>
 +            <!-- NYT! Tidligere under soapheader -->
 +            <mc160:FMKResponseHeader>
 +                <mc160:MedicinecardInvalid>
 +                    <mc160:PersonIdentifier source="CPR">0101901234</mc160:PersonIdentifier>
 +                </mc160:MedicinecardInvalid>
 +                <mc160:VersionMismatchWarning/>
 +                <mc160:HiddenData>
 +                    <mc160:PersonIdentifier source="CPR">0101901234</mc160:PersonIdentifier>
 +                    <mc160:HasNegativeConsent/>
 +                </mc160:HiddenData>
 +                <mc160:Paging>
 +                    <mc160:PagingObject>Handovers</mc160:PagingObject>
 +                    <mc160:ParentObjectIdentifier type="Handovers">123456</mc160:ParentObjectIdentifier>
 +                    <mc160:PageSize>50</mc160:PageSize>
 +                    <mc160:TotalSize>187</mc160:TotalSize>
 +                    <mc160:LastReceived>
 +                        <mc160:Field name="HandoverId">123506</mc160:Field>
 +                    </mc160:LastReceived>
 +                </mc160:Paging>
 +                <mc160:Warnings>
 +                    <mc160:Warning>
 +                        <mc160:FaultCode>1234</mc160:FaultCode>
 +                        <mc160:FaultText>Some handovers were excluded due to a soft validation rule</mc160:FaultText>
 +                        <mc160:FaultDetails>
 +                            <mc160:KeyValueSet>
 +                                <mc160:Key>WarrantIdentifier</mc160:Key>
 +                                <mc160:Value>456789</mc160:Value>
 +                            </mc160:KeyValueSet>
 +                        </mc160:FaultDetails>
 +                    </mc160:Warning>
 +                </mc160:Warnings>
 +                <mc160:Informations>
 +                    <mc160:Information>
 +                        <mc160:Text>Additional handovers may exist on a related medicine card version</mc160:Text>
 +                    </mc160:Information>
 +                </mc160:Informations>
 +            <mc160:FMKResponseHeader>
 +            <!-- Slut på nyt -->
 +
             <mc160:PersonIdentifier source="CPR">0101901234</mc160:PersonIdentifier>             <mc160:PersonIdentifier source="CPR">0101901234</mc160:PersonIdentifier>
             <mc160:HandoversOnDrugMedication>             <mc160:HandoversOnDrugMedication>
Line 402: Line 480:
                 </mc160:Handovers>                 </mc160:Handovers>
             </mc160:HandoversOnDrugMedication>             </mc160:HandoversOnDrugMedication>
-             
         </mc160:GetHandoversResponse>         </mc160:GetHandoversResponse>
     </soap:Body>     </soap:Body>
 </soap:Envelope> </soap:Envelope>
 </code> </code>
fmk/1.6.0/xml-elementer/alternativ_request_response_header.1786621989.txt.gz · Last modified: by andm

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki