All walkthroughs / Health organisation
A data engineer has written a pipeline version that is still in development, so it may run only on development data. The engineer asks for a sample of the locked recordings, a custodian who did not ask approves fewer, and the platform draws them without anybody choosing. The pipeline version then runs for real on the sample and is refused on the real recordings. The sample ends, and recordings that hold no real person are declared synthetic.
A pipeline is a series of steps that Munitas runs on a version of a dataset. A pipeline version that has a custom step, a step whose script was written by the person who registered the pipeline, starts in development, which means it may run only on development data. For recordings of patients, development data is a small sample of them, or recordings that hold no real person. This part shows where a sample comes from.
Devi is a data engineer in the Cardiology department of the Health organisation. A department is the team inside an organisation that owns some of its data. Devi has written a pipeline version whose step makes the first half second of each recording silent, and it is in development. Devi opens the sealed version of the consultation recordings, which means the version that is finished and closed for good, so that it can never be edited. Under the heading Development samples, Devi says how many recordings are wanted, for how many days, and what the sample is for. Devi cannot choose which recordings: the platform draws them.
Pressing the button records the request and does nothing else. A sample needs the agreement of an approver of the department that owns the recordings, and the approver cannot be the person asking. An approver is a data custodian, a person who may decide who reads a department’s data, who is listed for that department. Devi may withdraw the request while it waits.
Hartley is the data custodian for Cardiology, so the same page shows the request to Hartley, under Waiting for your decision. It says who asked, how many recordings, for how many days and why. Hartley may lower the number or the days, and may not raise them. Hartley may not pick recordings either: the platform draws them, so nobody can steer a sample towards particular patients.
Hartley lowers the request to 3 recordings for 3 days, adds a note, and approves. The platform then draws the recordings by one fixed method: at most one recording from each patient, spread across short, medium and long recordings, and picked by a value that comes out the same every time for the same person asking for the same purpose. Nobody chooses, including Hartley. The platform seals a new version, the sample, that names the same locked recordings as the original. No audio is copied.
Devi now runs the pipeline version on the sample. Running it on the real recordings is still refused, which shows what development means.
The platform made the sample as a version of its own, in a dataset named after the recordings with dev-sample and a short code added. A dataset is a registered, owned collection of data. Devi opens the sample from the list of Devi’s own samples. The page counts 3 recordings about 3 people and says that the sample is for the person it was drawn for and for nobody else. Lower down, the section Where this came from names the platform’s own step that made the sample, and links to the recordings it was made from.
Devi opens the real recordings again, chooses the pipeline version and presses Start. The platform refuses before it starts anything. A pipeline version in development may run only on development data, and the real recordings are not development data for anybody. Nothing is left behind: no run, no file and no record of an attempt to read.
Devi opens the sample, chooses the same pipeline version and presses Start, and this time it runs. The script runs in a container, which is an isolated environment. This one has no internet and holds no key and no storage address. It asks the platform for its recordings and is told of exactly the 3 in the sample. The platform finds the stored files that the sample names, unlocks each with its own patient’s key inside the platform, and hands the sound over. What the step writes back becomes a new version that waits for a person’s review.
Devi follows the link Open the version it made. A version is one sealed copy of a dataset, here the files the step wrote. The page has a section called Files. It lists the three recordings the step made silent, each marked Locked, which means the platform keeps the file scrambled with the key of the one patient it came from, and unscrambles it only inside the platform. Devi may open them because Devi started the run, and the run read a sample drawn for Devi. A line under the heading says when the files are deleted: after seven days at the latest, or sooner if the sample they came from ends.
Devi presses Play on the first file. A sound player appears in the page and loads the recording. The platform unscrambles the file as it sends it, so the browser receives ordinary sound and never the key or the place where the file is stored. Each opening is written down: who opened which file, why the platform allowed it, and how many bytes were sent.
Hartley is the data custodian, the approver for the Cardiology department, and approved the sample. Hartley opens the same page. The files are listed, so Hartley can see that they exist and how large they are, but there is no Play button. A sample is for the person it was drawn for, and what a run makes from it is that person’s to open. Hartley could open real recordings only under a lease, which is a time-limited permission asked for on the page of the recordings and decided by a second person.
A sample ends when its days are over, or sooner when the person it was drawn for, or an approver, ends it. Nothing is left running on it afterwards.
Devi presses End this sample on the page of the real recordings. The row changes to Ended, and the form for asking appears again with Draw a sample for me selected, because the earlier request is over and a new one may be made.
Devi opens the ended sample and tries to run the pipeline version on it. The platform refuses at the start, for the same reason as on the real recordings: the sample is no longer development data for Devi. A step that is already running when a sample ends is refused at its next request.
Devi opens the version the step made once more. The page now says that the version was made for development and has ended. The platform deletes the files within a minute of the sample ending, so nothing made from a sample outlives it. The version itself stays on record, because a sealed version is never removed, and so does a note of how many files and bytes were freed and why. The real recordings the sample named are not touched: a sample holds only a short list.
Some recordings hold no real person, for example sentences read aloud by volunteers from invented scripts. They need no sample.
Synthetic means made up, with no real person in it. An approver of the owning department may declare a version of recordings synthetic, and must give a reason. Hartley opens a version of recordings that volunteers read aloud and types why.
After Hartley presses the button, the page says who made the declaration, when, and why. From then on a pipeline version in development may run on these recordings for anybody in the organisation, because nobody real is in them. A development sample holds real recordings, so it can never be declared synthetic.