User Tools

Site Tools


pracro:praxisd

This is an old revision of the document!


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

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' ?????? FIXME

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' ?????? FIXME

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' ?????? FIXME

Prefix 'M' ?????? FIXME

Prefix 'N' ?????? FIXME

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' ?????? FIXME

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' ?????? FIXME

Prefix 'W' ?????? FIXME

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.

Get Name by UserID

/praxisd/1.0/user/get_name_by_id

Parameters:

  • user the username to look up.

Returns the plaintext utf-8 name connected with the userid.

Get All Docmenu by CPR

/praxisd/1.0/dokmenu/get_all_by_cpr

Shows the complete docmenu for a given patient id. Parameters:

  • cpr the patient id.

Returns xml structure with docmenu entries

<?xml version="1.0" encoding="UTF-8"?>
<praxisd version="1.0">
  <dokmenu cpr="nnnnnnnnn">
    <group>XXXXXXXXXXXX</group>
    <subject>XXXXXXXXXXXXXXXXXXXXXX</subject>
    <filename filesize="1371" date="2010-05-05 09:25:10">XXXXXXXX</filename>
  </dokmenu>
   .
   .
   .
</praxisd>

Get Docmenu by Name and CPR

/praxisd/1.0/dokmenu/get_by_cpr_and_name

Fetch contents of a file in the docmenu by using its filename. Parameters:

  • cpr the patient id.
  • name the name of the file to be fetched.

Returns the raw unformatted contents of the file.

pracro/praxisd.1303130382.txt.gz · Last modified: 2011/04/18 14:39 by deva