User Tools

Site Tools


fmk:1.6.0:services:hent_medicinkort_som_pdf

This is an old revision of the document!


Hent medicinkort/dispenseringskort som PDF

Servicen gør det muligt at hente et medicinkort eller dispenseringskort som et PDF dokument. Formålet hermed er, at kunne præsentere en medicinoversigt, hvor formatet er fælles, uanset hvilket system lægen bruger.

Forespørgsel

I forespørgslen angives patientens PersonIdentifier, efterfulgt at en PrintType.

I elementet PrintType angives typen af PDF:

  • Med ”medicinkortet” angives, at udskriften ønskes af medicinkortet.
  • Med “dispenseringskort” angives, at der ønskes en udskrift af patientens dispenseringskort.
  • Med “dispenseringskort med ændringsliste” angives et ønske om et print af dispenseringskort i et format, som er tænkt til udskrift til borgeren. Forskellen mellem denne type og “dispenseringskort” er inklusionen af en ændringslog mellem den valgte periode og den foregående, såfremt dette er tilgængeligt.

Ved hentning af typen ”medicinkortet”, kan der også anvendes MedicineCardVersion eller MedicineCardDateTime til at hente specifikke versioner af medicinkortet som PDF.

Specielt omkring dispenseringskort og hentning af perioder: Ved anvendelsen af typen “dispenseringskort” eller “dispenseringskort med ændringsliste” hentes der som standard både nuværende og kommende perioder. Ønskes der kun hentning af en specifik periode, skal elementet DispensingPeriodFilterDate benyttes. Dette skal udfyldes med en DateInPeriod. Udfyldes DateInPeriod på denne måde, finder FMK kun perioder, hvor den angivne dato indgår, hvilket typisk kun giver 1 resultat (flere perioder kan forekomme i forbindelse med overlappende akutpakning). For mere info om indholdet af denne dispenserings PDF, se Hent Dispenseringskort

Eksempel på request:

<GetMedicineCardAsPDFRequest>
	<PersonIdentifier source="CRP">1111111118</PersonIdentifier>
	<PrintType>medicinkort</PrintType>
</GetMedicineCardAsPDFRequest>

Svar

I svaret fra FMK vil der være et eller flere PDF-dokumenter encoded i BASE64. Hvert MedicineCard-element vil indeholde et enkelt PDF-dokument. Returneres der flere PDF-dokumenter, vil disse findes i hver deres struktur. Er der linjeskift i strengen i MedicineCard-elementet, kan det være nødvendigt at fjerne disse, alt efter hvilken decoder der anvendes (f.eks. er javax.mail.internet.MimeUtility ikke følsom over for linjeskift mens JAXB er).

<GetMedicineCardAsPDFResponse>
	<MedicineCard>
		<[CDATA[JVBERi0xLjQKJeLjz9MKNCAwIG9iaiA8PC9MZW5ndGggMzExL0ZpbHRlci9GbGF0ZURlY29kZT4+
		c3RyZWFtCnicXVFBTsMwELznFXMsoil2UpWQnoBScakQUj5g6k1wk9jFdivx4b6BI3alQFPLslYz
		s7Oz8lfyVCX5AgVboJIJQ8qLWNytOXiGqk4mG5Jqq3RrrEdtLPhwihKPWnkRXknWkb6pdpcO2eCA
		KyIfiDcrlRZeGY3m1EkKPqitgGnQk0TG2EPKeLjwqhujeZrzke1kY+Q5X08NefTiSO7b0hJU
		...
		byA4IDAgUi9TaXplIDk+PgpzdGFydHhyZWYKMTA4MAolJUVPRgo=]]>
	</MedicineCard>
</GetMedicineCardAsPDFResponse>

Anvendes en standarddecoder, er processen til at danne en PDF-fil simpel. Følgende eksempel anvender javax.mail.internet.MimeUtility (fejlhåndtering m.v. er udeladt):

String encodedPDF = (strengen i MedicineCard-elementet)
if(encodedPDF.startsWith("<![CDATA[")&&encodedPDF.endsWith("]]>"))
   encodedPDF = encodedPDF.substring(9, encodedPDF.length()-3);
BufferedInputStream is = new BufferedInputStream(MimeUtility.decode(new ByteArrayInputStream(encodedPDF.getBytes()), "BASE64")); 
BufferedOutputStream os = new BufferedOutputStream(new FileOutputStream("medicinkort.pdf"));
byte[] buffer = new byte[is.available()]; 
is.read(buffer); 
os.write(buffer); 
is.close(); 
os.close();
fmk/1.6.0/services/hent_medicinkort_som_pdf.1761744426.txt.gz · Last modified: (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki