From 76d80771922a99fce74fe623fff5e7b7ef82e771 Mon Sep 17 00:00:00 2001 From: Eirik Broen Date: Wed, 4 Dec 2024 08:08:47 +0100 Subject: [PATCH] Must support sections --- .gitignore | 1 + .idea/Pasientjournal-API.iml | 9 - .idea/misc.xml | 6 - .idea/modules.xml | 8 - .idea/vcs.xml | 6 - .idea/workspace.xml | 63 - no-ehr-core/.gitignore | 2 +- no-ehr-core/input/fsh/Patient.fsh | 5 +- no-ehr-core/input/pagecontent/all.md | 1213 ------------------- no-ehr-core/input/pagecontent/api.md | 35 +- no-ehr-core/input/pagecontent/patientOps.md | 159 +-- 11 files changed, 82 insertions(+), 1425 deletions(-) create mode 100644 .gitignore delete mode 100644 .idea/Pasientjournal-API.iml delete mode 100644 .idea/misc.xml delete mode 100644 .idea/modules.xml delete mode 100644 .idea/vcs.xml delete mode 100644 .idea/workspace.xml delete mode 100644 no-ehr-core/input/pagecontent/all.md diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..485dee6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.idea diff --git a/.idea/Pasientjournal-API.iml b/.idea/Pasientjournal-API.iml deleted file mode 100644 index d6ebd48..0000000 --- a/.idea/Pasientjournal-API.iml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml deleted file mode 100644 index 6f29fee..0000000 --- a/.idea/misc.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml deleted file mode 100644 index 8f53d0e..0000000 --- a/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml deleted file mode 100644 index 35eb1dd..0000000 --- a/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml deleted file mode 100644 index 3b06129..0000000 --- a/.idea/workspace.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - 1732102953058 - - - - - - \ No newline at end of file diff --git a/no-ehr-core/.gitignore b/no-ehr-core/.gitignore index 1a59449..39fa90c 100644 --- a/no-ehr-core/.gitignore +++ b/no-ehr-core/.gitignore @@ -4,4 +4,4 @@ Thumbs.db /input-cache /output /temp -/template \ No newline at end of file +/template diff --git a/no-ehr-core/input/fsh/Patient.fsh b/no-ehr-core/input/fsh/Patient.fsh index 843d8d4..1f83f55 100644 --- a/no-ehr-core/input/fsh/Patient.fsh +++ b/no-ehr-core/input/fsh/Patient.fsh @@ -2,4 +2,7 @@ Profile: NoEHRCorePatient Parent: NoBasisPatient Id: no-ehr-core-patient Title: "no-ehr-core-patient" -Description: "A Patient profile extending the no-basis-Patient profile for Norwegian EHR systems." \ No newline at end of file +Description: "A Patient profile extending the no-basis-Patient profile for Norwegian EHR systems." + +* ^status = #draft +* identifier 1..* \ No newline at end of file diff --git a/no-ehr-core/input/pagecontent/all.md b/no-ehr-core/input/pagecontent/all.md deleted file mode 100644 index 38cf4fc..0000000 --- a/no-ehr-core/input/pagecontent/all.md +++ /dev/null @@ -1,1213 +0,0 @@ -Under følger en overordnet beskrivelse av HTTP REST operasjoner som forventes å være tilgjengelige. - -## Pasient - - -Category of operations related to patients. En pasient er et individ med en unik system-id og typisk en nasjonal -identifikator som F-nr, D-nr eller kombinasjon av fornavn/etternavn og en fødselsdato. En pasient er unik i kontekst av -et journalsystem. - - - - Hent liste med pasienter i samsvar med søkekriterier, returnerer 0 til mange pasienter for kombinasjon av søkeparametere. Liste inneholder basisinformasjon om pasient inklusive id.

- - - -##### Parameters -> | name | type | data type | description | -> |------|------|-----------|-------------| -> | | | | | - -##### Responses - - -> | http code | content-type | response | -> |-----------|-----------------------------|----------------------------------------------------------------------------------------| -> | `200` | `application/json` | `{"result": [` [Patient](https://simplifier.net/hl7norwayno-basis/nobasispatient) `]}` | -> | `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -> | `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - - - - - - -##### Parameters -> | name | type | data type | description | -> |------|------|-----------|-------------| -> | | | | | - -##### Responses - - -> | http code | content-type | response | -> |-----------|-----------------------------|-------------------------------------------------------------------------------------------| -> | `200` | `application/json` | `{"result": [` [Patient](https://simplifier.net/hl7norwayno-basis/nobasispatient) `]}` | -> | `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -> | `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - - - -
- - - -Returnerer personalia og annen data knyttet til pasient med id i samsvar med verdi fra forespørsel.

- - - -##### Parameters -> | name | type | data type | description | -> |-------|-----------|--------------|-------------| -> | id | required | uuid | | - -##### Responses - - -> | http code | content-type | response | -> |-----------|-------------------------------|--------------------------------------------------------------------------------------| -> | `200` | `application/json` | `{"result": ` [Patient](https://simplifier.net/hl7norwayno-basis/nobasispatient) `}` | -> | `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -> | `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - - - -
- - - -Opprett ny pasient med verdier fra forespørsel. Ny pasient opprettes med id som er unik for journalsystemet. Hvis en pasient allerede finnes (match på f-fn, d-nr eller fødselsdato og fornavn/etternavn) opprettes ingen ny pasient.

- - - -##### Parameters -> | name | type | data type | description | -> |------|------|-----------|-------------| -> | | | | | - -##### Responses - - -> | http code | content-type | response | -> |-----------|-----------------------------------|-------------------------------------------| -> | `201` | `text/plain;charset=UTF-8` | `` | -> | `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -> | `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - - - -
- - - -Oppdater pasient med verdier fra forespørsel, pasienten identifiseres med id.

- - - -##### Parameters -> | name | type | data type | description | -> |------|------------|-----------|-------------| -> | id | required | uuid | | - -##### Responses - - -> | http code | content-type | response | -> |-----------|-----------------------------------|-----------------------------------------------------------------------------| -> | `200` | `text/plain;charset=UTF-8` | `{` [Patient](https://simplifier.net/hl7norwayno-basis/nobasispatient) `}` | -> | `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -> | `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - - - - - - -##### Parameters -> | name | type | data type | description | -> |-------|-----------|-------------|-------------| -> | id | required | uuid | | - -##### Responses - - -> | http code | content-type | response | -> |-----------|--------------------|-------------------------------------------| -> | `204` | `` | `NO CONTENT` | -> | `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -> | `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - - - - - ------------------------------------------------------------------------------- - -## Personell - - -Kategori av operasjoner relatert til personell og administrasjon av personell. Denne gruppen med funksjonalitet -inkluderer en egen operasjon for å hente ut aktiv kontekst for en innlogget bruker. I denne beskrivelsen er begrepene -bruker og personell å betrakte som likestilte. - - - -Hent liste med personell i samsvar med søkekriterier, returnerer 0 til mange brukere for kombinasjon av søkeparametere. Liste inneholder basisinformasjon om bruker inklusive id.

- - - -##### Parameters -> | name | type | data type | description | -> |------|------|-----------|-------------| -> | | | | | - -##### Responses - - -> | http code | content-type | response | -> |-----------|-----------------------------|---------------------------------------------------------------------------------------------------| -> | `200` | `application/json` | `{"result": [` [Practitioner](https://simplifier.net/hl7norwayno-basis/nobasispractitioner) `]}` | -> | `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -> | `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - - - - - - -##### Parameters -> | name | type | data type | description | -> |------|------|-----------|-------------| -> | | | | | - -##### Responses - - -> | http code | content-type | response | -> |-----------|-----------------------------|-----------------------------------------------------------------------------------------------------| -> | `200` | `application/json` | `{"result": [` [Practitioner](https://simplifier.net/hl7norwayno-basis/nobasispractitioner) `]}` | -> | `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -> | `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - - - -
- - - -Returnerer personalia og annen data knyttet til bruker med id i samsvar med verdi fra forespørsel.

- - - -##### Parameters -> | name | type | data type | description | -> |------|----------|-----------|-------------| -> | id | required | uuid | | - -##### Responses - - -> | http code | content-type | response | -> |-----------|-------------------------------|--------------------------------------------------------------------------------------------------| -> | `200` | `application/json` | `{"result": ` [Practitioner](https://simplifier.net/hl7norwayno-basis/nobasispractitioner) `}` | -> | `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -> | `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - - - - - -Returnerer kontekstinformasjon fra pasientjournal for en aktiv brukersesjon. Bruker angis i forespørsel. Kontekst inneholder informasjon om innlogget bruker, aktiv pasient, kontakt/behandlingssituasjon/begrunnelse for aktivering av journal, seksjon/avdeling. -Kontekst skal inneholde tilstrekkelig data for å konstruere en helsepersonellattest i samsvar med regler fra -Felles Tillitsmodell. - -##### Parameters -> | name | type | data type | description | -> |---------|------------|-----------|-------------------------------| -> | id | required | uuid | | -> | context | required | string | hvis verdi returner kontekst | - -##### Responses - - -> | http code | content-type | response | -> |-----------|-------------------------------|----------------------------------------------------| -> | `200` | `application/json` | `{"context": user, role, department, patient...`}` | -> | `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -> | `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - - - -
- - - -Opprett en bruker med verdier fra forespørsel. Ny bruker får opprettet en unik id i journalsystemet. Hvis en bruker allerede finnes (match på f-fn, d-nr eller fødselsdato og fornavn/etternavn) opprettes ingen bruker.

- - - -##### Parameters -> | name | type | data type | description | -> |------|------|-----------|-------------| -> | | | | | - -##### Responses - - -> | http code | content-type | response | -> |-----------|-----------------------------------|-------------------------------------------| -> | `201` | `text/plain;charset=UTF-8` | `` | -> | `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -> | `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - - - -
- - - -Oppdater bruker med verdier fra forespørsel, brukeren identifiseres med id.

- - - -##### Parameters -> | name | type | data type | description | -> |------|----------|-----------|-------------| -> | id | required | uuid | | - -##### Responses - - -> | http code | content-type | response | -> |-----------|-----------------------------------|----------------------------------------------------------------------------------------| -> | `200` | `text/plain;charset=UTF-8` | `{` [Practitioner](https://simplifier.net/hl7norwayno-basis/nobasispractitioner) `}` | -> | `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -> | `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - - - - - - -##### Parameters -> | name | type | data type | description | -> |------|------------|-----------|-------------| -> | id | required | uuid | | - -##### Responses - - -> | http code | content-type | response | -> |-----------|--------------------|-------------------------------------------| -> | `204` | `` | `NO CONTENT` | -> | `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -> | `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - - - - - ------------------------------------------------------------------------------- - -## Hendelse - - -Kategori av operasjoner relatert til en hendelse. En hendelse har typisk en knytning til både helsepersonell og pasient. -Pasient og personell har en tilknytning til en lokasjon og en hendelse har typisk en klassifikasjon som for eksempel -“konsultasjon”. En hendelse er avgrenset i tid. I denne beskrivelsen er begrepene hendelse og kontakt å betrakte som -likestilte. - - - -Hent liste med hendelser som er i samsvar med søkekriterier, returnerer 0 til mange hendelser for kombinasjon av -søkeparametere. Liste inneholder grunnleggende informasjon om hendelse slik som tidspunkt, type, lokasjon, pasient og -id. -

- - - -##### Parameters -> | name | type | data type | description | -> |------|------|-----------|-------------| -> | | | | | - -##### Responses - - -> | http code | content-type | response | -> |-----------|-----------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------| -> | `200` | `application/json` | `{"result": [` [Encounter](https://hl7norway.github.io/AuditEvent/currentbuild/StructureDefinition-no-domain-Trustframework-Encounter.html) `]}` | -> | `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -> | `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - - - - - - -##### Parameters -> | name | type | data type | description | -> |------|------|-----------|-------------| -> | | | | | - -##### Responses - - -> | http code | content-type | response | -> |-----------|-----------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------| -> | `200` | `application/json` | `{"result": [` [Encounter](https://hl7norway.github.io/AuditEvent/currentbuild/StructureDefinition-no-domain-Trustframework-Encounter.html) `]}` | -> | `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -> | `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - - - -
- - - -Returnerer data knyttet til en hendelse med id som er i samsvar med verdi fra forespørsel.

- - - -##### Parameters -> | name | type | data type | description | -> |------|-----------|--------------|-------------| -> | id | required | uuid | | - -##### Responses - - -> | http code | content-type | response | -> |-----------|-------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------| -> | `200` | `application/json` | `{"result": ` [Encounter](https://hl7norway.github.io/AuditEvent/currentbuild/StructureDefinition-no-domain-Trustframework-Encounter.html) `}` | -> | `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -> | `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - - - -
- - - -Opprett en hendelse med verdier fra forespørsel. -

- - - -##### Parameters -> | name | type | data type | description | -> |------|------|-----------|-------------| -> | | | | | - -##### Responses - - -> | http code | content-type | response | -> |-----------|-----------------------------------|-------------------------------------------| -> | `201` | `text/plain;charset=UTF-8` | `` | -> | `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -> | `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - - - -
- - - -Oppdater en hendelse med verdier fra forespørsel, hendelsen identifiseres med id. -

- - - -##### Parameters -> | name | type | data type | description | -> |------|------------|-----------|-------------| -> | id | required | uuid | | - -##### Responses - - -> | http code | content-type | response | -> |-----------|-----------------------------------|----------------------------------------------------------------------------------------------------------------------------------------| -> | `200` | `text/plain;charset=UTF-8` | `{` [Encounter](https://hl7norway.github.io/AuditEvent/currentbuild/StructureDefinition-no-domain-Trustframework-Encounter.html) `}` | -> | `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -> | `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - - - - - - -##### Parameters -> | name | type | data type | description | -> |-------|-----------|-------------|-------------| -> | id | required | uuid | | - -##### Responses - - -> | http code | content-type | response | -> |-----------|--------------------|-------------------------------------------| -> | `204` | `` | `NO CONTENT` | -> | `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -> | `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - - - - - ------------------------------------------------------------------------------- - -## Avtale - -Kategori av operasjoner relatert til en pasientavtale. En avtale har typisk en tilknytning både til en pasient og en -lokasjon. En avtale er avgrenset i tid og har typisk en status for om den er aktiv, fremtidig eller avsluttet. - - - -Hent liste med avtaler som er i samsvar med søkekriterier, returnerer 0 til mange avtaler for kombinasjon av -søkeparametere. Liste inneholder grunnleggende informasjon om avtale slik som tidspunkt, lokasjon, status og id. - -

- - - -##### Parameters -> | name | type | data type | description | -> |---------------|----------|-----------|-------------| -> | patient_id | optional | uuid | | -> | department_id | optional | uuid | | -> | user_id | optional | uuid | | -> | type | optional | string | | -> | status | optional | string | | - -##### Responses - - -> | http code | content-type | response | -> |-----------|-----------------------------|--------------------------------------------------------------------------------------------------------------| -> | `200` | `application/json` | `{"result": [` [Appointment](https://simplifier.net/hl7norwayno-basis/nobasisappointment-duplicate-2) `]}` | -> | `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -> | `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - - - - - - -##### Parameters -> | name | type | data type | description | -> |---------------|----------|-----------|-------------| -> | patient_id | optional | uuid | | -> | department_id | optional | uuid | | -> | user_id | optional | uuid | | -> | type | optional | string | | -> | status | optional | string | | - -##### Responses - - -> | http code | content-type | response | -> |-----------|-----------------------------|--------------------------------------------------------------------------------------------------------------| -> | `200` | `application/json` | `{"result": [` [Appointment](https://simplifier.net/hl7norwayno-basis/nobasisappointment-duplicate-2) `]}` | -> | `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -> | `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - - - -
- - - -Returnerer data knyttet til en avtale med id som er i samsvar med verdi fra forespørsel. -

- - - -##### Parameters -> | name | type | data type | description | -> |--------|-----------|--------------|-------------| -> | id | required | uuid | | - -##### Responses - - -> | http code | content-type | response | -> |-----------|-------------------------------|----------------------------------------------------------------------------------------------------------| -> | `200` | `application/json` | `{"result": ` [Appointment](https://simplifier.net/hl7norwayno-basis/nobasisappointment-duplicate-2) `}` | -> | `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -> | `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - - - -
- - - -Opprett en avtale med verdier fra forespørsel. -

- - - -##### Parameters -> | name | type | data type | description | -> |------|------|-----------|-------------| -> | | | | | - -##### Responses - - -> | http code | content-type | response | -> |-----------|-----------------------------------|-------------------------------------------| -> | `201` | `text/plain;charset=UTF-8` | `` | -> | `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -> | `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - - - -
- - - -Oppdater en avtale med verdier fra forespørsel, avtalen identifiseres med id. -

- - - -##### Parameters -> | name | type | data type | description | -> |------|------------|-----------|-------------| -> | id | required | uuid | | - -##### Responses - - -> | http code | content-type | response | -> |-----------|-----------------------------------|-------------------------------------------------------------------------------------------------| -> | `200` | `text/plain;charset=UTF-8` | `{` [Appointment](https://simplifier.net/hl7norwayno-basis/nobasisappointment-duplicate-2) `}` | -> | `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -> | `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - - - - - - -##### Parameters -> | name | type | data type | description | -> |------|-----------|-------------|-------------| -> | id | required | uuid | | - -##### Responses - - -> | http code | content-type | response | -> |-----------|--------------------|-------------------------------------------| -> | `204` | `` | `NO CONTENT` | -> | `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -> | `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - - - - - ------------------------------------------------------------------------------- - -## Notat - - -Kategori av operasjoner relatert til notater. Et notat har typisk en tilknytning både til en pasient, personell og -kontakt. Et notat kan bestå av en kombinasjon av tekst og mer strukturerte elementer som en eller flere observasjoner - - - -Hent liste med notater som er i samsvar med søkekriterier, returnerer 0 til mange notater for kombinasjon av -søkeparametere. Liste inneholder grunnleggende informasjon slik som tittel, type, dato opprettet og id. -

- - - -##### Parameters -> | name | type | data type | description | -> |---------------|----------|-----------|-------------| -> | patient_id | optional | uuid | | -> | department_id | optional | uuid | | -> | user_id | optional | uuid | | - -##### Responses - - -> | http code | content-type | response | -> |-----------|-----------------------------|------------------------------------------------------------------------------------------------| -> | `200` | `application/json` | `{"result": [` [Composition](https://simplifier.net/hl7norwayno-basis/nobasiscomposition) `]}` | -> | `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -> | `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - - - - - - -##### Parameters -> | name | type | data type | description | -> |---------------|----------|-----------|-------------| -> | patient_id | optional | uuid | | -> | department_id | optional | uuid | | -> | user_id | optional | uuid | | - -##### Responses - - -> | http code | content-type | response | -> |-----------|-----------------------------|--------------------------------------------------------------------------------------------------------------| -> | `200` | `application/json` | `{"result": [` [Composition](https://simplifier.net/hl7norwayno-basis/nobasiscomposition) `]}` | -> | `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -> | `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - - - -
- - - -Returnerer data knyttet til et notat med id som er i samsvar med verdi fra forespørsel. -

- - - -##### Parameters -> | name | type | data type | description | -> |------|-----------|--------------|-------------| -> | id | required | uuid | | - -##### Responses - - -> | http code | content-type | response | -> |-----------|-------------------------------|----------------------------------------------------------------------------------------------| -> | `200` | `application/json` | `{"result": ` [Composition](https://simplifier.net/hl7norwayno-basis/nobasiscomposition) `}` | -> | `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -> | `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - - - -
- - - -Opprett et notat med verdier fra forespørsel. -

- - - -##### Parameters -> | name | type | data type | description | -> |------|------|-----------|-------------| -> | | | | | - -##### Responses - - -> | http code | content-type | response | -> |-----------|-----------------------------------|-------------------------------------------| -> | `201` | `text/plain;charset=UTF-8` | `` | -> | `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -> | `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - - - -
- - - -Oppdater et notat med verdier fra forespørsel, notatet identifiseres med id. -

- - - -##### Parameters -> | name | type | data type | description | -> |------|------------|-----------|-------------| -> | id | required | uuid | | - -##### Responses - - -> | http code | content-type | response | -> |-----------|----------------------------------|--------------------------------------------------------------------------------------| -> | `200` | `text/plain;charset=UTF-8` | `{` [Composition](https://simplifier.net/hl7norwayno-basis/nobasiscomposition) `}` | -> | `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -> | `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - - - - - - -##### Parameters -> | name | type | data type | description | -> |-------|-----------|-------------|-------------| -> | id | required | uuid | | - -##### Responses - - -> | http code | content-type | response | -> |-----------|--------------------|-------------------------------------------| -> | `204` | `` | `NO CONTENT` | -> | `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -> | `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - - - - - ------------------------------------------------------------------------------- - -## Dokument - - -Kategori av operasjoner relatert til et dokument. Et dokument har typisk en tilknytning både til en pasient, personell -og en lokasjon. Et dokument er typisk av en bestemt type, for eksempel “Epikrise” og i et bestemt format, for eksempel -“XML”. Et dokument kan ha en status som indikerer om det kan deles med pasient eller helsepersonell. - - - -Hent liste med dokumenter som er i samsvar med søkekriterier, returnerer 0 til mange dokumenter for kombinasjon av -søkeparametere. Liste inneholder grunnleggende informasjon om dokumentene slik som tittel, format, dato opprettet og id. -

- - - -##### Parameters -> | name | type | data type | description | -> |---------------|----------|-----------|-------------| -> | patient_id | optional | uuid | | -> | department_id | optional | uuid | | -> | user_id | optional | uuid | | -> | type | optional | string | | - -##### Responses - - -> | http code | content-type | response | -> |-----------|-----------------------------|--------------------------------------------------------------------------------------------------------------| -> | `200` | `application/json` | `{"result": [` [DocumentReference](https://simplifier.net/hl7norwayno-basis/nobasisdocumentreference) `]}` | -> | `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -> | `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - - - - - - -##### Parameters -> | name | type | data type | description | -> |---------------|----------|-----------|-------------| -> | patient_id | optional | uuid | | -> | department_id | optional | uuid | | -> | user_id | optional | uuid | | -> | type | optional | string | | - -##### Responses - - -> | http code | content-type | response | -> |-----------|-----------------------------|--------------------------------------------------------------------------------------------------------------| -> | `200` | `application/json` | `{"result": [` [DocumentReference](https://simplifier.net/hl7norwayno-basis/nobasisdocumentreference) `]}` | -> | `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -> | `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - - - -
- - - -Returnerer data knyttet til et dokument med id som er i samsvar med verdi fra forespørsel. -

- - - -##### Parameters -> | name | type | data type | description | -> |------|-----------|--------------|-------------| -> | id | required | uuid | | - -##### Responses - - -> | http code | content-type | response | -> |-----------|-------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------| -> | `200` | `application/json` | `{"result": ` [DocumentReference](https://simplifier.net/hl7norwayno-basis/nobasisdocumentreference) `}` | -> | `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -> | `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - - - -
- - - -Opprett et dokument med verdier fra forespørsel. -

- - - -##### Parameters -> | name | type | data type | description | -> |------|------|-----------|-------------| -> | | | | | - -##### Responses - - -> | http code | content-type | response | -> |-----------|-----------------------------------|-------------------------------------------| -> | `201` | `text/plain;charset=UTF-8` | `` | -> | `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -> | `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - - - -
- - - -Oppdater et dokument med verdier fra forespørsel, dokumentet identifiseres med id. -

- - - -##### Parameters -> | name | type | data type | description | -> |-------|------------|-----------|-------------| -> | id | required | uuid | | - -##### Responses - - -> | http code | content-type | response | -> |-----------|-----------------------------------|--------------------------------------------------------------------------------------------------| -> | `200` | `text/plain;charset=UTF-8` | `{` [DocumentReference](https://simplifier.net/hl7norwayno-basis/nobasisdocumentreference) `}` | -> | `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -> | `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - - - - - - -##### Parameters -> | name | type | data type | description | -> |-------|-----------|-------------|-------------| -> | id | required | uuid | | - -##### Responses - - -> | http code | content-type | response | -> |-----------|--------------------|-------------------------------------------| -> | `204` | `` | `NO CONTENT` | -> | `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -> | `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - - - - - -## Tjeneste - - -Kategori av operasjoner relatert til tjenester en pasient kan motta. En tjeneste har typisk en tilknytning både til en -pasient og en lokasjon. En tjeneste er typisk av en bestemt type, for eksempel “Helsetjenester i hjemmet” og har en gitt -varighet. I denne beskrivelsen er begrepene tjeneste og tiltak å betrakte som likestilte. - - - -Hent liste med tjenester som er i samsvar med søkekriterier, returnerer 0 til mange tjenester for kombinasjon av -søkeparametere. Liste inneholder grunnleggende informasjon om tjeneste slik som type, pasient, dato opprettet, status og -id. -

- - - -##### Parameters -> | name | type | data type | description | -> |---------------|----------|-----------|-------------| -> | patient_id | optional | uuid | | - -##### Responses - - -> | http code | content-type | response | -> |-----------|----------------------------|----------------------------------------------------------------------------| -> | `200` | `application/json` | `{"result": [` [CarePlan](https://www.hl7.org/fhir/careplan.html) `]}` | -> | `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -> | `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - - - - - - -##### Parameters -> | name | type | data type | description | -> |---------|----------|-----------|-------------| -> | id | optional | uuid | | - -##### Responses - - -> | http code | content-type | response | -> |-----------|-----------------------------|--------------------------------------------------------------------------------------------------------------| -> | `200` | `application/json` | `{"result": [` [CarePlan](https://www.hl7.org/fhir/careplan.html) `]}` | -> | `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -> | `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - - - -
- - - -Returnerer data knyttet til en tjeneste med id som er i samsvar med verdi fra forespørsel. -

- - - -##### Parameters -> | name | type | data type | description | -> |------|-----------|--------------|-------------| -> | id | required | uuid | | - -##### Responses - - -> | http code | content-type | response | -> |-----------|-------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------| -> | `200` | `application/json` | `{"result": ` [CarePlan](https://www.hl7.org/fhir/careplan.html) `}` | -> | `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -> | `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - - - -
- - - -Opprett en tjeneste med verdier fra forespørsel. Tjeneste kan potensiellt knyttes til en pasient. -

- - - -##### Parameters -> | name | type | data type | description | -> |------|------|-----------|-------------| -> | | | | | - -##### Responses - - -> | http code | content-type | response | -> |-----------|-----------------------------------|-------------------------------------------| -> | `201` | `text/plain;charset=UTF-8` | `` | -> | `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -> | `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - - - -
- - - -Oppdater en tjeneste med verdier fra forespørsel, instans av tjeneste identifiseres med id. -

- - - -##### Parameters -> | name | type | data type | description | -> |------|------------|-----------|-------------| -> | id | required | uuid | | - -##### Responses - - -> | http code | content-type | response | -> |-----------|-----------------------------------|----------------------------------------------------------------------------------------------------------------------------------------| -> | `200` | `text/plain;charset=UTF-8` | `{` [CarePlan](https://www.hl7.org/fhir/careplan.html) `}` | -> | `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -> | `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - - - - - - -##### Parameters -> | name | type | data type | description | -> |------|-----------|-------------|-------------| -> | id | required | uuid | | - -##### Responses - - -> | http code | content-type | response | -> |-----------|--------------------|-------------------------------------------| -> | `204` | `` | `NO CONTENT` | -> | `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -> | `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - - - - - -## Målinger - - -Kategori av operasjoner relatert til målinger og observasjoner. En måling har typisk en tydelig definert type med tilhørende verdisett og kodeverk. Målinger har en tilknytning til en -pasient og opptrer gjerne i relasjon til andre målinger, hendelser eller prosedyrer. Det utveksles i dag en rekke målinger via Velferdsteknologisk Knutepunkt som har en egen -[FHIR profilering](https://simplifier.net/guide/VelferdsteknologiskknutepunktDHOR4/Observation?version=current). Nye nasjonale tjenester for tilgang til [målinger](https://utviklerportal.nhn.no/informasjonstjenester/pasientens-maaledata/) -og [laboratoriesvar](https://www.nhn.no/tjenester/pasientens-provesvar) benytter seg av flere av de samme ressursene. I denne beskrivelsen er begrepene observasjon og måling å betrakte som likestilte. - - - -Hent liste med observasjoner i samsvar med angitte søkekriterier, returnerer 0 til mange observasjoner for kombinasjon av -søkeparametere. Liste inneholder grunnleggende informasjon slik som type/kategori, pasient, dato opprettet, verdi og -id for en observasjon. -

- - - -##### Parameters -> | name | type | data type | description | -> |------------|----------|-----------|-------------| -> | patient_id | optional | uuid | | -> | type | optional | string | | - -##### Responses - - -> | http code | content-type | response | -> |-----------|-----------------------------|--------------------------------------------------------------------------------------------------------| -> | `200` | `application/json` | `{"result": [` [Observation](https://simplifier.net/packages/hl7.fhir.r4.core/4.0.1/files/83132) `]}` | -> | `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -> | `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - - - - - - -##### Parameters -> | name | type | data type | description | -> |--------------|----------|-----------|-------------| -> | patient_id | optional | uuid | | -> | type | optional | string | | -> -##### Responses - - -> | http code | content-type | response | -> |-----------|-----------------------------|--------------------------------------------------------------------------------------------------------| -> | `200` | `application/json` | `{"result": [` [Observation](https://simplifier.net/packages/hl7.fhir.r4.core/4.0.1/files/83132) `]}` | -> | `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -> | `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - - - -
- - - -Returnerer data knyttet til en observasjon med id som er i samsvar med verdi fra forespørsel. -

- - - -##### Parameters -> | name | type | data type | description | -> |------|-----------|--------------|-------------| -> | id | required | uuid | | - -##### Responses - - -> | http code | content-type | response | -> |-----------|-------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------| -> | `200` | `application/json` | `{"result": ` [Observation](https://simplifier.net/packages/hl7.fhir.r4.core/4.0.1/files/83132) `}` | -> | `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -> | `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - - - -
- - - -Opprett en observasjon med verdier fra forespørsel. -

- - - -##### Parameters -> | name | type | data type | description | -> |------|----------|-----------|------------------| -> | type | required | string | Type observasjon | - -##### Responses - - -> | http code | content-type | response | -> |-----------|-----------------------------------|-------------------------------------------| -> | `201` | `text/plain;charset=UTF-8` | `` | -> | `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -> | `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - - - -
- - - -Oppdater en observasjon med verdier fra forespørsel. -

- - - -##### Parameters -> | name | type | data type | description | -> |------|------------|-----------|-------------| -> | id | required | uuid | | - -##### Responses - - -> | http code | content-type | response | -> |-----------|-----------------------------------|-------------------------------------------------------------------------------------------| -> | `200` | `text/plain;charset=UTF-8` | `{` [Observation](https://simplifier.net/packages/hl7.fhir.r4.core/4.0.1/files/83132) `}` | -> | `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -> | `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - - - - - - -##### Parameters -> | name | type | data type | description | -> |------|-----------|-------------|-------------| -> | id | required | uuid | | - -##### Responses - - -> | http code | content-type | response | -> |-----------|--------------------|-------------------------------------------| -> | `204` | `` | `NO CONTENT` | -> | `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -> | `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - - - diff --git a/no-ehr-core/input/pagecontent/api.md b/no-ehr-core/input/pagecontent/api.md index 2415054..db2e5b9 100644 --- a/no-ehr-core/input/pagecontent/api.md +++ b/no-ehr-core/input/pagecontent/api.md @@ -1,15 +1,30 @@ ### API -The following pages describes API operations related to each of the resources that this specification recomends support for. The API and the operations described will for the most part be a subset of standard operations described in the official [guidelines for RESTful API](https://hl7.org/fhir/http.html) create by HL7. +Description of general API operations related to each of the resources that this specification recomends support for. The API and the operations described will for the most part be a subset of standard operations described in the official [guidelines for RESTful API](https://hl7.org/fhir/http.html) create by HL7. +A server that supports the Norwegian EHR Core standard SHALL: +- Implement the RESTful behavior according to the FHIR specification +- Follow the requirements documented in the General Requirements and Must Support pages +- Return the following response classes: + - (Status 400): invalid parameter + - (Status 401/4xx): unauthorized request + - (Status 403): insufficient scopes + - (Status 404): unknown resource -[Patient](patientObs.html) -[Practitioner](practitionerObs.html) -[Appointment](appointmentObs.html) -[CarePlan](carePlanObs.html) -[Composition](compositionObs.html) -[DocumentReference](documentReferenceObs.html) -[Encounter](encounterObs.html) -[Location](locationObs.html) -[Observation](observationObs.html) +It is recommended that EHR vendors that implement the operations described in this implementation guide support the [SMART](https://hl7.org/fhir/smart-app-launch/) App Launch Standard for interactions with external clients. + + + + +### Endpoints + +[Patient Operations](patientOps.html) +[Practitioner Operations](practitionerOps.html) +[Appointment Operations](appointmentOps.html) +[CarePlan Operations](carePlanOps.html) +[Composition Operations](compositionOps.html) +[DocumentReference Operations](documentReferenceOps.html) +[Encounter Operations](encounterOps.html) +[Location Operations](locationOps.html) +[Observation Operations](OpservationOps.html) diff --git a/no-ehr-core/input/pagecontent/patientOps.md b/no-ehr-core/input/pagecontent/patientOps.md index fd49ca6..fee5f3b 100644 --- a/no-ehr-core/input/pagecontent/patientOps.md +++ b/no-ehr-core/input/pagecontent/patientOps.md @@ -1,123 +1,66 @@ ## Patient -API actions related to a [patient](StructureDefinition-NoEHRCorePatient.html) +API actions related to a [patient](StructureDefinition-no-ehr-core-patient.html') Category of operations related to patients. A patient is an individual with a unique system ID and typically a national identifier such as F-number, D-number, or a combination of first name/last name and a date of birth. A patient is unique in the context of a medical record system. -### **Search** -Retrieve a list of patients based on search criteria. Returns 0 to many patients depending on the combination of search parameters. The list contains basic patient information including ID. - -#### **GET** - -##### Parameters - -| Name | Type | Data Type | Description | -|------|------|-----------|-------------| -| | | | | +## Must support +{::nomarkdown} + + + + + + + + + + + + +
Supported ProfilesSearch parametersSupported Includes
no-ehr-core-patient_id, birthdate, death-date, family, gender, given, identifier, name birthdate+name, + family+gender, birthdate+family, gender+name death-date+family
+{:/} + +### Operations + +#### Instance Level Interactions + +| Name | Description | +|------|--------------| +| [read](https://hl7.org/fhir/R4/http.html#read) | Read the current state of the resource +| [update](https://hl7.org/fhir/R4/http.html#update) | Update an existing resource by its id (or create it if it is new) +| [patch](https://hl7.org/fhir/R4/http.html#patch) | Update an existing resource by posting a set of changes to it +| [delete](https://hl7.org/fhir/R4/http.html#delete) | Delete a resource {:.grid} -##### Responses +#### Type Level Interactions -| HTTP Code | Content-Type | Response | -|-----------|------------------------|----------------------------------------------------------------------------------------| -| `200` | `application/json` | `{"content": [` [Bundle](https://hl7.org/fhir/bundle.html) `]}` | -| `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -| `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | +| Name | Description | +|------|--------------| +| [create](https://hl7.org/fhir/R4/http.html#create) | Create a new resource with a server assigned id +| [search](https://hl7.org/fhir/R4/http.html#search) | Search the resource type based on some filter criteria {:.grid} ---- - -#### **POST** - -##### Parameters - -| Name | Type | Data Type | Description | -|------|------|-----------|-------------| -| | | | | - -##### Responses - -| HTTP Code | Content-Type | Response | -|-----------|------------------------|----------------------------------------------------------------------------------------| -| `200` | `application/json` | `{"result": [` [Bundle](https://hl7.org/fhir/bundle.html) `]}` | -| `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -| `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - ---- - -### **Read** -Retrieve personal data and other information related to the patient identified by the ID provided in the request. - -#### **GET** - -##### Parameters - -| Name | Type | Data Type | Description | -|------|----------|-----------|-------------| -| id | required | uuid | | - -##### Responses - -| HTTP Code | Content-Type | Response | -| ----------- | ------------------------ | ---------------------------------------------------------------------------------------- | -| `200` | `application/json` | `{"result": ` [Patient](StructureDefinition-NoEHRCorePatient.html) `}` | -| `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -| `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - -### **Create** -Create a new patient with values from the request. A new patient is assigned an ID that is unique to the medical record system. If a patient already exists (based on matching F-number, D-number, or a combination of birth date and first name/last name), no new patient is created. -#### **POST** +## May support -##### Parameters +#### Instance Level Interactions -| Name | Type | Data Type | Description | -| ------ | ------ | ----------- | ------------- | -| | | | | - -##### Responses - -| HTTP Code | Content-Type | Response | -|-----------|------------------------|-------------------------------------------| -| `201` | `text/plain;charset=UTF-8` | | -| `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -| `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - -### **Update** -Update a patient with values from the request. The patient is identified by the ID. - -#### **PUT** - -##### Parameters - -| Name | Type | Data Type | Description | -|------|----------|-----------|-------------| -| id | required | uuid | | - -##### Responses - -| HTTP Code | Content-Type | Response | -|-----------|------------------------|----------------------------------------------------------------------------------------| -| `200` | `text/plain;charset=UTF-8` | `{` [Patient](StructureDefinition-NoEHRCorePatient.html) `}` | -| `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -| `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | - ---- - -#### **PATCH** - -##### Parameters - -| Name | Type | Data Type | Description | -|------|----------|-----------|-------------| -| id | required | uuid | | - -##### Responses +| Name | Description | +|------|--------------| +| [vread](https://hl7.org/fhir/R4/http.html#vread) | Read the state of a specific version of the resource +| [history](https://hl7.org/fhir/R4/http.html#history) | Retrieve the change history for a particular resource +{:.grid} -| HTTP Code | Content-Type | Response | -|-----------|------------------------|-------------------------------------------| -| `204` | | `NO CONTENT` | -| `400` | `application/json` | `{"code":"400","message":"Bad Request"}` | -| `401` | `application/json` | `{"code":"401","message":"Unauthorized"}` | +#### Type Level Interactions ---- +| Name | Description | +|------|--------------| +| [history](https://hl7.org/fhir/R4/http.html#history) | Retrieve the change history for a particular resource type +{:.grid}