Concept of self service

SFM is built in a way that you (vendor support) may represent you customer as a "superuser" in the system and set up the initial SFM instance. This requires that you have been logged in by an IDP of selection. As long as you posess the rights to represent your customer by a HelseID access token, indicating a new "journal-id" or "SFM-id" (depending on HelseID client type) you will:

  • use the new access token towards the FHIR endpoint (SFM Full as well as SFM Basis) and do a search(GET) operation on the Organization endpoin to verify the expected result of not finding anything
  • use the new access token towards the FHIR endpoint an do a Create (POST) operation with proper http headers and a FHIR payload with Organization profiled as sfm-Organization with the following properties:
    • Organization.name
    • Organization.Identifier[SFM-id] : matching the journal-id or SFM-id in token
    • Organization.Identifier[ENH] : Organization matching the orgn_child in token if present, else the orgnr_parent
    • Organization.Identifier[HERid] : Her id registered in Adresseregisteret for use in e-resept
    • Organization.Type from the system: https://simplifier.net/r4medication/sfm-type-of-organization
    • Organization.telecom with a simple dummy phone number
    • Organization.address with a simle dummy address
    • Organization.extension.epjinfo shall be populatet with info suitable for reporting to Reseptformidleren. Reseptformidleren will reject the registration with an unknown systeminfo.systemcode
    • Organization.active = false: for now.

The operation takes some time to process as a new db-scheme is created at everthing is set up in SFM before you get 2xx code and the organziation structure in response. The new ID for this Organization is represented in the Location header.

You may now try to read back from Organzation and verify that you get at bundle back with your Organization, now given an ID. You may also try to read back from Person and verify that you are identified as an empty Person with your identifier. Note that in production we require that the next step is to update this Person instance with the correct name.

To be able to proceed with integration testing, the next step is to create at least one Practitioner and one Patient.