SFM Basis API Implementation Guide

Person

Person is available in the SFM Basis API to provide a concept of a USER not having a Healtcare professional scope in the API. It is providced to enable management of admistrator users of the API, having elevated accsess to some functions, but no access to typical healtcare operations.

The sfm-Person profile on Person resource shall be used.

Presenting an access token (HelseID) with identiy matching a sfm-Person, the following resource operations may be performed within the scope of the organization(s) belonging to the same EHR domain:

Organization

  • create
  • read
  • update
  • delete - Operation is avaliable, but will generally report error.

(Search is described for each resource)

Practitioner

  • create
  • read
  • update
  • delete - Operation is avaliable, but will generally report error.

Person

  • create
  • read
  • update
  • delete - Operation is avaliable, but will generally report error.

Token matching a sfm-Person may create and manage othe persons.

An sfm-Person resouce created or updated on this API MUST have exactly one of: identifier/FNR or identifier/DNR

Seach operations supported:

GET [base]/Person?given=<string> - match for resources containing the string in given name

GET [base]/Person?family=<string>- match for resources containing the string in family name

GET [base]/Person?identifier=<string> - match for resources containing the string in identifier (FNR/DNR)

active=true|false may be given as a parameter to limit the search.

Result paging is not supported.

Note that a person having both administrative role and healtcare role must be written as both resources individually

Profile

sfm-Person

idΣ0..1id
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionI0..*Extension
modifierExtension?! I0..*Extension
id0..1
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
id0..1
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
id0..1
middlenameS I0..1Extension(string)
useΣ ?!0..1codeBinding
textΣ0..1string
familyΣ0..1string
givenΣ0..1string
prefixΣ0..*string
suffixΣ0..*string
periodΣ I0..1Period
telecomΣ I0..*ContactPoint
genderΣ0..1codeBinding
birthDateΣ0..1date
address0..*NoBasisAddress
photoI0..1Attachment
managingOrganizationΣ I0..1Reference(Organization | NoBasisOrganization)
activeS Σ ?!0..1boolean
id0..1
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
targetI1..1Reference(Patient | Practitioner | RelatedPerson | Person)
assurance0..1codeBinding