User Tools

Site Tools


fmk:1.4.4:hent_medicinkort_som_pdf

This is an old revision of the document!


Hent medicinkort som PDF

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

Forespørgsel

Forespørgslen sendes i MedicineCardAsPDFRequest-elementet. Opslaget på medicinkortet i PDF-format har de samme muligheder for at slå op på historiske versioner som den almindelige forespørgsel til at hente medicinkort (se Hent medicinkort).

I elementet PrintType angives typen af PDF:

  • Med ”læge” angives at udskriften er til lægens brug.
  • Med ”borgerUdenStatusangivelse” angives at udskriften er til borger.
  • Med “dosisdispenseringskort” angives at der ønskes en særlig udskrift af et evt. dosisdispenseringskort for den pågældende person i.f.m. dosisdispenseringsfunktionaliten i FMK.
  • Med “borger dosisdispenseringskort” angives et ønske om et print af dosisdispenseringskortet i et format som er tænkt til udskrift til borgeren. Forskellen mellem denne type og “dosisdispenseringskort” er inklusionen af en ændringslog, mellem den valgte periode og den foregående, såfremt dette er tilgængelig

Specielt omkring DD-kort og hentning af perioder: Ved anvendelsen af typen “dosisdispenseringskort” eller “borger dosisdispenseringskort” hentes der som standard både nuværende og kommende perioder. Ønskes der kun hentning af en specifik periode skal elementet ShowDosageLimitations benyttes, denne skal udfyldes med en StartDate og en EndDate og disse skal være ens, idet der ikke er support for intervalsøgning. Udfyldes ShowDosageLimitations 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 akut-pakning). For mere info om indholdet af denne dosisdispenserings PDF se Hent Dosisdispenseringskort

:!: Nyt medicinkort print under udarbejdelse - se nedenfor

I forbindelse med at der indføres doseringer med flere perioder kan en lægemiddelordination indeholde en række doseringer i efterfølgende perioder. Eksempelvis en nedtrapning over et begrænset antal dage, efterfulgt af en simpel fast dosering. Hvis en doseringsperiode er udløbet på udskrifttidspunktet, udelades denne periode fra printet, med mindre det er den sidste periode i doseringen. Denne virkemåde er i øvrigt identisk med den der er gældende for “Hent lægemiddelordination” og “Hent medicinkort”.

Eksempel på request:

<GetMedicineCardAsPDFRequest>
	<PersonIdentifier>1111111118</PersonIdentifier>
	<PrintType>borgerUdenStatusangivelse</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 linieskift 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 linieskift mens JAXB er).

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

Anvendes en standard decoder 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();

:!:

Nyt medicinkort print under udarbejdelse

Væsentligste ændringer:

  • Doseringer der ikke kan beskrives på en enkelt linje i oversigtstabellen, udskrives separat i en efterfølgende detaljeret tabel. Inkluderet herunder er jo så også strukturede doseringer med flere perioder, der hidtil blot har været udskrevet med den lange doseringstekst.
  • Til testbrug er der indført en ny printtype “borgerUdenStatusangivelse”. Ved anvendelse af denne type returneres i stedet den nye version af medicinkort printet (bemærk, ikke et dosisdispenserings-print), men p.t. kun på test 2. På alle øvrige miljøer (inkl. produktion) ignoreres printtype parameteren indtil videre, og det vil altid være den gamle version af printet der anvendes. Eksempel:
<GetMedicineCardAsPDFRequest>
	<PersonIdentifier>1111111118</PersonIdentifier>
	<PrintType>borgerUdenStatusangivelse</PrintType>
</GetMedicineCardAsPDFRequest>
fmk/1.4.4/hent_medicinkort_som_pdf.1711381162.txt.gz · Last modified: (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki