This is an old revision of the document!
Table of Contents
Praxisd
Pracro must connect to praxisd in order to:
- Upload journal data.
- Retrieve journal data.
- Get cave list.
- Post cave information to a patient.
- Get cave information from a patient.
Future uses include:
- Calendar extracts for macro prefills.
libpraxisd
The praxisd interface library. Using curl. interface:
struct { char *data; size_t size; } journal_t; journal_t *getJournal(const char *patientid); void freeJournal(journal_t *journal);
API
GET:
/praxisd/1.0/user/get_name_by_id /praxisd/1.0/dokmenu/get_all_by_cpr /praxisd/1.0/dokmenu/get_by_cpr_and_name
POST:
/praxisd/1.0/journal/add /* /praxisd/1.0/patient/update */ /praxisd/1.0/patient/add_sogeord /praxisd/1.0/aftale/update /praxisd/1.0/aftale/add /praxisd/1.0/aftale/delete /praxisd/1.0/dokmenu/add /praxisd/1.0/dokmenu/delete
Get Journal By CPR
/praxisd/1.0/journal/get_by_cpr
Parameters:
- cpr the cpr number of the patient
Returns the journal plaintext in utf-8
Get Patient By CPR
/praxisd/1.0/patient/get_by_cpr
Parameters:
- cpr the cpr number of the patient
Returns xml structure with patient data.
XML fields:
Example: curl localhost:10000/praxisd/1.0/patient/get_by_cpr?cpr=nnnnnnnnnn
<?xml version="1.0" encoding="UTF-8"?> <praxisd version="1.0"> <patient cpr="nnnnnnnnnn"> <efternavn>XXXXXXXXXX</efternavn> <fornavne>XXXXXXXXXX</fornavne> <stilling></stilling> <gade></gade> <by>0</by> <telefonnumre></telefonnumre> <sikringsgr>9</sikringsgr> <amtsnr>070</amtsnr> <sygekontor>KNr. 0</sygekontor> <henvnr></henvnr> <frilinie1>0000097217</frilinie1> <frilinie2></frilinie2> <frilinie3></frilinie3> <frilinie4></frilinie4> <frilinie5></frilinie5> <sogeords> <sogeord sogenr="T:0028" sogedato="261109"> </sogeord> <sogeord sogenr="T:0029" sogedato="261109"> </sogeord> <sogeord sogenr="BL0014" sogedato="010710"> o.dxt</sogeord> <sogeord sogenr="BCGB00" sogedato="010710"> o.sin</sogeord> <sogeord sogenr="BCGB00" sogedato="010710"> o.dxt</sogeord> <sogeord sogenr="BL0001" sogedato="010710"> </sogeord> <sogeord sogenr="BL0001" sogedato="010710"> o.dxt</sogeord> <sogeord sogenr="BL0021" sogedato="061210"> o.u </sogeord> </sogeords> <ydernr> </ydernr> <created>201000</created> <donottouch> </donottouch> <visus> </visus> <labkort> </labkort> <medkort>*</medkort> <jlock> </jlock> <unknown1>130509</unknown1> <henvdato> </henvdato> <aarhund>19</aarhund> <fakturadato> </fakturadato> <fakturabelob> </fakturabelob> <betaldato> </betaldato> <betalbelob> </betalbelob> <jdato>230311</jdato> <unknown250> </unknown250> <unknown251> </unknown251> <jtime> </jtime> </patient> </praxisd>
Get Diverse From Sogenr
/praxisd/1.0/diverse/get_all_by_sogenr
Get list of matching sogenr entries. Parameters:
- sogenr the sogenr prefix to match in the search.
Returns xml structure with matching diverse entries
Prefix 'A' adresse:
<?xml version="1.0" encoding="UTF-8"?> <praxisd version="1.0"> <div_adresse sogenr="Annnn"> <edi_adresse></edi_adresse> <navn>XXXXXX</navn> <att></att> <gade>XXXXXXX</gade> <by>XXXXXXXXX</by> <tlf>nnnnnnnn</tlf> <fax>nnnnnnnn</fax> </div_adresse> . . . </praxisd>
Prefix 'B' behandling:
<?xml version="1.0" encoding="UTF-8"?> <praxisd version="1.0"> <div_behandling sogenr="Bnnnnn"> <kode>XXXXX</kode> <behandling>XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</behandling> <bemaerkning></bemaerkning> <udregning></udregning> </div_behandling> . . . </praxisd>
Prefix 'C' cave:
<?xml version="1.0" encoding="UTF-8"?> <praxisd version="1.0"> <div_cave sogenr="Cnnnnn"> <cave>AZOPT</cave> <bemaerkning1></bemaerkning1> <bemaerkning2></bemaerkning2> <bemaerkning3></bemaerkning3> </div_cave> . . . </praxisd>
Prefix 'D' diagnose:
<?xml version="1.0" encoding="UTF-8"?> <praxisd version="1.0"> <div_diagnose sogenr="Dnnnnn"> <kode>H</kode> <diagnose>XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</diagnose> <bemaerkning></bemaerkning> </div_diagnose> . . . </praxisd>
Prefix 'E' ??????
Prefix 'F' frase:
<?xml version="1.0" encoding="UTF-8"?> <praxisd version="1.0"> <div_frase sogenr="Fnnnnn"> <frase1>Shaffer</frase1> <frase2></frase2> <frase3></frase3> <frase4></frase4> </div_frase> . . . </praxisd>
Prefix 'G' grafik:
<?xml version="1.0" encoding="UTF-8"?> <praxisd version="1.0"> <div_grafik sogenr="Gnnnnn"> <navn>ENO s1</navn> <bemaerkning>Har du set strudsen ENO ?</bemaerkning> </div_grafik> . . . </praxisd>
Prefix 'H' ??????
Prefix 'I' indholdsstof:
<?xml version="1.0" encoding="UTF-8"?> <praxisd version="1.0"> <div_indholdsstof sogenr="Innnn"> <indholdsstof>XXXXXXX</indholdsstof> <form1></form1> <form2></form2> <form3></form3> <form4></form4> </div_indholdsstof> . . . </praxisd>
Prefix 'K' klage:
<?xml version="1.0" encoding="UTF-8"?> <praxisd version="1.0"> <div_klage sogenr="Knnnnnn"> <kode></kode> <klage>XXXXXXXXXXXXXXXX</klage> <bemaerkning></bemaerkning> </div_klage> . . . </praxisd>
Prefix 'L' ??????
Prefix 'M' ??????
Prefix 'N' ??????
Prefix 'O' oversigt:
<?xml version="1.0" encoding="UTF-8"?> <praxisd version="1.0"> <div_oversigt sogenr="Onnnnn"> <navn>XXXXXXXX</navn> <bemaerkning>XXXXXXXXXXXXXXXXX</bemaerkning> </div_oversigt> . . . </praxisd>
Prefix 'P' postnummer:
<?xml version="1.0" encoding="UTF-8"?> <praxisd version="1.0"> <div_postnummer sogenr="Pnnnnn"> <postnummer>nnnn</postnummer> <by_gade>XXXXX</by_gade> <kbh>XXXXXXX</kbh> <amtsnr>nnn</amtsnr> <kommunenr>nnn</kommunenr> <regionnavn></regionnavn> <kommunenavn></kommunenavn> </div_postnummer> . . . </praxisd>
Prefix 'R' ??????
Prefix 'T' type:
<?xml version="1.0" encoding="UTF-8"?> <praxisd version="1.0"> <div_type sogenr="Tnnnnnn"> <type>XXXXXXXXXXX</type> <bemaerkning1></bemaerkning1> <bemaerkning2></bemaerkning2> <bemaerkning3></bemaerkning3> <recept></recept> </div_type> . . . </praxisd>
Prefix 'U' undersoegelse:
<?xml version="1.0" encoding="UTF-8"?> <praxisd version="1.0"> <div_undersoegelse sogenr="Unnnnn"> <kode></kode> <undersoegelse>XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</undersoegelse> <bemaerkning></bemaerkning> <udregning></udregning> </div_undersoegelse> . . . </praxisd>
Prefix 'V' ??????
Prefix 'W' ??????
Prefix 'Y' ydelse:
<?xml version="1.0" encoding="UTF-8"?> <praxisd version="1.0"> <div_ydelse sogenr="Ynnnnn"> <nr></nr> <navn></navn> <gr1>0.000000</gr1> <gr2>0.000000</gr2> <privat>0</privat> <journal1></journal1> <journal2></journal2> <moms></moms> </div_ydelse> . . . </praxisd>
Get Aftale All by Date and Calendar
/praxisd/1.0/aftale/get_all_by_date_and_calendar
Parameters:
- calendar The calendar number to show [1-N].
- year the year to show.
- month the month to show.
- day the day to show.
Returns xml structure with matching calendar entries
<?xml version="1.0" encoding="UTF-8"?> <praxisd version="1.0"> <aftale date="2011-03-16 01:00:00" calendar="17"> <cpr>nnnnnnnnnnn</cpr> <cref></cref> <cmrk>X</cmrk> <ctxt>XXXXXXXXXXXXXXXXXX</ctxt> <cres></cres> </aftale> . . . </praxisd>
Get Aftale All by CPR
/praxisd/1.0/aftale/get_all_by_cpr
Parameters:
- cpr the patient to make calendar lookups for.
Returns xml structure with matching calendar entries
<?xml version="1.0" encoding="UTF-8"?> <praxisd version="1.0"> <aftale date="2011-04-07 13:50:00" calendar="12"> <cpr>nnnnnnnnnn</cpr> <cref>msh</cref> <cmrk>x</cmrk> <ctxt>XXXXXXXXXXXXXXXXXXXXXXX</ctxt> <cres>EL</cres> </aftale> . . . </praxisd>
Authenticate
/praxisd/1.0/user/authenticate
Validate a username and password against the pcpraxis user db. NOTE: this is not needed in order to communicate with the server. Not event PUTs. Parameters:
- user the username
- pass the password
Returns http errorcode 401 (unauthorized) if not successful 200 (OK) otherwise.